From 96ff1984133494bf6a3451ddeb7f14548d3697e1 Mon Sep 17 00:00:00 2001 From: Brad Bishop Date: Mon, 19 Aug 2019 13:50:42 -0400 Subject: subtree updates MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit poky: 67266331b0..835f7eac06: Adrian Bunk (9): valgrind: Remove dependency on libx11 bluez5: Remove obsolete dependency on dbus-glib python3-dbus: Remove obsolete dependency on dbus-glib cups: Remove unnecessary dependency on dbus-glib libnotify: Remove obsolete dependency on dbus-glib unfs3: Switch to new upstream location i2c-tools: Add alternative for i2ctransfer meta: Remove remnants of bluez4 support e2fsprogs: Remove patch that disabled 64bit for ext4 by default Adrian Freihofer (1): yocto-bsp: runqemu runs beaglebone-yocto Adrian Ratiu (1): opkg/package/rootfs_ipk: allow overwriting OPKGLIBDIR Alejandro del Castillo (1): opkg: upgrade to version 0.4.1 Alexander Kanavin (3): rt-tests: exclude 1.4 version from upstream check as well gtk-doc: correct the style.css permissions mobile-broadband-provider-info: upgrade 20190116 -> 20190618 Alistair Francis (7): mesa: Add support for the lima PACKAGECONFIG u-boot: Update to 2019.07 packagegroup-core-sdk: Set blank sanitiser for RISC-V 32 opensbi: Update from 0.3 to 0.4 opensbi: Fix installed-vs-shipped warning qemurunner.py: Be more verbose about problems package_manager: Ensure the base-feed directory exists Andrej Valek (2): busybox: 1.30.1 -> 1.31.0 oe/copy_buildsystem: move layer into layers directory Anuj Mittal (25): gstreamer1.0-plugins-bad: depend on vulkan-loader now vulkan-demos: depend on vulkan-loader vulkan: remove binutils: fix CVE-2019-12972 CVE-2019-9071 gnupg: upgrade 2.2.16 -> 2.2.17 libxslt: fix CVE-2019-13117 CVE-2019-13118 libva: upgrade 2.4.1 -> 2.5.0 libva-utils: upgrade 2.4.0 -> 2.5.0 nasm: fix CVE-2018-19755 python: fix CVE-2019-9740 python3: upgrade 3.7.3 -> 3.7.4 binutils: CVE-2019-9070 is same as CVE-2019-9071 qemu: fix CVE-2019-12155 bzip2: upgrade 1.0.7 -> 1.0.8 glib-2.0: upgrade 2.60.4 -> 2.60.5 vte: upgrade 0.56.1 -> 0.56.3 openssl: set CVE vendor to openssl curl: upgrade 7.65.1 -> 7.65.2 rsync: fix CVEs for included zlib glibc: CVE-2018-20796 is same as CVE-2019-9169 unzip: fix CVE-2019-13232 python: include CVE patches for python-native as well gdb: fix CVE-2017-9778 iptables: upgrade 1.8.2 -> 1.8.3 piglit: fix SRC_URI Armin Kuster (1): timezone: update to 2019b Bonnans, Laurent (1): openssl: fix valgrind errors on v1.1.1c Bruce Ashfield (5): linux-yocto/5.0: bsp: add basic xilinx zynqmp support linux-yocto/5.0: make scsi-debug include scsi core configs linux-yocto: bsp/beaglebone: support qemu -machine virt linux-yocto/4.19: update to 4.19.57 and -rt22 package: check PKG_ variables before executing ontarget postinst CHerzig@Gauselmann.de (1): bitbake: fetch2/clearcase: Fix class import errors Changqing Li (5): quilt: run-ptest remove Interactive Input mdadm: fix systemd service start up failure mdam: fix mdmonitor start up failure opkg: make ptest output format align with common style mdadm: make ptest output format align with common style Chee Yang Lee (1): wic: add support for kernel with initramfs bundled Chen Qi (13): target-sdk-provides-dummy: add libperl.so.5 64bit devtool: warn user about multiple layer having the same base name image.bbclass: fix systemd_preset_all devtool.py: track to clean devtool.conf in test_create_workspace grub-efi.bbclass: take into consideration of multilib sysstat: use service file from source codes xmlcatalog: hold libxml2-native dependency oeqa/runtime/rpm: ensure no user process running before deleting user oeqa/runtime/rpm: Move test_rpm_query_nonroot test case to RpmBasicTest qemurunner.py: fix race condition at qemu startup msmtp: use alternatives to manage /usr/lib/sendmail runtime_test.py: use track_for_cleanup for temp dir devtool: remove temp dir in upgrade Fabio Berton (1): mesa: Update 19.1.0 -> 19.1.1 Haiqing Bai (1): sysstat: Use sysstat.service in source for cron with systemd He Zhe (1): ltp: file01: Fix in was not recognized Hongzhi.Song (3): ltp: fix shmctl01 failure when executed. ltp: diotest4: Let kernel pick an address when calling mmap ltp: getrlimit03: adjust-a-bit-of-code-to-compatiable-with mips32 Jason Wessel (5): glibc: Fix multilibs + usrmerge builds psmisc: Fix dependency for USE_NLS=no glibc-locale: Fix build error with PACKAGE_NO_GCONV = "1" glibc/glibc-locale: Fix do_stash_locale to work with usrmerge and multilibs glibc / glibc-locale: Fix stash_locale determinism problems Joe Slater (1): libtool: remove host information from libtool Jon Mason (1): oe_syslog.py: Handle syslogd/klogd restart race Joshua Watt (5): python3: Fix .pyc file reproduciblility oeqa: Test bitbake --skip-setsecene bitbake: bitbake: Add --skip-setscene option classes/icecc: Disable remote pre-processing by default scripts/buildstats-diff: Add option to filter tasks Joël Esponde (1): package.bbclass: fix directories setuid and setgid bits Jun Nie (1): kernel-fitimage: uboot-sign: fix missing signature Kai Kang (4): rng-tools: fix rngd blocks system shutdown openssl: fix multilib files conflict webkitgtk: set incomptible with tune mips defaultsetup.conf: enable select init manager Khem Raj (10): efibootmgr: Pass correct flags to compiler from pkg-config mpeg2dec: Fix PIE build and avoid relocation in text section on ARM Revert "unzip: fix CVE-2019-13232" musl: Upgrade to 1.1.23+ mdadm: Include sys/sysmacros.h for major/minor definitions sysvinit: Include sys/sysmacros.h for major/minor definitions on musl too pam_systemd: Include missing.h for secure_getenv musl-obstack: Add recipe elfutils: Fix eu-* utils builds for musl maintainers: Account for musl-obstack and libssp-nonshared Li Zhou (2): bc: dc: fix exit code of q command iptables: Security Advisory - iptables - CVE-2019-11360 Luca Boccassi (1): bitbake: tests/fetch.py: add missing skipIfNoNetwork tags to tests that try to git clone Matthias Schiffer (1): systemd: backport patch to fix sysctl warning on boot Mike Crowe (4): bitbake.conf: Stop exporting TARGET_ flags variables image.bbclass: Only append to IMAGE_LINK_NAME if it was already set rootfs-postcommands: Cope with empty IMAGE_LINK_NAME in write_image_manifest rootfs-postcommands: Cope with empty IMAGE_LINK_NAME in write_image_test_data Mikko Rapeli (3): busybox: enable unicode support cve-check.bbclass: initialize to_append freetype: add --tag CC to libtool arguments Mingli Yu (2): go.bbclass: separate the ptest logic to go-ptest class mdadm: fix ptest hang Oleksandr Kravchuk (34): mc: update to 4.8.23 encodings: update to 1.0.5 gawk: update to 5.0.1 libinput: update to 1.13.3 libxi: update to 1.7.10 libxt: update to 1.2.0 autoconf-archive: update to 2019.01.06 python3-mako: update to 1.0.12 python3-pbr: update to 5.3.1 python3-pygobject: update to 3.32.2 git: update to 2.22.0 eudev: update to 3.2.8 babeltrace: update to 1.5.7 dpkg: update to 1.19.7 apt: update to 1.2.31 libinput: update to 1.13.4 expat: update to 2.2.7 libsolf: update to 0.7.5 bison: update to 3.4.1 ruby: update to 2.5.5 quilt: update to 0.66 bzip2: update to 1.0.7 python3-mako: update to 1.0.13 ifupdown: update to 0.8.22 libdrm: update to 2.4.99 python3-pbr: update to 5.4.0 linux-firmware: bump to 20190618 iproute2: update to 5.2.0 udev-extraconf: do not mount swap partitions python3-pbr: update to 5.4.1 xinput: update to 1.6.3 python3-scons: update to 3.1.0 python3-docutils: update to 0.15 python3-mako: update to 1.0.14 Pascal Bach (1): cmake: 3.14.1 -> 3.14.5 Paul Eggleton (7): libcap-ng: do not use symlink to share files with libcap-ng-python scripts/contrib/ddimage: fix typo scripts/contrib/ddimage: replace blacklist with mount check scripts/contrib/ddimage: be explicit whether device doesn't exist or isn't writeable list-packageconfig-flags: print PN instead of P recipetool: ignore zero-length setup.py files devtool: upgrade: fix handling of errors parsing upgraded recipe Peter Kjellerstedt (4): glib-2.0: Update to 2.60.4 glibc-package.inc: Do not use bitbake variable syntax for shell variables meson.bbclass: Remove the MESON_*_ARGS variables nativesdk-meson: Remove some unused variables Pierre Le Magourou (10): cve-update-db: Use std library instead of urllib3 cve-update-db: Manage proxy if needed. cve-update-db: do_populate_cve_db depends on do_fetch cve-update-db: Catch request.urlopen errors. cve-check: Depends on cve-update-db-native cve-update-db: Use NVD CPE data to populate PRODUCTS table cve-check: Update unpatched CVE matching cve-update-db-native: Skip recipe when cve-check class is not loaded. cve-check: Replace CVE_CHECK_CVE_WHITELIST by CVE_CHECK_WHITELIST cve-update-db-native: Remove hash column from database. Ricardo Ribalda Delgado (4): nfs-mountd: Add missing dependency on systemd service systemd: Fix interface bring-up on kernels >= 5.2 wic: Fix (again) partition files UIDs on multi rootfs images systemd-bootconf: Mark as machine specific Ricardo Salveti (1): gcc-9.1: add back GLIBC_DYNAMIC_LINKER riscv changes Richard Purdie (58): multilib_global: Fix multilib rebuild issue multilib_global: Fix KERNEL_VERSION expansion problems sysklogd: Fix init script races busybox: Improve syslog restart handling oeqa/runtime/syslog: Improve test debug messages oeqa/runtime/oesyslog: systemd syslog restart doesn't change pid oeqa/runtime/syslog: Add delay to test to avoid failures busybox: Fix typo in syslog initscript pigz: Add debug for autobuilder errors staging: Code cleanup package: Build pkgdata specific to the current recipe Revert "pigz: Add debug for autobuilder errors" grub2: Drop unneeded code bitbake: event: Clear ui_queue after handling it bitbake: main: Ensure log messages are printed when no UI starts bitbake: main: Alter EOFError handling core-image-sato-sdk-ptest: Reduce image padding size due to bootimg 4GB limit oeqa/bbtests: Tweak test bitbake output pattern matching sstate: Add tweak to avoid multiple sstate stats messages bitbake: siggen: Fix default handler bitbake: siggen: Use unique hashes for tasks bitbake: runqueue: Tweak buildable variable handling in scheduler bitbake: runqueue: Drop unused BB_SETSCENE_VERIFY_FUNCTION2 bitbake: runqueue: Remove now uneeded code bitbake: runqueue: Move scenequeue data generation to a separate function bitbake: runqueue: Remove unused function parameter bitbake: runqueue: Factor out the process_setscene_whitelist checks bitbake: runqueue: Uniquely namespace the scenequeue functions bitbake: runqueue: Merge stats handling together for setscene/real tasks bitbake: runqueue: Merge scenequeue and real task queue code together bitbake: runqueue: Fix counter/task updating glitch bitbake: runqueue: Remove RunQueueExecuteScenequeue and RunQueueExecuteTasks bitbake: runqueue: Simplify _execute_runqueue logic bitbake: runqueue: Fold remains of the scenequeue setup into RunQueueExecute bitbake: event/runqueue: Drop StampUpdate event, its pointless/unused bitbake: runqueue: Add covered_tasks (or 'collated_deps') to scenequeue data bitbake: runqueue: Simplify scenequeue unskippable calculation bitbake: runqueue: Tweak comments and debug code bitbake: runqueue: Code simplification bitbake: runqueue: Remove pointless variable bitbake: runqueue: Further scheduler buildable tasks cleanup bitbake: runqueue: Clarify scenequeue_covered vs. tasks_covered bitbake: runqueue: Merge the queues and execute setscene and normal tasks in parallel bitbake: runqueue: Alter setscenewhitelist handling bitbake: runqueue: Complete the merge of scenequeue and normal task execution bitbake: tests: Add initial scenario based test for runqueue bitbake: uihelper: No longer listen to scenequeue task started bitbake: runqueue: Simplify some convoluted logic bitbake: runqueue: Whitespace fix bitbake: runqueue: Abstract hash verification function bitbake: runqueue: Optimise multiconfig with overlapping setscene bitbake: tests/runqueue: Allow common sstate tasks to become valid bitbake: runqueue: Fix non setscene tasks targets being lost staging: Drop clean_recipe_sysroot poky-lsb: Drop features already in poky poky-lsb: Drop libx11 PREFERRED_PROVIDER distro/include: Add poky-distro-alt-test-config.inc bitbake: siggen: Fix handling of tainted sig files Robert Yang (13): update-alternatives.bbclass: run update-alternatives firstly in postinst script busybox: make postinst run firstly before update-alternatives multilib.bbclass: Reduce ALTERNATIVE_PRIORITY for extended recipes bitbake: bitbake: lib: Cleanup /usr/bin/env python bitbake: bitbake: toaster:tests: python -> python3 ksum.py: python -> python3 wic: python2 -> python3 ext-sdk-prepare.py: python2 -> python3 oeqa: Cleanup /usr/bin/env python package_rpm.bbclass: python2 -> python3 bitbake: cache: Remove duplicated lines for provides and rprovides bitbake: cache: Set packages for skipped recipes bitbake: cache: Create a symlink for current cachefile Ross Burton (56): cve-check: be idiomatic gtk-icon-cache: rename intercept to update_gtk_icon_cache fortran-helloworld: add a very dumb Fortran Hello World for testing oeqa/buildoptions: check that Fortran code actually cross-compiles buildhistory: write the contents of the sysroot buildhistory: report sysroot changes perl: fix Upstream-Status tags efivar: ensure that target security flags are not used to build native code multilib_script: fix whitespace buildhistory_analysis: ignore ownership for sysroot diffs insane: use clean_path for the host contamination warnings libsndfile1: disable use of sqlite3 by default libsndfile1: remove redundant autoconf seeding buildhistory: don't output ownership for the sysroot buildhistory: filter out the unexpected prefix for native/cross sysroots alsa-utils: disable tools using GTK+2 packagegroup-core-lsb: remove GTK+ recipetool: add MD5 hash for the line-wrapped MPL-1.1 license oeqa/recipetool: change the CMake test to use taglib gtk+: remove GTK+ 2 gnome-themes-standard: remove Revert "sysstat: use service file from source codes" libpsl: update Upstream-Status grub: build with python 3 qemu: use Python 3 to build ninja: use Python 3 conf/poky: add debian-10 to the supported distribution list tiff: remove redundant patch tiff: fix CVE-2019-6128 tiff: fix CVE-2019-7663 cve-check: remove redundant readline CVE whitelisting cve-check-tool: remove glibc: exclude child recipes from CVE scanning libid3tag: CVE-2017-11551 is the same as CVE-2004-2779 libid3tag: handle unknown encodings (CVE-2017-11550) subversion: set CVE vendor to Apache boost: set CVE vendor to Boost git: set CVE vendor to git-scm ed: set CVE vendor to avoid false positives cve-check: allow comparison of Vendor as well as Product flex: set CVE_PRODUCT to include vendor cve-update-db-native: use SQL placeholders instead of format strings xkeyboard-config: remove redundant intltool dependency piglit: upgrade to latest revision pkgconf: upgrade 1.6.1 -> 1.6.3 conf/poky: add Fedora 30 and Opensuse Leap 15.1 to supported distributions cve-update-db-native: use os.path.join instead of + cve-update-db: actually inherit native cve-update-db-native: use executemany() to optimise CPE insertion cve-update-db-native: improve metadata parsing cve-update-db-native: clean up JSON fetching freetype: upgrade to 2.10.1 unfs3: set upstream tag regex to avoid false-positives meson.bbclass: export STRIP=${BUILD_STRIP} ffmpeg: don't use hardcoded lookup tables ffmpeg: upgrade to 4.1.4 Sai Hari Chandana Kalluri (3): devtool/standard.py: Update devtool modify to copy source from work-shared if its already downloaded devtool/standard.py: Create a copy of kernel source within work-shared if not present devtool: provide support for devtool menuconfig command Scott Rifenbark (5): overview-manual: Fixed manual history table sdk-manual: Updated devtool to talk about oe-local-files. dev-manual: Provided proper link title ref-manual: Fixed typo for BBMULTICONFIG variable. ref-manual: Removed "python2" mention in example. Stefan Agner (1): psplash: create psplash tmpfs mount directory in psplash-init Tim Orling (3): vulkan-headers: add recipe vulkan-loader: add recipe vulkan-tools: add recipe Ulrich Ölmann (1): squashfs-tools: upgrade to commit f95864afe883 William Bourque (2): wic/plugins: Source that support both EFI and BIOS meta/lib/oeqa: Test for bootimg-biosplusefi Source Yi Zhao (2): debianutils: upgrade 4.8.6.1 -> 4.8.6.3 ltp: upgrade 20190115 -> 20190517 Zang Ruochen (9): nss: upgrade 3.44 -> 3.44.1 util-linux:upgrade 2.33.2 -> 2.34 librepo:upgrade 1.10.3 -> 1.10.4 sqlite3: Upgrade 3.28.0 -> 3.29.0 nss: Upgrade 3.44.1 -> 3.45 xauth:upgrade 1.0.10 -> 1.1 libice:upgrade 1.0.9 -> 1.0.10 xwininfo:upgrade 1.1.4 -> 1.1.5 libpciaccess:upgrade 0.14 -> 0.16 meta-phosphor: fe8cee7488..601f253a66: Brad Bishop (1): meta-phosphor: systemd: remove upstreamed patches Change-Id: If591144821cd2e5b990a7aa49a1cf426f6a906de Signed-off-by: Brad Bishop --- poky/meta/recipes-support/boost/boost.inc | 2 ++ 1 file changed, 2 insertions(+) (limited to 'poky/meta/recipes-support/boost/boost.inc') diff --git a/poky/meta/recipes-support/boost/boost.inc b/poky/meta/recipes-support/boost/boost.inc index 9be3717fd..033020258 100644 --- a/poky/meta/recipes-support/boost/boost.inc +++ b/poky/meta/recipes-support/boost/boost.inc @@ -2,6 +2,8 @@ SUMMARY = "Free peer-reviewed portable C++ source libraries" SECTION = "libs" DEPENDS = "bjam-native zlib bzip2" +CVE_PRODUCT = "boost:boost" + ARM_INSTRUCTION_SET_armv4 = "arm" ARM_INSTRUCTION_SET_armv5 = "arm" -- cgit v1.2.3 From 08902b01500fb82ac050ec2dce9b6c4358075a17 Mon Sep 17 00:00:00 2001 From: Brad Bishop Date: Tue, 20 Aug 2019 09:16:51 -0400 Subject: poky: subtree update:835f7eac06..20946c63c2 Aaron Chan (1): python3-dbus: Add native and nativesdk variants Adrian Bunk (8): gnome: Remove the gnome class bind: Remove RECIPE_NO_UPDATE_REASON and follow the ESV releases webkitgtk: Reenable on mips mtd-utils: Upgrade to 2.1.1 Change ftp:// URIs to http(s):// webkitgtk: Stop disabling gold on aarch64 and mips grub/libmpc/gdb: Use GNU_MIRROR in more recipes screen: Backport fix for an implicit function declaration Alexander Kanavin (28): btrfs-tools: update 5.1.1 -> 5.2.1 libmodulemd: update to 2.6.0 libwebp: upgrade 1.0.2 -> 1.0.3 createrepo-c: upgrade 0.14.2 -> 0.14.3 webkitgtk: upgrade 2.24.2 -> 2.24.3 bzip2: fix upstream version check stress-ng: add a recipe that replaces the original stress meson: update 0.50.1 -> 0.51.1 meson.bbclass: do not pass native compiler/linker flags via command line meson: add a backported patch to address vala cross-compilation errors libedit: fix upstream verison check maintainers.inc: assign acpica to Ross stress-ng: add a patch to remove unneeded bash dependency elfutils: use PRIVATE_LIBS for the ptest package apt: add a missing perl runtime dependency attr: add a missing perl runtime dependency ofono: correct the python3 runtime dependency bluez5: correct the python3 runtime dependency local.conf.sample: do not add sdl to nativesdk qemu config maintainers.inc: give python recipes to Oleksandr Kravchuk python-numpy: remove the python 2.x version of the recipe python-scons: remove the python 2.x version of the recipe python-nose: remove the python 2.x version of the recipe lib/oeqa/utils/qemurunner.py: add runqemuparams after kvm/nographic/snapshot/slirp mesa: enable glx-tls option in native and nativesdk builds insane.bbclass: in file-rdeps do not look into RDEPENDS recursively sudo: correct SRC_URI ovmf: fix upstream version check Andreas Obergschwandtner (1): bzip2: set the autoconf package version to the recipe version Anuj Mittal (11): mpg123: upgrade 1.25.10 -> 1.25.11 libsdl: remove pulseaudio: don't include consolekit when systemd is enabled libsdl2: upgrade 2.0.9 -> 2.0.10 grub: upgrade 2.02 -> 2.04 patch: fix CVE-2019-13636 python: fix CVE-2018-20852 python: CVE-2019-9947 is same as CVE-2019-9740 libtasn1: upgrade 4.13 -> 4.14 pango: upgrade 1.42.4 -> 1.44.3 harfbuzz: upgrade 2.4.0 -> 2.5.3 Bartosz Golaszewski (1): qemu: add a patch fixing the native build on newer kernels Bedel, Alban (3): rng-tools: start rngd early in the boot process again kernel-uboot: remove useless special casing of arm64 Image boost: Fix build and enable context and coroutines on aarch64 Bruce Ashfield (2): linux-yocto/4.19: update to v4.19.61 linux-yocto-dev: bump to 5.3-rcX Changqing Li (6): runqemu: add lockfile for port used when slirp enabled runqemu: fix get portlock fail for multi users qemuboot-x86: move QB_SYSTEM_NAME to corresponding conf genericx86-64.conf/genericx86.conf: add QB_SYSTEM_NAME grub/grub-efi: fix conflict for aach64 go-runtime: remove conflict files from -dev packages Chen Qi (1): sudo: use nonarch_libdir instead of libdir for tmpfiles.d Chin Huat Ang (1): cve-update-db-native: fix https proxy issues Chris Laplante via bitbake-devel (1): bitbake: fetch2/wget: avoid 'maximum recursion depth' RuntimeErrors when handling 403 codes Daniel Ammann (2): image_types: Remove remnants of hdddirect bitbake: toaster: Sync list of fs_types with oe-core Denys Dmytriyenko (2): wayland-protocols: upgrade 1.17 -> 1.18 weston: upgrade 6.0.0 -> 6.0.1 Diego Rondini (1): image_types.bbclass: make gzipped images rsyncable Dmitry Eremin-Solenikov (1): kernel.bbclass: fix installation of modules signing certificates Frederic Ouellet (1): systemd: Add partial support of drop-in configuration files to systemd-systemctl-native Hongxu Jia (1): grub: add grub-native Jason Wessel (6): sqlite3: Fix zlib determinism problem pseudo: Fix openat() with a symlink pointing to a directory image_types_wic.bbclass: Copy the .wks and .env files to deploy image dir wic: Add partition type for msdos partition tables wic: Make disk partition size consistently computed dpkg: Provide update-alternative for start-stop-daemon Johann Fridriksson (1): ruby: Adding zlib-native to native dependencies Joshua Lock via Openembedded-core (3): sstate: fix log message classes/sstate: don't use unsigned sstate when verification enabled classes/sstate: regenerate sstate when signing enabled Joshua Watt (1): bitbake: hashserv: SQL Optimizations Kai Kang (3): subversion: add packageconfig boost epiphany: set imcompatible with tune mips e2fsprogs: 1.44.5 -> 1.45.3 Khem Raj (23): strace: Upgrade to 5.2 linux-libc-header: Fix ptrace.h and prctl.h conflict on aarch64 libnss-nis: Fix build with glibc 2.30 lttng-ust: Check for gettid libc API ltp: Fix build with glibc 2.30 lttng-tools: Fix build with glibc 2.30 xserver-xorg: Backport patch to remove using sys/io.h Apache-2.0-with-LLVM-exception: Add new license file libedit: Move from meta-oe groff: Fix math.h inclusion from system headers issue webkitgtk: Fix compile failures with clang glibc: Update to glibc 2.30 virglrender: Fix endianness check on musl syslinux: Override hardcoded toolnames in Makefile systemd-boot: Add option to specify cross objcopy and use it mesa,llvm,meson: Update llvm to 8.0.1 plus define and use LLVM version globally musl: Update to master tip oeqa/buildgalculator.py: Add dependency on gtk+3 oeqa/parselogs: grep for exact errors list keywords gcc-runtime: Move content from gcclibdir into libdir gdb: Do not set musl specific CFLAGS linuxloader: Add entries for riscv64 musl: Delete GLIBC_LDSO before creating symlink with lnr Luca Boccassi (1): python3-pygobject: remove python3-setuptools from RDEPENDS Mads Andreasen (1): bitbake: fetch2/npm: Use npm pack to download node modules instead of wget Mark Hatle (2): glibc-package.inc: Add linux-libc-headers-dev to glibc-dev bitbake: layerindexlib: Fix parsing of recursive layer dependencies Martin Jansa (3): icecc.bbclass: catch subprocess.CalledProcessError powertop: import a fix from buildroot meson: backport fix for builds with -Werror=return-type Ming Liu (5): libx11-compose-data: add recipe libxkbcommon: RDEPENDS on libx11 compose data weston: change to use meson build system license_image.bbclass: drop invalid comments opensbi: handle deploy task under sstate Naveen Saini (2): gdk-pixbuf: enable x11 PACKAGECONFIG option image_types_wic: add syslinux-native dependency conditional Oleksandr Kravchuk (17): python3-pip: update to 19.2.1 python3-git: update to 2.1.12 ethtool: update to 5.2 python3-git: update to 2.1.13 xorgproto: update to 2019.1 xserver-xorg: update to 1.20.5 ell: update to 0.21 libinput: update to 1.14.0 wpa-supplicant: update to 2.9 aspell: update to 0.60.7 linux-firmware: add PE back xf86-input-libinput: update to 0.29.0 git: update to 2.22.1 xrandr: update to 1.5.1 python3-git: update to 3.0.0 librepo: update to 1.10.5 libevent: update to 2.1.11 Pascal Bach (2): cmake: 3.14.5 -> 3.15.1 cmake: 3.15.1 -> 3.15.2 Paul Eggleton (2): scripts/create-pull-request: improve handling of non-SSH remote URLs scripts/create-pull-request: fix putting subject containing / into cover letter Piotr Tworek (2): pulseaudio: Backport upstream fix new alsa compatibility. libdrm: Move amdgpu.ids file into libdrm-amdgpu package. Randy MacLeod (1): ptest-runner: update from 2.3.1 to 2.3.2 Rasmus Villemoes (1): iproute2: drop pointless configure-cross.patch Ricardo Neri (5): ovmf: Update to version edk2-stable201905 ovmf: Set PV ovmf: Use HOSTTOOLS' python3 ovmf: Generate test Platform key and first Key Exchange Key runqemu: Add support to handle EnrollDefaultKeys PK/KEK1 certificate Ricardo Ribalda Delgado (2): packagegroup-core-base-utils: Make it machine specific inetutils: Fix abort on invalid files Richard Purdie (50): package: Improve determinism sstate: Reduce race windows bitbake: siggen: Import unihash code from OE-Core bitbake: cache: Add SimpleCache class bitbake: runqueue: Improve scenequeue processing logic bitbake: siggen: Add new unitaskhashes data variable which is cached bitbake: siggen: Convert to use self.unitaskhashes bitbake: runqueue: Enable dynamic task adjustment to hash equivalency bitbake: runqueue: Improve determinism bitbake: cooker/hashserv: Allow autostarting of a local hash server using BB_HASHSERVE bitbake: hashserv: Turn off sqlite synchronous mode bitbake: prserv: Use a memory journal bitbake: hashserv: Use separate threads for answering requests and handling them bitbake: hashserv: Switch from threads to multiprocessing bitbake: runqueue: Clean up BB_HASHCHECK_FUNCTION API bitbake: siggen: Clean up task reference formats bitbake: build/utils: Drop bb.build.FuncFailed bitbake: tests/runqueue: Add hashserv+runqueue test bitbake: bitbake: Bump version to 1.43.1 for API changes sanity.conf: Require bitbake 1.43.1 classes/lib: Remove bb.build.FuncFailed sstatesig: Move unihash siggen code to bitbake sstatesig: Add debug for incorrect hash server settings sstatesig: Adpat to recent bitbake hash equiv runqueue changes sstatesig: Update to handle BB_HASHSERVE sstate/sstatesig: Update to new form of BB_HASHCHECK_FUNCTION sstatesig: Updates to match bitbake siggen changes gstreamer: Add fix for glibc 2.30 sstatesig: Fix leftover splitting issue from siggen change python3-pygobject: Add missing pkgutil RDEPENDS bitbake: runqueue: Fix corruption issue bitbake: runqueue: Improve setscene task handling logic bitbake: tests/runqueue: Add further hash equivalence tests bitbake: cooker: Improve hash server startup code to avoid exit tracebacks bitbake: runqueue: Wait for covered tasks to complete before trying setscene bitbake: runqueue: Fix next_buildable_task performance problem bitbake: runqueue: Improve scenequeue debugging bitbake: runqueue: Recompute holdoff tasks from scratch bitbake: runqueue: Fix event timing race bitbake: runqueue: Drop debug statement causing performance issues bitbake: runqueue: Add further debug information bitbake: runqueue: Add missing setscene task corner case bitbake: runqueue: Ensure we clear the stamp cache poky: Retire opensuse 42.3 from SANITY_TESTED_DISTROS gcc-cross-canadian: Drop obsolete shlibs exclusion bitbake: tests/runqueue: Fix tests bitbake: runqueue: Fix data corruption problem bitbake: runqueue: Ensure data is handled correctly bitbake: hashserv: Ensure we don't accumulate sockets in TIME_WAIT state bitbake: runqueue: Ensure target_tids is filtered Robert Yang (3): bitbake: cooker: Cleanup the queue before call process.join() bitbake: knotty: Fix for the Second Keyboard Interrupt bitbake: bitbake: server/process: Handle BBHandledException to avoid unexpected exceptions Ross Burton (23): libidn2: remove build paths from libidn2.pc gnutls: don't use HOSTTOOLS_DIR/bash as a shell on target libical: upgrade to 3.0.5 perl: fix whitespace perl: add PACKAGECONFIG for db fortran-helloworld: neaten recipe python3: remove empty python3-distutils-staticdev python3: support recommends in manifest python3: split out the Windows distutils installer stubs insane: check if the recipe incorrectly uses DEPENDS_${PN} libxx86misc: remove this now redundant library xserver-xorg: clean up xorgproto dependencies xserver-xorg: add PACKAGECONFIG for DGA xdpyinfo: don't depend on DGA libxx86dga: remove obsolete client libary xserver-xorg: remove embedded build path in the source libx11: update to 1.6.8 sanity: update for new bb.build.exec_func() behaviour libx11-diet: remove qemu: fix patch Upstream-Status xserver-xorg: refresh build path removal patch waffle: upgrade 1.5.2 -> 1.6.0 libx11: replace libtool patch with upstreamed patch Tim Blechmann (1): deb: allow custom dpkg command Trevor Gamblin (2): gzip: update ptest package dependencies patch: fix CVE-2019-13638 Wenlin Kang (1): db: add switch for building database verification Will Page (1): uboot: fixes to uboot-extlinux-config attribute values William Bourque (1): meta/lib/oeqa: Remove ext4 for bootimg-biosplusefi Yi Zhao (1): libx11-compose-data: upgrade 1.6.7 -> 1.6.8 Yuan Chao (4): glib-2.0:upgrade 2.60.5 -> 2.60.6 nettle:upgrade 3.4.1 -> 3.5.1 python3-pbr:upgrade 5.4.1 -> 5.4.2 gpgme:upgrade 1.13.0 -> 1.13.1 Zang Ruochen (8): msmtp: upgrade 1.8.4 -> 1.8.5 curl: upgrade 7.65.2 -> 7.65.3 iso-codes: upgrade 4.2 -> 4.3 python-scons:upgrade 3.0.5 -> 3.1.0 libgudev:upgrade 232 -> 233 libglu:upgrade 9.0.0 -> 9.0.1 man-db:upgrade 2.8.5 -> 2.8.6.1 libnewt:upgrade 0.52.20 -> 0.52.21 Zheng Ruoqin (1): python3-mako: 1.0.14 -> 1.1.0 Zoltan Kuscsik (1): kmscube: update to latest revision Change-Id: I2cd1a0d59da46725b1aba5a79b63eb6121b3c79e Signed-off-by: Brad Bishop --- poky/bitbake/bin/bitbake | 2 +- poky/bitbake/bin/bitbake-hashserv | 4 +- poky/bitbake/bin/bitbake-worker | 7 + poky/bitbake/lib/bb/__init__.py | 2 +- poky/bitbake/lib/bb/build.py | 57 +- poky/bitbake/lib/bb/cache.py | 55 +- poky/bitbake/lib/bb/cooker.py | 34 +- poky/bitbake/lib/bb/data.py | 4 +- poky/bitbake/lib/bb/fetch2/npm.py | 45 +- poky/bitbake/lib/bb/fetch2/wget.py | 16 +- poky/bitbake/lib/bb/runqueue.py | 443 ++++--- poky/bitbake/lib/bb/server/process.py | 5 +- poky/bitbake/lib/bb/siggen.py | 322 +++-- poky/bitbake/lib/bb/tests/data.py | 2 +- .../bb/tests/runqueue-tests/classes/base.bbclass | 54 +- .../lib/bb/tests/runqueue-tests/conf/bitbake.conf | 2 +- .../lib/bb/tests/runqueue-tests/recipes/e1.bb | 1 + poky/bitbake/lib/bb/tests/runqueue.py | 174 ++- poky/bitbake/lib/bb/ui/knotty.py | 18 +- poky/bitbake/lib/bb/utils.py | 2 +- poky/bitbake/lib/hashserv/__init__.py | 118 +- poky/bitbake/lib/hashserv/tests.py | 15 +- poky/bitbake/lib/layerindexlib/__init__.py | 21 +- poky/bitbake/lib/prserv/db.py | 2 +- poky/bitbake/lib/toaster/orm/models.py | 10 +- poky/meta-poky/conf/distro/poky.conf | 1 - poky/meta-poky/conf/local.conf.sample | 5 +- .../recipes-test/aspell/aspell_0.0.0.1.bb | 2 - .../recipes-test/aspell/aspell_0.60.6.1.bbappend | 2 - .../recipes-test/aspell/aspell_0.60.7.bbappend | 2 + .../recipes-test/fortran/fortran-helloworld.bb | 7 +- .../meta-yocto-bsp/conf/machine/genericx86-64.conf | 2 + poky/meta-yocto-bsp/conf/machine/genericx86.conf | 2 + poky/meta/classes/gnome.bbclass | 1 - poky/meta/classes/go.bbclass | 18 +- poky/meta/classes/icecc.bbclass | 6 +- poky/meta/classes/image.bbclass | 7 +- poky/meta/classes/image_types.bbclass | 4 +- poky/meta/classes/image_types_wic.bbclass | 14 +- poky/meta/classes/insane.bbclass | 23 +- poky/meta/classes/kernel-uboot.bbclass | 4 - poky/meta/classes/kernel.bbclass | 2 +- poky/meta/classes/license_image.bbclass | 4 - poky/meta/classes/linuxloader.bbclass | 4 + poky/meta/classes/meson.bbclass | 8 +- poky/meta/classes/package.bbclass | 2 +- poky/meta/classes/package_deb.bbclass | 5 +- poky/meta/classes/sanity.bbclass | 2 +- poky/meta/classes/sstate.bbclass | 117 +- poky/meta/classes/syslinux.bbclass | 5 - poky/meta/classes/uboot-extlinux-config.bbclass | 13 +- poky/meta/conf/bitbake.conf | 2 +- poky/meta/conf/distro/include/distro_alias.inc | 2 - poky/meta/conf/distro/include/maintainers.inc | 65 +- poky/meta/conf/distro/include/tcmode-default.inc | 9 +- poky/meta/conf/machine/include/qemuboot-x86.inc | 2 - poky/meta/conf/machine/qemux86-64.conf | 3 + poky/meta/conf/machine/qemux86.conf | 3 + poky/meta/conf/sanity.conf | 2 +- .../common-licenses/Apache-2.0-with-LLVM-exception | 219 ++++ poky/meta/lib/oe/copy_buildsystem.py | 2 +- poky/meta/lib/oe/gpg_sign.py | 5 +- poky/meta/lib/oe/package.py | 2 +- poky/meta/lib/oe/sstatesig.py | 244 +--- poky/meta/lib/oe/useradd.py | 2 +- poky/meta/lib/oe/utils.py | 2 +- .../meta/lib/oeqa/runtime/cases/buildgalculator.py | 1 + poky/meta/lib/oeqa/runtime/cases/parselogs.py | 2 +- poky/meta/lib/oeqa/selftest/cases/bbtests.py | 7 +- poky/meta/lib/oeqa/selftest/cases/wic.py | 18 +- poky/meta/lib/oeqa/targetcontrol.py | 4 +- poky/meta/lib/oeqa/utils/commands.py | 4 +- poky/meta/lib/oeqa/utils/qemurunner.py | 4 +- ...-mfpmath-sse-as-well-when-SSE-is-disabled.patch | 13 +- ...need_charset_alias-when-building-for-musl.patch | 30 - .../0001-grub-setup-Debug-message-cleanup.patch | 34 - ...1-grub.d-10_linux.in-add-oe-s-kernel-name.patch | 16 +- ...-64-Treat-R_X86_64_PLT32-as-R_X86_64_PC32.patch | 76 -- .../grub/files/autogen.sh-exclude-pc.patch | 15 +- poky/meta/recipes-bsp/grub/files/gcc8.patch | 74 -- ...-explicitly-keeps-symbole-.module_license.patch | 21 +- poky/meta/recipes-bsp/grub/grub-efi_2.02.bb | 109 -- poky/meta/recipes-bsp/grub/grub-efi_2.04.bb | 112 ++ poky/meta/recipes-bsp/grub/grub2.inc | 17 +- poky/meta/recipes-bsp/grub/grub_2.02.bb | 29 - poky/meta/recipes-bsp/grub/grub_2.04.bb | 33 + poky/meta/recipes-bsp/opensbi/opensbi_0.4.bb | 11 +- .../recipes-connectivity/bind/bind_9.11.5-P4.bb | 4 +- poky/meta/recipes-connectivity/bluez5/bluez5.inc | 2 +- poky/meta/recipes-connectivity/dhcp/dhcp.inc | 2 +- .../inetutils/fix-buffer-fortify-tfpt.patch | 25 + .../inetutils/inetutils_1.9.4.bb | 1 + .../iproute2/iproute2/configure-cross.patch | 39 - .../iproute2/iproute2_5.2.0.bb | 1 - poky/meta/recipes-connectivity/ofono/ofono.inc | 2 +- .../wpa-supplicant/wpa-supplicant_2.8.bb | 109 -- .../wpa-supplicant/wpa-supplicant_2.9.bb | 109 ++ poky/meta/recipes-core/ell/ell_0.20.bb | 22 - poky/meta/recipes-core/ell/ell_0.21.bb | 22 + poky/meta/recipes-core/glib-2.0/glib-2.0_2.60.5.bb | 25 - poky/meta/recipes-core/glib-2.0/glib-2.0_2.60.6.bb | 25 + .../glibc/cross-localedef-native_2.29.bb | 53 - .../glibc/cross-localedef-native_2.30.bb | 46 + poky/meta/recipes-core/glibc/glibc-common.inc | 9 +- poky/meta/recipes-core/glibc/glibc-locale_2.29.bb | 1 - poky/meta/recipes-core/glibc/glibc-locale_2.30.bb | 1 + poky/meta/recipes-core/glibc/glibc-mtrace_2.29.bb | 1 - poky/meta/recipes-core/glibc/glibc-mtrace_2.30.bb | 1 + poky/meta/recipes-core/glibc/glibc-package.inc | 1 + poky/meta/recipes-core/glibc/glibc-scripts_2.29.bb | 1 - poky/meta/recipes-core/glibc/glibc-scripts_2.30.bb | 1 + poky/meta/recipes-core/glibc/glibc-version.inc | 8 + ...libc-Look-for-host-system-ld.so.cache-as-.patch | 12 +- ...mp-Use-unsigned-Jcc-instructions-on-size-.patch | 204 ---- ...libc-Fix-buffer-overrun-with-a-relocated-.patch | 10 +- ...libc-Raise-the-size-of-arrays-containing-.patch | 21 +- ...ivesdk-glibc-Allow-64-bit-atomics-for-x86.patch | 6 +- ...libc-Make-relocatable-install-for-locales.patch | 6 +- ...500-e5500-e6500-603e-fsqrt-implementation.patch | 6 +- ...-OECORE_KNOWN_INTERPRETER_NAMES-to-known-.patch | 6 +- ...-Fix-undefined-reference-to-__sqrt_finite.patch | 6 +- ...qrt-f-are-now-inline-functions-and-call-o.patch | 6 +- ...bug-1443-which-explains-what-the-patch-do.patch | 6 +- ...n-libm-err-tab.pl-with-specific-dirs-in-S.patch | 6 +- ...qrt-f-are-now-inline-functions-and-call-o.patch | 6 +- ...-configure.ac-handle-correctly-libc_cv_ro.patch | 6 +- .../glibc/glibc/0014-Add-unused-attribute.patch | 6 +- ...thin-the-path-sets-wrong-config-variables.patch | 6 +- ...-timezone-re-written-tzselect-as-posix-sh.patch | 6 +- ...move-bash-dependency-for-nscd-init-script.patch | 6 +- ...c-Cross-building-and-testing-instructions.patch | 6 +- ...019-eglibc-Help-bootstrap-cross-toolchain.patch | 12 +- .../0020-eglibc-Clear-cache-lines-on-ppc8xx.patch | 6 +- ...0021-eglibc-Resolve-__fpscr_values-on-SH4.patch | 6 +- ...ward-port-cross-locale-generation-support.patch | 24 +- ...0023-Define-DUMMY_LOCALE_T-if-not-defined.patch | 6 +- ...dd-to-archive-uses-a-hard-coded-locale-pa.patch | 6 +- ....c-Make-_dl_build_local_scope-breadth-fir.patch | 6 +- ...tl-Emit-no-lines-in-bison-generated-files.patch | 34 + .../0027-inject-file-assembly-directives.patch | 304 +++++ ...tl-Emit-no-lines-in-bison-generated-files.patch | 34 - ...ent-maybe-uninitialized-errors-with-Os-BZ.patch | 56 + .../0029-inject-file-assembly-directives.patch | 304 ----- ...ent-maybe-uninitialized-errors-with-Os-BZ.patch | 56 - .../recipes-core/glibc/glibc/CVE-2019-9169.patch | 37 - poky/meta/recipes-core/glibc/glibc_2.29.bb | 128 -- poky/meta/recipes-core/glibc/glibc_2.30.bb | 112 ++ .../meta/recipes-core/meta/cve-update-db-native.bb | 41 +- poky/meta/recipes-core/musl/musl_git.bb | 4 +- poky/meta/recipes-core/newlib/newlib.inc | 2 +- ...eader.makefile-add-Wno-stringop-truncatio.patch | 71 -- .../ovmf/ovmf/0001-ia32-Dont-use-pie.patch | 46 - ...aseTools-header.makefile-add-Wno-restrict.patch | 102 -- ...eader.makefile-revert-gcc-8-Wno-xxx-optio.patch | 53 - ...makefile-adjust-to-build-in-under-bitbake.patch | 33 +- ...enVtf-silence-false-stringop-overflow-war.patch | 66 -- ...ollDefaultKeys-application-for-enrolling-.patch | 1124 ------------------ .../ovmf/ovmf/no-stack-protector-all-archs.patch | 26 +- poky/meta/recipes-core/ovmf/ovmf_git.bb | 41 +- poky/meta/recipes-core/systemd/systemd-boot_242.bb | 2 + .../systemd/systemd-systemctl/systemctl | 11 +- ...dd-Defi-objcopy-option-to-specify-objcopy.patch | 48 + poky/meta/recipes-devtools/apt/apt-package.inc | 1 + .../btrfs-tools/btrfs-tools_5.1.1.bb | 46 - .../btrfs-tools/btrfs-tools_5.2.1.bb | 46 + .../recipes-devtools/cmake/cmake-native_3.14.5.bb | 52 - .../recipes-devtools/cmake/cmake-native_3.15.2.bb | 52 + poky/meta/recipes-devtools/cmake/cmake.inc | 4 +- ...ineSystem-use-oe-environment-vars-to-load.patch | 13 +- .../0002-cmake-Prevent-the-detection-of-Qt5.patch | 33 +- ...upport-OpenEmbedded-Qt4-tool-binary-names.patch | 11 +- ...ently-if-system-Qt-installation-is-broken.patch | 11 +- poky/meta/recipes-devtools/cmake/cmake_3.14.5.bb | 53 - poky/meta/recipes-devtools/cmake/cmake_3.15.2.bb | 53 + .../createrepo-c/createrepo-c_0.14.2.bb | 34 - .../createrepo-c/createrepo-c_0.14.3.bb | 34 + poky/meta/recipes-devtools/dpkg/dpkg.inc | 7 +- ...0001-create_inode-fix-copying-large-files.patch | 50 - .../e2fsprogs/e2fsprogs/ptest.patch | 33 +- .../recipes-devtools/e2fsprogs/e2fsprogs_1.44.5.bb | 136 --- .../recipes-devtools/e2fsprogs/e2fsprogs_1.45.3.bb | 138 +++ .../recipes-devtools/elfutils/elfutils_0.176.bb | 2 +- .../recipes-devtools/gcc/gcc-cross-canadian.inc | 3 - poky/meta/recipes-devtools/gcc/gcc-runtime.inc | 18 +- poky/meta/recipes-devtools/gcc/gcc-runtime_8.3.bb | 10 - poky/meta/recipes-devtools/gcc/gcc-runtime_9.1.bb | 10 - poky/meta/recipes-devtools/gdb/gdb-8.3.inc | 2 +- poky/meta/recipes-devtools/gdb/gdb_8.3.bb | 1 - poky/meta/recipes-devtools/git/git_2.22.0.bb | 11 - poky/meta/recipes-devtools/git/git_2.22.1.bb | 11 + poky/meta/recipes-devtools/go/go-runtime.inc | 3 + .../libedit/libedit/stdc-predef.patch | 18 + .../libedit/libedit_20190324-3.1.bb | 21 + ...-meson.build-do-not-generate-gir-or-gtkdo.patch | 26 +- .../libmodulemd/libmodulemd_git.bb | 4 +- .../recipes-devtools/librepo/librepo_1.10.4.bb | 21 - .../recipes-devtools/librepo/librepo_1.10.5.bb | 27 + ...LibraryInfo-Undefine-libc-functions-if-th.patch | 91 -- .../0002-llvm-allow-env-override-of-exe-path.patch | 114 -- ...LibraryInfo-Undefine-libc-functions-if-th.patch | 92 ++ .../0007-llvm-allow-env-override-of-exe-path.patch | 38 + poky/meta/recipes-devtools/llvm/llvm_git.bb | 10 +- poky/meta/recipes-devtools/meson/meson.inc | 8 +- ...-return-statements-that-are-seen-with-Wer.patch | 100 ++ .../0001-Make-CPU-family-warnings-fatal.patch | 10 +- ....py-detect-windows-also-if-the-system-str.patch | 14 +- ...environment.py-check-environment-for-vari.patch | 20 +- ...environment.py-do-not-determine-whether-a.patch | 10 +- ...02-Support-building-allarch-recipes-again.patch | 6 +- .../meson/meson/0003-native_bindir.patch | 32 +- ...onbuild-allow-multiple-cross-file-options.patch | 185 --- .../load-configs-generalise-search-path.patch | 53 - .../meson/meson/vala-cross-compile.patch | 50 + poky/meta/recipes-devtools/meson/meson_0.50.1.bb | 4 - poky/meta/recipes-devtools/meson/meson_0.51.1.bb | 4 + .../meson/nativesdk-meson_0.50.1.bb | 66 -- .../meson/nativesdk-meson_0.51.1.bb | 66 ++ poky/meta/recipes-devtools/mtd/mtd-utils_git.bb | 5 +- ...ke-ed-directly-instead-of-using-the-shell.patch | 44 + .../patch/patch/CVE-2019-13636.patch | 113 ++ poky/meta/recipes-devtools/patch/patch_2.7.6.bb | 2 + poky/meta/recipes-devtools/perl/perl_5.30.0.bb | 18 +- poky/meta/recipes-devtools/pseudo/pseudo.inc | 2 +- poky/meta/recipes-devtools/pseudo/pseudo_git.bb | 2 +- .../python-numpy/python-numpy_1.16.3.bb | 10 - poky/meta/recipes-devtools/python/python-git.inc | 32 - .../recipes-devtools/python/python-nose_1.3.7.bb | 6 - .../python/python-scons-native_3.0.5.bb | 8 - .../recipes-devtools/python/python-scons_3.0.5.bb | 24 - poky/meta/recipes-devtools/python/python.inc | 1 + .../python/python/CVE-2018-20852.patch | 123 ++ .../python/python/CVE-2019-9740.patch | 1 + .../recipes-devtools/python/python3-dbus_1.2.8.bb | 2 + .../recipes-devtools/python/python3-git_2.1.11.bb | 2 - .../recipes-devtools/python/python3-git_3.0.0.bb | 33 + .../recipes-devtools/python/python3-mako_1.0.14.bb | 21 - .../recipes-devtools/python/python3-mako_1.1.0.bb | 21 + .../recipes-devtools/python/python3-pbr_5.4.1.bb | 5 - .../recipes-devtools/python/python3-pbr_5.4.2.bb | 5 + .../recipes-devtools/python/python3-pip_19.1.1.bb | 30 - .../recipes-devtools/python/python3-pip_19.2.1.bb | 30 + .../python/python3-pygobject_3.32.2.bb | 4 +- .../python/python3/python3-manifest.json | 13 +- poky/meta/recipes-devtools/python/python3_3.7.4.bb | 10 +- poky/meta/recipes-devtools/qemu/qemu.inc | 1 + ...fix-to-handle-variably-sized-SIOCGSTAMP-w.patch | 339 ++++++ poky/meta/recipes-devtools/ruby/ruby.inc | 2 +- ...hen-using-non-glibc-libc-implementation-o.patch | 13 +- .../strace/strace/0001-mips-o32-fix-build.patch | 98 -- ...tion-Check-for-mips-and-alpha-before-usin.patch | 6 +- poky/meta/recipes-devtools/strace/strace_4.26.bb | 58 - poky/meta/recipes-devtools/strace/strace_5.2.bb | 57 + .../subversion/subversion_1.12.0.bb | 1 + .../syslinux/syslinux_6.04-pre2.bb | 19 +- .../meta/recipes-extended/bzip2/bzip2/configure.ac | 2 +- poky/meta/recipes-extended/bzip2/bzip2_1.0.8.bb | 5 +- .../ethtool/ethtool/avoid_parallel_tests.patch | 10 +- poky/meta/recipes-extended/ethtool/ethtool_5.1.bb | 31 - poky/meta/recipes-extended/ethtool/ethtool_5.2.bb | 31 + .../groff/files/0001-Include-config.h.patch | 1228 ++++++++++++++++++++ poky/meta/recipes-extended/groff/groff_1.22.4.bb | 1 + poky/meta/recipes-extended/gzip/gzip_1.10.bb | 2 +- poky/meta/recipes-extended/libidn/libidn2_2.2.0.bb | 4 + .../meta/recipes-extended/libnss-nis/libnss-nis.bb | 1 + ...001-nis-hosts-Remove-use-of-RES_USE_INET6.patch | 162 +++ ...re-time-check-for-getdents-getdents64-API.patch | 72 ++ ...-check-for-RES_USE_INET6-during-configure.patch | 68 ++ ...define-getdents-getdents64-only-for-glibc.patch | 50 - poky/meta/recipes-extended/ltp/ltp_20190517.bb | 3 +- poky/meta/recipes-extended/man-db/man-db_2.8.5.bb | 59 - .../meta/recipes-extended/man-db/man-db_2.8.6.1.bb | 59 + poky/meta/recipes-extended/msmtp/msmtp_1.8.4.bb | 28 - poky/meta/recipes-extended/msmtp/msmtp_1.8.5.bb | 28 + .../newt/files/fix_SHAREDDIR.patch | 37 - .../recipes-extended/newt/files/pie-flags.patch | 27 +- poky/meta/recipes-extended/newt/libnewt_0.52.20.bb | 59 - poky/meta/recipes-extended/newt/libnewt_0.52.21.bb | 58 + .../packagegroups/packagegroup-core-base-utils.bb | 2 + .../0001-Remove-more-compatibility-stuff.patch | 31 + poky/meta/recipes-extended/screen/screen_4.6.2.bb | 1 + ...erve-ownership-when-installing-example-jo.patch | 23 + ...ompletion-remove-the-shebang-at-the-start.patch | 23 + .../stress-ng/stress-ng_0.10.00.bb | 21 + .../recipes-extended/stress/files/texinfo.patch | 80 -- poky/meta/recipes-extended/stress/stress_1.0.4.bb | 15 - poky/meta/recipes-extended/sudo/sudo_1.8.27.bb | 6 +- .../tcp-wrappers/tcp-wrappers_7.6.bb | 2 +- .../recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.38.1.bb | 3 +- poky/meta/recipes-gnome/libgudev/libgudev_232.bb | 18 - poky/meta/recipes-gnome/libgudev/libgudev_233.bb | 18 + poky/meta/recipes-graphics/drm/libdrm_2.4.99.bb | 2 +- .../recipes-graphics/harfbuzz/harfbuzz_2.4.0.bb | 40 - .../recipes-graphics/harfbuzz/harfbuzz_2.5.3.bb | 39 + ...-gst_bo_map-_unmap-and-use-it-or-avoid-it.patch | 25 +- poky/meta/recipes-graphics/kmscube/kmscube_git.bb | 4 +- ...-Pass-tag-CC-explictly-when-using-libtool.patch | 73 -- .../libsdl-1.2.15/libsdl-1.2.15-xdata32.patch | 19 - .../libsdl/libsdl-1.2.15/pkgconfig.patch | 187 --- poky/meta/recipes-graphics/libsdl/libsdl_1.2.15.bb | 74 -- .../libsdl2/libsdl2/more-gen-depends.patch | 37 +- .../recipes-graphics/libsdl2/libsdl2_2.0.10.bb | 74 ++ .../meta/recipes-graphics/libsdl2/libsdl2_2.0.9.bb | 74 -- poky/meta/recipes-graphics/mesa/libglu_9.0.0.bb | 30 - poky/meta/recipes-graphics/mesa/libglu_9.0.1.bb | 30 + poky/meta/recipes-graphics/mesa/mesa.inc | 10 +- .../pango/pango/insensitive-diff.patch | 28 - poky/meta/recipes-graphics/pango/pango_1.42.4.bb | 50 - poky/meta/recipes-graphics/pango/pango_1.44.3.bb | 46 + ...Expand-libc-check-to-be-platform-OS-check.patch | 36 + .../virglrenderer/virglrenderer_0.7.0.bb | 1 + ...-threads-Use-PTHREAD_MUTEX_RECURSIVE-by-d.patch | 54 - poky/meta/recipes-graphics/waffle/waffle_1.5.2.bb | 36 - poky/meta/recipes-graphics/waffle/waffle_1.6.0.bb | 37 + .../recipes-graphics/wayland/libinput_1.13.4.bb | 29 - .../recipes-graphics/wayland/libinput_1.14.0.bb | 29 + .../wayland/wayland-protocols_1.17.bb | 22 - .../wayland/wayland-protocols_1.18.bb | 22 + .../wayland/weston/0001-make-error-portable.patch | 34 +- ...ch-Provide-a-default-version-that-doesn-t.patch | 93 +- poky/meta/recipes-graphics/wayland/weston_6.0.0.bb | 109 -- poky/meta/recipes-graphics/wayland/weston_6.0.1.bb | 112 ++ .../recipes-graphics/xorg-app/xdpyinfo_1.3.2.bb | 2 +- .../meta/recipes-graphics/xorg-app/xrandr_1.5.0.bb | 15 - .../meta/recipes-graphics/xorg-app/xrandr_1.5.1.bb | 17 + poky/meta/recipes-graphics/xorg-app/xset_1.2.4.bb | 2 +- .../xorg-driver/xf86-input-libinput_0.28.2.bb | 11 - .../xorg-driver/xf86-input-libinput_0.29.0.bb | 11 + .../0001-Drop-x11-dependencies.patch | 86 ++ .../xorg-lib/libx11-compose-data_1.6.8.bb | 35 + .../recipes-graphics/xorg-lib/libx11-diet_1.6.7.bb | 16 - poky/meta/recipes-graphics/xorg-lib/libx11.inc | 8 +- .../xorg-lib/libx11/X18NCMSstubs.patch | 536 --------- .../xorg-lib/libx11/fix-disable-xlocale.patch | 33 - .../xorg-lib/libx11/fix-utf8-wrong-define.patch | 31 - .../xorg-lib/libx11/no-host-libtool.patch | 45 + .../xorg-lib/libx11/no-host-x.patch | 40 + .../meta/recipes-graphics/xorg-lib/libx11_1.6.7.bb | 13 - .../meta/recipes-graphics/xorg-lib/libx11_1.6.8.bb | 7 + .../xorg-lib/libxkbcommon_0.8.4.bb | 4 + .../recipes-graphics/xorg-lib/libxxf86dga_1.1.5.bb | 19 - .../xorg-lib/libxxf86misc_1.0.4.bb | 19 - .../0001-Remove-libdir-specification.patch | 468 -------- .../xorg-proto/xorgproto_2018.4.bb | 16 - .../xorg-proto/xorgproto_2019.1.bb | 14 + .../recipes-graphics/xorg-xserver/xserver-xorg.inc | 16 +- ...Do-not-include-sys-io.h-on-ARM-with-glibc.patch | 63 + .../xserver-xorg/musl-arm-inb-outb.patch | 18 - .../xserver-xorg/sdksyms-no-build-path.patch | 50 + .../xorg-xserver/xserver-xorg_1.20.4.bb | 31 - .../xorg-xserver/xserver-xorg_1.20.5.bb | 32 + .../linux-firmware/linux-firmware_20190618.bb | 2 + ...api-asm-ptrace.h-should-not-depend-on-uap.patch | 62 + .../linux-libc-headers/linux-libc-headers_5.0.bb | 1 + poky/meta/recipes-kernel/linux/linux-yocto-dev.bb | 2 +- .../recipes-kernel/linux/linux-yocto-rt_4.19.bb | 6 +- .../recipes-kernel/linux/linux-yocto-tiny_4.19.bb | 8 +- poky/meta/recipes-kernel/linux/linux-yocto_4.19.bb | 20 +- ...001-check-for-gettid-API-during-configure.patch | 55 + .../recipes-kernel/lttng/lttng-tools_2.10.7.bb | 1 + ...-Add-config-time-check-for-new-gettid-API.patch | 57 + poky/meta/recipes-kernel/lttng/lttng-ust_2.10.4.bb | 1 + .../0001-wakeup_xxx.h-include-limits.h.patch | 55 + poky/meta/recipes-kernel/powertop/powertop_2.10.bb | 1 + .../gstreamer1.0-plugins-good/headerfix.patch | 43 + .../gstreamer/gstreamer1.0-plugins-good_1.16.0.bb | 1 + .../recipes-multimedia/mpg123/mpg123_1.25.10.bb | 51 - .../recipes-multimedia/mpg123/mpg123_1.25.11.bb | 51 + .../recipes-multimedia/pulseaudio/pulseaudio.inc | 5 +- .../0001-alsa-Fix-inclusion-of-use-case.h.patch | 46 + .../pulseaudio/pulseaudio_12.2.bb | 1 + poky/meta/recipes-multimedia/webp/libwebp_1.0.2.bb | 53 - poky/meta/recipes-multimedia/webp/libwebp_1.0.3.bb | 53 + poky/meta/recipes-rt/rt-tests/files/rt_bmark.py | 2 +- poky/meta/recipes-rt/rt-tests/rt-tests_1.1.bb | 2 +- ...fix-build-failure-https-bugs.webkit.org-s.patch | 33 + .../recipes-sato/webkit/webkitgtk/snprintf.patch | 15 - poky/meta/recipes-sato/webkit/webkitgtk_2.24.2.bb | 136 --- poky/meta/recipes-sato/webkit/webkitgtk_2.24.3.bb | 130 +++ poky/meta/recipes-support/aspell/aspell/gcc7.patch | 40 - .../meta/recipes-support/aspell/aspell_0.60.6.1.bb | 34 - poky/meta/recipes-support/aspell/aspell_0.60.7.bb | 32 + poky/meta/recipes-support/attr/attr.inc | 2 +- poky/meta/recipes-support/boost/boost.inc | 2 + poky/meta/recipes-support/curl/curl_7.65.2.bb | 80 -- poky/meta/recipes-support/curl/curl_7.65.3.bb | 80 ++ poky/meta/recipes-support/db/db_5.3.28.bb | 4 +- .../gnutls/gnutls/posix-shell.patch | 39 + poky/meta/recipes-support/gnutls/gnutls_3.6.8.bb | 4 + ...reintroduce-GNULIB_OVERRIDES_WINT_T-check.patch | 63 - .../gnutls/libtasn1/fix-ldflags.patch | 31 + poky/meta/recipes-support/gnutls/libtasn1_4.13.bb | 23 - poky/meta/recipes-support/gnutls/libtasn1_4.14.bb | 23 + .../gpgme/0007-python-Add-variables-to-tests.patch | 24 +- poky/meta/recipes-support/gpgme/gpgme_1.13.0.bb | 85 -- poky/meta/recipes-support/gpgme/gpgme_1.13.1.bb | 85 ++ .../recipes-support/iso-codes/iso-codes_4.2.bb | 19 - .../recipes-support/iso-codes/iso-codes_4.3.bb | 19 + .../recipes-support/libevent/libevent_2.1.10.bb | 46 - .../recipes-support/libevent/libevent_2.1.11.bb | 46 + poky/meta/recipes-support/libffi/libffi_3.2.1.bb | 2 +- ...txt-libical.pc.in-fix-iculibs-remove-full.patch | 44 - poky/meta/recipes-support/libical/libical_2.0.0.bb | 28 - poky/meta/recipes-support/libical/libical_3.0.5.bb | 35 + poky/meta/recipes-support/libmpc/libmpc_1.1.0.bb | 2 +- ...d-target-to-only-build-tests-not-run-them.patch | 38 - ...k-header-files-of-openssl-only-if-enable_.patch | 36 - .../nettle/nettle-3.4.1/dlopen-test.patch | 21 - .../recipes-support/nettle/nettle-3.4.1/run-ptest | 36 - ...d-target-to-only-build-tests-not-run-them.patch | 38 + ...k-header-files-of-openssl-only-if-enable_.patch | 36 + .../nettle/nettle-3.5.1/dlopen-test.patch | 21 + .../recipes-support/nettle/nettle-3.5.1/run-ptest | 36 + poky/meta/recipes-support/nettle/nettle_3.4.1.bb | 55 - poky/meta/recipes-support/nettle/nettle_3.5.1.bb | 55 + ...01-utils-Ensure-stdout-stderr-are-flushed.patch | 45 - .../0002-use-process-groups-when-spawning.patch | 35 - ...03-utils-Ensure-pipes-are-read-after-exit.patch | 76 -- ...-utils-ensure-child-can-be-session-leader.patch | 212 ---- .../ptest-runner/ptest-runner_2.3.1.bb | 32 - .../ptest-runner/ptest-runner_2.3.2.bb | 28 + .../rng-tools/rng-tools/rngd.service | 4 + poky/meta/recipes-support/sqlite/sqlite3.inc | 3 + poky/scripts/create-pull-request | 22 +- poky/scripts/lib/wic/ksparser.py | 2 + poky/scripts/lib/wic/partition.py | 19 +- poky/scripts/lib/wic/plugins/imager/direct.py | 37 +- poky/scripts/runqemu | 159 ++- 427 files changed, 8666 insertions(+), 9196 deletions(-) create mode 100644 poky/bitbake/lib/bb/tests/runqueue-tests/recipes/e1.bb delete mode 100644 poky/meta-selftest/recipes-test/aspell/aspell_0.60.6.1.bbappend create mode 100644 poky/meta-selftest/recipes-test/aspell/aspell_0.60.7.bbappend delete mode 100644 poky/meta/classes/gnome.bbclass create mode 100644 poky/meta/files/common-licenses/Apache-2.0-with-LLVM-exception delete mode 100644 poky/meta/recipes-bsp/grub/files/0001-Unset-need_charset_alias-when-building-for-musl.patch delete mode 100644 poky/meta/recipes-bsp/grub/files/0001-grub-setup-Debug-message-cleanup.patch delete mode 100644 poky/meta/recipes-bsp/grub/files/0001-x86-64-Treat-R_X86_64_PLT32-as-R_X86_64_PC32.patch delete mode 100644 poky/meta/recipes-bsp/grub/files/gcc8.patch delete mode 100644 poky/meta/recipes-bsp/grub/grub-efi_2.02.bb create mode 100644 poky/meta/recipes-bsp/grub/grub-efi_2.04.bb delete mode 100644 poky/meta/recipes-bsp/grub/grub_2.02.bb create mode 100644 poky/meta/recipes-bsp/grub/grub_2.04.bb create mode 100644 poky/meta/recipes-connectivity/inetutils/inetutils/fix-buffer-fortify-tfpt.patch delete mode 100644 poky/meta/recipes-connectivity/iproute2/iproute2/configure-cross.patch delete mode 100644 poky/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant_2.8.bb create mode 100644 poky/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant_2.9.bb delete mode 100644 poky/meta/recipes-core/ell/ell_0.20.bb create mode 100644 poky/meta/recipes-core/ell/ell_0.21.bb delete mode 100644 poky/meta/recipes-core/glib-2.0/glib-2.0_2.60.5.bb create mode 100644 poky/meta/recipes-core/glib-2.0/glib-2.0_2.60.6.bb delete mode 100644 poky/meta/recipes-core/glibc/cross-localedef-native_2.29.bb create mode 100644 poky/meta/recipes-core/glibc/cross-localedef-native_2.30.bb delete mode 100644 poky/meta/recipes-core/glibc/glibc-locale_2.29.bb create mode 100644 poky/meta/recipes-core/glibc/glibc-locale_2.30.bb delete mode 100644 poky/meta/recipes-core/glibc/glibc-mtrace_2.29.bb create mode 100644 poky/meta/recipes-core/glibc/glibc-mtrace_2.30.bb delete mode 100644 poky/meta/recipes-core/glibc/glibc-scripts_2.29.bb create mode 100644 poky/meta/recipes-core/glibc/glibc-scripts_2.30.bb create mode 100644 poky/meta/recipes-core/glibc/glibc-version.inc delete mode 100644 poky/meta/recipes-core/glibc/glibc/0001-x86-64-memcmp-Use-unsigned-Jcc-instructions-on-size-.patch create mode 100644 poky/meta/recipes-core/glibc/glibc/0026-intl-Emit-no-lines-in-bison-generated-files.patch create mode 100644 poky/meta/recipes-core/glibc/glibc/0027-inject-file-assembly-directives.patch delete mode 100644 poky/meta/recipes-core/glibc/glibc/0028-intl-Emit-no-lines-in-bison-generated-files.patch create mode 100644 poky/meta/recipes-core/glibc/glibc/0028-locale-prevent-maybe-uninitialized-errors-with-Os-BZ.patch delete mode 100644 poky/meta/recipes-core/glibc/glibc/0029-inject-file-assembly-directives.patch delete mode 100644 poky/meta/recipes-core/glibc/glibc/0030-locale-prevent-maybe-uninitialized-errors-with-Os-BZ.patch delete mode 100644 poky/meta/recipes-core/glibc/glibc/CVE-2019-9169.patch delete mode 100644 poky/meta/recipes-core/glibc/glibc_2.29.bb create mode 100644 poky/meta/recipes-core/glibc/glibc_2.30.bb delete mode 100644 poky/meta/recipes-core/ovmf/ovmf/0001-BaseTools-header.makefile-add-Wno-stringop-truncatio.patch delete mode 100644 poky/meta/recipes-core/ovmf/ovmf/0001-ia32-Dont-use-pie.patch delete mode 100644 poky/meta/recipes-core/ovmf/ovmf/0002-BaseTools-header.makefile-add-Wno-restrict.patch delete mode 100644 poky/meta/recipes-core/ovmf/ovmf/0003-BaseTools-header.makefile-revert-gcc-8-Wno-xxx-optio.patch delete mode 100644 poky/meta/recipes-core/ovmf/ovmf/0004-BaseTools-GenVtf-silence-false-stringop-overflow-war.patch delete mode 100644 poky/meta/recipes-core/ovmf/ovmf/0007-OvmfPkg-EnrollDefaultKeys-application-for-enrolling-.patch create mode 100644 poky/meta/recipes-core/systemd/systemd/0001-meson-Add-Defi-objcopy-option-to-specify-objcopy.patch delete mode 100644 poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.1.1.bb create mode 100644 poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.2.1.bb delete mode 100644 poky/meta/recipes-devtools/cmake/cmake-native_3.14.5.bb create mode 100644 poky/meta/recipes-devtools/cmake/cmake-native_3.15.2.bb delete mode 100644 poky/meta/recipes-devtools/cmake/cmake_3.14.5.bb create mode 100644 poky/meta/recipes-devtools/cmake/cmake_3.15.2.bb delete mode 100644 poky/meta/recipes-devtools/createrepo-c/createrepo-c_0.14.2.bb create mode 100644 poky/meta/recipes-devtools/createrepo-c/createrepo-c_0.14.3.bb delete mode 100644 poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/0001-create_inode-fix-copying-large-files.patch delete mode 100644 poky/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.44.5.bb create mode 100644 poky/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.45.3.bb delete mode 100644 poky/meta/recipes-devtools/git/git_2.22.0.bb create mode 100644 poky/meta/recipes-devtools/git/git_2.22.1.bb create mode 100644 poky/meta/recipes-devtools/libedit/libedit/stdc-predef.patch create mode 100644 poky/meta/recipes-devtools/libedit/libedit_20190324-3.1.bb delete mode 100644 poky/meta/recipes-devtools/librepo/librepo_1.10.4.bb create mode 100644 poky/meta/recipes-devtools/librepo/librepo_1.10.5.bb delete mode 100644 poky/meta/recipes-devtools/llvm/llvm/0001-llvm-TargetLibraryInfo-Undefine-libc-functions-if-th.patch delete mode 100644 poky/meta/recipes-devtools/llvm/llvm/0002-llvm-allow-env-override-of-exe-path.patch create mode 100644 poky/meta/recipes-devtools/llvm/llvm/0006-llvm-TargetLibraryInfo-Undefine-libc-functions-if-th.patch create mode 100644 poky/meta/recipes-devtools/llvm/llvm/0007-llvm-allow-env-override-of-exe-path.patch create mode 100644 poky/meta/recipes-devtools/meson/meson/0001-Fix-missing-return-statements-that-are-seen-with-Wer.patch delete mode 100644 poky/meta/recipes-devtools/meson/meson/0007-mesonbuild-allow-multiple-cross-file-options.patch delete mode 100644 poky/meta/recipes-devtools/meson/meson/load-configs-generalise-search-path.patch create mode 100644 poky/meta/recipes-devtools/meson/meson/vala-cross-compile.patch delete mode 100644 poky/meta/recipes-devtools/meson/meson_0.50.1.bb create mode 100644 poky/meta/recipes-devtools/meson/meson_0.51.1.bb delete mode 100644 poky/meta/recipes-devtools/meson/nativesdk-meson_0.50.1.bb create mode 100644 poky/meta/recipes-devtools/meson/nativesdk-meson_0.51.1.bb create mode 100644 poky/meta/recipes-devtools/patch/patch/0001-Invoke-ed-directly-instead-of-using-the-shell.patch create mode 100644 poky/meta/recipes-devtools/patch/patch/CVE-2019-13636.patch delete mode 100644 poky/meta/recipes-devtools/python-numpy/python-numpy_1.16.3.bb delete mode 100644 poky/meta/recipes-devtools/python/python-git.inc delete mode 100644 poky/meta/recipes-devtools/python/python-nose_1.3.7.bb delete mode 100644 poky/meta/recipes-devtools/python/python-scons-native_3.0.5.bb delete mode 100644 poky/meta/recipes-devtools/python/python-scons_3.0.5.bb create mode 100644 poky/meta/recipes-devtools/python/python/CVE-2018-20852.patch delete mode 100644 poky/meta/recipes-devtools/python/python3-git_2.1.11.bb create mode 100644 poky/meta/recipes-devtools/python/python3-git_3.0.0.bb delete mode 100644 poky/meta/recipes-devtools/python/python3-mako_1.0.14.bb create mode 100644 poky/meta/recipes-devtools/python/python3-mako_1.1.0.bb delete mode 100644 poky/meta/recipes-devtools/python/python3-pbr_5.4.1.bb create mode 100644 poky/meta/recipes-devtools/python/python3-pbr_5.4.2.bb delete mode 100644 poky/meta/recipes-devtools/python/python3-pip_19.1.1.bb create mode 100644 poky/meta/recipes-devtools/python/python3-pip_19.2.1.bb create mode 100644 poky/meta/recipes-devtools/qemu/qemu/0014-linux-user-fix-to-handle-variably-sized-SIOCGSTAMP-w.patch delete mode 100644 poky/meta/recipes-devtools/strace/strace/0001-mips-o32-fix-build.patch delete mode 100644 poky/meta/recipes-devtools/strace/strace_4.26.bb create mode 100644 poky/meta/recipes-devtools/strace/strace_5.2.bb delete mode 100644 poky/meta/recipes-extended/ethtool/ethtool_5.1.bb create mode 100644 poky/meta/recipes-extended/ethtool/ethtool_5.2.bb create mode 100644 poky/meta/recipes-extended/groff/files/0001-Include-config.h.patch create mode 100644 poky/meta/recipes-extended/libnss-nis/libnss-nis/0001-nis-hosts-Remove-use-of-RES_USE_INET6.patch create mode 100644 poky/meta/recipes-extended/ltp/ltp/0001-Add-configure-time-check-for-getdents-getdents64-API.patch create mode 100644 poky/meta/recipes-extended/ltp/ltp/0002-check-for-RES_USE_INET6-during-configure.patch delete mode 100644 poky/meta/recipes-extended/ltp/ltp/0005-getdents-define-getdents-getdents64-only-for-glibc.patch delete mode 100644 poky/meta/recipes-extended/man-db/man-db_2.8.5.bb create mode 100644 poky/meta/recipes-extended/man-db/man-db_2.8.6.1.bb delete mode 100644 poky/meta/recipes-extended/msmtp/msmtp_1.8.4.bb create mode 100644 poky/meta/recipes-extended/msmtp/msmtp_1.8.5.bb delete mode 100644 poky/meta/recipes-extended/newt/files/fix_SHAREDDIR.patch delete mode 100644 poky/meta/recipes-extended/newt/libnewt_0.52.20.bb create mode 100644 poky/meta/recipes-extended/newt/libnewt_0.52.21.bb create mode 100644 poky/meta/recipes-extended/screen/screen/0001-Remove-more-compatibility-stuff.patch create mode 100644 poky/meta/recipes-extended/stress-ng/stress-ng/0001-Do-not-preserve-ownership-when-installing-example-jo.patch create mode 100644 poky/meta/recipes-extended/stress-ng/stress-ng/0001-bash-completion-remove-the-shebang-at-the-start.patch create mode 100644 poky/meta/recipes-extended/stress-ng/stress-ng_0.10.00.bb delete mode 100644 poky/meta/recipes-extended/stress/files/texinfo.patch delete mode 100644 poky/meta/recipes-extended/stress/stress_1.0.4.bb delete mode 100644 poky/meta/recipes-gnome/libgudev/libgudev_232.bb create mode 100644 poky/meta/recipes-gnome/libgudev/libgudev_233.bb delete mode 100644 poky/meta/recipes-graphics/harfbuzz/harfbuzz_2.4.0.bb create mode 100644 poky/meta/recipes-graphics/harfbuzz/harfbuzz_2.5.3.bb delete mode 100644 poky/meta/recipes-graphics/libsdl/libsdl-1.2.15/0001-build-Pass-tag-CC-explictly-when-using-libtool.patch delete mode 100644 poky/meta/recipes-graphics/libsdl/libsdl-1.2.15/libsdl-1.2.15-xdata32.patch delete mode 100644 poky/meta/recipes-graphics/libsdl/libsdl-1.2.15/pkgconfig.patch delete mode 100644 poky/meta/recipes-graphics/libsdl/libsdl_1.2.15.bb create mode 100644 poky/meta/recipes-graphics/libsdl2/libsdl2_2.0.10.bb delete mode 100644 poky/meta/recipes-graphics/libsdl2/libsdl2_2.0.9.bb delete mode 100644 poky/meta/recipes-graphics/mesa/libglu_9.0.0.bb create mode 100644 poky/meta/recipes-graphics/mesa/libglu_9.0.1.bb delete mode 100644 poky/meta/recipes-graphics/pango/pango/insensitive-diff.patch delete mode 100644 poky/meta/recipes-graphics/pango/pango_1.42.4.bb create mode 100644 poky/meta/recipes-graphics/pango/pango_1.44.3.bb create mode 100644 poky/meta/recipes-graphics/virglrenderer/virglrenderer/0001-gallium-Expand-libc-check-to-be-platform-OS-check.patch delete mode 100644 poky/meta/recipes-graphics/waffle/waffle/0001-third_party-threads-Use-PTHREAD_MUTEX_RECURSIVE-by-d.patch delete mode 100644 poky/meta/recipes-graphics/waffle/waffle_1.5.2.bb create mode 100644 poky/meta/recipes-graphics/waffle/waffle_1.6.0.bb delete mode 100644 poky/meta/recipes-graphics/wayland/libinput_1.13.4.bb create mode 100644 poky/meta/recipes-graphics/wayland/libinput_1.14.0.bb delete mode 100644 poky/meta/recipes-graphics/wayland/wayland-protocols_1.17.bb create mode 100644 poky/meta/recipes-graphics/wayland/wayland-protocols_1.18.bb delete mode 100644 poky/meta/recipes-graphics/wayland/weston_6.0.0.bb create mode 100644 poky/meta/recipes-graphics/wayland/weston_6.0.1.bb delete mode 100644 poky/meta/recipes-graphics/xorg-app/xrandr_1.5.0.bb create mode 100644 poky/meta/recipes-graphics/xorg-app/xrandr_1.5.1.bb delete mode 100644 poky/meta/recipes-graphics/xorg-driver/xf86-input-libinput_0.28.2.bb create mode 100644 poky/meta/recipes-graphics/xorg-driver/xf86-input-libinput_0.29.0.bb create mode 100644 poky/meta/recipes-graphics/xorg-lib/libx11-compose-data/0001-Drop-x11-dependencies.patch create mode 100644 poky/meta/recipes-graphics/xorg-lib/libx11-compose-data_1.6.8.bb delete mode 100644 poky/meta/recipes-graphics/xorg-lib/libx11-diet_1.6.7.bb delete mode 100644 poky/meta/recipes-graphics/xorg-lib/libx11/X18NCMSstubs.patch delete mode 100644 poky/meta/recipes-graphics/xorg-lib/libx11/fix-disable-xlocale.patch delete mode 100644 poky/meta/recipes-graphics/xorg-lib/libx11/fix-utf8-wrong-define.patch create mode 100644 poky/meta/recipes-graphics/xorg-lib/libx11/no-host-libtool.patch create mode 100644 poky/meta/recipes-graphics/xorg-lib/libx11/no-host-x.patch delete mode 100644 poky/meta/recipes-graphics/xorg-lib/libx11_1.6.7.bb create mode 100644 poky/meta/recipes-graphics/xorg-lib/libx11_1.6.8.bb delete mode 100644 poky/meta/recipes-graphics/xorg-lib/libxxf86dga_1.1.5.bb delete mode 100644 poky/meta/recipes-graphics/xorg-lib/libxxf86misc_1.0.4.bb delete mode 100644 poky/meta/recipes-graphics/xorg-proto/xorgproto/0001-Remove-libdir-specification.patch delete mode 100644 poky/meta/recipes-graphics/xorg-proto/xorgproto_2018.4.bb create mode 100644 poky/meta/recipes-graphics/xorg-proto/xorgproto_2019.1.bb create mode 100644 poky/meta/recipes-graphics/xorg-xserver/xserver-xorg/0001-compiler.h-Do-not-include-sys-io.h-on-ARM-with-glibc.patch delete mode 100644 poky/meta/recipes-graphics/xorg-xserver/xserver-xorg/musl-arm-inb-outb.patch create mode 100644 poky/meta/recipes-graphics/xorg-xserver/xserver-xorg/sdksyms-no-build-path.patch delete mode 100644 poky/meta/recipes-graphics/xorg-xserver/xserver-xorg_1.20.4.bb create mode 100644 poky/meta/recipes-graphics/xorg-xserver/xserver-xorg_1.20.5.bb create mode 100644 poky/meta/recipes-kernel/linux-libc-headers/linux-libc-headers/0001-arm64-sve-uapi-asm-ptrace.h-should-not-depend-on-uap.patch create mode 100644 poky/meta/recipes-kernel/lttng/lttng-tools/0001-check-for-gettid-API-during-configure.patch create mode 100644 poky/meta/recipes-kernel/lttng/lttng-ust/0001-Add-config-time-check-for-new-gettid-API.patch create mode 100644 poky/meta/recipes-kernel/powertop/powertop/0001-wakeup_xxx.h-include-limits.h.patch create mode 100644 poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/headerfix.patch delete mode 100644 poky/meta/recipes-multimedia/mpg123/mpg123_1.25.10.bb create mode 100644 poky/meta/recipes-multimedia/mpg123/mpg123_1.25.11.bb create mode 100644 poky/meta/recipes-multimedia/pulseaudio/pulseaudio/0001-alsa-Fix-inclusion-of-use-case.h.patch delete mode 100644 poky/meta/recipes-multimedia/webp/libwebp_1.0.2.bb create mode 100644 poky/meta/recipes-multimedia/webp/libwebp_1.0.3.bb create mode 100644 poky/meta/recipes-sato/webkit/webkitgtk/0001-Unreviewed-fix-build-failure-https-bugs.webkit.org-s.patch delete mode 100644 poky/meta/recipes-sato/webkit/webkitgtk/snprintf.patch delete mode 100644 poky/meta/recipes-sato/webkit/webkitgtk_2.24.2.bb create mode 100644 poky/meta/recipes-sato/webkit/webkitgtk_2.24.3.bb delete mode 100644 poky/meta/recipes-support/aspell/aspell/gcc7.patch delete mode 100644 poky/meta/recipes-support/aspell/aspell_0.60.6.1.bb create mode 100644 poky/meta/recipes-support/aspell/aspell_0.60.7.bb delete mode 100644 poky/meta/recipes-support/curl/curl_7.65.2.bb create mode 100644 poky/meta/recipes-support/curl/curl_7.65.3.bb create mode 100644 poky/meta/recipes-support/gnutls/gnutls/posix-shell.patch delete mode 100644 poky/meta/recipes-support/gnutls/libtasn1/0001-stdint.m4-reintroduce-GNULIB_OVERRIDES_WINT_T-check.patch create mode 100644 poky/meta/recipes-support/gnutls/libtasn1/fix-ldflags.patch delete mode 100644 poky/meta/recipes-support/gnutls/libtasn1_4.13.bb create mode 100644 poky/meta/recipes-support/gnutls/libtasn1_4.14.bb delete mode 100644 poky/meta/recipes-support/gpgme/gpgme_1.13.0.bb create mode 100644 poky/meta/recipes-support/gpgme/gpgme_1.13.1.bb delete mode 100644 poky/meta/recipes-support/iso-codes/iso-codes_4.2.bb create mode 100644 poky/meta/recipes-support/iso-codes/iso-codes_4.3.bb delete mode 100644 poky/meta/recipes-support/libevent/libevent_2.1.10.bb create mode 100644 poky/meta/recipes-support/libevent/libevent_2.1.11.bb delete mode 100644 poky/meta/recipes-support/libical/libical/0001-CMakeLists.txt-libical.pc.in-fix-iculibs-remove-full.patch delete mode 100644 poky/meta/recipes-support/libical/libical_2.0.0.bb create mode 100644 poky/meta/recipes-support/libical/libical_3.0.5.bb delete mode 100644 poky/meta/recipes-support/nettle/nettle-3.4.1/Add-target-to-only-build-tests-not-run-them.patch delete mode 100644 poky/meta/recipes-support/nettle/nettle-3.4.1/check-header-files-of-openssl-only-if-enable_.patch delete mode 100644 poky/meta/recipes-support/nettle/nettle-3.4.1/dlopen-test.patch delete mode 100644 poky/meta/recipes-support/nettle/nettle-3.4.1/run-ptest create mode 100644 poky/meta/recipes-support/nettle/nettle-3.5.1/Add-target-to-only-build-tests-not-run-them.patch create mode 100644 poky/meta/recipes-support/nettle/nettle-3.5.1/check-header-files-of-openssl-only-if-enable_.patch create mode 100644 poky/meta/recipes-support/nettle/nettle-3.5.1/dlopen-test.patch create mode 100644 poky/meta/recipes-support/nettle/nettle-3.5.1/run-ptest delete mode 100644 poky/meta/recipes-support/nettle/nettle_3.4.1.bb create mode 100644 poky/meta/recipes-support/nettle/nettle_3.5.1.bb delete mode 100644 poky/meta/recipes-support/ptest-runner/ptest-runner/0001-utils-Ensure-stdout-stderr-are-flushed.patch delete mode 100644 poky/meta/recipes-support/ptest-runner/ptest-runner/0002-use-process-groups-when-spawning.patch delete mode 100644 poky/meta/recipes-support/ptest-runner/ptest-runner/0003-utils-Ensure-pipes-are-read-after-exit.patch delete 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/ptest-runner/ptest-runner_2.3.1.bb create mode 100644 poky/meta/recipes-support/ptest-runner/ptest-runner_2.3.2.bb (limited to 'poky/meta/recipes-support/boost/boost.inc') diff --git a/poky/bitbake/bin/bitbake b/poky/bitbake/bin/bitbake index b219d362e..4834a7158 100755 --- a/poky/bitbake/bin/bitbake +++ b/poky/bitbake/bin/bitbake @@ -26,7 +26,7 @@ from bb.main import bitbake_main, BitBakeConfigParameters, BBMainException if sys.getfilesystemencoding() != "utf-8": sys.exit("Please use a locale setting which supports UTF-8 (such as LANG=en_US.UTF-8).\nPython can't change the filesystem locale after loading so we need a UTF-8 when Python starts or things won't work.") -__version__ = "1.43.0" +__version__ = "1.43.1" if __name__ == "__main__": if __version__ != bb.__version__: diff --git a/poky/bitbake/bin/bitbake-hashserv b/poky/bitbake/bin/bitbake-hashserv index 848a0ca39..6c911c098 100755 --- a/poky/bitbake/bin/bitbake-hashserv +++ b/poky/bitbake/bin/bitbake-hashserv @@ -41,9 +41,7 @@ def main(): console.setLevel(level) logger.addHandler(console) - db = sqlite3.connect(args.database) - - server = hashserv.create_server((args.address, args.port), db, args.prefix) + server = hashserv.create_server((args.address, args.port), args.database, args.prefix) server.serve_forever() return 0 diff --git a/poky/bitbake/bin/bitbake-worker b/poky/bitbake/bin/bitbake-worker index f63f060c5..96369199f 100755 --- a/poky/bitbake/bin/bitbake-worker +++ b/poky/bitbake/bin/bitbake-worker @@ -234,6 +234,8 @@ def fork_off_task(cfg, data, databuilder, workerdata, fn, task, taskname, taskha the_data.setVar(varname, value) bb.parse.siggen.set_taskdata(workerdata["sigdata"]) + if "newhashes" in workerdata: + bb.parse.siggen.set_taskhashes(workerdata["newhashes"]) ret = 0 the_data = bb_cache.loadDataFull(fn, appends) @@ -377,6 +379,7 @@ class BitbakeWorker(object): self.handle_item(b"cookerconfig", self.handle_cookercfg) self.handle_item(b"extraconfigdata", self.handle_extraconfigdata) self.handle_item(b"workerdata", self.handle_workerdata) + self.handle_item(b"newtaskhashes", self.handle_newtaskhashes) self.handle_item(b"runtask", self.handle_runtask) self.handle_item(b"finishnow", self.handle_finishnow) self.handle_item(b"ping", self.handle_ping) @@ -415,6 +418,10 @@ class BitbakeWorker(object): bb.msg.loggerDefaultDomains = self.workerdata["logdefaultdomain"] for mc in self.databuilder.mcdata: self.databuilder.mcdata[mc].setVar("PRSERV_HOST", self.workerdata["prhost"]) + self.databuilder.mcdata[mc].setVar("BB_HASHSERVE", self.workerdata["hashservport"]) + + def handle_newtaskhashes(self, data): + self.workerdata["newhashes"] = pickle.loads(data) def handle_ping(self, _): workerlog_write("Handling ping\n") diff --git a/poky/bitbake/lib/bb/__init__.py b/poky/bitbake/lib/bb/__init__.py index 7579a893b..322a1e093 100644 --- a/poky/bitbake/lib/bb/__init__.py +++ b/poky/bitbake/lib/bb/__init__.py @@ -9,7 +9,7 @@ # SPDX-License-Identifier: GPL-2.0-only # -__version__ = "1.43.0" +__version__ = "1.43.1" import sys if sys.version_info < (3, 4, 0): diff --git a/poky/bitbake/lib/bb/build.py b/poky/bitbake/lib/bb/build.py index e2f91fa3b..30a2ba236 100644 --- a/poky/bitbake/lib/bb/build.py +++ b/poky/bitbake/lib/bb/build.py @@ -54,23 +54,6 @@ else: builtins['bb'] = bb builtins['os'] = os -class FuncFailed(Exception): - def __init__(self, name = None, logfile = None): - self.logfile = logfile - self.name = name - if name: - self.msg = 'Function failed: %s' % name - else: - self.msg = "Function failed" - - def __str__(self): - if self.logfile and os.path.exists(self.logfile): - msg = ("%s (log file is located at %s)" % - (self.msg, self.logfile)) - else: - msg = self.msg - return msg - class TaskBase(event.Event): """Base class for task events""" @@ -189,12 +172,7 @@ class StdoutNoopContextManager: 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 -# origin of the failure. -# -def exec_func(func, d, dirs = None, pythonexception=False): +def exec_func(func, d, dirs = None): """Execute a BB 'function'""" try: @@ -266,7 +244,7 @@ def exec_func(func, d, dirs = None, pythonexception=False): with bb.utils.fileslocked(lockfiles): if ispython: - exec_func_python(func, d, runfile, cwd=adir, pythonexception=pythonexception) + exec_func_python(func, d, runfile, cwd=adir) else: exec_func_shell(func, d, runfile, cwd=adir) @@ -286,7 +264,7 @@ _functionfmt = """ {function}(d) """ logformatter = bb.msg.BBLogFormatter("%(levelname)s: %(message)s") -def exec_func_python(func, d, runfile, cwd=None, pythonexception=False): +def exec_func_python(func, d, runfile, cwd=None): """Execute a python BB 'function'""" code = _functionfmt.format(function=func) @@ -311,14 +289,7 @@ def exec_func_python(func, d, runfile, cwd=None, pythonexception=False): bb.methodpool.insert_method(func, text, fn, lineno - 1) comp = utils.better_compile(code, func, "exec_python_func() autogenerated") - utils.better_exec(comp, {"d": d}, code, "exec_python_func() autogenerated", pythonexception=pythonexception) - except (bb.parse.SkipRecipe, bb.build.FuncFailed): - raise - except Exception as e: - if pythonexception: - raise - logger.error(str(e)) - raise FuncFailed(func, None) + utils.better_exec(comp, {"d": d}, code, "exec_python_func() autogenerated") finally: bb.debug(2, "Python function %s finished" % func) @@ -475,13 +446,8 @@ exit $ret with open(fifopath, 'r+b', buffering=0) as fifo: try: bb.debug(2, "Executing shell function %s" % func) - - try: - 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') - raise FuncFailed(func, logfn) + with open(os.devnull, 'r+') as stdin, logfile: + bb.process.run(cmd, shell=False, stdin=stdin, log=logfile, extrafiles=[(fifo,readfifo)]) finally: os.unlink(fifopath) @@ -609,9 +575,6 @@ def _exec_task(fn, task, d, quieterr): event.fire(TaskStarted(task, logfn, flags, localdata), localdata) except (bb.BBHandledException, SystemExit): return 1 - except FuncFailed as exc: - logger.error(str(exc)) - return 1 try: for func in (prefuncs or '').split(): @@ -619,7 +582,10 @@ def _exec_task(fn, task, d, quieterr): exec_func(task, localdata) for func in (postfuncs or '').split(): exec_func(func, localdata) - except FuncFailed as exc: + except bb.BBHandledException: + event.fire(TaskFailed(task, logfn, localdata, True), localdata) + return 1 + except Exception as exc: if quieterr: event.fire(TaskFailedSilent(task, logfn, localdata), localdata) else: @@ -627,9 +593,6 @@ def _exec_task(fn, task, d, quieterr): logger.error(str(exc)) event.fire(TaskFailed(task, logfn, localdata, errprinted), localdata) return 1 - except bb.BBHandledException: - event.fire(TaskFailed(task, logfn, localdata, True), localdata) - return 1 finally: sys.stdout.flush() sys.stderr.flush() diff --git a/poky/bitbake/lib/bb/cache.py b/poky/bitbake/lib/bb/cache.py index ab18dd5ea..b6f7da592 100644 --- a/poky/bitbake/lib/bb/cache.py +++ b/poky/bitbake/lib/bb/cache.py @@ -220,7 +220,7 @@ class CoreRecipeInfo(RecipeInfoCommon): cachedata.hashfn[fn] = self.hashfilename for task, taskhash in self.basetaskhashes.items(): - identifier = '%s.%s' % (fn, task) + identifier = '%s:%s' % (fn, task) cachedata.basetaskhash[identifier] = taskhash cachedata.inherits[fn] = self.inherits @@ -883,3 +883,56 @@ class MultiProcessCache(object): p.dump([data, self.__class__.CACHE_VERSION]) bb.utils.unlockfile(glf) + + +class SimpleCache(object): + """ + BitBake multi-process cache implementation + + Used by the codeparser & file checksum caches + """ + + def __init__(self, version): + self.cachefile = None + self.cachedata = None + self.cacheversion = version + + def init_cache(self, d, cache_file_name=None, defaultdata=None): + cachedir = (d.getVar("PERSISTENT_DIR") or + d.getVar("CACHE")) + if not cachedir: + return defaultdata + + bb.utils.mkdirhier(cachedir) + self.cachefile = os.path.join(cachedir, + cache_file_name or self.__class__.cache_file_name) + logger.debug(1, "Using cache in '%s'", self.cachefile) + + glf = bb.utils.lockfile(self.cachefile + ".lock") + + try: + with open(self.cachefile, "rb") as f: + p = pickle.Unpickler(f) + data, version = p.load() + except: + bb.utils.unlockfile(glf) + return defaultdata + + bb.utils.unlockfile(glf) + + if version != self.cacheversion: + return defaultdata + + return data + + def save(self, data): + if not self.cachefile: + return + + glf = bb.utils.lockfile(self.cachefile + ".lock") + + with open(self.cachefile, "wb") as f: + p = pickle.Pickler(f, -1) + p.dump([data, self.cacheversion]) + + bb.utils.unlockfile(glf) diff --git a/poky/bitbake/lib/bb/cooker.py b/poky/bitbake/lib/bb/cooker.py index b4851e13e..0607fcc70 100644 --- a/poky/bitbake/lib/bb/cooker.py +++ b/poky/bitbake/lib/bb/cooker.py @@ -31,6 +31,7 @@ import pyinotify import json import pickle import codecs +import hashserv logger = logging.getLogger("BitBake") collectlog = logging.getLogger("BitBake.Collection") @@ -192,6 +193,8 @@ class BBCooker: bb.parse.BBHandler.cached_statements = {} self.ui_cmdline = None + self.hashserv = None + self.hashservport = None self.initConfigurationData() @@ -372,8 +375,6 @@ class BBCooker: # Copy of the data store which has been expanded. # Used for firing events and accessing variables where expansion needs to be accounted for # - bb.parse.init_parser(self.data) - if CookerFeatures.BASEDATASTORE_TRACKING in self.featureset: self.disableDataTracking() @@ -391,6 +392,22 @@ class BBCooker: except prserv.serv.PRServiceConfigError as e: bb.fatal("Unable to start PR Server, exitting") + if self.data.getVar("BB_HASHSERVE") == "localhost:0": + if not self.hashserv: + dbfile = (self.data.getVar("PERSISTENT_DIR") or self.data.getVar("CACHE")) + "/hashserv.db" + self.hashserv = hashserv.create_server(('localhost', 0), dbfile, '') + self.hashservport = "localhost:" + str(self.hashserv.server_port) + self.hashserv.process = multiprocessing.Process(target=self.hashserv.serve_forever) + self.hashserv.process.daemon = True + self.hashserv.process.start() + self.data.setVar("BB_HASHSERVE", self.hashservport) + self.databuilder.origdata.setVar("BB_HASHSERVE", self.hashservport) + self.databuilder.data.setVar("BB_HASHSERVE", self.hashservport) + for mc in self.databuilder.mcdata: + self.databuilder.mcdata[mc].setVar("BB_HASHSERVE", self.hashservport) + + bb.parse.init_parser(self.data) + def enableDataTracking(self): self.configuration.tracking = True if hasattr(self, "data"): @@ -1645,9 +1662,11 @@ class BBCooker: def post_serve(self): prserv.serv.auto_shutdown() + if self.hashserv: + self.hashserv.process.terminate() + self.hashserv.process.join() bb.event.fire(CookerExit(), self.data) - def shutdown(self, force = False): if force: self.state = state.forceshutdown @@ -1662,6 +1681,7 @@ class BBCooker: def reset(self): self.initConfigurationData() + self.handlePRServ() def clientComplete(self): """Called when the client is done using the server""" @@ -2062,6 +2082,14 @@ class CookerParser(object): for process in self.processes: self.parser_quit.put(None) + # Cleanup the queue before call process.join(), otherwise there might be + # deadlocks. + while True: + try: + self.result_queue.get(timeout=0.25) + except queue.Empty: + break + for process in self.processes: if force: process.join(.1) diff --git a/poky/bitbake/lib/bb/data.py b/poky/bitbake/lib/bb/data.py index 92ef40530..0d75d0c1a 100644 --- a/poky/bitbake/lib/bb/data.py +++ b/poky/bitbake/lib/bb/data.py @@ -130,7 +130,7 @@ def emit_var(var, o=sys.__stdout__, d = init(), all=False): if all: oval = d.getVar(var, False) val = d.getVar(var) - except (KeyboardInterrupt, bb.build.FuncFailed): + except (KeyboardInterrupt): raise except Exception as exc: o.write('# expansion of %s threw %s: %s\n' % (var, exc.__class__.__name__, str(exc))) @@ -422,7 +422,7 @@ def generate_dependency_hash(tasklist, gendeps, lookupcache, whitelist, fn): var = lookupcache[dep] if var is not None: data = data + str(var) - k = fn + "." + task + k = fn + ":" + task basehash[k] = hashlib.sha256(data.encode("utf-8")).hexdigest() taskdeps[task] = alldeps diff --git a/poky/bitbake/lib/bb/fetch2/npm.py b/poky/bitbake/lib/bb/fetch2/npm.py index 4427b1bb8..9700e6102 100644 --- a/poky/bitbake/lib/bb/fetch2/npm.py +++ b/poky/bitbake/lib/bb/fetch2/npm.py @@ -101,11 +101,19 @@ class Npm(FetchMethod): return False return True - def _runwget(self, ud, d, command, quiet): - logger.debug(2, "Fetching %s using command '%s'" % (ud.url, command)) - bb.fetch2.check_network_access(d, command, ud.url) + def _runpack(self, ud, d, pkgfullname: str, quiet=False) -> str: + """ + Runs npm pack on a full package name. + Returns the filename of the downloaded package + """ + bb.fetch2.check_network_access(d, pkgfullname, ud.registry) dldir = d.getVar("DL_DIR") - runfetchcmd(command, d, quiet, workdir=dldir) + dldir = os.path.join(dldir, ud.prefixdir) + + command = "npm pack {} --registry {}".format(pkgfullname, ud.registry) + logger.debug(2, "Fetching {} using command '{}' in {}".format(pkgfullname, command, dldir)) + filename = runfetchcmd(command, d, quiet, workdir=dldir) + return filename.rstrip() def _unpackdep(self, ud, pkg, data, destdir, dldir, d): file = data[pkg]['tgz'] @@ -163,6 +171,9 @@ class Npm(FetchMethod): pkgfullname = pkg if version != '*' and not '/' in version: pkgfullname += "@'%s'" % version + if pkgfullname in fetchedlist: + return + logger.debug(2, "Calling getdeps on %s" % pkg) fetchcmd = "npm view %s --json --registry %s" % (pkgfullname, ud.registry) output = runfetchcmd(fetchcmd, d, True) @@ -182,15 +193,10 @@ class Npm(FetchMethod): if (not blacklist and 'linux' not in pkg_os) or '!linux' in pkg_os: logger.debug(2, "Skipping %s since it's incompatible with Linux" % pkg) return - #logger.debug(2, "Output URL is %s - %s - %s" % (ud.basepath, ud.basename, ud.localfile)) - outputurl = pdata['dist']['tarball'] + filename = self._runpack(ud, d, pkgfullname) data[pkg] = {} - data[pkg]['tgz'] = os.path.basename(outputurl) - if outputurl in fetchedlist: - return - - self._runwget(ud, d, "%s --directory-prefix=%s %s" % (self.basecmd, ud.prefixdir, outputurl), False) - fetchedlist.append(outputurl) + data[pkg]['tgz'] = filename + fetchedlist.append(pkgfullname) dependencies = pdata.get('dependencies', {}) optionalDependencies = pdata.get('optionalDependencies', {}) @@ -217,17 +223,12 @@ class Npm(FetchMethod): if obj == pkg: self._getshrinkeddependencies(obj, data['dependencies'][obj], data['dependencies'][obj]['version'], d, ud, lockdown, manifest, False) return - outputurl = "invalid" - if ('resolved' not in data) or (not data['resolved'].startswith('http://') and not data['resolved'].startswith('https://')): - # will be the case for ${PN} - fetchcmd = "npm view %s@%s dist.tarball --registry %s" % (pkg, version, ud.registry) - logger.debug(2, "Found this matching URL: %s" % str(fetchcmd)) - outputurl = runfetchcmd(fetchcmd, d, True) - else: - outputurl = data['resolved'] - self._runwget(ud, d, "%s --directory-prefix=%s %s" % (self.basecmd, ud.prefixdir, outputurl), False) + + pkgnameWithVersion = "{}@{}".format(pkg, version) + logger.debug(2, "Get dependencies for {}".format(pkgnameWithVersion)) + filename = self._runpack(ud, d, pkgnameWithVersion) manifest[pkg] = {} - manifest[pkg]['tgz'] = os.path.basename(outputurl).rstrip() + manifest[pkg]['tgz'] = filename manifest[pkg]['deps'] = {} if pkg in lockdown: diff --git a/poky/bitbake/lib/bb/fetch2/wget.py b/poky/bitbake/lib/bb/fetch2/wget.py index 0f71ee4ea..725586d2b 100644 --- a/poky/bitbake/lib/bb/fetch2/wget.py +++ b/poky/bitbake/lib/bb/fetch2/wget.py @@ -257,13 +257,15 @@ class Wget(FetchMethod): fp.read() fp.close() - newheaders = dict((k, v) for k, v in list(req.headers.items()) - if k.lower() not in ("content-length", "content-type")) - return self.parent.open(urllib.request.Request(req.get_full_url(), - headers=newheaders, - origin_req_host=req.origin_req_host, - unverifiable=True)) - + if req.get_method() != 'GET': + newheaders = dict((k, v) for k, v in list(req.headers.items()) + if k.lower() not in ("content-length", "content-type")) + return self.parent.open(urllib.request.Request(req.get_full_url(), + headers=newheaders, + origin_req_host=req.origin_req_host, + unverifiable=True)) + + raise urllib.request.HTTPError(req, code, msg, headers, None) # Some servers (e.g. GitHub archives, hosted on Amazon S3) return 403 # Forbidden when they actually mean 405 Method Not Allowed. diff --git a/poky/bitbake/lib/bb/runqueue.py b/poky/bitbake/lib/bb/runqueue.py index 6a2de240c..7fa074f67 100644 --- a/poky/bitbake/lib/bb/runqueue.py +++ b/poky/bitbake/lib/bb/runqueue.py @@ -133,7 +133,7 @@ class RunQueueScheduler(object): self.prio_map = [self.rqdata.runtaskentries.keys()] - self.buildable = [] + self.buildable = set() self.skip_maxthread = {} self.stamps = {} for tid in self.rqdata.runtaskentries: @@ -148,8 +148,10 @@ class RunQueueScheduler(object): """ Return the id of the first task we find that is buildable """ - self.buildable = [x for x in self.buildable if x not in self.rq.runq_running] - buildable = [x for x in self.buildable if (x in self.rq.tasks_covered or x in self.rq.tasks_notcovered)] + buildable = set(self.buildable) + buildable.difference_update(self.rq.runq_running) + buildable.difference_update(self.rq.holdoff_tasks) + buildable.intersection_update(self.rq.tasks_covered | self.rq.tasks_notcovered) if not buildable: return None @@ -167,7 +169,7 @@ class RunQueueScheduler(object): skip_buildable[rtaskname] = 1 if len(buildable) == 1: - tid = buildable[0] + tid = buildable.pop() taskname = taskname_from_tid(tid) if taskname in skip_buildable and skip_buildable[taskname] >= int(self.skip_maxthread[taskname]): return None @@ -204,7 +206,10 @@ class RunQueueScheduler(object): return self.next_buildable_task() def newbuildable(self, task): - self.buildable.append(task) + self.buildable.add(task) + + def removebuildable(self, task): + self.buildable.remove(task) def describe_task(self, taskid): result = 'ID %s' % taskid @@ -1171,10 +1176,9 @@ class RunQueueData: def prepare_task_hash(self, tid): procdep = [] for dep in self.runtaskentries[tid].depends: - procdep.append(fn_from_tid(dep) + "." + taskname_from_tid(dep)) - (mc, fn, taskname, taskfn) = split_tid_mcfn(tid) - self.runtaskentries[tid].hash = bb.parse.siggen.get_taskhash(taskfn, taskname, procdep, self.dataCaches[mc]) - self.runtaskentries[tid].unihash = bb.parse.siggen.get_unihash(taskfn + "." + taskname) + procdep.append(dep) + self.runtaskentries[tid].hash = bb.parse.siggen.get_taskhash(tid, procdep, self.dataCaches[mc_from_tid(tid)]) + self.runtaskentries[tid].unihash = bb.parse.siggen.get_unihash(tid) def dump_data(self): """ @@ -1251,6 +1255,7 @@ class RunQueue: "buildname" : self.cfgData.getVar("BUILDNAME"), "date" : self.cfgData.getVar("DATE"), "time" : self.cfgData.getVar("TIME"), + "hashservport" : self.cooker.hashservport, } worker.stdin.write(b"" + pickle.dumps(self.cooker.configuration) + b"") @@ -1384,57 +1389,29 @@ class RunQueue: cache[tid] = iscurrent return iscurrent - def validate_hashes(self, tocheck, data, presentcount=None, siginfo=False): + def validate_hashes(self, tocheck, data, currentcount=None, siginfo=False): valid = set() if self.hashvalidate: - sq_hash = [] - sq_hashfn = [] - sq_unihash = [] - sq_fn = [] - sq_taskname = [] - sq_task = [] + sq_data = {} + sq_data['hash'] = {} + sq_data['hashfn'] = {} + sq_data['unihash'] = {} for tid in tocheck: (mc, fn, taskname, taskfn) = split_tid_mcfn(tid) + sq_data['hash'][tid] = self.rqdata.runtaskentries[tid].hash + sq_data['hashfn'][tid] = self.rqdata.dataCaches[mc].hashfn[taskfn] + sq_data['unihash'][tid] = self.rqdata.runtaskentries[tid].unihash - sq_fn.append(fn) - sq_hashfn.append(self.rqdata.dataCaches[mc].hashfn[taskfn]) - sq_hash.append(self.rqdata.runtaskentries[tid].hash) - sq_unihash.append(self.rqdata.runtaskentries[tid].unihash) - sq_taskname.append(taskname) - sq_task.append(tid) - - if presentcount is not None: - data.setVar("BB_SETSCENE_STAMPCURRENT_COUNT", presentcount) - - valid_ids = self.validate_hash(sq_fn, sq_taskname, sq_hash, sq_hashfn, siginfo, sq_unihash, data, presentcount) - - if presentcount is not None: - data.delVar("BB_SETSCENE_STAMPCURRENT_COUNT") - - for v in valid_ids: - valid.add(sq_task[v]) + valid = self.validate_hash(sq_data, data, siginfo, currentcount) return valid - def validate_hash(self, sq_fn, sq_task, sq_hash, sq_hashfn, siginfo, sq_unihash, d, presentcount): - locs = {"sq_fn" : sq_fn, "sq_task" : sq_task, "sq_hash" : sq_hash, "sq_hashfn" : sq_hashfn, - "sq_unihash" : sq_unihash, "siginfo" : siginfo, "d" : d} - - # Backwards compatibility - hashvalidate_args = ("(sq_fn, sq_task, sq_hash, sq_hashfn, d, siginfo=siginfo, sq_unihash=sq_unihash)", - "(sq_fn, sq_task, sq_hash, sq_hashfn, d, siginfo=siginfo)", - "(sq_fn, sq_task, sq_hash, sq_hashfn, d)") + def validate_hash(self, sq_data, d, siginfo, currentcount): + locs = {"sq_data" : sq_data, "d" : d, "siginfo" : siginfo, "currentcount" : currentcount} - for args in hashvalidate_args[:-1]: - try: - call = self.hashvalidate + args - return bb.utils.better_eval(call, locs) - except TypeError: - continue + # Metadata has **kwargs so args can be added, sq_data can also gain new fields + call = self.hashvalidate + "(sq_data, d, siginfo=siginfo, currentcount=currentcount)" - # Call the last entry without a try...catch to propagate any thrown - # TypeError - call = self.hashvalidate + hashvalidate_args[-1] return bb.utils.better_eval(call, locs) def _execute_runqueue(self): @@ -1516,6 +1493,7 @@ class RunQueue: self.dm_event_handler_registered = False if build_done and self.rqexe: + bb.parse.siggen.save_unitaskhashes() self.teardown_workers() if self.rqexe: if self.rqexe.stats.failed: @@ -1718,6 +1696,9 @@ class RunQueueExecute: self.sq_running = set() self.sq_live = set() + self.updated_taskhash_queue = [] + self.pending_migrations = set() + self.runq_buildable = set() self.runq_running = set() self.runq_complete = set() @@ -1729,6 +1710,7 @@ class RunQueueExecute: self.stampcache = {} + self.holdoff_tasks = set() self.sqdone = False self.stats = RunQueueStats(len(self.rqdata.runtaskentries)) @@ -1751,7 +1733,10 @@ class RunQueueExecute: self.tasks_notcovered = set() self.scenequeue_notneeded = set() - self.coveredtopocess = set() + # We can't skip specified target tasks which aren't setscene tasks + self.cantskip = set(self.rqdata.target_tids) + self.cantskip.difference_update(self.rqdata.runq_setscene_tids) + self.cantskip.intersection_update(self.rqdata.runtaskentries) schedulers = self.get_schedulers() for scheduler in schedulers: @@ -1763,9 +1748,9 @@ class RunQueueExecute: bb.fatal("Invalid scheduler '%s'. Available schedulers: %s" % (self.scheduler, ", ".join(obj.name for obj in schedulers))) - if len(self.rqdata.runq_setscene_tids) > 0: - self.sqdata = SQData() - build_scenequeue_data(self.sqdata, self.rqdata, self.rq, self.cooker, self.stampcache, self) + #if len(self.rqdata.runq_setscene_tids) > 0: + self.sqdata = SQData() + build_scenequeue_data(self.sqdata, self.rqdata, self.rq, self.cooker, self.stampcache, self) def runqueue_process_waitpid(self, task, status): @@ -1831,6 +1816,9 @@ class RunQueueExecute: if not self.rq.depvalidate: return False + # Must not edit parent data + taskdeps = set(taskdeps) + taskdata = {} taskdeps.add(task) for dep in taskdeps: @@ -1918,17 +1906,58 @@ class RunQueueExecute: self.stats.taskSkipped() self.stats.taskCompleted() + def summarise_scenequeue_errors(self): + err = False + if not self.sqdone: + logger.debug(1, 'We could skip tasks %s', "\n".join(sorted(self.scenequeue_covered))) + completeevent = sceneQueueComplete(self.sq_stats, self.rq) + bb.event.fire(completeevent, self.cfgData) + if self.sq_deferred: + logger.error("Scenequeue had deferred entries: %s" % pprint.pformat(self.sq_deferred)) + err = True + if self.updated_taskhash_queue: + logger.error("Scenequeue had unprocessed changed taskhash entries: %s" % pprint.pformat(self.updated_taskhash_queue)) + err = True + if self.holdoff_tasks: + logger.error("Scenequeue had holdoff tasks: %s" % pprint.pformat(self.holdoff_tasks)) + err = True + + for tid in self.rqdata.runq_setscene_tids: + if tid not in self.scenequeue_covered and tid not in self.scenequeue_notcovered: + err = True + logger.error("Setscene Task %s was never marked as covered or not covered" % tid) + if tid not in self.sq_buildable: + err = True + logger.error("Setscene Task %s was never marked as buildable" % tid) + if tid not in self.sq_running: + err = True + logger.error("Setscene Task %s was never marked as running" % tid) + + for x in self.rqdata.runtaskentries: + if x not in self.tasks_covered and x not in self.tasks_notcovered: + logger.error("Task %s was never moved from the setscene queue" % x) + err = True + if x not in self.tasks_scenequeue_done: + logger.error("Task %s was never processed by the setscene code" % x) + err = True + if len(self.rqdata.runtaskentries[x].depends) == 0 and x not in self.runq_buildable: + logger.error("Task %s was never marked as buildable by the setscene code" % x) + err = True + return err + + def execute(self): """ Run the tasks in a queue prepared by prepare_runqueue """ self.rq.read_workers() + self.process_possible_migrations() task = None if not self.sqdone and self.can_start_task(): # Find the next setscene to run - for nexttask in self.rqdata.runq_setscene_tids: + for nexttask in sorted(self.rqdata.runq_setscene_tids): if nexttask in self.sq_buildable and nexttask not in self.sq_running and self.sqdata.stamps[nexttask] not in self.build_stamps.values(): if nexttask not in self.sqdata.unskippable and len(self.sqdata.sq_revdeps[nexttask]) > 0 and self.sqdata.sq_revdeps[nexttask].issubset(self.scenequeue_covered) and self.check_dependencies(nexttask, self.sqdata.sq_revdeps[nexttask]): if nexttask not in self.rqdata.target_tids: @@ -1938,6 +1967,10 @@ class RunQueueExecute: if nexttask in self.sq_deferred: del self.sq_deferred[nexttask] return True + # If covered tasks are running, need to wait for them to complete + for t in self.sqdata.sq_covered_tasks[nexttask]: + if t in self.runq_running and t not in self.runq_complete: + continue if nexttask in self.sq_deferred: if self.sq_deferred[nexttask] not in self.runq_complete: continue @@ -2006,24 +2039,10 @@ class RunQueueExecute: if self.can_start_task(): return True - if not self.sq_live and not self.sqdone and not self.sq_deferred: + if not self.sq_live and not self.sqdone and not self.sq_deferred and not self.updated_taskhash_queue and not self.holdoff_tasks: logger.info("Setscene tasks completed") - logger.debug(1, 'We could skip tasks %s', "\n".join(sorted(self.scenequeue_covered))) - - completeevent = sceneQueueComplete(self.sq_stats, self.rq) - bb.event.fire(completeevent, self.cfgData) - err = False - for x in self.rqdata.runtaskentries: - if x not in self.tasks_covered and x not in self.tasks_notcovered: - logger.error("Task %s was never moved from the setscene queue" % x) - err = True - if x not in self.tasks_scenequeue_done: - logger.error("Task %s was never processed by the setscene code" % x) - err = True - if len(self.rqdata.runtaskentries[x].depends) == 0 and x not in self.runq_buildable: - logger.error("Task %s was never marked as buildable by the setscene code" % x) - err = True + err = self.summarise_scenequeue_errors() if err: self.rq.state = runQueueFailed return True @@ -2119,14 +2138,22 @@ class RunQueueExecute: return True # Sanity Checks + err = self.summarise_scenequeue_errors() for task in self.rqdata.runtaskentries: if task not in self.runq_buildable: logger.error("Task %s never buildable!", task) + err = True elif task not in self.runq_running: logger.error("Task %s never ran!", task) + err = True elif task not in self.runq_complete: logger.error("Task %s never completed!", task) - self.rq.state = runQueueComplete + err = True + + if err: + self.rq.state = runQueueFailed + else: + self.rq.state = runQueueComplete return True @@ -2144,7 +2171,7 @@ class RunQueueExecute: # as most code can't handle them def build_taskdepdata(self, task): taskdepdata = {} - next = self.rqdata.runtaskentries[task].depends + next = self.rqdata.runtaskentries[task].depends.copy() next.add(task) next = self.filtermcdeps(task, next) while next: @@ -2166,57 +2193,153 @@ class RunQueueExecute: #bb.note("Task %s: " % task + str(taskdepdata).replace("], ", "],\n")) return taskdepdata - def scenequeue_process_notcovered(self, task): - if len(self.rqdata.runtaskentries[task].depends) == 0: - self.setbuildable(task) - notcovered = set([task]) - while notcovered: - new = set() - for t in notcovered: - for deptask in self.rqdata.runtaskentries[t].depends: - if deptask in notcovered or deptask in new or deptask in self.rqdata.runq_setscene_tids or deptask in self.tasks_notcovered: - continue - logger.debug(1, 'Task %s depends on non-setscene task %s so not skipping' % (t, deptask)) - new.add(deptask) - self.tasks_notcovered.add(deptask) - if len(self.rqdata.runtaskentries[deptask].depends) == 0: - self.setbuildable(deptask) - notcovered = new - - def scenequeue_process_unskippable(self, task): - # Look up the dependency chain for non-setscene things which depend on this task - # and mark as 'done'/notcovered - ready = set([task]) - while ready: - new = set() - for t in ready: - for deptask in self.rqdata.runtaskentries[t].revdeps: - if deptask in ready or deptask in new or deptask in self.tasks_scenequeue_done or deptask in self.rqdata.runq_setscene_tids: - continue - if self.rqdata.runtaskentries[deptask].depends.issubset(self.tasks_scenequeue_done): - new.add(deptask) - self.tasks_scenequeue_done.add(deptask) - self.tasks_notcovered.add(deptask) - #logger.warning("Up: " + str(deptask)) - ready = new + def update_holdofftasks(self): + self.holdoff_tasks = set() + + for tid in self.rqdata.runq_setscene_tids: + if tid not in self.scenequeue_covered and tid not in self.scenequeue_notcovered: + self.holdoff_tasks.add(tid) + + for tid in self.holdoff_tasks.copy(): + for dep in self.sqdata.sq_covered_tasks[tid]: + if dep not in self.runq_complete: + self.holdoff_tasks.add(dep) + + def process_possible_migrations(self): + + changed = set() + for tid, unihash in self.updated_taskhash_queue.copy(): + if tid in self.runq_running and tid not in self.runq_complete: + continue + + self.updated_taskhash_queue.remove((tid, unihash)) + + if unihash != self.rqdata.runtaskentries[tid].unihash: + logger.info("Task %s unihash changed to %s" % (tid, unihash)) + self.rqdata.runtaskentries[tid].unihash = unihash + bb.parse.siggen.set_unihash(tid, unihash) + + # Work out all tasks which depend on this one + total = set() + next = set(self.rqdata.runtaskentries[tid].revdeps) + while next: + current = next.copy() + total = total |next + next = set() + for ntid in current: + next |= self.rqdata.runtaskentries[ntid].revdeps + next.difference_update(total) + + # Now iterate those tasks in dependency order to regenerate their taskhash/unihash + done = set() + next = set(self.rqdata.runtaskentries[tid].revdeps) + while next: + current = next.copy() + next = set() + for tid in current: + if not self.rqdata.runtaskentries[tid].depends.isdisjoint(total): + continue + procdep = [] + for dep in self.rqdata.runtaskentries[tid].depends: + procdep.append(dep) + orighash = self.rqdata.runtaskentries[tid].hash + self.rqdata.runtaskentries[tid].hash = bb.parse.siggen.get_taskhash(tid, procdep, self.rqdata.dataCaches[mc_from_tid(tid)]) + origuni = self.rqdata.runtaskentries[tid].unihash + self.rqdata.runtaskentries[tid].unihash = bb.parse.siggen.get_unihash(tid) + logger.debug(1, "Task %s hash changes: %s->%s %s->%s" % (tid, orighash, self.rqdata.runtaskentries[tid].hash, origuni, self.rqdata.runtaskentries[tid].unihash)) + next |= self.rqdata.runtaskentries[tid].revdeps + changed.add(tid) + total.remove(tid) + next.intersection_update(total) + + if changed: + for mc in self.rq.worker: + self.rq.worker[mc].process.stdin.write(b"" + pickle.dumps(bb.parse.siggen.get_taskhashes()) + b"") + for mc in self.rq.fakeworker: + self.rq.fakeworker[mc].process.stdin.write(b"" + pickle.dumps(bb.parse.siggen.get_taskhashes()) + b"") + + logger.debug(1, pprint.pformat("Tasks changed:\n%s" % (changed))) + + for tid in changed: + if tid not in self.rqdata.runq_setscene_tids: + continue + valid = self.rq.validate_hashes(set([tid]), self.cooker.data, None, False) + if not valid: + continue + if tid in self.runq_running: + continue + if tid not in self.pending_migrations: + self.pending_migrations.add(tid) + + for tid in self.pending_migrations.copy(): + valid = True + # Check no tasks this covers are running + for dep in self.sqdata.sq_covered_tasks[tid]: + if dep in self.runq_running and dep not in self.runq_complete: + logger.debug(2, "Task %s is running which blocks setscene for %s from running" % (dep, tid)) + valid = False + break + if not valid: + continue + + self.pending_migrations.remove(tid) + + if tid in self.tasks_scenequeue_done: + self.tasks_scenequeue_done.remove(tid) + for dep in self.sqdata.sq_covered_tasks[tid]: + if dep not in self.runq_complete: + if dep in self.tasks_scenequeue_done and dep not in self.sqdata.unskippable: + self.tasks_scenequeue_done.remove(dep) + + if tid in self.sq_buildable: + self.sq_buildable.remove(tid) + if tid in self.sq_running: + self.sq_running.remove(tid) + if self.sqdata.sq_revdeps[tid].issubset(self.scenequeue_covered | self.scenequeue_notcovered): + if tid not in self.sq_buildable: + self.sq_buildable.add(tid) + if len(self.sqdata.sq_revdeps[tid]) == 0: + self.sq_buildable.add(tid) + + if tid in self.sqdata.outrightfail: + self.sqdata.outrightfail.remove(tid) + if tid in self.scenequeue_notcovered: + self.scenequeue_notcovered.remove(tid) + if tid in self.scenequeue_covered: + self.scenequeue_covered.remove(tid) + if tid in self.scenequeue_notneeded: + self.scenequeue_notneeded.remove(tid) + + (mc, fn, taskname, taskfn) = split_tid_mcfn(tid) + self.sqdata.stamps[tid] = bb.build.stampfile(taskname + "_setscene", self.rqdata.dataCaches[mc], taskfn, noextra=True) + + if tid in self.stampcache: + del self.stampcache[tid] + + if tid in self.build_stamps: + del self.build_stamps[tid] + + logger.info("Setscene task %s now valid and being rerun" % tid) + self.sqdone = False + + if changed: + self.update_holdofftasks() def scenequeue_updatecounters(self, task, fail=False): - for dep in self.sqdata.sq_deps[task]: + + for dep in sorted(self.sqdata.sq_deps[task]): if fail and task in self.sqdata.sq_harddeps and dep in self.sqdata.sq_harddeps[task]: logger.debug(2, "%s was unavailable and is a hard dependency of %s so skipping" % (task, dep)) self.sq_task_failoutright(dep) continue - if task not in self.sqdata.sq_revdeps2[dep]: - # May already have been removed by the fail case above - continue - self.sqdata.sq_revdeps2[dep].remove(task) - if len(self.sqdata.sq_revdeps2[dep]) == 0: - self.sq_buildable.add(dep) + if self.sqdata.sq_revdeps[dep].issubset(self.scenequeue_covered | self.scenequeue_notcovered): + if dep not in self.sq_buildable: + self.sq_buildable.add(dep) next = set([task]) while next: new = set() - for t in next: + for t in sorted(next): self.tasks_scenequeue_done.add(t) # Look down the dependency chain for non-setscene things which this task depends on # and mark as 'done' @@ -2225,39 +2348,31 @@ class RunQueueExecute: continue if self.rqdata.runtaskentries[dep].revdeps.issubset(self.tasks_scenequeue_done): new.add(dep) - #logger.warning(" Down: " + dep) next = new - if task in self.sqdata.unskippable: - self.scenequeue_process_unskippable(task) - - if task in self.scenequeue_notcovered: - logger.debug(1, 'Not skipping setscene task %s', task) - self.scenequeue_process_notcovered(task) - elif task in self.scenequeue_covered: - logger.debug(1, 'Queued setscene task %s', task) - self.coveredtopocess.add(task) - - for task in self.coveredtopocess.copy(): - if self.sqdata.sq_covered_tasks[task].issubset(self.tasks_scenequeue_done): - logger.debug(1, 'Processing setscene task %s', task) - covered = self.sqdata.sq_covered_tasks[task] - covered.add(task) - - # If a task is in target_tids and isn't a setscene task, we can't skip it. - cantskip = covered.intersection(self.rqdata.target_tids).difference(self.rqdata.runq_setscene_tids) - for tid in cantskip: - self.tasks_notcovered.add(tid) - self.scenequeue_process_notcovered(tid) - covered.difference_update(cantskip) - - # Remove notcovered tasks - covered.difference_update(self.tasks_notcovered) - self.tasks_covered.update(covered) - self.coveredtopocess.remove(task) - for tid in covered: - if len(self.rqdata.runtaskentries[tid].depends) == 0: - self.setbuildable(tid) + notcovered = set(self.scenequeue_notcovered) + notcovered |= self.cantskip + for tid in self.scenequeue_notcovered: + notcovered |= self.sqdata.sq_covered_tasks[tid] + notcovered |= self.sqdata.unskippable.difference(self.rqdata.runq_setscene_tids) + notcovered.intersection_update(self.tasks_scenequeue_done) + + covered = set(self.scenequeue_covered) + for tid in self.scenequeue_covered: + covered |= self.sqdata.sq_covered_tasks[tid] + covered.difference_update(notcovered) + covered.intersection_update(self.tasks_scenequeue_done) + + for tid in notcovered | covered: + if len(self.rqdata.runtaskentries[tid].depends) == 0: + self.setbuildable(tid) + elif self.rqdata.runtaskentries[tid].depends.issubset(self.runq_complete): + self.setbuildable(tid) + + self.tasks_covered = covered + self.tasks_notcovered = notcovered + + self.update_holdofftasks() def sq_task_completeoutright(self, task): """ @@ -2268,7 +2383,6 @@ class RunQueueExecute: logger.debug(1, 'Found task %s which could be accelerated', task) self.scenequeue_covered.add(task) - self.tasks_covered.add(task) self.scenequeue_updatecounters(task) def sq_check_taskfail(self, task): @@ -2289,7 +2403,6 @@ class RunQueueExecute: self.sq_stats.taskFailed() bb.event.fire(sceneQueueTaskFailed(task, self.sq_stats, result, self), self.cfgData) self.scenequeue_notcovered.add(task) - self.tasks_notcovered.add(task) self.scenequeue_updatecounters(task, True) self.sq_check_taskfail(task) @@ -2299,7 +2412,6 @@ class RunQueueExecute: self.sq_stats.taskSkipped() self.sq_stats.taskCompleted() self.scenequeue_notcovered.add(task) - self.tasks_notcovered.add(task) self.scenequeue_updatecounters(task, True) def sq_task_skip(self, task): @@ -2377,8 +2489,6 @@ class SQData(object): self.sq_deps = {} # SceneQueue reverse dependencies self.sq_revdeps = {} - # Copy of reverse dependencies used by sq processing code - self.sq_revdeps2 = {} # Injected inter-setscene task dependencies self.sq_harddeps = {} # Cache of stamp files so duplicates can't run in parallel @@ -2458,27 +2568,28 @@ def build_scenequeue_data(sqdata, rqdata, rq, cooker, stampcache, sqrq): rqdata.init_progress_reporter.next_stage() - # Build a list of setscene tasks which are "unskippable" - # These are direct endpoints referenced by the build + # Build a list of tasks which are "unskippable" + # These are direct endpoints referenced by the build upto and including setscene tasks # Take the build endpoints (no revdeps) and find the sstate tasks they depend upon new = True for tid in rqdata.runtaskentries: if len(rqdata.runtaskentries[tid].revdeps) == 0: sqdata.unskippable.add(tid) + sqdata.unskippable |= sqrq.cantskip while new: new = False - for tid in sqdata.unskippable.copy(): + orig = sqdata.unskippable.copy() + for tid in sorted(orig, reverse=True): if tid in rqdata.runq_setscene_tids: continue - sqdata.unskippable.remove(tid) if len(rqdata.runtaskentries[tid].depends) == 0: # These are tasks which have no setscene tasks in their chain, need to mark as directly buildable - sqrq.tasks_notcovered.add(tid) - sqrq.tasks_scenequeue_done.add(tid) sqrq.setbuildable(tid) - sqrq.scenequeue_process_unskippable(tid) sqdata.unskippable |= rqdata.runtaskentries[tid].depends - new = True + if sqdata.unskippable != orig: + new = True + + sqrq.tasks_scenequeue_done |= sqdata.unskippable.difference(rqdata.runq_setscene_tids) rqdata.init_progress_reporter.next_stage(len(rqdata.runtaskentries)) @@ -2537,7 +2648,6 @@ def build_scenequeue_data(sqdata, rqdata, rq, cooker, stampcache, sqrq): # bb.warn("Task %s_setscene: is %s " % (tid, data)) sqdata.sq_revdeps = sq_revdeps_squash - sqdata.sq_revdeps2 = copy.deepcopy(sqdata.sq_revdeps) sqdata.sq_covered_tasks = sq_collated_deps # Build reverse version of revdeps to populate deps structure @@ -2562,7 +2672,7 @@ def build_scenequeue_data(sqdata, rqdata, rq, cooker, stampcache, sqrq): stamppresent = [] tocheck = set() - for tid in sqdata.sq_revdeps: + for tid in sorted(sqdata.sq_revdeps): (mc, fn, taskname, taskfn) = split_tid_mcfn(tid) taskdep = rqdata.dataCaches[mc].task_deps[taskfn] @@ -2595,7 +2705,7 @@ def build_scenequeue_data(sqdata, rqdata, rq, cooker, stampcache, sqrq): hashes = {} for mc in sorted(multiconfigs): - for tid in sqdata.sq_revdeps: + for tid in sorted(sqdata.sq_revdeps): if mc_from_tid(tid) != mc: continue if tid not in valid_new and tid not in noexec and tid not in sqrq.scenequeue_notcovered: @@ -2715,6 +2825,15 @@ class runQueueTaskSkipped(runQueueEvent): runQueueEvent.__init__(self, task, stats, rq) self.reason = reason +class taskUniHashUpdate(bb.event.Event): + """ + Base runQueue event class + """ + def __init__(self, task, unihash): + self.taskid = task + self.unihash = unihash + bb.event.Event.__init__(self) + class runQueuePipe(): """ Abstraction for a pipe between a worker thread and the server @@ -2757,6 +2876,8 @@ class runQueuePipe(): except ValueError as e: bb.msg.fatal("RunQueue", "failed load pickle '%s': '%s'" % (e, self.queue[7:index])) bb.event.fire_from_worker(event, self.d) + if isinstance(event, taskUniHashUpdate): + self.rqexec.updated_taskhash_queue.append((event.taskid, event.unihash)) found = True self.queue = self.queue[index+8:] index = self.queue.find(b"") diff --git a/poky/bitbake/lib/bb/server/process.py b/poky/bitbake/lib/bb/server/process.py index f901fe505..69aae626e 100644 --- a/poky/bitbake/lib/bb/server/process.py +++ b/poky/bitbake/lib/bb/server/process.py @@ -456,7 +456,10 @@ class BitBakeServer(object): self.configuration.setServerRegIdleCallback(server.register_idle_function) os.close(self.readypipe) writer = ConnectionWriter(self.readypipein) - self.cooker = bb.cooker.BBCooker(self.configuration, self.featureset) + try: + self.cooker = bb.cooker.BBCooker(self.configuration, self.featureset) + except bb.BBHandledException: + return None writer.send("r") writer.close() server.cooker = self.cooker diff --git a/poky/bitbake/lib/bb/siggen.py b/poky/bitbake/lib/bb/siggen.py index 6a729f3b1..b50355930 100644 --- a/poky/bitbake/lib/bb/siggen.py +++ b/poky/bitbake/lib/bb/siggen.py @@ -12,6 +12,7 @@ import bb.data import difflib import simplediff from bb.checksum import FileChecksumCache +from bb import runqueue logger = logging.getLogger('BitBake.SigGen') @@ -41,17 +42,17 @@ class SignatureGenerator(object): self.runtaskdeps = {} self.file_checksum_values = {} self.taints = {} + self.unitaskhashes = {} def finalise(self, fn, d, varient): return - def get_unihash(self, task): - return self.taskhash[task] + def get_unihash(self, tid): + return self.taskhash[tid] - def get_taskhash(self, fn, task, deps, dataCache): - k = fn + "." + task - self.taskhash[k] = hashlib.sha256(k.encode("utf-8")).hexdigest() - return self.taskhash[k] + def get_taskhash(self, tid, deps, dataCache): + self.taskhash[tid] = hashlib.sha256(tid.encode("utf-8")).hexdigest() + return self.taskhash[tid] def writeout_file_checksum_cache(self): """Write/update the file checksum cache onto disk""" @@ -73,14 +74,23 @@ class SignatureGenerator(object): return def get_taskdata(self): - return (self.runtaskdeps, self.taskhash, self.file_checksum_values, self.taints, self.basehash) + return (self.runtaskdeps, self.taskhash, self.file_checksum_values, self.taints, self.basehash, self.unitaskhashes) def set_taskdata(self, data): - self.runtaskdeps, self.taskhash, self.file_checksum_values, self.taints, self.basehash = data + self.runtaskdeps, self.taskhash, self.file_checksum_values, self.taints, self.basehash, self.unitaskhashes = data def reset(self, data): self.__init__(data) + def get_taskhashes(self): + return self.taskhash, self.unitaskhashes + + def set_taskhashes(self, hashes): + self.taskhash, self.unitaskhashes = hashes + + def save_unitaskhashes(self): + return + class SignatureGeneratorBasic(SignatureGenerator): """ @@ -96,7 +106,6 @@ class SignatureGeneratorBasic(SignatureGenerator): self.taints = {} self.gendeps = {} self.lookupcache = {} - self.pkgnameextract = re.compile(r"(?P.*)\..*") self.basewhitelist = set((data.getVar("BB_HASHBASE_WHITELIST") or "").split()) self.taskwhitelist = None self.init_rundepcheck(data) @@ -107,6 +116,9 @@ class SignatureGeneratorBasic(SignatureGenerator): else: self.checksum_cache = None + self.unihash_cache = bb.cache.SimpleCache("1") + self.unitaskhashes = self.unihash_cache.init_cache(data, "bb_unihashes.dat", {}) + def init_rundepcheck(self, data): self.taskwhitelist = data.getVar("BB_HASHTASK_WHITELIST") or None if self.taskwhitelist: @@ -122,16 +134,16 @@ class SignatureGeneratorBasic(SignatureGenerator): taskdeps, basehash = bb.data.generate_dependency_hash(tasklist, gendeps, lookupcache, self.basewhitelist, fn) for task in tasklist: - k = fn + "." + task - if not ignore_mismatch and k in self.basehash and self.basehash[k] != basehash[k]: - bb.error("When reparsing %s, the basehash value changed from %s to %s. The metadata is not deterministic and this needs to be fixed." % (k, self.basehash[k], basehash[k])) + tid = fn + ":" + task + if not ignore_mismatch and tid in self.basehash and self.basehash[tid] != basehash[tid]: + bb.error("When reparsing %s, the basehash value changed from %s to %s. The metadata is not deterministic and this needs to be fixed." % (tid, self.basehash[tid], basehash[tid])) bb.error("The following commands may help:") cmd = "$ bitbake %s -c%s" % (d.getVar('PN'), task) # Make sure sigdata is dumped before run printdiff bb.error("%s -Snone" % cmd) bb.error("Then:") bb.error("%s -Sprintdiff\n" % cmd) - self.basehash[k] = basehash[k] + self.basehash[tid] = basehash[tid] self.taskdeps[fn] = taskdeps self.gendeps[fn] = gendeps @@ -158,7 +170,7 @@ class SignatureGeneratorBasic(SignatureGenerator): # self.dump_sigtask(fn, task, d.getVar("STAMP"), False) for task in taskdeps: - d.setVar("BB_BASEHASH_task-%s" % task, self.basehash[fn + "." + task]) + d.setVar("BB_BASEHASH_task-%s" % task, self.basehash[fn + ":" + task]) def rundep_check(self, fn, recipename, task, dep, depname, dataCache): # Return True if we should keep the dependency, False to drop it @@ -178,33 +190,26 @@ class SignatureGeneratorBasic(SignatureGenerator): pass return taint - def get_taskhash(self, fn, task, deps, dataCache): + def get_taskhash(self, tid, deps, dataCache): - mc = '' - if fn.startswith('mc:'): - mc = fn.split(':')[1] - k = fn + "." + task + (mc, _, task, fn) = bb.runqueue.split_tid_mcfn(tid) - data = dataCache.basetaskhash[k] - self.basehash[k] = data - self.runtaskdeps[k] = [] - self.file_checksum_values[k] = [] + data = dataCache.basetaskhash[tid] + self.basehash[tid] = data + self.runtaskdeps[tid] = [] + self.file_checksum_values[tid] = [] recipename = dataCache.pkg_fn[fn] for dep in sorted(deps, key=clean_basepath): - pkgname = self.pkgnameextract.search(dep).group('fn') - if mc: - depmc = pkgname.split(':')[1] - if mc != depmc: - continue - if dep.startswith("mc:") and not mc: + (depmc, _, deptaskname, depfn) = bb.runqueue.split_tid_mcfn(dep) + if mc != depmc: continue - depname = dataCache.pkg_fn[pkgname] + depname = dataCache.pkg_fn[depfn] if not self.rundep_check(fn, recipename, task, dep, depname, dataCache): continue if dep not in self.taskhash: bb.fatal("%s is not in taskhash, caller isn't calling in dependency order?" % dep) data = data + self.get_unihash(dep) - self.runtaskdeps[k].append(dep) + self.runtaskdeps[tid].append(dep) if task in dataCache.file_checksums[fn]: if self.checksum_cache: @@ -212,7 +217,7 @@ class SignatureGeneratorBasic(SignatureGenerator): else: checksums = bb.fetch2.get_file_checksums(dataCache.file_checksums[fn][task], recipename) for (f,cs) in checksums: - self.file_checksum_values[k].append((f,cs)) + self.file_checksum_values[tid].append((f,cs)) if cs: data = data + cs @@ -222,16 +227,16 @@ class SignatureGeneratorBasic(SignatureGenerator): import uuid taint = str(uuid.uuid4()) data = data + taint - self.taints[k] = "nostamp:" + taint + self.taints[tid] = "nostamp:" + taint taint = self.read_taint(fn, task, dataCache.stamp[fn]) if taint: data = data + taint - self.taints[k] = taint - logger.warning("%s is tainted from a forced run" % k) + self.taints[tid] = taint + logger.warning("%s is tainted from a forced run" % tid) h = hashlib.sha256(data.encode("utf-8")).hexdigest() - self.taskhash[k] = h + self.taskhash[tid] = h #d.setVar("BB_TASKHASH_task-%s" % task, taskhash[task]) return h @@ -244,17 +249,20 @@ class SignatureGeneratorBasic(SignatureGenerator): bb.fetch2.fetcher_parse_save() bb.fetch2.fetcher_parse_done() + def save_unitaskhashes(self): + self.unihash_cache.save(self.unitaskhashes) + def dump_sigtask(self, fn, task, stampbase, runtime): - k = fn + "." + task + tid = fn + ":" + task referencestamp = stampbase if isinstance(runtime, str) and runtime.startswith("customfile"): sigfile = stampbase referencestamp = runtime[11:] - elif runtime and k in self.taskhash: - sigfile = stampbase + "." + task + ".sigdata" + "." + self.taskhash[k] + elif runtime and tid in self.taskhash: + sigfile = stampbase + "." + task + ".sigdata" + "." + self.taskhash[tid] else: - sigfile = stampbase + "." + task + ".sigbasedata" + "." + self.basehash[k] + sigfile = stampbase + "." + task + ".sigbasedata" + "." + self.basehash[tid] bb.utils.mkdirhier(os.path.dirname(sigfile)) @@ -263,7 +271,7 @@ class SignatureGeneratorBasic(SignatureGenerator): data['basewhitelist'] = self.basewhitelist data['taskwhitelist'] = self.taskwhitelist data['taskdeps'] = self.taskdeps[fn][task] - data['basehash'] = self.basehash[k] + data['basehash'] = self.basehash[tid] data['gendeps'] = {} data['varvals'] = {} data['varvals'][task] = self.lookupcache[fn][task] @@ -273,30 +281,30 @@ class SignatureGeneratorBasic(SignatureGenerator): data['gendeps'][dep] = self.gendeps[fn][dep] data['varvals'][dep] = self.lookupcache[fn][dep] - if runtime and k in self.taskhash: - data['runtaskdeps'] = self.runtaskdeps[k] - data['file_checksum_values'] = [(os.path.basename(f), cs) for f,cs in self.file_checksum_values[k]] + if runtime and tid in self.taskhash: + data['runtaskdeps'] = self.runtaskdeps[tid] + data['file_checksum_values'] = [(os.path.basename(f), cs) for f,cs in self.file_checksum_values[tid]] data['runtaskhashes'] = {} for dep in data['runtaskdeps']: data['runtaskhashes'][dep] = self.get_unihash(dep) - data['taskhash'] = self.taskhash[k] + data['taskhash'] = self.taskhash[tid] taint = self.read_taint(fn, task, referencestamp) if taint: data['taint'] = taint - if runtime and k in self.taints: - if 'nostamp:' in self.taints[k]: - data['taint'] = self.taints[k] + if runtime and tid in self.taints: + if 'nostamp:' in self.taints[tid]: + data['taint'] = self.taints[tid] computed_basehash = calc_basehash(data) - if computed_basehash != self.basehash[k]: - bb.error("Basehash mismatch %s versus %s for %s" % (computed_basehash, self.basehash[k], k)) - if runtime and k in self.taskhash: + if computed_basehash != self.basehash[tid]: + bb.error("Basehash mismatch %s versus %s for %s" % (computed_basehash, self.basehash[tid], tid)) + if runtime and tid in self.taskhash: computed_taskhash = calc_taskhash(data) - if computed_taskhash != self.taskhash[k]: - bb.error("Taskhash mismatch %s versus %s for %s" % (computed_taskhash, self.taskhash[k], k)) - sigfile = sigfile.replace(self.taskhash[k], computed_taskhash) + if computed_taskhash != self.taskhash[tid]: + bb.error("Taskhash mismatch %s versus %s for %s" % (computed_taskhash, self.taskhash[tid], tid)) + sigfile = sigfile.replace(self.taskhash[tid], computed_taskhash) fd, tmpfile = tempfile.mkstemp(dir=os.path.dirname(sigfile), prefix="sigtask.") try: @@ -316,34 +324,33 @@ class SignatureGeneratorBasic(SignatureGenerator): if fn in self.taskdeps: for task in self.taskdeps[fn]: tid = fn + ":" + task - (mc, _, _) = bb.runqueue.split_tid(tid) - k = fn + "." + task - if k not in self.taskhash: + mc = bb.runqueue.mc_from_tid(tid) + if tid not in self.taskhash: continue - if dataCaches[mc].basetaskhash[k] != self.basehash[k]: - bb.error("Bitbake's cached basehash does not match the one we just generated (%s)!" % k) - bb.error("The mismatched hashes were %s and %s" % (dataCaches[mc].basetaskhash[k], self.basehash[k])) + if dataCaches[mc].basetaskhash[tid] != self.basehash[tid]: + bb.error("Bitbake's cached basehash does not match the one we just generated (%s)!" % tid) + bb.error("The mismatched hashes were %s and %s" % (dataCaches[mc].basetaskhash[tid], self.basehash[tid])) self.dump_sigtask(fn, task, dataCaches[mc].stamp[fn], True) class SignatureGeneratorBasicHash(SignatureGeneratorBasic): name = "basichash" - def get_stampfile_hash(self, task): - if task in self.taskhash: - return self.taskhash[task] + def get_stampfile_hash(self, tid): + if tid in self.taskhash: + return self.taskhash[tid] # If task is not in basehash, then error - return self.basehash[task] + return self.basehash[tid] def stampfile(self, stampbase, fn, taskname, extrainfo, clean=False): if taskname != "do_setscene" and taskname.endswith("_setscene"): - k = fn + "." + taskname[:-9] + tid = fn + ":" + taskname[:-9] else: - k = fn + "." + taskname + tid = fn + ":" + taskname if clean: h = "*" else: - h = self.get_stampfile_hash(k) + h = self.get_stampfile_hash(tid) return ("%s.%s.%s.%s" % (stampbase, taskname, h, extrainfo)).rstrip('.') @@ -354,6 +361,187 @@ class SignatureGeneratorBasicHash(SignatureGeneratorBasic): bb.note("Tainting hash to force rebuild of task %s, %s" % (fn, task)) bb.build.write_taint(task, d, fn) +class SignatureGeneratorUniHashMixIn(object): + def get_taskdata(self): + return (self.server, self.method) + super().get_taskdata() + + def set_taskdata(self, data): + self.server, self.method = data[:2] + super().set_taskdata(data[2:]) + + def __get_task_unihash_key(self, tid): + # TODO: The key only *needs* to be the taskhash, the tid is just + # convenient + return '%s:%s' % (tid, self.taskhash[tid]) + + def get_stampfile_hash(self, tid): + if tid in self.taskhash: + # If a unique hash is reported, use it as the stampfile hash. This + # ensures that if a task won't be re-run if the taskhash changes, + # but it would result in the same output hash + unihash = self.unitaskhashes.get(self.__get_task_unihash_key(tid), None) + if unihash is not None: + return unihash + + return super().get_stampfile_hash(tid) + + def set_unihash(self, tid, unihash): + self.unitaskhashes[self.__get_task_unihash_key(tid)] = unihash + + def get_unihash(self, tid): + import urllib + import json + + taskhash = self.taskhash[tid] + + key = self.__get_task_unihash_key(tid) + + # TODO: This cache can grow unbounded. It probably only needs to keep + # for each task + unihash = self.unitaskhashes.get(key, None) + if unihash is not None: + return unihash + + # In the absence of being able to discover a unique hash from the + # server, make it be equivalent to the taskhash. The unique "hash" only + # really needs to be a unique string (not even necessarily a hash), but + # making it match the taskhash has a few advantages: + # + # 1) All of the sstate code that assumes hashes can be the same + # 2) It provides maximal compatibility with builders that don't use + # an equivalency server + # 3) The value is easy for multiple independent builders to derive the + # same unique hash from the same input. This means that if the + # independent builders find the same taskhash, but it isn't reported + # to the server, there is a better chance that they will agree on + # the unique hash. + unihash = taskhash + + try: + url = '%s/v1/equivalent?%s' % (self.server, + urllib.parse.urlencode({'method': self.method, 'taskhash': self.taskhash[tid]})) + + request = urllib.request.Request(url) + response = urllib.request.urlopen(request) + data = response.read().decode('utf-8') + + json_data = json.loads(data) + + if json_data: + unihash = json_data['unihash'] + # A unique hash equal to the taskhash is not very interesting, + # so it is reported it at debug level 2. If they differ, that + # is much more interesting, so it is reported at debug level 1 + bb.debug((1, 2)[unihash == taskhash], 'Found unihash %s in place of %s for %s from %s' % (unihash, taskhash, tid, self.server)) + else: + bb.debug(2, 'No reported unihash for %s:%s from %s' % (tid, taskhash, self.server)) + except urllib.error.URLError as e: + bb.warn('Failure contacting Hash Equivalence Server %s: %s' % (self.server, str(e))) + except (KeyError, json.JSONDecodeError) as e: + bb.warn('Poorly formatted response from %s: %s' % (self.server, str(e))) + + self.unitaskhashes[key] = unihash + return unihash + + def report_unihash(self, path, task, d): + import urllib + import json + import tempfile + import base64 + import importlib + + taskhash = d.getVar('BB_TASKHASH') + unihash = d.getVar('BB_UNIHASH') + report_taskdata = d.getVar('SSTATE_HASHEQUIV_REPORT_TASKDATA') == '1' + tempdir = d.getVar('T') + fn = d.getVar('BB_FILENAME') + key = fn + ':do_' + task + ':' + taskhash + + # Sanity checks + cache_unihash = self.unitaskhashes.get(key, None) + if cache_unihash is None: + bb.fatal('%s not in unihash cache. Please report this error' % key) + + if cache_unihash != unihash: + bb.fatal("Cache unihash %s doesn't match BB_UNIHASH %s" % (cache_unihash, unihash)) + + sigfile = None + sigfile_name = "depsig.do_%s.%d" % (task, os.getpid()) + sigfile_link = "depsig.do_%s" % task + + try: + sigfile = open(os.path.join(tempdir, sigfile_name), 'w+b') + + locs = {'path': path, 'sigfile': sigfile, 'task': task, 'd': d} + + if "." in self.method: + (module, method) = self.method.rsplit('.', 1) + locs['method'] = getattr(importlib.import_module(module), method) + outhash = bb.utils.better_eval('method(path, sigfile, task, d)', locs) + else: + outhash = bb.utils.better_eval(self.method + '(path, sigfile, task, d)', locs) + + try: + url = '%s/v1/equivalent' % self.server + task_data = { + 'taskhash': taskhash, + 'method': self.method, + 'outhash': outhash, + 'unihash': unihash, + 'owner': d.getVar('SSTATE_HASHEQUIV_OWNER') + } + + if report_taskdata: + sigfile.seek(0) + + task_data['PN'] = d.getVar('PN') + task_data['PV'] = d.getVar('PV') + task_data['PR'] = d.getVar('PR') + task_data['task'] = task + task_data['outhash_siginfo'] = sigfile.read().decode('utf-8') + + headers = {'content-type': 'application/json'} + + request = urllib.request.Request(url, json.dumps(task_data).encode('utf-8'), headers) + response = urllib.request.urlopen(request) + data = response.read().decode('utf-8') + + json_data = json.loads(data) + new_unihash = json_data['unihash'] + + if new_unihash != unihash: + bb.debug(1, 'Task %s unihash changed %s -> %s by server %s' % (taskhash, unihash, new_unihash, self.server)) + bb.event.fire(bb.runqueue.taskUniHashUpdate(fn + ':do_' + task, new_unihash), d) + else: + bb.debug(1, 'Reported task %s as unihash %s to %s' % (taskhash, unihash, self.server)) + except urllib.error.URLError as e: + bb.warn('Failure contacting Hash Equivalence Server %s: %s' % (self.server, str(e))) + except (KeyError, json.JSONDecodeError) as e: + bb.warn('Poorly formatted response from %s: %s' % (self.server, str(e))) + finally: + if sigfile: + sigfile.close() + + sigfile_link_path = os.path.join(tempdir, sigfile_link) + bb.utils.remove(sigfile_link_path) + + try: + os.symlink(sigfile_name, sigfile_link_path) + except OSError: + pass + + +# +# Dummy class used for bitbake-selftest +# +class SignatureGeneratorTestEquivHash(SignatureGeneratorUniHashMixIn, SignatureGeneratorBasicHash): + name = "TestEquivHash" + def init_rundepcheck(self, data): + super().init_rundepcheck(data) + self.server = "http://" + data.getVar('BB_HASHSERVE') + self.method = "sstate_output_hash" + + def dump_this_task(outfile, d): import bb.parse fn = d.getVar("BB_FILENAME") diff --git a/poky/bitbake/lib/bb/tests/data.py b/poky/bitbake/lib/bb/tests/data.py index 3cf5abec7..a9b0bdb09 100644 --- a/poky/bitbake/lib/bb/tests/data.py +++ b/poky/bitbake/lib/bb/tests/data.py @@ -466,7 +466,7 @@ class TaskHash(unittest.TestCase): tasklist, gendeps, lookupcache = bb.data.generate_dependencies(d) taskdeps, basehash = bb.data.generate_dependency_hash(tasklist, gendeps, lookupcache, set(), "somefile") bb.warn(str(lookupcache)) - return basehash["somefile." + taskname] + return basehash["somefile:" + taskname] d = bb.data.init() d.setVar("__BBTASKS", ["mytask"]) diff --git a/poky/bitbake/lib/bb/tests/runqueue-tests/classes/base.bbclass b/poky/bitbake/lib/bb/tests/runqueue-tests/classes/base.bbclass index 5b87e20bc..b57650d59 100644 --- a/poky/bitbake/lib/bb/tests/runqueue-tests/classes/base.bbclass +++ b/poky/bitbake/lib/bb/tests/runqueue-tests/classes/base.bbclass @@ -5,18 +5,30 @@ def stamptask(d): import time thistask = d.expand("${PN}:${BB_CURRENTTASK}") - with open(d.expand("${TOPDIR}/%s.run") % thistask, "a+") as f: - f.write("\n") + stampname = d.expand("${TOPDIR}/%s.run" % thistask) + with open(stampname, "a+") as f: + f.write(d.getVar("BB_UNIHASH") + "\n") if d.getVar("BB_CURRENT_MC") != "default": thistask = d.expand("${BB_CURRENT_MC}:${PN}:${BB_CURRENTTASK}") if thistask in d.getVar("SLOWTASKS").split(): bb.note("Slowing task %s" % thistask) time.sleep(0.5) + if d.getVar("BB_HASHSERVE"): + task = d.getVar("BB_CURRENTTASK") + if task in ['package', 'package_qa', 'packagedata', 'package_write_ipk', 'package_write_rpm', 'populate_lic', 'populate_sysroot']: + bb.parse.siggen.report_unihash(os.getcwd(), d.getVar("BB_CURRENTTASK"), d) with open(d.expand("${TOPDIR}/task.log"), "a+") as f: f.write(thistask + "\n") + +def sstate_output_hash(path, sigfile, task, d): + import hashlib + h = hashlib.sha256() + h.update(d.expand("${PN}:${BB_CURRENTTASK}").encode('utf-8')) + return h.hexdigest() + python do_fetch() { # fetch stamptask(d) @@ -216,27 +228,35 @@ def setscene_depvalid(task, taskdependees, notneeded, d, log=None): BB_HASHCHECK_FUNCTION = "sstate_checkhashes" -def sstate_checkhashes(sq_fn, sq_task, sq_hash, sq_hashfn, d, siginfo=False, *, sq_unihash=None): +def sstate_checkhashes(sq_data, d, siginfo=False, currentcount=0, **kwargs): - ret = [] - missed = [] + found = set() + missed = set() valid = d.getVar("SSTATEVALID").split() - for task in range(len(sq_fn)): - n = os.path.basename(sq_fn[task]).rsplit(".", 1)[0] + ":" + sq_task[task] + for tid in sorted(sq_data['hash']): + n = os.path.basename(bb.runqueue.fn_from_tid(tid)).split(".")[0] + ":do_" + bb.runqueue.taskname_from_tid(tid)[3:] + print(n) + stampfile = d.expand("${TOPDIR}/%s.run" % n.replace("do_", "")) if n in valid: bb.note("SState: Found valid sstate for %s" % n) - ret.append(task) - elif os.path.exists(d.expand("${TOPDIR}/%s.run" % n.replace("do_", ""))): - bb.note("SState: Found valid sstate for %s (already run)" % n) - ret.append(task) + found.add(tid) + elif n + ":" + sq_data['hash'][tid] in valid: + bb.note("SState: Found valid sstate for %s" % n) + found.add(tid) + elif os.path.exists(stampfile): + with open(stampfile, "r") as f: + hash = f.readline().strip() + if hash == sq_data['hash'][tid]: + bb.note("SState: Found valid sstate for %s (already run)" % n) + found.add(tid) + else: + bb.note("SState: sstate hash didn't match previous run for %s (%s vs %s)" % (n, sq_data['hash'][tid], hash)) + missed.add(tid) else: - missed.append(task) - bb.note("SState: Found no valid sstate for %s" % n) - - if hasattr(bb.parse.siggen, "checkhashes"): - bb.parse.siggen.checkhashes(missed, ret, sq_fn, sq_task, sq_hash, sq_hashfn, d) + missed.add(tid) + bb.note("SState: Found no valid sstate for %s (%s)" % (n, sq_data['hash'][tid])) - return ret + return found diff --git a/poky/bitbake/lib/bb/tests/runqueue-tests/conf/bitbake.conf b/poky/bitbake/lib/bb/tests/runqueue-tests/conf/bitbake.conf index 96ee1cd5e..5e451fc2c 100644 --- a/poky/bitbake/lib/bb/tests/runqueue-tests/conf/bitbake.conf +++ b/poky/bitbake/lib/bb/tests/runqueue-tests/conf/bitbake.conf @@ -11,6 +11,6 @@ STAMP = "${TMPDIR}/stamps/${PN}" T = "${TMPDIR}/workdir/${PN}/temp" BB_NUMBER_THREADS = "4" -BB_HASHBASE_WHITELIST = "BB_CURRENT_MC" +BB_HASHBASE_WHITELIST = "BB_CURRENT_MC BB_HASHSERVE TMPDIR TOPDIR SLOWTASKS SSTATEVALID FILE" include conf/multiconfig/${BB_CURRENT_MC}.conf diff --git a/poky/bitbake/lib/bb/tests/runqueue-tests/recipes/e1.bb b/poky/bitbake/lib/bb/tests/runqueue-tests/recipes/e1.bb new file mode 100644 index 000000000..1588bc8a5 --- /dev/null +++ b/poky/bitbake/lib/bb/tests/runqueue-tests/recipes/e1.bb @@ -0,0 +1 @@ +DEPENDS = "b1" \ No newline at end of file diff --git a/poky/bitbake/lib/bb/tests/runqueue.py b/poky/bitbake/lib/bb/tests/runqueue.py index f22ad4bd8..c7f5e5572 100644 --- a/poky/bitbake/lib/bb/tests/runqueue.py +++ b/poky/bitbake/lib/bb/tests/runqueue.py @@ -25,7 +25,7 @@ class RunQueueTests(unittest.TestCase): a1_sstatevalid = "a1:do_package a1:do_package_qa a1:do_packagedata a1:do_package_write_ipk a1:do_package_write_rpm a1:do_populate_lic a1:do_populate_sysroot" b1_sstatevalid = "b1:do_package b1:do_package_qa b1:do_packagedata b1:do_package_write_ipk b1:do_package_write_rpm b1:do_populate_lic b1:do_populate_sysroot" - def run_bitbakecmd(self, cmd, builddir, sstatevalid="", slowtasks="", extraenv=None): + def run_bitbakecmd(self, cmd, builddir, sstatevalid="", slowtasks="", extraenv=None, cleanup=False): env = os.environ.copy() env["BBPATH"] = os.path.realpath(os.path.join(os.path.dirname(__file__), "runqueue-tests")) env["BB_ENV_EXTRAWHITE"] = "SSTATEVALID SLOWTASKS" @@ -37,11 +37,16 @@ class RunQueueTests(unittest.TestCase): env["BB_ENV_EXTRAWHITE"] = env["BB_ENV_EXTRAWHITE"] + " " + k try: output = subprocess.check_output(cmd, env=env, stderr=subprocess.STDOUT,universal_newlines=True, cwd=builddir) + print(output) except subprocess.CalledProcessError as e: self.fail("Command %s failed with %s" % (cmd, e.output)) tasks = [] - with open(builddir + "/task.log", "r") as f: - tasks = [line.rstrip() for line in f] + tasklog = builddir + "/task.log" + if os.path.exists(tasklog): + with open(tasklog, "r") as f: + tasks = [line.rstrip() for line in f] + if cleanup: + os.remove(tasklog) return tasks def test_no_setscenevalid(self): @@ -226,3 +231,166 @@ class RunQueueTests(unittest.TestCase): expected.remove(x) self.assertEqual(set(tasks), set(expected)) + + def test_hashserv_single(self): + with tempfile.TemporaryDirectory(prefix="runqueuetest") as tempdir: + extraenv = { + "BB_HASHSERVE" : "localhost:0", + "BB_SIGNATURE_HANDLER" : "TestEquivHash" + } + cmd = ["bitbake", "a1", "b1"] + setscenetasks = ['package_write_ipk_setscene', 'package_write_rpm_setscene', 'packagedata_setscene', + 'populate_sysroot_setscene', 'package_qa_setscene'] + sstatevalid = "" + tasks = self.run_bitbakecmd(cmd, tempdir, sstatevalid, extraenv=extraenv, cleanup=True) + expected = ['a1:' + x for x in self.alltasks] + ['b1:' + x for x in self.alltasks] + self.assertEqual(set(tasks), set(expected)) + cmd = ["bitbake", "a1", "-c", "install", "-f"] + tasks = self.run_bitbakecmd(cmd, tempdir, sstatevalid, extraenv=extraenv, cleanup=True) + expected = ['a1:install'] + self.assertEqual(set(tasks), set(expected)) + cmd = ["bitbake", "a1", "b1"] + tasks = self.run_bitbakecmd(cmd, tempdir, sstatevalid, extraenv=extraenv, cleanup=True) + expected = ['a1:populate_sysroot', 'a1:package', 'a1:package_write_rpm_setscene', 'a1:packagedata_setscene', + 'a1:package_write_ipk_setscene', 'a1:package_qa_setscene'] + self.assertEqual(set(tasks), set(expected)) + + def test_hashserv_double(self): + with tempfile.TemporaryDirectory(prefix="runqueuetest") as tempdir: + extraenv = { + "BB_HASHSERVE" : "localhost:0", + "BB_SIGNATURE_HANDLER" : "TestEquivHash" + } + cmd = ["bitbake", "a1", "b1", "e1"] + setscenetasks = ['package_write_ipk_setscene', 'package_write_rpm_setscene', 'packagedata_setscene', + 'populate_sysroot_setscene', 'package_qa_setscene'] + sstatevalid = "" + tasks = self.run_bitbakecmd(cmd, tempdir, sstatevalid, extraenv=extraenv, cleanup=True) + expected = ['a1:' + x for x in self.alltasks] + ['b1:' + x for x in self.alltasks] + ['e1:' + x for x in self.alltasks] + self.assertEqual(set(tasks), set(expected)) + cmd = ["bitbake", "a1", "b1", "-c", "install", "-fn"] + tasks = self.run_bitbakecmd(cmd, tempdir, sstatevalid, extraenv=extraenv, cleanup=True) + cmd = ["bitbake", "e1"] + tasks = self.run_bitbakecmd(cmd, tempdir, sstatevalid, extraenv=extraenv, cleanup=True) + expected = ['a1:package', 'a1:install', 'b1:package', 'b1:install', 'a1:populate_sysroot', 'b1:populate_sysroot', + 'a1:package_write_ipk_setscene', 'b1:packagedata_setscene', 'b1:package_write_rpm_setscene', + 'a1:package_write_rpm_setscene', 'b1:package_write_ipk_setscene', 'a1:packagedata_setscene'] + self.assertEqual(set(tasks), set(expected)) + + + def test_hashserv_multiple_setscene(self): + # Runs e1:do_package_setscene twice + with tempfile.TemporaryDirectory(prefix="runqueuetest") as tempdir: + extraenv = { + "BB_HASHSERVE" : "localhost:0", + "BB_SIGNATURE_HANDLER" : "TestEquivHash" + } + cmd = ["bitbake", "a1", "b1", "e1"] + setscenetasks = ['package_write_ipk_setscene', 'package_write_rpm_setscene', 'packagedata_setscene', + 'populate_sysroot_setscene', 'package_qa_setscene'] + sstatevalid = "" + tasks = self.run_bitbakecmd(cmd, tempdir, sstatevalid, extraenv=extraenv, cleanup=True) + expected = ['a1:' + x for x in self.alltasks] + ['b1:' + x for x in self.alltasks] + ['e1:' + x for x in self.alltasks] + self.assertEqual(set(tasks), set(expected)) + cmd = ["bitbake", "a1", "b1", "-c", "install", "-fn"] + tasks = self.run_bitbakecmd(cmd, tempdir, sstatevalid, extraenv=extraenv, cleanup=True) + cmd = ["bitbake", "e1"] + sstatevalid = "e1:do_package" + tasks = self.run_bitbakecmd(cmd, tempdir, sstatevalid, extraenv=extraenv, cleanup=True, slowtasks="a1:populate_sysroot b1:populate_sysroot") + expected = ['a1:package', 'a1:install', 'b1:package', 'b1:install', 'a1:populate_sysroot', 'b1:populate_sysroot', + 'a1:package_write_ipk_setscene', 'b1:packagedata_setscene', 'b1:package_write_rpm_setscene', + 'a1:package_write_rpm_setscene', 'b1:package_write_ipk_setscene', 'a1:packagedata_setscene', + 'e1:package_setscene'] + self.assertEqual(set(tasks), set(expected)) + for i in expected: + if i in ["e1:package_setscene"]: + self.assertEqual(tasks.count(i), 4, "%s not in task list four times" % i) + else: + self.assertEqual(tasks.count(i), 1, "%s not in task list once" % i) + + def test_hashserv_partial_match(self): + # e1:do_package matches initial built but not second hash value + with tempfile.TemporaryDirectory(prefix="runqueuetest") as tempdir: + extraenv = { + "BB_HASHSERVE" : "localhost:0", + "BB_SIGNATURE_HANDLER" : "TestEquivHash" + } + cmd = ["bitbake", "a1", "b1"] + setscenetasks = ['package_write_ipk_setscene', 'package_write_rpm_setscene', 'packagedata_setscene', + 'populate_sysroot_setscene', 'package_qa_setscene'] + sstatevalid = "" + tasks = self.run_bitbakecmd(cmd, tempdir, sstatevalid, extraenv=extraenv, cleanup=True) + expected = ['a1:' + x for x in self.alltasks] + ['b1:' + x for x in self.alltasks] + self.assertEqual(set(tasks), set(expected)) + with open(tempdir + "/stamps/a1.do_install.taint", "w") as f: + f.write("d460a29e-903f-4b76-a96b-3bcc22a65994") + with open(tempdir + "/stamps/b1.do_install.taint", "w") as f: + f.write("ed36d46a-2977-458a-b3de-eef885bc1817") + cmd = ["bitbake", "e1"] + sstatevalid = "e1:do_package:685e69a026b2f029483fdefe6a11e1e06641dd2a0f6f86e27b9b550f8f21229d" + tasks = self.run_bitbakecmd(cmd, tempdir, sstatevalid, extraenv=extraenv, cleanup=True) + expected = ['a1:package', 'a1:install', 'b1:package', 'b1:install', 'a1:populate_sysroot', 'b1:populate_sysroot', + 'a1:package_write_ipk_setscene', 'b1:packagedata_setscene', 'b1:package_write_rpm_setscene', + 'a1:package_write_rpm_setscene', 'b1:package_write_ipk_setscene', 'a1:packagedata_setscene', + 'e1:package_setscene'] + ['e1:' + x for x in self.alltasks] + expected.remove('e1:package') + self.assertEqual(set(tasks), set(expected)) + + def test_hashserv_partial_match2(self): + # e1:do_package + e1:do_populate_sysroot matches initial built but not second hash value + with tempfile.TemporaryDirectory(prefix="runqueuetest") as tempdir: + extraenv = { + "BB_HASHSERVE" : "localhost:0", + "BB_SIGNATURE_HANDLER" : "TestEquivHash" + } + cmd = ["bitbake", "a1", "b1"] + setscenetasks = ['package_write_ipk_setscene', 'package_write_rpm_setscene', 'packagedata_setscene', + 'populate_sysroot_setscene', 'package_qa_setscene'] + sstatevalid = "" + tasks = self.run_bitbakecmd(cmd, tempdir, sstatevalid, extraenv=extraenv, cleanup=True) + expected = ['a1:' + x for x in self.alltasks] + ['b1:' + x for x in self.alltasks] + self.assertEqual(set(tasks), set(expected)) + with open(tempdir + "/stamps/a1.do_install.taint", "w") as f: + f.write("d460a29e-903f-4b76-a96b-3bcc22a65994") + with open(tempdir + "/stamps/b1.do_install.taint", "w") as f: + f.write("ed36d46a-2977-458a-b3de-eef885bc1817") + cmd = ["bitbake", "e1"] + sstatevalid = "e1:do_package:685e69a026b2f029483fdefe6a11e1e06641dd2a0f6f86e27b9b550f8f21229d e1:do_populate_sysroot:ef7dc0e2dd55d0534e75cba50731ff42f949818b6f29a65d72bc05856e56711d" + tasks = self.run_bitbakecmd(cmd, tempdir, sstatevalid, extraenv=extraenv, cleanup=True) + expected = ['a1:package', 'a1:install', 'b1:package', 'b1:install', 'a1:populate_sysroot', 'b1:populate_sysroot', + 'a1:package_write_ipk_setscene', 'b1:packagedata_setscene', 'b1:package_write_rpm_setscene', + 'a1:package_write_rpm_setscene', 'b1:package_write_ipk_setscene', 'a1:packagedata_setscene', + 'e1:package_setscene', 'e1:populate_sysroot_setscene', 'e1:build', 'e1:package_qa', 'e1:package_write_rpm', 'e1:package_write_ipk', 'e1:packagedata'] + self.assertEqual(set(tasks), set(expected)) + + def test_hashserv_partial_match3(self): + # e1:do_package is valid for a1 but not after b1 + # In former buggy code, this triggered e1:do_fetch, then e1:do_populate_sysroot to run + # with none of the intermediate tasks which is a serious bug + with tempfile.TemporaryDirectory(prefix="runqueuetest") as tempdir: + extraenv = { + "BB_HASHSERVE" : "localhost:0", + "BB_SIGNATURE_HANDLER" : "TestEquivHash" + } + cmd = ["bitbake", "a1", "b1"] + setscenetasks = ['package_write_ipk_setscene', 'package_write_rpm_setscene', 'packagedata_setscene', + 'populate_sysroot_setscene', 'package_qa_setscene'] + sstatevalid = "" + tasks = self.run_bitbakecmd(cmd, tempdir, sstatevalid, extraenv=extraenv, cleanup=True) + expected = ['a1:' + x for x in self.alltasks] + ['b1:' + x for x in self.alltasks] + self.assertEqual(set(tasks), set(expected)) + with open(tempdir + "/stamps/a1.do_install.taint", "w") as f: + f.write("d460a29e-903f-4b76-a96b-3bcc22a65994") + with open(tempdir + "/stamps/b1.do_install.taint", "w") as f: + f.write("ed36d46a-2977-458a-b3de-eef885bc1817") + cmd = ["bitbake", "e1", "-DD"] + sstatevalid = "e1:do_package:af056eae12a733a6a8c4f4da8c6757e588e13565852c94e2aad4d953a3989c13 e1:do_package:a3677703db82b22d28d57c1820a47851dd780104580863f5bd32e66e003a779d" + tasks = self.run_bitbakecmd(cmd, tempdir, sstatevalid, extraenv=extraenv, cleanup=True, slowtasks="e1:fetch b1:install") + expected = ['a1:package', 'a1:install', 'b1:package', 'b1:install', 'a1:populate_sysroot', 'b1:populate_sysroot', + 'a1:package_write_ipk_setscene', 'b1:packagedata_setscene', 'b1:package_write_rpm_setscene', + 'a1:package_write_rpm_setscene', 'b1:package_write_ipk_setscene', 'a1:packagedata_setscene', + 'e1:package_setscene'] + ['e1:' + x for x in self.alltasks] + expected.remove('e1:package') + self.assertEqual(set(tasks), set(expected)) + + diff --git a/poky/bitbake/lib/bb/ui/knotty.py b/poky/bitbake/lib/bb/ui/knotty.py index 1c72aa294..35736ade0 100644 --- a/poky/bitbake/lib/bb/ui/knotty.py +++ b/poky/bitbake/lib/bb/ui/knotty.py @@ -689,17 +689,27 @@ def main(server, eventHandler, params, tf = TerminalFilter): if params.observe_only: print("\nKeyboard Interrupt, exiting observer...") main.shutdown = 2 - if not params.observe_only and main.shutdown == 1: + + def state_force_shutdown(): print("\nSecond Keyboard Interrupt, stopping...\n") _, error = server.runCommand(["stateForceShutdown"]) if error: logger.error("Unable to cleanly stop: %s" % error) + + if not params.observe_only and main.shutdown == 1: + state_force_shutdown() + if not params.observe_only and main.shutdown == 0: print("\nKeyboard Interrupt, closing down...\n") interrupted = True - _, error = server.runCommand(["stateShutdown"]) - if error: - logger.error("Unable to cleanly shutdown: %s" % error) + # Capture the second KeyboardInterrupt during stateShutdown is running + try: + _, error = server.runCommand(["stateShutdown"]) + if error: + logger.error("Unable to cleanly shutdown: %s" % error) + except KeyboardInterrupt: + state_force_shutdown() + main.shutdown = main.shutdown + 1 pass except Exception as e: diff --git a/poky/bitbake/lib/bb/utils.py b/poky/bitbake/lib/bb/utils.py index ed19825fa..0618e46fe 100644 --- a/poky/bitbake/lib/bb/utils.py +++ b/poky/bitbake/lib/bb/utils.py @@ -394,7 +394,7 @@ def better_exec(code, context, text = None, realfile = "", pythonexception code = better_compile(code, realfile, realfile) try: exec(code, get_context(), context) - except (bb.BBHandledException, bb.parse.SkipRecipe, bb.build.FuncFailed, bb.data_smart.ExpansionError): + except (bb.BBHandledException, bb.parse.SkipRecipe, bb.data_smart.ExpansionError): # Error already shown so passthrough, no need for traceback raise except Exception as e: diff --git a/poky/bitbake/lib/hashserv/__init__.py b/poky/bitbake/lib/hashserv/__init__.py index fdc9ced9f..eb03c3221 100644 --- a/poky/bitbake/lib/hashserv/__init__.py +++ b/poky/bitbake/lib/hashserv/__init__.py @@ -1,4 +1,4 @@ -# Copyright (C) 2018 Garmin Ltd. +# Copyright (C) 2018-2019 Garmin Ltd. # # SPDX-License-Identifier: GPL-2.0-only # @@ -10,6 +10,12 @@ import sqlite3 import json import traceback import logging +import socketserver +import queue +import threading +import signal +import socket +import struct from datetime import datetime logger = logging.getLogger('hashserv') @@ -18,8 +24,17 @@ class HashEquivalenceServer(BaseHTTPRequestHandler): def log_message(self, f, *args): logger.debug(f, *args) + def opendb(self): + self.db = sqlite3.connect(self.dbname) + self.db.row_factory = sqlite3.Row + self.db.execute("PRAGMA synchronous = OFF;") + self.db.execute("PRAGMA journal_mode = MEMORY;") + def do_GET(self): try: + if not self.db: + self.opendb() + p = urllib.parse.urlparse(self.path) if p.path != self.prefix + '/v1/equivalent': @@ -32,7 +47,7 @@ class HashEquivalenceServer(BaseHTTPRequestHandler): d = None with contextlib.closing(self.db.cursor()) as cursor: - cursor.execute('SELECT taskhash, method, unihash FROM tasks_v1 WHERE method=:method AND taskhash=:taskhash ORDER BY created ASC LIMIT 1', + cursor.execute('SELECT taskhash, method, unihash FROM tasks_v2 WHERE method=:method AND taskhash=:taskhash ORDER BY created ASC LIMIT 1', {'method': method, 'taskhash': taskhash}) row = cursor.fetchone() @@ -52,6 +67,9 @@ class HashEquivalenceServer(BaseHTTPRequestHandler): def do_POST(self): try: + if not self.db: + self.opendb() + p = urllib.parse.urlparse(self.path) if p.path != self.prefix + '/v1/equivalent': @@ -63,15 +81,29 @@ class HashEquivalenceServer(BaseHTTPRequestHandler): with contextlib.closing(self.db.cursor()) as cursor: cursor.execute(''' - SELECT taskhash, method, unihash FROM tasks_v1 WHERE method=:method AND outhash=:outhash + -- Find tasks with a matching outhash (that is, tasks that + -- are equivalent) + SELECT taskhash, method, unihash FROM tasks_v2 WHERE method=:method AND outhash=:outhash + + -- If there is an exact match on the taskhash, return it. + -- Otherwise return the oldest matching outhash of any + -- taskhash ORDER BY CASE WHEN taskhash=:taskhash THEN 1 ELSE 2 END, created ASC + + -- Only return one row LIMIT 1 ''', {k: data[k] for k in ('method', 'outhash', 'taskhash')}) row = cursor.fetchone() + # If no matching outhash was found, or one *was* found but it + # wasn't an exact match on the taskhash, a new entry for this + # taskhash should be added if row is None or row['taskhash'] != data['taskhash']: + # If a row matching the outhash was found, the unihash for + # the new taskhash should be the same as that one. + # Otherwise the caller provided unihash is used. unihash = data['unihash'] if row is not None: unihash = row['unihash'] @@ -88,18 +120,17 @@ class HashEquivalenceServer(BaseHTTPRequestHandler): if k in data: insert_data[k] = data[k] - cursor.execute('''INSERT INTO tasks_v1 (%s) VALUES (%s)''' % ( + cursor.execute('''INSERT INTO tasks_v2 (%s) VALUES (%s)''' % ( ', '.join(sorted(insert_data.keys())), ', '.join(':' + k for k in sorted(insert_data.keys()))), insert_data) logger.info('Adding taskhash %s with unihash %s', data['taskhash'], unihash) - cursor.execute('SELECT taskhash, method, unihash FROM tasks_v1 WHERE id=:id', {'id': cursor.lastrowid}) - row = cursor.fetchone() self.db.commit() - - d = {k: row[k] for k in ('taskhash', 'method', 'unihash')} + d = {'taskhash': data['taskhash'], 'method': data['method'], 'unihash': unihash} + else: + d = {k: row[k] for k in ('taskhash', 'method', 'unihash')} self.send_response(200) self.send_header('Content-Type', 'application/json; charset=utf-8') @@ -110,17 +141,67 @@ class HashEquivalenceServer(BaseHTTPRequestHandler): self.send_error(400, explain=traceback.format_exc()) return -def create_server(addr, db, prefix=''): +class ThreadedHTTPServer(HTTPServer): + quit = False + + def serve_forever(self): + self.requestqueue = queue.Queue() + self.handlerthread = threading.Thread(target=self.process_request_thread) + self.handlerthread.daemon = False + + self.handlerthread.start() + + signal.signal(signal.SIGTERM, self.sigterm_exception) + super().serve_forever() + os._exit(0) + + def sigterm_exception(self, signum, stackframe): + self.server_close() + os._exit(0) + + def server_bind(self): + HTTPServer.server_bind(self) + self.socket.setsockopt(socket.SOL_SOCKET, socket.SO_LINGER, struct.pack('ii', 1, 0)) + + def process_request_thread(self): + while not self.quit: + try: + (request, client_address) = self.requestqueue.get(True) + except queue.Empty: + continue + if request is None: + continue + try: + self.finish_request(request, client_address) + except Exception: + self.handle_error(request, client_address) + finally: + self.shutdown_request(request) + os._exit(0) + + def process_request(self, request, client_address): + self.requestqueue.put((request, client_address)) + + def server_close(self): + super().server_close() + self.quit = True + self.requestqueue.put((None, None)) + self.handlerthread.join() + +def create_server(addr, dbname, prefix=''): class Handler(HashEquivalenceServer): pass - Handler.prefix = prefix - Handler.db = db + db = sqlite3.connect(dbname) db.row_factory = sqlite3.Row + Handler.prefix = prefix + Handler.db = None + Handler.dbname = dbname + with contextlib.closing(db.cursor()) as cursor: cursor.execute(''' - CREATE TABLE IF NOT EXISTS tasks_v1 ( + CREATE TABLE IF NOT EXISTS tasks_v2 ( id INTEGER PRIMARY KEY AUTOINCREMENT, method TEXT NOT NULL, outhash TEXT NOT NULL, @@ -134,9 +215,16 @@ def create_server(addr, db, prefix=''): PV TEXT, PR TEXT, task TEXT, - outhash_siginfo TEXT + outhash_siginfo TEXT, + + UNIQUE(method, outhash, taskhash) ) ''') + cursor.execute('CREATE INDEX IF NOT EXISTS taskhash_lookup ON tasks_v2 (method, taskhash)') + cursor.execute('CREATE INDEX IF NOT EXISTS outhash_lookup ON tasks_v2 (method, outhash)') + + ret = ThreadedHTTPServer(addr, Handler) + + logger.info('Starting server on %s\n', ret.server_port) - logger.info('Starting server on %s', addr) - return HTTPServer(addr, Handler) + return ret diff --git a/poky/bitbake/lib/hashserv/tests.py b/poky/bitbake/lib/hashserv/tests.py index 8300a2559..6845b5388 100644 --- a/poky/bitbake/lib/hashserv/tests.py +++ b/poky/bitbake/lib/hashserv/tests.py @@ -6,30 +6,31 @@ # import unittest -import threading +import multiprocessing import sqlite3 import hashlib import urllib.request import json +import tempfile from . import create_server class TestHashEquivalenceServer(unittest.TestCase): def setUp(self): - # Start an in memory hash equivalence server in the background bound to + # Start a hash equivalence server in the background bound to # an ephemeral port - db = sqlite3.connect(':memory:', check_same_thread=False) - self.server = create_server(('localhost', 0), db) + self.dbfile = tempfile.NamedTemporaryFile(prefix="bb-hashserv-db-") + self.server = create_server(('localhost', 0), self.dbfile.name) self.server_addr = 'http://localhost:%d' % self.server.socket.getsockname()[1] - self.server_thread = threading.Thread(target=self.server.serve_forever) + self.server_thread = multiprocessing.Process(target=self.server.serve_forever) + self.server_thread.daemon = True self.server_thread.start() def tearDown(self): # Shutdown server s = getattr(self, 'server', None) if s is not None: - self.server.shutdown() + self.server_thread.terminate() self.server_thread.join() - self.server.server_close() def send_get(self, path): url = '%s/%s' % (self.server_addr, path) diff --git a/poky/bitbake/lib/layerindexlib/__init__.py b/poky/bitbake/lib/layerindexlib/__init__.py index d231cf6a9..77196b408 100644 --- a/poky/bitbake/lib/layerindexlib/__init__.py +++ b/poky/bitbake/lib/layerindexlib/__init__.py @@ -376,7 +376,7 @@ layerBranches set. If not, they are effectively blank.''' invalid.append(name) - def _resolve_dependencies(layerbranches, ignores, dependencies, invalid): + def _resolve_dependencies(layerbranches, ignores, dependencies, invalid, processed=None): for layerbranch in layerbranches: if ignores and layerbranch.layer.name in ignores: continue @@ -388,6 +388,13 @@ layerBranches set. If not, they are effectively blank.''' if ignores and deplayerbranch.layer.name in ignores: continue + # Since this is depth first, we need to know what we're currently processing + # in order to avoid infinite recursion on a loop. + if processed and deplayerbranch.layer.name in processed: + # We have found a recursion... + logger.warning('Circular layer dependency found: %s -> %s' % (processed, deplayerbranch.layer.name)) + continue + # This little block is why we can't re-use the LayerIndexObj version, # we must be able to satisfy each dependencies across layer indexes and # use the layer index order for priority. (r stands for replacement below) @@ -411,7 +418,17 @@ layerBranches set. If not, they are effectively blank.''' # New dependency, we need to resolve it now... depth-first if deplayerbranch.layer.name not in dependencies: - (dependencies, invalid) = _resolve_dependencies([deplayerbranch], ignores, dependencies, invalid) + # Avoid recursion on this branch. + # We copy so we don't end up polluting the depth-first branch with other + # branches. Duplication between individual branches IS expected and + # handled by 'dependencies' processing. + if not processed: + local_processed = [] + else: + local_processed = processed.copy() + local_processed.append(deplayerbranch.layer.name) + + (dependencies, invalid) = _resolve_dependencies([deplayerbranch], ignores, dependencies, invalid, local_processed) if deplayerbranch.layer.name not in dependencies: dependencies[deplayerbranch.layer.name] = [deplayerbranch, layerdependency] diff --git a/poky/bitbake/lib/prserv/db.py b/poky/bitbake/lib/prserv/db.py index d6188a679..117d8c052 100644 --- a/poky/bitbake/lib/prserv/db.py +++ b/poky/bitbake/lib/prserv/db.py @@ -257,7 +257,7 @@ class PRData(object): self.connection=sqlite3.connect(self.filename, isolation_level="EXCLUSIVE", check_same_thread = False) self.connection.row_factory=sqlite3.Row self.connection.execute("pragma synchronous = off;") - self.connection.execute("PRAGMA journal_mode = WAL;") + self.connection.execute("PRAGMA journal_mode = MEMORY;") self._tables={} def disconnect(self): diff --git a/poky/bitbake/lib/toaster/orm/models.py b/poky/bitbake/lib/toaster/orm/models.py index 41a9f819d..bb6b5decf 100644 --- a/poky/bitbake/lib/toaster/orm/models.py +++ b/poky/bitbake/lib/toaster/orm/models.py @@ -965,12 +965,12 @@ class TargetSDKFile(models.Model): class Target_Image_File(models.Model): # valid suffixes for image files produced by a build SUFFIXES = { - 'btrfs', 'cpio', 'cpio.gz', 'cpio.lz4', 'cpio.lzma', 'cpio.xz', - 'cramfs', 'elf', 'ext2', 'ext2.bz2', 'ext2.gz', 'ext2.lzma', 'ext4', - 'ext4.gz', 'ext3', 'ext3.gz', 'hdddirect', 'hddimg', 'iso', 'jffs2', - 'jffs2.sum', 'multiubi', 'qcow2', 'squashfs', 'squashfs-lzo', + 'btrfs', 'container', 'cpio', 'cpio.gz', 'cpio.lz4', 'cpio.lzma', + 'cpio.xz', 'cramfs', 'ext2', 'ext2.bz2', 'ext2.gz', 'ext2.lzma', + 'ext3', 'ext3.gz', 'ext4', 'ext4.gz', 'f2fs', 'hddimg', 'iso', 'jffs2', + 'jffs2.sum', 'multiubi', 'squashfs', 'squashfs-lz4', 'squashfs-lzo', 'squashfs-xz', 'tar', 'tar.bz2', 'tar.gz', 'tar.lz4', 'tar.xz', 'ubi', - 'ubifs', 'vdi', 'vmdk', 'wic', 'wic.bmap', 'wic.bz2', 'wic.gz', 'wic.lzma' + 'ubifs', 'wic', 'wic.bz2', 'wic.gz', 'wic.lzma' } target = models.ForeignKey(Target) diff --git a/poky/meta-poky/conf/distro/poky.conf b/poky/meta-poky/conf/distro/poky.conf index ac6368dda..aa041e2dc 100644 --- a/poky/meta-poky/conf/distro/poky.conf +++ b/poky/meta-poky/conf/distro/poky.conf @@ -61,7 +61,6 @@ SANITY_TESTED_DISTROS ?= " \ debian-8 \n \ debian-9 \n \ debian-10 \n \ - opensuse-42.3 \n \ opensuseleap-15.1 \n \ " # diff --git a/poky/meta-poky/conf/local.conf.sample b/poky/meta-poky/conf/local.conf.sample index 59b4d9561..b36530dd8 100644 --- a/poky/meta-poky/conf/local.conf.sample +++ b/poky/meta-poky/conf/local.conf.sample @@ -237,12 +237,11 @@ BB_DISKMON_DIRS ??= "\ # # Qemu configuration # -# By default qemu will build with a builtin VNC server where graphical output can be -# seen. The two lines below enable the SDL backend too. By default libsdl2-native will +# By default native qemu will build with a builtin VNC server where graphical output can be +# seen. The line below enable the SDL backend too. By default libsdl2-native will # be built, if you want to use your host's libSDL instead of the minimal libsdl built # by libsdl2-native then uncomment the ASSUME_PROVIDED line below. PACKAGECONFIG_append_pn-qemu-system-native = " sdl" -PACKAGECONFIG_append_pn-nativesdk-qemu = " sdl" #ASSUME_PROVIDED += "libsdl2-native" # CONF_VERSION is increased each time build/conf/ changes incompatibly and is used to diff --git a/poky/meta-selftest/recipes-test/aspell/aspell_0.0.0.1.bb b/poky/meta-selftest/recipes-test/aspell/aspell_0.0.0.1.bb index 922518bc3..9f905a519 100644 --- a/poky/meta-selftest/recipes-test/aspell/aspell_0.0.0.1.bb +++ b/poky/meta-selftest/recipes-test/aspell/aspell_0.0.0.1.bb @@ -8,8 +8,6 @@ SECTION = "console/utils" LICENSE = "LGPLv2 | LGPLv2.1" LIC_FILES_CHKSUM = "file://COPYING;md5=7fbc338309ac38fefcd64b04bb903e34" -PR = "r1" - SRC_URI = "${GNU_MIRROR}/aspell/aspell-${PV}.tar.gz" SRC_URI[md5sum] = "e66a9c9af6a60dc46134fdacf6ce97d7" SRC_URI[sha256sum] = "f52583a83a63633701c5f71db3dc40aab87b7f76b29723aeb27941eff42df6e1" diff --git a/poky/meta-selftest/recipes-test/aspell/aspell_0.60.6.1.bbappend b/poky/meta-selftest/recipes-test/aspell/aspell_0.60.6.1.bbappend deleted file mode 100644 index 205720982..000000000 --- a/poky/meta-selftest/recipes-test/aspell/aspell_0.60.6.1.bbappend +++ /dev/null @@ -1,2 +0,0 @@ -# This bbappend is used to alter the recipe using the test_recipe.inc file created by tests. -include test_recipe.inc diff --git a/poky/meta-selftest/recipes-test/aspell/aspell_0.60.7.bbappend b/poky/meta-selftest/recipes-test/aspell/aspell_0.60.7.bbappend new file mode 100644 index 000000000..205720982 --- /dev/null +++ b/poky/meta-selftest/recipes-test/aspell/aspell_0.60.7.bbappend @@ -0,0 +1,2 @@ +# This bbappend is used to alter the recipe using the test_recipe.inc file created by tests. +include test_recipe.inc diff --git a/poky/meta-selftest/recipes-test/fortran/fortran-helloworld.bb b/poky/meta-selftest/recipes-test/fortran/fortran-helloworld.bb index 97313d7e2..3a4640447 100644 --- a/poky/meta-selftest/recipes-test/fortran/fortran-helloworld.bb +++ b/poky/meta-selftest/recipes-test/fortran/fortran-helloworld.bb @@ -11,15 +11,14 @@ SECURITY_CFLAGS = "" SECURITY_LDFLAGS = "" do_compile() { - ${HOST_PREFIX}gfortran ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS} ${LDFLAGS} ${WORKDIR}/hello.f95 -o ${B}/fortran-hello + ${FC} ${LDFLAGS} ${WORKDIR}/hello.f95 -o ${B}/fortran-hello } do_install() { - install -d ${D}${bindir} - install ${B}/fortran-hello ${D}${bindir} + install -D ${B}/fortran-hello ${D}${bindir}/fortran-hello } python () { if not d.getVar("FORTRAN"): raise bb.parse.SkipRecipe("Fortran isn't enabled") -} \ No newline at end of file +} diff --git a/poky/meta-yocto-bsp/conf/machine/genericx86-64.conf b/poky/meta-yocto-bsp/conf/machine/genericx86-64.conf index c489462dc..81ec24e97 100644 --- a/poky/meta-yocto-bsp/conf/machine/genericx86-64.conf +++ b/poky/meta-yocto-bsp/conf/machine/genericx86-64.conf @@ -7,3 +7,5 @@ require conf/machine/include/tune-core2.inc require conf/machine/include/genericx86-common.inc SERIAL_CONSOLES_CHECK = "ttyS0" +#For runqemu +QB_SYSTEM_NAME = "qemu-system-x86_64" diff --git a/poky/meta-yocto-bsp/conf/machine/genericx86.conf b/poky/meta-yocto-bsp/conf/machine/genericx86.conf index 9929d2788..1387bde85 100644 --- a/poky/meta-yocto-bsp/conf/machine/genericx86.conf +++ b/poky/meta-yocto-bsp/conf/machine/genericx86.conf @@ -7,3 +7,5 @@ require conf/machine/include/tune-core2.inc require conf/machine/include/genericx86-common.inc MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += "gma500-gfx-check" +#For runqemu +QB_SYSTEM_NAME = "qemu-system-i386" diff --git a/poky/meta/classes/gnome.bbclass b/poky/meta/classes/gnome.bbclass deleted file mode 100644 index c6202bbb7..000000000 --- a/poky/meta/classes/gnome.bbclass +++ /dev/null @@ -1 +0,0 @@ -inherit gnomebase gtk-icon-cache gconf mime diff --git a/poky/meta/classes/go.bbclass b/poky/meta/classes/go.bbclass index f303a15ea..e40e55689 100644 --- a/poky/meta/classes/go.bbclass +++ b/poky/meta/classes/go.bbclass @@ -71,17 +71,13 @@ python go_do_unpack() { if len(src_uri) == 0: return - try: - fetcher = bb.fetch2.Fetch(src_uri, d) - for url in fetcher.urls: - if fetcher.ud[url].type == 'git': - if fetcher.ud[url].parm.get('destsuffix') is None: - s_dirname = os.path.basename(d.getVar('S')) - fetcher.ud[url].parm['destsuffix'] = os.path.join(s_dirname, 'src', - d.getVar('GO_IMPORT')) + '/' - fetcher.unpack(d.getVar('WORKDIR')) - except bb.fetch2.BBFetchException as e: - raise bb.build.FuncFailed(e) + fetcher = bb.fetch2.Fetch(src_uri, d) + for url in fetcher.urls: + if fetcher.ud[url].type == 'git': + if fetcher.ud[url].parm.get('destsuffix') is None: + s_dirname = os.path.basename(d.getVar('S')) + fetcher.ud[url].parm['destsuffix'] = os.path.join(s_dirname, 'src', d.getVar('GO_IMPORT')) + '/' + fetcher.unpack(d.getVar('WORKDIR')) } go_list_packages() { diff --git a/poky/meta/classes/icecc.bbclass b/poky/meta/classes/icecc.bbclass index 095518115..78a2f7602 100644 --- a/poky/meta/classes/icecc.bbclass +++ b/poky/meta/classes/icecc.bbclass @@ -243,7 +243,11 @@ def icecc_get_external_tool(bb, d, tool): def icecc_get_tool_link(tool, d): import subprocess - return subprocess.check_output("readlink -f %s" % tool, shell=True).decode("utf-8")[:-1] + try: + return subprocess.check_output("readlink -f %s" % tool, shell=True).decode("utf-8")[:-1] + except subprocess.CalledProcessError as e: + bb.note("icecc: one of the tools probably disappeared during recipe parsing, cmd readlink -f %s returned %d:\n%s" % (tool, e.returncode, e.output.decode("utf-8"))) + return tool def icecc_get_path_tool(tool, d): # This is a little ugly, but we want to make sure we add an actual diff --git a/poky/meta/classes/image.bbclass b/poky/meta/classes/image.bbclass index 682858dc9..7fa4ff20b 100644 --- a/poky/meta/classes/image.bbclass +++ b/poky/meta/classes/image.bbclass @@ -305,11 +305,8 @@ fakeroot python do_image_qa () { bb.build.exec_func(cmd, d) except oe.utils.ImageQAFailed as e: qamsg = qamsg + '\tImage QA function %s failed: %s\n' % (e.name, e.description) - except bb.build.FuncFailed as e: - qamsg = qamsg + '\tImage QA function %s failed' % e.name - if e.logfile: - qamsg = qamsg + ' (log file is located at %s)' % e.logfile - qamsg = qamsg + '\n' + except Exception as e: + qamsg = qamsg + '\tImage QA function %s failed\n' % cmd if qamsg: imgname = d.getVar('IMAGE_NAME') diff --git a/poky/meta/classes/image_types.bbclass b/poky/meta/classes/image_types.bbclass index fd98a7d1b..2eeffbb36 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 = "gzip -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 --rsyncable ${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" @@ -324,7 +324,7 @@ RUNNABLE_MACHINE_PATTERNS ?= "qemu" DEPLOYABLE_IMAGE_TYPES ?= "hddimg iso" # The IMAGE_TYPES_MASKED variable will be used to mask out from the IMAGE_FSTYPES, -# images that will not be built at do_rootfs time: vmdk, vdi, qcow2, hdddirect, hddimg, iso, etc. +# images that will not be built at do_rootfs time: vmdk, vdi, qcow2, hddimg, iso, etc. IMAGE_TYPES_MASKED ?= "" # bmap requires python3 to be in the PATH diff --git a/poky/meta/classes/image_types_wic.bbclass b/poky/meta/classes/image_types_wic.bbclass index 97d681b1b..f350dc272 100644 --- a/poky/meta/classes/image_types_wic.bbclass +++ b/poky/meta/classes/image_types_wic.bbclass @@ -47,7 +47,8 @@ do_image_wic[depends] += "${@' '.join('%s-native:do_populate_sysroot' % r for r # We ensure all artfacts are deployed (e.g virtual/bootloader) do_image_wic[recrdeptask] += "do_deploy" -WKS_FILE_DEPENDS_DEFAULT = "syslinux-native bmap-tools-native cdrtools-native btrfs-tools-native squashfs-tools-native e2fsprogs-native" +WKS_FILE_DEPENDS_DEFAULT = '${@bb.utils.contains_any("BUILD_ARCH", [ 'x86_64', 'i686' ], "syslinux-native", "",d)}' +WKS_FILE_DEPENDS_DEFAULT += "bmap-tools-native cdrtools-native btrfs-tools-native squashfs-tools-native e2fsprogs-native" WKS_FILE_DEPENDS_BOOTLOADERS = "" WKS_FILE_DEPENDS_BOOTLOADERS_x86 = "syslinux grub-efi systemd-boot" WKS_FILE_DEPENDS_BOOTLOADERS_x86-64 = "syslinux grub-efi systemd-boot" @@ -76,6 +77,11 @@ python do_write_wks_template () { wks_file = d.getVar('WKS_FULL_PATH') with open(wks_file, 'w') as f: f.write(template_body) + f.close() + # Copy the finalized wks file to the deploy directory for later use + depdir = d.getVar('IMGDEPLOYDIR') + basename = d.getVar('IMAGE_BASENAME') + bb.utils.copyfile(wks_file, "%s/%s" % (depdir, basename + '-' + os.path.basename(wks_file))) } python () { @@ -104,7 +110,7 @@ python () { # file in process_wks_template as well, so just put it in # a variable and let the metadata deal with the deps. d.setVar('_WKS_TEMPLATE', body) - bb.build.addtask('do_write_wks_template', 'do_image_wic', None, d) + bb.build.addtask('do_write_wks_template', 'do_image_wic', 'do_image', d) bb.build.addtask('do_image_wic', 'do_image_complete', None, d) } @@ -126,6 +132,10 @@ python do_rootfs_wicenv () { value = d.getVar(var) if value: envf.write('%s="%s"\n' % (var, value.strip())) + envf.close() + # Copy .env file to deploy directory for later use with stand alone wic + depdir = d.getVar('IMGDEPLOYDIR') + bb.utils.copyfile(os.path.join(outdir, basename) + '.env', os.path.join(depdir, basename) + '.env') } addtask do_rootfs_wicenv after do_image before do_image_wic do_rootfs_wicenv[vardeps] += "${WICVARS}" diff --git a/poky/meta/classes/insane.bbclass b/poky/meta/classes/insane.bbclass index 891d3a842..9b886d138 100644 --- a/poky/meta/classes/insane.bbclass +++ b/poky/meta/classes/insane.bbclass @@ -722,25 +722,7 @@ def package_qa_check_rdepends(pkg, pkgdest, skip, taskdeps, packages, d): filerdepends[subkey] = key[13:] if filerdepends: - next = rdepends done = rdepends[:] - # Find all the rdepends on the dependency chain - while next: - new = [] - for rdep in next: - rdep_data = oe.packagedata.read_subpkgdata(rdep, d) - sub_rdeps = rdep_data.get("RDEPENDS_" + rdep) - if not sub_rdeps: - continue - for sub_rdep in bb.utils.explode_deps(sub_rdeps): - if sub_rdep in done: - continue - if oe.packagedata.has_subpkgdata(sub_rdep, d): - # It's a new rdep - done.append(sub_rdep) - new.append(sub_rdep) - next = new - # Add the rprovides of itself if pkg not in done: done.insert(0, pkg) @@ -1237,6 +1219,11 @@ python () { if prog.search(pn): package_qa_handle_error("uppercase-pn", 'PN: %s is upper case, this can result in unexpected behavior.' % pn, d) + # Some people mistakenly use DEPENDS_${PN} instead of DEPENDS and wonder + # why it doesn't work. + if (d.getVar(d.expand('DEPENDS_${PN}'))): + package_qa_handle_error("pkgvarcheck", "recipe uses DEPENDS_${PN}, should use DEPENDS", d) + issues = [] if (d.getVar('PACKAGES') or "").split(): for dep in (d.getVar('QADEPENDS') or "").split(): diff --git a/poky/meta/classes/kernel-uboot.bbclass b/poky/meta/classes/kernel-uboot.bbclass index 0457c5d1d..87f02654f 100644 --- a/poky/meta/classes/kernel-uboot.bbclass +++ b/poky/meta/classes/kernel-uboot.bbclass @@ -3,10 +3,6 @@ uboot_prep_kimage() { vmlinux_path="arch/${ARCH}/boot/compressed/vmlinux" linux_suffix="" linux_comp="none" - elif [ -e arch/${ARCH}/boot/Image ] ; then - vmlinux_path="vmlinux" - 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 a60e15b57..bf3674238 100644 --- a/poky/meta/classes/kernel.bbclass +++ b/poky/meta/classes/kernel.bbclass @@ -454,7 +454,7 @@ do_shared_workdir () { cp .config $kerneldir/ mkdir -p $kerneldir/include/config cp include/config/kernel.release $kerneldir/include/config/kernel.release - if [ -e certs/signing_key.pem ]; then + if [ -e certs/signing_key.x509 ]; then # The signing_key.* files are stored in the certs/ dir in # newer Linux kernels mkdir -p $kerneldir/certs diff --git a/poky/meta/classes/license_image.bbclass b/poky/meta/classes/license_image.bbclass index 2cfda81c9..3f102d0fb 100644 --- a/poky/meta/classes/license_image.bbclass +++ b/poky/meta/classes/license_image.bbclass @@ -198,10 +198,6 @@ def get_deployed_dependencies(d): deploy = {} # Get all the dependencies for the current task (rootfs). - # Also get EXTRA_IMAGEDEPENDS because the bootloader is - # usually in this var and not listed in rootfs. - # At last, get the dependencies from boot classes because - # it might contain the bootloader. taskdata = d.getVar("BB_TASKDEPDATA", False) depends = list(set([dep[0] for dep in list(taskdata.values()) diff --git a/poky/meta/classes/linuxloader.bbclass b/poky/meta/classes/linuxloader.bbclass index b4c413494..c0fbf2683 100644 --- a/poky/meta/classes/linuxloader.bbclass +++ b/poky/meta/classes/linuxloader.bbclass @@ -19,6 +19,8 @@ def get_musl_loader(d): dynamic_loader = "${base_libdir}/ld-musl-arm${ARMPKGSFX_ENDIAN}${ARMPKGSFX_EABI}.so.1" elif targetarch.startswith("aarch64"): dynamic_loader = "${base_libdir}/ld-musl-aarch64${ARMPKGSFX_ENDIAN_64}.so.1" + elif targetarch.startswith("riscv64"): + dynamic_loader = "${base_libdir}/ld-musl-riscv64${@['', '-sf'][d.getVar('TARGET_FPU') == 'soft']}.so.1" return dynamic_loader def get_glibc_loader(d): @@ -42,6 +44,8 @@ def get_glibc_loader(d): dynamic_loader = "${base_libdir}/ld-linux.so.3" elif targetarch.startswith("aarch64"): dynamic_loader = "${base_libdir}/ld-linux-aarch64${ARMPKGSFX_ENDIAN_64}.so.1" + elif targetarch.startswith("riscv64"): + dynamic_loader = "${base_libdir}/ld-linux-riscv64-lp64${@['d', ''][d.getVar('TARGET_FPU') == 'soft']}.so.1" return dynamic_loader def get_linuxloader(d): diff --git a/poky/meta/classes/meson.bbclass b/poky/meta/classes/meson.bbclass index 626b0e789..48ca112d8 100644 --- a/poky/meta/classes/meson.bbclass +++ b/poky/meta/classes/meson.bbclass @@ -24,11 +24,7 @@ MESONOPTS = " --prefix ${prefix} \ --infodir ${@noprefix('infodir', d)} \ --sysconfdir ${sysconfdir} \ --localstatedir ${localstatedir} \ - --sharedstatedir ${sharedstatedir} \ - -Dc_args='${BUILD_CPPFLAGS} ${BUILD_CFLAGS}' \ - -Dc_link_args='${BUILD_LDFLAGS}' \ - -Dcpp_args='${BUILD_CPPFLAGS} ${BUILD_CXXFLAGS}' \ - -Dcpp_link_args='${BUILD_LDFLAGS}'" + --sharedstatedir ${sharedstatedir} " EXTRA_OEMESON_append = " ${PACKAGECONFIG_CONFARGS}" @@ -86,7 +82,7 @@ ld = ${@meson_array('LD', d)} strip = ${@meson_array('STRIP', d)} readelf = ${@meson_array('READELF', d)} pkgconfig = 'pkg-config' -llvm-config = 'llvm-config8.0.0' +llvm-config = 'llvm-config${LLVMVERSION}' [properties] needs_exe_wrapper = true diff --git a/poky/meta/classes/package.bbclass b/poky/meta/classes/package.bbclass index 8b89fb112..e67bb5bd9 100644 --- a/poky/meta/classes/package.bbclass +++ b/poky/meta/classes/package.bbclass @@ -1924,7 +1924,7 @@ python package_do_pkgconfig () { for dir in reversed(shlibs_dirs): if not os.path.exists(dir): continue - for file in os.listdir(dir): + for file in sorted(os.listdir(dir)): m = re.match(r'^(.*)\.pclist$', file) if m: pkg = m.group(1) diff --git a/poky/meta/classes/package_deb.bbclass b/poky/meta/classes/package_deb.bbclass index 6f8159165..790b26aef 100644 --- a/poky/meta/classes/package_deb.bbclass +++ b/poky/meta/classes/package_deb.bbclass @@ -6,6 +6,8 @@ inherit package IMAGE_PKGTYPE ?= "deb" +DPKG_BUILDCMD ??= "dpkg-deb" + DPKG_ARCH ?= "${@debian_arch_map(d.getVar('TARGET_ARCH'), d.getVar('TUNE_FEATURES'))}" DPKG_ARCH[vardepvalue] = "${DPKG_ARCH}" @@ -269,7 +271,8 @@ def deb_write_pkg(pkg, d): conffiles.close() os.chdir(basedir) - subprocess.check_output("PATH=\"%s\" dpkg-deb -b %s %s" % (localdata.getVar("PATH"), root, pkgoutdir), + subprocess.check_output("PATH=\"%s\" %s -b %s %s" % (localdata.getVar("PATH"), localdata.getVar("DPKG_BUILDCMD"), + root, pkgoutdir), stderr=subprocess.STDOUT, shell=True) diff --git a/poky/meta/classes/sanity.bbclass b/poky/meta/classes/sanity.bbclass index 9429202dc..2d3f49eb1 100644 --- a/poky/meta/classes/sanity.bbclass +++ b/poky/meta/classes/sanity.bbclass @@ -573,7 +573,7 @@ def sanity_check_conffiles(d): if check_conf_exists(conffile, d) and d.getVar(current_version) is not None and \ d.getVar(current_version) != d.getVar(required_version): try: - bb.build.exec_func(func, d, pythonexception=True) + bb.build.exec_func(func, d) except NotImplementedError as e: bb.fatal(str(e)) d.setVar("BB_INVALIDCONF", True) diff --git a/poky/meta/classes/sstate.bbclass b/poky/meta/classes/sstate.bbclass index b604729d8..11222223a 100644 --- a/poky/meta/classes/sstate.bbclass +++ b/poky/meta/classes/sstate.bbclass @@ -329,7 +329,7 @@ def sstate_installpkg(ss, d): pstaging_fetch(sstatefetch, d) if not os.path.isfile(sstatepkg): - bb.note("Staging package %s does not exist" % sstatepkg) + bb.note("Sstate package %s does not exist" % sstatepkg) return False sstate_clean(ss, d) @@ -340,7 +340,8 @@ def sstate_installpkg(ss, d): if bb.utils.to_boolean(d.getVar("SSTATE_VERIFY_SIG"), False): signer = get_signer(d, 'local') if not signer.verify(sstatepkg + '.sig'): - bb.warn("Cannot verify signature on sstate package %s" % sstatepkg) + bb.warn("Cannot verify signature on sstate package %s, skipping acceleration..." % sstatepkg) + return False # Empty sstateinst directory, ensure its clean if os.path.exists(sstateinst): @@ -658,8 +659,12 @@ def sstate_package(ss, d): if d.getVar('SSTATE_SKIP_CREATION') == '1': return + sstate_create_package = ['sstate_report_unihash', 'sstate_create_package'] + if d.getVar('SSTATE_SIG_KEY'): + sstate_create_package.append('sstate_sign_package') + for f in (d.getVar('SSTATECREATEFUNCS') or '').split() + \ - ['sstate_report_unihash', 'sstate_create_package', 'sstate_sign_package'] + \ + sstate_create_package + \ (d.getVar('SSTATEPOSTCREATEFUNCS') or '').split(): # All hooks should run in SSTATE_BUILDDIR. bb.build.exec_func(f, d, (sstatebuild,)) @@ -750,6 +755,11 @@ sstate_task_postfunc[dirs] = "${WORKDIR}" sstate_create_package () { TFILE=`mktemp ${SSTATE_PKG}.XXXXXXXX` + # Exit earlu if it already exists + if [ -e ${SSTATE_PKG} ]; then + return + fi + # Use pigz if available OPT="-czS" if [ -x "$(command -v pigz)" ]; then @@ -769,19 +779,24 @@ sstate_create_package () { tar $OPT --file=$TFILE --files-from=/dev/null fi chmod 0664 $TFILE - mv -f $TFILE ${SSTATE_PKG} + # Skip if it was already created by some other process + if [ ! -e ${SSTATE_PKG} ]; then + mv -f $TFILE ${SSTATE_PKG} + else + rm $TFILE + fi } python sstate_sign_package () { from oe.gpg_sign import get_signer - if d.getVar('SSTATE_SIG_KEY'): - signer = get_signer(d, 'local') - sstate_pkg = d.getVar('SSTATE_PKG') - if os.path.exists(sstate_pkg + '.sig'): - os.unlink(sstate_pkg + '.sig') - signer.detach_sign(sstate_pkg, d.getVar('SSTATE_SIG_KEY', False), None, - d.getVar('SSTATE_SIG_PASSPHRASE'), armor=False) + + signer = get_signer(d, 'local') + sstate_pkg = d.getVar('SSTATE_PKG') + if os.path.exists(sstate_pkg + '.sig'): + os.unlink(sstate_pkg + '.sig') + signer.detach_sign(sstate_pkg, d.getVar('SSTATE_SIG_KEY', False), None, + d.getVar('SSTATE_SIG_PASSPHRASE'), armor=False) } python sstate_report_unihash() { @@ -808,29 +823,26 @@ sstate_unpack_package () { BB_HASHCHECK_FUNCTION = "sstate_checkhashes" -def sstate_checkhashes(sq_fn, sq_task, sq_hash, sq_hashfn, d, siginfo=False, *, sq_unihash=None): - - ret = [] - missed = [] +def sstate_checkhashes(sq_data, d, siginfo=False, currentcount=0, **kwargs): + found = set() + missed = set() extension = ".tgz" if siginfo: extension = extension + ".siginfo" def gethash(task): - if sq_unihash is not None: - return sq_unihash[task] - return sq_hash[task] + return sq_data['unihash'][task] def getpathcomponents(task, d): # Magic data from BB_HASHFILENAME - splithashfn = sq_hashfn[task].split(" ") + splithashfn = sq_data['hashfn'][task].split(" ") spec = splithashfn[1] if splithashfn[0] == "True": extrapath = d.getVar("NATIVELSBSTRING") + "/" else: extrapath = "" - - tname = sq_task[task][3:] + + tname = bb.runqueue.taskname_from_tid(task)[3:] if tname in ["fetch", "unpack", "patch", "populate_lic", "preconfigure"] and splithashfn[2]: spec = splithashfn[2] @@ -839,18 +851,18 @@ def sstate_checkhashes(sq_fn, sq_task, sq_hash, sq_hashfn, d, siginfo=False, *, return spec, extrapath, tname - for task in range(len(sq_fn)): + for tid in sq_data['hash']: - spec, extrapath, tname = getpathcomponents(task, d) + spec, extrapath, tname = getpathcomponents(tid, d) - sstatefile = d.expand("${SSTATE_DIR}/" + extrapath + generate_sstatefn(spec, gethash(task), d) + "_" + tname + extension) + sstatefile = d.expand("${SSTATE_DIR}/" + extrapath + generate_sstatefn(spec, gethash(tid), d) + "_" + tname + extension) if os.path.exists(sstatefile): bb.debug(2, "SState: Found valid sstate file %s" % sstatefile) - ret.append(task) + found.add(tid) continue else: - missed.append(task) + missed.add(tid) bb.debug(2, "SState: Looked for but didn't find file %s" % sstatefile) mirrors = d.getVar("SSTATE_MIRRORS") @@ -880,7 +892,7 @@ def sstate_checkhashes(sq_fn, sq_task, sq_hash, sq_hashfn, d, siginfo=False, *, thread_worker.connection_cache.close_connections() def checkstatus(thread_worker, arg): - (task, sstatefile) = arg + (tid, sstatefile) = arg localdata2 = bb.data.createCopy(localdata) srcuri = "file://" + sstatefile @@ -892,22 +904,22 @@ def sstate_checkhashes(sq_fn, sq_task, sq_hash, sq_hashfn, d, siginfo=False, *, connection_cache=thread_worker.connection_cache) fetcher.checkstatus() bb.debug(2, "SState: Successful fetch test for %s" % srcuri) - ret.append(task) - if task in missed: - missed.remove(task) + found.add(tid) + if tid in missed: + missed.remove(tid) except: - missed.append(task) + missed.add(tid) bb.debug(2, "SState: Unsuccessful fetch test for %s" % srcuri) pass bb.event.fire(bb.event.ProcessProgress(msg, len(tasklist) - thread_worker.tasks.qsize()), d) tasklist = [] - for task in range(len(sq_fn)): - if task in ret: + for tid in sq_data['hash']: + if tid in found: continue - spec, extrapath, tname = getpathcomponents(task, d) - sstatefile = d.expand(extrapath + generate_sstatefn(spec, gethash(task), d) + "_" + tname + extension) - tasklist.append((task, sstatefile)) + spec, extrapath, tname = getpathcomponents(tid, d) + sstatefile = d.expand(extrapath + generate_sstatefn(spec, gethash(tid), d) + "_" + tname + extension) + tasklist.append((tid, sstatefile)) if tasklist: msg = "Checking sstate mirror object availability" @@ -928,38 +940,37 @@ def sstate_checkhashes(sq_fn, sq_task, sq_hash, sq_hashfn, d, siginfo=False, *, bb.event.fire(bb.event.ProcessFinished(msg), d) # Likely checking an individual task hash again for multiconfig sharing of sstate tasks so skip reporting - if len(sq_fn) == 1: - return ret + if len(sq_data['hash']) == 1: + return found inheritlist = d.getVar("INHERIT") if "toaster" in inheritlist: evdata = {'missed': [], 'found': []}; - for task in missed: - spec, extrapath, tname = getpathcomponents(task, d) - sstatefile = d.expand(extrapath + generate_sstatefn(spec, gethash(task), d) + "_" + tname + ".tgz") - evdata['missed'].append( (sq_fn[task], sq_task[task], gethash(task), sstatefile ) ) - for task in ret: - spec, extrapath, tname = getpathcomponents(task, d) - sstatefile = d.expand(extrapath + generate_sstatefn(spec, gethash(task), d) + "_" + tname + ".tgz") - evdata['found'].append( (sq_fn[task], sq_task[task], gethash(task), sstatefile ) ) + for tid in missed: + spec, extrapath, tname = getpathcomponents(tid, d) + sstatefile = d.expand(extrapath + generate_sstatefn(spec, gethash(tid), d) + "_" + tname + ".tgz") + evdata['missed'].append((bb.runqueue.fn_from_tid(tid), bb.runqueue.taskname_from_tid(tid), gethash(tid), sstatefile ) ) + for tid in found: + spec, extrapath, tname = getpathcomponents(tid, d) + sstatefile = d.expand(extrapath + generate_sstatefn(spec, gethash(tid), d) + "_" + tname + ".tgz") + evdata['found'].append((bb.runqueue.fn_from_tid(tid), bb.runqueue.taskname_from_tid(tid), gethash(tid), sstatefile ) ) bb.event.fire(bb.event.MetadataEvent("MissedSstate", evdata), d) # Print some summary statistics about the current task completion and how much sstate # reuse there was. Avoid divide by zero errors. - total = len(sq_fn) - currentcount = d.getVar("BB_SETSCENE_STAMPCURRENT_COUNT") or 0 + total = len(sq_data['hash']) complete = 0 if currentcount: - complete = (len(ret) + currentcount) / (total + currentcount) * 100 + complete = (len(found) + currentcount) / (total + currentcount) * 100 match = 0 if total: - match = len(ret) / total * 100 - bb.plain("Sstate summary: Wanted %d Found %d Missed %d Current %d (%d%% match, %d%% complete)" % (total, len(ret), len(missed), currentcount, match, complete)) + match = len(found) / total * 100 + bb.plain("Sstate summary: Wanted %d Found %d Missed %d Current %d (%d%% match, %d%% complete)" % (total, len(found), len(missed), currentcount, match, complete)) if hasattr(bb.parse.siggen, "checkhashes"): - bb.parse.siggen.checkhashes(missed, ret, sq_fn, sq_task, sq_hash, sq_hashfn, d) + bb.parse.siggen.checkhashes(sq_data, missed, found, d) - return ret + return found BB_SETSCENE_DEPVALID = "setscene_depvalid" diff --git a/poky/meta/classes/syslinux.bbclass b/poky/meta/classes/syslinux.bbclass index 031dacbf7..894f6b371 100644 --- a/poky/meta/classes/syslinux.bbclass +++ b/poky/meta/classes/syslinux.bbclass @@ -75,11 +75,6 @@ syslinux_hddimg_install() { syslinux ${IMGDEPLOYDIR}/${IMAGE_NAME}.hddimg } -syslinux_hdddirect_install() { - DEST=$1 - syslinux $DEST -} - python build_syslinux_cfg () { import copy import sys diff --git a/poky/meta/classes/uboot-extlinux-config.bbclass b/poky/meta/classes/uboot-extlinux-config.bbclass index b5b1a81df..f4bf94be0 100644 --- a/poky/meta/classes/uboot-extlinux-config.bbclass +++ b/poky/meta/classes/uboot-extlinux-config.bbclass @@ -104,13 +104,16 @@ python do_create_extlinux_config() { if default: cfgfile.write('DEFAULT %s\n' % (default)) - for label in labels.split(): + # Need to deconflict the labels with existing overrides + label_overrides = labels.split() + default_overrides = localdata.getVar('OVERRIDES').split(':') + # We're keeping all the existing overrides that aren't used as a label + # an override for that label will be added back in while we're processing that label + keep_overrides = list(filter(lambda x: x not in label_overrides, default_overrides)) - overrides = localdata.getVar('OVERRIDES') - if not overrides: - bb.fatal('OVERRIDES not defined') + for label in labels.split(): - localdata.setVar('OVERRIDES', label + ':' + overrides) + localdata.setVar('OVERRIDES', ':'.join(keep_overrides + [label])) extlinux_console = localdata.getVar('UBOOT_EXTLINUX_CONSOLE') diff --git a/poky/meta/conf/bitbake.conf b/poky/meta/conf/bitbake.conf index 140f45b89..ddcac09c5 100644 --- a/poky/meta/conf/bitbake.conf +++ b/poky/meta/conf/bitbake.conf @@ -885,7 +885,7 @@ BB_HASHBASE_WHITELIST ?= "TMPDIR FILE PATH PWD BB_TASKHASH BBPATH BBSERVER DL_DI WARN_QA ERROR_QA WORKDIR STAMPCLEAN PKGDATA_DIR BUILD_ARCH SSTATE_PKGARCH \ BB_WORKERCONTEXT BB_LIMITEDDEPS BB_UNIHASH extend_recipe_sysroot DEPLOY_DIR \ SSTATE_HASHEQUIV_METHOD SSTATE_HASHEQUIV_SERVER SSTATE_HASHEQUIV_REPORT_TASKDATA \ - SSTATE_HASHEQUIV_OWNER CCACHE_TOP_DIR" + SSTATE_HASHEQUIV_OWNER CCACHE_TOP_DIR BB_HASHSERVE" BB_HASHCONFIG_WHITELIST ?= "${BB_HASHBASE_WHITELIST} DATE TIME SSH_AGENT_PID \ SSH_AUTH_SOCK PSEUDO_BUILD BB_ENV_EXTRAWHITE DISABLE_SANITY_CHECKS \ PARALLEL_MAKE BB_NUMBER_THREADS BB_ORIGENV BB_INVALIDCONF BBINCLUDED \ diff --git a/poky/meta/conf/distro/include/distro_alias.inc b/poky/meta/conf/distro/include/distro_alias.inc index d2ccb1ee4..ab6ebdb89 100644 --- a/poky/meta/conf/distro/include/distro_alias.inc +++ b/poky/meta/conf/distro/include/distro_alias.inc @@ -181,7 +181,6 @@ DISTRO_PN_ALIAS_pn-libpcre2 = "Fedora=pcre2 Debian=pcre2 Clear=pcre2" DISTRO_PN_ALIAS_pn-libpng12 = "Debian=libpng12-0 Fedora=libpng" DISTRO_PN_ALIAS_pn-libpod-plainer-perl = "OSPDT" DISTRO_PN_ALIAS_pn-libsamplerate0 = "Meego=libsamplerate Fedora=libsamplerate OpenSuSE=libsamplerate Ubuntu=libsamplerate Mandriva=libsamplerate Debian=libsamplerate" -DISTRO_PN_ALIAS_pn-libsdl = "Fedora=SDL Opensuse=SDL" DISTRO_PN_ALIAS_pn-libsdl2 = "Fedora=sdl2 Opensuse=libsdl2 Ubuntu=libsdl2 Debian=libsdl2" DISTRO_PN_ALIAS_pn-libsndfile1 = "Meego=libsndfile Fedora=libsndfile OpenSuSE=libsndfile Ubuntu=libsndfile Mandriva=libsndfile Debian=libsndfile" DISTRO_PN_ALIAS_pn-libsoup-2.4 = "Meego=libsoup Fedora=libsoup OpenSuSE=libsoup Ubuntu=libsoup2.4 Mandriva=libsoup Debian=libsoup2.4" @@ -196,7 +195,6 @@ DISTRO_PN_ALIAS_pn-libxft = "Mandriva=libxft Debian=libxft2 Ubuntu=libxft2" DISTRO_PN_ALIAS_pn-libxi = "Ubuntu=libxi Fedora=libXi" DISTRO_PN_ALIAS_pn-libxkbcommon = "Fedora=libxkbcommon Debian=libxkbcommon" DISTRO_PN_ALIAS_pn-libxscrnsaver = "Fedora=libXScrnSaver Ubuntu=libxss1 Mandriva=libxscrnsaver" -DISTRO_PN_ALIAS_pn-libxxf86misc = "Mandriva=libxxf86misc Fedora=libXxf86misc" DISTRO_PN_ALIAS_pn-linux-dummy = "Intel" DISTRO_PN_ALIAS_pn-linux-firmware = "Fedora=linux-firmware Ubuntu=linux-firmware" DISTRO_PN_ALIAS_pn-linux-libc-headers = "Debian=linux-kernel-headers Ubuntu=linux-kernel-headers" diff --git a/poky/meta/conf/distro/include/maintainers.inc b/poky/meta/conf/distro/include/maintainers.inc index 77a753a5b..a59550794 100644 --- a/poky/meta/conf/distro/include/maintainers.inc +++ b/poky/meta/conf/distro/include/maintainers.inc @@ -28,7 +28,7 @@ # Please keep this list in alphabetical order. # RECIPE_MAINTAINER_pn-acl = "Chen Qi " -RECIPE_MAINTAINER_pn-acpica = "Fathi Boudra " +RECIPE_MAINTAINER_pn-acpica = "Ross Burton " RECIPE_MAINTAINER_pn-acpid = "Ross Burton " RECIPE_MAINTAINER_pn-adwaita-icon-theme = "Ross Burton " RECIPE_MAINTAINER_pn-alsa-lib = "Tanu Kaskinen " @@ -326,6 +326,7 @@ RECIPE_MAINTAINER_pn-libdazzle = "Alexander Kanavin " RECIPE_MAINTAINER_pn-libdmx = "Armin Kuster " RECIPE_MAINTAINER_pn-libdnf = "Alexander Kanavin " RECIPE_MAINTAINER_pn-libdrm = "Otavio Salvador " +RECIPE_MAINTAINER_pn-libedit = "Khem Raj " RECIPE_MAINTAINER_pn-libepoxy = "Anuj Mittal " RECIPE_MAINTAINER_pn-liberation-fonts = "Alexander Kanavin " RECIPE_MAINTAINER_pn-liberror-perl = "Tim Orling " @@ -380,7 +381,6 @@ RECIPE_MAINTAINER_pn-libpsl = "Anuj Mittal " RECIPE_MAINTAINER_pn-librepo = "Alexander Kanavin " RECIPE_MAINTAINER_pn-librsvg = "Anuj Mittal " RECIPE_MAINTAINER_pn-libsamplerate0 = "Tanu Kaskinen " -RECIPE_MAINTAINER_pn-libsdl = "Yi Zhao " RECIPE_MAINTAINER_pn-libsdl2 = "Yi Zhao " RECIPE_MAINTAINER_pn-libsecret = "Alexander Kanavin " RECIPE_MAINTAINER_pn-libsm = "Armin Kuster " @@ -406,7 +406,6 @@ RECIPE_MAINTAINER_pn-libva-utils = "Anuj Mittal " RECIPE_MAINTAINER_pn-libvorbis = "Tanu Kaskinen " RECIPE_MAINTAINER_pn-libwebp = "Alexander Kanavin " RECIPE_MAINTAINER_pn-libx11 = "Armin Kuster " -RECIPE_MAINTAINER_pn-libx11-diet = "Armin Kuster " RECIPE_MAINTAINER_pn-libxau = "Armin Kuster " RECIPE_MAINTAINER_pn-libxcb = "Armin Kuster " RECIPE_MAINTAINER_pn-libxcomposite = "Armin Kuster " @@ -443,8 +442,6 @@ RECIPE_MAINTAINER_pn-libxt = "Armin Kuster " RECIPE_MAINTAINER_pn-libxtst = "Armin Kuster " RECIPE_MAINTAINER_pn-libxv = "Armin Kuster " RECIPE_MAINTAINER_pn-libxvmc = "Armin Kuster " -RECIPE_MAINTAINER_pn-libxxf86dga = "Armin Kuster " -RECIPE_MAINTAINER_pn-libxxf86misc = "Armin Kuster " RECIPE_MAINTAINER_pn-libxxf86vm = "Armin Kuster " RECIPE_MAINTAINER_pn-libyaml = "Alexander Kanavin " RECIPE_MAINTAINER_pn-lighttpd = "Alexander Kanavin " @@ -588,38 +585,34 @@ RECIPE_MAINTAINER_pn-ptest-runner = "Ross Burton " RECIPE_MAINTAINER_pn-pulseaudio = "Tanu Kaskinen " RECIPE_MAINTAINER_pn-pulseaudio-client-conf-sato = "Tanu Kaskinen " RECIPE_MAINTAINER_pn-puzzles = "Anuj Mittal " -RECIPE_MAINTAINER_pn-python = "Derek Straka " -RECIPE_MAINTAINER_pn-python-native = "Derek Straka " -RECIPE_MAINTAINER_pn-python-nose = "Derek Straka " -RECIPE_MAINTAINER_pn-python-numpy = "Derek Straka " -RECIPE_MAINTAINER_pn-python-scons = "Derek Straka " -RECIPE_MAINTAINER_pn-python-scons-native = "Derek Straka " -RECIPE_MAINTAINER_pn-python-setuptools = "Derek Straka " -RECIPE_MAINTAINER_pn-python3 = "Derek Straka " -RECIPE_MAINTAINER_pn-python3-async = "Derek Straka " -RECIPE_MAINTAINER_pn-python3-dbus = "Derek Straka " -RECIPE_MAINTAINER_pn-python3-docutils = "Derek Straka " -RECIPE_MAINTAINER_pn-python3-extras = "Derek Straka " -RECIPE_MAINTAINER_pn-python3-file-utils = "Derek Straka " -RECIPE_MAINTAINER_pn-python3-git = "Derek Straka " -RECIPE_MAINTAINER_pn-python3-gitdb = "Derek Straka " -RECIPE_MAINTAINER_pn-python3-iniparse = "Derek Straka " -RECIPE_MAINTAINER_pn-python3-mako = "Derek Straka " -RECIPE_MAINTAINER_pn-python3-native = "Derek Straka " -RECIPE_MAINTAINER_pn-python3-nose = "Derek Straka " -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-python = "Oleksandr Kravchuk " +RECIPE_MAINTAINER_pn-python-native = "Oleksandr Kravchuk " +RECIPE_MAINTAINER_pn-python-setuptools = "Oleksandr Kravchuk " +RECIPE_MAINTAINER_pn-python3 = "Oleksandr Kravchuk " +RECIPE_MAINTAINER_pn-python3-async = "Oleksandr Kravchuk " +RECIPE_MAINTAINER_pn-python3-dbus = "Oleksandr Kravchuk " +RECIPE_MAINTAINER_pn-python3-docutils = "Oleksandr Kravchuk " +RECIPE_MAINTAINER_pn-python3-extras = "Oleksandr Kravchuk " +RECIPE_MAINTAINER_pn-python3-file-utils = "Oleksandr Kravchuk " +RECIPE_MAINTAINER_pn-python3-git = "Oleksandr Kravchuk " +RECIPE_MAINTAINER_pn-python3-gitdb = "Oleksandr Kravchuk " +RECIPE_MAINTAINER_pn-python3-iniparse = "Oleksandr Kravchuk " +RECIPE_MAINTAINER_pn-python3-mako = "Oleksandr Kravchuk " +RECIPE_MAINTAINER_pn-python3-native = "Oleksandr Kravchuk " +RECIPE_MAINTAINER_pn-python3-nose = "Oleksandr Kravchuk " +RECIPE_MAINTAINER_pn-python3-numpy = "Oleksandr Kravchuk " +RECIPE_MAINTAINER_pn-python3-pbr = "Oleksandr Kravchuk " +RECIPE_MAINTAINER_pn-python3-pip = "Oleksandr Kravchuk " +RECIPE_MAINTAINER_pn-python3-pycairo = "Oleksandr Kravchuk " +RECIPE_MAINTAINER_pn-python3-pygments = "Oleksandr Kravchuk " +RECIPE_MAINTAINER_pn-python3-pygobject = "Oleksandr Kravchuk " 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 " -RECIPE_MAINTAINER_pn-python3-subunit = "Derek Straka " -RECIPE_MAINTAINER_pn-python3-testtools = "Derek Straka " +RECIPE_MAINTAINER_pn-python3-setuptools = "Oleksandr Kravchuk " +RECIPE_MAINTAINER_pn-python3-six = "Oleksandr Kravchuk " +RECIPE_MAINTAINER_pn-python3-smmap = "Oleksandr Kravchuk " +RECIPE_MAINTAINER_pn-python3-subunit = "Oleksandr Kravchuk " +RECIPE_MAINTAINER_pn-python3-testtools = "Oleksandr Kravchuk " RECIPE_MAINTAINER_pn-qemu = "Richard Purdie " RECIPE_MAINTAINER_pn-qemu-helper-native = "Richard Purdie " RECIPE_MAINTAINER_pn-qemu-native = "Richard Purdie " @@ -662,7 +655,7 @@ RECIPE_MAINTAINER_pn-sqlite3 = "Anuj Mittal " RECIPE_MAINTAINER_pn-squashfs-tools = "Robert Yang " RECIPE_MAINTAINER_pn-startup-notification = "Alexander Kanavin " RECIPE_MAINTAINER_pn-strace = "Robert Yang " -RECIPE_MAINTAINER_pn-stress = "Anuj Mittal " +RECIPE_MAINTAINER_pn-stress-ng = "Anuj Mittal " RECIPE_MAINTAINER_pn-subversion = "Richard Purdie " RECIPE_MAINTAINER_pn-sudo = "Chen Qi " RECIPE_MAINTAINER_pn-swig = "Anuj Mittal " diff --git a/poky/meta/conf/distro/include/tcmode-default.inc b/poky/meta/conf/distro/include/tcmode-default.inc index 32176dae4..1966dbd52 100644 --- a/poky/meta/conf/distro/include/tcmode-default.inc +++ b/poky/meta/conf/distro/include/tcmode-default.inc @@ -22,10 +22,13 @@ GCCVERSION ?= "9.%" SDKGCCVERSION ?= "${GCCVERSION}" BINUVERSION ?= "2.32%" GDBVERSION ?= "8.3%" -GLIBCVERSION ?= "2.29%" +GLIBCVERSION ?= "2.30%" LINUXLIBCVERSION ?= "5.0%" QEMUVERSION ?= "4.0%" GOVERSION ?= "1.12%" +# This can not use wildcards like 8.0.% since it is also used in mesa to denote +# llvm version being used, so always bump it with llvm recipe version bump +LLVMVERSION ?= "8.0.1" PREFERRED_VERSION_gcc ?= "${GCCVERSION}" PREFERRED_VERSION_gcc-cross-${TARGET_ARCH} ?= "${GCCVERSION}" @@ -76,3 +79,7 @@ PREFERRED_VERSION_go-native ?= "${GOVERSION}" PREFERRED_VERSION_go-runtime ?= "${GOVERSION}" PREFERRED_VERSION_nativesdk-go ?= "${GOVERSION}" PREFERRED_VERSION_nativesdk-go-runtime ?= "${GOVERSION}" + +PREFERRED_VERSION_llvm = "${LLVMVERSION}" +PREFERRED_VERSION_llvm-native = "${LLVMVERSION}" +PREFERRED_VERSION_nativesdk-llvm = "${LLVMVERSION}" diff --git a/poky/meta/conf/machine/include/qemuboot-x86.inc b/poky/meta/conf/machine/include/qemuboot-x86.inc index 82ce46d86..3931b0f0f 100644 --- a/poky/meta/conf/machine/include/qemuboot-x86.inc +++ b/poky/meta/conf/machine/include/qemuboot-x86.inc @@ -1,10 +1,8 @@ # For runqemu IMAGE_CLASSES += "qemuboot" -QB_SYSTEM_NAME_x86 = "qemu-system-i386" QB_CPU_x86 = "-cpu core2duo" QB_CPU_KVM_x86 = "-cpu core2duo" -QB_SYSTEM_NAME_x86-64 = "qemu-system-x86_64" QB_CPU_x86-64 = "-cpu core2duo" QB_CPU_KVM_x86-64 = "-cpu core2duo" diff --git a/poky/meta/conf/machine/qemux86-64.conf b/poky/meta/conf/machine/qemux86-64.conf index 383e3bd6f..4b50e664e 100644 --- a/poky/meta/conf/machine/qemux86-64.conf +++ b/poky/meta/conf/machine/qemux86-64.conf @@ -39,3 +39,6 @@ module_conf_uvesafb = "options uvesafb mode_option=${UVESA_MODE}" WKS_FILE ?= "qemux86-directdisk.wks" do_image_wic[depends] += "syslinux:do_populate_sysroot syslinux-native:do_populate_sysroot mtools-native:do_populate_sysroot dosfstools-native:do_populate_sysroot" + +#For runqemu +QB_SYSTEM_NAME = "qemu-system-x86_64" diff --git a/poky/meta/conf/machine/qemux86.conf b/poky/meta/conf/machine/qemux86.conf index 272ad1e18..3832302f0 100644 --- a/poky/meta/conf/machine/qemux86.conf +++ b/poky/meta/conf/machine/qemux86.conf @@ -39,3 +39,6 @@ module_conf_uvesafb = "options uvesafb mode_option=${UVESA_MODE}" WKS_FILE ?= "qemux86-directdisk.wks" do_image_wic[depends] += "syslinux:do_populate_sysroot syslinux-native:do_populate_sysroot mtools-native:do_populate_sysroot dosfstools-native:do_populate_sysroot" + +#For runqemu +QB_SYSTEM_NAME = "qemu-system-i386" diff --git a/poky/meta/conf/sanity.conf b/poky/meta/conf/sanity.conf index 45e675251..92e188699 100644 --- a/poky/meta/conf/sanity.conf +++ b/poky/meta/conf/sanity.conf @@ -3,7 +3,7 @@ # See sanity.bbclass # # Expert users can confirm their sanity with "touch conf/sanity.conf" -BB_MIN_VERSION = "1.39.1" +BB_MIN_VERSION = "1.43.1" SANITY_ABIFILE = "${TMPDIR}/abi_version" diff --git a/poky/meta/files/common-licenses/Apache-2.0-with-LLVM-exception b/poky/meta/files/common-licenses/Apache-2.0-with-LLVM-exception new file mode 100644 index 000000000..f9dc50615 --- /dev/null +++ b/poky/meta/files/common-licenses/Apache-2.0-with-LLVM-exception @@ -0,0 +1,219 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + +--- LLVM Exceptions to the Apache 2.0 License ---- + +As an exception, if, as a result of your compiling your source code, portions +of this Software are embedded into an Object form of such source code, you +may redistribute such embedded portions in such Object form without complying +with the conditions of Sections 4(a), 4(b) and 4(d) of the License. + +In addition, if you combine or link compiled forms of this Software with +software that is licensed under the GPLv2 ("Combined Software") and if a +court of competent jurisdiction determines that the patent provision (Section +3), the indemnity provision (Section 9) or other Section of the License +conflicts with the conditions of the GPLv2, you may retroactively and +prospectively choose to deem waived or otherwise exclude such Section(s) of +the License, but only in their entirety and only with respect to the Combined +Software. + diff --git a/poky/meta/lib/oe/copy_buildsystem.py b/poky/meta/lib/oe/copy_buildsystem.py index 246ff5825..cb663b21c 100644 --- a/poky/meta/lib/oe/copy_buildsystem.py +++ b/poky/meta/lib/oe/copy_buildsystem.py @@ -174,7 +174,7 @@ class BuildSystem(object): def generate_locked_sigs(sigfile, d): bb.utils.mkdirhier(os.path.dirname(sigfile)) depd = d.getVar('BB_TASKDEPDATA', False) - tasks = ['%s.%s' % (v[2], v[1]) for v in depd.values()] + tasks = ['%s:%s' % (v[2], v[1]) for v in depd.values()] bb.parse.siggen.dump_lockedsigs(sigfile, tasks) def prune_lockedsigs(excluded_tasks, excluded_targets, lockedsigs, pruned_output): diff --git a/poky/meta/lib/oe/gpg_sign.py b/poky/meta/lib/oe/gpg_sign.py index 2fd8c3b1a..d7624804d 100644 --- a/poky/meta/lib/oe/gpg_sign.py +++ b/poky/meta/lib/oe/gpg_sign.py @@ -89,8 +89,7 @@ class LocalSigner(object): (_, stderr) = job.communicate(passphrase.encode("utf-8")) if job.returncode: - raise bb.build.FuncFailed("GPG exited with code %d: %s" % - (job.returncode, stderr.decode("utf-8"))) + bb.fatal("GPG exited with code %d: %s" % (job.returncode, stderr.decode("utf-8"))) except IOError as e: bb.error("IO error (%s): %s" % (e.errno, e.strerror)) @@ -108,7 +107,7 @@ class LocalSigner(object): 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) + bb.fatal("Could not get gpg version: %s" % e) def verify(self, sig_file): diff --git a/poky/meta/lib/oe/package.py b/poky/meta/lib/oe/package.py index b59513227..b8585d425 100644 --- a/poky/meta/lib/oe/package.py +++ b/poky/meta/lib/oe/package.py @@ -265,7 +265,7 @@ def read_shlib_providers(d): bb.debug(2, "Reading shlib providers in %s" % (dir)) if not os.path.exists(dir): continue - for file in os.listdir(dir): + for file in sorted(os.listdir(dir)): m = list_re.match(file) if m: dep_pkg = m.group(1) diff --git a/poky/meta/lib/oe/sstatesig.py b/poky/meta/lib/oe/sstatesig.py index 13af16e47..0c7a6f5ed 100644 --- a/poky/meta/lib/oe/sstatesig.py +++ b/poky/meta/lib/oe/sstatesig.py @@ -59,7 +59,7 @@ def sstate_rundepfilter(siggen, fn, recipename, task, dep, depname, dataCache): # is machine specific. # Therefore if we're not a kernel or a module recipe (inheriting the kernel classes) # and we reccomend a kernel-module, we exclude the dependency. - depfn = dep.rsplit(".", 1)[0] + depfn = dep.rsplit(":", 1)[0] if dataCache and isKernel(depfn) and not isKernel(fn): for pkg in dataCache.runrecs[fn]: if " ".join(dataCache.runrecs[fn][pkg]).find("kernel-module-") != -1: @@ -142,8 +142,10 @@ class SignatureGeneratorOEBasicHash(bb.siggen.SignatureGeneratorBasicHash): self.dump_lockedsigs(sigfile) return super(bb.siggen.SignatureGeneratorBasicHash, self).dump_sigs(dataCache, options) - def get_taskhash(self, fn, task, deps, dataCache): - h = super(bb.siggen.SignatureGeneratorBasicHash, self).get_taskhash(fn, task, deps, dataCache) + def get_taskhash(self, tid, deps, dataCache): + h = super(bb.siggen.SignatureGeneratorBasicHash, self).get_taskhash(tid, deps, dataCache) + + (mc, _, task, fn) = bb.runqueue.split_tid_mcfn(tid) recipename = dataCache.pkg_fn[fn] self.lockedpnmap[fn] = recipename @@ -153,34 +155,23 @@ class SignatureGeneratorOEBasicHash(bb.siggen.SignatureGeneratorBasicHash): if recipename in self.unlockedrecipes: unlocked = True else: - def get_mc(tid): - tid = tid.rsplit('.', 1)[0] - if tid.startswith('mc:'): - elems = tid.split(':') - return elems[1] def recipename_from_dep(dep): - # The dep entry will look something like - # /path/path/recipename.bb.task, virtual:native:/p/foo.bb.task, - # ... - - fn = dep.rsplit('.', 1)[0] + fn = bb.runqueue.fn_from_tid(dep) return dataCache.pkg_fn[fn] - mc = get_mc(fn) # If any unlocked recipe is in the direct dependencies then the # current recipe should be unlocked as well. - depnames = [ recipename_from_dep(x) for x in deps if mc == get_mc(x)] + depnames = [ recipename_from_dep(x) for x in deps if mc == bb.runqueue.mc_from_tid(x)] if any(x in y for y in depnames for x in self.unlockedrecipes): self.unlockedrecipes[recipename] = '' unlocked = True if not unlocked and recipename in self.lockedsigs: if task in self.lockedsigs[recipename]: - k = fn + "." + task h_locked = self.lockedsigs[recipename][task][0] var = self.lockedsigs[recipename][task][1] - self.lockedhashes[k] = h_locked - self.taskhash[k] = h_locked + self.lockedhashes[tid] = h_locked + self.taskhash[tid] = h_locked #bb.warn("Using %s %s %s" % (recipename, task, h)) if h != h_locked: @@ -192,36 +183,35 @@ class SignatureGeneratorOEBasicHash(bb.siggen.SignatureGeneratorBasicHash): return h def dump_sigtask(self, fn, task, stampbase, runtime): - k = fn + "." + task - if k in self.lockedhashes: + tid = fn + ":" + task + if tid in self.lockedhashes: return super(bb.siggen.SignatureGeneratorBasicHash, self).dump_sigtask(fn, task, stampbase, runtime) def dump_lockedsigs(self, sigfile, taskfilter=None): types = {} - for k in self.runtaskdeps: + for tid in self.runtaskdeps: if taskfilter: - if not k in taskfilter: + if not tid in taskfilter: continue - fn = k.rsplit(".",1)[0] + fn = bb.runqueue.fn_from_tid(tid) t = self.lockedhashfn[fn].split(" ")[1].split(":")[5] t = 't-' + t.replace('_', '-') if t not in types: types[t] = [] - types[t].append(k) + types[t].append(tid) with open(sigfile, "w") as f: l = sorted(types) for t in l: f.write('SIGGEN_LOCKEDSIGS_%s = "\\\n' % t) types[t].sort() - sortedk = sorted(types[t], key=lambda k: self.lockedpnmap[k.rsplit(".",1)[0]]) - for k in sortedk: - fn = k.rsplit(".",1)[0] - task = k.rsplit(".",1)[1] - if k not in self.taskhash: + sortedtid = sorted(types[t], key=lambda tid: self.lockedpnmap[bb.runqueue.fn_from_tid(tid)]) + for tid in sortedtid: + (_, _, task, fn) = bb.runqueue.split_tid_mcfn(tid) + if tid not in self.taskhash: continue - f.write(" " + self.lockedpnmap[fn] + ":" + task + ":" + self.taskhash[k] + " \\\n") + f.write(" " + self.lockedpnmap[fn] + ":" + task + ":" + self.taskhash[tid] + " \\\n") f.write(' "\n') f.write('SIGGEN_LOCKEDSIGS_TYPES_%s = "%s"' % (self.machine, " ".join(l))) @@ -229,25 +219,26 @@ class SignatureGeneratorOEBasicHash(bb.siggen.SignatureGeneratorBasicHash): with open(sigfile, "w") as f: tasks = [] for taskitem in self.taskhash: - (fn, task) = taskitem.rsplit(".", 1) + (fn, task) = taskitem.rsplit(":", 1) pn = self.lockedpnmap[fn] tasks.append((pn, task, fn, self.taskhash[taskitem])) for (pn, task, fn, taskhash) in sorted(tasks): - f.write('%s.%s %s %s\n' % (pn, task, fn, taskhash)) + f.write('%s:%s %s %s\n' % (pn, task, fn, taskhash)) - def checkhashes(self, missed, ret, sq_fn, sq_task, sq_hash, sq_hashfn, d): + def checkhashes(self, sq_data, missed, found, d): warn_msgs = [] error_msgs = [] sstate_missing_msgs = [] - for task in range(len(sq_fn)): - if task not in ret: + for tid in sq_data['hash']: + if tid not in found: for pn in self.lockedsigs: - if sq_hash[task] in iter(self.lockedsigs[pn].values()): - if sq_task[task] == 'do_shared_workdir': + taskname = bb.runqueue.taskname_from_tid(tid) + if sq_data['hash'][tid] in iter(self.lockedsigs[pn].values()): + if taskname == 'do_shared_workdir': continue sstate_missing_msgs.append("Locked sig is set for %s:%s (%s) yet not in sstate cache?" - % (pn, sq_task[task], sq_hash[task])) + % (pn, taskname, sq_data['hash'][tid])) checklevel = d.getVar("SIGGEN_LOCKEDSIGS_TASKSIG_CHECK") if checklevel == 'warn': @@ -266,176 +257,21 @@ class SignatureGeneratorOEBasicHash(bb.siggen.SignatureGeneratorBasicHash): if error_msgs: bb.fatal("\n".join(error_msgs)) -class SignatureGeneratorOEEquivHash(SignatureGeneratorOEBasicHash): +class SignatureGeneratorOEEquivHash(bb.siggen.SignatureGeneratorUniHashMixIn, SignatureGeneratorOEBasicHash): name = "OEEquivHash" def init_rundepcheck(self, data): super().init_rundepcheck(data) - self.server = data.getVar('SSTATE_HASHEQUIV_SERVER') + autostart = data.getVar('BB_HASHSERVE') + if autostart: + self.server = "http://" + autostart + else: + self.server = data.getVar('SSTATE_HASHEQUIV_SERVER') + if not self.server: + bb.fatal("OEEquivHash requires SSTATE_HASHEQUIV_SERVER or BB_HASHSERVE to be set") self.method = data.getVar('SSTATE_HASHEQUIV_METHOD') - self.unihashes = bb.persist_data.persist('SSTATESIG_UNIHASH_CACHE_v1_' + self.method.replace('.', '_'), data) - - def get_taskdata(self): - return (self.server, self.method) + super().get_taskdata() - - def set_taskdata(self, data): - self.server, self.method = data[:2] - super().set_taskdata(data[2:]) - - def __get_task_unihash_key(self, task): - # TODO: The key only *needs* to be the taskhash, the task is just - # convenient - return '%s:%s' % (task, self.taskhash[task]) - - def get_stampfile_hash(self, task): - if task in self.taskhash: - # If a unique hash is reported, use it as the stampfile hash. This - # ensures that if a task won't be re-run if the taskhash changes, - # but it would result in the same output hash - unihash = self.unihashes.get(self.__get_task_unihash_key(task)) - if unihash is not None: - return unihash - - return super().get_stampfile_hash(task) - - def get_unihash(self, task): - import urllib - import json - - taskhash = self.taskhash[task] - - key = self.__get_task_unihash_key(task) - - # TODO: This cache can grow unbounded. It probably only needs to keep - # for each task - unihash = self.unihashes.get(key) - if unihash is not None: - return unihash - - # In the absence of being able to discover a unique hash from the - # server, make it be equivalent to the taskhash. The unique "hash" only - # really needs to be a unique string (not even necessarily a hash), but - # making it match the taskhash has a few advantages: - # - # 1) All of the sstate code that assumes hashes can be the same - # 2) It provides maximal compatibility with builders that don't use - # an equivalency server - # 3) The value is easy for multiple independent builders to derive the - # same unique hash from the same input. This means that if the - # independent builders find the same taskhash, but it isn't reported - # to the server, there is a better chance that they will agree on - # the unique hash. - unihash = taskhash - - try: - url = '%s/v1/equivalent?%s' % (self.server, - urllib.parse.urlencode({'method': self.method, 'taskhash': self.taskhash[task]})) - - request = urllib.request.Request(url) - response = urllib.request.urlopen(request) - data = response.read().decode('utf-8') - - json_data = json.loads(data) - - if json_data: - unihash = json_data['unihash'] - # A unique hash equal to the taskhash is not very interesting, - # so it is reported it at debug level 2. If they differ, that - # is much more interesting, so it is reported at debug level 1 - bb.debug((1, 2)[unihash == taskhash], 'Found unihash %s in place of %s for %s from %s' % (unihash, taskhash, task, self.server)) - else: - bb.debug(2, 'No reported unihash for %s:%s from %s' % (task, taskhash, self.server)) - except urllib.error.URLError as e: - bb.warn('Failure contacting Hash Equivalence Server %s: %s' % (self.server, str(e))) - except (KeyError, json.JSONDecodeError) as e: - bb.warn('Poorly formatted response from %s: %s' % (self.server, str(e))) - - self.unihashes[key] = unihash - return unihash - - def report_unihash(self, path, task, d): - import urllib - import json - import tempfile - import base64 - import importlib - - taskhash = d.getVar('BB_TASKHASH') - unihash = d.getVar('BB_UNIHASH') - report_taskdata = d.getVar('SSTATE_HASHEQUIV_REPORT_TASKDATA') == '1' - tempdir = d.getVar('T') - fn = d.getVar('BB_FILENAME') - key = fn + '.do_' + task + ':' + taskhash - - # Sanity checks - cache_unihash = self.unihashes.get(key) - if cache_unihash is None: - bb.fatal('%s not in unihash cache. Please report this error' % key) - - if cache_unihash != unihash: - bb.fatal("Cache unihash %s doesn't match BB_UNIHASH %s" % (cache_unihash, unihash)) - - sigfile = None - sigfile_name = "depsig.do_%s.%d" % (task, os.getpid()) - sigfile_link = "depsig.do_%s" % task - - try: - sigfile = open(os.path.join(tempdir, sigfile_name), 'w+b') - - locs = {'path': path, 'sigfile': sigfile, 'task': task, 'd': d} - - (module, method) = self.method.rsplit('.', 1) - locs['method'] = getattr(importlib.import_module(module), method) - - outhash = bb.utils.better_eval('method(path, sigfile, task, d)', locs) - - try: - url = '%s/v1/equivalent' % self.server - task_data = { - 'taskhash': taskhash, - 'method': self.method, - 'outhash': outhash, - 'unihash': unihash, - 'owner': d.getVar('SSTATE_HASHEQUIV_OWNER') - } - - if report_taskdata: - sigfile.seek(0) - - task_data['PN'] = d.getVar('PN') - task_data['PV'] = d.getVar('PV') - task_data['PR'] = d.getVar('PR') - task_data['task'] = task - task_data['outhash_siginfo'] = sigfile.read().decode('utf-8') - - headers = {'content-type': 'application/json'} - - request = urllib.request.Request(url, json.dumps(task_data).encode('utf-8'), headers) - response = urllib.request.urlopen(request) - data = response.read().decode('utf-8') - - json_data = json.loads(data) - new_unihash = json_data['unihash'] - - if new_unihash != unihash: - bb.debug(1, 'Task %s unihash changed %s -> %s by server %s' % (taskhash, unihash, new_unihash, self.server)) - else: - bb.debug(1, 'Reported task %s as unihash %s to %s' % (taskhash, unihash, self.server)) - except urllib.error.URLError as e: - bb.warn('Failure contacting Hash Equivalence Server %s: %s' % (self.server, str(e))) - except (KeyError, json.JSONDecodeError) as e: - bb.warn('Poorly formatted response from %s: %s' % (self.server, str(e))) - finally: - if sigfile: - sigfile.close() - - sigfile_link_path = os.path.join(tempdir, sigfile_link) - bb.utils.remove(sigfile_link_path) - - try: - os.symlink(sigfile_name, sigfile_link_path) - except OSError: - pass + if not self.method: + bb.fatal("OEEquivHash requires SSTATE_HASHEQUIV_METHOD to be set") # Insert these classes into siggen's namespace so it can see and select them bb.siggen.SignatureGeneratorOEBasic = SignatureGeneratorOEBasic @@ -452,7 +288,7 @@ def find_siginfo(pn, taskname, taskhashlist, d): if not taskname: # We have to derive pn and taskname key = pn - splitit = key.split('.bb.') + splitit = key.split('.bb:') taskname = splitit[1] pn = os.path.basename(splitit[0]).split('_')[0] if key.startswith('virtual:native:'): diff --git a/poky/meta/lib/oe/useradd.py b/poky/meta/lib/oe/useradd.py index bedfe0ecb..8fc77568f 100644 --- a/poky/meta/lib/oe/useradd.py +++ b/poky/meta/lib/oe/useradd.py @@ -14,7 +14,7 @@ class myArgumentParser(argparse.ArgumentParser): error(message) def error(self, message): - raise bb.build.FuncFailed(message) + bb.fatal(message) def split_commands(params): params = re.split('''[ \t]*;[ \t]*(?=(?:[^'"]|'[^']*'|"[^"]*")*$)''', params.strip()) diff --git a/poky/meta/lib/oe/utils.py b/poky/meta/lib/oe/utils.py index d686ce1bf..652b2be14 100644 --- a/poky/meta/lib/oe/utils.py +++ b/poky/meta/lib/oe/utils.py @@ -486,7 +486,7 @@ def write_ld_so_conf(d): f.write(d.getVar("base_libdir") + '\n') f.write(d.getVar("libdir") + '\n') -class ImageQAFailed(bb.build.FuncFailed): +class ImageQAFailed(Exception): def __init__(self, description, name=None, logfile=None): self.description = description self.name = name diff --git a/poky/meta/lib/oeqa/runtime/cases/buildgalculator.py b/poky/meta/lib/oeqa/runtime/cases/buildgalculator.py index 6dd1faee0..e5cc3e288 100644 --- a/poky/meta/lib/oeqa/runtime/cases/buildgalculator.py +++ b/poky/meta/lib/oeqa/runtime/cases/buildgalculator.py @@ -25,6 +25,7 @@ class GalculatorTest(OERuntimeTestCase): @OEHasPackage(['gcc']) @OEHasPackage(['make']) @OEHasPackage(['autoconf']) + @OEHasPackage(['gtk+3']) def test_galculator(self): self.project.download_archive() self.project.run_configure() diff --git a/poky/meta/lib/oeqa/runtime/cases/parselogs.py b/poky/meta/lib/oeqa/runtime/cases/parselogs.py index eb2ebb195..19c9c52a0 100644 --- a/poky/meta/lib/oeqa/runtime/cases/parselogs.py +++ b/poky/meta/lib/oeqa/runtime/cases/parselogs.py @@ -292,7 +292,7 @@ class ParseLogsTest(OERuntimeTestCase): grepcmd = 'grep ' grepcmd += '-Ei "' for error in errors: - grepcmd += error + '|' + grepcmd += '\<' + error + '\>' + '|' grepcmd = grepcmd[:-1] grepcmd += '" ' + str(log) + " | grep -Eiv \'" diff --git a/poky/meta/lib/oeqa/selftest/cases/bbtests.py b/poky/meta/lib/oeqa/selftest/cases/bbtests.py index 17da0fd32..0693ba8cf 100644 --- a/poky/meta/lib/oeqa/selftest/cases/bbtests.py +++ b/poky/meta/lib/oeqa/selftest/cases/bbtests.py @@ -75,8 +75,11 @@ class BitbakeTests(OESelftestTestCase): result = bitbake('man-db -c patch', ignore_status=True) self.delete_recipeinc('man-db') bitbake('-cclean man-db') - line = self.getline(result, "Function failed: patch_do_patch") - self.assertTrue(line and line.startswith("ERROR:"), msg = "Incorrectly formed patch application didn't fail. bitbake output: %s" % result.output) + found = False + for l in result.output.split('\n'): + if l.startswith("ERROR:") and "failed" in l and "do_patch" in l: + found = l + self.assertTrue(found and found.startswith("ERROR:"), msg = "Incorrectly formed patch application didn't fail. bitbake output: %s" % result.output) def test_force_task_1(self): # test 1 from bug 5875 diff --git a/poky/meta/lib/oeqa/selftest/cases/wic.py b/poky/meta/lib/oeqa/selftest/cases/wic.py index 928c476eb..fcdd55059 100644 --- a/poky/meta/lib/oeqa/selftest/cases/wic.py +++ b/poky/meta/lib/oeqa/selftest/cases/wic.py @@ -684,11 +684,10 @@ class Wic2(WicTestCase): @only_for_arch(['i586', 'i686', 'x86_64']) def test_biosplusefi_plugin_qemu(self): """Test biosplusefi plugin in qemu""" - for fstype in ("ext4", "wic"): - config = 'IMAGE_FSTYPES = "%s"\nWKS_FILE = "test_biosplusefi_plugin.wks"\nMACHINE_FEATURES_append = " efi"\n' % fstype - self.append_config(config) - self.assertEqual(0, bitbake('core-image-minimal').status) - self.remove_config(config) + config = 'IMAGE_FSTYPES = "wic"\nWKS_FILE = "test_biosplusefi_plugin.wks"\nMACHINE_FEATURES_append = " efi"\n' + self.append_config(config) + self.assertEqual(0, bitbake('core-image-minimal').status) + self.remove_config(config) with runqemu('core-image-minimal', ssh=False, image_fstype='wic') as qemu: # Check that we have ONLY two /dev/sda* partitions (/boot and /) @@ -722,11 +721,10 @@ class Wic2(WicTestCase): # If an image hasn't been built yet, directory ${STAGING_DATADIR}/syslinux won't exists and _get_bootimg_dir() # will raise with "Couldn't find correct bootimg_dir" # The easiest way to work-around this issue is to make sure we already built an image here, hence the bitbake call - for fstype in ("ext4", "wic"): - config = 'IMAGE_FSTYPES = "%s"\nWKS_FILE = "test_biosplusefi_plugin.wks"\nMACHINE_FEATURES_append = " efi"\n' % fstype - self.append_config(config) - self.assertEqual(0, bitbake('core-image-minimal').status) - self.remove_config(config) + config = 'IMAGE_FSTYPES = "wic"\nWKS_FILE = "test_biosplusefi_plugin.wks"\nMACHINE_FEATURES_append = " efi"\n' + self.append_config(config) + self.assertEqual(0, bitbake('core-image-minimal').status) + self.remove_config(config) img = 'core-image-minimal' with NamedTemporaryFile("w", suffix=".wks") as wks: diff --git a/poky/meta/lib/oeqa/targetcontrol.py b/poky/meta/lib/oeqa/targetcontrol.py index 15e617c95..1445e3ecf 100644 --- a/poky/meta/lib/oeqa/targetcontrol.py +++ b/poky/meta/lib/oeqa/targetcontrol.py @@ -175,7 +175,7 @@ class QemuTarget(BaseTarget): if os.path.exists(self.qemulog): with open(self.qemulog, 'r') as f: bb.error("Qemu log output from %s:\n%s" % (self.qemulog, f.read())) - raise bb.build.FuncFailed("%s - FAILED to start qemu - check the task log and the boot log" % self.pn) + raise RuntimeError("%s - FAILED to start qemu - check the task log and the boot log" % self.pn) def check(self): return self.runner.is_alive() @@ -192,7 +192,7 @@ class QemuTarget(BaseTarget): self.server_ip = self.runner.server_ip self.connection = SSHControl(ip=self.ip, logfile=self.sshlog) else: - raise bb.build.FuncFailed("%s - FAILED to re-start qemu - check the task log and the boot log" % self.pn) + raise RuntimError("%s - FAILED to re-start qemu - check the task log and the boot log" % self.pn) def run_serial(self, command, timeout=60): return self.runner.run_serial(command, timeout=timeout) diff --git a/poky/meta/lib/oeqa/utils/commands.py b/poky/meta/lib/oeqa/utils/commands.py index 59ebfbe12..7140bc73d 100644 --- a/poky/meta/lib/oeqa/utils/commands.py +++ b/poky/meta/lib/oeqa/utils/commands.py @@ -337,8 +337,8 @@ def runqemu(pn, ssh=True, runqemuparams='', image_fstype=None, launch_cmd=None, qemu.deploy() try: qemu.start(params=qemuparams, ssh=ssh, runqemuparams=runqemuparams, launch_cmd=launch_cmd, discard_writes=discard_writes) - except bb.build.FuncFailed: - msg = 'Failed to start QEMU - see the logs in %s' % logdir + except EXception as e: + msg = str(e) + '\nFailed to start QEMU - see the logs in %s' % logdir if os.path.exists(qemu.qemurunnerlog): with open(qemu.qemurunnerlog, 'r') as f: msg = msg + "Qemurunner log output from %s:\n%s" % (qemu.qemurunnerlog, f.read()) diff --git a/poky/meta/lib/oeqa/utils/qemurunner.py b/poky/meta/lib/oeqa/utils/qemurunner.py index b1999fde8..fe8b77d97 100644 --- a/poky/meta/lib/oeqa/utils/qemurunner.py +++ b/poky/meta/lib/oeqa/utils/qemurunner.py @@ -126,7 +126,7 @@ class QemuRunner: env["DEPLOY_DIR_IMAGE"] = self.deploy_dir_image if not launch_cmd: - launch_cmd = 'runqemu %s %s ' % ('snapshot' if discard_writes else '', runqemuparams) + launch_cmd = 'runqemu %s' % ('snapshot' if discard_writes else '') if self.use_kvm: self.logger.debug('Using kvm for runqemu') launch_cmd += ' kvm' @@ -136,7 +136,7 @@ class QemuRunner: launch_cmd += ' nographic' if self.use_slirp: launch_cmd += ' slirp' - launch_cmd += ' %s %s' % (self.machine, self.rootfs) + launch_cmd += ' %s %s %s' % (runqemuparams, self.machine, self.rootfs) return self.launch(launch_cmd, qemuparams=qemuparams, get_ip=get_ip, extra_bootparams=extra_bootparams, env=env) diff --git a/poky/meta/recipes-bsp/grub/files/0001-Disable-mfpmath-sse-as-well-when-SSE-is-disabled.patch b/poky/meta/recipes-bsp/grub/files/0001-Disable-mfpmath-sse-as-well-when-SSE-is-disabled.patch index ce3238f3a..6b73878cc 100644 --- a/poky/meta/recipes-bsp/grub/files/0001-Disable-mfpmath-sse-as-well-when-SSE-is-disabled.patch +++ b/poky/meta/recipes-bsp/grub/files/0001-Disable-mfpmath-sse-as-well-when-SSE-is-disabled.patch @@ -1,4 +1,4 @@ -From fb7b827a56b1f92f882d0f5ef130acc968b23293 Mon Sep 17 00:00:00 2001 +From 96d9aa55d29b24e2490d5647a9efc66940fc400f Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Wed, 13 Jan 2016 19:17:31 +0000 Subject: [PATCH] Disable -mfpmath=sse as well when SSE is disabled @@ -22,17 +22,17 @@ cc1: all warnings being treated as errors Signed-off-by: Nitin A Kamble Signed-off-by: Khem Raj ---- -Upstream-Status: Pending +Upstream-Status: Pending +--- configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac -index 26d2f33..9ce56de 100644 +index 7656f24..0868ea9 100644 --- a/configure.ac +++ b/configure.ac -@@ -783,7 +783,7 @@ fi +@@ -824,7 +824,7 @@ fi if ( test "x$target_cpu" = xi386 || test "x$target_cpu" = xx86_64 ) && test "x$platform" != xemu; then # Some toolchains enable these features by default, but they need # registers that aren't set up properly in GRUB. @@ -41,6 +41,3 @@ index 26d2f33..9ce56de 100644 fi # GRUB doesn't use float or doubles at all. Yet some toolchains may decide --- -2.7.0 - diff --git a/poky/meta/recipes-bsp/grub/files/0001-Unset-need_charset_alias-when-building-for-musl.patch b/poky/meta/recipes-bsp/grub/files/0001-Unset-need_charset_alias-when-building-for-musl.patch deleted file mode 100644 index 67dc11549..000000000 --- a/poky/meta/recipes-bsp/grub/files/0001-Unset-need_charset_alias-when-building-for-musl.patch +++ /dev/null @@ -1,30 +0,0 @@ -From b9565dc2fe0c4f7daaec91b7e83bc7313dee2f4a Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Mon, 13 Apr 2015 17:02:13 -0700 -Subject: [PATCH] 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 ---- - lib/gnulib.mk | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -Index: grub-2.00/grub-core/gnulib/Makefile.am -=================================================================== ---- grub-2.00.orig/grub-core/gnulib/Makefile.am -+++ grub-2.00/grub-core/gnulib/Makefile.am -@@ -410,7 +410,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-bsp/grub/files/0001-grub-setup-Debug-message-cleanup.patch b/poky/meta/recipes-bsp/grub/files/0001-grub-setup-Debug-message-cleanup.patch deleted file mode 100644 index e01fcdffb..000000000 --- a/poky/meta/recipes-bsp/grub/files/0001-grub-setup-Debug-message-cleanup.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 4e9d9358e0cda6d01020005eb6343e3b69f7201a Mon Sep 17 00:00:00 2001 -From: Cao jin -Date: Tue, 3 Jul 2018 18:51:13 +0800 -Subject: [PATCH] grub-setup: Debug message cleanup - -Variable "root" is initialized after root device probing and is null in -current place, so, drop it. - -Signed-off-by: Cao jin -Reviewed-by: Daniel Kiper ---- -Upstream-Status: Backport [http://git.savannah.gnu.org/cgit/grub.git/commit/?id=4e9d9358e0cda6d01020005eb6343e3b69f7201a] - - util/setup.c | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -diff --git a/util/setup.c b/util/setup.c -index 80363075d..9c1e1b7da 100644 ---- a/util/setup.c -+++ b/util/setup.c -@@ -305,9 +305,8 @@ SETUP (const char *dir, - bl.first_block = (struct grub_boot_blocklist *) (core_img - + GRUB_DISK_SECTOR_SIZE - - sizeof (*bl.block)); -- grub_util_info ("root is `%s', dest is `%s'", root, dest); - -- grub_util_info ("Opening dest"); -+ grub_util_info ("Opening dest `%s'", dest); - dest_dev = grub_device_open (dest); - if (! dest_dev) - grub_util_error ("%s", grub_errmsg); --- -2.17.2 (Apple Git-113) - diff --git a/poky/meta/recipes-bsp/grub/files/0001-grub.d-10_linux.in-add-oe-s-kernel-name.patch b/poky/meta/recipes-bsp/grub/files/0001-grub.d-10_linux.in-add-oe-s-kernel-name.patch index d5bfaa177..69b04aa56 100644 --- a/poky/meta/recipes-bsp/grub/files/0001-grub.d-10_linux.in-add-oe-s-kernel-name.patch +++ b/poky/meta/recipes-bsp/grub/files/0001-grub.d-10_linux.in-add-oe-s-kernel-name.patch @@ -1,4 +1,4 @@ -From b512c77222a8b133d7dd71a0dcef081a921d97d4 Mon Sep 17 00:00:00 2001 +From 8f47ed4aaefba087b6ca76e59c9f832b6a0702bc Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Wed, 13 Jan 2016 19:28:00 +0000 Subject: [PATCH] grub.d/10_linux.in: add oe's kernel name @@ -11,18 +11,19 @@ to util/grub.d/20_linux_xen.in to keep compatibility. Signed-off-by: Robert Yang Signed-off-by: Khem Raj ---- + Upstream-Status: Inappropriate [OE specific] +--- util/grub.d/10_linux.in | 6 +++--- util/grub.d/20_linux_xen.in | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/util/grub.d/10_linux.in b/util/grub.d/10_linux.in -index 859b608..946be5d 100644 +index 4532266..cba2617 100644 --- a/util/grub.d/10_linux.in +++ b/util/grub.d/10_linux.in -@@ -148,12 +148,12 @@ machine=`uname -m` +@@ -164,12 +164,12 @@ machine=`uname -m` case "x$machine" in xi?86 | xx86_64) list= @@ -39,10 +40,10 @@ index 859b608..946be5d 100644 done ;; esac diff --git a/util/grub.d/20_linux_xen.in b/util/grub.d/20_linux_xen.in -index f532fb9..1994244 100644 +index 96179ea..98d16ae 100644 --- a/util/grub.d/20_linux_xen.in +++ b/util/grub.d/20_linux_xen.in -@@ -138,7 +138,7 @@ EOF +@@ -154,7 +154,7 @@ EOF } linux_list= @@ -51,6 +52,3 @@ index f532fb9..1994244 100644 if grub_file_is_not_garbage "$i"; then basename=$(basename $i) version=$(echo $basename | sed -e "s,^[^0-9]*-,,g") --- -2.7.0 - diff --git a/poky/meta/recipes-bsp/grub/files/0001-x86-64-Treat-R_X86_64_PLT32-as-R_X86_64_PC32.patch b/poky/meta/recipes-bsp/grub/files/0001-x86-64-Treat-R_X86_64_PLT32-as-R_X86_64_PC32.patch deleted file mode 100644 index 61d58c404..000000000 --- a/poky/meta/recipes-bsp/grub/files/0001-x86-64-Treat-R_X86_64_PLT32-as-R_X86_64_PC32.patch +++ /dev/null @@ -1,76 +0,0 @@ -Upstream-Status: Backport -Signed-off-by: Ross Burton - -From 842c390469e2c2e10b5aa36700324cd3bde25875 Mon Sep 17 00:00:00 2001 -From: "H.J. Lu" -Date: Sat, 17 Feb 2018 06:47:28 -0800 -Subject: [PATCH] x86-64: Treat R_X86_64_PLT32 as R_X86_64_PC32 - -Starting from binutils commit bd7ab16b4537788ad53521c45469a1bdae84ad4a: - -https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=bd7ab16b4537788ad53521c45469a1bdae84ad4a - -x86-64 assembler generates R_X86_64_PLT32, instead of R_X86_64_PC32, for -32-bit PC-relative branches. Grub2 should treat R_X86_64_PLT32 as -R_X86_64_PC32. - -Signed-off-by: H.J. Lu -Reviewed-by: Daniel Kiper ---- - grub-core/efiemu/i386/loadcore64.c | 1 + - grub-core/kern/x86_64/dl.c | 1 + - util/grub-mkimagexx.c | 1 + - util/grub-module-verifier.c | 1 + - 4 files changed, 4 insertions(+) - -diff --git a/grub-core/efiemu/i386/loadcore64.c b/grub-core/efiemu/i386/loadcore64.c -index e49d0b6ff..18facf47f 100644 ---- a/grub-core/efiemu/i386/loadcore64.c -+++ b/grub-core/efiemu/i386/loadcore64.c -@@ -98,6 +98,7 @@ grub_arch_efiemu_relocate_symbols64 (grub_efiemu_segment_t segs, - break; - - case R_X86_64_PC32: -+ case R_X86_64_PLT32: - err = grub_efiemu_write_value (addr, - *addr32 + rel->r_addend - + sym.off -diff --git a/grub-core/kern/x86_64/dl.c b/grub-core/kern/x86_64/dl.c -index 440690673..3a73e6e6c 100644 ---- a/grub-core/kern/x86_64/dl.c -+++ b/grub-core/kern/x86_64/dl.c -@@ -70,6 +70,7 @@ grub_arch_dl_relocate_symbols (grub_dl_t mod, void *ehdr, - break; - - case R_X86_64_PC32: -+ case R_X86_64_PLT32: - { - grub_int64_t value; - value = ((grub_int32_t) *addr32) + rel->r_addend + sym->st_value - -diff --git a/util/grub-mkimagexx.c b/util/grub-mkimagexx.c -index a2bb05439..39d7efb91 100644 ---- a/util/grub-mkimagexx.c -+++ b/util/grub-mkimagexx.c -@@ -841,6 +841,7 @@ SUFFIX (relocate_addresses) (Elf_Ehdr *e, Elf_Shdr *sections, - break; - - case R_X86_64_PC32: -+ case R_X86_64_PLT32: - { - grub_uint32_t *t32 = (grub_uint32_t *) target; - *t32 = grub_host_to_target64 (grub_target_to_host32 (*t32) -diff --git a/util/grub-module-verifier.c b/util/grub-module-verifier.c -index 9179285a5..a79271f66 100644 ---- a/util/grub-module-verifier.c -+++ b/util/grub-module-verifier.c -@@ -19,6 +19,7 @@ struct grub_module_verifier_arch archs[] = { - -1 - }, (int[]){ - R_X86_64_PC32, -+ R_X86_64_PLT32, - -1 - } - }, --- -2.11.0 - diff --git a/poky/meta/recipes-bsp/grub/files/autogen.sh-exclude-pc.patch b/poky/meta/recipes-bsp/grub/files/autogen.sh-exclude-pc.patch index fc5aa4e31..faa7fde23 100644 --- a/poky/meta/recipes-bsp/grub/files/autogen.sh-exclude-pc.patch +++ b/poky/meta/recipes-bsp/grub/files/autogen.sh-exclude-pc.patch @@ -1,4 +1,4 @@ -From ff8f68cc48fd3c30d55e1d570d51f2e0952c968e Mon Sep 17 00:00:00 2001 +From 72c30928d3d461e0e2d20c5ff33bd96b6991d585 Mon Sep 17 00:00:00 2001 From: Robert Yang Date: Sat, 25 Jan 2014 23:49:44 -0500 Subject: [PATCH] autogen.sh: exclude .pc from po/POTFILES.in @@ -12,23 +12,24 @@ try to read it. Upstream-Status: Inappropriate [OE specific] Signed-off-by: Robert Yang +Signed-off-by: Anuj Mittal --- - autogen.sh | 2 +- + autogen.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/autogen.sh b/autogen.sh -index 7424428..843619e 100755 +index ef43270..a7067a7 100755 --- a/autogen.sh +++ b/autogen.sh -@@ -5,7 +5,7 @@ set -e +@@ -13,7 +13,7 @@ fi export LC_COLLATE=C unset LC_ALL --find . -iname '*.[ch]' ! -ipath './grub-core/lib/libgcrypt-grub/*' ! -ipath './build-aux/*' ! -ipath './grub-core/lib/libgcrypt/src/misc.c' ! -ipath './grub-core/lib/libgcrypt/src/global.c' ! -ipath './grub-core/lib/libgcrypt/src/secmem.c' ! -ipath './util/grub-gen-widthspec.c' ! -ipath './util/grub-gen-asciih.c' |sort > po/POTFILES.in -+find . -iname '*.[ch]' ! -ipath './grub-core/lib/libgcrypt-grub/*' ! -ipath './build-aux/*' ! -ipath './grub-core/lib/libgcrypt/src/misc.c' ! -ipath './grub-core/lib/libgcrypt/src/global.c' ! -ipath './grub-core/lib/libgcrypt/src/secmem.c' ! -ipath './util/grub-gen-widthspec.c' ! -ipath './util/grub-gen-asciih.c' ! -path './.pc/*' | sort > po/POTFILES.in +-find . -iname '*.[ch]' ! -ipath './grub-core/lib/libgcrypt-grub/*' ! -ipath './build-aux/*' ! -ipath './grub-core/lib/libgcrypt/src/misc.c' ! -ipath './grub-core/lib/libgcrypt/src/global.c' ! -ipath './grub-core/lib/libgcrypt/src/secmem.c' ! -ipath './util/grub-gen-widthspec.c' ! -ipath './util/grub-gen-asciih.c' ! -ipath './gnulib/*' ! -iname './grub-core/lib/gnulib/*' |sort > po/POTFILES.in ++find . -iname '*.[ch]' ! -ipath './grub-core/lib/libgcrypt-grub/*' ! -ipath './build-aux/*' ! -ipath './grub-core/lib/libgcrypt/src/misc.c' ! -ipath './grub-core/lib/libgcrypt/src/global.c' ! -ipath './grub-core/lib/libgcrypt/src/secmem.c' ! -ipath './util/grub-gen-widthspec.c' ! -ipath './util/grub-gen-asciih.c' ! -ipath './gnulib/*' ! -iname './grub-core/lib/gnulib/*' ! -path './.pc/*' |sort > po/POTFILES.in find util -iname '*.in' ! -name Makefile.in |sort > po/POTFILES-shell.in echo "Importing unicode..." -- -1.7.10.4 +2.7.4 diff --git a/poky/meta/recipes-bsp/grub/files/gcc8.patch b/poky/meta/recipes-bsp/grub/files/gcc8.patch deleted file mode 100644 index fa7331f1b..000000000 --- a/poky/meta/recipes-bsp/grub/files/gcc8.patch +++ /dev/null @@ -1,74 +0,0 @@ -From 563b1da6e6ae7af46cc8354cadb5dab416989f0a Mon Sep 17 00:00:00 2001 -From: Michael Chang -Date: Mon, 26 Mar 2018 16:52:34 +0800 -Subject: Fix packed-not-aligned error on GCC 8 -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -When building with GCC 8, there are several errors regarding packed-not-aligned. - -./include/grub/gpt_partition.h:79:1: error: alignment 1 of ‘struct grub_gpt_partentry’ is less than 8 [-Werror=packed-not-aligned] - -This patch fixes the build error by cleaning up the ambiguity of placing -aligned structure in a packed one. In "struct grub_btrfs_time" and "struct -grub_gpt_part_type", the aligned attribute seems to be superfluous, and also -has to be packed, to ensure the structure is bit-to-bit mapped to the format -laid on disk. I think we could blame to copy and paste error here for the -mistake. In "struct efi_variable", we have to use grub_efi_packed_guid_t, as -the name suggests. :) - -Signed-off-by: Michael Chang -Tested-by: Michael Chang -Tested-by: Paul Menzel -Reviewed-by: Daniel Kiper - -Upstream-Status: Backport http://git.savannah.gnu.org/cgit/grub.git/commit/?id=563b1da6e6ae7af46cc8354cadb5dab416989f0a ---- - grub-core/fs/btrfs.c | 2 +- - include/grub/efiemu/runtime.h | 2 +- - include/grub/gpt_partition.h | 2 +- - 3 files changed, 3 insertions(+), 3 deletions(-) - -diff --git a/grub-core/fs/btrfs.c b/grub-core/fs/btrfs.c -index 4849c1c..be19544 100644 ---- a/grub-core/fs/btrfs.c -+++ b/grub-core/fs/btrfs.c -@@ -175,7 +175,7 @@ struct grub_btrfs_time - { - grub_int64_t sec; - grub_uint32_t nanosec; --} __attribute__ ((aligned (4))); -+} GRUB_PACKED; - - struct grub_btrfs_inode - { -diff --git a/include/grub/efiemu/runtime.h b/include/grub/efiemu/runtime.h -index 9b6b729..36d2ded 100644 ---- a/include/grub/efiemu/runtime.h -+++ b/include/grub/efiemu/runtime.h -@@ -29,7 +29,7 @@ struct grub_efiemu_ptv_rel - - struct efi_variable - { -- grub_efi_guid_t guid; -+ grub_efi_packed_guid_t guid; - grub_uint32_t namelen; - grub_uint32_t size; - grub_efi_uint32_t attributes; -diff --git a/include/grub/gpt_partition.h b/include/grub/gpt_partition.h -index 1b32f67..9668a68 100644 ---- a/include/grub/gpt_partition.h -+++ b/include/grub/gpt_partition.h -@@ -28,7 +28,7 @@ struct grub_gpt_part_type - grub_uint16_t data2; - grub_uint16_t data3; - grub_uint8_t data4[8]; --} __attribute__ ((aligned(8))); -+} GRUB_PACKED; - typedef struct grub_gpt_part_type grub_gpt_part_type_t; - - #define GRUB_GPT_PARTITION_TYPE_EMPTY \ --- -cgit v1.0-41-gc330 - diff --git a/poky/meta/recipes-bsp/grub/files/grub-module-explicitly-keeps-symbole-.module_license.patch b/poky/meta/recipes-bsp/grub/files/grub-module-explicitly-keeps-symbole-.module_license.patch index ffc2d40d8..26890261b 100644 --- a/poky/meta/recipes-bsp/grub/files/grub-module-explicitly-keeps-symbole-.module_license.patch +++ b/poky/meta/recipes-bsp/grub/files/grub-module-explicitly-keeps-symbole-.module_license.patch @@ -1,13 +1,14 @@ -From 7461a3de38b66edbe2f5593f9bdab9f2704d32bc Mon Sep 17 00:00:00 2001 +From 917133acc701dbc4636165d3b08d15dc5829a06f Mon Sep 17 00:00:00 2001 From: Hongxu Jia Date: Wed, 17 Aug 2016 04:06:34 -0400 Subject: [PATCH] grub module explicitly keeps symbole .module_license While using oe-core toolchain to strip grub module 'all_video.mod', it stripped symbol table: --------------- -root@localhost:~# objdump -t all_video.mod +--------------- +root@localhost:~# objdump -t all_video.mod + all_video.mod: file format elf64-x86-64 SYMBOL TABLE: @@ -43,16 +44,16 @@ Signed-off-by: Hongxu Jia grub-core/genmod.sh.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -Index: grub-2.02/grub-core/genmod.sh.in -=================================================================== ---- grub-2.02.orig/grub-core/genmod.sh.in -+++ grub-2.02/grub-core/genmod.sh.in -@@ -56,7 +56,7 @@ if test x@TARGET_APPLE_LINKER@ != x1; th +diff --git a/grub-core/genmod.sh.in b/grub-core/genmod.sh.in +index 1250589..dd14308 100644 +--- a/grub-core/genmod.sh.in ++++ b/grub-core/genmod.sh.in +@@ -56,7 +56,7 @@ if test x@TARGET_APPLE_LINKER@ != x1; then if test x@platform@ != xemu; then @TARGET_STRIP@ --strip-unneeded \ -K grub_mod_init -K grub_mod_fini \ - -K _grub_mod_init -K _grub_mod_fini \ + -K _grub_mod_init -K _grub_mod_fini -K .module_license \ -R .note.gnu.gold-version -R .note.GNU-stack \ - -R .note -R .comment -R .ARM.exidx $tmpfile || exit 1 - fi + -R .gnu.build.attributes \ + -R .rel.gnu.build.attributes \ diff --git a/poky/meta/recipes-bsp/grub/grub-efi_2.02.bb b/poky/meta/recipes-bsp/grub/grub-efi_2.02.bb deleted file mode 100644 index 0028a9b6e..000000000 --- a/poky/meta/recipes-bsp/grub/grub-efi_2.02.bb +++ /dev/null @@ -1,109 +0,0 @@ -require grub2.inc - -GRUBPLATFORM = "efi" - -DEPENDS_append_class-target = " grub-efi-native" -RDEPENDS_${PN}_class-target = "diffutils freetype grub-common virtual/grub-bootconf" - -SRC_URI += " \ - file://cfg \ - " - -S = "${WORKDIR}/grub-${PV}" - -# Determine the target arch for the grub modules -python __anonymous () { - import re - target = d.getVar('TARGET_ARCH') - prefix = "" if d.getVar('EFI_PROVIDER') == "grub-efi" else "grub-efi-" - if target == "x86_64": - grubtarget = 'x86_64' - grubimage = prefix + "bootx64.efi" - elif re.match('i.86', target): - grubtarget = 'i386' - grubimage = prefix + "bootia32.efi" - elif re.match('aarch64', target): - grubtarget = 'arm64' - grubimage = prefix + "bootaa64.efi" - elif re.match('arm', target): - grubtarget = 'arm' - grubimage = prefix + "bootarm.efi" - else: - raise bb.parse.SkipRecipe("grub-efi is incompatible with target %s" % target) - d.setVar("GRUB_TARGET", grubtarget) - d.setVar("GRUB_IMAGE", grubimage) - prefix = "grub-efi-" if prefix == "" else "" - d.setVar("GRUB_IMAGE_PREFIX", prefix) -} - -inherit deploy - -CACHED_CONFIGUREVARS += "ac_cv_path_HELP2MAN=" -EXTRA_OECONF += "--enable-efiemu=no" - -do_mkimage() { - cd ${B} - # Search for the grub.cfg on the local boot media by using the - # built in cfg file provided via this recipe - grub-mkimage -c ../cfg -p /EFI/BOOT -d ./grub-core/ \ - -O ${GRUB_TARGET}-efi -o ./${GRUB_IMAGE_PREFIX}${GRUB_IMAGE} \ - ${GRUB_BUILDIN} -} - -addtask mkimage before do_install after do_compile - -do_mkimage_class-native() { - : -} - -do_install_append_class-target() { - install -d ${D}/boot - install -d ${D}/boot/EFI - install -d ${D}/boot/EFI/BOOT - install -m 644 ${B}/${GRUB_IMAGE_PREFIX}${GRUB_IMAGE} ${D}/boot/EFI/BOOT/${GRUB_IMAGE} -} - -do_install_class-native() { - install -d ${D}${bindir} - install -m 755 grub-mkimage ${D}${bindir} - install -m 755 grub-editenv ${D}${bindir} -} - -do_install_class-target() { - oe_runmake 'DESTDIR=${D}' -C grub-core install - - # Remove build host references... - find "${D}" -name modinfo.sh -type f -exec \ - sed -i \ - -e 's,--sysroot=${STAGING_DIR_TARGET},,g' \ - -e 's|${DEBUG_PREFIX_MAP}||g' \ - -e 's:${RECIPE_SYSROOT_NATIVE}::g' \ - {} + -} - -GRUB_BUILDIN ?= "boot linux ext2 fat serial part_msdos part_gpt normal \ - efi_gop iso9660 configfile search loadenv test" - -do_deploy() { - install -m 644 ${B}/${GRUB_IMAGE_PREFIX}${GRUB_IMAGE} ${DEPLOYDIR} -} - -do_deploy_class-native() { - : -} - -addtask deploy after do_install before do_build - -FILES_${PN} = "${libdir}/grub/${GRUB_TARGET}-efi \ - ${datadir}/grub \ - /boot/EFI/BOOT/${GRUB_IMAGE} \ - " - - -# 64-bit binaries are expected for the bootloader with an x32 userland -INSANE_SKIP_${PN}_append_linux-gnux32 = " arch" -INSANE_SKIP_${PN}-dbg_append_linux-gnux32 = " arch" -INSANE_SKIP_${PN}_append_linux-muslx32 = " arch" -INSANE_SKIP_${PN}-dbg_append_linux-muslx32 = " arch" - -BBCLASSEXTEND = "native" diff --git a/poky/meta/recipes-bsp/grub/grub-efi_2.04.bb b/poky/meta/recipes-bsp/grub/grub-efi_2.04.bb new file mode 100644 index 000000000..aaa198ea2 --- /dev/null +++ b/poky/meta/recipes-bsp/grub/grub-efi_2.04.bb @@ -0,0 +1,112 @@ +require grub2.inc + +GRUBPLATFORM = "efi" + +DEPENDS_append_class-target = " grub-efi-native" +RDEPENDS_${PN}_class-target = "diffutils freetype grub-common virtual/grub-bootconf" + +SRC_URI += " \ + file://cfg \ + " + +S = "${WORKDIR}/grub-${PV}" + +# Determine the target arch for the grub modules +python __anonymous () { + import re + target = d.getVar('TARGET_ARCH') + prefix = "" if d.getVar('EFI_PROVIDER') == "grub-efi" else "grub-efi-" + if target == "x86_64": + grubtarget = 'x86_64' + grubimage = prefix + "bootx64.efi" + elif re.match('i.86', target): + grubtarget = 'i386' + grubimage = prefix + "bootia32.efi" + elif re.match('aarch64', target): + grubtarget = 'arm64' + grubimage = prefix + "bootaa64.efi" + elif re.match('arm', target): + grubtarget = 'arm' + grubimage = prefix + "bootarm.efi" + else: + raise bb.parse.SkipRecipe("grub-efi is incompatible with target %s" % target) + d.setVar("GRUB_TARGET", grubtarget) + d.setVar("GRUB_IMAGE", grubimage) + prefix = "grub-efi-" if prefix == "" else "" + d.setVar("GRUB_IMAGE_PREFIX", prefix) +} + +inherit deploy + +CACHED_CONFIGUREVARS += "ac_cv_path_HELP2MAN=" +EXTRA_OECONF += "--enable-efiemu=no" + +do_mkimage() { + cd ${B} + # Search for the grub.cfg on the local boot media by using the + # built in cfg file provided via this recipe + grub-mkimage -c ../cfg -p /EFI/BOOT -d ./grub-core/ \ + -O ${GRUB_TARGET}-efi -o ./${GRUB_IMAGE_PREFIX}${GRUB_IMAGE} \ + ${GRUB_BUILDIN} +} + +addtask mkimage before do_install after do_compile + +do_mkimage_class-native() { + : +} + +do_install_append_class-target() { + install -d ${D}/boot + install -d ${D}/boot/EFI + install -d ${D}/boot/EFI/BOOT + install -m 644 ${B}/${GRUB_IMAGE_PREFIX}${GRUB_IMAGE} ${D}/boot/EFI/BOOT/${GRUB_IMAGE} +} + +do_install_class-native() { + install -d ${D}${bindir} + install -m 755 grub-mkimage ${D}${bindir} + install -m 755 grub-editenv ${D}${bindir} +} + +do_install_class-target() { + oe_runmake 'DESTDIR=${D}' -C grub-core install + + # Remove build host references... + find "${D}" -name modinfo.sh -type f -exec \ + sed -i \ + -e 's,--sysroot=${STAGING_DIR_TARGET},,g' \ + -e 's|${DEBUG_PREFIX_MAP}||g' \ + -e 's:${RECIPE_SYSROOT_NATIVE}::g' \ + {} + +} + +do_install_append_aarch64() { + rm -rf ${D}/${prefix}/ +} + +GRUB_BUILDIN ?= "boot linux ext2 fat serial part_msdos part_gpt normal \ + efi_gop iso9660 configfile search loadenv test" + +do_deploy() { + install -m 644 ${B}/${GRUB_IMAGE_PREFIX}${GRUB_IMAGE} ${DEPLOYDIR} +} + +do_deploy_class-native() { + : +} + +addtask deploy after do_install before do_build + +FILES_${PN} = "${libdir}/grub/${GRUB_TARGET}-efi \ + ${datadir}/grub \ + /boot/EFI/BOOT/${GRUB_IMAGE} \ + " + +FILES_${PN}_remove_aarch64 = "${libdir}/grub/${GRUB_TARGET}-efi" + +# 64-bit binaries are expected for the bootloader with an x32 userland +INSANE_SKIP_${PN}_append_linux-gnux32 = " arch" +INSANE_SKIP_${PN}-dbg_append_linux-gnux32 = " arch" +INSANE_SKIP_${PN}_append_linux-muslx32 = " arch" +INSANE_SKIP_${PN}-dbg_append_linux-muslx32 = " arch" diff --git a/poky/meta/recipes-bsp/grub/grub2.inc b/poky/meta/recipes-bsp/grub/grub2.inc index c5ff10e59..c81def2a1 100644 --- a/poky/meta/recipes-bsp/grub/grub2.inc +++ b/poky/meta/recipes-bsp/grub/grub2.inc @@ -11,20 +11,16 @@ SECTION = "bootloaders" LICENSE = "GPLv3" LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" -SRC_URI = "https://ftp.gnu.org/gnu/grub/grub-${PV}.tar.gz \ +SRC_URI = "${GNU_MIRROR}/grub/grub-${PV}.tar.gz \ file://0001-Disable-mfpmath-sse-as-well-when-SSE-is-disabled.patch \ - file://0001-Unset-need_charset_alias-when-building-for-musl.patch \ file://autogen.sh-exclude-pc.patch \ file://grub-module-explicitly-keeps-symbole-.module_license.patch \ file://0001-grub.d-10_linux.in-add-oe-s-kernel-name.patch \ - file://gcc8.patch \ - file://0001-x86-64-Treat-R_X86_64_PLT32-as-R_X86_64_PC32.patch \ - file://0001-grub-setup-Debug-message-cleanup.patch \ " -SRC_URI[md5sum] = "1116d1f60c840e6dbd67abbc99acb45d" -SRC_URI[sha256sum] = "660ee136fbcee08858516ed4de2ad87068bfe1b6b8b37896ce3529ff054a726d" +SRC_URI[md5sum] = "5ce674ca6b2612d8939b9e6abed32934" +SRC_URI[sha256sum] = "f10c85ae3e204dbaec39ae22fa3c5e99f0665417e91c2cb49b7e5031658ba6ea" -DEPENDS = "flex-native bison-native" +DEPENDS = "flex-native bison-native gettext-native" COMPATIBLE_HOST = '(x86_64.*|i.86.*|arm.*|aarch64.*)-(linux.*|freebsd.*)' COMPATIBLE_HOST_armv7a = 'null' @@ -45,6 +41,7 @@ EXTRA_OECONF = "--with-platform=${GRUBPLATFORM} \ --enable-liblzma=no \ --enable-libzfs=no \ --enable-largefile \ + --disable-werror \ " PACKAGECONFIG ??= "" @@ -62,11 +59,11 @@ BUILD_LDFLAGS = "" export PYTHON = "python3" -CFLAGS_append = " -Wno-error" - do_configure_prepend() { ( cd ${S} ${S}/autogen.sh ) } RDEPENDS_${PN}_class-native = "" + +BBCLASSEXTEND = "native" diff --git a/poky/meta/recipes-bsp/grub/grub_2.02.bb b/poky/meta/recipes-bsp/grub/grub_2.02.bb deleted file mode 100644 index e0973759f..000000000 --- a/poky/meta/recipes-bsp/grub/grub_2.02.bb +++ /dev/null @@ -1,29 +0,0 @@ -require grub2.inc - -RDEPENDS_${PN}-common += "${PN}-editenv" -RDEPENDS_${PN} += "diffutils freetype ${PN}-common" - -RPROVIDES_${PN}-editenv += "${PN}-efi-editenv" - -PACKAGES =+ "${PN}-editenv ${PN}-common" -FILES_${PN}-editenv = "${bindir}/grub-editenv" -FILES_${PN}-common = " \ - ${bindir} \ - ${sysconfdir} \ - ${sbindir} \ - ${datadir}/grub \ -" - -do_install_append () { - install -d ${D}${sysconfdir}/grub.d - # Remove build host references... - find "${D}" -name modinfo.sh -type f -exec \ - sed -i \ - -e 's,--sysroot=${STAGING_DIR_TARGET},,g' \ - -e 's|${DEBUG_PREFIX_MAP}||g' \ - -e 's:${RECIPE_SYSROOT_NATIVE}::g' \ - {} + -} - -INSANE_SKIP_${PN} = "arch" -INSANE_SKIP_${PN}-dbg = "arch" diff --git a/poky/meta/recipes-bsp/grub/grub_2.04.bb b/poky/meta/recipes-bsp/grub/grub_2.04.bb new file mode 100644 index 000000000..1d1a45670 --- /dev/null +++ b/poky/meta/recipes-bsp/grub/grub_2.04.bb @@ -0,0 +1,33 @@ +require grub2.inc + +RDEPENDS_${PN}-common += "${PN}-editenv" +RDEPENDS_${PN} += "diffutils freetype ${PN}-common" + +RPROVIDES_${PN}-editenv += "${PN}-efi-editenv" + +PACKAGES =+ "${PN}-editenv ${PN}-common" +FILES_${PN}-editenv = "${bindir}/grub-editenv" +FILES_${PN}-common = " \ + ${bindir} \ + ${sysconfdir} \ + ${sbindir} \ + ${datadir}/grub \ +" + +FILES_${PN}-common_append_aarch64 = " \ + ${libdir}/${BPN} \ +" + +do_install_append () { + install -d ${D}${sysconfdir}/grub.d + # Remove build host references... + find "${D}" -name modinfo.sh -type f -exec \ + sed -i \ + -e 's,--sysroot=${STAGING_DIR_TARGET},,g' \ + -e 's|${DEBUG_PREFIX_MAP}||g' \ + -e 's:${RECIPE_SYSROOT_NATIVE}::g' \ + {} + +} + +INSANE_SKIP_${PN} = "arch" +INSANE_SKIP_${PN}-dbg = "arch" diff --git a/poky/meta/recipes-bsp/opensbi/opensbi_0.4.bb b/poky/meta/recipes-bsp/opensbi/opensbi_0.4.bb index 068ae762d..382752895 100644 --- a/poky/meta/recipes-bsp/opensbi/opensbi_0.4.bb +++ b/poky/meta/recipes-bsp/opensbi/opensbi_0.4.bb @@ -6,7 +6,7 @@ DEPENDS += "dtc-native" require opensbi-payloads.inc -inherit autotools-brokensep +inherit autotools-brokensep deploy SRCREV = "ce228ee0919deb9957192d723eecc8aaae2697c6" SRC_URI = "git://github.com/riscv/opensbi.git \ @@ -35,13 +35,12 @@ do_install_append() { } do_deploy () { - install -d ${DEPLOY_DIR_IMAGE} - install -m 755 ${D}/platform/${RISCV_SBI_PLAT}/firmware/fw_payload.* ${DEPLOY_DIR_IMAGE}/ - install -m 755 ${D}/platform/${RISCV_SBI_PLAT}/firmware/fw_jump.* ${DEPLOY_DIR_IMAGE}/ - install -m 755 ${D}/platform/${RISCV_SBI_PLAT}/firmware/fw_dynamic.* ${DEPLOY_DIR_IMAGE}/ + install -m 755 ${D}/platform/${RISCV_SBI_PLAT}/firmware/fw_payload.* ${DEPLOYDIR}/ + install -m 755 ${D}/platform/${RISCV_SBI_PLAT}/firmware/fw_jump.* ${DEPLOYDIR}/ + install -m 755 ${D}/platform/${RISCV_SBI_PLAT}/firmware/fw_dynamic.* ${DEPLOYDIR}/ } -addtask deploy after do_install +addtask deploy before do_build after do_install FILES_${PN} += "/platform/${RISCV_SBI_PLAT}/firmware/fw_jump.*" FILES_${PN} += "/platform/${RISCV_SBI_PLAT}/firmware/fw_payload.*" diff --git a/poky/meta/recipes-connectivity/bind/bind_9.11.5-P4.bb b/poky/meta/recipes-connectivity/bind/bind_9.11.5-P4.bb index 1355841e6..93c406f77 100644 --- a/poky/meta/recipes-connectivity/bind/bind_9.11.5-P4.bb +++ b/poky/meta/recipes-connectivity/bind/bind_9.11.5-P4.bb @@ -26,8 +26,8 @@ SRC_URI[md5sum] = "8ddab4b61fa4516fe404679c74e37960" SRC_URI[sha256sum] = "7e8c08192bcbaeb6e9f2391a70e67583b027b90e8c4bc1605da6eb126edde434" UPSTREAM_CHECK_URI = "https://ftp.isc.org/isc/bind9/" -UPSTREAM_CHECK_REGEX = "(?P9(\.\d+)+(-P\d+)*)/" -RECIPE_NO_UPDATE_REASON = "9.11 is LTS 2021" +# stay at 9.11 until 9.16, from 9.16 follow the ESV versions divisible by 4 +UPSTREAM_CHECK_REGEX = "(?P9.(11|16|20|24|28)(\.\d+)+(-P\d+)*)/" inherit autotools update-rc.d systemd useradd pkgconfig multilib_script diff --git a/poky/meta/recipes-connectivity/bluez5/bluez5.inc b/poky/meta/recipes-connectivity/bluez5/bluez5.inc index 28aaeea41..bffd174c0 100644 --- a/poky/meta/recipes-connectivity/bluez5/bluez5.inc +++ b/poky/meta/recipes-connectivity/bluez5/bluez5.inc @@ -139,7 +139,7 @@ def get_noinst_tools_paths (d, bb, tools): FILES_${PN}-noinst-tools = "${@get_noinst_tools_paths(d, bb, d.getVar('NOINST_TOOLS'))}" -RDEPENDS_${PN}-testtools += "python3 python3-dbus" +RDEPENDS_${PN}-testtools += "python3-core python3-dbus" RDEPENDS_${PN}-testtools += "${@bb.utils.contains('GI_DATA_ENABLED', 'True', 'python3-pygobject', '', d)}" SYSTEMD_SERVICE_${PN} = "${@bb.utils.contains('PACKAGECONFIG', 'systemd', 'bluetooth.service', '', d)}" diff --git a/poky/meta/recipes-connectivity/dhcp/dhcp.inc b/poky/meta/recipes-connectivity/dhcp/dhcp.inc index 3e65e5cf2..18bbaf884 100644 --- a/poky/meta/recipes-connectivity/dhcp/dhcp.inc +++ b/poky/meta/recipes-connectivity/dhcp/dhcp.inc @@ -21,7 +21,7 @@ SRC_URI = "http://ftp.isc.org/isc/dhcp/${PV}/dhcp-${PV}.tar.gz \ file://dhcpd.service file://dhcrelay.service \ file://dhcpd6.service \ " -UPSTREAM_CHECK_URI = "ftp://ftp.isc.org/isc/dhcp/" +UPSTREAM_CHECK_URI = "http://ftp.isc.org/isc/dhcp/" UPSTREAM_CHECK_REGEX = "(?P\d+\.\d+\.(\d+?))/" inherit autotools-brokensep systemd useradd update-rc.d diff --git a/poky/meta/recipes-connectivity/inetutils/inetutils/fix-buffer-fortify-tfpt.patch b/poky/meta/recipes-connectivity/inetutils/inetutils/fix-buffer-fortify-tfpt.patch new file mode 100644 index 000000000..a91913cb5 --- /dev/null +++ b/poky/meta/recipes-connectivity/inetutils/inetutils/fix-buffer-fortify-tfpt.patch @@ -0,0 +1,25 @@ +tftpd: Fix abort on error path + +When trying to fetch a non existent file, the app crashes with: + +*** buffer overflow detected ***: +Aborted + + +Upstream-Status: Submitted [https://www.mail-archive.com/bug-inetutils@gnu.org/msg03036.html https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91205] +Signed-off-by: Ricardo Ribalda Delgado +diff --git a/src/tftpd.c b/src/tftpd.c +index 56002a0..144012f 100644 +--- a/src/tftpd.c ++++ b/src/tftpd.c +@@ -864,9 +864,8 @@ nak (int error) + pe->e_msg = strerror (error - 100); + tp->th_code = EUNDEF; /* set 'undef' errorcode */ + } +- strcpy (tp->th_msg, pe->e_msg); + length = strlen (pe->e_msg); +- tp->th_msg[length] = '\0'; ++ memcpy(tp->th_msg, pe->e_msg, length + 1); + length += 5; + if (sendto (peer, buf, length, 0, (struct sockaddr *) &from, fromlen) != length) + syslog (LOG_ERR, "nak: %m\n"); 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 ac2e017d8..684fbe09e 100644 --- a/poky/meta/recipes-connectivity/inetutils/inetutils_1.9.4.bb +++ b/poky/meta/recipes-connectivity/inetutils/inetutils_1.9.4.bb @@ -22,6 +22,7 @@ SRC_URI = "${GNU_MIRROR}/inetutils/inetutils-${PV}.tar.gz \ file://inetutils-1.9-PATH_PROCNET_DEV.patch \ file://inetutils-only-check-pam_appl.h-when-pam-enabled.patch \ file://0001-rcp-fix-to-work-with-large-files.patch \ + file://fix-buffer-fortify-tfpt.patch \ " SRC_URI[md5sum] = "04852c26c47cc8c6b825f2b74f191f52" diff --git a/poky/meta/recipes-connectivity/iproute2/iproute2/configure-cross.patch b/poky/meta/recipes-connectivity/iproute2/iproute2/configure-cross.patch deleted file mode 100644 index b0c4a088f..000000000 --- a/poky/meta/recipes-connectivity/iproute2/iproute2/configure-cross.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 3835b1cc4a55361443c2b37dea688da652217635 Mon Sep 17 00:00:00 2001 -From: Koen Kooi -Date: Sun, 31 Mar 2019 17:32:07 +0200 -Subject: [PATCH] make configure cross compile safe - -According to Kevin Tian: -Upstream-Status: Pending - -Signed-off-by: Koen Kooi -Signed-off-by: Shane Wang - ---- - configure | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/configure b/configure -index 45fcffb6..0c5c9146 100755 ---- a/configure -+++ b/configure -@@ -3,6 +3,7 @@ - # This is not an autoconf generated configure - # - INCLUDE=${1:-"$PWD/include"} -+SYSROOT=$1 - - # Output file which is input to Makefile - CONFIG=config.mk -@@ -162,7 +163,7 @@ check_ipt_lib_dir() - return - fi - -- for dir in /lib /usr/lib /usr/local/lib; do -+ for dir in $SYSROOT/lib $SYSROOT/usr/lib $SYSROOT/usr/local/lib; do - for file in "xtables" "iptables"; do - file="$dir/$file/lib*t_*so" - if [ -f $file ]; then --- -2.17.1 - diff --git a/poky/meta/recipes-connectivity/iproute2/iproute2_5.2.0.bb b/poky/meta/recipes-connectivity/iproute2/iproute2_5.2.0.bb index 8ef529d91..1728cd69a 100644 --- a/poky/meta/recipes-connectivity/iproute2/iproute2_5.2.0.bb +++ b/poky/meta/recipes-connectivity/iproute2/iproute2_5.2.0.bb @@ -1,7 +1,6 @@ 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 \ " diff --git a/poky/meta/recipes-connectivity/ofono/ofono.inc b/poky/meta/recipes-connectivity/ofono/ofono.inc index 03d0fd53a..bdbb0b5bc 100644 --- a/poky/meta/recipes-connectivity/ofono/ofono.inc +++ b/poky/meta/recipes-connectivity/ofono/ofono.inc @@ -35,5 +35,5 @@ RRECOMMENDS_${PN} += "kernel-module-tun mobile-broadband-provider-info" FILES_${PN} += "${systemd_unitdir}" FILES_${PN}-tests = "${libdir}/${BPN}/test" -RDEPENDS_${PN}-tests = "python3 python3-dbus" +RDEPENDS_${PN}-tests = "python3-core python3-dbus" RDEPENDS_${PN}-tests += "${@bb.utils.contains('GI_DATA_ENABLED', 'True', 'python3-pygobject', '', d)}" diff --git a/poky/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant_2.8.bb b/poky/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant_2.8.bb deleted file mode 100644 index bd4167c31..000000000 --- a/poky/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant_2.8.bb +++ /dev/null @@ -1,109 +0,0 @@ -SUMMARY = "Client for Wi-Fi Protected Access (WPA)" -HOMEPAGE = "http://w1.fi/wpa_supplicant/" -BUGTRACKER = "http://w1.fi/security/" -SECTION = "network" -LICENSE = "BSD" -LIC_FILES_CHKSUM = "file://COPYING;md5=279b4f5abb9c153c285221855ddb78cc \ - file://README;beginline=1;endline=56;md5=e7d3dbb01f75f0b9799e192731d1e1ff \ - file://wpa_supplicant/wpa_supplicant.c;beginline=1;endline=12;md5=0a8b56d3543498b742b9c0e94cc2d18b" -DEPENDS = "dbus libnl" -RRECOMMENDS_${PN} = "wpa-supplicant-passphrase wpa-supplicant-cli" - -PACKAGECONFIG ??= "gnutls" -PACKAGECONFIG[gnutls] = ",,gnutls libgcrypt" -PACKAGECONFIG[openssl] = ",,openssl" - -inherit pkgconfig systemd - -SYSTEMD_SERVICE_${PN} = "wpa_supplicant.service wpa_supplicant-nl80211@.service wpa_supplicant-wired@.service" -SYSTEMD_AUTO_ENABLE = "disable" - -SRC_URI = "http://w1.fi/releases/wpa_supplicant-${PV}.tar.gz \ - file://defconfig \ - file://wpa-supplicant.sh \ - file://wpa_supplicant.conf \ - file://wpa_supplicant.conf-sane \ - file://99_wpa_supplicant \ - file://0001-replace-systemd-install-Alias-with-WantedBy.patch \ - " -SRC_URI[md5sum] = "0af5998c5d924e985cab16b9a1c77904" -SRC_URI[sha256sum] = "a689336a12a99151b9de5e25bfccadb88438f4f4438eb8db331cd94346fd3d96" - -CVE_PRODUCT = "wpa_supplicant" - -S = "${WORKDIR}/wpa_supplicant-${PV}" - -PACKAGES_prepend = "wpa-supplicant-passphrase wpa-supplicant-cli " -FILES_wpa-supplicant-passphrase = "${bindir}/wpa_passphrase" -FILES_wpa-supplicant-cli = "${sbindir}/wpa_cli" -FILES_${PN} += "${datadir}/dbus-1/system-services/*" -CONFFILES_${PN} += "${sysconfdir}/wpa_supplicant.conf" - -do_configure () { - ${MAKE} -C wpa_supplicant clean - install -m 0755 ${WORKDIR}/defconfig wpa_supplicant/.config - - if echo "${PACKAGECONFIG}" | grep -qw "openssl"; then - ssl=openssl - elif echo "${PACKAGECONFIG}" | grep -qw "gnutls"; then - ssl=gnutls - fi - if [ -n "$ssl" ]; then - sed -i "s/%ssl%/$ssl/" wpa_supplicant/.config - fi - - # For rebuild - rm -f wpa_supplicant/*.d wpa_supplicant/dbus/*.d -} - -export EXTRA_CFLAGS = "${CFLAGS}" -export BINDIR = "${sbindir}" - -do_compile () { - unset CFLAGS CPPFLAGS CXXFLAGS - sed -e "s:CFLAGS\ =.*:& \$(EXTRA_CFLAGS):g" -i ${S}/src/lib.rules - oe_runmake -C wpa_supplicant -} - -do_install () { - install -d ${D}${sbindir} - install -m 755 wpa_supplicant/wpa_supplicant ${D}${sbindir} - install -m 755 wpa_supplicant/wpa_cli ${D}${sbindir} - - install -d ${D}${bindir} - install -m 755 wpa_supplicant/wpa_passphrase ${D}${bindir} - - install -d ${D}${docdir}/wpa_supplicant - install -m 644 wpa_supplicant/README ${WORKDIR}/wpa_supplicant.conf ${D}${docdir}/wpa_supplicant - - install -d ${D}${sysconfdir} - install -m 600 ${WORKDIR}/wpa_supplicant.conf-sane ${D}${sysconfdir}/wpa_supplicant.conf - - install -d ${D}${sysconfdir}/network/if-pre-up.d/ - install -d ${D}${sysconfdir}/network/if-post-down.d/ - install -d ${D}${sysconfdir}/network/if-down.d/ - install -m 755 ${WORKDIR}/wpa-supplicant.sh ${D}${sysconfdir}/network/if-pre-up.d/wpa-supplicant - cd ${D}${sysconfdir}/network/ && \ - ln -sf ../if-pre-up.d/wpa-supplicant if-post-down.d/wpa-supplicant - - install -d ${D}/${sysconfdir}/dbus-1/system.d - install -m 644 ${S}/wpa_supplicant/dbus/dbus-wpa_supplicant.conf ${D}/${sysconfdir}/dbus-1/system.d - install -d ${D}/${datadir}/dbus-1/system-services - install -m 644 ${S}/wpa_supplicant/dbus/*.service ${D}/${datadir}/dbus-1/system-services - - if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then - install -d ${D}/${systemd_unitdir}/system - install -m 644 ${S}/wpa_supplicant/systemd/*.service ${D}/${systemd_unitdir}/system - fi - - install -d ${D}/etc/default/volatiles - install -m 0644 ${WORKDIR}/99_wpa_supplicant ${D}/etc/default/volatiles -} - -pkg_postinst_wpa-supplicant () { - # If we're offline, we don't need to do this. - if [ "x$D" = "x" ]; then - killall -q -HUP dbus-daemon || true - fi - -} diff --git a/poky/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant_2.9.bb b/poky/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant_2.9.bb new file mode 100644 index 000000000..c16978cfe --- /dev/null +++ b/poky/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant_2.9.bb @@ -0,0 +1,109 @@ +SUMMARY = "Client for Wi-Fi Protected Access (WPA)" +HOMEPAGE = "http://w1.fi/wpa_supplicant/" +BUGTRACKER = "http://w1.fi/security/" +SECTION = "network" +LICENSE = "BSD" +LIC_FILES_CHKSUM = "file://COPYING;md5=279b4f5abb9c153c285221855ddb78cc \ + file://README;beginline=1;endline=56;md5=e7d3dbb01f75f0b9799e192731d1e1ff \ + file://wpa_supplicant/wpa_supplicant.c;beginline=1;endline=12;md5=0a8b56d3543498b742b9c0e94cc2d18b" +DEPENDS = "dbus libnl" +RRECOMMENDS_${PN} = "wpa-supplicant-passphrase wpa-supplicant-cli" + +PACKAGECONFIG ??= "gnutls" +PACKAGECONFIG[gnutls] = ",,gnutls libgcrypt" +PACKAGECONFIG[openssl] = ",,openssl" + +inherit pkgconfig systemd + +SYSTEMD_SERVICE_${PN} = "wpa_supplicant.service wpa_supplicant-nl80211@.service wpa_supplicant-wired@.service" +SYSTEMD_AUTO_ENABLE = "disable" + +SRC_URI = "http://w1.fi/releases/wpa_supplicant-${PV}.tar.gz \ + file://defconfig \ + file://wpa-supplicant.sh \ + file://wpa_supplicant.conf \ + file://wpa_supplicant.conf-sane \ + file://99_wpa_supplicant \ + file://0001-replace-systemd-install-Alias-with-WantedBy.patch \ + " +SRC_URI[md5sum] = "2d2958c782576dc9901092fbfecb4190" +SRC_URI[sha256sum] = "fcbdee7b4a64bea8177973299c8c824419c413ec2e3a95db63dd6a5dc3541f17" + +CVE_PRODUCT = "wpa_supplicant" + +S = "${WORKDIR}/wpa_supplicant-${PV}" + +PACKAGES_prepend = "wpa-supplicant-passphrase wpa-supplicant-cli " +FILES_wpa-supplicant-passphrase = "${bindir}/wpa_passphrase" +FILES_wpa-supplicant-cli = "${sbindir}/wpa_cli" +FILES_${PN} += "${datadir}/dbus-1/system-services/*" +CONFFILES_${PN} += "${sysconfdir}/wpa_supplicant.conf" + +do_configure () { + ${MAKE} -C wpa_supplicant clean + install -m 0755 ${WORKDIR}/defconfig wpa_supplicant/.config + + if echo "${PACKAGECONFIG}" | grep -qw "openssl"; then + ssl=openssl + elif echo "${PACKAGECONFIG}" | grep -qw "gnutls"; then + ssl=gnutls + fi + if [ -n "$ssl" ]; then + sed -i "s/%ssl%/$ssl/" wpa_supplicant/.config + fi + + # For rebuild + rm -f wpa_supplicant/*.d wpa_supplicant/dbus/*.d +} + +export EXTRA_CFLAGS = "${CFLAGS}" +export BINDIR = "${sbindir}" + +do_compile () { + unset CFLAGS CPPFLAGS CXXFLAGS + sed -e "s:CFLAGS\ =.*:& \$(EXTRA_CFLAGS):g" -i ${S}/src/lib.rules + oe_runmake -C wpa_supplicant +} + +do_install () { + install -d ${D}${sbindir} + install -m 755 wpa_supplicant/wpa_supplicant ${D}${sbindir} + install -m 755 wpa_supplicant/wpa_cli ${D}${sbindir} + + install -d ${D}${bindir} + install -m 755 wpa_supplicant/wpa_passphrase ${D}${bindir} + + install -d ${D}${docdir}/wpa_supplicant + install -m 644 wpa_supplicant/README ${WORKDIR}/wpa_supplicant.conf ${D}${docdir}/wpa_supplicant + + install -d ${D}${sysconfdir} + install -m 600 ${WORKDIR}/wpa_supplicant.conf-sane ${D}${sysconfdir}/wpa_supplicant.conf + + install -d ${D}${sysconfdir}/network/if-pre-up.d/ + install -d ${D}${sysconfdir}/network/if-post-down.d/ + install -d ${D}${sysconfdir}/network/if-down.d/ + install -m 755 ${WORKDIR}/wpa-supplicant.sh ${D}${sysconfdir}/network/if-pre-up.d/wpa-supplicant + cd ${D}${sysconfdir}/network/ && \ + ln -sf ../if-pre-up.d/wpa-supplicant if-post-down.d/wpa-supplicant + + install -d ${D}/${sysconfdir}/dbus-1/system.d + install -m 644 ${S}/wpa_supplicant/dbus/dbus-wpa_supplicant.conf ${D}/${sysconfdir}/dbus-1/system.d + install -d ${D}/${datadir}/dbus-1/system-services + install -m 644 ${S}/wpa_supplicant/dbus/*.service ${D}/${datadir}/dbus-1/system-services + + if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then + install -d ${D}/${systemd_unitdir}/system + install -m 644 ${S}/wpa_supplicant/systemd/*.service ${D}/${systemd_unitdir}/system + fi + + install -d ${D}/etc/default/volatiles + install -m 0644 ${WORKDIR}/99_wpa_supplicant ${D}/etc/default/volatiles +} + +pkg_postinst_wpa-supplicant () { + # If we're offline, we don't need to do this. + if [ "x$D" = "x" ]; then + killall -q -HUP dbus-daemon || true + fi + +} diff --git a/poky/meta/recipes-core/ell/ell_0.20.bb b/poky/meta/recipes-core/ell/ell_0.20.bb deleted file mode 100644 index 81caa80fa..000000000 --- a/poky/meta/recipes-core/ell/ell_0.20.bb +++ /dev/null @@ -1,22 +0,0 @@ -SUMMARY = "Embedded Linux Library" -DESCRIPTION = "The Embedded Linux Library (ELL) provides core, \ -low-level functionality for system daemons. It typically has no \ -dependencies other than the Linux kernel, C standard library, and \ -libdl (for dynamic linking). While ELL is designed to be efficient \ -and compact enough for use on embedded Linux platforms, it is not \ -limited to resource-constrained systems." -SECTION = "libs" -LICENSE = "LGPLv2.1" -LIC_FILES_CHKSUM = "file://COPYING;md5=fb504b67c50331fc78734fed90fb0e09" - -DEPENDS = "dbus" - -inherit autotools pkgconfig - -SRC_URI = "https://mirrors.edge.kernel.org/pub/linux/libs/${BPN}/${BPN}-${PV}.tar.xz" -SRC_URI[md5sum] = "920189f5be4ee4cd72d610baeb20da65" -SRC_URI[sha256sum] = "d4aa08915f4058ecaab509dffbe22665d71dba6fe9626caff63c0e5f4b78a394" - -do_configure_prepend () { - mkdir -p ${S}/build-aux -} diff --git a/poky/meta/recipes-core/ell/ell_0.21.bb b/poky/meta/recipes-core/ell/ell_0.21.bb new file mode 100644 index 000000000..487fbccab --- /dev/null +++ b/poky/meta/recipes-core/ell/ell_0.21.bb @@ -0,0 +1,22 @@ +SUMMARY = "Embedded Linux Library" +DESCRIPTION = "The Embedded Linux Library (ELL) provides core, \ +low-level functionality for system daemons. It typically has no \ +dependencies other than the Linux kernel, C standard library, and \ +libdl (for dynamic linking). While ELL is designed to be efficient \ +and compact enough for use on embedded Linux platforms, it is not \ +limited to resource-constrained systems." +SECTION = "libs" +LICENSE = "LGPLv2.1" +LIC_FILES_CHKSUM = "file://COPYING;md5=fb504b67c50331fc78734fed90fb0e09" + +DEPENDS = "dbus" + +inherit autotools pkgconfig + +SRC_URI = "https://mirrors.edge.kernel.org/pub/linux/libs/${BPN}/${BPN}-${PV}.tar.xz" +SRC_URI[md5sum] = "f94f8c812b0426b0c30b651fa5142dd9" +SRC_URI[sha256sum] = "a0db4e3057ba41035637354b6af2aa4c74f83509e0c3e563d682df9d72eaff17" + +do_configure_prepend () { + mkdir -p ${S}/build-aux +} diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0_2.60.5.bb b/poky/meta/recipes-core/glib-2.0/glib-2.0_2.60.5.bb deleted file mode 100644 index bcb1fdb9a..000000000 --- a/poky/meta/recipes-core/glib-2.0/glib-2.0_2.60.5.bb +++ /dev/null @@ -1,25 +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-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 \ - " - -SRC_URI_append_class-native = " file://relocate-modules.patch" -SRC_URI_append_class-target = " file://glib-meson.cross" - -SRC_URI[md5sum] = "7dced27cfa79419dc6cc82c02190c457" -SRC_URI[sha256sum] = "3edf1df576ee82b2ecb8ba85c343644e48ee62e68290e71e6084b00d6ba2622e" diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0_2.60.6.bb b/poky/meta/recipes-core/glib-2.0/glib-2.0_2.60.6.bb new file mode 100644 index 000000000..a3c5a09d4 --- /dev/null +++ b/poky/meta/recipes-core/glib-2.0/glib-2.0_2.60.6.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 \ + " + +SRC_URI_append_class-native = " file://relocate-modules.patch" +SRC_URI_append_class-target = " file://glib-meson.cross" + +SRC_URI[md5sum] = "cd6865d8ce40db5e4c12b7d180953de6" +SRC_URI[sha256sum] = "ff8fab8d8deaa4fd0536c90f90d9769a09071779c7e6183907f6855645bffb6c" diff --git a/poky/meta/recipes-core/glibc/cross-localedef-native_2.29.bb b/poky/meta/recipes-core/glibc/cross-localedef-native_2.29.bb deleted file mode 100644 index 8bc7cd649..000000000 --- a/poky/meta/recipes-core/glibc/cross-localedef-native_2.29.bb +++ /dev/null @@ -1,53 +0,0 @@ -SUMMARY = "Cross locale generation tool for glibc" -HOMEPAGE = "http://www.gnu.org/software/libc/libc.html" -SECTION = "libs" -LICENSE = "LGPL-2.1" - -LIC_FILES_CHKSUM = "file://LICENSES;md5=cfc0ed77a9f62fa62eded042ebe31d72 \ - file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ - file://posix/rxspencer/COPYRIGHT;md5=dc5485bb394a13b2332ec1c785f5d83a \ - file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c" - -# Tell autotools that we're working in the localedef directory -# -AUTOTOOLS_SCRIPT_PATH = "${S}/localedef" - -inherit native -inherit autotools - -FILESEXTRAPATHS =. "${FILE_DIRNAME}/${PN}:${FILE_DIRNAME}/glibc:" - -SRCBRANCH ?= "release/${PV}/master" -GLIBC_GIT_URI ?= "git://sourceware.org/git/glibc.git" -UPSTREAM_CHECK_GITTAGREGEX = "(?P\d+\.\d+(\.(?!90)\d+)*)" - -PV = "2.29" - -SRCREV_glibc ?= "86013ef5cea322b8f4b9c22f230c22cce369e947" -SRCREV_localedef ?= "cd9f958c4c94a638fa7b2b4e21627364f1a1a655" - -SRC_URI = "${GLIBC_GIT_URI};branch=${SRCBRANCH};name=glibc \ - git://github.com/kraj/localedef;branch=master;name=localedef;destsuffix=git/localedef \ - file://0016-timezone-re-written-tzselect-as-posix-sh.patch \ - file://0017-Remove-bash-dependency-for-nscd-init-script.patch \ - file://0018-eglibc-Cross-building-and-testing-instructions.patch \ - file://0019-eglibc-Help-bootstrap-cross-toolchain.patch \ - file://0020-eglibc-Clear-cache-lines-on-ppc8xx.patch \ - file://0021-eglibc-Resolve-__fpscr_values-on-SH4.patch \ - file://0022-eglibc-Forward-port-cross-locale-generation-support.patch \ - file://0023-Define-DUMMY_LOCALE_T-if-not-defined.patch \ - file://0024-localedef-add-to-archive-uses-a-hard-coded-locale-pa.patch \ -" -# Makes for a rather long rev (22 characters), but... -# -SRCREV_FORMAT = "glibc_localedef" - -S = "${WORKDIR}/git" - -EXTRA_OECONF = "--with-glibc=${S}" -CFLAGS += "-fgnu89-inline -std=gnu99 -DIS_IN\(x\)='0'" - -do_install() { - install -d ${D}${bindir} - install -m 0755 ${B}/localedef ${D}${bindir}/cross-localedef -} diff --git a/poky/meta/recipes-core/glibc/cross-localedef-native_2.30.bb b/poky/meta/recipes-core/glibc/cross-localedef-native_2.30.bb new file mode 100644 index 000000000..e4923c73d --- /dev/null +++ b/poky/meta/recipes-core/glibc/cross-localedef-native_2.30.bb @@ -0,0 +1,46 @@ +SUMMARY = "Cross locale generation tool for glibc" +HOMEPAGE = "http://www.gnu.org/software/libc/libc.html" +SECTION = "libs" +LICENSE = "LGPL-2.1" + +LIC_FILES_CHKSUM = "file://LICENSES;md5=cfc0ed77a9f62fa62eded042ebe31d72 \ + file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ + file://posix/rxspencer/COPYRIGHT;md5=dc5485bb394a13b2332ec1c785f5d83a \ + file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c" + +require glibc-version.inc + +# Tell autotools that we're working in the localedef directory +# +AUTOTOOLS_SCRIPT_PATH = "${S}/localedef" + +inherit native +inherit autotools + +FILESEXTRAPATHS =. "${FILE_DIRNAME}/${PN}:${FILE_DIRNAME}/glibc:" + +SRC_URI = "${GLIBC_GIT_URI};branch=${SRCBRANCH};name=glibc \ + git://github.com/kraj/localedef;branch=master;name=localedef;destsuffix=git/localedef \ + file://0016-timezone-re-written-tzselect-as-posix-sh.patch \ + file://0017-Remove-bash-dependency-for-nscd-init-script.patch \ + file://0018-eglibc-Cross-building-and-testing-instructions.patch \ + file://0019-eglibc-Help-bootstrap-cross-toolchain.patch \ + file://0020-eglibc-Clear-cache-lines-on-ppc8xx.patch \ + file://0021-eglibc-Resolve-__fpscr_values-on-SH4.patch \ + file://0022-eglibc-Forward-port-cross-locale-generation-support.patch \ + file://0023-Define-DUMMY_LOCALE_T-if-not-defined.patch \ + file://0024-localedef-add-to-archive-uses-a-hard-coded-locale-pa.patch \ +" +# Makes for a rather long rev (22 characters), but... +# +SRCREV_FORMAT = "glibc_localedef" + +S = "${WORKDIR}/git" + +EXTRA_OECONF = "--with-glibc=${S}" +CFLAGS += "-fgnu89-inline -std=gnu99 -DIS_IN\(x\)='0'" + +do_install() { + install -d ${D}${bindir} + install -m 0755 ${B}/localedef ${D}${bindir}/cross-localedef +} diff --git a/poky/meta/recipes-core/glibc/glibc-common.inc b/poky/meta/recipes-core/glibc/glibc-common.inc index cded38459..fa46fd89f 100644 --- a/poky/meta/recipes-core/glibc/glibc-common.inc +++ b/poky/meta/recipes-core/glibc/glibc-common.inc @@ -3,10 +3,11 @@ DESCRIPTION = "The GNU C Library is used as the system C library in most systems HOMEPAGE = "http://www.gnu.org/software/libc/libc.html" SECTION = "libs" LICENSE = "GPLv2 & LGPLv2.1" -LIC_FILES_CHKSUM ?= "file://LICENSES;md5=07a394b26e0902b9ffdec03765209770 \ - file://COPYING;md5=393a5ca445f6965873eca0259a17f833 \ + +LIC_FILES_CHKSUM ?= "file://LICENSES;md5=cfc0ed77a9f62fa62eded042ebe31d72 \ + file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ file://posix/rxspencer/COPYRIGHT;md5=dc5485bb394a13b2332ec1c785f5d83a \ - file://COPYING.LIB;md5=bbb461211a33b134d42ed5ee802b37ff " + file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c" CVE_PRODUCT = "glibc" @@ -21,4 +22,4 @@ ARM_INSTRUCTION_SET_armv6 = "arm" # COMPATIBLE_HOST_libc-musl_class-target = "null" -PV = "2.29" +PV = "2.30" diff --git a/poky/meta/recipes-core/glibc/glibc-locale_2.29.bb b/poky/meta/recipes-core/glibc/glibc-locale_2.29.bb deleted file mode 100644 index f7702e035..000000000 --- a/poky/meta/recipes-core/glibc/glibc-locale_2.29.bb +++ /dev/null @@ -1 +0,0 @@ -require glibc-locale.inc diff --git a/poky/meta/recipes-core/glibc/glibc-locale_2.30.bb b/poky/meta/recipes-core/glibc/glibc-locale_2.30.bb new file mode 100644 index 000000000..f7702e035 --- /dev/null +++ b/poky/meta/recipes-core/glibc/glibc-locale_2.30.bb @@ -0,0 +1 @@ +require glibc-locale.inc diff --git a/poky/meta/recipes-core/glibc/glibc-mtrace_2.29.bb b/poky/meta/recipes-core/glibc/glibc-mtrace_2.29.bb deleted file mode 100644 index 0b69bad46..000000000 --- a/poky/meta/recipes-core/glibc/glibc-mtrace_2.29.bb +++ /dev/null @@ -1 +0,0 @@ -require glibc-mtrace.inc diff --git a/poky/meta/recipes-core/glibc/glibc-mtrace_2.30.bb b/poky/meta/recipes-core/glibc/glibc-mtrace_2.30.bb new file mode 100644 index 000000000..0b69bad46 --- /dev/null +++ b/poky/meta/recipes-core/glibc/glibc-mtrace_2.30.bb @@ -0,0 +1 @@ +require glibc-mtrace.inc diff --git a/poky/meta/recipes-core/glibc/glibc-package.inc b/poky/meta/recipes-core/glibc/glibc-package.inc index b150a3437..f796876a8 100644 --- a/poky/meta/recipes-core/glibc/glibc-package.inc +++ b/poky/meta/recipes-core/glibc/glibc-package.inc @@ -36,6 +36,7 @@ FILES_${PN}-pic = "${libdir}/*_pic.a ${libdir}/*_pic.map ${libdir}/libc_pic/*.o" FILES_libsotruss = "${libdir}/audit/sotruss-lib.so" FILES_SOLIBSDEV = "${libdir}/lib*${SOLIBSDEV}" FILES_${PN}-dev += "${libdir}/*_nonshared.a ${base_libdir}/*_nonshared.a ${base_libdir}/*.o ${datadir}/aclocal" +RDEPENDS_${PN}-dev = "linux-libc-headers-dev" FILES_${PN}-staticdev += "${libdir}/*.a ${base_libdir}/*.a" FILES_nscd = "${sbindir}/nscd* ${sysconfdir}/init.d/nscd ${systemd_unitdir}/system/nscd* ${sysconfdir}/tmpfiles.d/nscd.conf \ ${sysconfdir}/nscd.conf ${sysconfdir}/default/volatiles/98_nscd ${localstatedir}/db/nscd" diff --git a/poky/meta/recipes-core/glibc/glibc-scripts_2.29.bb b/poky/meta/recipes-core/glibc/glibc-scripts_2.29.bb deleted file mode 100644 index 5a89bd802..000000000 --- a/poky/meta/recipes-core/glibc/glibc-scripts_2.29.bb +++ /dev/null @@ -1 +0,0 @@ -require glibc-scripts.inc diff --git a/poky/meta/recipes-core/glibc/glibc-scripts_2.30.bb b/poky/meta/recipes-core/glibc/glibc-scripts_2.30.bb new file mode 100644 index 000000000..5a89bd802 --- /dev/null +++ b/poky/meta/recipes-core/glibc/glibc-scripts_2.30.bb @@ -0,0 +1 @@ +require glibc-scripts.inc diff --git a/poky/meta/recipes-core/glibc/glibc-version.inc b/poky/meta/recipes-core/glibc/glibc-version.inc new file mode 100644 index 000000000..c18c58339 --- /dev/null +++ b/poky/meta/recipes-core/glibc/glibc-version.inc @@ -0,0 +1,8 @@ +SRCBRANCH ?= "release/2.30/master" +PV = "2.30" +SRCREV_glibc ?= "be9a328c93834648e0bec106a1f86357d1a8c7e1" +SRCREV_localedef ?= "cd9f958c4c94a638fa7b2b4e21627364f1a1a655" + +GLIBC_GIT_URI ?= "git://sourceware.org/git/glibc.git" + +UPSTREAM_CHECK_GITTAGREGEX = "(?P\d+\.\d+(\.(?!90)\d+)*)" diff --git a/poky/meta/recipes-core/glibc/glibc/0001-nativesdk-glibc-Look-for-host-system-ld.so.cache-as-.patch b/poky/meta/recipes-core/glibc/glibc/0001-nativesdk-glibc-Look-for-host-system-ld.so.cache-as-.patch index 86ad9eaf1..d86d1d8dc 100644 --- a/poky/meta/recipes-core/glibc/glibc/0001-nativesdk-glibc-Look-for-host-system-ld.so.cache-as-.patch +++ b/poky/meta/recipes-core/glibc/glibc/0001-nativesdk-glibc-Look-for-host-system-ld.so.cache-as-.patch @@ -1,7 +1,7 @@ -From 0cac7493366586e8f87e8459359c15f702ef8c81 Mon Sep 17 00:00:00 2001 +From f6984c923b41155979764bfa3f44609572be5414 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Wed, 18 Mar 2015 01:48:24 +0000 -Subject: [PATCH 01/30] nativesdk-glibc: Look for host system ld.so.cache as +Subject: [PATCH 01/28] nativesdk-glibc: Look for host system ld.so.cache as well Upstream-Status: Inappropriate [embedded specific] @@ -31,10 +31,10 @@ Signed-off-by: Khem Raj 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/elf/dl-load.c b/elf/dl-load.c -index f972524421..e53c3a1b7b 100644 +index 5abeb867f1..981bd5b4af 100644 --- a/elf/dl-load.c +++ b/elf/dl-load.c -@@ -2085,6 +2085,14 @@ _dl_map_object (struct link_map *loader, const char *name, +@@ -2080,6 +2080,14 @@ _dl_map_object (struct link_map *loader, const char *name, } } @@ -49,7 +49,7 @@ index f972524421..e53c3a1b7b 100644 #ifdef USE_LDCONFIG if (fd == -1 && (__glibc_likely ((mode & __RTLD_SECURE) == 0) -@@ -2143,14 +2151,6 @@ _dl_map_object (struct link_map *loader, const char *name, +@@ -2138,14 +2146,6 @@ _dl_map_object (struct link_map *loader, const char *name, } #endif @@ -65,5 +65,5 @@ index f972524421..e53c3a1b7b 100644 if (__glibc_unlikely (GLRO(dl_debug_mask) & DL_DEBUG_LIBS)) _dl_debug_printf ("\n"); -- -2.20.1 +2.22.0 diff --git a/poky/meta/recipes-core/glibc/glibc/0001-x86-64-memcmp-Use-unsigned-Jcc-instructions-on-size-.patch b/poky/meta/recipes-core/glibc/glibc/0001-x86-64-memcmp-Use-unsigned-Jcc-instructions-on-size-.patch deleted file mode 100644 index 1a343149c..000000000 --- a/poky/meta/recipes-core/glibc/glibc/0001-x86-64-memcmp-Use-unsigned-Jcc-instructions-on-size-.patch +++ /dev/null @@ -1,204 +0,0 @@ -From 3f635fb43389b54f682fc9ed2acc0b2aaf4a923d Mon Sep 17 00:00:00 2001 -From: "H.J. Lu" -Date: Mon, 4 Feb 2019 06:31:01 -0800 -Subject: [PATCH] x86-64 memcmp: Use unsigned Jcc instructions on size [BZ - #24155] - -Since the size argument is unsigned. we should use unsigned Jcc -instructions, instead of signed, to check size. - -Tested on x86-64 and x32, with and without --disable-multi-arch. - - [BZ #24155] - CVE-2019-7309 - * NEWS: Updated for CVE-2019-7309. - * sysdeps/x86_64/memcmp.S: Use RDX_LP for size. Clear the - upper 32 bits of RDX register for x32. Use unsigned Jcc - instructions, instead of signed. - * sysdeps/x86_64/x32/Makefile (tests): Add tst-size_t-memcmp-2. - * sysdeps/x86_64/x32/tst-size_t-memcmp-2.c: New test. - -CVE: CVE-2019-7309 -Upstream-Status: Backport -Signed-off-by: Zhixiong Chi -Signed-off-by: Alistair Francis ---- - sysdeps/x86_64/memcmp.S | 20 +++--- - sysdeps/x86_64/x32/Makefile | 3 +- - sysdeps/x86_64/x32/tst-size_t-memcmp-2.c | 79 ++++++++++++++++++++++++ - 5 files changed, 111 insertions(+), 10 deletions(-) - create mode 100644 sysdeps/x86_64/x32/tst-size_t-memcmp-2.c - -diff --git a/sysdeps/x86_64/memcmp.S b/sysdeps/x86_64/memcmp.S -index 1fc487caa5..1322bb3b92 100644 ---- a/sysdeps/x86_64/memcmp.S -+++ b/sysdeps/x86_64/memcmp.S -@@ -21,14 +21,18 @@ - - .text - ENTRY (memcmp) -- test %rdx, %rdx -+#ifdef __ILP32__ -+ /* Clear the upper 32 bits. */ -+ movl %edx, %edx -+#endif -+ test %RDX_LP, %RDX_LP - jz L(finz) - cmpq $1, %rdx -- jle L(finr1b) -+ jbe L(finr1b) - subq %rdi, %rsi - movq %rdx, %r10 - cmpq $32, %r10 -- jge L(gt32) -+ jae L(gt32) - /* Handle small chunks and last block of less than 32 bytes. */ - L(small): - testq $1, %r10 -@@ -156,7 +160,7 @@ L(A32): - movq %r11, %r10 - andq $-32, %r10 - cmpq %r10, %rdi -- jge L(mt16) -+ jae L(mt16) - /* Pre-unroll to be ready for unrolled 64B loop. */ - testq $32, %rdi - jz L(A64) -@@ -178,7 +182,7 @@ L(A64): - movq %r11, %r10 - andq $-64, %r10 - cmpq %r10, %rdi -- jge L(mt32) -+ jae L(mt32) - - L(A64main): - movdqu (%rdi,%rsi), %xmm0 -@@ -216,7 +220,7 @@ L(mt32): - movq %r11, %r10 - andq $-32, %r10 - cmpq %r10, %rdi -- jge L(mt16) -+ jae L(mt16) - - L(A32main): - movdqu (%rdi,%rsi), %xmm0 -@@ -254,7 +258,7 @@ L(ATR): - movq %r11, %r10 - andq $-32, %r10 - cmpq %r10, %rdi -- jge L(mt16) -+ jae L(mt16) - testq $16, %rdi - jz L(ATR32) - -@@ -325,7 +329,7 @@ L(ATR64main): - movq %r11, %r10 - andq $-32, %r10 - cmpq %r10, %rdi -- jge L(mt16) -+ jae L(mt16) - - L(ATR32res): - movdqa (%rdi,%rsi), %xmm0 -diff --git a/sysdeps/x86_64/x32/Makefile b/sysdeps/x86_64/x32/Makefile -index 1557724b0c..8748956563 100644 ---- a/sysdeps/x86_64/x32/Makefile -+++ b/sysdeps/x86_64/x32/Makefile -@@ -8,7 +8,8 @@ endif - ifeq ($(subdir),string) - tests += tst-size_t-memchr tst-size_t-memcmp tst-size_t-memcpy \ - tst-size_t-memrchr tst-size_t-memset tst-size_t-strncasecmp \ -- tst-size_t-strncmp tst-size_t-strncpy tst-size_t-strnlen -+ tst-size_t-strncmp tst-size_t-strncpy tst-size_t-strnlen \ -+ tst-size_t-memcmp-2 - endif - - ifeq ($(subdir),wcsmbs) -diff --git a/sysdeps/x86_64/x32/tst-size_t-memcmp-2.c b/sysdeps/x86_64/x32/tst-size_t-memcmp-2.c -new file mode 100644 -index 0000000000..d8ae1a0813 ---- /dev/null -+++ b/sysdeps/x86_64/x32/tst-size_t-memcmp-2.c -@@ -0,0 +1,79 @@ -+/* Test memcmp with size_t in the lower 32 bits of 64-bit register. -+ Copyright (C) 2019 Free Software Foundation, Inc. -+ This file is part of the GNU C Library. -+ -+ The GNU C 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. -+ -+ The GNU C 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 the GNU C Library; if not, see -+ . */ -+ -+#define TEST_MAIN -+#ifdef WIDE -+# define TEST_NAME "wmemcmp" -+#else -+# define TEST_NAME "memcmp" -+#endif -+ -+#include "test-size_t.h" -+ -+#ifdef WIDE -+# include -+# include -+ -+# define MEMCMP wmemcmp -+# define CHAR wchar_t -+#else -+# define MEMCMP memcmp -+# define CHAR char -+#endif -+ -+IMPL (MEMCMP, 1) -+ -+typedef int (*proto_t) (const CHAR *, const CHAR *, size_t); -+ -+static int -+__attribute__ ((noinline, noclone)) -+do_memcmp (parameter_t a, parameter_t b) -+{ -+ return CALL (&b, a.p, b.p, a.len); -+} -+ -+static int -+test_main (void) -+{ -+ test_init (); -+ -+ parameter_t dest = { { page_size / sizeof (CHAR) }, buf1 }; -+ parameter_t src = { { 0 }, buf2 }; -+ -+ memcpy (buf1, buf2, page_size); -+ -+ CHAR *p = (CHAR *) buf1; -+ p[page_size / sizeof (CHAR) - 1] = (CHAR) 1; -+ -+ int ret = 0; -+ FOR_EACH_IMPL (impl, 0) -+ { -+ src.fn = impl->fn; -+ int res = do_memcmp (dest, src); -+ if (res >= 0) -+ { -+ error (0, 0, "Wrong result in function %s: %i >= 0", -+ impl->name, res); -+ ret = 1; -+ } -+ } -+ -+ return ret ? EXIT_FAILURE : EXIT_SUCCESS; -+} -+ -+#include --- -2.17.1 - diff --git a/poky/meta/recipes-core/glibc/glibc/0002-nativesdk-glibc-Fix-buffer-overrun-with-a-relocated-.patch b/poky/meta/recipes-core/glibc/glibc/0002-nativesdk-glibc-Fix-buffer-overrun-with-a-relocated-.patch index f663e18ed..63531082a 100644 --- a/poky/meta/recipes-core/glibc/glibc/0002-nativesdk-glibc-Fix-buffer-overrun-with-a-relocated-.patch +++ b/poky/meta/recipes-core/glibc/glibc/0002-nativesdk-glibc-Fix-buffer-overrun-with-a-relocated-.patch @@ -1,7 +1,7 @@ -From f275c04e263fc2ebf2eaad6ac1ab3c838647bb14 Mon Sep 17 00:00:00 2001 +From b91c323d809039bf9b8c445418579a8b5fe61aea Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Wed, 18 Mar 2015 01:50:00 +0000 -Subject: [PATCH 02/30] nativesdk-glibc: Fix buffer overrun with a relocated +Subject: [PATCH 02/28] nativesdk-glibc: Fix buffer overrun with a relocated SDK When ld-linux-*.so.2 is relocated to a path that is longer than the @@ -22,10 +22,10 @@ Signed-off-by: Khem Raj 1 file changed, 12 insertions(+) diff --git a/elf/dl-load.c b/elf/dl-load.c -index e53c3a1b7b..2bd9bc27f2 100644 +index 981bd5b4af..c7a0fa58cb 100644 --- a/elf/dl-load.c +++ b/elf/dl-load.c -@@ -1785,7 +1785,19 @@ open_path (const char *name, size_t namelen, int mode, +@@ -1780,7 +1780,19 @@ open_path (const char *name, size_t namelen, int mode, given on the command line when rtld is run directly. */ return -1; @@ -46,5 +46,5 @@ index e53c3a1b7b..2bd9bc27f2 100644 { struct r_search_path_elem *this_dir = *dirs; -- -2.20.1 +2.22.0 diff --git a/poky/meta/recipes-core/glibc/glibc/0003-nativesdk-glibc-Raise-the-size-of-arrays-containing-.patch b/poky/meta/recipes-core/glibc/glibc/0003-nativesdk-glibc-Raise-the-size-of-arrays-containing-.patch index fd909f644..48f5a7871 100644 --- a/poky/meta/recipes-core/glibc/glibc/0003-nativesdk-glibc-Raise-the-size-of-arrays-containing-.patch +++ b/poky/meta/recipes-core/glibc/glibc/0003-nativesdk-glibc-Raise-the-size-of-arrays-containing-.patch @@ -1,7 +1,7 @@ -From 92df5673de18779b612609afa4f687e33e5ecb6e Mon Sep 17 00:00:00 2001 +From 3aceb84e2bc0f796204fe059beede91179b1bc6e Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Wed, 18 Mar 2015 01:51:38 +0000 -Subject: [PATCH 03/30] nativesdk-glibc: Raise the size of arrays containing dl +Subject: [PATCH 03/28] nativesdk-glibc: Raise the size of arrays containing dl paths This patch puts the dynamic loader path in the binaries, SYSTEM_DIRS strings @@ -41,7 +41,7 @@ index d8d1e2344e..d2247bfc4f 100644 _dl_cache_libcmp (const char *p1, const char *p2) { diff --git a/elf/dl-load.c b/elf/dl-load.c -index 2bd9bc27f2..4170cc1a09 100644 +index c7a0fa58cb..4b87505d45 100644 --- a/elf/dl-load.c +++ b/elf/dl-load.c @@ -110,8 +110,8 @@ static size_t max_capstrlen attribute_relro; @@ -67,7 +67,7 @@ index 243829f5f7..0e74241703 100644 +const char __invoke_dynamic_linker__[4096] __attribute__ ((section (".interp"))) = RUNTIME_LINKER; diff --git a/elf/ldconfig.c b/elf/ldconfig.c -index 206cd51df6..2fd4fb54ae 100644 +index 3bc9e61891..6a23096435 100644 --- a/elf/ldconfig.c +++ b/elf/ldconfig.c @@ -168,6 +168,9 @@ static struct argp argp = @@ -81,10 +81,10 @@ index 206cd51df6..2fd4fb54ae 100644 a platform. */ static int diff --git a/elf/rtld.c b/elf/rtld.c -index 5d97f41b7b..26c5fef929 100644 +index c9490ff694..3962373ebb 100644 --- a/elf/rtld.c +++ b/elf/rtld.c -@@ -130,6 +130,7 @@ dso_name_valid_for_suid (const char *p) +@@ -173,6 +173,7 @@ dso_name_valid_for_suid (const char *p) } return *p != '\0'; } @@ -92,7 +92,7 @@ index 5d97f41b7b..26c5fef929 100644 /* LD_AUDIT variable contents. Must be processed before the audit_list below. */ -@@ -1001,12 +1002,12 @@ of this helper program; chances are you did not intend to run this program.\n\ +@@ -1220,13 +1221,13 @@ of this helper program; chances are you did not intend to run this program.\n\ --list list all dependencies and how they are resolved\n\ --verify verify that given object really is a dynamically linked\n\ object we can handle\n\ @@ -102,8 +102,9 @@ index 5d97f41b7b..26c5fef929 100644 variable LD_LIBRARY_PATH\n\ --inhibit-rpath LIST ignore RUNPATH and RPATH information in object names\n\ in LIST\n\ -- --audit LIST use objects named in LIST as auditors\n"); -+ --audit LIST use objects named in LIST as auditors\n", LD_SO_CACHE); + --audit LIST use objects named in LIST as auditors\n\ +- --preload LIST preload objects named in LIST\n"); ++ --preload LIST preload objects named in LIST\n", LD_SO_CACHE); ++_dl_skip_args; --_dl_argc; @@ -136,5 +137,5 @@ index bc8b40331d..b0fdd2144b 100644 # define add_system_dir(dir) add_dir (dir) #endif -- -2.20.1 +2.22.0 diff --git a/poky/meta/recipes-core/glibc/glibc/0004-nativesdk-glibc-Allow-64-bit-atomics-for-x86.patch b/poky/meta/recipes-core/glibc/glibc/0004-nativesdk-glibc-Allow-64-bit-atomics-for-x86.patch index d6c9aac69..a43f29434 100644 --- a/poky/meta/recipes-core/glibc/glibc/0004-nativesdk-glibc-Allow-64-bit-atomics-for-x86.patch +++ b/poky/meta/recipes-core/glibc/glibc/0004-nativesdk-glibc-Allow-64-bit-atomics-for-x86.patch @@ -1,7 +1,7 @@ -From ff0f4756f1a98202726c65745aca38354864e033 Mon Sep 17 00:00:00 2001 +From e41e042149eac349e09fa629fcac4c64e574322c Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Thu, 31 Dec 2015 14:35:35 -0800 -Subject: [PATCH 04/30] nativesdk-glibc: Allow 64 bit atomics for x86 +Subject: [PATCH 04/28] nativesdk-glibc: Allow 64 bit atomics for x86 The fix consist of allowing 64bit atomic ops for x86. This should be safe for i586 and newer CPUs. @@ -38,5 +38,5 @@ index aa60ca4cd6..3e42e00183 100644 # define SEG_REG "gs" # define BR_CONSTRAINT "r" -- -2.20.1 +2.22.0 diff --git a/poky/meta/recipes-core/glibc/glibc/0005-nativesdk-glibc-Make-relocatable-install-for-locales.patch b/poky/meta/recipes-core/glibc/glibc/0005-nativesdk-glibc-Make-relocatable-install-for-locales.patch index 9f9f503a1..3aad603ad 100644 --- a/poky/meta/recipes-core/glibc/glibc/0005-nativesdk-glibc-Make-relocatable-install-for-locales.patch +++ b/poky/meta/recipes-core/glibc/glibc/0005-nativesdk-glibc-Make-relocatable-install-for-locales.patch @@ -1,7 +1,7 @@ -From b2ec111dc3a42d9dce71c903524724ae82ff22d8 Mon Sep 17 00:00:00 2001 +From 50ab0b0c116f4ae3d975ec1b15ed4595fd9147f6 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Fri, 3 Aug 2018 09:55:12 -0700 -Subject: [PATCH 05/30] nativesdk-glibc: Make relocatable install for locales +Subject: [PATCH 05/28] nativesdk-glibc: Make relocatable install for locales The glibc locale path is hard-coded to the install prefix, but in SDKs we need to be able to relocate the binaries. Expand the strings to 4K and put them in a @@ -66,5 +66,5 @@ index 7c1cc3eecb..53cb8bfc59 100644 /* Load the locale data for CATEGORY from the file specified by *NAME. If *NAME is "", use environment variables as specified by POSIX, and -- -2.20.1 +2.22.0 diff --git a/poky/meta/recipes-core/glibc/glibc/0006-fsl-e500-e5500-e6500-603e-fsqrt-implementation.patch b/poky/meta/recipes-core/glibc/glibc/0006-fsl-e500-e5500-e6500-603e-fsqrt-implementation.patch index a6dddebbc..5e1c59143 100644 --- a/poky/meta/recipes-core/glibc/glibc/0006-fsl-e500-e5500-e6500-603e-fsqrt-implementation.patch +++ b/poky/meta/recipes-core/glibc/glibc/0006-fsl-e500-e5500-e6500-603e-fsqrt-implementation.patch @@ -1,7 +1,7 @@ -From 4dc4b4f63dd79734078fa54446edb7fe2d9c74fa Mon Sep 17 00:00:00 2001 +From 7cccf5cec09f2a42cc3fe5d82ce21b7309330b33 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Wed, 18 Mar 2015 00:01:50 +0000 -Subject: [PATCH 06/30] fsl e500/e5500/e6500/603e fsqrt implementation +Subject: [PATCH 06/28] fsl e500/e5500/e6500/603e fsqrt implementation Upstream-Status: Pending Signed-off-by: Edmar Wienskoski @@ -1580,5 +1580,5 @@ index 0000000000..04ff8cc181 @@ -0,0 +1 @@ +powerpc/powerpc64/e6500/fpu -- -2.20.1 +2.22.0 diff --git a/poky/meta/recipes-core/glibc/glibc/0007-readlib-Add-OECORE_KNOWN_INTERPRETER_NAMES-to-known-.patch b/poky/meta/recipes-core/glibc/glibc/0007-readlib-Add-OECORE_KNOWN_INTERPRETER_NAMES-to-known-.patch index 17ffc6fd4..ae6fb268a 100644 --- a/poky/meta/recipes-core/glibc/glibc/0007-readlib-Add-OECORE_KNOWN_INTERPRETER_NAMES-to-known-.patch +++ b/poky/meta/recipes-core/glibc/glibc/0007-readlib-Add-OECORE_KNOWN_INTERPRETER_NAMES-to-known-.patch @@ -1,7 +1,7 @@ -From 5506296ef55a6e4916febab63805ddf2d5a5293c Mon Sep 17 00:00:00 2001 +From dc715f6c70d01e9c3b31c1825fa5bc447967c847 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Wed, 18 Mar 2015 00:11:22 +0000 -Subject: [PATCH 07/30] readlib: Add OECORE_KNOWN_INTERPRETER_NAMES to known +Subject: [PATCH 07/28] readlib: Add OECORE_KNOWN_INTERPRETER_NAMES to known names This bolts in a hook for OE to pass its own version of interpreter @@ -29,5 +29,5 @@ index c9743e6692..6307f918fc 100644 static struct known_names known_libs[] = -- -2.20.1 +2.22.0 diff --git a/poky/meta/recipes-core/glibc/glibc/0008-ppc-sqrt-Fix-undefined-reference-to-__sqrt_finite.patch b/poky/meta/recipes-core/glibc/glibc/0008-ppc-sqrt-Fix-undefined-reference-to-__sqrt_finite.patch index aacc9f2e3..8bed20306 100644 --- a/poky/meta/recipes-core/glibc/glibc/0008-ppc-sqrt-Fix-undefined-reference-to-__sqrt_finite.patch +++ b/poky/meta/recipes-core/glibc/glibc/0008-ppc-sqrt-Fix-undefined-reference-to-__sqrt_finite.patch @@ -1,7 +1,7 @@ -From ea969d7767428d73823c91ad9955829bd66b9e58 Mon Sep 17 00:00:00 2001 +From 42a01c55786a9472934e12e0bf0c40983579b607 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Wed, 18 Mar 2015 00:15:07 +0000 -Subject: [PATCH 08/30] ppc/sqrt: Fix undefined reference to `__sqrt_finite' +Subject: [PATCH 08/28] ppc/sqrt: Fix undefined reference to `__sqrt_finite' on ppc fixes the errors like below | ./.libs/libpulsecore-1.1.so: undefined reference to `__sqrt_finite' @@ -204,5 +204,5 @@ index 26fa067abf..9d175122a8 100644 } +strong_alias (__ieee754_sqrtf, __sqrtf_finite) -- -2.20.1 +2.22.0 diff --git a/poky/meta/recipes-core/glibc/glibc/0009-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch b/poky/meta/recipes-core/glibc/glibc/0009-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch index b1d441303..8a5d6d8b7 100644 --- a/poky/meta/recipes-core/glibc/glibc/0009-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch +++ b/poky/meta/recipes-core/glibc/glibc/0009-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch @@ -1,7 +1,7 @@ -From a9e6ca45cdaf13ee595089a5a580d00a95a06bf1 Mon Sep 17 00:00:00 2001 +From a0fcb9135bc8c2b9d8a161d166b6f9d56d7af245 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Wed, 18 Mar 2015 00:16:38 +0000 -Subject: [PATCH 09/30] __ieee754_sqrt{,f} are now inline functions and call +Subject: [PATCH 09/28] __ieee754_sqrt{,f} are now inline functions and call out __slow versions Upstream-Status: Pending @@ -383,5 +383,5 @@ index 9d175122a8..10de1f0cc3 100644 + strong_alias (__ieee754_sqrtf, __sqrtf_finite) -- -2.20.1 +2.22.0 diff --git a/poky/meta/recipes-core/glibc/glibc/0010-Quote-from-bug-1443-which-explains-what-the-patch-do.patch b/poky/meta/recipes-core/glibc/glibc/0010-Quote-from-bug-1443-which-explains-what-the-patch-do.patch index 46d205808..a140a1547 100644 --- a/poky/meta/recipes-core/glibc/glibc/0010-Quote-from-bug-1443-which-explains-what-the-patch-do.patch +++ b/poky/meta/recipes-core/glibc/glibc/0010-Quote-from-bug-1443-which-explains-what-the-patch-do.patch @@ -1,7 +1,7 @@ -From 50ad00401eb16bb88c57d95bc927deeec4033e01 Mon Sep 17 00:00:00 2001 +From 9c1f2229c48c37b38628c485ef16e01f6780160c Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Wed, 18 Mar 2015 00:20:09 +0000 -Subject: [PATCH 10/30] Quote from bug 1443 which explains what the patch does +Subject: [PATCH 10/28] Quote from bug 1443 which explains what the patch does : We build some random program and link it with -lust. When we run it, @@ -58,5 +58,5 @@ index 7a2f9d9b78..36a1dd1888 100644 case R_ARM_TLS_TPOFF32: -- -2.20.1 +2.22.0 diff --git a/poky/meta/recipes-core/glibc/glibc/0011-eglibc-run-libm-err-tab.pl-with-specific-dirs-in-S.patch b/poky/meta/recipes-core/glibc/glibc/0011-eglibc-run-libm-err-tab.pl-with-specific-dirs-in-S.patch index 293b72e79..cb99092ee 100644 --- a/poky/meta/recipes-core/glibc/glibc/0011-eglibc-run-libm-err-tab.pl-with-specific-dirs-in-S.patch +++ b/poky/meta/recipes-core/glibc/glibc/0011-eglibc-run-libm-err-tab.pl-with-specific-dirs-in-S.patch @@ -1,7 +1,7 @@ -From a29a718890a3f32e7135f6b64b1a80c74f2d1454 Mon Sep 17 00:00:00 2001 +From 171d2afb930917b0cfbe9df770774da1c92dd185 Mon Sep 17 00:00:00 2001 From: Ting Liu Date: Wed, 19 Dec 2012 04:39:57 -0600 -Subject: [PATCH 11/30] eglibc: run libm-err-tab.pl with specific dirs in ${S} +Subject: [PATCH 11/28] eglibc: run libm-err-tab.pl with specific dirs in ${S} libm-err-tab.pl will parse all the files named "libm-test-ulps" in the given dir recursively. To avoid parsing the one in @@ -32,5 +32,5 @@ index 4f76ee85d2..04b8c8c320 100644 touch $@ -- -2.20.1 +2.22.0 diff --git a/poky/meta/recipes-core/glibc/glibc/0012-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch b/poky/meta/recipes-core/glibc/glibc/0012-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch index 6e175b64d..e233fbe54 100644 --- a/poky/meta/recipes-core/glibc/glibc/0012-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch +++ b/poky/meta/recipes-core/glibc/glibc/0012-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch @@ -1,7 +1,7 @@ -From 777da88a819738683e4389580cfbfded2a83e87e Mon Sep 17 00:00:00 2001 +From 376be7b96152ef501c8cf95ed6dc52c0318bd26a Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Wed, 18 Mar 2015 00:24:46 +0000 -Subject: [PATCH 12/30] __ieee754_sqrt{,f} are now inline functions and call +Subject: [PATCH 12/28] __ieee754_sqrt{,f} are now inline functions and call out __slow versions Upstream-Status: Pending @@ -57,5 +57,5 @@ index 812653558f..10de1f0cc3 100644 #endif { -- -2.20.1 +2.22.0 diff --git a/poky/meta/recipes-core/glibc/glibc/0013-sysdeps-gnu-configure.ac-handle-correctly-libc_cv_ro.patch b/poky/meta/recipes-core/glibc/glibc/0013-sysdeps-gnu-configure.ac-handle-correctly-libc_cv_ro.patch index b5adecba0..9ba52e6e1 100644 --- a/poky/meta/recipes-core/glibc/glibc/0013-sysdeps-gnu-configure.ac-handle-correctly-libc_cv_ro.patch +++ b/poky/meta/recipes-core/glibc/glibc/0013-sysdeps-gnu-configure.ac-handle-correctly-libc_cv_ro.patch @@ -1,7 +1,7 @@ -From f98b1b9e6b569abd3594b4923ace0c966c9daece Mon Sep 17 00:00:00 2001 +From 1ba4e9577437632856d719cbd5d63b5a76cbb4c4 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Wed, 18 Mar 2015 00:27:10 +0000 -Subject: [PATCH 13/30] sysdeps/gnu/configure.ac: handle correctly +Subject: [PATCH 13/28] sysdeps/gnu/configure.ac: handle correctly $libc_cv_rootsbindir Upstream-Status:Pending @@ -38,5 +38,5 @@ index 634fe4de2a..3db1697f4f 100644 ;; esac -- -2.20.1 +2.22.0 diff --git a/poky/meta/recipes-core/glibc/glibc/0014-Add-unused-attribute.patch b/poky/meta/recipes-core/glibc/glibc/0014-Add-unused-attribute.patch index 1cd91475d..0a602bb38 100644 --- a/poky/meta/recipes-core/glibc/glibc/0014-Add-unused-attribute.patch +++ b/poky/meta/recipes-core/glibc/glibc/0014-Add-unused-attribute.patch @@ -1,7 +1,7 @@ -From b9cd992052550d4b2bba954099e221677a6652e7 Mon Sep 17 00:00:00 2001 +From b84999dcf642b07e6c14e6ff507be14743349949 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Wed, 18 Mar 2015 00:28:41 +0000 -Subject: [PATCH 14/30] Add unused attribute +Subject: [PATCH 14/28] Add unused attribute Helps in avoiding gcc warning when header is is included in a source file which does not use both functions @@ -30,5 +30,5 @@ index 91e0ad3141..2e9549fe49 100644 { int slash_count = 0; -- -2.20.1 +2.22.0 diff --git a/poky/meta/recipes-core/glibc/glibc/0015-yes-within-the-path-sets-wrong-config-variables.patch b/poky/meta/recipes-core/glibc/glibc/0015-yes-within-the-path-sets-wrong-config-variables.patch index f2e180239..dd6562a63 100644 --- a/poky/meta/recipes-core/glibc/glibc/0015-yes-within-the-path-sets-wrong-config-variables.patch +++ b/poky/meta/recipes-core/glibc/glibc/0015-yes-within-the-path-sets-wrong-config-variables.patch @@ -1,7 +1,7 @@ -From e8a88fb3bb6ffcc43871a7caf7ad9c59bd183e50 Mon Sep 17 00:00:00 2001 +From 7c57f84bef4aaffe4204a7a354411ab3ea7e5273 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Wed, 18 Mar 2015 00:31:06 +0000 -Subject: [PATCH 15/30] 'yes' within the path sets wrong config variables +Subject: [PATCH 15/28] 'yes' within the path sets wrong config variables It seems that the 'AC_EGREP_CPP(yes...' example is quite popular but being such a short word to grep it is likely to produce @@ -259,5 +259,5 @@ index f9cba6e15d..b21f72f1e4 100644 ], libc_cv_ppc64_def_call_elf=yes, libc_cv_ppc64_def_call_elf=no)]) if test $libc_cv_ppc64_def_call_elf = no; then -- -2.20.1 +2.22.0 diff --git a/poky/meta/recipes-core/glibc/glibc/0016-timezone-re-written-tzselect-as-posix-sh.patch b/poky/meta/recipes-core/glibc/glibc/0016-timezone-re-written-tzselect-as-posix-sh.patch index 8a9fa4916..4d1cf3197 100644 --- a/poky/meta/recipes-core/glibc/glibc/0016-timezone-re-written-tzselect-as-posix-sh.patch +++ b/poky/meta/recipes-core/glibc/glibc/0016-timezone-re-written-tzselect-as-posix-sh.patch @@ -1,7 +1,7 @@ -From 10f470476dc947d7b950d6a66f7c06f500c96c60 Mon Sep 17 00:00:00 2001 +From a74f31ea9edf105f1a6dc26497aa2a12ae736660 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Wed, 18 Mar 2015 00:33:03 +0000 -Subject: [PATCH 16/30] timezone: re-written tzselect as posix sh +Subject: [PATCH 16/28] timezone: re-written tzselect as posix sh To avoid the bash dependency. @@ -41,5 +41,5 @@ index 18fce27e24..70745f9d36 100755 # Output one argument as-is to standard output. # Safer than 'echo', which can mishandle '\' or leading '-'. -- -2.20.1 +2.22.0 diff --git a/poky/meta/recipes-core/glibc/glibc/0017-Remove-bash-dependency-for-nscd-init-script.patch b/poky/meta/recipes-core/glibc/glibc/0017-Remove-bash-dependency-for-nscd-init-script.patch index a27759a39..e4f8a135d 100644 --- a/poky/meta/recipes-core/glibc/glibc/0017-Remove-bash-dependency-for-nscd-init-script.patch +++ b/poky/meta/recipes-core/glibc/glibc/0017-Remove-bash-dependency-for-nscd-init-script.patch @@ -1,7 +1,7 @@ -From 809392d20fa9a9f8159242451f9969e65a658835 Mon Sep 17 00:00:00 2001 +From 95882b9864ff20e476d15c6825c83728eb99597f Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Thu, 31 Dec 2015 14:33:02 -0800 -Subject: [PATCH 17/30] Remove bash dependency for nscd init script +Subject: [PATCH 17/28] Remove bash dependency for nscd init script The nscd init script uses #! /bin/bash but only really uses one bashism (translated strings), so remove them and switch the shell to #!/bin/sh. @@ -71,5 +71,5 @@ index a882da7d8b..b02986ec15 100644 ;; esac -- -2.20.1 +2.22.0 diff --git a/poky/meta/recipes-core/glibc/glibc/0018-eglibc-Cross-building-and-testing-instructions.patch b/poky/meta/recipes-core/glibc/glibc/0018-eglibc-Cross-building-and-testing-instructions.patch index f80a3ee1d..b5efc4304 100644 --- a/poky/meta/recipes-core/glibc/glibc/0018-eglibc-Cross-building-and-testing-instructions.patch +++ b/poky/meta/recipes-core/glibc/glibc/0018-eglibc-Cross-building-and-testing-instructions.patch @@ -1,7 +1,7 @@ -From 016d6987600d49d3f45874096e943b97d1667539 Mon Sep 17 00:00:00 2001 +From 6b603d25cc5723ba631dfc60b544774db1147d81 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Wed, 18 Mar 2015 00:42:58 +0000 -Subject: [PATCH 18/30] eglibc: Cross building and testing instructions +Subject: [PATCH 18/28] eglibc: Cross building and testing instructions Ported from eglibc Upstream-Status: Pending @@ -615,5 +615,5 @@ index 0000000000..b67b468466 + simply place copies of these libraries in the top GLIBC build + directory. -- -2.20.1 +2.22.0 diff --git a/poky/meta/recipes-core/glibc/glibc/0019-eglibc-Help-bootstrap-cross-toolchain.patch b/poky/meta/recipes-core/glibc/glibc/0019-eglibc-Help-bootstrap-cross-toolchain.patch index 603bf2188..0333db281 100644 --- a/poky/meta/recipes-core/glibc/glibc/0019-eglibc-Help-bootstrap-cross-toolchain.patch +++ b/poky/meta/recipes-core/glibc/glibc/0019-eglibc-Help-bootstrap-cross-toolchain.patch @@ -1,7 +1,7 @@ -From 7e4423528d362cf6268b1902a8e30d710431f333 Mon Sep 17 00:00:00 2001 +From 2864aaae984d945445f3f79869c703e0b791df88 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Wed, 18 Mar 2015 00:49:28 +0000 -Subject: [PATCH 19/30] eglibc: Help bootstrap cross toolchain +Subject: [PATCH 19/28] eglibc: Help bootstrap cross toolchain Taken from EGLIBC, r1484 + r1525 @@ -29,7 +29,7 @@ Signed-off-by: Khem Raj create mode 100644 include/stubs-bootstrap.h diff --git a/Makefile b/Makefile -index 4a014d6eff..3a1f419bc3 100644 +index 9fbf705200..64bfd455bc 100644 --- a/Makefile +++ b/Makefile @@ -70,9 +70,18 @@ subdir-dirs = include @@ -52,7 +52,7 @@ index 4a014d6eff..3a1f419bc3 100644 ifeq (yes,$(build-shared)) headers += gnu/lib-names.h endif -@@ -195,6 +204,16 @@ others: $(common-objpfx)testrun.sh +@@ -196,6 +205,16 @@ others: $(common-objpfx)testrun.sh subdir-stubs := $(foreach dir,$(subdirs),$(common-objpfx)$(dir)/stubs) @@ -69,7 +69,7 @@ index 4a014d6eff..3a1f419bc3 100644 ifndef abi-variants installed-stubs = $(inst_includedir)/gnu/stubs.h else -@@ -221,6 +240,7 @@ $(inst_includedir)/gnu/stubs.h: $(+force) +@@ -222,6 +241,7 @@ $(inst_includedir)/gnu/stubs.h: $(+force) install-others-nosubdir: $(installed-stubs) endif @@ -96,5 +96,5 @@ index 0000000000..1d2b669aff + EGLIBC subdir 'stubs' make targets, on every .o file in EGLIBC, but + an empty stubs.h like this will do fine for GCC. */ -- -2.20.1 +2.22.0 diff --git a/poky/meta/recipes-core/glibc/glibc/0020-eglibc-Clear-cache-lines-on-ppc8xx.patch b/poky/meta/recipes-core/glibc/glibc/0020-eglibc-Clear-cache-lines-on-ppc8xx.patch index 985b17b58..965ad6578 100644 --- a/poky/meta/recipes-core/glibc/glibc/0020-eglibc-Clear-cache-lines-on-ppc8xx.patch +++ b/poky/meta/recipes-core/glibc/glibc/0020-eglibc-Clear-cache-lines-on-ppc8xx.patch @@ -1,7 +1,7 @@ -From 8c4d7d70a84a69fe5e8d69539368aa11f8fe20aa Mon Sep 17 00:00:00 2001 +From e2667086bf984de4d3f1226b9467761cd5a4c39f Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Thu, 31 Dec 2015 15:15:09 -0800 -Subject: [PATCH 20/30] eglibc: Clear cache lines on ppc8xx +Subject: [PATCH 20/28] eglibc: Clear cache lines on ppc8xx 2007-06-13 Nathan Sidwell Mark Shinwell @@ -79,5 +79,5 @@ index 4fd5f70700..1a21e4675c 100644 break; #ifndef SHARED -- -2.20.1 +2.22.0 diff --git a/poky/meta/recipes-core/glibc/glibc/0021-eglibc-Resolve-__fpscr_values-on-SH4.patch b/poky/meta/recipes-core/glibc/glibc/0021-eglibc-Resolve-__fpscr_values-on-SH4.patch index fb1b43b18..76551cf55 100644 --- a/poky/meta/recipes-core/glibc/glibc/0021-eglibc-Resolve-__fpscr_values-on-SH4.patch +++ b/poky/meta/recipes-core/glibc/glibc/0021-eglibc-Resolve-__fpscr_values-on-SH4.patch @@ -1,7 +1,7 @@ -From 19f041215673d4499ee9b23805d5c224c4063689 Mon Sep 17 00:00:00 2001 +From b7290e54a1bda7a0212131655bc27926fc22de22 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Wed, 18 Mar 2015 00:55:53 +0000 -Subject: [PATCH 21/30] eglibc: Resolve __fpscr_values on SH4 +Subject: [PATCH 21/28] eglibc: Resolve __fpscr_values on SH4 2010-09-29 Nobuhiro Iwamatsu Andrew Stubbs @@ -52,5 +52,5 @@ index 6ce36d6dd5..425811cc77 100644 +weak_alias (___fpscr_values, __fpscr_values) + -- -2.20.1 +2.22.0 diff --git a/poky/meta/recipes-core/glibc/glibc/0022-eglibc-Forward-port-cross-locale-generation-support.patch b/poky/meta/recipes-core/glibc/glibc/0022-eglibc-Forward-port-cross-locale-generation-support.patch index a2d35d43e..c46021a47 100644 --- a/poky/meta/recipes-core/glibc/glibc/0022-eglibc-Forward-port-cross-locale-generation-support.patch +++ b/poky/meta/recipes-core/glibc/glibc/0022-eglibc-Forward-port-cross-locale-generation-support.patch @@ -1,7 +1,7 @@ -From 1ae15f60a84f16187e06a05906f44a6658bae487 Mon Sep 17 00:00:00 2001 +From be382b4e0c6de52573f7e037f2d4ff9b1b5bbb6b Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Wed, 18 Mar 2015 01:33:49 +0000 -Subject: [PATCH 22/30] eglibc: Forward port cross locale generation support +Subject: [PATCH 22/28] eglibc: Forward port cross locale generation support Upstream-Status: Pending @@ -23,7 +23,7 @@ Signed-off-by: Khem Raj create mode 100644 locale/catnames.c diff --git a/locale/Makefile b/locale/Makefile -index 764e751c36..866957fefa 100644 +index d78cf9b83a..e166f5252e 100644 --- a/locale/Makefile +++ b/locale/Makefile @@ -26,7 +26,8 @@ headers = langinfo.h locale.h bits/locale.h \ @@ -150,7 +150,7 @@ index 94c122df68..80e53e12c8 100644 return NULL; } diff --git a/locale/programs/ld-collate.c b/locale/programs/ld-collate.c -index bb4e2c539d..9d08d422c4 100644 +index 6baab6cfb0..b12a2fceab 100644 --- a/locale/programs/ld-collate.c +++ b/locale/programs/ld-collate.c @@ -349,7 +349,7 @@ new_element (struct locale_collate_t *collate, const char *mbs, size_t mbslen, @@ -199,7 +199,7 @@ index bb4e2c539d..9d08d422c4 100644 == runp->wcnext->wcs[runp->nwcs - 1] + 1)); diff --git a/locale/programs/ld-ctype.c b/locale/programs/ld-ctype.c -index 36fd08ba80..08155a27d6 100644 +index cfc9c43fd5..6572cc199c 100644 --- a/locale/programs/ld-ctype.c +++ b/locale/programs/ld-ctype.c @@ -915,7 +915,7 @@ ctype_output (struct localedef_t *locale, const struct charmap_t *charmap, @@ -211,7 +211,7 @@ index 36fd08ba80..08155a27d6 100644 : 0); init_locale_data (&file, nelems); -@@ -1926,7 +1926,7 @@ read_translit_entry (struct linereader *ldfile, struct locale_ctype_t *ctype, +@@ -1927,7 +1927,7 @@ read_translit_entry (struct linereader *ldfile, struct locale_ctype_t *ctype, ignore = 1; else /* This value is usable. */ @@ -220,7 +220,7 @@ index 36fd08ba80..08155a27d6 100644 first = 0; } -@@ -2460,8 +2460,8 @@ with character code range values one must use the absolute ellipsis `...'")); +@@ -2461,8 +2461,8 @@ with character code range values one must use the absolute ellipsis `...'")); } handle_tok_digit: @@ -231,7 +231,7 @@ index 36fd08ba80..08155a27d6 100644 handle_digits = 1; goto read_charclass; -@@ -3901,8 +3901,7 @@ allocate_arrays (struct locale_ctype_t *ctype, const struct charmap_t *charmap, +@@ -3904,8 +3904,7 @@ allocate_arrays (struct locale_ctype_t *ctype, const struct charmap_t *charmap, while (idx < number) { @@ -241,7 +241,7 @@ index 36fd08ba80..08155a27d6 100644 if (res == 0) { replace = 1; -@@ -3939,11 +3938,11 @@ allocate_arrays (struct locale_ctype_t *ctype, const struct charmap_t *charmap, +@@ -3942,11 +3941,11 @@ allocate_arrays (struct locale_ctype_t *ctype, const struct charmap_t *charmap, for (size_t cnt = 0; cnt < number; ++cnt) { struct translit_to_t *srunp; @@ -255,7 +255,7 @@ index 36fd08ba80..08155a27d6 100644 srunp = srunp->next; } /* Plus one for the extra NUL character marking the end of -@@ -3967,18 +3966,18 @@ allocate_arrays (struct locale_ctype_t *ctype, const struct charmap_t *charmap, +@@ -3970,18 +3969,18 @@ allocate_arrays (struct locale_ctype_t *ctype, const struct charmap_t *charmap, ctype->translit_from_idx[cnt] = from_len; ctype->translit_to_idx[cnt] = to_len; @@ -521,7 +521,7 @@ index c063fc097d..4e7465e55a 100644 + #endif /* locfile.h */ diff --git a/locale/setlocale.c b/locale/setlocale.c -index 9427a5ad28..8f4140d684 100644 +index 9bd35454b9..2a67dc6589 100644 --- a/locale/setlocale.c +++ b/locale/setlocale.c @@ -64,36 +64,6 @@ static char *const _nl_current_used[] = @@ -562,5 +562,5 @@ index 9427a5ad28..8f4140d684 100644 # define WEAK_POSTLOAD(postload) weak_extern (postload) #else -- -2.20.1 +2.22.0 diff --git a/poky/meta/recipes-core/glibc/glibc/0023-Define-DUMMY_LOCALE_T-if-not-defined.patch b/poky/meta/recipes-core/glibc/glibc/0023-Define-DUMMY_LOCALE_T-if-not-defined.patch index 0f7c5fdf7..17667da99 100644 --- a/poky/meta/recipes-core/glibc/glibc/0023-Define-DUMMY_LOCALE_T-if-not-defined.patch +++ b/poky/meta/recipes-core/glibc/glibc/0023-Define-DUMMY_LOCALE_T-if-not-defined.patch @@ -1,7 +1,7 @@ -From 809c79b7d554a4ec83921df9d8773c99a03dc81c Mon Sep 17 00:00:00 2001 +From afa8d6faeddeb80aca318b33edf49d9f8ce65761 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Wed, 20 Apr 2016 21:11:00 -0700 -Subject: [PATCH 23/30] Define DUMMY_LOCALE_T if not defined +Subject: [PATCH 23/28] Define DUMMY_LOCALE_T if not defined This is a hack to fix building the locale bits on an older CentOs 5.X machine @@ -28,5 +28,5 @@ index a1e6e0ec3c..7f75528eae 100644 #define PACKAGE _libc_intl_domainname #ifndef VERSION -- -2.20.1 +2.22.0 diff --git a/poky/meta/recipes-core/glibc/glibc/0024-localedef-add-to-archive-uses-a-hard-coded-locale-pa.patch b/poky/meta/recipes-core/glibc/glibc/0024-localedef-add-to-archive-uses-a-hard-coded-locale-pa.patch index c289e544e..f68e4f4fa 100644 --- a/poky/meta/recipes-core/glibc/glibc/0024-localedef-add-to-archive-uses-a-hard-coded-locale-pa.patch +++ b/poky/meta/recipes-core/glibc/glibc/0024-localedef-add-to-archive-uses-a-hard-coded-locale-pa.patch @@ -1,7 +1,7 @@ -From b2d1c9b4159bfd661a4996588d06d922491dfecb Mon Sep 17 00:00:00 2001 +From c13e18adb634a6fd59129150ab7f9468f64dc931 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Fri, 3 Aug 2018 09:42:06 -0700 -Subject: [PATCH 24/30] localedef --add-to-archive uses a hard-coded locale +Subject: [PATCH 24/28] localedef --add-to-archive uses a hard-coded locale path it doesn't exist in normal use, and there's no way to pass an @@ -80,5 +80,5 @@ index e6310b18be..f54a76eade 100644 if (readonly) { -- -2.20.1 +2.22.0 diff --git a/poky/meta/recipes-core/glibc/glibc/0025-elf-dl-deps.c-Make-_dl_build_local_scope-breadth-fir.patch b/poky/meta/recipes-core/glibc/glibc/0025-elf-dl-deps.c-Make-_dl_build_local_scope-breadth-fir.patch index 0ddd2e58b..76a9eb256 100644 --- a/poky/meta/recipes-core/glibc/glibc/0025-elf-dl-deps.c-Make-_dl_build_local_scope-breadth-fir.patch +++ b/poky/meta/recipes-core/glibc/glibc/0025-elf-dl-deps.c-Make-_dl_build_local_scope-breadth-fir.patch @@ -1,7 +1,7 @@ -From 804b05a034bfaf4e3427243e6baf736086822cd0 Mon Sep 17 00:00:00 2001 +From 7c9ebe966bb97dd14de5719905b61311211ae3c8 Mon Sep 17 00:00:00 2001 From: Mark Hatle Date: Thu, 18 Aug 2016 14:07:58 -0500 -Subject: [PATCH 25/30] elf/dl-deps.c: Make _dl_build_local_scope breadth first +Subject: [PATCH 25/28] elf/dl-deps.c: Make _dl_build_local_scope breadth first According to the ELF specification: @@ -52,5 +52,5 @@ index e12c353158..9234daac05 100644 } -- -2.20.1 +2.22.0 diff --git a/poky/meta/recipes-core/glibc/glibc/0026-intl-Emit-no-lines-in-bison-generated-files.patch b/poky/meta/recipes-core/glibc/glibc/0026-intl-Emit-no-lines-in-bison-generated-files.patch new file mode 100644 index 000000000..7589e11d5 --- /dev/null +++ b/poky/meta/recipes-core/glibc/glibc/0026-intl-Emit-no-lines-in-bison-generated-files.patch @@ -0,0 +1,34 @@ +From aa5c758fbb7dbb026df33fc6bdc05548547bdb17 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Fri, 3 Aug 2018 09:44:00 -0700 +Subject: [PATCH 26/28] intl: Emit no lines in bison generated files + +Improve reproducibility: +Do not put any #line preprocessor commands in bison generated files. +These lines contain absolute paths containing file locations on +the host build machine. + +Upstream-Status: Pending + +Signed-off-by: Juro Bystricky +Signed-off-by: Khem Raj +--- + intl/Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/intl/Makefile b/intl/Makefile +index 9eea8d57e3..627dce4cf1 100644 +--- a/intl/Makefile ++++ b/intl/Makefile +@@ -155,7 +155,7 @@ $(objpfx)tst-gettext6.out: $(objpfx)tst-gettext.out + + CPPFLAGS += -D'LOCALEDIR="$(localedir)"' \ + -D'LOCALE_ALIAS_PATH="$(localedir)"' +-BISONFLAGS = --yacc --name-prefix=__gettext --output ++BISONFLAGS = --yacc --no-lines --name-prefix=__gettext --output + + $(inst_localedir)/locale.alias: locale.alias $(+force) + $(do-install) +-- +2.22.0 + diff --git a/poky/meta/recipes-core/glibc/glibc/0027-inject-file-assembly-directives.patch b/poky/meta/recipes-core/glibc/glibc/0027-inject-file-assembly-directives.patch new file mode 100644 index 000000000..dc205a833 --- /dev/null +++ b/poky/meta/recipes-core/glibc/glibc/0027-inject-file-assembly-directives.patch @@ -0,0 +1,304 @@ +From fecd98040a2ae1bc5943a40a1623d76a696e0785 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Thu, 29 Nov 2018 17:29:35 -0800 +Subject: [PATCH 27/28] inject file assembly directives + +Currently, non-IA builds are not reproducibile since build paths are +being injected into the debug symbols. These are coming from the use of +.S assembler files during the glibc build. No STT_FILE section is added +during the assembly but when linking, ld decides to add one to aid +debugging and ensure references between the different object files its +linking remain clear. + +We can avoid this by injecting a file header into the assembler files +ahead of time, choosing a filename which does not contain build system +paths. + +This is a bit of a workaround/hack but does significantly reduce the +build system references in target binaries for the non-IA architectures +which use .S files. + +RP +2018/10/3 + +Upstream-Status: Pending + +Signed-off-by: Khem Raj +--- + csu/abi-note.S | 2 ++ + sysdeps/aarch64/crti.S | 2 ++ + sysdeps/aarch64/crtn.S | 2 ++ + sysdeps/aarch64/dl-tlsdesc.S | 2 ++ + sysdeps/aarch64/dl-trampoline.S | 2 ++ + sysdeps/aarch64/start.S | 2 ++ + sysdeps/arm/abi-note.S | 2 ++ + sysdeps/arm/crti.S | 2 ++ + sysdeps/arm/crtn.S | 2 ++ + sysdeps/arm/dl-tlsdesc.S | 2 ++ + sysdeps/arm/dl-trampoline.S | 2 ++ + sysdeps/arm/start.S | 2 ++ + sysdeps/mips/start.S | 2 ++ + sysdeps/powerpc/powerpc32/dl-start.S | 2 ++ + sysdeps/powerpc/powerpc32/start.S | 2 ++ + sysdeps/powerpc/powerpc64/start.S | 2 ++ + sysdeps/unix/sysv/linux/aarch64/__read_tp.S | 2 ++ + sysdeps/unix/sysv/linux/arm/aeabi_read_tp.S | 2 ++ + sysdeps/unix/sysv/linux/arm/libc-do-syscall.S | 2 ++ + sysdeps/unix/sysv/linux/powerpc/dl-brk.S | 2 ++ + 20 files changed, 40 insertions(+) + +diff --git a/csu/abi-note.S b/csu/abi-note.S +index fa1f014a88..098731362a 100644 +--- a/csu/abi-note.S ++++ b/csu/abi-note.S +@@ -56,6 +56,8 @@ offset length contents + #include + #include /* OS-specific ABI tag value */ + ++ .file "abi-note.S" ++ + /* The linker (GNU ld 2.8 and later) recognizes an allocated section whose + name begins with `.note' and creates a PT_NOTE program header entry + pointing at it. */ +diff --git a/sysdeps/aarch64/crti.S b/sysdeps/aarch64/crti.S +index d4e7dfcf5c..e0218df30c 100644 +--- a/sysdeps/aarch64/crti.S ++++ b/sysdeps/aarch64/crti.S +@@ -50,6 +50,8 @@ + # define PREINIT_FUNCTION_WEAK 1 + #endif + ++ .file "crti.S" ++ + #if PREINIT_FUNCTION_WEAK + weak_extern (PREINIT_FUNCTION) + #else +diff --git a/sysdeps/aarch64/crtn.S b/sysdeps/aarch64/crtn.S +index 363f752460..2fb06fba62 100644 +--- a/sysdeps/aarch64/crtn.S ++++ b/sysdeps/aarch64/crtn.S +@@ -37,6 +37,8 @@ + /* crtn.S puts function epilogues in the .init and .fini sections + corresponding to the prologues in crti.S. */ + ++ .file "crtn.S" ++ + .section .init,"ax",%progbits + ldp x29, x30, [sp], 16 + RET +diff --git a/sysdeps/aarch64/dl-tlsdesc.S b/sysdeps/aarch64/dl-tlsdesc.S +index 4abe6b82a3..8c44b2ff8a 100644 +--- a/sysdeps/aarch64/dl-tlsdesc.S ++++ b/sysdeps/aarch64/dl-tlsdesc.S +@@ -22,6 +22,8 @@ + #include + #include "tlsdesc.h" + ++ .file "dl-tlsdesc.S" ++ + #define NSAVEDQREGPAIRS 16 + #define SAVE_Q_REGISTERS \ + stp q0, q1, [sp, #-32*NSAVEDQREGPAIRS]!; \ +diff --git a/sysdeps/aarch64/dl-trampoline.S b/sysdeps/aarch64/dl-trampoline.S +index 19b117e8f9..38c78b5409 100644 +--- a/sysdeps/aarch64/dl-trampoline.S ++++ b/sysdeps/aarch64/dl-trampoline.S +@@ -21,6 +21,8 @@ + + #include "dl-link.h" + ++ .file "dl-trampoline.S" ++ + #define ip0 x16 + #define ip0l PTR_REG (16) + #define ip1 x17 +diff --git a/sysdeps/aarch64/start.S b/sysdeps/aarch64/start.S +index f5e9b9c223..ae3e22a6a5 100644 +--- a/sysdeps/aarch64/start.S ++++ b/sysdeps/aarch64/start.S +@@ -18,6 +18,8 @@ + + #include + ++ .file "start.S" ++ + /* This is the canonical entry point, usually the first thing in the text + segment. + +diff --git a/sysdeps/arm/abi-note.S b/sysdeps/arm/abi-note.S +index 07bd4c4619..7213b16f27 100644 +--- a/sysdeps/arm/abi-note.S ++++ b/sysdeps/arm/abi-note.S +@@ -1,3 +1,5 @@ ++ .file "abi-note.S" ++ + /* Tag_ABI_align8_preserved: This code preserves 8-byte + alignment in any callee. */ + .eabi_attribute 25, 1 +diff --git a/sysdeps/arm/crti.S b/sysdeps/arm/crti.S +index 26dbba66a3..dd84ecd566 100644 +--- a/sysdeps/arm/crti.S ++++ b/sysdeps/arm/crti.S +@@ -57,6 +57,8 @@ + .hidden PREINIT_FUNCTION + #endif + ++ .file "crti.S" ++ + #if PREINIT_FUNCTION_WEAK + .p2align 2 + .type call_weak_fn, %function +diff --git a/sysdeps/arm/crtn.S b/sysdeps/arm/crtn.S +index 8f91c8d88b..a87fe49e07 100644 +--- a/sysdeps/arm/crtn.S ++++ b/sysdeps/arm/crtn.S +@@ -37,6 +37,8 @@ + #define NO_THUMB + #include + ++ .file "crtn.S" ++ + /* crtn.S puts function epilogues in the .init and .fini sections + corresponding to the prologues in crti.S. */ + +diff --git a/sysdeps/arm/dl-tlsdesc.S b/sysdeps/arm/dl-tlsdesc.S +index a929340b42..b724c9776d 100644 +--- a/sysdeps/arm/dl-tlsdesc.S ++++ b/sysdeps/arm/dl-tlsdesc.S +@@ -21,6 +21,8 @@ + #include + #include "tlsdesc.h" + ++ .file "dl-tlsdesc.S" ++ + .text + @ emit debug information with cfi + @ use arm-specific pseudos for unwinding itself +diff --git a/sysdeps/arm/dl-trampoline.S b/sysdeps/arm/dl-trampoline.S +index 325cfcd2ce..4bfdcbce51 100644 +--- a/sysdeps/arm/dl-trampoline.S ++++ b/sysdeps/arm/dl-trampoline.S +@@ -21,6 +21,8 @@ + #include + #include + ++ .file "dl-trampoline.S" ++ + .text + .globl _dl_runtime_resolve + .type _dl_runtime_resolve, #function +diff --git a/sysdeps/arm/start.S b/sysdeps/arm/start.S +index a05f8a4651..2f4374fcaa 100644 +--- a/sysdeps/arm/start.S ++++ b/sysdeps/arm/start.S +@@ -57,6 +57,8 @@ + NULL + */ + ++ .file "start.S" ++ + /* Tag_ABI_align8_preserved: This code preserves 8-byte + alignment in any callee. */ + .eabi_attribute 25, 1 +diff --git a/sysdeps/mips/start.S b/sysdeps/mips/start.S +index 8638e5b545..93f6564aec 100644 +--- a/sysdeps/mips/start.S ++++ b/sysdeps/mips/start.S +@@ -38,6 +38,8 @@ + #include + #include + ++ .file "start.S" ++ + #ifndef ENTRY_POINT + #error ENTRY_POINT needs to be defined for start.S on MIPS/ELF. + #endif +diff --git a/sysdeps/powerpc/powerpc32/dl-start.S b/sysdeps/powerpc/powerpc32/dl-start.S +index 99a10d643a..e47fc0d245 100644 +--- a/sysdeps/powerpc/powerpc32/dl-start.S ++++ b/sysdeps/powerpc/powerpc32/dl-start.S +@@ -18,6 +18,8 @@ + + #include + ++ .file "dl-start.S" ++ + /* Initial entry point code for the dynamic linker. + The C function `_dl_start' is the real entry point; + its return value is the user program's entry point. */ +diff --git a/sysdeps/powerpc/powerpc32/start.S b/sysdeps/powerpc/powerpc32/start.S +index 172fb5a56b..ef1471b861 100644 +--- a/sysdeps/powerpc/powerpc32/start.S ++++ b/sysdeps/powerpc/powerpc32/start.S +@@ -35,6 +35,8 @@ + + #include + ++ .file "start.S" ++ + /* We do not want .eh_frame info for crt1.o since crt1.o is linked + before crtbegin.o, the file defining __EH_FRAME_BEGIN__. */ + #undef cfi_startproc +diff --git a/sysdeps/powerpc/powerpc64/start.S b/sysdeps/powerpc/powerpc64/start.S +index 55fae68ad6..0cb608fe0f 100644 +--- a/sysdeps/powerpc/powerpc64/start.S ++++ b/sysdeps/powerpc/powerpc64/start.S +@@ -35,6 +35,8 @@ + + #include + ++ .file "start.S" ++ + /* We do not want .eh_frame info for crt1.o since crt1.o is linked + before crtbegin.o, the file defining __EH_FRAME_BEGIN__. */ + #undef cfi_startproc +diff --git a/sysdeps/unix/sysv/linux/aarch64/__read_tp.S b/sysdeps/unix/sysv/linux/aarch64/__read_tp.S +index 30a29b9fb0..07892b383f 100644 +--- a/sysdeps/unix/sysv/linux/aarch64/__read_tp.S ++++ b/sysdeps/unix/sysv/linux/aarch64/__read_tp.S +@@ -18,6 +18,8 @@ + + #include + ++ .file "__read_tp.S" ++ + .hidden __read_tp + ENTRY (__read_tp) + mrs x0, tpidr_el0 +diff --git a/sysdeps/unix/sysv/linux/arm/aeabi_read_tp.S b/sysdeps/unix/sysv/linux/arm/aeabi_read_tp.S +index f64c4ffe8a..2da315ab08 100644 +--- a/sysdeps/unix/sysv/linux/arm/aeabi_read_tp.S ++++ b/sysdeps/unix/sysv/linux/arm/aeabi_read_tp.S +@@ -39,6 +39,8 @@ + a normal function call) in a high page of memory; tail call to the + helper. */ + ++ .file "aeabi_read_tp.S" ++ + .hidden __aeabi_read_tp + ENTRY (__aeabi_read_tp) + #ifdef ARCH_HAS_HARD_TP +diff --git a/sysdeps/unix/sysv/linux/arm/libc-do-syscall.S b/sysdeps/unix/sysv/linux/arm/libc-do-syscall.S +index 0b6237ac55..8cda491c28 100644 +--- a/sysdeps/unix/sysv/linux/arm/libc-do-syscall.S ++++ b/sysdeps/unix/sysv/linux/arm/libc-do-syscall.S +@@ -27,6 +27,8 @@ + ARM unwind tables for register to register moves, the actual opcodes + are not defined. */ + ++ .file "libc-do-syscall.S" ++ + #if defined(__thumb__) + .thumb + .syntax unified +diff --git a/sysdeps/unix/sysv/linux/powerpc/dl-brk.S b/sysdeps/unix/sysv/linux/powerpc/dl-brk.S +index eeb96544e3..da182b28f8 100644 +--- a/sysdeps/unix/sysv/linux/powerpc/dl-brk.S ++++ b/sysdeps/unix/sysv/linux/powerpc/dl-brk.S +@@ -1 +1,3 @@ ++ .file "dl-brk.S" ++ + #include +-- +2.22.0 + diff --git a/poky/meta/recipes-core/glibc/glibc/0028-intl-Emit-no-lines-in-bison-generated-files.patch b/poky/meta/recipes-core/glibc/glibc/0028-intl-Emit-no-lines-in-bison-generated-files.patch deleted file mode 100644 index 0eb006ffb..000000000 --- a/poky/meta/recipes-core/glibc/glibc/0028-intl-Emit-no-lines-in-bison-generated-files.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 39f910a4b8195d0538425aad7f0ebdc232b7a582 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Fri, 3 Aug 2018 09:44:00 -0700 -Subject: [PATCH 28/30] intl: Emit no lines in bison generated files - -Improve reproducibility: -Do not put any #line preprocessor commands in bison generated files. -These lines contain absolute paths containing file locations on -the host build machine. - -Upstream-Status: Pending - -Signed-off-by: Juro Bystricky -Signed-off-by: Khem Raj ---- - intl/Makefile | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/intl/Makefile b/intl/Makefile -index 9eea8d57e3..627dce4cf1 100644 ---- a/intl/Makefile -+++ b/intl/Makefile -@@ -155,7 +155,7 @@ $(objpfx)tst-gettext6.out: $(objpfx)tst-gettext.out - - CPPFLAGS += -D'LOCALEDIR="$(localedir)"' \ - -D'LOCALE_ALIAS_PATH="$(localedir)"' --BISONFLAGS = --yacc --name-prefix=__gettext --output -+BISONFLAGS = --yacc --no-lines --name-prefix=__gettext --output - - $(inst_localedir)/locale.alias: locale.alias $(+force) - $(do-install) --- -2.20.1 - diff --git a/poky/meta/recipes-core/glibc/glibc/0028-locale-prevent-maybe-uninitialized-errors-with-Os-BZ.patch b/poky/meta/recipes-core/glibc/glibc/0028-locale-prevent-maybe-uninitialized-errors-with-Os-BZ.patch new file mode 100644 index 000000000..6c49066fd --- /dev/null +++ b/poky/meta/recipes-core/glibc/glibc/0028-locale-prevent-maybe-uninitialized-errors-with-Os-BZ.patch @@ -0,0 +1,56 @@ +From d934788e3221c28c9a1892235cbe4cfd1b28ced0 Mon Sep 17 00:00:00 2001 +From: Martin Jansa +Date: Mon, 17 Dec 2018 21:36:18 +0000 +Subject: [PATCH 28/28] locale: prevent maybe-uninitialized errors with -Os [BZ + #19444] + +Fixes following error when building for aarch64 with -Os: +| In file included from strcoll_l.c:43: +| strcoll_l.c: In function '__strcoll_l': +| ../locale/weight.h:31:26: error: 'seq2.back_us' may be used uninitialized in this function [-Werror=maybe-uninitialized] +| int_fast32_t i = table[*(*cpp)++]; +| ^~~~~~~~~ +| strcoll_l.c:304:18: note: 'seq2.back_us' was declared here +| coll_seq seq1, seq2; +| ^~~~ +| In file included from strcoll_l.c:43: +| ../locale/weight.h:31:26: error: 'seq1.back_us' may be used uninitialized in this function [-Werror=maybe-uninitialized] +| int_fast32_t i = table[*(*cpp)++]; +| ^~~~~~~~~ +| strcoll_l.c:304:12: note: 'seq1.back_us' was declared here +| coll_seq seq1, seq2; +| ^~~~ + + Partial fix for [BZ #19444] + * locale/weight.h: Fix build with -Os. + +Upstream-Status: Submitted [https://patchwork.ozlabs.org/patch/1014766] + +Signed-off-by: Martin Jansa +Signed-off-by: Khem Raj +--- + locale/weight.h | 7 +++++++ + 1 file changed, 7 insertions(+) + +diff --git a/locale/weight.h b/locale/weight.h +index 7ca81498b2..d608ca70bb 100644 +--- a/locale/weight.h ++++ b/locale/weight.h +@@ -28,7 +28,14 @@ findidx (const int32_t *table, + const unsigned char *extra, + const unsigned char **cpp, size_t len) + { ++ /* With GCC 8 when compiling with -Os the compiler warns that ++ seq1.back_us and seq2.back_us might be used uninitialized. ++ This uninitialized use is impossible for the same reason ++ as described in comments in locale/weightwc.h. */ ++ DIAG_PUSH_NEEDS_COMMENT; ++ DIAG_IGNORE_Os_NEEDS_COMMENT (8, "-Wmaybe-uninitialized"); + int_fast32_t i = table[*(*cpp)++]; ++ DIAG_POP_NEEDS_COMMENT; + const unsigned char *cp; + const unsigned char *usrc; + +-- +2.22.0 + diff --git a/poky/meta/recipes-core/glibc/glibc/0029-inject-file-assembly-directives.patch b/poky/meta/recipes-core/glibc/glibc/0029-inject-file-assembly-directives.patch deleted file mode 100644 index 2874fb581..000000000 --- a/poky/meta/recipes-core/glibc/glibc/0029-inject-file-assembly-directives.patch +++ /dev/null @@ -1,304 +0,0 @@ -From 649bfb399265eb48a9fe8db1c2b5a31633c55152 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Thu, 29 Nov 2018 17:29:35 -0800 -Subject: [PATCH 29/30] inject file assembly directives - -Currently, non-IA builds are not reproducibile since build paths are -being injected into the debug symbols. These are coming from the use of -.S assembler files during the glibc build. No STT_FILE section is added -during the assembly but when linking, ld decides to add one to aid -debugging and ensure references between the different object files its -linking remain clear. - -We can avoid this by injecting a file header into the assembler files -ahead of time, choosing a filename which does not contain build system -paths. - -This is a bit of a workaround/hack but does significantly reduce the -build system references in target binaries for the non-IA architectures -which use .S files. - -RP -2018/10/3 - -Upstream-Status: Pending - -Signed-off-by: Khem Raj ---- - csu/abi-note.S | 2 ++ - sysdeps/aarch64/crti.S | 2 ++ - sysdeps/aarch64/crtn.S | 2 ++ - sysdeps/aarch64/dl-tlsdesc.S | 2 ++ - sysdeps/aarch64/dl-trampoline.S | 2 ++ - sysdeps/aarch64/start.S | 2 ++ - sysdeps/arm/abi-note.S | 2 ++ - sysdeps/arm/crti.S | 2 ++ - sysdeps/arm/crtn.S | 2 ++ - sysdeps/arm/dl-tlsdesc.S | 2 ++ - sysdeps/arm/dl-trampoline.S | 2 ++ - sysdeps/arm/start.S | 2 ++ - sysdeps/mips/start.S | 2 ++ - sysdeps/powerpc/powerpc32/dl-start.S | 2 ++ - sysdeps/powerpc/powerpc32/start.S | 2 ++ - sysdeps/powerpc/powerpc64/start.S | 2 ++ - sysdeps/unix/sysv/linux/aarch64/__read_tp.S | 2 ++ - sysdeps/unix/sysv/linux/arm/aeabi_read_tp.S | 2 ++ - sysdeps/unix/sysv/linux/arm/libc-do-syscall.S | 2 ++ - sysdeps/unix/sysv/linux/powerpc/dl-brk.S | 2 ++ - 20 files changed, 40 insertions(+) - -diff --git a/csu/abi-note.S b/csu/abi-note.S -index fa1f014a88..098731362a 100644 ---- a/csu/abi-note.S -+++ b/csu/abi-note.S -@@ -56,6 +56,8 @@ offset length contents - #include - #include /* OS-specific ABI tag value */ - -+ .file "abi-note.S" -+ - /* The linker (GNU ld 2.8 and later) recognizes an allocated section whose - name begins with `.note' and creates a PT_NOTE program header entry - pointing at it. */ -diff --git a/sysdeps/aarch64/crti.S b/sysdeps/aarch64/crti.S -index d4e7dfcf5c..e0218df30c 100644 ---- a/sysdeps/aarch64/crti.S -+++ b/sysdeps/aarch64/crti.S -@@ -50,6 +50,8 @@ - # define PREINIT_FUNCTION_WEAK 1 - #endif - -+ .file "crti.S" -+ - #if PREINIT_FUNCTION_WEAK - weak_extern (PREINIT_FUNCTION) - #else -diff --git a/sysdeps/aarch64/crtn.S b/sysdeps/aarch64/crtn.S -index 363f752460..2fb06fba62 100644 ---- a/sysdeps/aarch64/crtn.S -+++ b/sysdeps/aarch64/crtn.S -@@ -37,6 +37,8 @@ - /* crtn.S puts function epilogues in the .init and .fini sections - corresponding to the prologues in crti.S. */ - -+ .file "crtn.S" -+ - .section .init,"ax",%progbits - ldp x29, x30, [sp], 16 - RET -diff --git a/sysdeps/aarch64/dl-tlsdesc.S b/sysdeps/aarch64/dl-tlsdesc.S -index 4abe6b82a3..8c44b2ff8a 100644 ---- a/sysdeps/aarch64/dl-tlsdesc.S -+++ b/sysdeps/aarch64/dl-tlsdesc.S -@@ -22,6 +22,8 @@ - #include - #include "tlsdesc.h" - -+ .file "dl-tlsdesc.S" -+ - #define NSAVEDQREGPAIRS 16 - #define SAVE_Q_REGISTERS \ - stp q0, q1, [sp, #-32*NSAVEDQREGPAIRS]!; \ -diff --git a/sysdeps/aarch64/dl-trampoline.S b/sysdeps/aarch64/dl-trampoline.S -index 19b117e8f9..38c78b5409 100644 ---- a/sysdeps/aarch64/dl-trampoline.S -+++ b/sysdeps/aarch64/dl-trampoline.S -@@ -21,6 +21,8 @@ - - #include "dl-link.h" - -+ .file "dl-trampoline.S" -+ - #define ip0 x16 - #define ip0l PTR_REG (16) - #define ip1 x17 -diff --git a/sysdeps/aarch64/start.S b/sysdeps/aarch64/start.S -index f5e9b9c223..ae3e22a6a5 100644 ---- a/sysdeps/aarch64/start.S -+++ b/sysdeps/aarch64/start.S -@@ -18,6 +18,8 @@ - - #include - -+ .file "start.S" -+ - /* This is the canonical entry point, usually the first thing in the text - segment. - -diff --git a/sysdeps/arm/abi-note.S b/sysdeps/arm/abi-note.S -index 07bd4c4619..7213b16f27 100644 ---- a/sysdeps/arm/abi-note.S -+++ b/sysdeps/arm/abi-note.S -@@ -1,3 +1,5 @@ -+ .file "abi-note.S" -+ - /* Tag_ABI_align8_preserved: This code preserves 8-byte - alignment in any callee. */ - .eabi_attribute 25, 1 -diff --git a/sysdeps/arm/crti.S b/sysdeps/arm/crti.S -index 26dbba66a3..dd84ecd566 100644 ---- a/sysdeps/arm/crti.S -+++ b/sysdeps/arm/crti.S -@@ -57,6 +57,8 @@ - .hidden PREINIT_FUNCTION - #endif - -+ .file "crti.S" -+ - #if PREINIT_FUNCTION_WEAK - .p2align 2 - .type call_weak_fn, %function -diff --git a/sysdeps/arm/crtn.S b/sysdeps/arm/crtn.S -index 8f91c8d88b..a87fe49e07 100644 ---- a/sysdeps/arm/crtn.S -+++ b/sysdeps/arm/crtn.S -@@ -37,6 +37,8 @@ - #define NO_THUMB - #include - -+ .file "crtn.S" -+ - /* crtn.S puts function epilogues in the .init and .fini sections - corresponding to the prologues in crti.S. */ - -diff --git a/sysdeps/arm/dl-tlsdesc.S b/sysdeps/arm/dl-tlsdesc.S -index a929340b42..b724c9776d 100644 ---- a/sysdeps/arm/dl-tlsdesc.S -+++ b/sysdeps/arm/dl-tlsdesc.S -@@ -21,6 +21,8 @@ - #include - #include "tlsdesc.h" - -+ .file "dl-tlsdesc.S" -+ - .text - @ emit debug information with cfi - @ use arm-specific pseudos for unwinding itself -diff --git a/sysdeps/arm/dl-trampoline.S b/sysdeps/arm/dl-trampoline.S -index 325cfcd2ce..4bfdcbce51 100644 ---- a/sysdeps/arm/dl-trampoline.S -+++ b/sysdeps/arm/dl-trampoline.S -@@ -21,6 +21,8 @@ - #include - #include - -+ .file "dl-trampoline.S" -+ - .text - .globl _dl_runtime_resolve - .type _dl_runtime_resolve, #function -diff --git a/sysdeps/arm/start.S b/sysdeps/arm/start.S -index a05f8a4651..2f4374fcaa 100644 ---- a/sysdeps/arm/start.S -+++ b/sysdeps/arm/start.S -@@ -57,6 +57,8 @@ - NULL - */ - -+ .file "start.S" -+ - /* Tag_ABI_align8_preserved: This code preserves 8-byte - alignment in any callee. */ - .eabi_attribute 25, 1 -diff --git a/sysdeps/mips/start.S b/sysdeps/mips/start.S -index 8638e5b545..93f6564aec 100644 ---- a/sysdeps/mips/start.S -+++ b/sysdeps/mips/start.S -@@ -38,6 +38,8 @@ - #include - #include - -+ .file "start.S" -+ - #ifndef ENTRY_POINT - #error ENTRY_POINT needs to be defined for start.S on MIPS/ELF. - #endif -diff --git a/sysdeps/powerpc/powerpc32/dl-start.S b/sysdeps/powerpc/powerpc32/dl-start.S -index 99a10d643a..e47fc0d245 100644 ---- a/sysdeps/powerpc/powerpc32/dl-start.S -+++ b/sysdeps/powerpc/powerpc32/dl-start.S -@@ -18,6 +18,8 @@ - - #include - -+ .file "dl-start.S" -+ - /* Initial entry point code for the dynamic linker. - The C function `_dl_start' is the real entry point; - its return value is the user program's entry point. */ -diff --git a/sysdeps/powerpc/powerpc32/start.S b/sysdeps/powerpc/powerpc32/start.S -index 172fb5a56b..ef1471b861 100644 ---- a/sysdeps/powerpc/powerpc32/start.S -+++ b/sysdeps/powerpc/powerpc32/start.S -@@ -35,6 +35,8 @@ - - #include - -+ .file "start.S" -+ - /* We do not want .eh_frame info for crt1.o since crt1.o is linked - before crtbegin.o, the file defining __EH_FRAME_BEGIN__. */ - #undef cfi_startproc -diff --git a/sysdeps/powerpc/powerpc64/start.S b/sysdeps/powerpc/powerpc64/start.S -index 55fae68ad6..0cb608fe0f 100644 ---- a/sysdeps/powerpc/powerpc64/start.S -+++ b/sysdeps/powerpc/powerpc64/start.S -@@ -35,6 +35,8 @@ - - #include - -+ .file "start.S" -+ - /* We do not want .eh_frame info for crt1.o since crt1.o is linked - before crtbegin.o, the file defining __EH_FRAME_BEGIN__. */ - #undef cfi_startproc -diff --git a/sysdeps/unix/sysv/linux/aarch64/__read_tp.S b/sysdeps/unix/sysv/linux/aarch64/__read_tp.S -index 30a29b9fb0..07892b383f 100644 ---- a/sysdeps/unix/sysv/linux/aarch64/__read_tp.S -+++ b/sysdeps/unix/sysv/linux/aarch64/__read_tp.S -@@ -18,6 +18,8 @@ - - #include - -+ .file "__read_tp.S" -+ - .hidden __read_tp - ENTRY (__read_tp) - mrs x0, tpidr_el0 -diff --git a/sysdeps/unix/sysv/linux/arm/aeabi_read_tp.S b/sysdeps/unix/sysv/linux/arm/aeabi_read_tp.S -index f64c4ffe8a..2da315ab08 100644 ---- a/sysdeps/unix/sysv/linux/arm/aeabi_read_tp.S -+++ b/sysdeps/unix/sysv/linux/arm/aeabi_read_tp.S -@@ -39,6 +39,8 @@ - a normal function call) in a high page of memory; tail call to the - helper. */ - -+ .file "aeabi_read_tp.S" -+ - .hidden __aeabi_read_tp - ENTRY (__aeabi_read_tp) - #ifdef ARCH_HAS_HARD_TP -diff --git a/sysdeps/unix/sysv/linux/arm/libc-do-syscall.S b/sysdeps/unix/sysv/linux/arm/libc-do-syscall.S -index 0b6237ac55..8cda491c28 100644 ---- a/sysdeps/unix/sysv/linux/arm/libc-do-syscall.S -+++ b/sysdeps/unix/sysv/linux/arm/libc-do-syscall.S -@@ -27,6 +27,8 @@ - ARM unwind tables for register to register moves, the actual opcodes - are not defined. */ - -+ .file "libc-do-syscall.S" -+ - #if defined(__thumb__) - .thumb - .syntax unified -diff --git a/sysdeps/unix/sysv/linux/powerpc/dl-brk.S b/sysdeps/unix/sysv/linux/powerpc/dl-brk.S -index eeb96544e3..da182b28f8 100644 ---- a/sysdeps/unix/sysv/linux/powerpc/dl-brk.S -+++ b/sysdeps/unix/sysv/linux/powerpc/dl-brk.S -@@ -1 +1,3 @@ -+ .file "dl-brk.S" -+ - #include --- -2.20.1 - diff --git a/poky/meta/recipes-core/glibc/glibc/0030-locale-prevent-maybe-uninitialized-errors-with-Os-BZ.patch b/poky/meta/recipes-core/glibc/glibc/0030-locale-prevent-maybe-uninitialized-errors-with-Os-BZ.patch deleted file mode 100644 index adc242400..000000000 --- a/poky/meta/recipes-core/glibc/glibc/0030-locale-prevent-maybe-uninitialized-errors-with-Os-BZ.patch +++ /dev/null @@ -1,56 +0,0 @@ -From 6ddab9c8692e6a777c2e2e7a6ca26a65df7d2c5d Mon Sep 17 00:00:00 2001 -From: Martin Jansa -Date: Mon, 17 Dec 2018 21:36:18 +0000 -Subject: [PATCH 30/30] locale: prevent maybe-uninitialized errors with -Os [BZ - #19444] - -Fixes following error when building for aarch64 with -Os: -| In file included from strcoll_l.c:43: -| strcoll_l.c: In function '__strcoll_l': -| ../locale/weight.h:31:26: error: 'seq2.back_us' may be used uninitialized in this function [-Werror=maybe-uninitialized] -| int_fast32_t i = table[*(*cpp)++]; -| ^~~~~~~~~ -| strcoll_l.c:304:18: note: 'seq2.back_us' was declared here -| coll_seq seq1, seq2; -| ^~~~ -| In file included from strcoll_l.c:43: -| ../locale/weight.h:31:26: error: 'seq1.back_us' may be used uninitialized in this function [-Werror=maybe-uninitialized] -| int_fast32_t i = table[*(*cpp)++]; -| ^~~~~~~~~ -| strcoll_l.c:304:12: note: 'seq1.back_us' was declared here -| coll_seq seq1, seq2; -| ^~~~ - - Partial fix for [BZ #19444] - * locale/weight.h: Fix build with -Os. - -Upstream-Status: Submitted [https://patchwork.ozlabs.org/patch/1014766] - -Signed-off-by: Martin Jansa -Signed-off-by: Khem Raj ---- - locale/weight.h | 7 +++++++ - 1 file changed, 7 insertions(+) - -diff --git a/locale/weight.h b/locale/weight.h -index 7ca81498b2..d608ca70bb 100644 ---- a/locale/weight.h -+++ b/locale/weight.h -@@ -28,7 +28,14 @@ findidx (const int32_t *table, - const unsigned char *extra, - const unsigned char **cpp, size_t len) - { -+ /* With GCC 8 when compiling with -Os the compiler warns that -+ seq1.back_us and seq2.back_us might be used uninitialized. -+ This uninitialized use is impossible for the same reason -+ as described in comments in locale/weightwc.h. */ -+ DIAG_PUSH_NEEDS_COMMENT; -+ DIAG_IGNORE_Os_NEEDS_COMMENT (8, "-Wmaybe-uninitialized"); - int_fast32_t i = table[*(*cpp)++]; -+ DIAG_POP_NEEDS_COMMENT; - const unsigned char *cp; - const unsigned char *usrc; - --- -2.20.1 - diff --git a/poky/meta/recipes-core/glibc/glibc/CVE-2019-9169.patch b/poky/meta/recipes-core/glibc/glibc/CVE-2019-9169.patch deleted file mode 100644 index cf3744b24..000000000 --- a/poky/meta/recipes-core/glibc/glibc/CVE-2019-9169.patch +++ /dev/null @@ -1,37 +0,0 @@ -CVE: CVE-2019-9169 -CVE: CVE-2018-20796 -Upstream-Status: Backport -Signed-off-by: Ross Burton - -From 583dd860d5b833037175247230a328f0050dbfe9 Mon Sep 17 00:00:00 2001 -From: Paul Eggert -Date: Mon, 21 Jan 2019 11:08:13 -0800 -Subject: [PATCH] regex: fix read overrun [BZ #24114] - -Problem found by AddressSanitizer, reported by Hongxu Chen in: -https://debbugs.gnu.org/34140 -* posix/regexec.c (proceed_next_node): -Do not read past end of input buffer. ---- - posix/regexec.c | 6 ++++-- - 2 files changed, 13 insertions(+), 3 deletions(-) - -diff --git a/posix/regexec.c b/posix/regexec.c -index 91d5a79..084b122 100644 ---- a/posix/regexec.c -+++ b/posix/regexec.c -@@ -1293,8 +1293,10 @@ proceed_next_node (const re_match_context_t *mctx, Idx nregs, regmatch_t *regs, - else if (naccepted) - { - char *buf = (char *) re_string_get_buffer (&mctx->input); -- if (memcmp (buf + regs[subexp_idx].rm_so, buf + *pidx, -- naccepted) != 0) -+ if (mctx->input.valid_len - *pidx < naccepted -+ || (memcmp (buf + regs[subexp_idx].rm_so, buf + *pidx, -+ naccepted) -+ != 0)) - return -1; - } - } --- -2.9.3 diff --git a/poky/meta/recipes-core/glibc/glibc_2.29.bb b/poky/meta/recipes-core/glibc/glibc_2.29.bb deleted file mode 100644 index c6b2caad4..000000000 --- a/poky/meta/recipes-core/glibc/glibc_2.29.bb +++ /dev/null @@ -1,128 +0,0 @@ -require glibc.inc - -LIC_FILES_CHKSUM = "file://LICENSES;md5=cfc0ed77a9f62fa62eded042ebe31d72 \ - file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ - file://posix/rxspencer/COPYRIGHT;md5=dc5485bb394a13b2332ec1c785f5d83a \ - file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c" - -DEPENDS += "gperf-native bison-native make-native" - -PV = "2.29" - -SRCREV ?= "86013ef5cea322b8f4b9c22f230c22cce369e947" - -SRCBRANCH ?= "release/${PV}/master" - -GLIBC_GIT_URI ?= "git://sourceware.org/git/glibc.git" -UPSTREAM_CHECK_GITTAGREGEX = "(?P\d+\.\d+(\.(?!90)\d+)*)" - -NATIVESDKFIXES ?= "" -NATIVESDKFIXES_class-nativesdk = "\ - file://0001-nativesdk-glibc-Look-for-host-system-ld.so.cache-as-.patch \ - file://0002-nativesdk-glibc-Fix-buffer-overrun-with-a-relocated-.patch \ - file://0003-nativesdk-glibc-Raise-the-size-of-arrays-containing-.patch \ - file://0004-nativesdk-glibc-Allow-64-bit-atomics-for-x86.patch \ - file://0005-nativesdk-glibc-Make-relocatable-install-for-locales.patch \ -" - -SRC_URI = "${GLIBC_GIT_URI};branch=${SRCBRANCH};name=glibc \ - file://etc/ld.so.conf \ - file://generate-supported.mk \ - file://makedbs.sh \ - \ - ${NATIVESDKFIXES} \ - file://0006-fsl-e500-e5500-e6500-603e-fsqrt-implementation.patch \ - file://0007-readlib-Add-OECORE_KNOWN_INTERPRETER_NAMES-to-known-.patch \ - file://0008-ppc-sqrt-Fix-undefined-reference-to-__sqrt_finite.patch \ - file://0009-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch \ - file://0010-Quote-from-bug-1443-which-explains-what-the-patch-do.patch \ - file://0011-eglibc-run-libm-err-tab.pl-with-specific-dirs-in-S.patch \ - file://0012-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch \ - file://0013-sysdeps-gnu-configure.ac-handle-correctly-libc_cv_ro.patch \ - file://0014-Add-unused-attribute.patch \ - file://0015-yes-within-the-path-sets-wrong-config-variables.patch \ - file://0016-timezone-re-written-tzselect-as-posix-sh.patch \ - file://0017-Remove-bash-dependency-for-nscd-init-script.patch \ - file://0018-eglibc-Cross-building-and-testing-instructions.patch \ - file://0019-eglibc-Help-bootstrap-cross-toolchain.patch \ - file://0020-eglibc-Clear-cache-lines-on-ppc8xx.patch \ - file://0021-eglibc-Resolve-__fpscr_values-on-SH4.patch \ - file://0022-eglibc-Forward-port-cross-locale-generation-support.patch \ - file://0023-Define-DUMMY_LOCALE_T-if-not-defined.patch \ - file://0024-localedef-add-to-archive-uses-a-hard-coded-locale-pa.patch \ - file://0025-elf-dl-deps.c-Make-_dl_build_local_scope-breadth-fir.patch \ - file://0028-intl-Emit-no-lines-in-bison-generated-files.patch \ - file://0029-inject-file-assembly-directives.patch \ - file://0030-locale-prevent-maybe-uninitialized-errors-with-Os-BZ.patch \ - file://0001-x86-64-memcmp-Use-unsigned-Jcc-instructions-on-size-.patch \ - file://CVE-2019-9169.patch \ -" - -S = "${WORKDIR}/git" -B = "${WORKDIR}/build-${TARGET_SYS}" - -PACKAGES_DYNAMIC = "" - -# the -isystem in bitbake.conf screws up glibc do_stage -BUILD_CPPFLAGS = "-I${STAGING_INCDIR_NATIVE}" -TARGET_CPPFLAGS = "-I${STAGING_DIR_TARGET}${includedir}" - -GLIBC_BROKEN_LOCALES = "" - -GLIBCPIE ??= "" - -EXTRA_OECONF = "--enable-kernel=${OLDEST_KERNEL} \ - --disable-profile \ - --disable-debug --without-gd \ - --enable-clocale=gnu \ - --with-headers=${STAGING_INCDIR} \ - --without-selinux \ - --enable-tunables \ - --enable-bind-now \ - --enable-stack-protector=strong \ - --enable-stackguard-randomization \ - --disable-crypt \ - --with-default-link \ - --enable-nscd \ - ${@bb.utils.contains_any('SELECTED_OPTIMIZATION', '-O0 -Og', '--disable-werror', '', d)} \ - ${GLIBCPIE} \ - ${GLIBC_EXTRA_OECONF}" - -EXTRA_OECONF += "${@get_libc_fpu_setting(bb, d)}" - -do_patch_append() { - bb.build.exec_func('do_fix_readlib_c', d) -} - -do_fix_readlib_c () { - sed -i -e 's#OECORE_KNOWN_INTERPRETER_NAMES#${EGLIBC_KNOWN_INTERPRETER_NAMES}#' ${S}/elf/readlib.c -} - -do_configure () { -# override this function to avoid the autoconf/automake/aclocal/autoheader -# calls for now -# don't pass CPPFLAGS into configure, since it upsets the kernel-headers -# version check and doesn't really help with anything - (cd ${S} && gnu-configize) || die "failure in running gnu-configize" - find ${S} -name "configure" | xargs touch - CPPFLAGS="" oe_runconf -} - -do_compile () { - # -Wl,-rpath-link /lib in LDFLAGS can cause breakage if another glibc is in staging - LDFLAGS="-fuse-ld=bfd" - base_do_compile - echo "Adjust ldd script" - if [ -n "${RTLDLIST}" ] - then - prevrtld=`cat ${B}/elf/ldd | grep "^RTLDLIST=" | sed 's#^RTLDLIST="\?\([^"]*\)"\?$#\1#'` - # remove duplicate entries - newrtld=`echo $(printf '%s\n' ${prevrtld} ${RTLDLIST} | LC_ALL=C sort -u)` - echo "ldd \"${prevrtld} ${RTLDLIST}\" -> \"${newrtld}\"" - sed -i ${B}/elf/ldd -e "s#^RTLDLIST=.*\$#RTLDLIST=\"${newrtld}\"#" - fi -} - -require glibc-package.inc - -BBCLASSEXTEND = "nativesdk" diff --git a/poky/meta/recipes-core/glibc/glibc_2.30.bb b/poky/meta/recipes-core/glibc/glibc_2.30.bb new file mode 100644 index 000000000..03add3363 --- /dev/null +++ b/poky/meta/recipes-core/glibc/glibc_2.30.bb @@ -0,0 +1,112 @@ +require glibc.inc +require glibc-version.inc + +DEPENDS += "gperf-native bison-native make-native" + +NATIVESDKFIXES ?= "" +NATIVESDKFIXES_class-nativesdk = "\ + file://0001-nativesdk-glibc-Look-for-host-system-ld.so.cache-as-.patch \ + file://0002-nativesdk-glibc-Fix-buffer-overrun-with-a-relocated-.patch \ + file://0003-nativesdk-glibc-Raise-the-size-of-arrays-containing-.patch \ + file://0004-nativesdk-glibc-Allow-64-bit-atomics-for-x86.patch \ + file://0005-nativesdk-glibc-Make-relocatable-install-for-locales.patch \ +" + +SRC_URI = "${GLIBC_GIT_URI};branch=${SRCBRANCH};name=glibc \ + file://etc/ld.so.conf \ + file://generate-supported.mk \ + file://makedbs.sh \ + \ + ${NATIVESDKFIXES} \ + file://0006-fsl-e500-e5500-e6500-603e-fsqrt-implementation.patch \ + file://0007-readlib-Add-OECORE_KNOWN_INTERPRETER_NAMES-to-known-.patch \ + file://0008-ppc-sqrt-Fix-undefined-reference-to-__sqrt_finite.patch \ + file://0009-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch \ + file://0010-Quote-from-bug-1443-which-explains-what-the-patch-do.patch \ + file://0011-eglibc-run-libm-err-tab.pl-with-specific-dirs-in-S.patch \ + file://0012-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch \ + file://0013-sysdeps-gnu-configure.ac-handle-correctly-libc_cv_ro.patch \ + file://0014-Add-unused-attribute.patch \ + file://0015-yes-within-the-path-sets-wrong-config-variables.patch \ + file://0016-timezone-re-written-tzselect-as-posix-sh.patch \ + file://0017-Remove-bash-dependency-for-nscd-init-script.patch \ + file://0018-eglibc-Cross-building-and-testing-instructions.patch \ + file://0019-eglibc-Help-bootstrap-cross-toolchain.patch \ + file://0020-eglibc-Clear-cache-lines-on-ppc8xx.patch \ + file://0021-eglibc-Resolve-__fpscr_values-on-SH4.patch \ + file://0022-eglibc-Forward-port-cross-locale-generation-support.patch \ + file://0023-Define-DUMMY_LOCALE_T-if-not-defined.patch \ + file://0024-localedef-add-to-archive-uses-a-hard-coded-locale-pa.patch \ + file://0025-elf-dl-deps.c-Make-_dl_build_local_scope-breadth-fir.patch \ + file://0026-intl-Emit-no-lines-in-bison-generated-files.patch \ + file://0027-inject-file-assembly-directives.patch \ + file://0028-locale-prevent-maybe-uninitialized-errors-with-Os-BZ.patch \ + " +S = "${WORKDIR}/git" +B = "${WORKDIR}/build-${TARGET_SYS}" + +PACKAGES_DYNAMIC = "" + +# the -isystem in bitbake.conf screws up glibc do_stage +BUILD_CPPFLAGS = "-I${STAGING_INCDIR_NATIVE}" +TARGET_CPPFLAGS = "-I${STAGING_DIR_TARGET}${includedir}" + +GLIBC_BROKEN_LOCALES = "" + +GLIBCPIE ??= "" + +EXTRA_OECONF = "--enable-kernel=${OLDEST_KERNEL} \ + --disable-profile \ + --disable-debug --without-gd \ + --enable-clocale=gnu \ + --with-headers=${STAGING_INCDIR} \ + --without-selinux \ + --enable-tunables \ + --enable-bind-now \ + --enable-stack-protector=strong \ + --enable-stackguard-randomization \ + --disable-crypt \ + --with-default-link \ + --enable-nscd \ + ${@bb.utils.contains_any('SELECTED_OPTIMIZATION', '-O0 -Og', '--disable-werror', '', d)} \ + ${GLIBCPIE} \ + ${GLIBC_EXTRA_OECONF}" + +EXTRA_OECONF += "${@get_libc_fpu_setting(bb, d)}" + +do_patch_append() { + bb.build.exec_func('do_fix_readlib_c', d) +} + +do_fix_readlib_c () { + sed -i -e 's#OECORE_KNOWN_INTERPRETER_NAMES#${EGLIBC_KNOWN_INTERPRETER_NAMES}#' ${S}/elf/readlib.c +} + +do_configure () { +# override this function to avoid the autoconf/automake/aclocal/autoheader +# calls for now +# don't pass CPPFLAGS into configure, since it upsets the kernel-headers +# version check and doesn't really help with anything + (cd ${S} && gnu-configize) || die "failure in running gnu-configize" + find ${S} -name "configure" | xargs touch + CPPFLAGS="" oe_runconf +} + +do_compile () { + # -Wl,-rpath-link /lib in LDFLAGS can cause breakage if another glibc is in staging + LDFLAGS="-fuse-ld=bfd" + base_do_compile + echo "Adjust ldd script" + if [ -n "${RTLDLIST}" ] + then + prevrtld=`cat ${B}/elf/ldd | grep "^RTLDLIST=" | sed 's#^RTLDLIST="\?\([^"]*\)"\?$#\1#'` + # remove duplicate entries + newrtld=`echo $(printf '%s\n' ${prevrtld} ${RTLDLIST} | LC_ALL=C sort -u)` + echo "ldd \"${prevrtld} ${RTLDLIST}\" -> \"${newrtld}\"" + sed -i ${B}/elf/ldd -e "s#^RTLDLIST=.*\$#RTLDLIST=\"${newrtld}\"#" + fi +} + +require glibc-package.inc + +BBCLASSEXTEND = "nativesdk" diff --git a/poky/meta/recipes-core/meta/cve-update-db-native.bb b/poky/meta/recipes-core/meta/cve-update-db-native.bb index 9c083bdc9..2c427a588 100644 --- a/poky/meta/recipes-core/meta/cve-update-db-native.bb +++ b/poky/meta/recipes-core/meta/cve-update-db-native.bb @@ -22,7 +22,7 @@ python do_populate_cve_db() { Update NVD database with json data feed """ - import sqlite3, urllib, shutil, gzip + import sqlite3, urllib, urllib.parse, shutil, gzip from datetime import date BASE_URL = "https://nvd.nist.gov/feeds/json/cve/1.0/nvdcve-1.0-" @@ -32,6 +32,16 @@ python do_populate_cve_db() { db_file = os.path.join(db_dir, 'nvdcve_1.0.db') json_tmpfile = os.path.join(db_dir, 'nvd.json.gz') proxy = d.getVar("https_proxy") + + if proxy: + # instantiate an opener but do not install it as the global + # opener unless if we're really sure it's applicable for all + # urllib requests + proxy_handler = urllib.request.ProxyHandler({'https': proxy}) + proxy_opener = urllib.request.build_opener(proxy_handler) + else: + proxy_opener = None + cve_f = open(os.path.join(d.getVar("TMPDIR"), 'cve_check'), 'a') if not os.path.isdir(db_dir): @@ -49,11 +59,17 @@ python do_populate_cve_db() { json_url = year_url + ".json.gz" # Retrieve meta last modified date - req = urllib.request.Request(meta_url) - if proxy: - req.set_proxy(proxy, 'https') - with urllib.request.urlopen(req) as r: - for l in r.read().decode("utf-8").splitlines(): + + response = None + + if proxy_opener: + response = proxy_opener.open(meta_url) + else: + req = urllib.request.Request(meta_url) + response = urllib.request.urlopen(req) + + if response: + for l in response.read().decode("utf-8").splitlines(): key, value = l.split(":", 1) if key == "lastModifiedDate": last_modified = value @@ -71,11 +87,14 @@ python do_populate_cve_db() { # Update db with current year json file try: - req = urllib.request.Request(json_url) - if proxy: - req.set_proxy(proxy, 'https') - with urllib.request.urlopen(req) as r: - update_db(c, gzip.decompress(r.read())) + if proxy_opener: + response = proxy_opener.open(json_url) + else: + req = urllib.request.Request(json_url) + response = urllib.request.urlopen(req) + + if response: + update_db(c, gzip.decompress(response.read()).decode('utf-8')) c.execute("insert or replace into META values (?, ?)", [year, last_modified]) except urllib.error.URLError as e: cve_f.write('Warning: CVE db update error, CVE data is outdated.\n\n') diff --git a/poky/meta/recipes-core/musl/musl_git.bb b/poky/meta/recipes-core/musl/musl_git.bb index 039932a3b..6425b5cd3 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 = "0ce49d0a301b4142741b32773492af90f66ed3ca" +SRCREV = "d0b547dfb5f7678cab6bc39dd736ed6454357ca4" BASEVER = "1.1.23" @@ -63,7 +63,7 @@ do_install() { oe_runmake install DESTDIR='${D}' install -d ${D}${bindir} - rm -f ${D}${bindir}/ldd + rm -f ${D}${bindir}/ldd ${D}${GLIBC_LDSO} lnr ${D}${libdir}/libc.so ${D}${bindir}/ldd lnr ${D}${libdir}/libc.so ${D}${GLIBC_LDSO} for l in crypt dl m pthread resolv rt util xnet diff --git a/poky/meta/recipes-core/newlib/newlib.inc b/poky/meta/recipes-core/newlib/newlib.inc index 418cf0793..2f0553bd6 100644 --- a/poky/meta/recipes-core/newlib/newlib.inc +++ b/poky/meta/recipes-core/newlib/newlib.inc @@ -15,7 +15,7 @@ LIC_FILES_CHKSUM = " \ file://newlib/libc/sys/linux/linuxthreads/LICENSE;md5=73640207fbc79b198c7ffd4ad4d97aa0 \ " -SRC_URI = "ftp://sourceware.org/pub/newlib/newlib-${PV}.tar.gz" +SRC_URI = "https://sourceware.org/pub/newlib/newlib-${PV}.tar.gz" SRC_URI[md5sum] = "f84263b7d524df92a9c9fb30b79e0134" SRC_URI[sha256sum] = "fb4fa1cc21e9060719208300a61420e4089d6de6ef59cf533b57fe74801d102a" diff --git a/poky/meta/recipes-core/ovmf/ovmf/0001-BaseTools-header.makefile-add-Wno-stringop-truncatio.patch b/poky/meta/recipes-core/ovmf/ovmf/0001-BaseTools-header.makefile-add-Wno-stringop-truncatio.patch deleted file mode 100644 index 342fcc623..000000000 --- a/poky/meta/recipes-core/ovmf/ovmf/0001-BaseTools-header.makefile-add-Wno-stringop-truncatio.patch +++ /dev/null @@ -1,71 +0,0 @@ -From 9fce4bab014b9aa618060eba13d6dd04b0fa1b70 Mon Sep 17 00:00:00 2001 -From: Laszlo Ersek -Date: Fri, 2 Mar 2018 17:11:52 +0100 -Subject: [PATCH 1/4] BaseTools/header.makefile: add "-Wno-stringop-truncation" - -gcc-8 (which is part of Fedora 28) enables the new warning -"-Wstringop-truncation" in "-Wall". This warning is documented in detail -at ; the -introduction says - -> Warn for calls to bounded string manipulation functions such as strncat, -> strncpy, and stpncpy that may either truncate the copied string or leave -> the destination unchanged. - -It breaks the BaseTools build with: - -> EfiUtilityMsgs.c: In function 'PrintMessage': -> EfiUtilityMsgs.c:484:9: error: 'strncat' output may be truncated copying -> between 0 and 511 bytes from a string of length 511 -> [-Werror=stringop-truncation] -> strncat (Line, Line2, MAX_LINE_LEN - strlen (Line) - 1); -> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -> EfiUtilityMsgs.c:469:9: error: 'strncat' output may be truncated copying -> between 0 and 511 bytes from a string of length 511 -> [-Werror=stringop-truncation] -> strncat (Line, Line2, MAX_LINE_LEN - strlen (Line) - 1); -> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -> EfiUtilityMsgs.c:511:5: error: 'strncat' output may be truncated copying -> between 0 and 511 bytes from a string of length 511 -> [-Werror=stringop-truncation] -> strncat (Line, Line2, MAX_LINE_LEN - strlen (Line) - 1); -> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -The right way to fix the warning would be to implement string concat with -snprintf(). However, Microsoft does not appear to support snprintf() -before VS2015 -, -so we just have to shut up the warning. The strncat() calls flagged above -are valid BTW. - -Cc: Ard Biesheuvel -Cc: Cole Robinson -Cc: Liming Gao -Cc: Paolo Bonzini -Cc: Yonghong Zhu -Contributed-under: TianoCore Contribution Agreement 1.1 -Signed-off-by: Laszlo Ersek -Reviewed-by: Liming Gao ---- -Signed-off-by: Khem Raj -Upstream-Status: Backport - - BaseTools/Source/C/Makefiles/header.makefile | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -Index: git/BaseTools/Source/C/Makefiles/header.makefile -=================================================================== ---- git.orig/BaseTools/Source/C/Makefiles/header.makefile -+++ git/BaseTools/Source/C/Makefiles/header.makefile -@@ -47,9 +47,9 @@ INCLUDE = $(TOOL_INCLUDE) -I $(MAKEROOT) - BUILD_CPPFLAGS += $(INCLUDE) -O2 - ifeq ($(DARWIN),Darwin) - # assume clang or clang compatible flags on OS X --BUILD_CFLAGS += -MD -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-deprecated-declarations -Wno-self-assign -Wno-unused-result -nostdlib -c -g -+BUILD_CFLAGS += -MD -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-deprecated-declarations -Wno-stringop-truncation -Wno-self-assign -Wno-unused-result -nostdlib -c -g - else --BUILD_CFLAGS += -MD -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-deprecated-declarations -Wno-unused-result -nostdlib -c -g -+BUILD_CFLAGS += -MD -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-deprecated-declarations -Wno-stringop-truncation -Wno-unused-result -nostdlib -c -g - endif - BUILD_LFLAGS = $(LDFLAGS) - BUILD_CXXFLAGS += -Wno-unused-result diff --git a/poky/meta/recipes-core/ovmf/ovmf/0001-ia32-Dont-use-pie.patch b/poky/meta/recipes-core/ovmf/ovmf/0001-ia32-Dont-use-pie.patch deleted file mode 100644 index 5bb418b95..000000000 --- a/poky/meta/recipes-core/ovmf/ovmf/0001-ia32-Dont-use-pie.patch +++ /dev/null @@ -1,46 +0,0 @@ -From f65e9cc025278387b494c2383c5d9ff3bed98687 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Sun, 11 Jun 2017 00:47:24 -0700 -Subject: [PATCH] ia32: Dont use -pie - -Upstream-Status: Pending - -Signed-off-by: Khem Raj ---- - BaseTools/Conf/tools_def.template | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -Index: git/BaseTools/Conf/tools_def.template -=================================================================== ---- git.orig/BaseTools/Conf/tools_def.template -+++ git/BaseTools/Conf/tools_def.template -@@ -4336,7 +4336,7 @@ RELEASE_*_*_OBJCOPY_ADDDEBUGFLAG = - NOOPT_*_*_OBJCOPY_ADDDEBUGFLAG = --add-gnu-debuglink=$(DEBUG_DIR)/$(MODULE_NAME).debug - - DEFINE GCC_ALL_CC_FLAGS = -g -Os -fshort-wchar -fno-builtin -fno-strict-aliasing -Wall -Werror -Wno-array-bounds -include AutoGen.h -fno-common --DEFINE GCC_IA32_CC_FLAGS = DEF(GCC_ALL_CC_FLAGS) -m32 -malign-double -freorder-blocks -freorder-blocks-and-partition -O2 -mno-stack-arg-probe -+DEFINE GCC_IA32_CC_FLAGS = DEF(GCC_ALL_CC_FLAGS) -m32 -malign-double -freorder-blocks -freorder-blocks-and-partition -O2 -mno-stack-arg-probe -fno-PIE -no-pie - DEFINE GCC_X64_CC_FLAGS = DEF(GCC_ALL_CC_FLAGS) -mno-red-zone -Wno-address -mno-stack-arg-probe - DEFINE GCC_IPF_CC_FLAGS = DEF(GCC_ALL_CC_FLAGS) -minline-int-divide-min-latency - DEFINE GCC_ARM_CC_FLAGS = DEF(GCC_ALL_CC_FLAGS) -mlittle-endian -mabi=aapcs -fno-short-enums -funsigned-char -ffunction-sections -fdata-sections -fomit-frame-pointer -Wno-address -mthumb -mfloat-abi=soft -fno-pic -fno-pie -@@ -4369,9 +4369,9 @@ DEFINE GCC_ARM_RC_FLAGS = -I - DEFINE GCC_AARCH64_RC_FLAGS = -I binary -O elf64-littleaarch64 -B aarch64 --rename-section .data=.hii - - DEFINE GCC44_ALL_CC_FLAGS = -g -fshort-wchar -fno-builtin -fno-strict-aliasing -Wall -Werror -Wno-array-bounds -ffunction-sections -fdata-sections -include AutoGen.h -fno-common -DSTRING_ARRAY_NAME=$(BASE_NAME)Strings --DEFINE GCC44_IA32_CC_FLAGS = DEF(GCC44_ALL_CC_FLAGS) -m32 -march=i586 -malign-double -fno-stack-protector -D EFI32 -fno-asynchronous-unwind-tables -+DEFINE GCC44_IA32_CC_FLAGS = DEF(GCC44_ALL_CC_FLAGS) -m32 -march=i586 -malign-double -fno-stack-protector -D EFI32 -fno-asynchronous-unwind-tables -fno-PIE -no-pie - DEFINE GCC44_X64_CC_FLAGS = DEF(GCC44_ALL_CC_FLAGS) -m64 -fno-stack-protector "-DEFIAPI=__attribute__((ms_abi))" -maccumulate-outgoing-args -mno-red-zone -Wno-address -mcmodel=small -fpie -fno-asynchronous-unwind-tables --DEFINE GCC44_IA32_X64_DLINK_COMMON = -nostdlib -Wl,-n,-q,--gc-sections -z common-page-size=0x20 -+DEFINE GCC44_IA32_X64_DLINK_COMMON = -nostdlib -Wl,-n,-q,--gc-sections -z common-page-size=0x20 -no-pie - DEFINE GCC44_IA32_X64_ASLDLINK_FLAGS = DEF(GCC44_IA32_X64_DLINK_COMMON) -Wl,--entry,ReferenceAcpiTable -u ReferenceAcpiTable - DEFINE GCC44_IA32_X64_DLINK_FLAGS = DEF(GCC44_IA32_X64_DLINK_COMMON) -Wl,--entry,$(IMAGE_ENTRY_POINT) -u $(IMAGE_ENTRY_POINT) -Wl,-Map,$(DEST_DIR_DEBUG)/$(BASE_NAME).map - DEFINE GCC44_IA32_DLINK2_FLAGS = -Wl,--defsym=PECOFF_HEADER_SIZE=0x220 DEF(GCC_DLINK2_FLAGS_COMMON) -@@ -4451,7 +4451,7 @@ DEFINE GCC48_AARCH64_ASLDLINK_FLAGS = D - - DEFINE GCC49_IA32_CC_FLAGS = DEF(GCC48_IA32_CC_FLAGS) - DEFINE GCC49_X64_CC_FLAGS = DEF(GCC48_X64_CC_FLAGS) --DEFINE GCC49_IA32_X64_DLINK_COMMON = -nostdlib -Wl,-n,-q,--gc-sections -z common-page-size=0x40 -+DEFINE GCC49_IA32_X64_DLINK_COMMON = -nostdlib -Wl,-n,-q,--gc-sections -z common-page-size=0x40 -no-pie - DEFINE GCC49_IA32_X64_ASLDLINK_FLAGS = DEF(GCC49_IA32_X64_DLINK_COMMON) -Wl,--entry,ReferenceAcpiTable -u ReferenceAcpiTable - DEFINE GCC49_IA32_X64_DLINK_FLAGS = DEF(GCC49_IA32_X64_DLINK_COMMON) -Wl,--entry,$(IMAGE_ENTRY_POINT) -u $(IMAGE_ENTRY_POINT) -Wl,-Map,$(DEST_DIR_DEBUG)/$(BASE_NAME).map - DEFINE GCC49_IA32_DLINK2_FLAGS = DEF(GCC48_IA32_DLINK2_FLAGS) diff --git a/poky/meta/recipes-core/ovmf/ovmf/0002-BaseTools-header.makefile-add-Wno-restrict.patch b/poky/meta/recipes-core/ovmf/ovmf/0002-BaseTools-header.makefile-add-Wno-restrict.patch deleted file mode 100644 index a076665c3..000000000 --- a/poky/meta/recipes-core/ovmf/ovmf/0002-BaseTools-header.makefile-add-Wno-restrict.patch +++ /dev/null @@ -1,102 +0,0 @@ -From 86dbdac5a25bd23deb4a0e0a97b527407e02184d Mon Sep 17 00:00:00 2001 -From: Laszlo Ersek -Date: Fri, 2 Mar 2018 17:11:52 +0100 -Subject: [PATCH 2/4] BaseTools/header.makefile: add "-Wno-restrict" - -gcc-8 (which is part of Fedora 28) enables the new warning -"-Wrestrict" in "-Wall". This warning is documented in detail -at ; the -introduction says - -> Warn when an object referenced by a restrict-qualified parameter (or, in -> C++, a __restrict-qualified parameter) is aliased by another argument, -> or when copies between such objects overlap. - -It breaks the BaseTools build (in the Brotli compression library) with: - -> In function 'ProcessCommandsInternal', -> inlined from 'ProcessCommands' at dec/decode.c:1828:10: -> dec/decode.c:1781:9: error: 'memcpy' accessing between 17 and 2147483631 -> bytes at offsets 16 and 16 overlaps between 17 and 2147483631 bytes at -> offset 16 [-Werror=restrict] -> memcpy(copy_dst + 16, copy_src + 16, (size_t)(i - 16)); -> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -> In function 'ProcessCommandsInternal', -> inlined from 'SafeProcessCommands' at dec/decode.c:1833:10: -> dec/decode.c:1781:9: error: 'memcpy' accessing between 17 and 2147483631 -> bytes at offsets 16 and 16 overlaps between 17 and 2147483631 bytes at -> offset 16 [-Werror=restrict] -> memcpy(copy_dst + 16, copy_src + 16, (size_t)(i - 16)); -> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Paolo Bonzini analyzed the Brotli source in detail, -and concluded that the warning is a false positive: - -> This seems safe to me, because it's preceded by: -> -> uint8_t* copy_dst = &s->ringbuffer[pos]; -> uint8_t* copy_src = &s->ringbuffer[src_start]; -> int dst_end = pos + i; -> int src_end = src_start + i; -> if (src_end > pos && dst_end > src_start) { -> /* Regions intersect. */ -> goto CommandPostWrapCopy; -> } -> -> If [src_start, src_start + i) and [pos, pos + i) don't intersect, then -> neither do [src_start + 16, src_start + i) and [pos + 16, pos + i). -> -> The if seems okay: -> -> (src_start + i > pos && pos + i > src_start) -> -> which can be rewritten to: -> -> (pos < src_start + i && src_start < pos + i) -> -> Then the numbers are in one of these two orders: -> -> pos <= src_start < pos + i <= src_start + i -> src_start <= pos < src_start + i <= pos + i -> -> These two would be allowed by the "if", but they can only happen if pos -> == src_start so they degenerate to the same two orders above: -> -> pos <= src_start < src_start + i <= pos + i -> src_start <= pos < pos + i <= src_start + i -> -> So it is a false positive in GCC. - -Disable the warning for now. - -Cc: Ard Biesheuvel -Cc: Cole Robinson -Cc: Liming Gao -Cc: Paolo Bonzini -Cc: Yonghong Zhu -Reported-by: Cole Robinson -Contributed-under: TianoCore Contribution Agreement 1.1 -Signed-off-by: Laszlo Ersek -Reviewed-by: Liming Gao ---- -Signed-off-by: Khem Raj -Upstream-Status: Backport - BaseTools/Source/C/Makefiles/header.makefile | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -Index: git/BaseTools/Source/C/Makefiles/header.makefile -=================================================================== ---- git.orig/BaseTools/Source/C/Makefiles/header.makefile -+++ git/BaseTools/Source/C/Makefiles/header.makefile -@@ -47,9 +47,9 @@ INCLUDE = $(TOOL_INCLUDE) -I $(MAKEROOT) - BUILD_CPPFLAGS += $(INCLUDE) -O2 - ifeq ($(DARWIN),Darwin) - # assume clang or clang compatible flags on OS X --BUILD_CFLAGS += -MD -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-deprecated-declarations -Wno-stringop-truncation -Wno-self-assign -Wno-unused-result -nostdlib -c -g -+BUILD_CFLAGS += -MD -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-deprecated-declarations -Wno-stringop-truncation -Wno-restrict -Wno-self-assign -Wno-unused-result -nostdlib -c -g - else --BUILD_CFLAGS += -MD -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-deprecated-declarations -Wno-stringop-truncation -Wno-unused-result -nostdlib -c -g -+BUILD_CFLAGS += -MD -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-deprecated-declarations -Wno-stringop-truncation -Wno-restrict -Wno-unused-result -nostdlib -c -g - endif - BUILD_LFLAGS = $(LDFLAGS) - BUILD_CXXFLAGS += -Wno-unused-result diff --git a/poky/meta/recipes-core/ovmf/ovmf/0003-BaseTools-header.makefile-revert-gcc-8-Wno-xxx-optio.patch b/poky/meta/recipes-core/ovmf/ovmf/0003-BaseTools-header.makefile-revert-gcc-8-Wno-xxx-optio.patch deleted file mode 100644 index 920723e32..000000000 --- a/poky/meta/recipes-core/ovmf/ovmf/0003-BaseTools-header.makefile-revert-gcc-8-Wno-xxx-optio.patch +++ /dev/null @@ -1,53 +0,0 @@ -From 6866325dd9c17412e555974dde41f9631224db52 Mon Sep 17 00:00:00 2001 -From: Laszlo Ersek -Date: Wed, 7 Mar 2018 10:17:28 +0100 -Subject: [PATCH 3/4] BaseTools/header.makefile: revert gcc-8 "-Wno-xxx" - options on OSX - -I recently added the gcc-8 specific "-Wno-stringop-truncation" and -"-Wno-restrict" options to BUILD_CFLAGS, both for "Darwin" (XCODE5 / -clang, OSX) and otherwise (gcc, Linux / Cygwin). - -I also regression-tested the change with gcc-4.8 on Linux -- gcc-4.8 does -not know either of the (gcc-8 specific) "-Wno-stringop-truncation" and -"-Wno-restrict" options, yet the build completed fine (by GCC design). - -Regarding OSX, my expectation was that - -- XCODE5 / clang would either recognize these warnings options (because - clang does recognize most -W options of gcc), - -- or, similarly to gcc, clang would simply ignore the "-Wno-xxx" flags - that it didn't recognize. - -Neither is the case; the new flags have broken the BaseTools build on OSX. -Revert them (for OSX only). - -Cc: Liming Gao -Cc: Yonghong Zhu -Reported-by: Liming Gao -Fixes: 1d212a83df0eaf32a6f5d4159beb2d77832e0231 -Fixes: 9222154ae7b3eef75ae88cdb56158256227cb929 -Contributed-under: TianoCore Contribution Agreement 1.1 -Signed-off-by: Laszlo Ersek -Reviewed-by: Liming Gao -Acked-by: Ard Biesheuvel ---- -Signed-off-by: Khem Raj -Upstream-Status: Backport - BaseTools/Source/C/Makefiles/header.makefile | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -Index: git/BaseTools/Source/C/Makefiles/header.makefile -=================================================================== ---- git.orig/BaseTools/Source/C/Makefiles/header.makefile -+++ git/BaseTools/Source/C/Makefiles/header.makefile -@@ -47,7 +47,7 @@ INCLUDE = $(TOOL_INCLUDE) -I $(MAKEROOT) - BUILD_CPPFLAGS += $(INCLUDE) -O2 - ifeq ($(DARWIN),Darwin) - # assume clang or clang compatible flags on OS X --BUILD_CFLAGS += -MD -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-deprecated-declarations -Wno-stringop-truncation -Wno-restrict -Wno-self-assign -Wno-unused-result -nostdlib -c -g -+BUILD_CFLAGS += -MD -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-deprecated-declarations -Wno-self-assign -Wno-unused-result -nostdlib -c -g - else - BUILD_CFLAGS += -MD -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-deprecated-declarations -Wno-stringop-truncation -Wno-restrict -Wno-unused-result -nostdlib -c -g - endif diff --git a/poky/meta/recipes-core/ovmf/ovmf/0003-BaseTools-makefile-adjust-to-build-in-under-bitbake.patch b/poky/meta/recipes-core/ovmf/ovmf/0003-BaseTools-makefile-adjust-to-build-in-under-bitbake.patch index 65b5c16dc..070b0ac5a 100644 --- a/poky/meta/recipes-core/ovmf/ovmf/0003-BaseTools-makefile-adjust-to-build-in-under-bitbake.patch +++ b/poky/meta/recipes-core/ovmf/ovmf/0003-BaseTools-makefile-adjust-to-build-in-under-bitbake.patch @@ -1,6 +1,6 @@ From 2320650c6d381b914fe91b2dedaa5870279a8bcf Mon Sep 17 00:00:00 2001 From: Ricardo Neri -Date: Sun, 27 Nov 2016 18:42:55 -0800 +Date: Fri, 26 Jul 2019 17:34:26 -0400 Subject: [PATCH] BaseTools: makefile: adjust to build in under bitbake Prepend the build flags with those of bitbake. This is to build @@ -9,31 +9,42 @@ using the bitbake native sysroot include and library directories. Signed-off-by: Ricardo Neri Upstream-Status: Pending --- - BaseTools/Source/C/Makefiles/header.makefile | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) + BaseTools/Source/C/Makefiles/header.makefile | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) Index: git/BaseTools/Source/C/Makefiles/header.makefile =================================================================== --- git.orig/BaseTools/Source/C/Makefiles/header.makefile +++ git/BaseTools/Source/C/Makefiles/header.makefile -@@ -44,15 +44,15 @@ ARCH_INCLUDE = -I $(MAKEROOT)/Include/AA +@@ -62,23 +62,23 @@ $(error Bad HOST_ARCH) endif INCLUDE = $(TOOL_INCLUDE) -I $(MAKEROOT) -I $(MAKEROOT)/Include/Common -I $(MAKEROOT)/Include/ -I $(MAKEROOT)/Include/IndustryStandard -I $(MAKEROOT)/Common/ -I .. -I . $(ARCH_INCLUDE) --BUILD_CPPFLAGS = $(INCLUDE) -O2 -+BUILD_CPPFLAGS += $(INCLUDE) -O2 +-BUILD_CPPFLAGS = $(INCLUDE) ++BUILD_CPPFLAGS += $(INCLUDE) + + # keep EXTRA_OPTFLAGS last + BUILD_OPTFLAGS = -O2 $(EXTRA_OPTFLAGS) + ifeq ($(DARWIN),Darwin) # assume clang or clang compatible flags on OS X --BUILD_CFLAGS = -MD -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-deprecated-declarations -Wno-self-assign -Wno-unused-result -nostdlib -c -g -+BUILD_CFLAGS += -MD -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-deprecated-declarations -Wno-self-assign -Wno-unused-result -nostdlib -c -g +-BUILD_CFLAGS = -MD -fshort-wchar -fno-strict-aliasing -Wall -Werror \ ++BUILD_CFLAGS += -MD -fshort-wchar -fno-strict-aliasing -Wall -Werror \ + -Wno-deprecated-declarations -Wno-self-assign -Wno-unused-result -nostdlib -g else --BUILD_CFLAGS = -MD -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-deprecated-declarations -Wno-unused-result -nostdlib -c -g -+BUILD_CFLAGS += -MD -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-deprecated-declarations -Wno-unused-result -nostdlib -c -g +-BUILD_CFLAGS = -MD -fshort-wchar -fno-strict-aliasing -fwrapv \ ++BUILD_CFLAGS += -MD -fshort-wchar -fno-strict-aliasing -fwrapv \ + -fno-delete-null-pointer-checks -Wall -Werror \ + -Wno-deprecated-declarations -Wno-stringop-truncation -Wno-restrict \ + -Wno-unused-result -nostdlib -g endif -BUILD_LFLAGS = -BUILD_CXXFLAGS = -Wno-unused-result +BUILD_LFLAGS = $(LDFLAGS) +BUILD_CXXFLAGS += -Wno-unused-result - ifeq ($(ARCH), IA32) + ifeq ($(HOST_ARCH), IA32) # +-- +2.20.1 + diff --git a/poky/meta/recipes-core/ovmf/ovmf/0004-BaseTools-GenVtf-silence-false-stringop-overflow-war.patch b/poky/meta/recipes-core/ovmf/ovmf/0004-BaseTools-GenVtf-silence-false-stringop-overflow-war.patch deleted file mode 100644 index 7ad7cdf0c..000000000 --- a/poky/meta/recipes-core/ovmf/ovmf/0004-BaseTools-GenVtf-silence-false-stringop-overflow-war.patch +++ /dev/null @@ -1,66 +0,0 @@ -From dfb42a5bff78d9239a80731e337855234badef3e Mon Sep 17 00:00:00 2001 -From: Laszlo Ersek -Date: Fri, 2 Mar 2018 17:11:52 +0100 -Subject: [PATCH 4/4] BaseTools/GenVtf: silence false "stringop-overflow" - warning with memcpy() - -gcc-8 (which is part of Fedora 28) enables the new warning -"-Wstringop-overflow" in "-Wall". This warning is documented in detail at -; the -introduction says - -> Warn for calls to string manipulation functions such as memcpy and -> strcpy that are determined to overflow the destination buffer. - -It breaks the BaseTools build with: - -> GenVtf.c: In function 'ConvertVersionInfo': -> GenVtf.c:132:7: error: 'strncpy' specified bound depends on the length -> of the source argument [-Werror=stringop-overflow=] -> strncpy (TemStr + 4 - Length, Str, Length); -> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -> GenVtf.c:130:14: note: length computed here -> Length = strlen(Str); -> ^~~~~~~~~~~ - -It is a false positive because, while the bound equals the length of the -source argument, the destination pointer is moved back towards the -beginning of the destination buffer by the same amount (and this amount is -range-checked first, so we can't precede the start of the dest buffer). - -Replace both strncpy() calls with memcpy(). - -Cc: Ard Biesheuvel -Cc: Cole Robinson -Cc: Liming Gao -Cc: Paolo Bonzini -Cc: Yonghong Zhu -Reported-by: Cole Robinson -Contributed-under: TianoCore Contribution Agreement 1.1 -Signed-off-by: Laszlo Ersek -Reviewed-by: Liming Gao ---- -Signed-off-by: Khem Raj -Upstream-Status: Backport - BaseTools/Source/C/GenVtf/GenVtf.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/BaseTools/Source/C/GenVtf/GenVtf.c b/BaseTools/Source/C/GenVtf/GenVtf.c -index 2ae9a7be2c..0cd33e71e9 100644 ---- a/BaseTools/Source/C/GenVtf/GenVtf.c -+++ b/BaseTools/Source/C/GenVtf/GenVtf.c -@@ -129,9 +129,9 @@ Returns: - } else { - Length = strlen(Str); - if (Length < 4) { -- strncpy (TemStr + 4 - Length, Str, Length); -+ memcpy (TemStr + 4 - Length, Str, Length); - } else { -- strncpy (TemStr, Str + Length - 4, 4); -+ memcpy (TemStr, Str + Length - 4, 4); - } - - sscanf ( --- -2.17.0 - diff --git a/poky/meta/recipes-core/ovmf/ovmf/0007-OvmfPkg-EnrollDefaultKeys-application-for-enrolling-.patch b/poky/meta/recipes-core/ovmf/ovmf/0007-OvmfPkg-EnrollDefaultKeys-application-for-enrolling-.patch deleted file mode 100644 index 3aa6cc4ac..000000000 --- a/poky/meta/recipes-core/ovmf/ovmf/0007-OvmfPkg-EnrollDefaultKeys-application-for-enrolling-.patch +++ /dev/null @@ -1,1124 +0,0 @@ -From: Laszlo Ersek -Date: Mon, 6 Jul 2015 20:22:02 +0200 -Subject: [PATCH] OvmfPkg: EnrollDefaultKeys: application for enrolling default - keys - -(A port of the patch -to Gerd's public RPMs.) - -This application is meant to be invoked by the management layer, after -booting the UEFI shell and getting a shell prompt on the serial console. -The app enrolls a number of certificates (see below), and then reports -status to the serial console as well. The expected output is "info: -success": - -> Shell> EnrollDefaultKeys.efi -> info: SetupMode=1 SecureBoot=0 SecureBootEnable=0 CustomMode=0 VendorKeys=1 -> info: SetupMode=0 SecureBoot=1 SecureBootEnable=1 CustomMode=0 VendorKeys=0 -> info: success -> Shell> - -In case of success, the management layer can force off or reboot the VM -(for example with the "reset -s" or "reset -c" UEFI shell commands, -respectively), and start the guest installation with SecureBoot enabled. - -PK: -- A unique, static, ad-hoc certificate whose private half has been - destroyed (more precisely, never saved) and is therefore unusable for - signing. (The command for creating this certificate is saved in the - source code.) - -KEK: -- same ad-hoc certificate as used for the PK, -- "Microsoft Corporation KEK CA 2011" -- the dbx data in Fedora's dbxtool - package is signed (indirectly, through a chain) with this; enrolling - such a KEK should allow guests to install those updates. - -DB: -- "Microsoft Windows Production PCA 2011" -- to load Windows 8 and Windows - Server 2012 R2, -- "Microsoft Corporation UEFI CA 2011" -- to load Linux and signed PCI - oproms. - -Contributed-under: TianoCore Contribution Agreement 1.0 -Signed-off-by: Laszlo Ersek -Upstream-Status: Inappropriate [not author] -Signed-off-by: Patrick Ohly ---- - OvmfPkg/EnrollDefaultKeys/EnrollDefaultKeys.c | 960 ++++++++++++++++++++++++ - OvmfPkg/EnrollDefaultKeys/EnrollDefaultKeys.inf | 51 ++ - OvmfPkg/OvmfPkgIa32.dsc | 4 + - OvmfPkg/OvmfPkgIa32X64.dsc | 4 + - OvmfPkg/OvmfPkgX64.dsc | 4 + - 5 files changed, 1023 insertions(+) - create mode 100644 OvmfPkg/EnrollDefaultKeys/EnrollDefaultKeys.c - create mode 100644 OvmfPkg/EnrollDefaultKeys/EnrollDefaultKeys.inf - -diff --git a/OvmfPkg/EnrollDefaultKeys/EnrollDefaultKeys.c b/OvmfPkg/EnrollDefaultKeys/EnrollDefaultKeys.c -new file mode 100644 -index 0000000..081212b ---- /dev/null -+++ b/OvmfPkg/EnrollDefaultKeys/EnrollDefaultKeys.c -@@ -0,0 +1,960 @@ -+/** @file -+ Enroll default PK, KEK, DB. -+ -+ Copyright (C) 2014, Red Hat, Inc. -+ -+ This program and the accompanying materials are licensed and made available -+ under the terms and conditions of the BSD License which accompanies this -+ distribution. The full text of the license may be found at -+ http://opensource.org/licenses/bsd-license. -+ -+ THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, WITHOUT -+ WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. -+**/ -+#include // gEfiCustomModeEnableGuid -+#include // EFI_SETUP_MODE_NAME -+#include // EFI_IMAGE_SECURITY_DATABASE -+#include // CopyGuid() -+#include // ASSERT() -+#include // FreePool() -+#include // ShellAppMain() -+#include // AsciiPrint() -+#include // gRT -+ -+// -+// The example self-signed certificate below, which we'll use for both Platform -+// Key, and first Key Exchange Key, has been generated with the following -+// non-interactive openssl command. The passphrase is read from /dev/urandom, -+// and not saved, and the private key is written to /dev/null. In other words, -+// we can't sign anything else against this certificate, which is our purpose. -+// -+/* -+ openssl req \ -+ -passout file:<(head -c 16 /dev/urandom) \ -+ -x509 \ -+ -newkey rsa:2048 \ -+ -keyout /dev/null \ -+ -outform DER \ -+ -subj $( -+ printf /C=US -+ printf /ST=TestStateOrProvince -+ printf /L=TestLocality -+ printf /O=TestOrganization -+ printf /OU=TestOrganizationalUnit -+ printf /CN=TestCommonName -+ printf /emailAddress=test@example.com -+ ) \ -+ 2>/dev/null \ -+ | xxd -i -+*/ -+STATIC CONST UINT8 ExampleCert[] = { -+ 0x30, 0x82, 0x04, 0x45, 0x30, 0x82, 0x03, 0x2d, 0xa0, 0x03, 0x02, 0x01, 0x02, -+ 0x02, 0x09, 0x00, 0xcf, 0x9f, 0x51, 0xa3, 0x07, 0xdb, 0x54, 0xa1, 0x30, 0x0d, -+ 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, -+ 0x30, 0x81, 0xb8, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, -+ 0x02, 0x55, 0x53, 0x31, 0x1c, 0x30, 0x1a, 0x06, 0x03, 0x55, 0x04, 0x08, 0x0c, -+ 0x13, 0x54, 0x65, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x50, -+ 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x31, 0x15, 0x30, 0x13, 0x06, 0x03, -+ 0x55, 0x04, 0x07, 0x0c, 0x0c, 0x54, 0x65, 0x73, 0x74, 0x4c, 0x6f, 0x63, 0x61, -+ 0x6c, 0x69, 0x74, 0x79, 0x31, 0x19, 0x30, 0x17, 0x06, 0x03, 0x55, 0x04, 0x0a, -+ 0x0c, 0x10, 0x54, 0x65, 0x73, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, -+ 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x31, 0x1f, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x04, -+ 0x0b, 0x0c, 0x16, 0x54, 0x65, 0x73, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, -+ 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x55, 0x6e, 0x69, 0x74, 0x31, -+ 0x17, 0x30, 0x15, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0e, 0x54, 0x65, 0x73, -+ 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x31, 0x1f, -+ 0x30, 0x1d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x09, 0x01, -+ 0x16, 0x10, 0x74, 0x65, 0x73, 0x74, 0x40, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, -+ 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x30, 0x1e, 0x17, 0x0d, 0x31, 0x34, 0x31, 0x30, -+ 0x30, 0x39, 0x31, 0x33, 0x32, 0x38, 0x32, 0x32, 0x5a, 0x17, 0x0d, 0x31, 0x34, -+ 0x31, 0x31, 0x30, 0x38, 0x31, 0x33, 0x32, 0x38, 0x32, 0x32, 0x5a, 0x30, 0x81, -+ 0xb8, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, -+ 0x53, 0x31, 0x1c, 0x30, 0x1a, 0x06, 0x03, 0x55, 0x04, 0x08, 0x0c, 0x13, 0x54, -+ 0x65, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x50, 0x72, 0x6f, -+ 0x76, 0x69, 0x6e, 0x63, 0x65, 0x31, 0x15, 0x30, 0x13, 0x06, 0x03, 0x55, 0x04, -+ 0x07, 0x0c, 0x0c, 0x54, 0x65, 0x73, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, -+ 0x74, 0x79, 0x31, 0x19, 0x30, 0x17, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x0c, 0x10, -+ 0x54, 0x65, 0x73, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, -+ 0x69, 0x6f, 0x6e, 0x31, 0x1f, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x0c, -+ 0x16, 0x54, 0x65, 0x73, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, -+ 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x55, 0x6e, 0x69, 0x74, 0x31, 0x17, 0x30, -+ 0x15, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0e, 0x54, 0x65, 0x73, 0x74, 0x43, -+ 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x31, 0x1f, 0x30, 0x1d, -+ 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x09, 0x01, 0x16, 0x10, -+ 0x74, 0x65, 0x73, 0x74, 0x40, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2e, -+ 0x63, 0x6f, 0x6d, 0x30, 0x82, 0x01, 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, -+ 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x0f, -+ 0x00, 0x30, 0x82, 0x01, 0x0a, 0x02, 0x82, 0x01, 0x01, 0x00, 0xbf, 0xf1, 0xce, -+ 0x17, 0x32, 0xac, 0xc4, 0x4b, 0xb2, 0xed, 0x84, 0x76, 0xe5, 0xd0, 0xf8, 0x21, -+ 0xac, 0x10, 0xf8, 0x18, 0x09, 0x0e, 0x07, 0x13, 0x76, 0x21, 0x5c, 0xc4, 0xcc, -+ 0xd5, 0xe6, 0x25, 0xa7, 0x26, 0x53, 0x79, 0x2f, 0x16, 0x4b, 0x85, 0xbd, 0xae, -+ 0x42, 0x64, 0x58, 0xcb, 0x5e, 0xe8, 0x6e, 0x5a, 0xd0, 0xc4, 0x0f, 0x38, 0x16, -+ 0xbe, 0xd3, 0x22, 0xa7, 0x3c, 0x9b, 0x8b, 0x5e, 0xcb, 0x62, 0x35, 0xc5, 0x9b, -+ 0xe2, 0x8e, 0x4c, 0x65, 0x57, 0x4f, 0xcb, 0x27, 0xad, 0xe7, 0x63, 0xa7, 0x77, -+ 0x2b, 0xd5, 0x02, 0x42, 0x70, 0x46, 0xac, 0xba, 0xb6, 0x60, 0x57, 0xd9, 0xce, -+ 0x31, 0xc5, 0x12, 0x03, 0x4a, 0xf7, 0x2a, 0x2b, 0x40, 0x06, 0xb4, 0xdb, 0x31, -+ 0xb7, 0x83, 0x6c, 0x67, 0x87, 0x98, 0x8b, 0xce, 0x1b, 0x30, 0x7a, 0xfa, 0x35, -+ 0x6c, 0x86, 0x20, 0x74, 0xc5, 0x7d, 0x32, 0x31, 0x18, 0xeb, 0x69, 0xf7, 0x2d, -+ 0x20, 0xc4, 0xf0, 0xd2, 0xfa, 0x67, 0x81, 0xc1, 0xbb, 0x23, 0xbb, 0x75, 0x1a, -+ 0xe4, 0xb4, 0x49, 0x99, 0xdf, 0x12, 0x4c, 0xe3, 0x6d, 0x76, 0x24, 0x85, 0x24, -+ 0xae, 0x5a, 0x9e, 0xbd, 0x54, 0x1c, 0xf9, 0x0e, 0xed, 0x96, 0xb5, 0xd8, 0xa2, -+ 0x0d, 0x2a, 0x38, 0x5d, 0x12, 0x97, 0xb0, 0x4d, 0x75, 0x85, 0x1e, 0x47, 0x6d, -+ 0xe1, 0x25, 0x59, 0xcb, 0xe9, 0x33, 0x86, 0x6a, 0xef, 0x98, 0x24, 0xa0, 0x2b, -+ 0x02, 0x7b, 0xc0, 0x9f, 0x88, 0x03, 0xb0, 0xbe, 0x22, 0x65, 0x83, 0x77, 0xb3, -+ 0x30, 0xba, 0xe0, 0x3b, 0x54, 0x31, 0x3a, 0x45, 0x81, 0x9c, 0x48, 0xaf, 0xc1, -+ 0x11, 0x5b, 0xf2, 0x3a, 0x1e, 0x33, 0x1b, 0x8f, 0x0e, 0x04, 0xa4, 0x16, 0xd4, -+ 0x6b, 0x57, 0xee, 0xe7, 0xba, 0xf5, 0xee, 0xaf, 0xe2, 0x4c, 0x50, 0xf8, 0x68, -+ 0x57, 0x88, 0xfb, 0x7f, 0xa3, 0xcf, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x50, -+ 0x30, 0x4e, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, -+ 0x1e, 0x44, 0xe5, 0xef, 0xcd, 0x6e, 0x1f, 0xdb, 0xcb, 0x4f, 0x94, 0x8f, 0xe3, -+ 0x3b, 0x1a, 0x8c, 0xe6, 0x95, 0x29, 0x61, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, -+ 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0x1e, 0x44, 0xe5, 0xef, 0xcd, 0x6e, -+ 0x1f, 0xdb, 0xcb, 0x4f, 0x94, 0x8f, 0xe3, 0x3b, 0x1a, 0x8c, 0xe6, 0x95, 0x29, -+ 0x61, 0x30, 0x0c, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x04, 0x05, 0x30, 0x03, 0x01, -+ 0x01, 0xff, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, -+ 0x01, 0x0b, 0x05, 0x00, 0x03, 0x82, 0x01, 0x01, 0x00, 0x12, 0x9c, 0x3e, 0x38, -+ 0xfc, 0x26, 0xea, 0x6d, 0xb7, 0x5c, 0x29, 0x3c, 0x76, 0x20, 0x0c, 0xb2, 0xa9, -+ 0x0f, 0xdf, 0xc0, 0x85, 0xfe, 0xeb, 0xec, 0x1d, 0x5d, 0x73, 0x84, 0xac, 0x8a, -+ 0xb4, 0x2a, 0x86, 0x38, 0x30, 0xaf, 0xd2, 0x2d, 0x2a, 0xde, 0x54, 0xc8, 0x5c, -+ 0x29, 0x90, 0x24, 0xf2, 0x39, 0xc1, 0xa5, 0x00, 0xb4, 0xb7, 0xd8, 0xdc, 0x59, -+ 0x64, 0x50, 0x62, 0x5f, 0x54, 0xf1, 0x73, 0x02, 0x4d, 0x43, 0xc5, 0xc3, 0xc4, -+ 0x0e, 0x62, 0x60, 0x8c, 0x53, 0x66, 0x57, 0x77, 0xb5, 0x81, 0xda, 0x1f, 0x81, -+ 0xda, 0xe9, 0xd6, 0x5e, 0x82, 0xce, 0xa7, 0x5c, 0xc0, 0xa6, 0xbe, 0x9c, 0x5c, -+ 0x7b, 0xa5, 0x15, 0xc8, 0xd7, 0x14, 0x53, 0xd3, 0x5c, 0x1c, 0x9f, 0x8a, 0x9f, -+ 0x66, 0x15, 0xd5, 0xd3, 0x2a, 0x27, 0x0c, 0xee, 0x9f, 0x80, 0x39, 0x88, 0x7b, -+ 0x24, 0xde, 0x0c, 0x61, 0xa3, 0x44, 0xd8, 0x8d, 0x2e, 0x79, 0xf8, 0x1e, 0x04, -+ 0x5a, 0xcb, 0xd6, 0x9c, 0xa3, 0x22, 0x8f, 0x09, 0x32, 0x1e, 0xe1, 0x65, 0x8f, -+ 0x10, 0x5f, 0xd8, 0x52, 0x56, 0xd5, 0x77, 0xac, 0x58, 0x46, 0x60, 0xba, 0x2e, -+ 0xe2, 0x3f, 0x58, 0x7d, 0x60, 0xfc, 0x31, 0x4a, 0x3a, 0xaf, 0x61, 0x55, 0x5f, -+ 0xfb, 0x68, 0x14, 0x74, 0xda, 0xdc, 0x42, 0x78, 0xcc, 0xee, 0xff, 0x5c, 0x03, -+ 0x24, 0x26, 0x2c, 0xb8, 0x3a, 0x81, 0xad, 0xdb, 0xe7, 0xed, 0xe1, 0x62, 0x84, -+ 0x07, 0x1a, 0xc8, 0xa4, 0x4e, 0xb0, 0x87, 0xf7, 0x96, 0xd8, 0x33, 0x9b, 0x0d, -+ 0xa7, 0x77, 0xae, 0x5b, 0xaf, 0xad, 0xe6, 0x5a, 0xc9, 0xfa, 0xa4, 0xe4, 0xe5, -+ 0x57, 0xbb, 0x97, 0xdd, 0x92, 0x85, 0xd8, 0x03, 0x45, 0xfe, 0xd8, 0x6b, 0xb1, -+ 0xdb, 0x85, 0x36, 0xb9, 0xd9, 0x28, 0xbf, 0x17, 0xae, 0x11, 0xde, 0x10, 0x19, -+ 0x26, 0x5b, 0xc0, 0x3d, 0xc7 -+}; -+ -+// -+// Second KEK: "Microsoft Corporation KEK CA 2011". -+// SHA1: 31:59:0b:fd:89:c9:d7:4e:d0:87:df:ac:66:33:4b:39:31:25:4b:30 -+// -+// "dbx" updates in "dbxtool" are signed with a key derived from this KEK. -+// -+STATIC CONST UINT8 MicrosoftKEK[] = { -+ 0x30, 0x82, 0x05, 0xe8, 0x30, 0x82, 0x03, 0xd0, 0xa0, 0x03, 0x02, 0x01, 0x02, -+ 0x02, 0x0a, 0x61, 0x0a, 0xd1, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x30, -+ 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, -+ 0x00, 0x30, 0x81, 0x91, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, -+ 0x13, 0x02, 0x55, 0x53, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x08, -+ 0x13, 0x0a, 0x57, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x74, 0x6f, 0x6e, 0x31, -+ 0x10, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x04, 0x07, 0x13, 0x07, 0x52, 0x65, 0x64, -+ 0x6d, 0x6f, 0x6e, 0x64, 0x31, 0x1e, 0x30, 0x1c, 0x06, 0x03, 0x55, 0x04, 0x0a, -+ 0x13, 0x15, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x6f, 0x66, 0x74, 0x20, 0x43, -+ 0x6f, 0x72, 0x70, 0x6f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x31, 0x3b, 0x30, -+ 0x39, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x32, 0x4d, 0x69, 0x63, 0x72, 0x6f, -+ 0x73, 0x6f, 0x66, 0x74, 0x20, 0x43, 0x6f, 0x72, 0x70, 0x6f, 0x72, 0x61, 0x74, -+ 0x69, 0x6f, 0x6e, 0x20, 0x54, 0x68, 0x69, 0x72, 0x64, 0x20, 0x50, 0x61, 0x72, -+ 0x74, 0x79, 0x20, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x70, 0x6c, 0x61, 0x63, -+ 0x65, 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17, 0x0d, 0x31, 0x31, 0x30, -+ 0x36, 0x32, 0x34, 0x32, 0x30, 0x34, 0x31, 0x32, 0x39, 0x5a, 0x17, 0x0d, 0x32, -+ 0x36, 0x30, 0x36, 0x32, 0x34, 0x32, 0x30, 0x35, 0x31, 0x32, 0x39, 0x5a, 0x30, -+ 0x81, 0x80, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, -+ 0x55, 0x53, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x08, 0x13, 0x0a, -+ 0x57, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x74, 0x6f, 0x6e, 0x31, 0x10, 0x30, -+ 0x0e, 0x06, 0x03, 0x55, 0x04, 0x07, 0x13, 0x07, 0x52, 0x65, 0x64, 0x6d, 0x6f, -+ 0x6e, 0x64, 0x31, 0x1e, 0x30, 0x1c, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x15, -+ 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x6f, 0x66, 0x74, 0x20, 0x43, 0x6f, 0x72, -+ 0x70, 0x6f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x31, 0x2a, 0x30, 0x28, 0x06, -+ 0x03, 0x55, 0x04, 0x03, 0x13, 0x21, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x6f, -+ 0x66, 0x74, 0x20, 0x43, 0x6f, 0x72, 0x70, 0x6f, 0x72, 0x61, 0x74, 0x69, 0x6f, -+ 0x6e, 0x20, 0x4b, 0x45, 0x4b, 0x20, 0x43, 0x41, 0x20, 0x32, 0x30, 0x31, 0x31, -+ 0x30, 0x82, 0x01, 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, -+ 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x0f, 0x00, 0x30, 0x82, -+ 0x01, 0x0a, 0x02, 0x82, 0x01, 0x01, 0x00, 0xc4, 0xe8, 0xb5, 0x8a, 0xbf, 0xad, -+ 0x57, 0x26, 0xb0, 0x26, 0xc3, 0xea, 0xe7, 0xfb, 0x57, 0x7a, 0x44, 0x02, 0x5d, -+ 0x07, 0x0d, 0xda, 0x4a, 0xe5, 0x74, 0x2a, 0xe6, 0xb0, 0x0f, 0xec, 0x6d, 0xeb, -+ 0xec, 0x7f, 0xb9, 0xe3, 0x5a, 0x63, 0x32, 0x7c, 0x11, 0x17, 0x4f, 0x0e, 0xe3, -+ 0x0b, 0xa7, 0x38, 0x15, 0x93, 0x8e, 0xc6, 0xf5, 0xe0, 0x84, 0xb1, 0x9a, 0x9b, -+ 0x2c, 0xe7, 0xf5, 0xb7, 0x91, 0xd6, 0x09, 0xe1, 0xe2, 0xc0, 0x04, 0xa8, 0xac, -+ 0x30, 0x1c, 0xdf, 0x48, 0xf3, 0x06, 0x50, 0x9a, 0x64, 0xa7, 0x51, 0x7f, 0xc8, -+ 0x85, 0x4f, 0x8f, 0x20, 0x86, 0xce, 0xfe, 0x2f, 0xe1, 0x9f, 0xff, 0x82, 0xc0, -+ 0xed, 0xe9, 0xcd, 0xce, 0xf4, 0x53, 0x6a, 0x62, 0x3a, 0x0b, 0x43, 0xb9, 0xe2, -+ 0x25, 0xfd, 0xfe, 0x05, 0xf9, 0xd4, 0xc4, 0x14, 0xab, 0x11, 0xe2, 0x23, 0x89, -+ 0x8d, 0x70, 0xb7, 0xa4, 0x1d, 0x4d, 0xec, 0xae, 0xe5, 0x9c, 0xfa, 0x16, 0xc2, -+ 0xd7, 0xc1, 0xcb, 0xd4, 0xe8, 0xc4, 0x2f, 0xe5, 0x99, 0xee, 0x24, 0x8b, 0x03, -+ 0xec, 0x8d, 0xf2, 0x8b, 0xea, 0xc3, 0x4a, 0xfb, 0x43, 0x11, 0x12, 0x0b, 0x7e, -+ 0xb5, 0x47, 0x92, 0x6c, 0xdc, 0xe6, 0x04, 0x89, 0xeb, 0xf5, 0x33, 0x04, 0xeb, -+ 0x10, 0x01, 0x2a, 0x71, 0xe5, 0xf9, 0x83, 0x13, 0x3c, 0xff, 0x25, 0x09, 0x2f, -+ 0x68, 0x76, 0x46, 0xff, 0xba, 0x4f, 0xbe, 0xdc, 0xad, 0x71, 0x2a, 0x58, 0xaa, -+ 0xfb, 0x0e, 0xd2, 0x79, 0x3d, 0xe4, 0x9b, 0x65, 0x3b, 0xcc, 0x29, 0x2a, 0x9f, -+ 0xfc, 0x72, 0x59, 0xa2, 0xeb, 0xae, 0x92, 0xef, 0xf6, 0x35, 0x13, 0x80, 0xc6, -+ 0x02, 0xec, 0xe4, 0x5f, 0xcc, 0x9d, 0x76, 0xcd, 0xef, 0x63, 0x92, 0xc1, 0xaf, -+ 0x79, 0x40, 0x84, 0x79, 0x87, 0x7f, 0xe3, 0x52, 0xa8, 0xe8, 0x9d, 0x7b, 0x07, -+ 0x69, 0x8f, 0x15, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x82, 0x01, 0x4f, 0x30, -+ 0x82, 0x01, 0x4b, 0x30, 0x10, 0x06, 0x09, 0x2b, 0x06, 0x01, 0x04, 0x01, 0x82, -+ 0x37, 0x15, 0x01, 0x04, 0x03, 0x02, 0x01, 0x00, 0x30, 0x1d, 0x06, 0x03, 0x55, -+ 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0x62, 0xfc, 0x43, 0xcd, 0xa0, 0x3e, 0xa4, -+ 0xcb, 0x67, 0x12, 0xd2, 0x5b, 0xd9, 0x55, 0xac, 0x7b, 0xcc, 0xb6, 0x8a, 0x5f, -+ 0x30, 0x19, 0x06, 0x09, 0x2b, 0x06, 0x01, 0x04, 0x01, 0x82, 0x37, 0x14, 0x02, -+ 0x04, 0x0c, 0x1e, 0x0a, 0x00, 0x53, 0x00, 0x75, 0x00, 0x62, 0x00, 0x43, 0x00, -+ 0x41, 0x30, 0x0b, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x04, 0x04, 0x03, 0x02, 0x01, -+ 0x86, 0x30, 0x0f, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x05, -+ 0x30, 0x03, 0x01, 0x01, 0xff, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, -+ 0x18, 0x30, 0x16, 0x80, 0x14, 0x45, 0x66, 0x52, 0x43, 0xe1, 0x7e, 0x58, 0x11, -+ 0xbf, 0xd6, 0x4e, 0x9e, 0x23, 0x55, 0x08, 0x3b, 0x3a, 0x22, 0x6a, 0xa8, 0x30, -+ 0x5c, 0x06, 0x03, 0x55, 0x1d, 0x1f, 0x04, 0x55, 0x30, 0x53, 0x30, 0x51, 0xa0, -+ 0x4f, 0xa0, 0x4d, 0x86, 0x4b, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x63, -+ 0x72, 0x6c, 0x2e, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x6f, 0x66, 0x74, 0x2e, -+ 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x6b, 0x69, 0x2f, 0x63, 0x72, 0x6c, 0x2f, 0x70, -+ 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x2f, 0x4d, 0x69, 0x63, 0x43, 0x6f, -+ 0x72, 0x54, 0x68, 0x69, 0x50, 0x61, 0x72, 0x4d, 0x61, 0x72, 0x52, 0x6f, 0x6f, -+ 0x5f, 0x32, 0x30, 0x31, 0x30, 0x2d, 0x31, 0x30, 0x2d, 0x30, 0x35, 0x2e, 0x63, -+ 0x72, 0x6c, 0x30, 0x60, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x01, -+ 0x01, 0x04, 0x54, 0x30, 0x52, 0x30, 0x50, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, -+ 0x05, 0x07, 0x30, 0x02, 0x86, 0x44, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, -+ 0x77, 0x77, 0x77, 0x2e, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x6f, 0x66, 0x74, -+ 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x6b, 0x69, 0x2f, 0x63, 0x65, 0x72, 0x74, -+ 0x73, 0x2f, 0x4d, 0x69, 0x63, 0x43, 0x6f, 0x72, 0x54, 0x68, 0x69, 0x50, 0x61, -+ 0x72, 0x4d, 0x61, 0x72, 0x52, 0x6f, 0x6f, 0x5f, 0x32, 0x30, 0x31, 0x30, 0x2d, -+ 0x31, 0x30, 0x2d, 0x30, 0x35, 0x2e, 0x63, 0x72, 0x74, 0x30, 0x0d, 0x06, 0x09, -+ 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x03, 0x82, -+ 0x02, 0x01, 0x00, 0xd4, 0x84, 0x88, 0xf5, 0x14, 0x94, 0x18, 0x02, 0xca, 0x2a, -+ 0x3c, 0xfb, 0x2a, 0x92, 0x1c, 0x0c, 0xd7, 0xa0, 0xd1, 0xf1, 0xe8, 0x52, 0x66, -+ 0xa8, 0xee, 0xa2, 0xb5, 0x75, 0x7a, 0x90, 0x00, 0xaa, 0x2d, 0xa4, 0x76, 0x5a, -+ 0xea, 0x79, 0xb7, 0xb9, 0x37, 0x6a, 0x51, 0x7b, 0x10, 0x64, 0xf6, 0xe1, 0x64, -+ 0xf2, 0x02, 0x67, 0xbe, 0xf7, 0xa8, 0x1b, 0x78, 0xbd, 0xba, 0xce, 0x88, 0x58, -+ 0x64, 0x0c, 0xd6, 0x57, 0xc8, 0x19, 0xa3, 0x5f, 0x05, 0xd6, 0xdb, 0xc6, 0xd0, -+ 0x69, 0xce, 0x48, 0x4b, 0x32, 0xb7, 0xeb, 0x5d, 0xd2, 0x30, 0xf5, 0xc0, 0xf5, -+ 0xb8, 0xba, 0x78, 0x07, 0xa3, 0x2b, 0xfe, 0x9b, 0xdb, 0x34, 0x56, 0x84, 0xec, -+ 0x82, 0xca, 0xae, 0x41, 0x25, 0x70, 0x9c, 0x6b, 0xe9, 0xfe, 0x90, 0x0f, 0xd7, -+ 0x96, 0x1f, 0xe5, 0xe7, 0x94, 0x1f, 0xb2, 0x2a, 0x0c, 0x8d, 0x4b, 0xff, 0x28, -+ 0x29, 0x10, 0x7b, 0xf7, 0xd7, 0x7c, 0xa5, 0xd1, 0x76, 0xb9, 0x05, 0xc8, 0x79, -+ 0xed, 0x0f, 0x90, 0x92, 0x9c, 0xc2, 0xfe, 0xdf, 0x6f, 0x7e, 0x6c, 0x0f, 0x7b, -+ 0xd4, 0xc1, 0x45, 0xdd, 0x34, 0x51, 0x96, 0x39, 0x0f, 0xe5, 0x5e, 0x56, 0xd8, -+ 0x18, 0x05, 0x96, 0xf4, 0x07, 0xa6, 0x42, 0xb3, 0xa0, 0x77, 0xfd, 0x08, 0x19, -+ 0xf2, 0x71, 0x56, 0xcc, 0x9f, 0x86, 0x23, 0xa4, 0x87, 0xcb, 0xa6, 0xfd, 0x58, -+ 0x7e, 0xd4, 0x69, 0x67, 0x15, 0x91, 0x7e, 0x81, 0xf2, 0x7f, 0x13, 0xe5, 0x0d, -+ 0x8b, 0x8a, 0x3c, 0x87, 0x84, 0xeb, 0xe3, 0xce, 0xbd, 0x43, 0xe5, 0xad, 0x2d, -+ 0x84, 0x93, 0x8e, 0x6a, 0x2b, 0x5a, 0x7c, 0x44, 0xfa, 0x52, 0xaa, 0x81, 0xc8, -+ 0x2d, 0x1c, 0xbb, 0xe0, 0x52, 0xdf, 0x00, 0x11, 0xf8, 0x9a, 0x3d, 0xc1, 0x60, -+ 0xb0, 0xe1, 0x33, 0xb5, 0xa3, 0x88, 0xd1, 0x65, 0x19, 0x0a, 0x1a, 0xe7, 0xac, -+ 0x7c, 0xa4, 0xc1, 0x82, 0x87, 0x4e, 0x38, 0xb1, 0x2f, 0x0d, 0xc5, 0x14, 0x87, -+ 0x6f, 0xfd, 0x8d, 0x2e, 0xbc, 0x39, 0xb6, 0xe7, 0xe6, 0xc3, 0xe0, 0xe4, 0xcd, -+ 0x27, 0x84, 0xef, 0x94, 0x42, 0xef, 0x29, 0x8b, 0x90, 0x46, 0x41, 0x3b, 0x81, -+ 0x1b, 0x67, 0xd8, 0xf9, 0x43, 0x59, 0x65, 0xcb, 0x0d, 0xbc, 0xfd, 0x00, 0x92, -+ 0x4f, 0xf4, 0x75, 0x3b, 0xa7, 0xa9, 0x24, 0xfc, 0x50, 0x41, 0x40, 0x79, 0xe0, -+ 0x2d, 0x4f, 0x0a, 0x6a, 0x27, 0x76, 0x6e, 0x52, 0xed, 0x96, 0x69, 0x7b, 0xaf, -+ 0x0f, 0xf7, 0x87, 0x05, 0xd0, 0x45, 0xc2, 0xad, 0x53, 0x14, 0x81, 0x1f, 0xfb, -+ 0x30, 0x04, 0xaa, 0x37, 0x36, 0x61, 0xda, 0x4a, 0x69, 0x1b, 0x34, 0xd8, 0x68, -+ 0xed, 0xd6, 0x02, 0xcf, 0x6c, 0x94, 0x0c, 0xd3, 0xcf, 0x6c, 0x22, 0x79, 0xad, -+ 0xb1, 0xf0, 0xbc, 0x03, 0xa2, 0x46, 0x60, 0xa9, 0xc4, 0x07, 0xc2, 0x21, 0x82, -+ 0xf1, 0xfd, 0xf2, 0xe8, 0x79, 0x32, 0x60, 0xbf, 0xd8, 0xac, 0xa5, 0x22, 0x14, -+ 0x4b, 0xca, 0xc1, 0xd8, 0x4b, 0xeb, 0x7d, 0x3f, 0x57, 0x35, 0xb2, 0xe6, 0x4f, -+ 0x75, 0xb4, 0xb0, 0x60, 0x03, 0x22, 0x53, 0xae, 0x91, 0x79, 0x1d, 0xd6, 0x9b, -+ 0x41, 0x1f, 0x15, 0x86, 0x54, 0x70, 0xb2, 0xde, 0x0d, 0x35, 0x0f, 0x7c, 0xb0, -+ 0x34, 0x72, 0xba, 0x97, 0x60, 0x3b, 0xf0, 0x79, 0xeb, 0xa2, 0xb2, 0x1c, 0x5d, -+ 0xa2, 0x16, 0xb8, 0x87, 0xc5, 0xe9, 0x1b, 0xf6, 0xb5, 0x97, 0x25, 0x6f, 0x38, -+ 0x9f, 0xe3, 0x91, 0xfa, 0x8a, 0x79, 0x98, 0xc3, 0x69, 0x0e, 0xb7, 0xa3, 0x1c, -+ 0x20, 0x05, 0x97, 0xf8, 0xca, 0x14, 0xae, 0x00, 0xd7, 0xc4, 0xf3, 0xc0, 0x14, -+ 0x10, 0x75, 0x6b, 0x34, 0xa0, 0x1b, 0xb5, 0x99, 0x60, 0xf3, 0x5c, 0xb0, 0xc5, -+ 0x57, 0x4e, 0x36, 0xd2, 0x32, 0x84, 0xbf, 0x9e -+}; -+ -+// -+// First DB entry: "Microsoft Windows Production PCA 2011" -+// SHA1: 58:0a:6f:4c:c4:e4:b6:69:b9:eb:dc:1b:2b:3e:08:7b:80:d0:67:8d -+// -+// Windows 8 and Windows Server 2012 R2 boot loaders are signed with a chain -+// rooted in this certificate. -+// -+STATIC CONST UINT8 MicrosoftPCA[] = { -+ 0x30, 0x82, 0x05, 0xd7, 0x30, 0x82, 0x03, 0xbf, 0xa0, 0x03, 0x02, 0x01, 0x02, -+ 0x02, 0x0a, 0x61, 0x07, 0x76, 0x56, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x30, -+ 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, -+ 0x00, 0x30, 0x81, 0x88, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, -+ 0x13, 0x02, 0x55, 0x53, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x08, -+ 0x13, 0x0a, 0x57, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x74, 0x6f, 0x6e, 0x31, -+ 0x10, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x04, 0x07, 0x13, 0x07, 0x52, 0x65, 0x64, -+ 0x6d, 0x6f, 0x6e, 0x64, 0x31, 0x1e, 0x30, 0x1c, 0x06, 0x03, 0x55, 0x04, 0x0a, -+ 0x13, 0x15, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x6f, 0x66, 0x74, 0x20, 0x43, -+ 0x6f, 0x72, 0x70, 0x6f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x31, 0x32, 0x30, -+ 0x30, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x29, 0x4d, 0x69, 0x63, 0x72, 0x6f, -+ 0x73, 0x6f, 0x66, 0x74, 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x20, 0x43, 0x65, 0x72, -+ 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x20, 0x41, 0x75, 0x74, 0x68, -+ 0x6f, 0x72, 0x69, 0x74, 0x79, 0x20, 0x32, 0x30, 0x31, 0x30, 0x30, 0x1e, 0x17, -+ 0x0d, 0x31, 0x31, 0x31, 0x30, 0x31, 0x39, 0x31, 0x38, 0x34, 0x31, 0x34, 0x32, -+ 0x5a, 0x17, 0x0d, 0x32, 0x36, 0x31, 0x30, 0x31, 0x39, 0x31, 0x38, 0x35, 0x31, -+ 0x34, 0x32, 0x5a, 0x30, 0x81, 0x84, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, -+ 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, -+ 0x04, 0x08, 0x13, 0x0a, 0x57, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x74, 0x6f, -+ 0x6e, 0x31, 0x10, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x04, 0x07, 0x13, 0x07, 0x52, -+ 0x65, 0x64, 0x6d, 0x6f, 0x6e, 0x64, 0x31, 0x1e, 0x30, 0x1c, 0x06, 0x03, 0x55, -+ 0x04, 0x0a, 0x13, 0x15, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x6f, 0x66, 0x74, -+ 0x20, 0x43, 0x6f, 0x72, 0x70, 0x6f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x31, -+ 0x2e, 0x30, 0x2c, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x25, 0x4d, 0x69, 0x63, -+ 0x72, 0x6f, 0x73, 0x6f, 0x66, 0x74, 0x20, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, -+ 0x73, 0x20, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, -+ 0x50, 0x43, 0x41, 0x20, 0x32, 0x30, 0x31, 0x31, 0x30, 0x82, 0x01, 0x22, 0x30, -+ 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, -+ 0x00, 0x03, 0x82, 0x01, 0x0f, 0x00, 0x30, 0x82, 0x01, 0x0a, 0x02, 0x82, 0x01, -+ 0x01, 0x00, 0xdd, 0x0c, 0xbb, 0xa2, 0xe4, 0x2e, 0x09, 0xe3, 0xe7, 0xc5, 0xf7, -+ 0x96, 0x69, 0xbc, 0x00, 0x21, 0xbd, 0x69, 0x33, 0x33, 0xef, 0xad, 0x04, 0xcb, -+ 0x54, 0x80, 0xee, 0x06, 0x83, 0xbb, 0xc5, 0x20, 0x84, 0xd9, 0xf7, 0xd2, 0x8b, -+ 0xf3, 0x38, 0xb0, 0xab, 0xa4, 0xad, 0x2d, 0x7c, 0x62, 0x79, 0x05, 0xff, 0xe3, -+ 0x4a, 0x3f, 0x04, 0x35, 0x20, 0x70, 0xe3, 0xc4, 0xe7, 0x6b, 0xe0, 0x9c, 0xc0, -+ 0x36, 0x75, 0xe9, 0x8a, 0x31, 0xdd, 0x8d, 0x70, 0xe5, 0xdc, 0x37, 0xb5, 0x74, -+ 0x46, 0x96, 0x28, 0x5b, 0x87, 0x60, 0x23, 0x2c, 0xbf, 0xdc, 0x47, 0xa5, 0x67, -+ 0xf7, 0x51, 0x27, 0x9e, 0x72, 0xeb, 0x07, 0xa6, 0xc9, 0xb9, 0x1e, 0x3b, 0x53, -+ 0x35, 0x7c, 0xe5, 0xd3, 0xec, 0x27, 0xb9, 0x87, 0x1c, 0xfe, 0xb9, 0xc9, 0x23, -+ 0x09, 0x6f, 0xa8, 0x46, 0x91, 0xc1, 0x6e, 0x96, 0x3c, 0x41, 0xd3, 0xcb, 0xa3, -+ 0x3f, 0x5d, 0x02, 0x6a, 0x4d, 0xec, 0x69, 0x1f, 0x25, 0x28, 0x5c, 0x36, 0xff, -+ 0xfd, 0x43, 0x15, 0x0a, 0x94, 0xe0, 0x19, 0xb4, 0xcf, 0xdf, 0xc2, 0x12, 0xe2, -+ 0xc2, 0x5b, 0x27, 0xee, 0x27, 0x78, 0x30, 0x8b, 0x5b, 0x2a, 0x09, 0x6b, 0x22, -+ 0x89, 0x53, 0x60, 0x16, 0x2c, 0xc0, 0x68, 0x1d, 0x53, 0xba, 0xec, 0x49, 0xf3, -+ 0x9d, 0x61, 0x8c, 0x85, 0x68, 0x09, 0x73, 0x44, 0x5d, 0x7d, 0xa2, 0x54, 0x2b, -+ 0xdd, 0x79, 0xf7, 0x15, 0xcf, 0x35, 0x5d, 0x6c, 0x1c, 0x2b, 0x5c, 0xce, 0xbc, -+ 0x9c, 0x23, 0x8b, 0x6f, 0x6e, 0xb5, 0x26, 0xd9, 0x36, 0x13, 0xc3, 0x4f, 0xd6, -+ 0x27, 0xae, 0xb9, 0x32, 0x3b, 0x41, 0x92, 0x2c, 0xe1, 0xc7, 0xcd, 0x77, 0xe8, -+ 0xaa, 0x54, 0x4e, 0xf7, 0x5c, 0x0b, 0x04, 0x87, 0x65, 0xb4, 0x43, 0x18, 0xa8, -+ 0xb2, 0xe0, 0x6d, 0x19, 0x77, 0xec, 0x5a, 0x24, 0xfa, 0x48, 0x03, 0x02, 0x03, -+ 0x01, 0x00, 0x01, 0xa3, 0x82, 0x01, 0x43, 0x30, 0x82, 0x01, 0x3f, 0x30, 0x10, -+ 0x06, 0x09, 0x2b, 0x06, 0x01, 0x04, 0x01, 0x82, 0x37, 0x15, 0x01, 0x04, 0x03, -+ 0x02, 0x01, 0x00, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, -+ 0x14, 0xa9, 0x29, 0x02, 0x39, 0x8e, 0x16, 0xc4, 0x97, 0x78, 0xcd, 0x90, 0xf9, -+ 0x9e, 0x4f, 0x9a, 0xe1, 0x7c, 0x55, 0xaf, 0x53, 0x30, 0x19, 0x06, 0x09, 0x2b, -+ 0x06, 0x01, 0x04, 0x01, 0x82, 0x37, 0x14, 0x02, 0x04, 0x0c, 0x1e, 0x0a, 0x00, -+ 0x53, 0x00, 0x75, 0x00, 0x62, 0x00, 0x43, 0x00, 0x41, 0x30, 0x0b, 0x06, 0x03, -+ 0x55, 0x1d, 0x0f, 0x04, 0x04, 0x03, 0x02, 0x01, 0x86, 0x30, 0x0f, 0x06, 0x03, -+ 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x05, 0x30, 0x03, 0x01, 0x01, 0xff, -+ 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, -+ 0xd5, 0xf6, 0x56, 0xcb, 0x8f, 0xe8, 0xa2, 0x5c, 0x62, 0x68, 0xd1, 0x3d, 0x94, -+ 0x90, 0x5b, 0xd7, 0xce, 0x9a, 0x18, 0xc4, 0x30, 0x56, 0x06, 0x03, 0x55, 0x1d, -+ 0x1f, 0x04, 0x4f, 0x30, 0x4d, 0x30, 0x4b, 0xa0, 0x49, 0xa0, 0x47, 0x86, 0x45, -+ 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x63, 0x72, 0x6c, 0x2e, 0x6d, 0x69, -+ 0x63, 0x72, 0x6f, 0x73, 0x6f, 0x66, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, -+ 0x6b, 0x69, 0x2f, 0x63, 0x72, 0x6c, 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, -+ 0x74, 0x73, 0x2f, 0x4d, 0x69, 0x63, 0x52, 0x6f, 0x6f, 0x43, 0x65, 0x72, 0x41, -+ 0x75, 0x74, 0x5f, 0x32, 0x30, 0x31, 0x30, 0x2d, 0x30, 0x36, 0x2d, 0x32, 0x33, -+ 0x2e, 0x63, 0x72, 0x6c, 0x30, 0x5a, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, -+ 0x07, 0x01, 0x01, 0x04, 0x4e, 0x30, 0x4c, 0x30, 0x4a, 0x06, 0x08, 0x2b, 0x06, -+ 0x01, 0x05, 0x05, 0x07, 0x30, 0x02, 0x86, 0x3e, 0x68, 0x74, 0x74, 0x70, 0x3a, -+ 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x6f, -+ 0x66, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x6b, 0x69, 0x2f, 0x63, 0x65, -+ 0x72, 0x74, 0x73, 0x2f, 0x4d, 0x69, 0x63, 0x52, 0x6f, 0x6f, 0x43, 0x65, 0x72, -+ 0x41, 0x75, 0x74, 0x5f, 0x32, 0x30, 0x31, 0x30, 0x2d, 0x30, 0x36, 0x2d, 0x32, -+ 0x33, 0x2e, 0x63, 0x72, 0x74, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, -+ 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x03, 0x82, 0x02, 0x01, 0x00, 0x14, -+ 0xfc, 0x7c, 0x71, 0x51, 0xa5, 0x79, 0xc2, 0x6e, 0xb2, 0xef, 0x39, 0x3e, 0xbc, -+ 0x3c, 0x52, 0x0f, 0x6e, 0x2b, 0x3f, 0x10, 0x13, 0x73, 0xfe, 0xa8, 0x68, 0xd0, -+ 0x48, 0xa6, 0x34, 0x4d, 0x8a, 0x96, 0x05, 0x26, 0xee, 0x31, 0x46, 0x90, 0x61, -+ 0x79, 0xd6, 0xff, 0x38, 0x2e, 0x45, 0x6b, 0xf4, 0xc0, 0xe5, 0x28, 0xb8, 0xda, -+ 0x1d, 0x8f, 0x8a, 0xdb, 0x09, 0xd7, 0x1a, 0xc7, 0x4c, 0x0a, 0x36, 0x66, 0x6a, -+ 0x8c, 0xec, 0x1b, 0xd7, 0x04, 0x90, 0xa8, 0x18, 0x17, 0xa4, 0x9b, 0xb9, 0xe2, -+ 0x40, 0x32, 0x36, 0x76, 0xc4, 0xc1, 0x5a, 0xc6, 0xbf, 0xe4, 0x04, 0xc0, 0xea, -+ 0x16, 0xd3, 0xac, 0xc3, 0x68, 0xef, 0x62, 0xac, 0xdd, 0x54, 0x6c, 0x50, 0x30, -+ 0x58, 0xa6, 0xeb, 0x7c, 0xfe, 0x94, 0xa7, 0x4e, 0x8e, 0xf4, 0xec, 0x7c, 0x86, -+ 0x73, 0x57, 0xc2, 0x52, 0x21, 0x73, 0x34, 0x5a, 0xf3, 0xa3, 0x8a, 0x56, 0xc8, -+ 0x04, 0xda, 0x07, 0x09, 0xed, 0xf8, 0x8b, 0xe3, 0xce, 0xf4, 0x7e, 0x8e, 0xae, -+ 0xf0, 0xf6, 0x0b, 0x8a, 0x08, 0xfb, 0x3f, 0xc9, 0x1d, 0x72, 0x7f, 0x53, 0xb8, -+ 0xeb, 0xbe, 0x63, 0xe0, 0xe3, 0x3d, 0x31, 0x65, 0xb0, 0x81, 0xe5, 0xf2, 0xac, -+ 0xcd, 0x16, 0xa4, 0x9f, 0x3d, 0xa8, 0xb1, 0x9b, 0xc2, 0x42, 0xd0, 0x90, 0x84, -+ 0x5f, 0x54, 0x1d, 0xff, 0x89, 0xea, 0xba, 0x1d, 0x47, 0x90, 0x6f, 0xb0, 0x73, -+ 0x4e, 0x41, 0x9f, 0x40, 0x9f, 0x5f, 0xe5, 0xa1, 0x2a, 0xb2, 0x11, 0x91, 0x73, -+ 0x8a, 0x21, 0x28, 0xf0, 0xce, 0xde, 0x73, 0x39, 0x5f, 0x3e, 0xab, 0x5c, 0x60, -+ 0xec, 0xdf, 0x03, 0x10, 0xa8, 0xd3, 0x09, 0xe9, 0xf4, 0xf6, 0x96, 0x85, 0xb6, -+ 0x7f, 0x51, 0x88, 0x66, 0x47, 0x19, 0x8d, 0xa2, 0xb0, 0x12, 0x3d, 0x81, 0x2a, -+ 0x68, 0x05, 0x77, 0xbb, 0x91, 0x4c, 0x62, 0x7b, 0xb6, 0xc1, 0x07, 0xc7, 0xba, -+ 0x7a, 0x87, 0x34, 0x03, 0x0e, 0x4b, 0x62, 0x7a, 0x99, 0xe9, 0xca, 0xfc, 0xce, -+ 0x4a, 0x37, 0xc9, 0x2d, 0xa4, 0x57, 0x7c, 0x1c, 0xfe, 0x3d, 0xdc, 0xb8, 0x0f, -+ 0x5a, 0xfa, 0xd6, 0xc4, 0xb3, 0x02, 0x85, 0x02, 0x3a, 0xea, 0xb3, 0xd9, 0x6e, -+ 0xe4, 0x69, 0x21, 0x37, 0xde, 0x81, 0xd1, 0xf6, 0x75, 0x19, 0x05, 0x67, 0xd3, -+ 0x93, 0x57, 0x5e, 0x29, 0x1b, 0x39, 0xc8, 0xee, 0x2d, 0xe1, 0xcd, 0xe4, 0x45, -+ 0x73, 0x5b, 0xd0, 0xd2, 0xce, 0x7a, 0xab, 0x16, 0x19, 0x82, 0x46, 0x58, 0xd0, -+ 0x5e, 0x9d, 0x81, 0xb3, 0x67, 0xaf, 0x6c, 0x35, 0xf2, 0xbc, 0xe5, 0x3f, 0x24, -+ 0xe2, 0x35, 0xa2, 0x0a, 0x75, 0x06, 0xf6, 0x18, 0x56, 0x99, 0xd4, 0x78, 0x2c, -+ 0xd1, 0x05, 0x1b, 0xeb, 0xd0, 0x88, 0x01, 0x9d, 0xaa, 0x10, 0xf1, 0x05, 0xdf, -+ 0xba, 0x7e, 0x2c, 0x63, 0xb7, 0x06, 0x9b, 0x23, 0x21, 0xc4, 0xf9, 0x78, 0x6c, -+ 0xe2, 0x58, 0x17, 0x06, 0x36, 0x2b, 0x91, 0x12, 0x03, 0xcc, 0xa4, 0xd9, 0xf2, -+ 0x2d, 0xba, 0xf9, 0x94, 0x9d, 0x40, 0xed, 0x18, 0x45, 0xf1, 0xce, 0x8a, 0x5c, -+ 0x6b, 0x3e, 0xab, 0x03, 0xd3, 0x70, 0x18, 0x2a, 0x0a, 0x6a, 0xe0, 0x5f, 0x47, -+ 0xd1, 0xd5, 0x63, 0x0a, 0x32, 0xf2, 0xaf, 0xd7, 0x36, 0x1f, 0x2a, 0x70, 0x5a, -+ 0xe5, 0x42, 0x59, 0x08, 0x71, 0x4b, 0x57, 0xba, 0x7e, 0x83, 0x81, 0xf0, 0x21, -+ 0x3c, 0xf4, 0x1c, 0xc1, 0xc5, 0xb9, 0x90, 0x93, 0x0e, 0x88, 0x45, 0x93, 0x86, -+ 0xe9, 0xb1, 0x20, 0x99, 0xbe, 0x98, 0xcb, 0xc5, 0x95, 0xa4, 0x5d, 0x62, 0xd6, -+ 0xa0, 0x63, 0x08, 0x20, 0xbd, 0x75, 0x10, 0x77, 0x7d, 0x3d, 0xf3, 0x45, 0xb9, -+ 0x9f, 0x97, 0x9f, 0xcb, 0x57, 0x80, 0x6f, 0x33, 0xa9, 0x04, 0xcf, 0x77, 0xa4, -+ 0x62, 0x1c, 0x59, 0x7e -+}; -+ -+// -+// Second DB entry: "Microsoft Corporation UEFI CA 2011" -+// SHA1: 46:de:f6:3b:5c:e6:1c:f8:ba:0d:e2:e6:63:9c:10:19:d0:ed:14:f3 -+// -+// To verify the "shim" binary and PCI expansion ROMs with. -+// -+STATIC CONST UINT8 MicrosoftUefiCA[] = { -+ 0x30, 0x82, 0x06, 0x10, 0x30, 0x82, 0x03, 0xf8, 0xa0, 0x03, 0x02, 0x01, 0x02, -+ 0x02, 0x0a, 0x61, 0x08, 0xd3, 0xc4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x30, -+ 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, -+ 0x00, 0x30, 0x81, 0x91, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, -+ 0x13, 0x02, 0x55, 0x53, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x08, -+ 0x13, 0x0a, 0x57, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x74, 0x6f, 0x6e, 0x31, -+ 0x10, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x04, 0x07, 0x13, 0x07, 0x52, 0x65, 0x64, -+ 0x6d, 0x6f, 0x6e, 0x64, 0x31, 0x1e, 0x30, 0x1c, 0x06, 0x03, 0x55, 0x04, 0x0a, -+ 0x13, 0x15, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x6f, 0x66, 0x74, 0x20, 0x43, -+ 0x6f, 0x72, 0x70, 0x6f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x31, 0x3b, 0x30, -+ 0x39, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x32, 0x4d, 0x69, 0x63, 0x72, 0x6f, -+ 0x73, 0x6f, 0x66, 0x74, 0x20, 0x43, 0x6f, 0x72, 0x70, 0x6f, 0x72, 0x61, 0x74, -+ 0x69, 0x6f, 0x6e, 0x20, 0x54, 0x68, 0x69, 0x72, 0x64, 0x20, 0x50, 0x61, 0x72, -+ 0x74, 0x79, 0x20, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x70, 0x6c, 0x61, 0x63, -+ 0x65, 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17, 0x0d, 0x31, 0x31, 0x30, -+ 0x36, 0x32, 0x37, 0x32, 0x31, 0x32, 0x32, 0x34, 0x35, 0x5a, 0x17, 0x0d, 0x32, -+ 0x36, 0x30, 0x36, 0x32, 0x37, 0x32, 0x31, 0x33, 0x32, 0x34, 0x35, 0x5a, 0x30, -+ 0x81, 0x81, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, -+ 0x55, 0x53, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x08, 0x13, 0x0a, -+ 0x57, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x74, 0x6f, 0x6e, 0x31, 0x10, 0x30, -+ 0x0e, 0x06, 0x03, 0x55, 0x04, 0x07, 0x13, 0x07, 0x52, 0x65, 0x64, 0x6d, 0x6f, -+ 0x6e, 0x64, 0x31, 0x1e, 0x30, 0x1c, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x15, -+ 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x6f, 0x66, 0x74, 0x20, 0x43, 0x6f, 0x72, -+ 0x70, 0x6f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x31, 0x2b, 0x30, 0x29, 0x06, -+ 0x03, 0x55, 0x04, 0x03, 0x13, 0x22, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x6f, -+ 0x66, 0x74, 0x20, 0x43, 0x6f, 0x72, 0x70, 0x6f, 0x72, 0x61, 0x74, 0x69, 0x6f, -+ 0x6e, 0x20, 0x55, 0x45, 0x46, 0x49, 0x20, 0x43, 0x41, 0x20, 0x32, 0x30, 0x31, -+ 0x31, 0x30, 0x82, 0x01, 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, -+ 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x0f, 0x00, 0x30, -+ 0x82, 0x01, 0x0a, 0x02, 0x82, 0x01, 0x01, 0x00, 0xa5, 0x08, 0x6c, 0x4c, 0xc7, -+ 0x45, 0x09, 0x6a, 0x4b, 0x0c, 0xa4, 0xc0, 0x87, 0x7f, 0x06, 0x75, 0x0c, 0x43, -+ 0x01, 0x54, 0x64, 0xe0, 0x16, 0x7f, 0x07, 0xed, 0x92, 0x7d, 0x0b, 0xb2, 0x73, -+ 0xbf, 0x0c, 0x0a, 0xc6, 0x4a, 0x45, 0x61, 0xa0, 0xc5, 0x16, 0x2d, 0x96, 0xd3, -+ 0xf5, 0x2b, 0xa0, 0xfb, 0x4d, 0x49, 0x9b, 0x41, 0x80, 0x90, 0x3c, 0xb9, 0x54, -+ 0xfd, 0xe6, 0xbc, 0xd1, 0x9d, 0xc4, 0xa4, 0x18, 0x8a, 0x7f, 0x41, 0x8a, 0x5c, -+ 0x59, 0x83, 0x68, 0x32, 0xbb, 0x8c, 0x47, 0xc9, 0xee, 0x71, 0xbc, 0x21, 0x4f, -+ 0x9a, 0x8a, 0x7c, 0xff, 0x44, 0x3f, 0x8d, 0x8f, 0x32, 0xb2, 0x26, 0x48, 0xae, -+ 0x75, 0xb5, 0xee, 0xc9, 0x4c, 0x1e, 0x4a, 0x19, 0x7e, 0xe4, 0x82, 0x9a, 0x1d, -+ 0x78, 0x77, 0x4d, 0x0c, 0xb0, 0xbd, 0xf6, 0x0f, 0xd3, 0x16, 0xd3, 0xbc, 0xfa, -+ 0x2b, 0xa5, 0x51, 0x38, 0x5d, 0xf5, 0xfb, 0xba, 0xdb, 0x78, 0x02, 0xdb, 0xff, -+ 0xec, 0x0a, 0x1b, 0x96, 0xd5, 0x83, 0xb8, 0x19, 0x13, 0xe9, 0xb6, 0xc0, 0x7b, -+ 0x40, 0x7b, 0xe1, 0x1f, 0x28, 0x27, 0xc9, 0xfa, 0xef, 0x56, 0x5e, 0x1c, 0xe6, -+ 0x7e, 0x94, 0x7e, 0xc0, 0xf0, 0x44, 0xb2, 0x79, 0x39, 0xe5, 0xda, 0xb2, 0x62, -+ 0x8b, 0x4d, 0xbf, 0x38, 0x70, 0xe2, 0x68, 0x24, 0x14, 0xc9, 0x33, 0xa4, 0x08, -+ 0x37, 0xd5, 0x58, 0x69, 0x5e, 0xd3, 0x7c, 0xed, 0xc1, 0x04, 0x53, 0x08, 0xe7, -+ 0x4e, 0xb0, 0x2a, 0x87, 0x63, 0x08, 0x61, 0x6f, 0x63, 0x15, 0x59, 0xea, 0xb2, -+ 0x2b, 0x79, 0xd7, 0x0c, 0x61, 0x67, 0x8a, 0x5b, 0xfd, 0x5e, 0xad, 0x87, 0x7f, -+ 0xba, 0x86, 0x67, 0x4f, 0x71, 0x58, 0x12, 0x22, 0x04, 0x22, 0x22, 0xce, 0x8b, -+ 0xef, 0x54, 0x71, 0x00, 0xce, 0x50, 0x35, 0x58, 0x76, 0x95, 0x08, 0xee, 0x6a, -+ 0xb1, 0xa2, 0x01, 0xd5, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x82, 0x01, 0x76, -+ 0x30, 0x82, 0x01, 0x72, 0x30, 0x12, 0x06, 0x09, 0x2b, 0x06, 0x01, 0x04, 0x01, -+ 0x82, 0x37, 0x15, 0x01, 0x04, 0x05, 0x02, 0x03, 0x01, 0x00, 0x01, 0x30, 0x23, -+ 0x06, 0x09, 0x2b, 0x06, 0x01, 0x04, 0x01, 0x82, 0x37, 0x15, 0x02, 0x04, 0x16, -+ 0x04, 0x14, 0xf8, 0xc1, 0x6b, 0xb7, 0x7f, 0x77, 0x53, 0x4a, 0xf3, 0x25, 0x37, -+ 0x1d, 0x4e, 0xa1, 0x26, 0x7b, 0x0f, 0x20, 0x70, 0x80, 0x30, 0x1d, 0x06, 0x03, -+ 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0x13, 0xad, 0xbf, 0x43, 0x09, 0xbd, -+ 0x82, 0x70, 0x9c, 0x8c, 0xd5, 0x4f, 0x31, 0x6e, 0xd5, 0x22, 0x98, 0x8a, 0x1b, -+ 0xd4, 0x30, 0x19, 0x06, 0x09, 0x2b, 0x06, 0x01, 0x04, 0x01, 0x82, 0x37, 0x14, -+ 0x02, 0x04, 0x0c, 0x1e, 0x0a, 0x00, 0x53, 0x00, 0x75, 0x00, 0x62, 0x00, 0x43, -+ 0x00, 0x41, 0x30, 0x0b, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x04, 0x04, 0x03, 0x02, -+ 0x01, 0x86, 0x30, 0x0f, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, -+ 0x05, 0x30, 0x03, 0x01, 0x01, 0xff, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, -+ 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0x45, 0x66, 0x52, 0x43, 0xe1, 0x7e, 0x58, -+ 0x11, 0xbf, 0xd6, 0x4e, 0x9e, 0x23, 0x55, 0x08, 0x3b, 0x3a, 0x22, 0x6a, 0xa8, -+ 0x30, 0x5c, 0x06, 0x03, 0x55, 0x1d, 0x1f, 0x04, 0x55, 0x30, 0x53, 0x30, 0x51, -+ 0xa0, 0x4f, 0xa0, 0x4d, 0x86, 0x4b, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, -+ 0x63, 0x72, 0x6c, 0x2e, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x6f, 0x66, 0x74, -+ 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x6b, 0x69, 0x2f, 0x63, 0x72, 0x6c, 0x2f, -+ 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x2f, 0x4d, 0x69, 0x63, 0x43, -+ 0x6f, 0x72, 0x54, 0x68, 0x69, 0x50, 0x61, 0x72, 0x4d, 0x61, 0x72, 0x52, 0x6f, -+ 0x6f, 0x5f, 0x32, 0x30, 0x31, 0x30, 0x2d, 0x31, 0x30, 0x2d, 0x30, 0x35, 0x2e, -+ 0x63, 0x72, 0x6c, 0x30, 0x60, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, -+ 0x01, 0x01, 0x04, 0x54, 0x30, 0x52, 0x30, 0x50, 0x06, 0x08, 0x2b, 0x06, 0x01, -+ 0x05, 0x05, 0x07, 0x30, 0x02, 0x86, 0x44, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, -+ 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x6f, 0x66, -+ 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x6b, 0x69, 0x2f, 0x63, 0x65, 0x72, -+ 0x74, 0x73, 0x2f, 0x4d, 0x69, 0x63, 0x43, 0x6f, 0x72, 0x54, 0x68, 0x69, 0x50, -+ 0x61, 0x72, 0x4d, 0x61, 0x72, 0x52, 0x6f, 0x6f, 0x5f, 0x32, 0x30, 0x31, 0x30, -+ 0x2d, 0x31, 0x30, 0x2d, 0x30, 0x35, 0x2e, 0x63, 0x72, 0x74, 0x30, 0x0d, 0x06, -+ 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x03, -+ 0x82, 0x02, 0x01, 0x00, 0x35, 0x08, 0x42, 0xff, 0x30, 0xcc, 0xce, 0xf7, 0x76, -+ 0x0c, 0xad, 0x10, 0x68, 0x58, 0x35, 0x29, 0x46, 0x32, 0x76, 0x27, 0x7c, 0xef, -+ 0x12, 0x41, 0x27, 0x42, 0x1b, 0x4a, 0xaa, 0x6d, 0x81, 0x38, 0x48, 0x59, 0x13, -+ 0x55, 0xf3, 0xe9, 0x58, 0x34, 0xa6, 0x16, 0x0b, 0x82, 0xaa, 0x5d, 0xad, 0x82, -+ 0xda, 0x80, 0x83, 0x41, 0x06, 0x8f, 0xb4, 0x1d, 0xf2, 0x03, 0xb9, 0xf3, 0x1a, -+ 0x5d, 0x1b, 0xf1, 0x50, 0x90, 0xf9, 0xb3, 0x55, 0x84, 0x42, 0x28, 0x1c, 0x20, -+ 0xbd, 0xb2, 0xae, 0x51, 0x14, 0xc5, 0xc0, 0xac, 0x97, 0x95, 0x21, 0x1c, 0x90, -+ 0xdb, 0x0f, 0xfc, 0x77, 0x9e, 0x95, 0x73, 0x91, 0x88, 0xca, 0xbd, 0xbd, 0x52, -+ 0xb9, 0x05, 0x50, 0x0d, 0xdf, 0x57, 0x9e, 0xa0, 0x61, 0xed, 0x0d, 0xe5, 0x6d, -+ 0x25, 0xd9, 0x40, 0x0f, 0x17, 0x40, 0xc8, 0xce, 0xa3, 0x4a, 0xc2, 0x4d, 0xaf, -+ 0x9a, 0x12, 0x1d, 0x08, 0x54, 0x8f, 0xbd, 0xc7, 0xbc, 0xb9, 0x2b, 0x3d, 0x49, -+ 0x2b, 0x1f, 0x32, 0xfc, 0x6a, 0x21, 0x69, 0x4f, 0x9b, 0xc8, 0x7e, 0x42, 0x34, -+ 0xfc, 0x36, 0x06, 0x17, 0x8b, 0x8f, 0x20, 0x40, 0xc0, 0xb3, 0x9a, 0x25, 0x75, -+ 0x27, 0xcd, 0xc9, 0x03, 0xa3, 0xf6, 0x5d, 0xd1, 0xe7, 0x36, 0x54, 0x7a, 0xb9, -+ 0x50, 0xb5, 0xd3, 0x12, 0xd1, 0x07, 0xbf, 0xbb, 0x74, 0xdf, 0xdc, 0x1e, 0x8f, -+ 0x80, 0xd5, 0xed, 0x18, 0xf4, 0x2f, 0x14, 0x16, 0x6b, 0x2f, 0xde, 0x66, 0x8c, -+ 0xb0, 0x23, 0xe5, 0xc7, 0x84, 0xd8, 0xed, 0xea, 0xc1, 0x33, 0x82, 0xad, 0x56, -+ 0x4b, 0x18, 0x2d, 0xf1, 0x68, 0x95, 0x07, 0xcd, 0xcf, 0xf0, 0x72, 0xf0, 0xae, -+ 0xbb, 0xdd, 0x86, 0x85, 0x98, 0x2c, 0x21, 0x4c, 0x33, 0x2b, 0xf0, 0x0f, 0x4a, -+ 0xf0, 0x68, 0x87, 0xb5, 0x92, 0x55, 0x32, 0x75, 0xa1, 0x6a, 0x82, 0x6a, 0x3c, -+ 0xa3, 0x25, 0x11, 0xa4, 0xed, 0xad, 0xd7, 0x04, 0xae, 0xcb, 0xd8, 0x40, 0x59, -+ 0xa0, 0x84, 0xd1, 0x95, 0x4c, 0x62, 0x91, 0x22, 0x1a, 0x74, 0x1d, 0x8c, 0x3d, -+ 0x47, 0x0e, 0x44, 0xa6, 0xe4, 0xb0, 0x9b, 0x34, 0x35, 0xb1, 0xfa, 0xb6, 0x53, -+ 0xa8, 0x2c, 0x81, 0xec, 0xa4, 0x05, 0x71, 0xc8, 0x9d, 0xb8, 0xba, 0xe8, 0x1b, -+ 0x44, 0x66, 0xe4, 0x47, 0x54, 0x0e, 0x8e, 0x56, 0x7f, 0xb3, 0x9f, 0x16, 0x98, -+ 0xb2, 0x86, 0xd0, 0x68, 0x3e, 0x90, 0x23, 0xb5, 0x2f, 0x5e, 0x8f, 0x50, 0x85, -+ 0x8d, 0xc6, 0x8d, 0x82, 0x5f, 0x41, 0xa1, 0xf4, 0x2e, 0x0d, 0xe0, 0x99, 0xd2, -+ 0x6c, 0x75, 0xe4, 0xb6, 0x69, 0xb5, 0x21, 0x86, 0xfa, 0x07, 0xd1, 0xf6, 0xe2, -+ 0x4d, 0xd1, 0xda, 0xad, 0x2c, 0x77, 0x53, 0x1e, 0x25, 0x32, 0x37, 0xc7, 0x6c, -+ 0x52, 0x72, 0x95, 0x86, 0xb0, 0xf1, 0x35, 0x61, 0x6a, 0x19, 0xf5, 0xb2, 0x3b, -+ 0x81, 0x50, 0x56, 0xa6, 0x32, 0x2d, 0xfe, 0xa2, 0x89, 0xf9, 0x42, 0x86, 0x27, -+ 0x18, 0x55, 0xa1, 0x82, 0xca, 0x5a, 0x9b, 0xf8, 0x30, 0x98, 0x54, 0x14, 0xa6, -+ 0x47, 0x96, 0x25, 0x2f, 0xc8, 0x26, 0xe4, 0x41, 0x94, 0x1a, 0x5c, 0x02, 0x3f, -+ 0xe5, 0x96, 0xe3, 0x85, 0x5b, 0x3c, 0x3e, 0x3f, 0xbb, 0x47, 0x16, 0x72, 0x55, -+ 0xe2, 0x25, 0x22, 0xb1, 0xd9, 0x7b, 0xe7, 0x03, 0x06, 0x2a, 0xa3, 0xf7, 0x1e, -+ 0x90, 0x46, 0xc3, 0x00, 0x0d, 0xd6, 0x19, 0x89, 0xe3, 0x0e, 0x35, 0x27, 0x62, -+ 0x03, 0x71, 0x15, 0xa6, 0xef, 0xd0, 0x27, 0xa0, 0xa0, 0x59, 0x37, 0x60, 0xf8, -+ 0x38, 0x94, 0xb8, 0xe0, 0x78, 0x70, 0xf8, 0xba, 0x4c, 0x86, 0x87, 0x94, 0xf6, -+ 0xe0, 0xae, 0x02, 0x45, 0xee, 0x65, 0xc2, 0xb6, 0xa3, 0x7e, 0x69, 0x16, 0x75, -+ 0x07, 0x92, 0x9b, 0xf5, 0xa6, 0xbc, 0x59, 0x83, 0x58 -+}; -+ -+// -+// The most important thing about the variable payload is that it is a list of -+// lists, where the element size of any given *inner* list is constant. -+// -+// Since X509 certificates vary in size, each of our *inner* lists will contain -+// one element only (one X.509 certificate). This is explicitly mentioned in -+// the UEFI specification, in "28.4.1 Signature Database", in a Note. -+// -+// The list structure looks as follows: -+// -+// struct EFI_VARIABLE_AUTHENTICATION_2 { | -+// struct EFI_TIME { | -+// UINT16 Year; | -+// UINT8 Month; | -+// UINT8 Day; | -+// UINT8 Hour; | -+// UINT8 Minute; | -+// UINT8 Second; | -+// UINT8 Pad1; | -+// UINT32 Nanosecond; | -+// INT16 TimeZone; | -+// UINT8 Daylight; | -+// UINT8 Pad2; | -+// } TimeStamp; | -+// | -+// struct WIN_CERTIFICATE_UEFI_GUID { | | -+// struct WIN_CERTIFICATE { | | -+// UINT32 dwLength; ----------------------------------------+ | -+// UINT16 wRevision; | | -+// UINT16 wCertificateType; | | -+// } Hdr; | +- DataSize -+// | | -+// EFI_GUID CertType; | | -+// UINT8 CertData[1] = { <--- "struct hack" | | -+// struct EFI_SIGNATURE_LIST { | | | -+// EFI_GUID SignatureType; | | | -+// UINT32 SignatureListSize; -------------------------+ | | -+// UINT32 SignatureHeaderSize; | | | -+// UINT32 SignatureSize; ---------------------------+ | | | -+// UINT8 SignatureHeader[SignatureHeaderSize]; | | | | -+// v | | | -+// struct EFI_SIGNATURE_DATA { | | | | -+// EFI_GUID SignatureOwner; | | | | -+// UINT8 SignatureData[1] = { <--- "struct hack" | | | | -+// X.509 payload | | | | -+// } | | | | -+// } Signatures[]; | | | -+// } SigLists[]; | | -+// }; | | -+// } AuthInfo; | | -+// }; | -+// -+// Given that the "struct hack" invokes undefined behavior (which is why C99 -+// introduced the flexible array member), and because subtracting those pesky -+// sizes of 1 is annoying, and because the format is fully specified in the -+// UEFI specification, we'll introduce two matching convenience structures that -+// are customized for our X.509 purposes. -+// -+#pragma pack(1) -+typedef struct { -+ EFI_TIME TimeStamp; -+ -+ // -+ // dwLength covers data below -+ // -+ UINT32 dwLength; -+ UINT16 wRevision; -+ UINT16 wCertificateType; -+ EFI_GUID CertType; -+} SINGLE_HEADER; -+ -+typedef struct { -+ // -+ // SignatureListSize covers data below -+ // -+ EFI_GUID SignatureType; -+ UINT32 SignatureListSize; -+ UINT32 SignatureHeaderSize; // constant 0 -+ UINT32 SignatureSize; -+ -+ // -+ // SignatureSize covers data below -+ // -+ EFI_GUID SignatureOwner; -+ -+ // -+ // X.509 certificate follows -+ // -+} REPEATING_HEADER; -+#pragma pack() -+ -+/** -+ Enroll a set of DER-formatted X.509 certificates in a global variable, -+ overwriting it. -+ -+ The variable will be rewritten with NV+BS+RT+AT attributes. -+ -+ @param[in] VariableName The name of the variable to overwrite. -+ -+ @param[in] VendorGuid The namespace (ie. vendor GUID) of the variable to -+ overwrite. -+ -+ @param[in] ... A list of -+ -+ IN CONST UINT8 *Cert, -+ IN UINTN CertSize, -+ IN CONST EFI_GUID *OwnerGuid -+ -+ triplets. If the first component of a triplet is -+ NULL, then the other two components are not -+ accessed, and processing is terminated. The list of -+ X.509 certificates is enrolled in the variable -+ specified, overwriting it. The OwnerGuid component -+ identifies the agent installing the certificate. -+ -+ @retval EFI_INVALID_PARAMETER The triplet list is empty (ie. the first Cert -+ value is NULL), or one of the CertSize values -+ is 0, or one of the CertSize values would -+ overflow the accumulated UINT32 data size. -+ -+ @retval EFI_OUT_OF_RESOURCES Out of memory while formatting variable -+ payload. -+ -+ @retval EFI_SUCCESS Enrollment successful; the variable has been -+ overwritten (or created). -+ -+ @return Error codes from gRT->GetTime() and -+ gRT->SetVariable(). -+**/ -+STATIC -+EFI_STATUS -+EFIAPI -+EnrollListOfX509Certs ( -+ IN CHAR16 *VariableName, -+ IN EFI_GUID *VendorGuid, -+ ... -+ ) -+{ -+ UINTN DataSize; -+ SINGLE_HEADER *SingleHeader; -+ REPEATING_HEADER *RepeatingHeader; -+ VA_LIST Marker; -+ CONST UINT8 *Cert; -+ EFI_STATUS Status = EFI_SUCCESS; -+ UINT8 *Data; -+ UINT8 *Position; -+ -+ // -+ // compute total size first, for UINT32 range check, and allocation -+ // -+ DataSize = sizeof *SingleHeader; -+ VA_START (Marker, VendorGuid); -+ for (Cert = VA_ARG (Marker, CONST UINT8 *); -+ Cert != NULL; -+ Cert = VA_ARG (Marker, CONST UINT8 *)) { -+ UINTN CertSize; -+ -+ CertSize = VA_ARG (Marker, UINTN); -+ (VOID)VA_ARG (Marker, CONST EFI_GUID *); -+ -+ if (CertSize == 0 || -+ CertSize > MAX_UINT32 - sizeof *RepeatingHeader || -+ DataSize > MAX_UINT32 - sizeof *RepeatingHeader - CertSize) { -+ Status = EFI_INVALID_PARAMETER; -+ break; -+ } -+ DataSize += sizeof *RepeatingHeader + CertSize; -+ } -+ VA_END (Marker); -+ -+ if (DataSize == sizeof *SingleHeader) { -+ Status = EFI_INVALID_PARAMETER; -+ } -+ if (EFI_ERROR (Status)) { -+ goto Out; -+ } -+ -+ Data = AllocatePool (DataSize); -+ if (Data == NULL) { -+ Status = EFI_OUT_OF_RESOURCES; -+ goto Out; -+ } -+ -+ Position = Data; -+ -+ SingleHeader = (SINGLE_HEADER *)Position; -+ Status = gRT->GetTime (&SingleHeader->TimeStamp, NULL); -+ if (EFI_ERROR (Status)) { -+ goto FreeData; -+ } -+ SingleHeader->TimeStamp.Pad1 = 0; -+ SingleHeader->TimeStamp.Nanosecond = 0; -+ SingleHeader->TimeStamp.TimeZone = 0; -+ SingleHeader->TimeStamp.Daylight = 0; -+ SingleHeader->TimeStamp.Pad2 = 0; -+#if 0 -+ SingleHeader->dwLength = DataSize - sizeof SingleHeader->TimeStamp; -+#else -+ // -+ // This looks like a bug in edk2. According to the UEFI specification, -+ // dwLength is "The length of the entire certificate, including the length of -+ // the header, in bytes". That shouldn't stop right after CertType -- it -+ // should include everything below it. -+ // -+ SingleHeader->dwLength = sizeof *SingleHeader -+ - sizeof SingleHeader->TimeStamp; -+#endif -+ SingleHeader->wRevision = 0x0200; -+ SingleHeader->wCertificateType = WIN_CERT_TYPE_EFI_GUID; -+ CopyGuid (&SingleHeader->CertType, &gEfiCertPkcs7Guid); -+ Position += sizeof *SingleHeader; -+ -+ VA_START (Marker, VendorGuid); -+ for (Cert = VA_ARG (Marker, CONST UINT8 *); -+ Cert != NULL; -+ Cert = VA_ARG (Marker, CONST UINT8 *)) { -+ UINTN CertSize; -+ CONST EFI_GUID *OwnerGuid; -+ -+ CertSize = VA_ARG (Marker, UINTN); -+ OwnerGuid = VA_ARG (Marker, CONST EFI_GUID *); -+ -+ RepeatingHeader = (REPEATING_HEADER *)Position; -+ CopyGuid (&RepeatingHeader->SignatureType, &gEfiCertX509Guid); -+ RepeatingHeader->SignatureListSize = sizeof *RepeatingHeader + CertSize; -+ RepeatingHeader->SignatureHeaderSize = 0; -+ RepeatingHeader->SignatureSize = -+ sizeof RepeatingHeader->SignatureOwner + CertSize; -+ CopyGuid (&RepeatingHeader->SignatureOwner, OwnerGuid); -+ Position += sizeof *RepeatingHeader; -+ -+ CopyMem (Position, Cert, CertSize); -+ Position += CertSize; -+ } -+ VA_END (Marker); -+ -+ ASSERT (Data + DataSize == Position); -+ -+ Status = gRT->SetVariable (VariableName, VendorGuid, -+ (EFI_VARIABLE_NON_VOLATILE | -+ EFI_VARIABLE_BOOTSERVICE_ACCESS | -+ EFI_VARIABLE_RUNTIME_ACCESS | -+ EFI_VARIABLE_TIME_BASED_AUTHENTICATED_WRITE_ACCESS), -+ DataSize, Data); -+ -+FreeData: -+ FreePool (Data); -+ -+Out: -+ if (EFI_ERROR (Status)) { -+ AsciiPrint ("error: %a(\"%s\", %g): %r\n", __FUNCTION__, VariableName, -+ VendorGuid, Status); -+ } -+ return Status; -+} -+ -+ -+STATIC -+EFI_STATUS -+EFIAPI -+GetExact ( -+ IN CHAR16 *VariableName, -+ IN EFI_GUID *VendorGuid, -+ OUT VOID *Data, -+ IN UINTN DataSize, -+ IN BOOLEAN AllowMissing -+ ) -+{ -+ UINTN Size; -+ EFI_STATUS Status; -+ -+ Size = DataSize; -+ Status = gRT->GetVariable (VariableName, VendorGuid, NULL, &Size, Data); -+ if (EFI_ERROR (Status)) { -+ if (Status == EFI_NOT_FOUND && AllowMissing) { -+ ZeroMem (Data, DataSize); -+ return EFI_SUCCESS; -+ } -+ -+ AsciiPrint ("error: GetVariable(\"%s\", %g): %r\n", VariableName, -+ VendorGuid, Status); -+ return Status; -+ } -+ -+ if (Size != DataSize) { -+ AsciiPrint ("error: GetVariable(\"%s\", %g): expected size 0x%Lx, " -+ "got 0x%Lx\n", VariableName, VendorGuid, (UINT64)DataSize, (UINT64)Size); -+ return EFI_PROTOCOL_ERROR; -+ } -+ -+ return EFI_SUCCESS; -+} -+ -+typedef struct { -+ UINT8 SetupMode; -+ UINT8 SecureBoot; -+ UINT8 SecureBootEnable; -+ UINT8 CustomMode; -+ UINT8 VendorKeys; -+} SETTINGS; -+ -+STATIC -+EFI_STATUS -+EFIAPI -+GetSettings ( -+ OUT SETTINGS *Settings -+ ) -+{ -+ EFI_STATUS Status; -+ -+ Status = GetExact (EFI_SETUP_MODE_NAME, &gEfiGlobalVariableGuid, -+ &Settings->SetupMode, sizeof Settings->SetupMode, FALSE); -+ if (EFI_ERROR (Status)) { -+ return Status; -+ } -+ -+ Status = GetExact (EFI_SECURE_BOOT_MODE_NAME, &gEfiGlobalVariableGuid, -+ &Settings->SecureBoot, sizeof Settings->SecureBoot, FALSE); -+ if (EFI_ERROR (Status)) { -+ return Status; -+ } -+ -+ Status = GetExact (EFI_SECURE_BOOT_ENABLE_NAME, -+ &gEfiSecureBootEnableDisableGuid, &Settings->SecureBootEnable, -+ sizeof Settings->SecureBootEnable, TRUE); -+ if (EFI_ERROR (Status)) { -+ return Status; -+ } -+ -+ Status = GetExact (EFI_CUSTOM_MODE_NAME, &gEfiCustomModeEnableGuid, -+ &Settings->CustomMode, sizeof Settings->CustomMode, FALSE); -+ if (EFI_ERROR (Status)) { -+ return Status; -+ } -+ -+ Status = GetExact (EFI_VENDOR_KEYS_VARIABLE_NAME, &gEfiGlobalVariableGuid, -+ &Settings->VendorKeys, sizeof Settings->VendorKeys, FALSE); -+ return Status; -+} -+ -+STATIC -+VOID -+EFIAPI -+PrintSettings ( -+ IN CONST SETTINGS *Settings -+ ) -+{ -+ AsciiPrint ("info: SetupMode=%d SecureBoot=%d SecureBootEnable=%d " -+ "CustomMode=%d VendorKeys=%d\n", Settings->SetupMode, Settings->SecureBoot, -+ Settings->SecureBootEnable, Settings->CustomMode, Settings->VendorKeys); -+} -+ -+ -+INTN -+EFIAPI -+ShellAppMain ( -+ IN UINTN Argc, -+ IN CHAR16 **Argv -+ ) -+{ -+ EFI_STATUS Status; -+ SETTINGS Settings; -+ -+ Status = GetSettings (&Settings); -+ if (EFI_ERROR (Status)) { -+ return 1; -+ } -+ PrintSettings (&Settings); -+ -+ if (Settings.SetupMode != 1) { -+ AsciiPrint ("error: already in User Mode\n"); -+ return 1; -+ } -+ -+ if (Settings.CustomMode != CUSTOM_SECURE_BOOT_MODE) { -+ Settings.CustomMode = CUSTOM_SECURE_BOOT_MODE; -+ Status = gRT->SetVariable (EFI_CUSTOM_MODE_NAME, &gEfiCustomModeEnableGuid, -+ (EFI_VARIABLE_NON_VOLATILE | -+ EFI_VARIABLE_BOOTSERVICE_ACCESS), -+ sizeof Settings.CustomMode, &Settings.CustomMode); -+ if (EFI_ERROR (Status)) { -+ AsciiPrint ("error: SetVariable(\"%s\", %g): %r\n", EFI_CUSTOM_MODE_NAME, -+ &gEfiCustomModeEnableGuid, Status); -+ return 1; -+ } -+ } -+ -+ Status = EnrollListOfX509Certs ( -+ EFI_IMAGE_SECURITY_DATABASE, -+ &gEfiImageSecurityDatabaseGuid, -+ MicrosoftPCA, sizeof MicrosoftPCA, &gEfiCallerIdGuid, -+ MicrosoftUefiCA, sizeof MicrosoftUefiCA, &gEfiCallerIdGuid, -+ NULL); -+ if (EFI_ERROR (Status)) { -+ return 1; -+ } -+ -+ Status = EnrollListOfX509Certs ( -+ EFI_KEY_EXCHANGE_KEY_NAME, -+ &gEfiGlobalVariableGuid, -+ ExampleCert, sizeof ExampleCert, &gEfiCallerIdGuid, -+ MicrosoftKEK, sizeof MicrosoftKEK, &gEfiCallerIdGuid, -+ NULL); -+ if (EFI_ERROR (Status)) { -+ return 1; -+ } -+ -+ Status = EnrollListOfX509Certs ( -+ EFI_PLATFORM_KEY_NAME, -+ &gEfiGlobalVariableGuid, -+ ExampleCert, sizeof ExampleCert, &gEfiGlobalVariableGuid, -+ NULL); -+ if (EFI_ERROR (Status)) { -+ return 1; -+ } -+ -+ Settings.CustomMode = STANDARD_SECURE_BOOT_MODE; -+ Status = gRT->SetVariable (EFI_CUSTOM_MODE_NAME, &gEfiCustomModeEnableGuid, -+ EFI_VARIABLE_NON_VOLATILE | EFI_VARIABLE_BOOTSERVICE_ACCESS, -+ sizeof Settings.CustomMode, &Settings.CustomMode); -+ if (EFI_ERROR (Status)) { -+ AsciiPrint ("error: SetVariable(\"%s\", %g): %r\n", EFI_CUSTOM_MODE_NAME, -+ &gEfiCustomModeEnableGuid, Status); -+ return 1; -+ } -+ -+ Status = GetSettings (&Settings); -+ if (EFI_ERROR (Status)) { -+ return 1; -+ } -+ PrintSettings (&Settings); -+ -+ if (Settings.SetupMode != 0 || Settings.SecureBoot != 1 || -+ Settings.SecureBootEnable != 1 || Settings.CustomMode != 0 || -+ Settings.VendorKeys != 0) { -+ AsciiPrint ("error: unexpected\n"); -+ return 1; -+ } -+ -+ AsciiPrint ("info: success\n"); -+ return 0; -+} -diff --git a/OvmfPkg/EnrollDefaultKeys/EnrollDefaultKeys.inf b/OvmfPkg/EnrollDefaultKeys/EnrollDefaultKeys.inf -new file mode 100644 -index 0000000..ac919bb ---- /dev/null -+++ b/OvmfPkg/EnrollDefaultKeys/EnrollDefaultKeys.inf -@@ -0,0 +1,51 @@ -+## @file -+# Enroll default PK, KEK, DB. -+# -+# Copyright (C) 2014, Red Hat, Inc. -+# -+# This program and the accompanying materials are licensed and made available -+# under the terms and conditions of the BSD License which accompanies this -+# distribution. The full text of the license may be found at -+# http://opensource.org/licenses/bsd-license. -+# -+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR -+# IMPLIED. -+## -+ -+[Defines] -+ INF_VERSION = 0x00010006 -+ BASE_NAME = EnrollDefaultKeys -+ FILE_GUID = D5C1DF0B-1BAC-4EDF-BA48-08834009CA5A -+ MODULE_TYPE = UEFI_APPLICATION -+ VERSION_STRING = 0.1 -+ ENTRY_POINT = ShellCEntryLib -+ -+# -+# VALID_ARCHITECTURES = IA32 X64 -+# -+ -+[Sources] -+ EnrollDefaultKeys.c -+ -+[Packages] -+ MdePkg/MdePkg.dec -+ MdeModulePkg/MdeModulePkg.dec -+ SecurityPkg/SecurityPkg.dec -+ ShellPkg/ShellPkg.dec -+ -+[Guids] -+ gEfiCertPkcs7Guid -+ gEfiCertX509Guid -+ gEfiCustomModeEnableGuid -+ gEfiGlobalVariableGuid -+ gEfiImageSecurityDatabaseGuid -+ gEfiSecureBootEnableDisableGuid -+ -+[LibraryClasses] -+ BaseMemoryLib -+ DebugLib -+ MemoryAllocationLib -+ ShellCEntryLib -+ UefiLib -+ UefiRuntimeServicesTableLib -diff --git a/OvmfPkg/OvmfPkgIa32.dsc b/OvmfPkg/OvmfPkgIa32.dsc -index fa9661c..e2e6ba3 100644 ---- a/OvmfPkg/OvmfPkgIa32.dsc -+++ b/OvmfPkg/OvmfPkgIa32.dsc -@@ -764,6 +764,10 @@ - - !if $(SECURE_BOOT_ENABLE) == TRUE - SecurityPkg/VariableAuthenticated/SecureBootConfigDxe/SecureBootConfigDxe.inf -+ OvmfPkg/EnrollDefaultKeys/EnrollDefaultKeys.inf { -+ -+ ShellCEntryLib|ShellPkg/Library/UefiShellCEntryLib/UefiShellCEntryLib.inf -+ } - !endif - - OvmfPkg/PlatformDxe/Platform.inf -diff --git a/OvmfPkg/OvmfPkgIa32X64.dsc b/OvmfPkg/OvmfPkgIa32X64.dsc -index 667584a..a0ae1aa 100644 ---- a/OvmfPkg/OvmfPkgIa32X64.dsc -+++ b/OvmfPkg/OvmfPkgIa32X64.dsc -@@ -773,6 +773,10 @@ - - !if $(SECURE_BOOT_ENABLE) == TRUE - SecurityPkg/VariableAuthenticated/SecureBootConfigDxe/SecureBootConfigDxe.inf -+ OvmfPkg/EnrollDefaultKeys/EnrollDefaultKeys.inf { -+ -+ ShellCEntryLib|ShellPkg/Library/UefiShellCEntryLib/UefiShellCEntryLib.inf -+ } - !endif - - OvmfPkg/PlatformDxe/Platform.inf -diff --git a/OvmfPkg/OvmfPkgX64.dsc b/OvmfPkg/OvmfPkgX64.dsc -index 5ae8469..87cee52 100644 ---- a/OvmfPkg/OvmfPkgX64.dsc -+++ b/OvmfPkg/OvmfPkgX64.dsc -@@ -771,6 +771,10 @@ - - !if $(SECURE_BOOT_ENABLE) == TRUE - SecurityPkg/VariableAuthenticated/SecureBootConfigDxe/SecureBootConfigDxe.inf -+ OvmfPkg/EnrollDefaultKeys/EnrollDefaultKeys.inf { -+ -+ ShellCEntryLib|ShellPkg/Library/UefiShellCEntryLib/UefiShellCEntryLib.inf -+ } - !endif - - OvmfPkg/PlatformDxe/Platform.inf diff --git a/poky/meta/recipes-core/ovmf/ovmf/no-stack-protector-all-archs.patch b/poky/meta/recipes-core/ovmf/ovmf/no-stack-protector-all-archs.patch index 25e5b58e7..1b65348e8 100644 --- a/poky/meta/recipes-core/ovmf/ovmf/no-stack-protector-all-archs.patch +++ b/poky/meta/recipes-core/ovmf/ovmf/no-stack-protector-all-archs.patch @@ -9,12 +9,26 @@ Index: git/BaseTools/Conf/tools_def.template =================================================================== --- git.orig/BaseTools/Conf/tools_def.template +++ git/BaseTools/Conf/tools_def.template -@@ -4368,7 +4368,7 @@ DEFINE GCC_IPF_RC_FLAGS = -I +@@ -1736,10 +1736,10 @@ DEFINE GCC_X64_RC_FLAGS = -I binary -O elf64-x86-64 -B i386 DEFINE GCC_ARM_RC_FLAGS = -I binary -O elf32-littlearm -B arm --rename-section .data=.hii DEFINE GCC_AARCH64_RC_FLAGS = -I binary -O elf64-littleaarch64 -B aarch64 --rename-section .data=.hii --DEFINE GCC44_ALL_CC_FLAGS = -g -fshort-wchar -fno-builtin -fno-strict-aliasing -Wall -Werror -Wno-array-bounds -ffunction-sections -fdata-sections -include AutoGen.h -fno-common -DSTRING_ARRAY_NAME=$(BASE_NAME)Strings -+DEFINE GCC44_ALL_CC_FLAGS = -g -fshort-wchar -fno-builtin -fno-strict-aliasing -Wall -Werror -Wno-array-bounds -ffunction-sections -fdata-sections -fno-stack-protector -include AutoGen.h -fno-common -DSTRING_ARRAY_NAME=$(BASE_NAME)Strings - DEFINE GCC44_IA32_CC_FLAGS = DEF(GCC44_ALL_CC_FLAGS) -m32 -march=i586 -malign-double -fno-stack-protector -D EFI32 -fno-asynchronous-unwind-tables -fno-PIE -no-pie - DEFINE GCC44_X64_CC_FLAGS = DEF(GCC44_ALL_CC_FLAGS) -m64 -fno-stack-protector "-DEFIAPI=__attribute__((ms_abi))" -maccumulate-outgoing-args -mno-red-zone -Wno-address -mcmodel=small -fpie -fno-asynchronous-unwind-tables - DEFINE GCC44_IA32_X64_DLINK_COMMON = -nostdlib -Wl,-n,-q,--gc-sections -z common-page-size=0x20 -no-pie +-DEFINE GCC48_ALL_CC_FLAGS = -g -fshort-wchar -fno-builtin -fno-strict-aliasing -Wall -Werror -Wno-array-bounds -ffunction-sections -fdata-sections -include AutoGen.h -fno-common -DSTRING_ARRAY_NAME=$(BASE_NAME)Strings ++DEFINE GCC48_ALL_CC_FLAGS = -g -fshort-wchar -fno-builtin -fno-strict-aliasing -Wall -Werror -Wno-array-bounds -ffunction-sections -fdata-sections -fno-stack-protector -include AutoGen.h -fno-common -DSTRING_ARRAY_NAME=$(BASE_NAME)Strings + DEFINE GCC48_IA32_X64_DLINK_COMMON = -nostdlib -Wl,-n,-q,--gc-sections -z common-page-size=0x20 +-DEFINE GCC48_IA32_CC_FLAGS = DEF(GCC48_ALL_CC_FLAGS) -m32 -march=i586 -malign-double -fno-stack-protector -D EFI32 -fno-asynchronous-unwind-tables -Wno-address +-DEFINE GCC48_X64_CC_FLAGS = DEF(GCC48_ALL_CC_FLAGS) -m64 -fno-stack-protector "-DEFIAPI=__attribute__((ms_abi))" -maccumulate-outgoing-args -mno-red-zone -Wno-address -mcmodel=small -fpie -fno-asynchronous-unwind-tables -Wno-address ++DEFINE GCC48_IA32_CC_FLAGS = DEF(GCC48_ALL_CC_FLAGS) -m32 -march=i586 -malign-double -D EFI32 -fno-asynchronous-unwind-tables -Wno-address ++DEFINE GCC48_X64_CC_FLAGS = DEF(GCC48_ALL_CC_FLAGS) -m64 "-DEFIAPI=__attribute__((ms_abi))" -maccumulate-outgoing-args -mno-red-zone -Wno-address -mcmodel=small -fpie -fno-asynchronous-unwind-tables -Wno-address + DEFINE GCC48_IA32_X64_ASLDLINK_FLAGS = DEF(GCC48_IA32_X64_DLINK_COMMON) -Wl,--entry,ReferenceAcpiTable -u ReferenceAcpiTable + DEFINE GCC48_IA32_X64_DLINK_FLAGS = DEF(GCC48_IA32_X64_DLINK_COMMON) -Wl,--entry,$(IMAGE_ENTRY_POINT) -u $(IMAGE_ENTRY_POINT) -Wl,-Map,$(DEST_DIR_DEBUG)/$(BASE_NAME).map,--whole-archive + DEFINE GCC48_IA32_DLINK2_FLAGS = -Wl,--defsym=PECOFF_HEADER_SIZE=0x220 DEF(GCC_DLINK2_FLAGS_COMMON) +@@ -1748,7 +1748,7 @@ DEFINE GCC48_X64_DLINK2_FLAGS = -Wl,--defsym=PECOFF_HEADER_SIZE=0x228 DEF + DEFINE GCC48_ASM_FLAGS = DEF(GCC_ASM_FLAGS) + DEFINE GCC48_ARM_ASM_FLAGS = $(ARCHASM_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_ASM_FLAGS) -mlittle-endian + DEFINE GCC48_AARCH64_ASM_FLAGS = $(ARCHASM_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_ASM_FLAGS) -mlittle-endian +-DEFINE GCC48_ARM_CC_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_ARM_CC_FLAGS) -fstack-protector -mword-relocations ++DEFINE GCC48_ARM_CC_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_ARM_CC_FLAGS) -mword-relocations + DEFINE GCC48_ARM_CC_XIPFLAGS = DEF(GCC_ARM_CC_XIPFLAGS) + DEFINE GCC48_AARCH64_CC_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -mcmodel=large DEF(GCC_AARCH64_CC_FLAGS) + DEFINE GCC48_AARCH64_CC_XIPFLAGS = DEF(GCC_AARCH64_CC_XIPFLAGS) diff --git a/poky/meta/recipes-core/ovmf/ovmf_git.bb b/poky/meta/recipes-core/ovmf/ovmf_git.bb index 71828d8d8..b569b593f 100644 --- a/poky/meta/recipes-core/ovmf/ovmf_git.bb +++ b/poky/meta/recipes-core/ovmf/ovmf_git.bb @@ -4,7 +4,7 @@ Virtual Machines. OVMF contains sample UEFI firmware for QEMU and KVM" HOMEPAGE = "https://github.com/tianocore/tianocore.github.io/wiki/OVMF" LICENSE = "BSD" LICENSE_class-target = "${@bb.utils.contains('PACKAGECONFIG', 'secureboot', 'BSD & OpenSSL', 'BSD', d)}" -LIC_FILES_CHKSUM = "file://OvmfPkg/License.txt;md5=343dc88e82ff33d042074f62050c3496" +LIC_FILES_CHKSUM = "file://OvmfPkg/License.txt;md5=06357ddc23f46577c2aeaeaf7b776d65" # Enabling Secure Boot adds a dependency on OpenSSL and implies # compiling OVMF twice, so it is disabled by default. Distros @@ -12,30 +12,16 @@ LIC_FILES_CHKSUM = "file://OvmfPkg/License.txt;md5=343dc88e82ff33d042074f62050c3 PACKAGECONFIG ??= "" PACKAGECONFIG[secureboot] = ",,," -SRC_URI = "git://github.com/tianocore/edk2.git;branch=master \ - file://0001-ia32-Dont-use-pie.patch \ +SRC_URI = "gitsm://github.com/tianocore/edk2.git;branch=master;protocol=git \ file://0002-ovmf-update-path-to-native-BaseTools.patch \ file://0003-BaseTools-makefile-adjust-to-build-in-under-bitbake.patch \ file://0004-ovmf-enable-long-path-file.patch \ - file://VfrCompile-increase-path-length-limit.patch \ file://no-stack-protector-all-archs.patch \ - file://0001-BaseTools-header.makefile-add-Wno-stringop-truncatio.patch \ - file://0002-BaseTools-header.makefile-add-Wno-restrict.patch \ - file://0003-BaseTools-header.makefile-revert-gcc-8-Wno-xxx-optio.patch \ - file://0004-BaseTools-GenVtf-silence-false-stringop-overflow-war.patch \ " -UPSTREAM_VERSION_UNKNOWN = "1" -OPENSSL_RELEASE = "openssl-1.1.0e" - -SRC_URI_append_class-target = " \ - ${@bb.utils.contains('PACKAGECONFIG', 'secureboot', 'http://www.openssl.org/source/${OPENSSL_RELEASE}.tar.gz;name=openssl;subdir=${S}/CryptoPkg/Library/OpensslLib', '', d)} \ - file://0007-OvmfPkg-EnrollDefaultKeys-application-for-enrolling-.patch \ -" - -SRCREV="ec4910cd3336565fdb61dafdd9ec4ae7a6160ba3" -SRC_URI[openssl.md5sum] = "51c42d152122e474754aea96f66928c6" -SRC_URI[openssl.sha256sum] = "57be8618979d80c910728cfc99369bf97b2a1abd8f366ab6ebdee8975ad3874c" +PV = "edk2-stable201905" +SRCREV="20d2e5a125e34fc8501026613a71549b2a1a3e54" +UPSTREAM_CHECK_GITTAGREGEX = "(?Pedk2-stable.*)" inherit deploy @@ -44,7 +30,7 @@ PARALLEL_MAKE = "" S = "${WORKDIR}/git" DEPENDS_class-native="util-linux-native iasl-native" -DEPENDS_class-target="ovmf-native" +DEPENDS_class-target="ovmf-native bc-native" DEPENDS_append = " nasm-native" @@ -61,6 +47,8 @@ COMPATIBLE_HOST='(i.86|x86_64).*' OVMF_SECURE_BOOT_EXTRA_FLAGS ??= "" OVMF_SECURE_BOOT_FLAGS = "-DSECURE_BOOT_ENABLE=TRUE ${OVMF_SECURE_BOOT_EXTRA_FLAGS}" +export PYTHON_COMMAND = "${HOSTTOOLS_DIR}/python3" + do_patch[postfuncs] += "fix_basetools_location" fix_basetools_location () { } @@ -191,12 +179,9 @@ do_compile_class-target() { ln ${build_dir}/${OVMF_ARCH}/Shell.efi ${WORKDIR}/ovmf/ if ${@bb.utils.contains('PACKAGECONFIG', 'secureboot', 'true', 'false', d)}; then - # See CryptoPkg/Library/OpensslLib/Patch-HOWTO.txt and - # https://src.fedoraproject.org/cgit/rpms/edk2.git/tree/ for - # building with Secure Boot enabled. + # Repeat build with the Secure Boot flags. bbnote "Building with Secure Boot." rm -rf ${S}/Build/Ovmf$OVMF_DIR_SUFFIX - ln -sf ${OPENSSL_RELEASE} ${S}/CryptoPkg/Library/OpensslLib/openssl ${S}/OvmfPkg/build.sh $PARALLEL_JOBS -a $OVMF_ARCH -b RELEASE -t ${FIXED_GCCVER} ${OVMF_SECURE_BOOT_FLAGS} ln ${build_dir}/FV/OVMF.fd ${WORKDIR}/ovmf/ovmf.secboot.fd ln ${build_dir}/FV/OVMF_CODE.fd ${WORKDIR}/ovmf/ovmf.secboot.code.fd @@ -233,6 +218,7 @@ FILES_ovmf-shell-efi = " \ DEPLOYDEP = "" DEPLOYDEP_class-target = "qemu-system-native:do_populate_sysroot" +DEPLOYDEP_class-target += " ${@bb.utils.contains('PACKAGECONFIG', 'secureboot', 'openssl-native:do_populate_sysroot', '', d)}" do_deploy[depends] += "${DEPLOYDEP}" do_deploy() { @@ -248,6 +234,13 @@ do_deploy_class-target() { ; do qemu-img convert -f raw -O qcow2 ${WORKDIR}/ovmf/$i.fd ${DEPLOYDIR}/$i.qcow2 done + + if ${@bb.utils.contains('PACKAGECONFIG', 'secureboot', 'true', 'false', d)}; then + # Create a test Platform Key and first Key Exchange Key to use with EnrollDefaultKeys + openssl req -new -x509 -newkey rsa:2048 -keyout ${DEPLOYDIR}/OvmfPkKek1.key \ + -out ${DEPLOYDIR}/OvmfPkKek1.crt -nodes -days 20 -subj "/CN=OVMFSecBootTest" + openssl x509 -in ${DEPLOYDIR}/OvmfPkKek1.crt -out ${DEPLOYDIR}/OvmfPkKek1.pem -outform PEM + fi } addtask do_deploy after do_compile before do_build diff --git a/poky/meta/recipes-core/systemd/systemd-boot_242.bb b/poky/meta/recipes-core/systemd/systemd-boot_242.bb index 56e68a3d4..56a25c35b 100644 --- a/poky/meta/recipes-core/systemd/systemd-boot_242.bb +++ b/poky/meta/recipes-core/systemd/systemd-boot_242.bb @@ -8,6 +8,7 @@ DEPENDS = "intltool-native libcap util-linux gnu-efi gperf-native" SRC_URI += "file://0001-Revert-meson-use-an-array-option-for-efi-cc.patch \ file://0001-Revert-meson-print-EFI-CC-configuration-nicely.patch \ file://0001-Fix-to-run-efi_cc-and-efi_ld-correctly-when-cross-co.patch \ + file://0001-meson-Add-Defi-objcopy-option-to-specify-objcopy.patch \ " inherit meson pkgconfig gettext @@ -22,6 +23,7 @@ EXTRA_OEMESON += "-Defi=true \ -Dman=false \ -Defi-cc='${EFI_CC}' \ -Defi-ld='${LD}' \ + -Defi-objcopy='${OBJCOPY}' \ " # install to the image as boot*.efi if its the EFI_PROVIDER, diff --git a/poky/meta/recipes-core/systemd/systemd-systemctl/systemctl b/poky/meta/recipes-core/systemd/systemd-systemctl/systemctl index 8d7b3ba32..8837f54e1 100755 --- a/poky/meta/recipes-core/systemd/systemd-systemctl/systemctl +++ b/poky/meta/recipes-core/systemd/systemd-systemctl/systemctl @@ -28,6 +28,10 @@ class SystemdFile(): def __init__(self, root, path): self.sections = dict() self._parse(root, path) + dirname = os.path.basename(path.name) + ".d" + for location in locations: + for path2 in sorted((root / location / "system" / dirname).glob("*.conf")): + self._parse(root, path2) def _parse(self, root, path): """Parse a systemd syntax configuration file @@ -56,8 +60,11 @@ class SystemdFile(): line = line.rstrip("\n") m = section_re.match(line) if m: - section = dict() - self.sections[m.group('section')] = section + if m.group('section') not in self.sections: + section = dict() + self.sections[m.group('section')] = section + else: + section = self.sections[m.group('section')] continue while line.endswith("\\"): diff --git a/poky/meta/recipes-core/systemd/systemd/0001-meson-Add-Defi-objcopy-option-to-specify-objcopy.patch b/poky/meta/recipes-core/systemd/systemd/0001-meson-Add-Defi-objcopy-option-to-specify-objcopy.patch new file mode 100644 index 000000000..7d764b411 --- /dev/null +++ b/poky/meta/recipes-core/systemd/systemd/0001-meson-Add-Defi-objcopy-option-to-specify-objcopy.patch @@ -0,0 +1,48 @@ +From 3f37ad5e083dcad51c21c1050b2829b70d240b52 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Tue, 6 Aug 2019 03:10:20 +0000 +Subject: [PATCH] meson: Add -Defi-objcopy option to specify objcopy + +This helps in cross compiling for x86 target on a aarch64 host e.g. +Fixes +TOPDIR/build/tmp/hosttools/objcopy:src/boot/efi/systemd_boot.so: Invalid bfd target + +Upstream-Status: Pending +Signed-off-by: Khem Raj +--- + meson_options.txt | 2 ++ + src/boot/efi/meson.build | 5 ++++- + 2 files changed, 6 insertions(+), 1 deletion(-) + +diff --git a/meson_options.txt b/meson_options.txt +index d4ec37dda2..dc1c96e112 100644 +--- a/meson_options.txt ++++ b/meson_options.txt +@@ -296,6 +296,8 @@ option('efi-cc', type : 'array', + description : 'the compiler to use for EFI modules') + option('efi-ld', type : 'string', + description : 'the linker to use for EFI modules') ++option('efi-objcopy', type : 'string', ++ description : 'the objcopy to use for EFI') + option('efi-libdir', type : 'string', + description : 'path to the EFI lib directory') + option('efi-ldsdir', type : 'string', +diff --git a/src/boot/efi/meson.build b/src/boot/efi/meson.build +index 0ae3191635..5a7137bc84 100644 +--- a/src/boot/efi/meson.build ++++ b/src/boot/efi/meson.build +@@ -88,7 +88,10 @@ if have_gnu_efi + output : 'efi_config.h', + configuration : efi_conf) + +- objcopy = find_program('objcopy') ++ objcopy = get_option('efi-objcopy') ++ if objcopy == '' ++ objcopy = find_program('objcopy', required: true) ++ endif + + efi_ldsdir = get_option('efi-ldsdir') + arch_lds = 'elf_@0@_efi.lds'.format(gnu_efi_path_arch) +-- +2.17.1 + diff --git a/poky/meta/recipes-devtools/apt/apt-package.inc b/poky/meta/recipes-devtools/apt/apt-package.inc index da91451d7..922f739d0 100644 --- a/poky/meta/recipes-devtools/apt/apt-package.inc +++ b/poky/meta/recipes-devtools/apt/apt-package.inc @@ -35,6 +35,7 @@ FILES_${PN} = "${bindir}/apt-cdrom ${bindir}/apt-get \ ${libdir}/dpkg \ ${systemd_unitdir}/system \ " +RDEPENDS_${PN} += "perl" FILES_${PN}-utils = "${bindir}/apt-sortpkgs ${bindir}/apt-extracttemplates" FILES_${PN}-doc = "${@get_files_apt_doc(d, bb, d.getVar('apt-manpages'))} \ ${docdir}/apt" diff --git a/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.1.1.bb b/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.1.1.bb deleted file mode 100644 index 2cd99706b..000000000 --- a/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.1.1.bb +++ /dev/null @@ -1,46 +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 = "781e36a784faa58a4f0515eef124af860d59e2c0" -SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/kdave/btrfs-progs.git \ - file://0001-Add-a-possibility-to-specify-where-python-modules-ar.patch \ - " - -inherit autotools-brokensep pkgconfig manpages distutils3-base - -CLEANBROKEN = "1" - -PACKAGECONFIG[manpages] = "--enable-documentation, --disable-documentation, asciidoc-native xmlto-native" -EXTRA_OECONF = " --disable-zstd" -EXTRA_OECONF_append_libc-musl = " --disable-backtrace " -EXTRA_PYTHON_CFLAGS = "${DEBUG_PREFIX_MAP}" -EXTRA_PYTHON_CFLAGS_class-native = "" -EXTRA_PYTHON_LDFLAGS = "${LDFLAGS}" -EXTRA_OEMAKE = "V=1 'EXTRA_PYTHON_CFLAGS=${EXTRA_PYTHON_CFLAGS}' 'EXTRA_PYTHON_LDFLAGS=${EXTRA_PYTHON_LDFLAGS}'" - -do_configure_prepend() { - # Upstream doesn't ship this and autoreconf won't install it as automake isn't used. - mkdir -p ${S}/config - cp -f $(automake --print-libdir)/install-sh ${S}/config/ -} - -S = "${WORKDIR}/git" - -do_install_append() { - oe_runmake 'DESTDIR=${D}' 'PYTHON_SITEPACKAGES_DIR=${PYTHON_SITEPACKAGES_DIR}' install_python -} - -BBCLASSEXTEND = "native" diff --git a/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.2.1.bb b/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.2.1.bb new file mode 100644 index 000000000..138ec749e --- /dev/null +++ b/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.2.1.bb @@ -0,0 +1,46 @@ +SUMMARY = "Checksumming Copy on Write Filesystem utilities" +DESCRIPTION = "Btrfs is a new copy on write filesystem for Linux aimed at \ +implementing advanced features while focusing on fault tolerance, repair and \ +easy administration. \ +This package contains utilities (mkfs, fsck, btrfsctl) used to work with \ +btrfs and an utility (btrfs-convert) to make a btrfs filesystem from an ext3." + +HOMEPAGE = "https://btrfs.wiki.kernel.org" + +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=fcb02dc552a041dee27e4b85c7396067" +SECTION = "base" +DEPENDS = "util-linux attr e2fsprogs lzo acl python3-setuptools-native" +DEPENDS_append_class-target = " udev" +RDEPENDS_${PN} = "libgcc" + +SRCREV = "9a85732d8beaae4b80cab98bb3355660389c1d36" +SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/kdave/btrfs-progs.git \ + file://0001-Add-a-possibility-to-specify-where-python-modules-ar.patch \ + " + +inherit autotools-brokensep pkgconfig manpages distutils3-base + +CLEANBROKEN = "1" + +PACKAGECONFIG[manpages] = "--enable-documentation, --disable-documentation, asciidoc-native xmlto-native" +EXTRA_OECONF = " --disable-zstd" +EXTRA_OECONF_append_libc-musl = " --disable-backtrace " +EXTRA_PYTHON_CFLAGS = "${DEBUG_PREFIX_MAP}" +EXTRA_PYTHON_CFLAGS_class-native = "" +EXTRA_PYTHON_LDFLAGS = "${LDFLAGS}" +EXTRA_OEMAKE = "V=1 'EXTRA_PYTHON_CFLAGS=${EXTRA_PYTHON_CFLAGS}' 'EXTRA_PYTHON_LDFLAGS=${EXTRA_PYTHON_LDFLAGS}'" + +do_configure_prepend() { + # Upstream doesn't ship this and autoreconf won't install it as automake isn't used. + mkdir -p ${S}/config + cp -f $(automake --print-libdir)/install-sh ${S}/config/ +} + +S = "${WORKDIR}/git" + +do_install_append() { + oe_runmake 'DESTDIR=${D}' 'PYTHON_SITEPACKAGES_DIR=${PYTHON_SITEPACKAGES_DIR}' install_python +} + +BBCLASSEXTEND = "native" diff --git a/poky/meta/recipes-devtools/cmake/cmake-native_3.14.5.bb b/poky/meta/recipes-devtools/cmake/cmake-native_3.14.5.bb deleted file mode 100644 index b2952ee5f..000000000 --- a/poky/meta/recipes-devtools/cmake/cmake-native_3.14.5.bb +++ /dev/null @@ -1,52 +0,0 @@ -require cmake.inc -inherit native - -DEPENDS += "bzip2-replacement-native expat-native xz-native zlib-native curl-native ncurses-native" - -SRC_URI += "file://OEToolchainConfig.cmake \ - file://environment.d-cmake.sh \ - file://0001-CMakeDetermineSystem-use-oe-environment-vars-to-load.patch \ - file://0005-Disable-use-of-ext2fs-ext2_fs.h-by-cmake-s-internal-.patch \ - " - - -B = "${WORKDIR}/build" -do_configure[cleandirs] = "${B}" - -CMAKE_EXTRACONF = "\ - -DCMAKE_LIBRARY_PATH=${STAGING_LIBDIR_NATIVE} \ - -DBUILD_CursesDialog=1 \ - -DCMAKE_USE_SYSTEM_LIBRARIES=1 \ - -DCMAKE_USE_SYSTEM_LIBRARY_JSONCPP=0 \ - -DCMAKE_USE_SYSTEM_LIBRARY_LIBARCHIVE=0 \ - -DCMAKE_USE_SYSTEM_LIBRARY_LIBUV=0 \ - -DCMAKE_USE_SYSTEM_LIBRARY_LIBRHASH=0 \ - -DENABLE_ACL=0 -DHAVE_ACL_LIBACL_H=0 \ - -DHAVE_SYS_ACL_H=0 \ -" - -do_configure () { - ${S}/configure --verbose --prefix=${prefix} \ - ${@oe.utils.parallel_make_argument(d, '--parallel=%d')} \ - ${@bb.utils.contains('CCACHE', 'ccache ', '--enable-ccache', '', d)} \ - -- ${CMAKE_EXTRACONF} -} - -do_compile() { - oe_runmake -} - -do_install() { - oe_runmake 'DESTDIR=${D}' install - - # The following codes are here because eSDK needs to provide compatibilty - # for SDK. That is, eSDK could also be used like traditional SDK. - mkdir -p ${D}${datadir}/cmake - install -m 644 ${WORKDIR}/OEToolchainConfig.cmake ${D}${datadir}/cmake/ - mkdir -p ${D}${base_prefix}/environment-setup.d - install -m 644 ${WORKDIR}/environment.d-cmake.sh ${D}${base_prefix}/environment-setup.d/cmake.sh -} - -do_compile[progress] = "percent" - -SYSROOT_DIRS_NATIVE += "${datadir}/cmake ${base_prefix}/environment-setup.d" diff --git a/poky/meta/recipes-devtools/cmake/cmake-native_3.15.2.bb b/poky/meta/recipes-devtools/cmake/cmake-native_3.15.2.bb new file mode 100644 index 000000000..b2952ee5f --- /dev/null +++ b/poky/meta/recipes-devtools/cmake/cmake-native_3.15.2.bb @@ -0,0 +1,52 @@ +require cmake.inc +inherit native + +DEPENDS += "bzip2-replacement-native expat-native xz-native zlib-native curl-native ncurses-native" + +SRC_URI += "file://OEToolchainConfig.cmake \ + file://environment.d-cmake.sh \ + file://0001-CMakeDetermineSystem-use-oe-environment-vars-to-load.patch \ + file://0005-Disable-use-of-ext2fs-ext2_fs.h-by-cmake-s-internal-.patch \ + " + + +B = "${WORKDIR}/build" +do_configure[cleandirs] = "${B}" + +CMAKE_EXTRACONF = "\ + -DCMAKE_LIBRARY_PATH=${STAGING_LIBDIR_NATIVE} \ + -DBUILD_CursesDialog=1 \ + -DCMAKE_USE_SYSTEM_LIBRARIES=1 \ + -DCMAKE_USE_SYSTEM_LIBRARY_JSONCPP=0 \ + -DCMAKE_USE_SYSTEM_LIBRARY_LIBARCHIVE=0 \ + -DCMAKE_USE_SYSTEM_LIBRARY_LIBUV=0 \ + -DCMAKE_USE_SYSTEM_LIBRARY_LIBRHASH=0 \ + -DENABLE_ACL=0 -DHAVE_ACL_LIBACL_H=0 \ + -DHAVE_SYS_ACL_H=0 \ +" + +do_configure () { + ${S}/configure --verbose --prefix=${prefix} \ + ${@oe.utils.parallel_make_argument(d, '--parallel=%d')} \ + ${@bb.utils.contains('CCACHE', 'ccache ', '--enable-ccache', '', d)} \ + -- ${CMAKE_EXTRACONF} +} + +do_compile() { + oe_runmake +} + +do_install() { + oe_runmake 'DESTDIR=${D}' install + + # The following codes are here because eSDK needs to provide compatibilty + # for SDK. That is, eSDK could also be used like traditional SDK. + mkdir -p ${D}${datadir}/cmake + install -m 644 ${WORKDIR}/OEToolchainConfig.cmake ${D}${datadir}/cmake/ + mkdir -p ${D}${base_prefix}/environment-setup.d + install -m 644 ${WORKDIR}/environment.d-cmake.sh ${D}${base_prefix}/environment-setup.d/cmake.sh +} + +do_compile[progress] = "percent" + +SYSROOT_DIRS_NATIVE += "${datadir}/cmake ${base_prefix}/environment-setup.d" diff --git a/poky/meta/recipes-devtools/cmake/cmake.inc b/poky/meta/recipes-devtools/cmake/cmake.inc index da3aadcc0..4cbe26ed6 100644 --- a/poky/meta/recipes-devtools/cmake/cmake.inc +++ b/poky/meta/recipes-devtools/cmake/cmake.inc @@ -18,7 +18,7 @@ SRC_URI = "https://cmake.org/files/v${CMAKE_MAJOR_VERSION}/cmake-${PV}.tar.gz \ file://0004-Fail-silently-if-system-Qt-installation-is-broken.patch \ " -SRC_URI[md5sum] = "a8cbfc3510b95ea686b4059d8b1f765c" -SRC_URI[sha256sum] = "505ae49ebe3c63c595fa5f814975d8b72848447ee13b6613b0f8b96ebda18c06" +SRC_URI[md5sum] = "9ecf167edadb87e2d75cc89fded7aadb" +SRC_URI[sha256sum] = "539088cb29a68e6d6a8fba5c00951e5e5b1a92c68fa38a83e1ed2f355933f768" UPSTREAM_CHECK_REGEX = "cmake-(?P\d+(\.\d+)+)\.tar" diff --git a/poky/meta/recipes-devtools/cmake/cmake/0001-CMakeDetermineSystem-use-oe-environment-vars-to-load.patch b/poky/meta/recipes-devtools/cmake/cmake/0001-CMakeDetermineSystem-use-oe-environment-vars-to-load.patch index cdeea647f..3720833d3 100644 --- a/poky/meta/recipes-devtools/cmake/cmake/0001-CMakeDetermineSystem-use-oe-environment-vars-to-load.patch +++ b/poky/meta/recipes-devtools/cmake/cmake/0001-CMakeDetermineSystem-use-oe-environment-vars-to-load.patch @@ -1,9 +1,8 @@ -From 71085723f8028b3e1c4029fc1abe1243ac49ffc6 Mon Sep 17 00:00:00 2001 +From 1e67c3fe52c6c51c00cf1ebb0bfc30c7a5ef9fdb Mon Sep 17 00:00:00 2001 From: Cody P Schafer Date: Thu, 27 Apr 2017 11:35:05 -0400 -Subject: [PATCH 1/5] CMakeDetermineSystem: use oe environment vars to load - default toolchain file in sdk -Organization: O.S. Systems Software LTDA. +Subject: [PATCH] CMakeDetermineSystem: use oe environment vars to load default + toolchain file in sdk Passing the toolchain by: @@ -20,12 +19,13 @@ because '-D' options are cache entries themselves. Upstream-Status: Inappropriate [oe-core specific] Signed-off-by: Cody P Schafer Signed-off-by: Otavio Salvador + --- Modules/CMakeDetermineSystem.cmake | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Modules/CMakeDetermineSystem.cmake b/Modules/CMakeDetermineSystem.cmake -index 600d5580e..32d7f1945 100644 +index dc208c6..e0af4ca 100644 --- a/Modules/CMakeDetermineSystem.cmake +++ b/Modules/CMakeDetermineSystem.cmake @@ -81,6 +81,13 @@ else() @@ -42,6 +42,3 @@ index 600d5580e..32d7f1945 100644 # if a toolchain file is used, the user wants to cross compile. # in this case read the toolchain file and keep the CMAKE_HOST_SYSTEM_* # variables around so they can be used in CMakeLists.txt. --- -2.18.0 - diff --git a/poky/meta/recipes-devtools/cmake/cmake/0002-cmake-Prevent-the-detection-of-Qt5.patch b/poky/meta/recipes-devtools/cmake/cmake/0002-cmake-Prevent-the-detection-of-Qt5.patch index 8d2dc10ce..db229e63e 100644 --- a/poky/meta/recipes-devtools/cmake/cmake/0002-cmake-Prevent-the-detection-of-Qt5.patch +++ b/poky/meta/recipes-devtools/cmake/cmake/0002-cmake-Prevent-the-detection-of-Qt5.patch @@ -1,7 +1,8 @@ -From b4b6e9b1be33213ede3f612e87840c0045824d9e Mon Sep 17 00:00:00 2001 +From 5cb6c86696f842274043e7d406f84b3ead1c36e0 Mon Sep 17 00:00:00 2001 From: Otavio Salvador Date: Wed, 17 Jan 2018 10:02:14 -0200 -Subject: [PATCH 2/5] cmake: Prevent the detection of Qt5 +Subject: [PATCH] cmake: Prevent the detection of Qt5 + Organization: O.S. Systems Software LTDA. CMake doesn't have dependency on qt4/qt5, so these tests usually fail @@ -12,6 +13,7 @@ while running the test in cmake) Upstream-Status: Inappropriate [configuration] Signed-off-by: Otavio Salvador + --- Source/QtDialog/CMakeLists.txt | 2 +- Tests/CMakeLists.txt | 2 +- @@ -23,12 +25,12 @@ Signed-off-by: Otavio Salvador 7 files changed, 8 insertions(+), 9 deletions(-) diff --git a/Source/QtDialog/CMakeLists.txt b/Source/QtDialog/CMakeLists.txt -index 9ce0323844..06c86d63eb 100644 +index cb89d19..9e68981 100644 --- a/Source/QtDialog/CMakeLists.txt +++ b/Source/QtDialog/CMakeLists.txt -@@ -6,7 +6,7 @@ if(POLICY CMP0020) - cmake_policy(SET CMP0020 NEW) # Drop when CMake >= 2.8.11 required - endif() +@@ -3,7 +3,7 @@ + + project(QtDialog) CMake_OPTIONAL_COMPONENT(cmake-gui) -find_package(Qt5Widgets QUIET) +#find_package(Qt5Widgets QUIET) @@ -36,10 +38,10 @@ index 9ce0323844..06c86d63eb 100644 include_directories(${Qt5Widgets_INCLUDE_DIRS}) add_definitions(${Qt5Widgets_DEFINITONS}) diff --git a/Tests/CMakeLists.txt b/Tests/CMakeLists.txt -index ed98d974b0..7adfbc301b 100644 +index e73b277..91b8b67 100644 --- a/Tests/CMakeLists.txt +++ b/Tests/CMakeLists.txt -@@ -1342,7 +1342,7 @@ ${CMake_BINARY_DIR}/bin/cmake -DDIR=dev -P ${CMake_SOURCE_DIR}/Utilities/Release +@@ -1348,7 +1348,7 @@ ${CMake_SOURCE_DIR}/Utilities/Release/push.bash --dir dev -- '${CMake_BUILD_NIGH set(CMake_TEST_Qt5 1) endif() if(CMake_TEST_Qt5) @@ -49,7 +51,7 @@ index ed98d974b0..7adfbc301b 100644 if(CMake_TEST_Qt5 AND Qt5Widgets_FOUND) add_subdirectory(Qt5Autogen) diff --git a/Tests/Qt4And5Automoc/CMakeLists.txt b/Tests/Qt4And5Automoc/CMakeLists.txt -index ad74961d9f..a9dd74b151 100644 +index ad74961..a9dd74b 100644 --- a/Tests/Qt4And5Automoc/CMakeLists.txt +++ b/Tests/Qt4And5Automoc/CMakeLists.txt @@ -3,11 +3,11 @@ cmake_minimum_required(VERSION 2.8.12) @@ -67,7 +69,7 @@ index ad74961d9f..a9dd74b151 100644 set(CMAKE_AUTOMOC ON) diff --git a/Tests/QtAutogen/AutogenGuiTest.cmake b/Tests/QtAutogen/AutogenGuiTest.cmake -index b76d341a45..a6e0acbafa 100644 +index b76d341..a6e0acb 100644 --- a/Tests/QtAutogen/AutogenGuiTest.cmake +++ b/Tests/QtAutogen/AutogenGuiTest.cmake @@ -22,8 +22,7 @@ if (QT_TEST_VERSION EQUAL 4) @@ -81,7 +83,7 @@ index b76d341a45..a6e0acbafa 100644 set(QT_QTCORE_TARGET Qt5::Core) set(QT_LIBRARIES Qt5::Widgets) diff --git a/Tests/QtAutogen/MacOsFW/CMakeLists.txt b/Tests/QtAutogen/MacOsFW/CMakeLists.txt -index c08efc47a2..87e25d9391 100644 +index c08efc4..87e25d9 100644 --- a/Tests/QtAutogen/MacOsFW/CMakeLists.txt +++ b/Tests/QtAutogen/MacOsFW/CMakeLists.txt @@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 3.10) @@ -94,10 +96,10 @@ index c08efc47a2..87e25d9391 100644 set(CMAKE_CXX_STANDARD 11) set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/output/bin) diff --git a/Tests/RunCMake/CMakeLists.txt b/Tests/RunCMake/CMakeLists.txt -index 1f3e5c3006..8ed8d6ac54 100644 +index 69f8162..f389523 100644 --- a/Tests/RunCMake/CMakeLists.txt +++ b/Tests/RunCMake/CMakeLists.txt -@@ -326,7 +326,7 @@ add_RunCMake_test(configure_file) +@@ -334,7 +334,7 @@ add_RunCMake_test(configure_file) add_RunCMake_test(CTestTimeoutAfterMatch) find_package(Qt4 QUIET) @@ -107,7 +109,7 @@ index 1f3e5c3006..8ed8d6ac54 100644 add_RunCMake_test(IncompatibleQt) endif() diff --git a/Tests/RunCMake/IncompatibleQt/IncompatibleQt.cmake b/Tests/RunCMake/IncompatibleQt/IncompatibleQt.cmake -index 4fccdc418f..b76e1e5313 100644 +index 4fccdc4..b76e1e5 100644 --- a/Tests/RunCMake/IncompatibleQt/IncompatibleQt.cmake +++ b/Tests/RunCMake/IncompatibleQt/IncompatibleQt.cmake @@ -1,6 +1,6 @@ @@ -118,6 +120,3 @@ index 4fccdc418f..b76e1e5313 100644 add_executable(mainexe main.cpp) target_link_libraries(mainexe Qt4::QtCore Qt5::Core) --- -2.11.0 - diff --git a/poky/meta/recipes-devtools/cmake/cmake/0003-cmake-support-OpenEmbedded-Qt4-tool-binary-names.patch b/poky/meta/recipes-devtools/cmake/cmake/0003-cmake-support-OpenEmbedded-Qt4-tool-binary-names.patch index 4f2e84337..d7d87a525 100644 --- a/poky/meta/recipes-devtools/cmake/cmake/0003-cmake-support-OpenEmbedded-Qt4-tool-binary-names.patch +++ b/poky/meta/recipes-devtools/cmake/cmake/0003-cmake-support-OpenEmbedded-Qt4-tool-binary-names.patch @@ -1,8 +1,7 @@ -From c783ceeef485c23e13c3d9f0418719cb0e0b86ee Mon Sep 17 00:00:00 2001 +From b003857d3481105c473e2e75bad4e9e2c6e70004 Mon Sep 17 00:00:00 2001 From: Otavio Salvador Date: Thu, 12 May 2011 15:36:03 +0000 -Subject: [PATCH 3/5] cmake: support OpenEmbedded Qt4 tool binary names -Organization: O.S. Systems Software LTDA. +Subject: [PATCH] cmake: support OpenEmbedded Qt4 tool binary names The FindQt4 module looks for Qt4 binaries to be able to gather the paths used for compilation and also to be using during other processes @@ -20,12 +19,13 @@ Instead of find_program, _find_qt4_program is now used. Signed-off-by: Moritz Blume Signed-off-by: Otavio Salvador + --- Modules/FindQt4.cmake | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Modules/FindQt4.cmake b/Modules/FindQt4.cmake -index 847a798af..7ad981879 100644 +index a145b46..7e18243 100644 --- a/Modules/FindQt4.cmake +++ b/Modules/FindQt4.cmake @@ -518,7 +518,7 @@ endfunction() @@ -54,6 +54,3 @@ index 847a798af..7ad981879 100644 _find_qt4_program(QT_DESIGNER_EXECUTABLE Qt4::designer designer-qt4 designer4 designer) _find_qt4_program(QT_LINGUIST_EXECUTABLE Qt4::linguist linguist-qt4 linguist4 linguist) --- -2.18.0 - diff --git a/poky/meta/recipes-devtools/cmake/cmake/0004-Fail-silently-if-system-Qt-installation-is-broken.patch b/poky/meta/recipes-devtools/cmake/cmake/0004-Fail-silently-if-system-Qt-installation-is-broken.patch index 6c67dcf10..676e2857d 100644 --- a/poky/meta/recipes-devtools/cmake/cmake/0004-Fail-silently-if-system-Qt-installation-is-broken.patch +++ b/poky/meta/recipes-devtools/cmake/cmake/0004-Fail-silently-if-system-Qt-installation-is-broken.patch @@ -1,8 +1,7 @@ -From 9516fc4260f701c6d9db0c341bb36480362e1747 Mon Sep 17 00:00:00 2001 +From d4a78e8739e845c2963666f7ef6a6c7a89827988 Mon Sep 17 00:00:00 2001 From: Otavio Salvador Date: Thu, 5 Jul 2018 10:26:48 -0300 -Subject: [PATCH 4/5] Fail silently if system Qt installation is broken -Organization: O.S. Systems Software LTDA. +Subject: [PATCH] Fail silently if system Qt installation is broken Fixes a regression in behaviour from 2.8.10 to 2.8.11 resulting in the following error if the system Qt installation is broken: @@ -23,12 +22,13 @@ within the if(QT_QTCORE_FOUND) statement. Signed-off-by: Moritz Blume Signed-off-by: Otavio Salvador + --- Modules/FindQt4.cmake | 39 ++++++++++++++++++++------------------- 1 file changed, 20 insertions(+), 19 deletions(-) diff --git a/Modules/FindQt4.cmake b/Modules/FindQt4.cmake -index 7ad981879..8b6f43cda 100644 +index 7e18243..497d5c3 100644 --- a/Modules/FindQt4.cmake +++ b/Modules/FindQt4.cmake @@ -988,25 +988,26 @@ if (QT_QMAKE_EXECUTABLE AND @@ -77,6 +77,3 @@ index 7ad981879..8b6f43cda 100644 foreach(QT_MODULE ${QT_MODULES}) _QT4_ADJUST_LIB_VARS(${QT_MODULE}) --- -2.18.0 - diff --git a/poky/meta/recipes-devtools/cmake/cmake_3.14.5.bb b/poky/meta/recipes-devtools/cmake/cmake_3.14.5.bb deleted file mode 100644 index e0457677e..000000000 --- a/poky/meta/recipes-devtools/cmake/cmake_3.14.5.bb +++ /dev/null @@ -1,53 +0,0 @@ -require cmake.inc - -inherit cmake - -DEPENDS += "curl expat zlib libarchive xz ncurses bzip2" - -SRC_URI_append_class-nativesdk = " \ - file://OEToolchainConfig.cmake \ - file://environment.d-cmake.sh \ - file://0001-CMakeDetermineSystem-use-oe-environment-vars-to-load.patch \ -" - -# Strip ${prefix} from ${docdir}, set result into docdir_stripped -python () { - prefix=d.getVar("prefix") - docdir=d.getVar("docdir") - - if not docdir.startswith(prefix): - bb.fatal('docdir must contain prefix as its prefix') - - docdir_stripped = docdir[len(prefix):] - if len(docdir_stripped) > 0 and docdir_stripped[0] == '/': - docdir_stripped = docdir_stripped[1:] - - d.setVar("docdir_stripped", docdir_stripped) -} - -EXTRA_OECMAKE=" \ - -DCMAKE_DOC_DIR=${docdir_stripped}/cmake-${CMAKE_MAJOR_VERSION} \ - -DCMAKE_USE_SYSTEM_LIBRARIES=1 \ - -DCMAKE_USE_SYSTEM_LIBRARY_JSONCPP=0 \ - -DCMAKE_USE_SYSTEM_LIBRARY_LIBUV=0 \ - -DCMAKE_USE_SYSTEM_LIBRARY_LIBRHASH=0 \ - -DKWSYS_CHAR_IS_SIGNED=1 \ - -DBUILD_CursesDialog=0 \ - -DKWSYS_LFS_WORKS=1 \ -" - -do_install_append_class-nativesdk() { - mkdir -p ${D}${datadir}/cmake - install -m 644 ${WORKDIR}/OEToolchainConfig.cmake ${D}${datadir}/cmake/ - - mkdir -p ${D}${SDKPATHNATIVE}/environment-setup.d - install -m 644 ${WORKDIR}/environment.d-cmake.sh ${D}${SDKPATHNATIVE}/environment-setup.d/cmake.sh -} - -FILES_${PN}_append_class-nativesdk = " ${SDKPATHNATIVE}" - -FILES_${PN} += "${datadir}/cmake-${CMAKE_MAJOR_VERSION} ${datadir}/cmake ${datadir}/aclocal" -FILES_${PN}-doc += "${docdir}/cmake-${CMAKE_MAJOR_VERSION}" -FILES_${PN}-dev = "" - -BBCLASSEXTEND = "nativesdk" diff --git a/poky/meta/recipes-devtools/cmake/cmake_3.15.2.bb b/poky/meta/recipes-devtools/cmake/cmake_3.15.2.bb new file mode 100644 index 000000000..e0457677e --- /dev/null +++ b/poky/meta/recipes-devtools/cmake/cmake_3.15.2.bb @@ -0,0 +1,53 @@ +require cmake.inc + +inherit cmake + +DEPENDS += "curl expat zlib libarchive xz ncurses bzip2" + +SRC_URI_append_class-nativesdk = " \ + file://OEToolchainConfig.cmake \ + file://environment.d-cmake.sh \ + file://0001-CMakeDetermineSystem-use-oe-environment-vars-to-load.patch \ +" + +# Strip ${prefix} from ${docdir}, set result into docdir_stripped +python () { + prefix=d.getVar("prefix") + docdir=d.getVar("docdir") + + if not docdir.startswith(prefix): + bb.fatal('docdir must contain prefix as its prefix') + + docdir_stripped = docdir[len(prefix):] + if len(docdir_stripped) > 0 and docdir_stripped[0] == '/': + docdir_stripped = docdir_stripped[1:] + + d.setVar("docdir_stripped", docdir_stripped) +} + +EXTRA_OECMAKE=" \ + -DCMAKE_DOC_DIR=${docdir_stripped}/cmake-${CMAKE_MAJOR_VERSION} \ + -DCMAKE_USE_SYSTEM_LIBRARIES=1 \ + -DCMAKE_USE_SYSTEM_LIBRARY_JSONCPP=0 \ + -DCMAKE_USE_SYSTEM_LIBRARY_LIBUV=0 \ + -DCMAKE_USE_SYSTEM_LIBRARY_LIBRHASH=0 \ + -DKWSYS_CHAR_IS_SIGNED=1 \ + -DBUILD_CursesDialog=0 \ + -DKWSYS_LFS_WORKS=1 \ +" + +do_install_append_class-nativesdk() { + mkdir -p ${D}${datadir}/cmake + install -m 644 ${WORKDIR}/OEToolchainConfig.cmake ${D}${datadir}/cmake/ + + mkdir -p ${D}${SDKPATHNATIVE}/environment-setup.d + install -m 644 ${WORKDIR}/environment.d-cmake.sh ${D}${SDKPATHNATIVE}/environment-setup.d/cmake.sh +} + +FILES_${PN}_append_class-nativesdk = " ${SDKPATHNATIVE}" + +FILES_${PN} += "${datadir}/cmake-${CMAKE_MAJOR_VERSION} ${datadir}/cmake ${datadir}/aclocal" +FILES_${PN}-doc += "${docdir}/cmake-${CMAKE_MAJOR_VERSION}" +FILES_${PN}-dev = "" + +BBCLASSEXTEND = "nativesdk" diff --git a/poky/meta/recipes-devtools/createrepo-c/createrepo-c_0.14.2.bb b/poky/meta/recipes-devtools/createrepo-c/createrepo-c_0.14.2.bb deleted file mode 100644 index 80c559fef..000000000 --- a/poky/meta/recipes-devtools/createrepo-c/createrepo-c_0.14.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 = "f390af98c8f1bb04010e293ea864eae160f75879" - -S = "${WORKDIR}/git" - -DEPENDS = "expat curl glib-2.0 libxml2 openssl bzip2 zlib file sqlite3 xz rpm libmodulemd" -DEPENDS_append_class-native = " file-replacement-native" - -inherit cmake pkgconfig bash-completion distutils3-base - -EXTRA_OECMAKE = " -DPYTHON_INSTALL_DIR=${PYTHON_SITEPACKAGES_DIR} -DPYTHON_DESIRED=3 -DWITH_ZCHUNK=OFF" - -BBCLASSEXTEND = "native nativesdk" - -# Direct createrepo to read rpm configuration from our sysroot, not the one it was compiled in -do_install_append_class-native() { - create_wrapper ${D}/${bindir}/createrepo_c \ - RPM_CONFIGDIR=${STAGING_LIBDIR_NATIVE}/rpm -} - -do_install_append_class-nativesdk() { - create_wrapper ${D}/${bindir}/createrepo_c \ - RPM_CONFIGDIR=${SDKPATHNATIVE}${libdir_nativesdk}/rpm - rm -rf ${D}/etc -} diff --git a/poky/meta/recipes-devtools/createrepo-c/createrepo-c_0.14.3.bb b/poky/meta/recipes-devtools/createrepo-c/createrepo-c_0.14.3.bb new file mode 100644 index 000000000..22b9f3d3b --- /dev/null +++ b/poky/meta/recipes-devtools/createrepo-c/createrepo-c_0.14.3.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 = "de9d8337885d953baae501cce75decc11d5468dd" + +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.inc b/poky/meta/recipes-devtools/dpkg/dpkg.inc index fee7a7581..1c3c585d7 100644 --- a/poky/meta/recipes-devtools/dpkg/dpkg.inc +++ b/poky/meta/recipes-devtools/dpkg/dpkg.inc @@ -9,7 +9,7 @@ RDEPENDS_${PN}_class-native = "" UPSTREAM_CHECK_URI = "${DEBIAN_MIRROR}/main/d/dpkg/" -inherit autotools gettext perlnative pkgconfig perl-version +inherit autotools gettext perlnative pkgconfig perl-version update-alternatives PERL_class-native = "${STAGING_BINDIR_NATIVE}/perl-native/perl" @@ -76,7 +76,10 @@ RDEPENDS_${PN}-perl += "perl-module-carp perl-module-constant \ # the bitbake version. # PACKAGES =+ "${PN}-start-stop" -FILES_${PN}-start-stop = "${sbindir}/start-stop-daemon" +FILES_${PN}-start-stop = "${sbindir}/start-stop-daemon.${BPN}" +ALTERNATIVE_${PN}-start-stop = "start-stop-daemon" +ALTERNATIVE_LINK_NAME[start-stop-daemon] = "${sbindir}/start-stop-daemon" +ALTERNATIVE_PRIORITY = "100" RDEPENDS_${PN} += "${PN}-start-stop" diff --git a/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/0001-create_inode-fix-copying-large-files.patch b/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/0001-create_inode-fix-copying-large-files.patch deleted file mode 100644 index c89581dce..000000000 --- a/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/0001-create_inode-fix-copying-large-files.patch +++ /dev/null @@ -1,50 +0,0 @@ -Upstream-Status: Submitted -Signed-off-by: Ross Burton - -From 674ab87b8338372338d20e21a350f88b4ff6c7c8 Mon Sep 17 00:00:00 2001 -From: Ross Burton -Date: Fri, 1 Feb 2019 10:59:59 +0000 -Subject: [PATCH] create_inode: fix copying large files - -When copying large files into a ext filesystem at mkfs time the copy fails at -2^31 bytes in. There are two problems: - -copy_file_chunk() passes an offset (off_t, 64-bit typically) to -ext2fs_file_lseek() which expects a ext2_off_t (typedef to __u32) so the value -is truncated. Solve by calling ext2fs_file_llseek() which takes a u64 offset -instead. - -try_lseek_copy() rounds the data and hole offsets as found by lseek() to block -boundaries, but the calculation gets truncated to 32-bits. Solve by casting the -32-bit blocksize to off_t to ensure this doesn't happen. - -Signed-off-by: Ross Burton ---- - misc/create_inode.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/misc/create_inode.c b/misc/create_inode.c -index 05aa6363..f106dcda 100644 ---- a/misc/create_inode.c -+++ b/misc/create_inode.c -@@ -438,7 +438,7 @@ static errcode_t copy_file_chunk(ext2_filsys fs, int fd, ext2_file_t e2_file, - ptr += blen; - continue; - } -- err = ext2fs_file_lseek(e2_file, off + bpos, -+ err = ext2fs_file_llseek(e2_file, off + bpos, - EXT2_SEEK_SET, NULL); - if (err) - goto fail; -@@ -481,7 +481,7 @@ static errcode_t try_lseek_copy(ext2_filsys fs, int fd, struct stat *statbuf, - return EXT2_ET_UNIMPLEMENTED; - - data_blk = data & ~(fs->blocksize - 1); -- hole_blk = (hole + (fs->blocksize - 1)) & ~(fs->blocksize - 1); -+ hole_blk = (hole + (off_t)(fs->blocksize - 1)) & ~(off_t)(fs->blocksize - 1); - err = copy_file_chunk(fs, fd, e2_file, data_blk, hole_blk, buf, - zerobuf); - if (err) --- -2.11.0 - diff --git a/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/ptest.patch b/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/ptest.patch index 4e6b6292e..c3e46ce65 100644 --- a/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/ptest.patch +++ b/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/ptest.patch @@ -5,11 +5,13 @@ Subject: [PATCH] e2fsprogs: add ptest Upstream-Status: Inappropriate +Rebase for e2fsprogs 1.45.3. + +Signed-off-by: Kai Kang --- - tests/Makefile.in | 4 ++-- - tests/test_config | 32 ++++++++++++++++---------------- - tests/test_script.in | 2 +- - 3 files changed, 19 insertions(+), 19 deletions(-) + tests/Makefile.in | 4 ++-- + tests/test_config | 32 ++++++++++++++++---------------- + 2 files changed, 18 insertions(+), 18 deletions(-) diff --git a/tests/Makefile.in b/tests/Makefile.in index 8c4d2048..e021af32 100644 @@ -34,10 +36,10 @@ index 8c4d2048..e021af32 100644 @chmod +x-w test_script diff --git a/tests/test_config b/tests/test_config -index 1f146ca2..05125f9c 100644 +index 9dc762ce..a5fbdef6 100644 --- a/tests/test_config +++ b/tests/test_config -@@ -3,16 +3,16 @@ +@@ -3,25 +3,25 @@ # unset LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER LC_TELEPHONE LC_TIME PAGER @@ -62,12 +64,6 @@ index 1f146ca2..05125f9c 100644 +DEBUGFS="$USE_VALGRIND debugfs" +DEBUGFS_EXE="/sbin/debugfs" TEST_BITS="test_data.tmp" - if [ ! -s $TEST_BITS ]; then - # create a non-sparse test file if possible, since debugfs may be -@@ -21,14 +21,14 @@ if [ ! -s $TEST_BITS ]; then - dd if=/dev/urandom of=$TEST_BITS bs=128k count=1 > /dev/null 2>&1 || - TEST_BITS="$DEFBUGFS_EXE" - fi -RESIZE2FS_EXE="../resize/resize2fs" +RESIZE2FS_EXE="/sbin/resize2fs" RESIZE2FS="$USE_VALGRIND $RESIZE2FS_EXE" @@ -85,16 +81,3 @@ index 1f146ca2..05125f9c 100644 CLEAN_OUTPUT="sed -f $cmd_dir/filter.sed" LD_LIBRARY_PATH=../lib:../lib/ext2fs:../lib/e2p:../lib/et:../lib/ss:${LD_LIBRARY_PATH} DYLD_LIBRARY_PATH=../lib:../lib/ext2fs:../lib/e2p:../lib/et:../lib/ss:${DYLD_LIBRARY_PATH} -diff --git a/tests/test_script.in b/tests/test_script.in -index 9959e308..442999db 100644 ---- a/tests/test_script.in -+++ b/tests/test_script.in -@@ -39,7 +39,7 @@ for i; do - done - - if test "$TESTS"x = x ; then -- if test -n "DO_FAILED"; then -+ if test -n "$DO_FAILED"; then - exit 0 - fi - TESTS=`ls -d $SRCDIR/[a-zA-Z]_*` diff --git a/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.44.5.bb b/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.44.5.bb deleted file mode 100644 index 5cda89f59..000000000 --- a/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.44.5.bb +++ /dev/null @@ -1,136 +0,0 @@ -require e2fsprogs.inc - -SRC_URI += "file://remove.ldconfig.call.patch \ - file://run-ptest \ - file://ptest.patch \ - file://mkdir_p.patch \ - file://0001-misc-create_inode.c-set-dir-s-mode-correctly.patch \ - file://0001-create_inode-fix-copying-large-files.patch \ - " - -SRC_URI_append_class-native = " file://e2fsprogs-fix-missing-check-for-permission-denied.patch \ - file://quiet-debugfs.patch \ -" - -SRCREV = "9a03c07e00f09a772245281d84a284c67e905148" -UPSTREAM_CHECK_GITTAGREGEX = "v(?P\d+\.\d+(\.\d+)*)$" - -EXTRA_OECONF += "--libdir=${base_libdir} --sbindir=${base_sbindir} \ - --enable-elf-shlibs --disable-libuuid --disable-uuidd \ - --disable-libblkid --enable-verbose-makecmds" - -EXTRA_OECONF_darwin = "--libdir=${base_libdir} --sbindir=${base_sbindir} --enable-bsd-shlibs" - -PACKAGECONFIG ??= "" -PACKAGECONFIG[fuse] = '--enable-fuse2fs,--disable-fuse2fs,fuse' - -# make locale rules sometimes fire, sometimes don't as git doesn't preserve -# file mktime. Touch the files introducing non-determinism to the build -do_compile_prepend (){ - find ${S}/po -type f -name "*.po" -exec touch {} + -} - -do_install () { - oe_runmake 'DESTDIR=${D}' install - oe_runmake 'DESTDIR=${D}' install-libs - # We use blkid from util-linux now so remove from here - rm -f ${D}${base_libdir}/libblkid* - rm -rf ${D}${includedir}/blkid - rm -f ${D}${base_libdir}/pkgconfig/blkid.pc - rm -f ${D}${base_sbindir}/blkid - rm -f ${D}${base_sbindir}/fsck - rm -f ${D}${base_sbindir}/findfs - - # e2initrd_helper and the pkgconfig files belong in libdir - if [ ! ${D}${libdir} -ef ${D}${base_libdir} ]; then - install -d ${D}${libdir} - mv ${D}${base_libdir}/e2initrd_helper ${D}${libdir} - mv ${D}${base_libdir}/pkgconfig ${D}${libdir} - fi - - oe_multilib_header ext2fs/ext2_types.h - install -d ${D}${base_bindir} - mv ${D}${bindir}/chattr ${D}${base_bindir}/chattr.e2fsprogs - - install -v -m 755 ${S}/contrib/populate-extfs.sh ${D}${base_sbindir}/ - - # Clean host path (build directory) in compile_et, mk_cmds - sed -i -e "s,\(ET_DIR=.*\)${S}/lib/et\(.*\),\1${datadir}/et\2,g" ${D}${bindir}/compile_et - sed -i -e "s,\(SS_DIR=.*\)${S}/lib/ss\(.*\),\1${datadir}/ss\2,g" ${D}${bindir}/mk_cmds -} - -# Need to find the right mke2fs.conf file -e2fsprogs_conf_fixup () { - for i in mke2fs mkfs.ext2 mkfs.ext3 mkfs.ext4; do - create_wrapper ${D}${base_sbindir}/$i MKE2FS_CONFIG=${sysconfdir}/mke2fs.conf - done -} - -do_install_append_class-native() { - e2fsprogs_conf_fixup -} - -do_install_append_class-nativesdk() { - e2fsprogs_conf_fixup -} - -do_install_append_class-target() { - mv ${D}${base_sbindir}/mke2fs ${D}${base_sbindir}/mke2fs.e2fsprogs - mv ${D}${base_sbindir}/mkfs.ext2 ${D}${base_sbindir}/mkfs.ext2.e2fsprogs - mv ${D}${base_sbindir}/tune2fs ${D}${base_sbindir}/tune2fs.e2fsprogs -} - -RDEPENDS_e2fsprogs = "e2fsprogs-badblocks" -RRECOMMENDS_e2fsprogs = "e2fsprogs-mke2fs e2fsprogs-e2fsck" - -PACKAGES =+ "e2fsprogs-e2fsck e2fsprogs-mke2fs e2fsprogs-tune2fs e2fsprogs-badblocks e2fsprogs-resize2fs" -PACKAGES =+ "libcomerr libss libe2p libext2fs" - -FILES_e2fsprogs-resize2fs = "${base_sbindir}/resize2fs*" -FILES_e2fsprogs-e2fsck = "${base_sbindir}/e2fsck ${base_sbindir}/fsck.ext*" -FILES_e2fsprogs-mke2fs = "${base_sbindir}/mke2fs.e2fsprogs ${base_sbindir}/mkfs.ext* ${sysconfdir}/mke2fs.conf" -FILES_e2fsprogs-tune2fs = "${base_sbindir}/tune2fs.e2fsprogs ${base_sbindir}/e2label" -FILES_e2fsprogs-badblocks = "${base_sbindir}/badblocks" -FILES_libcomerr = "${base_libdir}/libcom_err.so.*" -FILES_libss = "${base_libdir}/libss.so.*" -FILES_libe2p = "${base_libdir}/libe2p.so.*" -FILES_libext2fs = "${libdir}/e2initrd_helper ${base_libdir}/libext2fs.so.*" -FILES_${PN}-dev += "${datadir}/*/*.awk ${datadir}/*/*.sed ${base_libdir}/*.so ${bindir}/compile_et ${bindir}/mk_cmds" - -ALTERNATIVE_${PN} = "chattr" -ALTERNATIVE_PRIORITY = "100" -ALTERNATIVE_LINK_NAME[chattr] = "${base_bindir}/chattr" -ALTERNATIVE_TARGET[chattr] = "${base_bindir}/chattr.e2fsprogs" - -ALTERNATIVE_${PN}-doc = "fsck.8" -ALTERNATIVE_LINK_NAME[fsck.8] = "${mandir}/man8/fsck.8" - -ALTERNATIVE_${PN}-mke2fs = "mke2fs mkfs.ext2" -ALTERNATIVE_LINK_NAME[mke2fs] = "${base_sbindir}/mke2fs" -ALTERNATIVE_LINK_NAME[mkfs.ext2] = "${base_sbindir}/mkfs.ext2" - -ALTERNATIVE_${PN}-tune2fs = "tune2fs" -ALTERNATIVE_LINK_NAME[tune2fs] = "${base_sbindir}/tune2fs" - -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 -} - -do_install_ptest() { - cp -R --no-dereference --preserve=mode,links -v ${B}/tests ${D}${PTEST_PATH}/test - cp -R --no-dereference --preserve=mode,links -v ${S}/tests/* ${D}${PTEST_PATH}/test - sed -e 's!../e2fsck/e2fsck!e2fsck!g' \ - -e 's!../misc/tune2fs!tune2fs!g' -i ${D}${PTEST_PATH}/test/*/expect* - sed -e 's!../e2fsck/e2fsck!${base_sbindir}/e2fsck!g' -i ${D}${PTEST_PATH}/test/*/script - - # Remove various files - find "${D}${PTEST_PATH}" -type f \ - \( -name 'Makefile' -o -name 'Makefile.in' -o -name '*.o' -o -name '*.c' -o -name '*.h' \)\ - -exec rm -f {} + - - install -d ${D}${PTEST_PATH}/lib - install -m 0644 ${B}/lib/config.h ${D}${PTEST_PATH}/lib/ -} diff --git a/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.45.3.bb b/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.45.3.bb new file mode 100644 index 000000000..fdc9454b5 --- /dev/null +++ b/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.45.3.bb @@ -0,0 +1,138 @@ +require e2fsprogs.inc + +SRC_URI += "file://remove.ldconfig.call.patch \ + file://run-ptest \ + file://ptest.patch \ + file://mkdir_p.patch \ + file://0001-misc-create_inode.c-set-dir-s-mode-correctly.patch \ + " + +SRC_URI_append_class-native = " file://e2fsprogs-fix-missing-check-for-permission-denied.patch \ + file://quiet-debugfs.patch \ +" + +SRCREV = "1f56fb81236fe3e25e2c60c1e89ea0aa7cb36260" +UPSTREAM_CHECK_GITTAGREGEX = "v(?P\d+\.\d+(\.\d+)*)$" + +EXTRA_OECONF += "--libdir=${base_libdir} --sbindir=${base_sbindir} \ + --enable-elf-shlibs --disable-libuuid --disable-uuidd \ + --disable-libblkid --enable-verbose-makecmds \ + --with-crond-dir=no" + +EXTRA_OECONF_darwin = "--libdir=${base_libdir} --sbindir=${base_sbindir} --enable-bsd-shlibs" + +PACKAGECONFIG ??= "" +PACKAGECONFIG[fuse] = '--enable-fuse2fs,--disable-fuse2fs,fuse' + +# make locale rules sometimes fire, sometimes don't as git doesn't preserve +# file mktime. Touch the files introducing non-determinism to the build +do_compile_prepend (){ + find ${S}/po -type f -name "*.po" -exec touch {} + +} + +do_install () { + oe_runmake 'DESTDIR=${D}' install + oe_runmake 'DESTDIR=${D}' install-libs + # We use blkid from util-linux now so remove from here + rm -f ${D}${base_libdir}/libblkid* + rm -rf ${D}${includedir}/blkid + rm -f ${D}${base_libdir}/pkgconfig/blkid.pc + rm -f ${D}${base_sbindir}/blkid + rm -f ${D}${base_sbindir}/fsck + rm -f ${D}${base_sbindir}/findfs + + # e2initrd_helper and the pkgconfig files belong in libdir + if [ ! ${D}${libdir} -ef ${D}${base_libdir} ]; then + install -d ${D}${libdir} + mv ${D}${base_libdir}/e2initrd_helper ${D}${libdir} + mv ${D}${base_libdir}/pkgconfig ${D}${libdir} + fi + + oe_multilib_header ext2fs/ext2_types.h + install -d ${D}${base_bindir} + mv ${D}${bindir}/chattr ${D}${base_bindir}/chattr.e2fsprogs + + install -v -m 755 ${S}/contrib/populate-extfs.sh ${D}${base_sbindir}/ + + # Clean host path (build directory) in compile_et, mk_cmds + sed -i -e "s,\(ET_DIR=.*\)${S}/lib/et\(.*\),\1${datadir}/et\2,g" ${D}${bindir}/compile_et + sed -i -e "s,\(SS_DIR=.*\)${S}/lib/ss\(.*\),\1${datadir}/ss\2,g" ${D}${bindir}/mk_cmds +} + +# Need to find the right mke2fs.conf file +e2fsprogs_conf_fixup () { + for i in mke2fs mkfs.ext2 mkfs.ext3 mkfs.ext4; do + create_wrapper ${D}${base_sbindir}/$i MKE2FS_CONFIG=${sysconfdir}/mke2fs.conf + done +} + +do_install_append_class-native() { + e2fsprogs_conf_fixup +} + +do_install_append_class-nativesdk() { + e2fsprogs_conf_fixup +} + +do_install_append_class-target() { + mv ${D}${base_sbindir}/mke2fs ${D}${base_sbindir}/mke2fs.e2fsprogs + mv ${D}${base_sbindir}/mkfs.ext2 ${D}${base_sbindir}/mkfs.ext2.e2fsprogs + mv ${D}${base_sbindir}/tune2fs ${D}${base_sbindir}/tune2fs.e2fsprogs +} + +RDEPENDS_e2fsprogs = "e2fsprogs-badblocks" +RRECOMMENDS_e2fsprogs = "e2fsprogs-mke2fs e2fsprogs-e2fsck" + +PACKAGES =+ "e2fsprogs-e2fsck e2fsprogs-e2scrub e2fsprogs-mke2fs e2fsprogs-tune2fs e2fsprogs-badblocks e2fsprogs-resize2fs" +PACKAGES =+ "libcomerr libss libe2p libext2fs" + +FILES_e2fsprogs-resize2fs = "${base_sbindir}/resize2fs*" +FILES_e2fsprogs-e2fsck = "${base_sbindir}/e2fsck ${base_sbindir}/fsck.ext*" +FILES_e2fsprogs-e2scrub = "${base_sbindir}/e2scrub*" +FILES_e2fsprogs-mke2fs = "${base_sbindir}/mke2fs.e2fsprogs ${base_sbindir}/mkfs.ext* ${sysconfdir}/mke2fs.conf" +FILES_e2fsprogs-tune2fs = "${base_sbindir}/tune2fs.e2fsprogs ${base_sbindir}/e2label" +FILES_e2fsprogs-badblocks = "${base_sbindir}/badblocks" +FILES_libcomerr = "${base_libdir}/libcom_err.so.*" +FILES_libss = "${base_libdir}/libss.so.*" +FILES_libe2p = "${base_libdir}/libe2p.so.*" +FILES_libext2fs = "${libdir}/e2initrd_helper ${base_libdir}/libext2fs.so.*" +FILES_${PN}-dev += "${datadir}/*/*.awk ${datadir}/*/*.sed ${base_libdir}/*.so ${bindir}/compile_et ${bindir}/mk_cmds" + +ALTERNATIVE_${PN} = "chattr" +ALTERNATIVE_PRIORITY = "100" +ALTERNATIVE_LINK_NAME[chattr] = "${base_bindir}/chattr" +ALTERNATIVE_TARGET[chattr] = "${base_bindir}/chattr.e2fsprogs" + +ALTERNATIVE_${PN}-doc = "fsck.8" +ALTERNATIVE_LINK_NAME[fsck.8] = "${mandir}/man8/fsck.8" + +ALTERNATIVE_${PN}-mke2fs = "mke2fs mkfs.ext2" +ALTERNATIVE_LINK_NAME[mke2fs] = "${base_sbindir}/mke2fs" +ALTERNATIVE_LINK_NAME[mkfs.ext2] = "${base_sbindir}/mkfs.ext2" + +ALTERNATIVE_${PN}-tune2fs = "tune2fs" +ALTERNATIVE_LINK_NAME[tune2fs] = "${base_sbindir}/tune2fs" + +RDEPENDS_e2fsprogs-e2scrub = "bash" +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 +} + +do_install_ptest() { + cp -R --no-dereference --preserve=mode,links -v ${B}/tests ${D}${PTEST_PATH}/test + cp -R --no-dereference --preserve=mode,links -v ${S}/tests/* ${D}${PTEST_PATH}/test + sed -e 's!../e2fsck/e2fsck!e2fsck!g' \ + -e 's!../misc/tune2fs!tune2fs!g' -i ${D}${PTEST_PATH}/test/*/expect* + sed -e 's!../e2fsck/e2fsck!${base_sbindir}/e2fsck!g' -i ${D}${PTEST_PATH}/test/*/script + + # Remove various files + find "${D}${PTEST_PATH}" -type f \ + \( -name 'Makefile' -o -name 'Makefile.in' -o -name '*.o' -o -name '*.c' -o -name '*.h' \)\ + -exec rm -f {} + + + install -d ${D}${PTEST_PATH}/lib + install -m 0644 ${B}/lib/config.h ${D}${PTEST_PATH}/lib/ +} diff --git a/poky/meta/recipes-devtools/elfutils/elfutils_0.176.bb b/poky/meta/recipes-devtools/elfutils/elfutils_0.176.bb index 75acf59d2..d98457e3f 100644 --- a/poky/meta/recipes-devtools/elfutils/elfutils_0.176.bb +++ b/poky/meta/recipes-devtools/elfutils/elfutils_0.176.bb @@ -142,4 +142,4 @@ INHIBIT_PACKAGE_STRIP_FILES = "\ ${PKGD}${PTEST_PATH}/backends/libebl_x86_64.so \ " -EXCLUDE_PACKAGES_FROM_SHLIBS = "${PN}-ptest" +PRIVATE_LIBS_${PN}-ptest = "libdw.so.1 libelf.so.1" diff --git a/poky/meta/recipes-devtools/gcc/gcc-cross-canadian.inc b/poky/meta/recipes-devtools/gcc/gcc-cross-canadian.inc index 807e47e0e..f14cbf715 100644 --- a/poky/meta/recipes-devtools/gcc/gcc-cross-canadian.inc +++ b/poky/meta/recipes-devtools/gcc/gcc-cross-canadian.inc @@ -63,9 +63,6 @@ do_compile () { (cd ${B}/${TARGET_SYS}/libgcc; oe_runmake enable-execute-stack.c unwind.h md-unwind-support.h sfp-machine.h gthr-default.h) } -# Having anything auto depending on gcc-cross-sdk is a really bad idea... -EXCLUDE_FROM_SHLIBS = "1" - PACKAGES = "${PN}-dbg ${PN} ${PN}-doc" FILES_${PN} = "\ diff --git a/poky/meta/recipes-devtools/gcc/gcc-runtime.inc b/poky/meta/recipes-devtools/gcc/gcc-runtime.inc index a5c2600d7..22c1d78dd 100644 --- a/poky/meta/recipes-devtools/gcc/gcc-runtime.inc +++ b/poky/meta/recipes-devtools/gcc/gcc-runtime.inc @@ -17,6 +17,12 @@ EXTRA_OECONF_PATHS = "\ EXTRA_OECONF_append_linuxstdbase = " --enable-clocale=gnu" EXTRA_OECONF_append = " --cache-file=${B}/config.cache" +# Disable ifuncs for libatomic on arm conflicts -march/-mcpu +EXTRA_OECONF_append_arm = " libat_cv_have_ifunc=no " + +# Building with thumb enabled on armv6t fails +ARM_INSTRUCTION_SET_armv6 = "arm" + RUNTIMELIBITM = "libitm" RUNTIMELIBITM_arc = "" RUNTIMELIBITM_mipsarch = "" @@ -77,6 +83,11 @@ do_install () { cd ${B}/${TARGET_SYS}/$d/ oe_runmake 'DESTDIR=${D}' MULTIBUILDTOP=${B}/${TARGET_SYS}/$d/ install done + if [ -d ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/include ]; then + install -d ${D}${libdir}/${TARGET_SYS}/${BINV}/include + mv ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/include/* ${D}${libdir}/${TARGET_SYS}/${BINV}/include + rmdir --ignore-fail-on-non-empty -p ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/include + fi rm -rf ${D}${infodir}/libgomp.info ${D}${infodir}/dir rm -rf ${D}${infodir}/libitm.info ${D}${infodir}/dir rm -rf ${D}${infodir}/libquadmath.info ${D}${infodir}/dir @@ -205,7 +216,7 @@ FILES_libssp-dev = "\ ${libdir}/libssp*.so \ ${libdir}/libssp*_nonshared.a \ ${libdir}/libssp*.la \ - ${libdir}/gcc/${TARGET_SYS}/${BINV}/include/ssp \ + ${libdir}/${TARGET_SYS}/${BINV}/include/ssp \ " SUMMARY_libssp-dev = "GNU stack smashing protection library - development files" FILES_libssp-staticdev = "${libdir}/libssp*.a" @@ -214,7 +225,7 @@ SUMMARY_libssp-staticdev = "GNU stack smashing protection library - static devel FILES_libquadmath = "${libdir}/libquadmath*.so.*" SUMMARY_libquadmath = "GNU quad-precision math library" FILES_libquadmath-dev = "\ - ${libdir}/gcc/${TARGET_SYS}/${BINV}/include/quadmath* \ + ${libdir}/${TARGET_SYS}/${BINV}/include/quadmath* \ ${libdir}/libquadmath*.so \ ${libdir}/libquadmath.la \ " @@ -239,7 +250,8 @@ FILES_libgomp-dev = "\ ${libdir}/libgomp*${SOLIBSDEV} \ ${libdir}/libgomp*.la \ ${libdir}/libgomp.spec \ - ${libdir}/gcc/${TARGET_SYS}/${BINV}/include/omp.h \ + ${libdir}/${TARGET_SYS}/${BINV}/include/omp.h \ + ${libdir}/${TARGET_SYS}/${BINV}/include/openacc.h \ " SUMMARY_libgomp-dev = "GNU OpenMP parallel programming library - development files" FILES_libgomp-staticdev = "${libdir}/libgomp*.a" diff --git a/poky/meta/recipes-devtools/gcc/gcc-runtime_8.3.bb b/poky/meta/recipes-devtools/gcc/gcc-runtime_8.3.bb index a1c7a76d0..dd430b57e 100644 --- a/poky/meta/recipes-devtools/gcc/gcc-runtime_8.3.bb +++ b/poky/meta/recipes-devtools/gcc/gcc-runtime_8.3.bb @@ -1,12 +1,2 @@ require recipes-devtools/gcc/gcc-${PV}.inc require gcc-runtime.inc - -# Disable ifuncs for libatomic on arm conflicts -march/-mcpu -EXTRA_OECONF_append_arm = " libat_cv_have_ifunc=no " - -FILES_libgomp-dev += "\ - ${libdir}/gcc/${TARGET_SYS}/${BINV}/include/openacc.h \ -" - -# Building with thumb enabled on armv6t fails -ARM_INSTRUCTION_SET_armv6 = "arm" diff --git a/poky/meta/recipes-devtools/gcc/gcc-runtime_9.1.bb b/poky/meta/recipes-devtools/gcc/gcc-runtime_9.1.bb index a1c7a76d0..dd430b57e 100644 --- a/poky/meta/recipes-devtools/gcc/gcc-runtime_9.1.bb +++ b/poky/meta/recipes-devtools/gcc/gcc-runtime_9.1.bb @@ -1,12 +1,2 @@ require recipes-devtools/gcc/gcc-${PV}.inc require gcc-runtime.inc - -# Disable ifuncs for libatomic on arm conflicts -march/-mcpu -EXTRA_OECONF_append_arm = " libat_cv_have_ifunc=no " - -FILES_libgomp-dev += "\ - ${libdir}/gcc/${TARGET_SYS}/${BINV}/include/openacc.h \ -" - -# Building with thumb enabled on armv6t fails -ARM_INSTRUCTION_SET_armv6 = "arm" diff --git a/poky/meta/recipes-devtools/gdb/gdb-8.3.inc b/poky/meta/recipes-devtools/gdb/gdb-8.3.inc index a5ef936fb..070c17d4a 100644 --- a/poky/meta/recipes-devtools/gdb/gdb-8.3.inc +++ b/poky/meta/recipes-devtools/gdb/gdb-8.3.inc @@ -4,7 +4,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \ file://COPYING3.LIB;md5=6a6a8e020838b23406c81b19c1d46df6 \ file://COPYING.LIB;md5=9f604d8a4f8e74f4f5140845a21b6674" -SRC_URI = "http://ftp.gnu.org/gnu/gdb/gdb-${PV}.tar.xz \ +SRC_URI = "${GNU_MIRROR}/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 \ diff --git a/poky/meta/recipes-devtools/gdb/gdb_8.3.bb b/poky/meta/recipes-devtools/gdb/gdb_8.3.bb index c6eac84dd..d70757a15 100644 --- a/poky/meta/recipes-devtools/gdb/gdb_8.3.bb +++ b/poky/meta/recipes-devtools/gdb/gdb_8.3.bb @@ -26,4 +26,3 @@ EOF chmod +x ${WORKDIR}/python fi } -CPPFLAGS_append_libc-musl = " -Drpl_gettimeofday=gettimeofday -Drpl_stat=stat" diff --git a/poky/meta/recipes-devtools/git/git_2.22.0.bb b/poky/meta/recipes-devtools/git/git_2.22.0.bb deleted file mode 100644 index 9e55fd6ea..000000000 --- a/poky/meta/recipes-devtools/git/git_2.22.0.bb +++ /dev/null @@ -1,11 +0,0 @@ -require git.inc - -EXTRA_OECONF += "ac_cv_snprintf_returns_bogus=no \ - ac_cv_fread_reads_directories=${ac_cv_fread_reads_directories=yes} \ - " -EXTRA_OEMAKE += "NO_GETTEXT=1" - -SRC_URI[tarball.md5sum] = "6deab33485c07cb3391ea0f255a936f2" -SRC_URI[tarball.sha256sum] = "a4b7e4365bee43caa12a38d646d2c93743d755d1cea5eab448ffb40906c9da0b" -SRC_URI[manpages.md5sum] = "d6cb42f12185a47ce3adaac24a1ded50" -SRC_URI[manpages.sha256sum] = "f6a5750dfc4a0aa5ec0c0cc495d4995d1f36ed47591c3941be9756c1c3a1aa0a" diff --git a/poky/meta/recipes-devtools/git/git_2.22.1.bb b/poky/meta/recipes-devtools/git/git_2.22.1.bb new file mode 100644 index 000000000..e0ed146b2 --- /dev/null +++ b/poky/meta/recipes-devtools/git/git_2.22.1.bb @@ -0,0 +1,11 @@ +require git.inc + +EXTRA_OECONF += "ac_cv_snprintf_returns_bogus=no \ + ac_cv_fread_reads_directories=${ac_cv_fread_reads_directories=yes} \ + " +EXTRA_OEMAKE += "NO_GETTEXT=1" + +SRC_URI[tarball.md5sum] = "b379ee9b8c7733d01fc49998148621ef" +SRC_URI[tarball.sha256sum] = "83bf264bfa4573faddb396cbc7f5518db082f9573aa3c8ea08b8a30d23a46adc" +SRC_URI[manpages.md5sum] = "70aaf2da41c21b0864e9b1bb8231172c" +SRC_URI[manpages.sha256sum] = "228da34377a6795619e1822a4fad00c87300135b811643bdb816afe4a92040f9" diff --git a/poky/meta/recipes-devtools/go/go-runtime.inc b/poky/meta/recipes-devtools/go/go-runtime.inc index e28219561..9731e164e 100644 --- a/poky/meta/recipes-devtools/go/go-runtime.inc +++ b/poky/meta/recipes-devtools/go/go-runtime.inc @@ -59,6 +59,9 @@ do_install() { done find ${D}${libdir}/go/src -depth -type d -name testdata -exec rm -rf {} \; rm -f ${D}${libdir}/go/src/cmd/dist/dist + rm -f ${D}${libdir}/go/src/cmd/cgo/zdefaultcc.go + rm -f ${D}${libdir}/go/src/cmd/go/internal/cfg/zdefaultcc.go + } ALLOW_EMPTY_${PN} = "1" diff --git a/poky/meta/recipes-devtools/libedit/libedit/stdc-predef.patch b/poky/meta/recipes-devtools/libedit/libedit/stdc-predef.patch new file mode 100644 index 000000000..75ef308fa --- /dev/null +++ b/poky/meta/recipes-devtools/libedit/libedit/stdc-predef.patch @@ -0,0 +1,18 @@ +__STDC_ISO_10646__ is defined in stdc-predef.h +therefore include it to see if its there on a platform + +Upstream-Status: Pending +Signed-off-by: Khem Raj + +Index: libedit-20160903-3.1/src/chartype.h +=================================================================== +--- libedit-20160903-3.1.orig/src/chartype.h ++++ libedit-20160903-3.1/src/chartype.h +@@ -29,6 +29,7 @@ + #ifndef _h_chartype_f + #define _h_chartype_f + ++#include + /* Ideally we should also test the value of the define to see if it + * supports non-BMP code points without requiring UTF-16, but nothing + * seems to actually advertise this properly, despite Unicode 3.1 having diff --git a/poky/meta/recipes-devtools/libedit/libedit_20190324-3.1.bb b/poky/meta/recipes-devtools/libedit/libedit_20190324-3.1.bb new file mode 100644 index 000000000..6a599ebca --- /dev/null +++ b/poky/meta/recipes-devtools/libedit/libedit_20190324-3.1.bb @@ -0,0 +1,21 @@ +SUMMARY = "BSD replacement for libreadline" +DESCRIPTION = "Command line editor library providing generic line editing, \ +history, and tokenization functions" +HOMEPAGE = "http://www.thrysoee.dk/editline/" +SECTION = "libs" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://COPYING;md5=1e4228d0c5a9093b01aeaaeae6641533" + +DEPENDS = "ncurses" + +inherit autotools + +# upstream site does not allow wget's User-Agent +FETCHCMD_wget += "-U bitbake" +SRC_URI = "http://www.thrysoee.dk/editline/${BP}.tar.gz \ + file://stdc-predef.patch \ + " +SRC_URI[md5sum] = "bec755c8044ad84b752dfe49a0b371d8" +SRC_URI[sha256sum] = "ac8f0f51c1cf65492e4d1e3ed2be360bda41e54633444666422fbf393bba1bae" + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/libmodulemd/libmodulemd/0002-modulemd-v1-meson.build-do-not-generate-gir-or-gtkdo.patch b/poky/meta/recipes-devtools/libmodulemd/libmodulemd/0002-modulemd-v1-meson.build-do-not-generate-gir-or-gtkdo.patch index a3e62bf52..0b7535624 100644 --- a/poky/meta/recipes-devtools/libmodulemd/libmodulemd/0002-modulemd-v1-meson.build-do-not-generate-gir-or-gtkdo.patch +++ b/poky/meta/recipes-devtools/libmodulemd/libmodulemd/0002-modulemd-v1-meson.build-do-not-generate-gir-or-gtkdo.patch @@ -1,4 +1,4 @@ -From b77c9c3d07430b014b2d1bff42027f483c81f15a Mon Sep 17 00:00:00 2001 +From 4a2a592c5a3898df37ff231d9c410f0fd32f5d5d Mon Sep 17 00:00:00 2001 From: Alexander Kanavin Date: Tue, 6 Nov 2018 13:43:00 +0100 Subject: [PATCH] modulemd/v[12]/meson.build: do not generate gtkdoc or python @@ -10,13 +10,13 @@ Upstream-Status: Inappropriate [oe-core specific] Signed-off-by: Alexander Kanavin --- - meson.build | 3 +-- - modulemd/v1/meson.build | 8 -------- - modulemd/v2/meson.build | 8 -------- - 3 files changed, 1 insertion(+), 18 deletions(-) + meson.build | 3 +-- + modulemd/v1/meson.build | 8 -------- + modulemd/v2/meson.build | 12 ------------ + 3 files changed, 1 insertion(+), 22 deletions(-) diff --git a/meson.build b/meson.build -index 228bd34..a1e60bb 100644 +index 5a0cd3d..f51b16e 100644 --- a/meson.build +++ b/meson.build @@ -52,7 +52,6 @@ gnome = import('gnome') @@ -27,17 +27,17 @@ index 228bd34..a1e60bb 100644 sh = find_program('sh') sed = find_program('sed') -@@ -110,4 +109,4 @@ configure_file( +@@ -127,4 +126,4 @@ configure_file( ) subdir('modulemd') -subdir('bindings/python') + diff --git a/modulemd/v1/meson.build b/modulemd/v1/meson.build -index 74db89a..4d54e69 100644 +index ddc95a1..e85fafd 100644 --- a/modulemd/v1/meson.build +++ b/modulemd/v1/meson.build -@@ -341,11 +341,3 @@ configure_file( +@@ -356,11 +356,3 @@ configure_file( configuration : xcdata ) @@ -50,10 +50,10 @@ index 74db89a..4d54e69 100644 -) - diff --git a/modulemd/v2/meson.build b/modulemd/v2/meson.build -index 7b94e0c..c5f72b9 100644 +index 93c7fbd..0d9ed24 100644 --- a/modulemd/v2/meson.build +++ b/modulemd/v2/meson.build -@@ -530,11 +530,3 @@ configure_file( +@@ -285,15 +285,3 @@ configure_file( configuration : xcdata ) @@ -62,6 +62,10 @@ index 7b94e0c..c5f72b9 100644 - install_dir: 'modulemd-2.0', - src_dir : './modulemd/v2', - main_xml : 'modulemd-v2-docs.xml', +- gobject_typesfile : join_paths(meson.current_build_dir(), 'modulemd-2.0.types'), +- dependencies : [ +- modulemd_v2_dep, +- ], - install : true, -) - diff --git a/poky/meta/recipes-devtools/libmodulemd/libmodulemd_git.bb b/poky/meta/recipes-devtools/libmodulemd/libmodulemd_git.bb index 7e8aea7be..9ac7e140a 100644 --- a/poky/meta/recipes-devtools/libmodulemd/libmodulemd_git.bb +++ b/poky/meta/recipes-devtools/libmodulemd/libmodulemd_git.bb @@ -8,8 +8,8 @@ SRC_URI = "git://github.com/fedora-modularity/libmodulemd;protocol=https \ file://0001-v1-meson.build-explicitly-specify-the-v1-library-in-.patch \ " -PV = "2.5.0" -SRCREV = "8d9a99ddf037df7c032119cdd3a87238a3cc9090" +PV = "2.6.0" +SRCREV = "7c7f88258491866cdb86d26cadfce37a78f242ec" S = "${WORKDIR}/git" diff --git a/poky/meta/recipes-devtools/librepo/librepo_1.10.4.bb b/poky/meta/recipes-devtools/librepo/librepo_1.10.4.bb deleted file mode 100644 index 50c9a82e7..000000000 --- a/poky/meta/recipes-devtools/librepo/librepo_1.10.4.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 = "9b2df22dbcdf9352672334098fff56335aa10423" - -S = "${WORKDIR}/git" - -DEPENDS = "curl glib-2.0 openssl attr gpgme libxml2" - -inherit cmake distutils3-base pkgconfig - -EXTRA_OECMAKE = " -DPYTHON_INSTALL_DIR=${PYTHON_SITEPACKAGES_DIR} -DPYTHON_DESIRED=3 -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DWITH_ZCHUNK=OFF" - -BBCLASSEXTEND = "native nativesdk" - diff --git a/poky/meta/recipes-devtools/librepo/librepo_1.10.5.bb b/poky/meta/recipes-devtools/librepo/librepo_1.10.5.bb new file mode 100644 index 000000000..87d64bf3a --- /dev/null +++ b/poky/meta/recipes-devtools/librepo/librepo_1.10.5.bb @@ -0,0 +1,27 @@ +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 = "385e2ced1083cac0bcb19e30500311f6923e6dfc" + +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/llvm/llvm/0001-llvm-TargetLibraryInfo-Undefine-libc-functions-if-th.patch b/poky/meta/recipes-devtools/llvm/llvm/0001-llvm-TargetLibraryInfo-Undefine-libc-functions-if-th.patch deleted file mode 100644 index 6dbbced7e..000000000 --- a/poky/meta/recipes-devtools/llvm/llvm/0001-llvm-TargetLibraryInfo-Undefine-libc-functions-if-th.patch +++ /dev/null @@ -1,91 +0,0 @@ -From 905cac8934fb17e20416a4df712a566e757471a3 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Sat, 21 May 2016 00:33:20 +0000 -Subject: [PATCH 1/2] llvm: TargetLibraryInfo: Undefine libc functions if they are macros - -musl defines some functions as macros and not inline functions -if this is the case then make sure to undefine them - -Upstream-Status: Pending -Signed-off-by: Khem Raj ---- - include/llvm/Analysis/TargetLibraryInfo.def | 21 +++++++++++++++++++++ - 1 file changed, 21 insertions(+) - -diff --git a/include/llvm/Analysis/TargetLibraryInfo.def b/include/llvm/Analysis/TargetLibraryInfo.def -index 518a85ee1a0..6b4ead4efc6 100644 ---- a/include/llvm/Analysis/TargetLibraryInfo.def -+++ b/include/llvm/Analysis/TargetLibraryInfo.def -@@ -731,6 +731,9 @@ TLI_DEFINE_STRING_INTERNAL("fmodl") - TLI_DEFINE_ENUM_INTERNAL(fopen) - TLI_DEFINE_STRING_INTERNAL("fopen") - /// FILE *fopen64(const char *filename, const char *opentype) -+#ifdef fopen64 -+#undef fopen64 -+#endif - TLI_DEFINE_ENUM_INTERNAL(fopen64) - TLI_DEFINE_STRING_INTERNAL("fopen64") - /// int fork(); -@@ -778,6 +781,9 @@ TLI_DEFINE_STRING_INTERNAL("fseek") - /// int fseeko(FILE *stream, off_t offset, int whence); - TLI_DEFINE_ENUM_INTERNAL(fseeko) - TLI_DEFINE_STRING_INTERNAL("fseeko") -+#ifdef fseeko64 -+#undef fseeko64 -+#endif - /// int fseeko64(FILE *stream, off64_t offset, int whence) - TLI_DEFINE_ENUM_INTERNAL(fseeko64) - TLI_DEFINE_STRING_INTERNAL("fseeko64") -@@ -788,6 +794,9 @@ TLI_DEFINE_STRING_INTERNAL("fsetpos") - TLI_DEFINE_ENUM_INTERNAL(fstat) - TLI_DEFINE_STRING_INTERNAL("fstat") - /// int fstat64(int filedes, struct stat64 *buf) -+#ifdef fstat64 -+#undef fstat64 -+#endif - TLI_DEFINE_ENUM_INTERNAL(fstat64) - TLI_DEFINE_STRING_INTERNAL("fstat64") - /// int fstatvfs(int fildes, struct statvfs *buf); -@@ -803,6 +812,9 @@ TLI_DEFINE_STRING_INTERNAL("ftell") - TLI_DEFINE_ENUM_INTERNAL(ftello) - TLI_DEFINE_STRING_INTERNAL("ftello") - /// off64_t ftello64(FILE *stream) -+#ifdef ftello64 -+#undef ftello64 -+#endif - TLI_DEFINE_ENUM_INTERNAL(ftello64) - TLI_DEFINE_STRING_INTERNAL("ftello64") - /// int ftrylockfile(FILE *file); -@@ -929,6 +941,9 @@ TLI_DEFINE_STRING_INTERNAL("logl") - TLI_DEFINE_ENUM_INTERNAL(lstat) - TLI_DEFINE_STRING_INTERNAL("lstat") - /// int lstat64(const char *path, struct stat64 *buf); -+#ifdef lstat64 -+#undef lstat64 -+#endif - TLI_DEFINE_ENUM_INTERNAL(lstat64) - TLI_DEFINE_STRING_INTERNAL("lstat64") - /// void *malloc(size_t size); -@@ -1154,6 +1169,9 @@ TLI_DEFINE_STRING_INTERNAL("sscanf") - TLI_DEFINE_ENUM_INTERNAL(stat) - TLI_DEFINE_STRING_INTERNAL("stat") - /// int stat64(const char *path, struct stat64 *buf); -+#ifdef stat64 -+#undef stat64 -+#endif - TLI_DEFINE_ENUM_INTERNAL(stat64) - TLI_DEFINE_STRING_INTERNAL("stat64") - /// int statvfs(const char *path, struct statvfs *buf); -@@ -1283,6 +1301,9 @@ TLI_DEFINE_STRING_INTERNAL("times") - TLI_DEFINE_ENUM_INTERNAL(tmpfile) - TLI_DEFINE_STRING_INTERNAL("tmpfile") - /// FILE *tmpfile64(void) -+#ifdef tmpfile64 -+#undef tmpfile64 -+#endif - TLI_DEFINE_ENUM_INTERNAL(tmpfile64) - TLI_DEFINE_STRING_INTERNAL("tmpfile64") - /// int toascii(int c); --- -2.20.1 - diff --git a/poky/meta/recipes-devtools/llvm/llvm/0002-llvm-allow-env-override-of-exe-path.patch b/poky/meta/recipes-devtools/llvm/llvm/0002-llvm-allow-env-override-of-exe-path.patch deleted file mode 100644 index 1369bcf78..000000000 --- a/poky/meta/recipes-devtools/llvm/llvm/0002-llvm-allow-env-override-of-exe-path.patch +++ /dev/null @@ -1,114 +0,0 @@ -From 0570fe02c07244a8724c1e6c0437f893c8aa8e93 Mon Sep 17 00:00:00 2001 -From: Martin Kelly -Date: Fri, 19 May 2017 00:22:57 -0700 -Subject: [PATCH 2/2] llvm: allow env override of exe path - -When using a native llvm-config from inside a sysroot, we need llvm-config to -return the libraries, include directories, etc. from inside the sysroot rather -than from the native sysroot. Thus provide an env override for calling -llvm-config from a target sysroot. - -To let it work in multilib environment, we need to provide a knob to supply -multilib dirname as well - -Upstream-Status: Inappropriate [OE-Specific] - -Signed-off-by: Martin Kelly -Signed-off-by: Khem Raj ---- - tools/llvm-config/llvm-config.cpp | 35 ++++++++++++++++++++++--------- - 1 file changed, 25 insertions(+), 10 deletions(-) - -diff --git a/tools/llvm-config/llvm-config.cpp b/tools/llvm-config/llvm-config.cpp -index bec89fef98c..91b4d6e4c43 100644 ---- a/tools/llvm-config/llvm-config.cpp -+++ b/tools/llvm-config/llvm-config.cpp -@@ -226,6 +226,13 @@ Typical components:\n\ - - /// Compute the path to the main executable. - std::string GetExecutablePath(const char *Argv0) { -+ // Hack for Yocto: we need to override the root path when we are using -+ // llvm-config from within a target sysroot. -+ const char *Sysroot = std::getenv("YOCTO_ALTERNATE_EXE_PATH"); -+ if (Sysroot != nullptr) { -+ return Sysroot; -+ } -+ - // This just needs to be some symbol in the binary; C++ doesn't - // allow taking the address of ::main however. - void *P = (void *)(intptr_t)GetExecutablePath; -@@ -284,7 +291,7 @@ int main(int argc, char **argv) { - // bin dir). - sys::fs::make_absolute(CurrentPath); - CurrentExecPrefix = -- sys::path::parent_path(sys::path::parent_path(CurrentPath)).str(); -+ sys::path::parent_path(sys::path::parent_path(sys::path::parent_path(CurrentPath))).str(); - - // Check to see if we are inside a development tree by comparing to possible - // locations (prefix style or CMake style). -@@ -293,7 +300,7 @@ int main(int argc, char **argv) { - DevelopmentTreeLayout = CMakeStyle; - ActiveObjRoot = LLVM_OBJ_ROOT; - } else if (sys::fs::equivalent(CurrentExecPrefix, -- Twine(LLVM_OBJ_ROOT) + "/bin")) { -+ Twine(LLVM_OBJ_ROOT) + "/bin/llvm8.0.0")) { - IsInDevelopmentTree = true; - DevelopmentTreeLayout = CMakeBuildModeStyle; - ActiveObjRoot = LLVM_OBJ_ROOT; -@@ -307,37 +314,45 @@ int main(int argc, char **argv) { - std::string ActivePrefix, ActiveBinDir, ActiveIncludeDir, ActiveLibDir, - ActiveCMakeDir; - std::string ActiveIncludeOption; -+ // Hack for Yocto: we need to override the multilib path when we are using -+ // llvm-config from within a target sysroot. -+ std::string Multilibdir = std::getenv("YOCTO_ALTERNATE_MULTILIB_NAME"); -+ if (Multilibdir.empty()) { -+ Multilibdir = "/lib/llvm8.0.0" LLVM_LIBDIR_SUFFIX; -+ } -+ - if (IsInDevelopmentTree) { -- ActiveIncludeDir = std::string(LLVM_SRC_ROOT) + "/include"; -+ ActiveIncludeDir = std::string(LLVM_SRC_ROOT) + "/include/llvm8.0.0"; - ActivePrefix = CurrentExecPrefix; - - // CMake organizes the products differently than a normal prefix style - // layout. -+ - switch (DevelopmentTreeLayout) { - case CMakeStyle: -- ActiveBinDir = ActiveObjRoot + "/bin"; -- ActiveLibDir = ActiveObjRoot + "/lib" + LLVM_LIBDIR_SUFFIX; -+ ActiveBinDir = ActiveObjRoot + "/bin/llvm8.0.0"; -+ ActiveLibDir = ActiveObjRoot + "/lib/llvm8.0.0" + LLVM_LIBDIR_SUFFIX; - ActiveCMakeDir = ActiveLibDir + "/cmake/llvm"; - break; - case CMakeBuildModeStyle: - ActivePrefix = ActiveObjRoot; -- ActiveBinDir = ActiveObjRoot + "/bin/" + build_mode; -+ ActiveBinDir = ActiveObjRoot + "/bin/llvm8.0.0/" + build_mode; - ActiveLibDir = -- ActiveObjRoot + "/lib" + LLVM_LIBDIR_SUFFIX + "/" + build_mode; -+ ActiveObjRoot + "/lib/llvm8.0.0" + LLVM_LIBDIR_SUFFIX + "/" + build_mode; - ActiveCMakeDir = ActiveLibDir + "/cmake/llvm"; - break; - } - - // We need to include files from both the source and object trees. - ActiveIncludeOption = -- ("-I" + ActiveIncludeDir + " " + "-I" + ActiveObjRoot + "/include"); -+ ("-I" + ActiveIncludeDir + " " + "-I" + ActiveObjRoot + "/include/llvm8.0.0"); - } else { - ActivePrefix = CurrentExecPrefix; -- ActiveIncludeDir = ActivePrefix + "/include"; -+ ActiveIncludeDir = ActivePrefix + "/include/llvm8.0.0"; - SmallString<256> path(StringRef(LLVM_TOOLS_INSTALL_DIR)); - sys::fs::make_absolute(ActivePrefix, path); - ActiveBinDir = path.str(); -- ActiveLibDir = ActivePrefix + "/lib" + LLVM_LIBDIR_SUFFIX; -+ ActiveLibDir = ActivePrefix + Multilibdir; - ActiveCMakeDir = ActiveLibDir + "/cmake/llvm"; - ActiveIncludeOption = "-I" + ActiveIncludeDir; - } --- -2.20.1 - diff --git a/poky/meta/recipes-devtools/llvm/llvm/0006-llvm-TargetLibraryInfo-Undefine-libc-functions-if-th.patch b/poky/meta/recipes-devtools/llvm/llvm/0006-llvm-TargetLibraryInfo-Undefine-libc-functions-if-th.patch new file mode 100644 index 000000000..789c30886 --- /dev/null +++ b/poky/meta/recipes-devtools/llvm/llvm/0006-llvm-TargetLibraryInfo-Undefine-libc-functions-if-th.patch @@ -0,0 +1,92 @@ +From 4c08879d2dfbe7face4e679ac8499dc7bff2dd20 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sat, 21 May 2016 00:33:20 +0000 +Subject: [PATCH 06/19] llvm: TargetLibraryInfo: Undefine libc functions if + they are macros + +musl defines some functions as macros and not inline functions +if this is the case then make sure to undefine them + +Upstream-Status: Pending +Signed-off-by: Khem Raj +--- + .../llvm/Analysis/TargetLibraryInfo.def | 21 +++++++++++++++++++ + 1 file changed, 21 insertions(+) + +diff --git a/llvm/include/llvm/Analysis/TargetLibraryInfo.def b/llvm/include/llvm/Analysis/TargetLibraryInfo.def +index afed404f04c..876888656f2 100644 +--- a/llvm/include/llvm/Analysis/TargetLibraryInfo.def ++++ b/llvm/include/llvm/Analysis/TargetLibraryInfo.def +@@ -782,6 +782,9 @@ TLI_DEFINE_STRING_INTERNAL("fmodl") + TLI_DEFINE_ENUM_INTERNAL(fopen) + TLI_DEFINE_STRING_INTERNAL("fopen") + /// FILE *fopen64(const char *filename, const char *opentype) ++#ifdef fopen64 ++#undef fopen64 ++#endif + TLI_DEFINE_ENUM_INTERNAL(fopen64) + TLI_DEFINE_STRING_INTERNAL("fopen64") + /// int fork(); +@@ -829,6 +832,9 @@ TLI_DEFINE_STRING_INTERNAL("fseek") + /// int fseeko(FILE *stream, off_t offset, int whence); + TLI_DEFINE_ENUM_INTERNAL(fseeko) + TLI_DEFINE_STRING_INTERNAL("fseeko") ++#ifdef fseeko64 ++#undef fseeko64 ++#endif + /// int fseeko64(FILE *stream, off64_t offset, int whence) + TLI_DEFINE_ENUM_INTERNAL(fseeko64) + TLI_DEFINE_STRING_INTERNAL("fseeko64") +@@ -839,6 +845,9 @@ TLI_DEFINE_STRING_INTERNAL("fsetpos") + TLI_DEFINE_ENUM_INTERNAL(fstat) + TLI_DEFINE_STRING_INTERNAL("fstat") + /// int fstat64(int filedes, struct stat64 *buf) ++#ifdef fstat64 ++#undef fstat64 ++#endif + TLI_DEFINE_ENUM_INTERNAL(fstat64) + TLI_DEFINE_STRING_INTERNAL("fstat64") + /// int fstatvfs(int fildes, struct statvfs *buf); +@@ -854,6 +863,9 @@ TLI_DEFINE_STRING_INTERNAL("ftell") + TLI_DEFINE_ENUM_INTERNAL(ftello) + TLI_DEFINE_STRING_INTERNAL("ftello") + /// off64_t ftello64(FILE *stream) ++#ifdef ftello64 ++#undef ftello64 ++#endif + TLI_DEFINE_ENUM_INTERNAL(ftello64) + TLI_DEFINE_STRING_INTERNAL("ftello64") + /// int ftrylockfile(FILE *file); +@@ -980,6 +992,9 @@ TLI_DEFINE_STRING_INTERNAL("logl") + TLI_DEFINE_ENUM_INTERNAL(lstat) + TLI_DEFINE_STRING_INTERNAL("lstat") + /// int lstat64(const char *path, struct stat64 *buf); ++#ifdef lstat64 ++#undef lstat64 ++#endif + TLI_DEFINE_ENUM_INTERNAL(lstat64) + TLI_DEFINE_STRING_INTERNAL("lstat64") + /// void *malloc(size_t size); +@@ -1205,6 +1220,9 @@ TLI_DEFINE_STRING_INTERNAL("sscanf") + TLI_DEFINE_ENUM_INTERNAL(stat) + TLI_DEFINE_STRING_INTERNAL("stat") + /// int stat64(const char *path, struct stat64 *buf); ++#ifdef stat64 ++#undef stat64 ++#endif + TLI_DEFINE_ENUM_INTERNAL(stat64) + TLI_DEFINE_STRING_INTERNAL("stat64") + /// int statvfs(const char *path, struct statvfs *buf); +@@ -1340,6 +1358,9 @@ TLI_DEFINE_STRING_INTERNAL("times") + TLI_DEFINE_ENUM_INTERNAL(tmpfile) + TLI_DEFINE_STRING_INTERNAL("tmpfile") + /// FILE *tmpfile64(void) ++#ifdef tmpfile64 ++#undef tmpfile64 ++#endif + TLI_DEFINE_ENUM_INTERNAL(tmpfile64) + TLI_DEFINE_STRING_INTERNAL("tmpfile64") + /// int toascii(int c); +-- +2.22.0 + diff --git a/poky/meta/recipes-devtools/llvm/llvm/0007-llvm-allow-env-override-of-exe-path.patch b/poky/meta/recipes-devtools/llvm/llvm/0007-llvm-allow-env-override-of-exe-path.patch new file mode 100644 index 000000000..f47080c9f --- /dev/null +++ b/poky/meta/recipes-devtools/llvm/llvm/0007-llvm-allow-env-override-of-exe-path.patch @@ -0,0 +1,38 @@ +From b66d6f39a374b8df41e7235351e5dee2e81f440c Mon Sep 17 00:00:00 2001 +From: Martin Kelly +Date: Fri, 19 May 2017 00:22:57 -0700 +Subject: [PATCH 07/19] llvm: allow env override of exe path + +When using a native llvm-config from inside a sysroot, we need llvm-config to +return the libraries, include directories, etc. from inside the sysroot rather +than from the native sysroot. Thus provide an env override for calling +llvm-config from a target sysroot. + +Upstream-Status: Pending +Signed-off-by: Martin Kelly +Signed-off-by: Khem Raj +--- + llvm/tools/llvm-config/llvm-config.cpp | 7 +++++++ + 1 file changed, 7 insertions(+) + +diff --git a/llvm/tools/llvm-config/llvm-config.cpp b/llvm/tools/llvm-config/llvm-config.cpp +index 7ef7c46a262..a4f7ed82c7b 100644 +--- a/llvm/tools/llvm-config/llvm-config.cpp ++++ b/llvm/tools/llvm-config/llvm-config.cpp +@@ -225,6 +225,13 @@ Typical components:\n\ + + /// Compute the path to the main executable. + std::string GetExecutablePath(const char *Argv0) { ++ // Hack for Yocto: we need to override the root path when we are using ++ // llvm-config from within a target sysroot. ++ const char *Sysroot = std::getenv("YOCTO_ALTERNATE_EXE_PATH"); ++ if (Sysroot != nullptr) { ++ return Sysroot; ++ } ++ + // This just needs to be some symbol in the binary; C++ doesn't + // allow taking the address of ::main however. + void *P = (void *)(intptr_t)GetExecutablePath; +-- +2.22.0 + diff --git a/poky/meta/recipes-devtools/llvm/llvm_git.bb b/poky/meta/recipes-devtools/llvm/llvm_git.bb index 0067635c2..35ad3ced3 100644 --- a/poky/meta/recipes-devtools/llvm/llvm_git.bb +++ b/poky/meta/recipes-devtools/llvm/llvm_git.bb @@ -8,7 +8,7 @@ SECTION = "devel" LIC_FILES_CHKSUM = "file://LICENSE.TXT;md5=c6b766a4e85dd28301eeed54a6684648" -DEPENDS = "libffi libxml2 zlib ninja-native llvm-native" +DEPENDS = "libffi libxml2 zlib libedit ninja-native llvm-native" RDEPENDS_${PN}_append_class-target = " ncurses-terminfo" @@ -19,17 +19,17 @@ PROVIDES += "llvm${PV}" LLVM_RELEASE = "${PV}" LLVM_DIR = "llvm${LLVM_RELEASE}" -SRCREV = "d2298e74235598f15594fe2c99bbac870a507c59" +SRCREV = "19a71f6bdf2dddb10764939e7f0ec2b98dba76c9" BRANCH = "release/${MAJOR_VERSION}.x" MAJOR_VERSION = "8" MINOR_VERSION = "0" -PATCH_VERSION = "0" +PATCH_VERSION = "1" SOLIBVER = "1" PV = "${MAJOR_VERSION}.${MINOR_VERSION}.${PATCH_VERSION}" SRC_URI = "git://github.com/llvm/llvm-project.git;branch=${BRANCH} \ - file://0001-llvm-TargetLibraryInfo-Undefine-libc-functions-if-th.patch \ - file://0002-llvm-allow-env-override-of-exe-path.patch \ + file://0006-llvm-TargetLibraryInfo-Undefine-libc-functions-if-th.patch;striplevel=2 \ + file://0007-llvm-allow-env-override-of-exe-path.patch;striplevel=2 \ " S = "${WORKDIR}/git/llvm" diff --git a/poky/meta/recipes-devtools/meson/meson.inc b/poky/meta/recipes-devtools/meson/meson.inc index 6a723683c..14e5f8a61 100644 --- a/poky/meta/recipes-devtools/meson/meson.inc +++ b/poky/meta/recipes-devtools/meson/meson.inc @@ -11,15 +11,15 @@ SRC_URI = "https://github.com/mesonbuild/meson/releases/download/${PV}/meson-${P file://0001-python-module-do-not-manipulate-the-environment-when.patch \ file://disable-rpath-handling.patch \ file://cross-prop-default.patch \ - file://load-configs-generalise-search-path.patch \ - file://0007-mesonbuild-allow-multiple-cross-file-options.patch \ file://0001-environment.py-detect-windows-also-if-the-system-str.patch \ file://0001-mesonbuild-environment.py-do-not-determine-whether-a.patch \ file://0001-mesonbuild-environment.py-check-environment-for-vari.patch \ file://0001-modules-python.py-do-not-substitute-python-s-install.patch \ + file://vala-cross-compile.patch \ + file://0001-Fix-missing-return-statements-that-are-seen-with-Wer.patch \ " -SRC_URI[sha256sum] = "f68f56d60c80a77df8fc08fa1016bc5831605d4717b622c96212573271e14ecc" -SRC_URI[md5sum] = "24a6527796115828d2ebc75880e18d62" +SRC_URI[sha256sum] = "f27b7a60f339ba66fe4b8f81f0d1072e090a08eabbd6aa287683b2c2b9dd2d82" +SRC_URI[md5sum] = "48787e391ec5c052799a3dd491f73909" SRC_URI_append_class-native = " \ file://0001-Make-CPU-family-warnings-fatal.patch \ diff --git a/poky/meta/recipes-devtools/meson/meson/0001-Fix-missing-return-statements-that-are-seen-with-Wer.patch b/poky/meta/recipes-devtools/meson/meson/0001-Fix-missing-return-statements-that-are-seen-with-Wer.patch new file mode 100644 index 000000000..16c6d9076 --- /dev/null +++ b/poky/meta/recipes-devtools/meson/meson/0001-Fix-missing-return-statements-that-are-seen-with-Wer.patch @@ -0,0 +1,100 @@ +From 15f44be1c7f71cb0a8c6863917acbbc301c621fe Mon Sep 17 00:00:00 2001 +From: Martin Liska +Date: Mon, 15 Jul 2019 10:06:17 +0200 +Subject: [PATCH] Fix missing return statements that are seen with + -Werror=return-type. + +Error example: + +Code: + + #include + int main () { + /* If it's not defined as a macro, try to use as a symbol */ + #ifndef LC_MESSAGES + LC_MESSAGES; + #endif + } +Compiler stdout: + +Compiler stderr: + In file included from /usr/include/locale.h:25, + from /tmp/tmpep_i4iwg/testfile.c:2: +/usr/include/features.h:382:4: warning: #warning _FORTIFY_SOURCE +requires compiling with optimization (-O) [-Wcpp] + 382 | # warning _FORTIFY_SOURCE requires compiling with optimization +(-O) + | ^~~~~~~ +/tmp/tmpep_i4iwg/testfile.c: In function 'main': +/tmp/tmpep_i4iwg/testfile.c:8:9: error: control reaches end of non-void +function [-Werror=return-type] + 8 | } + | ^ +cc1: some warnings being treated as errors + +Upstream-Status: Backport +Signed-off-by: Martin Jansa +--- + mesonbuild/compilers/c.py | 1 + + mesonbuild/compilers/clike.py | 5 +++++ + 2 files changed, 6 insertions(+) + +diff --git a/mesonbuild/compilers/c.py b/mesonbuild/compilers/c.py +index 3b58a076..9ef92077 100644 +--- a/mesonbuild/compilers/c.py ++++ b/mesonbuild/compilers/c.py +@@ -70,6 +70,7 @@ class CCompiler(CLikeCompiler, Compiler): + #ifndef {symbol} + {symbol}; + #endif ++ return 0; + }}''' + return self.compiles(t.format(**fargs), env, extra_args=extra_args, + dependencies=dependencies) +diff --git a/mesonbuild/compilers/clike.py b/mesonbuild/compilers/clike.py +index 83f67591..f9cbeabd 100644 +--- a/mesonbuild/compilers/clike.py ++++ b/mesonbuild/compilers/clike.py +@@ -375,6 +375,7 @@ class CLikeCompiler: + #ifndef {symbol} + {symbol}; + #endif ++ return 0; + }}''' + return self.compiles(t.format(**fargs), env, extra_args=extra_args, + dependencies=dependencies) +@@ -554,6 +555,7 @@ class CLikeCompiler: + {prefix} + int main(int argc, char **argv) {{ + {type} something; ++ return 0; + }}''' + if not self.compiles(t.format(**fargs), env, extra_args=extra_args, + dependencies=dependencies)[0]: +@@ -589,6 +591,7 @@ class CLikeCompiler: + {prefix} + int main(int argc, char **argv) {{ + {type} something; ++ return 0; + }}''' + if not self.compiles(t.format(**fargs), env, extra_args=extra_args, + dependencies=dependencies)[0]: +@@ -667,6 +670,7 @@ class CLikeCompiler: + #include + int main(int argc, char *argv[]) {{ + printf ("{fmt}", {cast} {f}()); ++ return 0; + }}'''.format(**fargs) + res = self.run(code, env, extra_args=extra_args, dependencies=dependencies) + if not res.compiled: +@@ -819,6 +823,7 @@ class CLikeCompiler: + #error "No definition for __builtin_{func} found in the prefix" + #endif + #endif ++ return 0; + }}''' + return self.links(t.format(**fargs), env, extra_args=extra_args, + dependencies=dependencies) +-- +2.17.1 + diff --git a/poky/meta/recipes-devtools/meson/meson/0001-Make-CPU-family-warnings-fatal.patch b/poky/meta/recipes-devtools/meson/meson/0001-Make-CPU-family-warnings-fatal.patch index adde1e271..444fc0816 100644 --- a/poky/meta/recipes-devtools/meson/meson/0001-Make-CPU-family-warnings-fatal.patch +++ b/poky/meta/recipes-devtools/meson/meson/0001-Make-CPU-family-warnings-fatal.patch @@ -1,4 +1,4 @@ -From 4b4b3d4932d928f05dbd74d730a3c8a5ac371e1d Mon Sep 17 00:00:00 2001 +From f70fee13e4dbc757cd8153cd42d92fa9394fb542 Mon Sep 17 00:00:00 2001 From: Ross Burton Date: Tue, 3 Jul 2018 13:59:09 +0100 Subject: [PATCH] Make CPU family warnings fatal @@ -12,10 +12,10 @@ Signed-off-by: Ross Burton 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/mesonbuild/envconfig.py b/mesonbuild/envconfig.py -index 5309ef4..3f0a399 100644 +index 03c6346..86b350b 100644 --- a/mesonbuild/envconfig.py +++ b/mesonbuild/envconfig.py -@@ -178,7 +178,7 @@ class MachineInfo: +@@ -186,7 +186,7 @@ class MachineInfo: cpu_family = literal['cpu_family'] if cpu_family not in known_cpu_families: @@ -25,10 +25,10 @@ index 5309ef4..3f0a399 100644 endian = literal['endian'] if endian not in ('little', 'big'): diff --git a/mesonbuild/environment.py b/mesonbuild/environment.py -index 3031a82..ecd18d0 100644 +index 0cfdf9c..40aa189 100644 --- a/mesonbuild/environment.py +++ b/mesonbuild/environment.py -@@ -242,9 +242,7 @@ def detect_cpu_family(compilers): +@@ -262,9 +262,7 @@ def detect_cpu_family(compilers: CompilersDict) -> str: trial = 'parisc' if trial not in known_cpu_families: diff --git a/poky/meta/recipes-devtools/meson/meson/0001-environment.py-detect-windows-also-if-the-system-str.patch b/poky/meta/recipes-devtools/meson/meson/0001-environment.py-detect-windows-also-if-the-system-str.patch index f6043190a..37b5356d7 100644 --- a/poky/meta/recipes-devtools/meson/meson/0001-environment.py-detect-windows-also-if-the-system-str.patch +++ b/poky/meta/recipes-devtools/meson/meson/0001-environment.py-detect-windows-also-if-the-system-str.patch @@ -1,4 +1,4 @@ -From 63b78b7990c5d60f7bc674a26f655caa0bec3c49 Mon Sep 17 00:00:00 2001 +From b52e47c9d61dc4c930cfc7236fbeb70338c3b953 Mon Sep 17 00:00:00 2001 From: Alexander Kanavin Date: Mon, 25 Mar 2019 17:17:06 +0100 Subject: [PATCH] environment.py: detect windows also if the system string @@ -6,20 +6,24 @@ Subject: [PATCH] environment.py: detect windows also if the system string Upstream-Status: Pending Signed-off-by: Alexander Kanavin + --- mesonbuild/envconfig.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mesonbuild/envconfig.py b/mesonbuild/envconfig.py -index f2510c1..5309ef4 100644 +index 03c6346..a59cd89 100644 --- a/mesonbuild/envconfig.py +++ b/mesonbuild/envconfig.py -@@ -194,7 +194,7 @@ class MachineInfo: +@@ -198,7 +198,7 @@ class MachineInfo: """ Machine is windows? """ -- return self.system == 'windows' +- return self.system in {'windows', 'mingw'} + return self.system == 'windows' or 'mingw' in self.system - def is_cygwin(self): + def is_cygwin(self) -> bool: """ +-- +2.17.1 + diff --git a/poky/meta/recipes-devtools/meson/meson/0001-mesonbuild-environment.py-check-environment-for-vari.patch b/poky/meta/recipes-devtools/meson/meson/0001-mesonbuild-environment.py-check-environment-for-vari.patch index fadb2734f..f4456235f 100644 --- a/poky/meta/recipes-devtools/meson/meson/0001-mesonbuild-environment.py-check-environment-for-vari.patch +++ b/poky/meta/recipes-devtools/meson/meson/0001-mesonbuild-environment.py-check-environment-for-vari.patch @@ -1,4 +1,4 @@ -From 63e79329b5dd00882f0cea56a6d907a831b94171 Mon Sep 17 00:00:00 2001 +From a72dc2b1cddcf180ce782860896deae0b12d5000 Mon Sep 17 00:00:00 2001 From: Alexander Kanavin Date: Mon, 25 Mar 2019 18:52:48 +0100 Subject: [PATCH] mesonbuild/environment.py: check environment for various @@ -6,23 +6,21 @@ Subject: [PATCH] mesonbuild/environment.py: check environment for various Upstream-Status: Inappropriate [oe-core specific] Signed-off-by: Alexander Kanavin + --- mesonbuild/environment.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mesonbuild/environment.py b/mesonbuild/environment.py -index 6e5d689..bbfd87d 100644 +index 9a029f4..0cfdf9c 100644 --- a/mesonbuild/environment.py +++ b/mesonbuild/environment.py -@@ -398,7 +398,7 @@ class Environment: +@@ -448,7 +448,7 @@ class Environment: config = MesonConfigFile.from_config_parser( - coredata.load_configs(self.coredata.cross_files, 'cross')) - self.properties.host = Properties(config.get('properties', {}), False) -- self.binaries.host = BinaryTable(config.get('binaries', {}), False) -+ self.binaries.host = BinaryTable(config.get('binaries', {}), True) + coredata.load_configs(self.coredata.cross_files)) + properties.host = Properties(config.get('properties', {}), False) +- binaries.host = BinaryTable(config.get('binaries', {}), False) ++ binaries.host = BinaryTable(config.get('binaries', {}), True) if 'host_machine' in config: - self.machines.host = MachineInfo.from_literal(config['host_machine']) + machines.host = MachineInfo.from_literal(config['host_machine']) if 'target_machine' in config: --- -2.17.1 - diff --git a/poky/meta/recipes-devtools/meson/meson/0001-mesonbuild-environment.py-do-not-determine-whether-a.patch b/poky/meta/recipes-devtools/meson/meson/0001-mesonbuild-environment.py-do-not-determine-whether-a.patch index 833471454..8cb11879f 100644 --- a/poky/meta/recipes-devtools/meson/meson/0001-mesonbuild-environment.py-do-not-determine-whether-a.patch +++ b/poky/meta/recipes-devtools/meson/meson/0001-mesonbuild-environment.py-do-not-determine-whether-a.patch @@ -1,4 +1,4 @@ -From d9da5e7a16a9397e22a8900fac4b60b40d7f00de Mon Sep 17 00:00:00 2001 +From ec9c4a22424a5d55fcf213a55d03f096ec24bcae Mon Sep 17 00:00:00 2001 From: Alexander Kanavin Date: Mon, 25 Mar 2019 18:18:33 +0100 Subject: [PATCH] mesonbuild/environment.py: do not determine whether a build @@ -14,14 +14,14 @@ Signed-off-by: Alexander Kanavin 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mesonbuild/environment.py b/mesonbuild/environment.py -index d4f0630..c584fa4 100644 +index 84a7596..9a029f4 100644 --- a/mesonbuild/environment.py +++ b/mesonbuild/environment.py -@@ -483,7 +483,7 @@ class Environment: +@@ -520,7 +520,7 @@ class Environment: self.first_invocation = True - def is_cross_build(self): -- return self.coredata.cross_file is not None + def is_cross_build(self) -> bool: +- return not self.machines.matches_build_machine(MachineChoice.HOST) + return self.need_exe_wrapper() def dump_coredata(self): diff --git a/poky/meta/recipes-devtools/meson/meson/0002-Support-building-allarch-recipes-again.patch b/poky/meta/recipes-devtools/meson/meson/0002-Support-building-allarch-recipes-again.patch index e47e55532..8ad86a46e 100644 --- a/poky/meta/recipes-devtools/meson/meson/0002-Support-building-allarch-recipes-again.patch +++ b/poky/meta/recipes-devtools/meson/meson/0002-Support-building-allarch-recipes-again.patch @@ -1,4 +1,4 @@ -From 2164655328ec4e47335fc9033813274365491ad8 Mon Sep 17 00:00:00 2001 +From 3009a1c2f1b736b836a057d84dc11f379cba99cf Mon Sep 17 00:00:00 2001 From: Peter Kjellerstedt Date: Thu, 26 Jul 2018 16:32:49 +0200 Subject: [PATCH] Support building allarch recipes again @@ -13,10 +13,10 @@ Signed-off-by: Peter Kjellerstedt 1 file changed, 1 insertion(+) diff --git a/mesonbuild/envconfig.py b/mesonbuild/envconfig.py -index 3f0a399..4509e09 100644 +index 86b350b..aa426ca 100644 --- a/mesonbuild/envconfig.py +++ b/mesonbuild/envconfig.py -@@ -34,6 +34,7 @@ from . import mlog +@@ -36,6 +36,7 @@ _T = typing.TypeVar('_T') known_cpu_families = ( diff --git a/poky/meta/recipes-devtools/meson/meson/0003-native_bindir.patch b/poky/meta/recipes-devtools/meson/meson/0003-native_bindir.patch index 2b22531dd..57de598d2 100644 --- a/poky/meta/recipes-devtools/meson/meson/0003-native_bindir.patch +++ b/poky/meta/recipes-devtools/meson/meson/0003-native_bindir.patch @@ -1,4 +1,4 @@ -From e762d85c823adfefc27ba6128c7b997aa50166ce Mon Sep 17 00:00:00 2001 +From ac38495de38a1ea42e2bc09a2f23c2e945fbc22d Mon Sep 17 00:00:00 2001 From: Ricardo Ribalda Delgado Date: Wed, 15 Nov 2017 15:05:01 +0100 Subject: [PATCH] native_bindir @@ -22,19 +22,19 @@ Signed-off-by: Ricardo Ribalda Delgado 2 files changed, 14 insertions(+), 11 deletions(-) diff --git a/mesonbuild/dependencies/base.py b/mesonbuild/dependencies/base.py -index 6d3678f..90fdb80 100644 +index 21da8e2..7d1ef85 100644 --- a/mesonbuild/dependencies/base.py +++ b/mesonbuild/dependencies/base.py -@@ -146,7 +146,7 @@ class Dependency: - def need_threads(self): - return False +@@ -155,7 +155,7 @@ class Dependency: + def get_exe_args(self, compiler): + return [] - def get_pkgconfig_variable(self, variable_name, kwargs): + def get_pkgconfig_variable(self, variable_name, kwargs, use_native=False): raise DependencyException('{!r} is not a pkgconfig dependency'.format(self.name)) def get_configtool_variable(self, variable_name): -@@ -183,7 +183,7 @@ class InternalDependency(Dependency): +@@ -214,7 +214,7 @@ class InternalDependency(Dependency): self.sources = sources self.ext_deps = ext_deps @@ -43,7 +43,7 @@ index 6d3678f..90fdb80 100644 raise DependencyException('Method "get_pkgconfig_variable()" is ' 'invalid for an internal dependency') -@@ -523,15 +523,18 @@ class PkgConfigDependency(ExternalDependency): +@@ -639,15 +639,18 @@ class PkgConfigDependency(ExternalDependency): return s.format(self.__class__.__name__, self.name, self.is_found, self.version_reqs) @@ -62,10 +62,10 @@ index 6d3678f..90fdb80 100644 - def _call_pkgbin(self, args, env=None): + def _call_pkgbin(self, args, env=None, use_native=False): + # Always copy the environment since we're going to modify it + # with pkg-config variables if env is None: - fenv = env - env = os.environ -@@ -540,7 +543,7 @@ class PkgConfigDependency(ExternalDependency): +@@ -663,7 +666,7 @@ class PkgConfigDependency(ExternalDependency): targs = tuple(args) cache = PkgConfigDependency.pkgbin_cache if (self.pkgbin, targs, fenv) not in cache: @@ -74,7 +74,7 @@ index 6d3678f..90fdb80 100644 return cache[(self.pkgbin, targs, fenv)] def _convert_mingw_paths(self, args): -@@ -718,7 +721,7 @@ class PkgConfigDependency(ExternalDependency): +@@ -845,7 +848,7 @@ class PkgConfigDependency(ExternalDependency): (self.name, out_raw)) self.link_args, self.raw_link_args = self._search_libs(out, out_raw) @@ -83,7 +83,7 @@ index 6d3678f..90fdb80 100644 options = ['--variable=' + variable_name, self.name] if 'define_variable' in kwargs: -@@ -731,7 +734,7 @@ class PkgConfigDependency(ExternalDependency): +@@ -858,7 +861,7 @@ class PkgConfigDependency(ExternalDependency): options = ['--define-variable=' + '='.join(definition)] + options @@ -93,10 +93,10 @@ index 6d3678f..90fdb80 100644 if ret != 0: if self.required: diff --git a/mesonbuild/dependencies/ui.py b/mesonbuild/dependencies/ui.py -index 197d22c..c683d21 100644 +index 6d784e6..73a9e13 100644 --- a/mesonbuild/dependencies/ui.py +++ b/mesonbuild/dependencies/ui.py -@@ -285,7 +285,7 @@ class QtBaseDependency(ExternalDependency): +@@ -330,7 +330,7 @@ class QtBaseDependency(ExternalDependency): self.bindir = self.get_pkgconfig_host_bins(core) if not self.bindir: # If exec_prefix is not defined, the pkg-config file is broken @@ -105,7 +105,7 @@ index 197d22c..c683d21 100644 if prefix: self.bindir = os.path.join(prefix, 'bin') -@@ -427,7 +427,7 @@ class Qt4Dependency(QtBaseDependency): +@@ -507,7 +507,7 @@ class Qt4Dependency(QtBaseDependency): applications = ['moc', 'uic', 'rcc', 'lupdate', 'lrelease'] for application in applications: try: @@ -114,7 +114,7 @@ index 197d22c..c683d21 100644 except MesonException: pass -@@ -437,7 +437,7 @@ class Qt5Dependency(QtBaseDependency): +@@ -517,7 +517,7 @@ class Qt5Dependency(QtBaseDependency): QtBaseDependency.__init__(self, 'qt5', env, kwargs) def get_pkgconfig_host_bins(self, core): diff --git a/poky/meta/recipes-devtools/meson/meson/0007-mesonbuild-allow-multiple-cross-file-options.patch b/poky/meta/recipes-devtools/meson/meson/0007-mesonbuild-allow-multiple-cross-file-options.patch deleted file mode 100644 index 6c2949c0e..000000000 --- a/poky/meta/recipes-devtools/meson/meson/0007-mesonbuild-allow-multiple-cross-file-options.patch +++ /dev/null @@ -1,185 +0,0 @@ -From 07ae4f949b8402cff178dd12c210d9a726ffe2da Mon Sep 17 00:00:00 2001 -From: Ross Burton -Date: Mon, 18 Mar 2019 17:27:57 +0000 -Subject: [PATCH] mesonbuild: allow multiple --cross-file options - -Just like --native-file, allow multiple --cross-file options. This is mostly -unifying the logic between cross_files and config_files. - -Upstream-Status: Backport [will be in 0.50.1] -Signed-off-by: Ross Burton - ---- - .../markdown/snippets/multiple-cross-files.md | 3 ++ - mesonbuild/backend/backends.py | 3 +- - mesonbuild/coredata.py | 52 +++---------------- - mesonbuild/environment.py | 5 +- - mesonbuild/msetup.py | 4 +- - mesonbuild/munstable_coredata.py | 5 +- - 6 files changed, 20 insertions(+), 52 deletions(-) - create mode 100644 docs/markdown/snippets/multiple-cross-files.md - -diff --git a/docs/markdown/snippets/multiple-cross-files.md b/docs/markdown/snippets/multiple-cross-files.md -new file mode 100644 -index 0000000..de229be ---- /dev/null -+++ b/docs/markdown/snippets/multiple-cross-files.md -@@ -0,0 +1,3 @@ -+## Multipe cross files can be specified -+ -+`--cross-file` can be passed multiple times, with the configuration files overlaying the same way as `--native-file`. -diff --git a/mesonbuild/backend/backends.py b/mesonbuild/backend/backends.py -index 4d35d22..5b270d3 100644 ---- a/mesonbuild/backend/backends.py -+++ b/mesonbuild/backend/backends.py -@@ -788,8 +788,7 @@ class Backend: - deps = [os.path.join(self.build_to_src, df) - for df in self.interpreter.get_build_def_files()] - if self.environment.is_cross_build(): -- deps.append(os.path.join(self.build_to_src, -- self.environment.coredata.cross_file)) -+ deps.extend(self.environment.coredata.cross_files) - deps.append('meson-private/coredata.dat') - if os.path.exists(os.path.join(self.environment.get_source_dir(), 'meson_options.txt')): - deps.append(os.path.join(self.build_to_src, 'meson_options.txt')) -diff --git a/mesonbuild/coredata.py b/mesonbuild/coredata.py -index 066ad30..d80e9a0 100644 ---- a/mesonbuild/coredata.py -+++ b/mesonbuild/coredata.py -@@ -265,7 +265,7 @@ class CoreData: - self.compiler_options = PerMachine({}, {}, {}) - self.base_options = {} - self.external_preprocess_args = PerMachine({}, {}, {}) # CPPFLAGS only -- self.cross_file = self.__load_cross_file(options.cross_file) -+ self.cross_files = self.__load_config_files(options.cross_file) - self.compilers = OrderedDict() - self.cross_compilers = OrderedDict() - self.deps = OrderedDict() -@@ -276,57 +276,19 @@ class CoreData: - - @staticmethod - def __load_config_files(filenames): -+ # Need to try and make the passed filenames absolute because when the -+ # files are parsed later we'll have chdir()d. - if not filenames: - return [] - filenames = [os.path.abspath(os.path.expanduser(os.path.expanduser(f))) - for f in filenames] - return filenames - -- @staticmethod -- def __load_cross_file(filename): -- """Try to load the cross file. -- -- If the filename is None return None. If the filename is an absolute -- (after resolving variables and ~), return that absolute path. Next, -- check if the file is relative to the current source dir. If the path -- still isn't resolved do the following: -- Windows: -- - Error -- *: -- - $XDG_DATA_HOME/meson/cross (or ~/.local/share/meson/cross if -- undefined) -- - $XDG_DATA_DIRS/meson/cross (or -- /usr/local/share/meson/cross:/usr/share/meson/cross if undefined) -- - Error -- -- Non-Windows follows the Linux path and will honor XDG_* if set. This -- simplifies the implementation somewhat. -- """ -- if filename is None: -- return None -- filename = os.path.expanduser(os.path.expandvars(filename)) -- if os.path.isabs(filename): -- return filename -- path_to_try = os.path.abspath(filename) -- if os.path.isfile(path_to_try): -- return path_to_try -- if sys.platform != 'win32': -- paths = [ -- os.environ.get('XDG_DATA_HOME', os.path.expanduser('~/.local/share')), -- ] + os.environ.get('XDG_DATA_DIRS', '/usr/local/share:/usr/share').split(':') -- for path in paths: -- path_to_try = os.path.join(path, 'meson', 'cross', filename) -- if os.path.isfile(path_to_try): -- return path_to_try -- raise MesonException('Cannot find specified cross file: ' + filename) -- -- raise MesonException('Cannot find specified cross file: ' + filename) -- - def libdir_cross_fixup(self): - # By default set libdir to "lib" when cross compiling since - # getting the "system default" is always wrong on multiarch - # platforms as it gets a value like lib/x86_64-linux-gnu. -- if self.cross_file is not None: -+ if self.cross_files: - self.builtins['libdir'].value = 'lib' - - def sanitize_prefix(self, prefix): -@@ -642,8 +604,8 @@ def read_cmd_line_file(build_dir, options): - options.cmd_line_options = d - - properties = config['properties'] -- if options.cross_file is None: -- options.cross_file = properties.get('cross_file', None) -+ if not options.cross_file: -+ options.cross_file = ast.literal_eval(properties.get('cross_file', '[]')) - if not options.native_file: - # This will be a string in the form: "['first', 'second', ...]", use - # literal_eval to get it into the list of strings. -@@ -654,7 +616,7 @@ def write_cmd_line_file(build_dir, options): - config = CmdLineFileParser() - - properties = {} -- if options.cross_file is not None: -+ if options.cross_file: - properties['cross_file'] = options.cross_file - if options.native_file: - properties['native_file'] = options.native_file -diff --git a/mesonbuild/environment.py b/mesonbuild/environment.py -index c25ef33..4c1c5ac 100644 ---- a/mesonbuild/environment.py -+++ b/mesonbuild/environment.py -@@ -394,8 +394,9 @@ class Environment: - self.binaries.build = BinaryTable(config.get('binaries', {})) - self.paths.build = Directories(**config.get('paths', {})) - -- if self.coredata.cross_file is not None: -- config = MesonConfigFile.parse_datafile(self.coredata.cross_file) -+ if self.coredata.cross_files: -+ config = MesonConfigFile.from_config_parser( -+ coredata.load_configs(self.coredata.cross_files, 'cross')) - self.properties.host = Properties(config.get('properties', {}), False) - self.binaries.host = BinaryTable(config.get('binaries', {}), False) - if 'host_machine' in config: -diff --git a/mesonbuild/msetup.py b/mesonbuild/msetup.py -index 023afdb..6e8ca83 100644 ---- a/mesonbuild/msetup.py -+++ b/mesonbuild/msetup.py -@@ -29,7 +29,9 @@ from .mesonlib import MesonException - - def add_arguments(parser): - coredata.register_builtin_arguments(parser) -- parser.add_argument('--cross-file', default=None, -+ parser.add_argument('--cross-file', -+ default=[], -+ action='append', - help='File describing cross compilation environment.') - parser.add_argument('--native-file', - default=[], -diff --git a/mesonbuild/munstable_coredata.py b/mesonbuild/munstable_coredata.py -index 78f3f34..913f942 100644 ---- a/mesonbuild/munstable_coredata.py -+++ b/mesonbuild/munstable_coredata.py -@@ -81,8 +81,9 @@ def run(options): - print('Last seen PKGCONFIG enviroment variable value: ' + v) - elif k == 'version': - print('Meson version: ' + v) -- elif k == 'cross_file': -- print('Cross File: ' + (v or 'None')) -+ elif k == 'cross_files': -+ if v: -+ print('Cross File: ' + ' '.join(v)) - elif k == 'config_files': - if v: - print('Native File: ' + ' '.join(v)) diff --git a/poky/meta/recipes-devtools/meson/meson/load-configs-generalise-search-path.patch b/poky/meta/recipes-devtools/meson/meson/load-configs-generalise-search-path.patch deleted file mode 100644 index 2056763db..000000000 --- a/poky/meta/recipes-devtools/meson/meson/load-configs-generalise-search-path.patch +++ /dev/null @@ -1,53 +0,0 @@ -From d57dd1092e84e08ee15d7063b6c56bd6d864f2e1 Mon Sep 17 00:00:00 2001 -From: Ross Burton -Date: Mon, 18 Mar 2019 16:16:56 +0000 -Subject: [PATCH] load_configs: generalise the search path - -Instead of hard-coding the fact that load_configs() searches for files under -meson/native, pass in the subdirectory allowing the cross-file code to use the -same logic. - -Upstream-Status: Backport -Signed-off-by: Alexander Kanavin ---- - mesonbuild/coredata.py | 6 +++--- - mesonbuild/environment.py | 2 +- - 2 files changed, 4 insertions(+), 4 deletions(-) - -diff --git a/mesonbuild/coredata.py b/mesonbuild/coredata.py -index fba90fa369..6e60917d10 100644 ---- a/mesonbuild/coredata.py -+++ b/mesonbuild/coredata.py -@@ -211,8 +211,8 @@ def is_auto(self): - return self.value == 'auto' - - --def load_configs(filenames): -- """Load native files.""" -+def load_configs(filenames, subdir): -+ """Load configuration files from a named subdirectory.""" - def gen(): - for f in filenames: - f = os.path.expanduser(os.path.expandvars(f)) -@@ -225,7 +225,7 @@ def gen(): - os.environ.get('XDG_DATA_HOME', os.path.expanduser('~/.local/share')), - ] + os.environ.get('XDG_DATA_DIRS', '/usr/local/share:/usr/share').split(':') - for path in paths: -- path_to_try = os.path.join(path, 'meson', 'native', f) -+ path_to_try = os.path.join(path, 'meson', subdir, f) - if os.path.isfile(path_to_try): - yield path_to_try - break -diff --git a/mesonbuild/environment.py b/mesonbuild/environment.py -index 58adb06960..92a00dd7bf 100644 ---- a/mesonbuild/environment.py -+++ b/mesonbuild/environment.py -@@ -408,7 +408,7 @@ def __init__(self, source_dir, build_dir, options): - - if self.coredata.config_files is not None: - config = MesonConfigFile.from_config_parser( -- coredata.load_configs(self.coredata.config_files)) -+ coredata.load_configs(self.coredata.config_files, 'native')) - self.binaries.build = BinaryTable(config.get('binaries', {})) - self.paths.build = Directories(**config.get('paths', {})) - diff --git a/poky/meta/recipes-devtools/meson/meson/vala-cross-compile.patch b/poky/meta/recipes-devtools/meson/meson/vala-cross-compile.patch new file mode 100644 index 000000000..816f810c0 --- /dev/null +++ b/poky/meta/recipes-devtools/meson/meson/vala-cross-compile.patch @@ -0,0 +1,50 @@ +From 77c3e6a4aaed07e626f4bf4deb7eb66e0f03a33d Mon Sep 17 00:00:00 2001 +From: James Westman +Date: Mon, 24 Jun 2019 12:04:12 -0500 +Subject: [PATCH] Fix two errors when cross-compiling with Vala + +- AttributeError: 'ValaCompiler' object has no attribute 'get_program_dirs' + + Fixed by adding a `get_program_dirs()` function to the base Compiler + class, to match `get_library_dirs()` + +- KeyError: 'vala_COMPILER' + + Fixed by creating the Vala compile rules for all machines, not just + the build machine. + +Upstream-Status: Backport [https://github.com/mesonbuild/meson/commit/77c3e6a4aaed07e626f4bf4deb7eb66e0f03a33d] +Signed-off-by: Alexander Kanavin +--- + mesonbuild/backend/ninjabackend.py | 3 +-- + mesonbuild/compilers/compilers.py | 3 +++ + 2 files changed, 4 insertions(+), 2 deletions(-) + +diff --git a/mesonbuild/backend/ninjabackend.py b/mesonbuild/backend/ninjabackend.py +index a454e6ab5f..b830e377e4 100644 +--- a/mesonbuild/backend/ninjabackend.py ++++ b/mesonbuild/backend/ninjabackend.py +@@ -1653,8 +1653,7 @@ def generate_compile_rule_for(self, langname, compiler): + self.generate_cs_compile_rule(compiler) + return + if langname == 'vala': +- if self.environment.machines.matches_build_machine(compiler.for_machine): +- self.generate_vala_compile_rules(compiler) ++ self.generate_vala_compile_rules(compiler) + return + if langname == 'rust': + self.generate_rust_compile_rules(compiler) +diff --git a/mesonbuild/compilers/compilers.py b/mesonbuild/compilers/compilers.py +index 5855de71c8..86c1e33407 100644 +--- a/mesonbuild/compilers/compilers.py ++++ b/mesonbuild/compilers/compilers.py +@@ -1117,6 +1117,9 @@ def find_library(self, *args, **kwargs): + def get_library_dirs(self, *args, **kwargs): + return () + ++ def get_program_dirs(self, *args, **kwargs): ++ return () ++ + def has_multi_arguments(self, args, env) -> Tuple[bool, bool]: + raise EnvironmentException( + 'Language {} does not support has_multi_arguments.'.format( diff --git a/poky/meta/recipes-devtools/meson/meson_0.50.1.bb b/poky/meta/recipes-devtools/meson/meson_0.50.1.bb deleted file mode 100644 index de9b905c1..000000000 --- a/poky/meta/recipes-devtools/meson/meson_0.50.1.bb +++ /dev/null @@ -1,4 +0,0 @@ -include meson.inc - -BBCLASSEXTEND = "native" - diff --git a/poky/meta/recipes-devtools/meson/meson_0.51.1.bb b/poky/meta/recipes-devtools/meson/meson_0.51.1.bb new file mode 100644 index 000000000..de9b905c1 --- /dev/null +++ b/poky/meta/recipes-devtools/meson/meson_0.51.1.bb @@ -0,0 +1,4 @@ +include meson.inc + +BBCLASSEXTEND = "native" + diff --git a/poky/meta/recipes-devtools/meson/nativesdk-meson_0.50.1.bb b/poky/meta/recipes-devtools/meson/nativesdk-meson_0.50.1.bb deleted file mode 100644 index 1756f342c..000000000 --- a/poky/meta/recipes-devtools/meson/nativesdk-meson_0.50.1.bb +++ /dev/null @@ -1,66 +0,0 @@ -include meson.inc - -inherit nativesdk -inherit siteinfo - -SRC_URI += "file://meson-setup.py \ - file://meson-wrapper" - -def meson_endian(prefix, d): - arch, os = d.getVar(prefix + "_ARCH"), d.getVar(prefix + "_OS") - sitedata = siteinfo_data_for_machine(arch, os, d) - if "endian-little" in sitedata: - return "little" - elif "endian-big" in sitedata: - return "big" - else: - bb.fatal("Cannot determine endianism for %s-%s" % (arch, os)) - -# The cross file logic is similar but not identical to that in meson.bbclass, -# since it's generating for an SDK rather than a cross-compile. Important -# differences are: -# - We can't set vars like CC, CXX, etc. yet because they will be filled in with -# real paths by meson-setup.sh when the SDK is extracted. -# - Some overrides aren't needed, since the SDK injects paths that take care of -# them. -do_install_append() { - install -d ${D}${datadir}/meson - cat >${D}${datadir}/meson/meson.cross.template <${D}${datadir}/meson/meson.cross.template < +Date: Fri, 6 Apr 2018 19:36:15 +0200 +Subject: [PATCH] Invoke ed directly instead of using the shell + +* src/pch.c (do_ed_script): Invoke ed directly instead of using a shell +command to avoid quoting vulnerabilities. + +CVE: CVE-2019-13638 +Upstream-Status: Backport[https://git.savannah.gnu.org/cgit/patch.git/patch/?id=3fcd042d26d70856e826a42b5f93dc4854d80bf0] +Signed-off-by: Trevor Gamblin + +--- + src/pch.c | 6 ++---- + 1 file changed, 2 insertions(+), 4 deletions(-) + + +diff --git a/src/pch.c b/src/pch.c +index 4fd5a05..16e001a 100644 +--- a/src/pch.c ++++ b/src/pch.c +@@ -2459,9 +2459,6 @@ do_ed_script (char const *inname, char const *outname, + *outname_needs_removal = true; + copy_file (inname, outname, 0, exclusive, instat.st_mode, true); + } +- sprintf (buf, "%s %s%s", editor_program, +- verbosity == VERBOSE ? "" : "- ", +- outname); + fflush (stdout); + + pid = fork(); +@@ -2470,7 +2467,8 @@ do_ed_script (char const *inname, char const *outname, + else if (pid == 0) + { + dup2 (tmpfd, 0); +- execl ("/bin/sh", "sh", "-c", buf, (char *) 0); ++ assert (outname[0] != '!' && outname[0] != '-'); ++ execlp (editor_program, editor_program, "-", outname, (char *) NULL); + _exit (2); + } + else +-- +2.7.4 + diff --git a/poky/meta/recipes-devtools/patch/patch/CVE-2019-13636.patch b/poky/meta/recipes-devtools/patch/patch/CVE-2019-13636.patch new file mode 100644 index 000000000..9f8b6db0b --- /dev/null +++ b/poky/meta/recipes-devtools/patch/patch/CVE-2019-13636.patch @@ -0,0 +1,113 @@ +From dce4683cbbe107a95f1f0d45fabc304acfb5d71a Mon Sep 17 00:00:00 2001 +From: Andreas Gruenbacher +Date: Mon, 15 Jul 2019 16:21:48 +0200 +Subject: Don't follow symlinks unless --follow-symlinks is given + +* src/inp.c (plan_a, plan_b), src/util.c (copy_to_fd, copy_file, +append_to_file): Unless the --follow-symlinks option is given, open files with +the O_NOFOLLOW flag to avoid following symlinks. So far, we were only doing +that consistently for input files. +* src/util.c (create_backup): When creating empty backup files, (re)create them +with O_CREAT | O_EXCL to avoid following symlinks in that case as well. + +CVE: CVE-2019-13636 +Upstream-Status: Backport[https://git.savannah.gnu.org/cgit/patch.git/patch/?id=dce4683cbbe107a95f1f0d45fabc304acfb5d71a] +Signed-off-by: Anuj Mittal + +--- + src/inp.c | 12 ++++++++++-- + src/util.c | 14 +++++++++++--- + 2 files changed, 21 insertions(+), 5 deletions(-) + +diff --git a/src/inp.c b/src/inp.c +index 32d0919..22d7473 100644 +--- a/src/inp.c ++++ b/src/inp.c +@@ -238,8 +238,13 @@ plan_a (char const *filename) + { + if (S_ISREG (instat.st_mode)) + { +- int ifd = safe_open (filename, O_RDONLY|binary_transput, 0); ++ int flags = O_RDONLY | binary_transput; + size_t buffered = 0, n; ++ int ifd; ++ ++ if (! follow_symlinks) ++ flags |= O_NOFOLLOW; ++ ifd = safe_open (filename, flags, 0); + if (ifd < 0) + pfatal ("can't open file %s", quotearg (filename)); + +@@ -340,6 +345,7 @@ plan_a (char const *filename) + static void + plan_b (char const *filename) + { ++ int flags = O_RDONLY | binary_transput; + int ifd; + FILE *ifp; + int c; +@@ -353,7 +359,9 @@ plan_b (char const *filename) + + if (instat.st_size == 0) + filename = NULL_DEVICE; +- if ((ifd = safe_open (filename, O_RDONLY | binary_transput, 0)) < 0 ++ if (! follow_symlinks) ++ flags |= O_NOFOLLOW; ++ if ((ifd = safe_open (filename, flags, 0)) < 0 + || ! (ifp = fdopen (ifd, binary_transput ? "rb" : "r"))) + pfatal ("Can't open file %s", quotearg (filename)); + if (TMPINNAME_needs_removal) +diff --git a/src/util.c b/src/util.c +index 1cc08ba..fb38307 100644 +--- a/src/util.c ++++ b/src/util.c +@@ -388,7 +388,7 @@ create_backup (char const *to, const struct stat *to_st, bool leave_original) + + try_makedirs_errno = ENOENT; + safe_unlink (bakname); +- while ((fd = safe_open (bakname, O_CREAT | O_WRONLY | O_TRUNC, 0666)) < 0) ++ while ((fd = safe_open (bakname, O_CREAT | O_EXCL | O_WRONLY | O_TRUNC, 0666)) < 0) + { + if (errno != try_makedirs_errno) + pfatal ("Can't create file %s", quotearg (bakname)); +@@ -579,10 +579,13 @@ create_file (char const *file, int open_flags, mode_t mode, + static void + copy_to_fd (const char *from, int tofd) + { ++ int from_flags = O_RDONLY | O_BINARY; + int fromfd; + ssize_t i; + +- if ((fromfd = safe_open (from, O_RDONLY | O_BINARY, 0)) < 0) ++ if (! follow_symlinks) ++ from_flags |= O_NOFOLLOW; ++ if ((fromfd = safe_open (from, from_flags, 0)) < 0) + pfatal ("Can't reopen file %s", quotearg (from)); + while ((i = read (fromfd, buf, bufsize)) != 0) + { +@@ -625,6 +628,8 @@ copy_file (char const *from, char const *to, struct stat *tost, + else + { + assert (S_ISREG (mode)); ++ if (! follow_symlinks) ++ to_flags |= O_NOFOLLOW; + tofd = create_file (to, O_WRONLY | O_BINARY | to_flags, mode, + to_dir_known_to_exist); + copy_to_fd (from, tofd); +@@ -640,9 +645,12 @@ copy_file (char const *from, char const *to, struct stat *tost, + void + append_to_file (char const *from, char const *to) + { ++ int to_flags = O_WRONLY | O_APPEND | O_BINARY; + int tofd; + +- if ((tofd = safe_open (to, O_WRONLY | O_BINARY | O_APPEND, 0)) < 0) ++ if (! follow_symlinks) ++ to_flags |= O_NOFOLLOW; ++ if ((tofd = safe_open (to, to_flags, 0)) < 0) + pfatal ("Can't reopen file %s", quotearg (to)); + copy_to_fd (from, tofd); + if (close (tofd) != 0) +-- +cgit v1.0-41-gc330 + diff --git a/poky/meta/recipes-devtools/patch/patch_2.7.6.bb b/poky/meta/recipes-devtools/patch/patch_2.7.6.bb index 85b0db733..8908910f7 100644 --- a/poky/meta/recipes-devtools/patch/patch_2.7.6.bb +++ b/poky/meta/recipes-devtools/patch/patch_2.7.6.bb @@ -6,6 +6,8 @@ SRC_URI += "file://0001-Unset-need_charset_alias-when-building-for-musl.patch \ file://0003-Allow-input-files-to-be-missing-for-ed-style-patches.patch \ file://0004-Fix-arbitrary-command-execution-in-ed-style-patches-.patch \ file://0001-Fix-swapping-fake-lines-in-pch_swap.patch \ + file://CVE-2019-13636.patch \ + file://0001-Invoke-ed-directly-instead-of-using-the-shell.patch \ " SRC_URI[md5sum] = "4c68cee989d83c87b00a3860bcd05600" diff --git a/poky/meta/recipes-devtools/perl/perl_5.30.0.bb b/poky/meta/recipes-devtools/perl/perl_5.30.0.bb index e3664290e..a221bce52 100644 --- a/poky/meta/recipes-devtools/perl/perl_5.30.0.bb +++ b/poky/meta/recipes-devtools/perl/perl_5.30.0.bb @@ -35,10 +35,13 @@ S = "${WORKDIR}/perl-${PV}" inherit upstream-version-is-even -DEPENDS += "db gdbm zlib virtual/crypt" +DEPENDS += "gdbm zlib virtual/crypt" PERL_LIB_VER = "${@'.'.join(d.getVar('PV').split('.')[0:2])}.0" +PACKAGECONFIG ??= "bdb" +PACKAGECONFIG[bdb] = ",-Ui_db,db" + # Don't generate comments in enc2xs output files. They are not reproducible export ENC2XS_NO_COMMENTS = "1" @@ -56,7 +59,8 @@ do_configure_class-target() { -Duseshrplib \ -Dsoname=libperl.so.5 \ -Dvendorprefix=${prefix} \ - -Darchlibexp=${STAGING_LIBDIR}/perl5/${PV}/${TARGET_ARCH}-linux + -Darchlibexp=${STAGING_LIBDIR}/perl5/${PV}/${TARGET_ARCH}-linux \ + ${PACKAGECONFIG_CONFARGS} #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 @@ -79,7 +83,8 @@ do_configure_class-nativesdk() { -Duseshrplib \ -Dsoname=libperl.so.5 \ -Dvendorprefix=${prefix} \ - -Darchlibexp=${STAGING_LIBDIR}/perl5/${PV}/${TARGET_ARCH}-linux + -Darchlibexp=${STAGING_LIBDIR}/perl5/${PV}/${TARGET_ARCH}-linux \ + ${PACKAGECONFIG_CONFARGS} # See the comment above sed -i -e "s,${STAGING_LIBDIR},${libdir},g" config.h @@ -91,7 +96,8 @@ do_configure_class-native() { -Duseshrplib \ -Dsoname=libperl.so.5 \ -Dvendorprefix=${prefix} \ - -Ui_xlocale + -Ui_xlocale \ + ${PACKAGECONFIG_CONFARGS} } do_configure_append() { @@ -179,7 +185,7 @@ perl_package_preprocess () { ${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_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 \ @@ -192,7 +198,7 @@ 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_git.pl \ ${libdir}/perl5/${PV}/*/Config_heavy-target.pl \ ${libdir}/perl5/config.sh \ ${libdir}/perl5/${PV}/strict.pm \ diff --git a/poky/meta/recipes-devtools/pseudo/pseudo.inc b/poky/meta/recipes-devtools/pseudo/pseudo.inc index 8b05735bb..8b3490972 100644 --- a/poky/meta/recipes-devtools/pseudo/pseudo.inc +++ b/poky/meta/recipes-devtools/pseudo/pseudo.inc @@ -4,7 +4,7 @@ SUMMARY = "Pseudo gives fake root capabilities to a normal user" HOMEPAGE = "http://git.yoctoproject.org/cgit/cgit.cgi/pseudo" -LIC_FILES_CHKSUM = "file://COPYING;md5=243b725d71bb5df4a1e5920b344b86ad" +LIC_FILES_CHKSUM = "file://COPYING;md5=a1d8023a6f953ac6ea4af765ff62d574" SECTION = "base" LICENSE = "LGPL2.1" DEPENDS = "sqlite3 attr" diff --git a/poky/meta/recipes-devtools/pseudo/pseudo_git.bb b/poky/meta/recipes-devtools/pseudo/pseudo_git.bb index 51db84c4d..6cf711e4c 100644 --- a/poky/meta/recipes-devtools/pseudo/pseudo_git.bb +++ b/poky/meta/recipes-devtools/pseudo/pseudo_git.bb @@ -8,7 +8,7 @@ SRC_URI = "git://git.yoctoproject.org/pseudo \ file://toomanyfiles.patch \ " -SRCREV = "3fa7c853e0bcd6fe23f7524c2a3c9e3af90901c3" +SRCREV = "060058bb29f70b244e685b3c704eb0641b736f73" S = "${WORKDIR}/git" PV = "1.9.0+git${SRCPV}" 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 deleted file mode 100644 index a1133dad4..000000000 --- a/poky/meta/recipes-devtools/python-numpy/python-numpy_1.16.3.bb +++ /dev/null @@ -1,10 +0,0 @@ -inherit setuptools -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-git.inc b/poky/meta/recipes-devtools/python/python-git.inc deleted file mode 100644 index f973e9f42..000000000 --- a/poky/meta/recipes-devtools/python/python-git.inc +++ /dev/null @@ -1,32 +0,0 @@ -SUMMARY = "Python library used to interact with Git repositories" -DESCRIPTION = "GitPython provides object model read and write access to \ -a git repository. Access repository information conveniently, alter the \ -index directly, handle remotes, or go down to low-level object database \ -access with big-files support." -HOMEPAGE = "http://github.com/gitpython-developers/GitPython" -SECTION = "devel/python" -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=8b8d26c37c1d5a04f9b0186edbebc183" - -PYPI_PACKAGE = "GitPython" - -inherit pypi - -SRC_URI[md5sum] = "cee43a39a1468084d49d1c49fb675204" -SRC_URI[sha256sum] = "8237dc5bfd6f1366abeee5624111b9d6879393d84745a507de0fda86043b65a8" - -DEPENDS = "${PYTHON_PN}-gitdb" - -RDEPENDS_${PN} += " \ - ${PYTHON_PN}-datetime \ - ${PYTHON_PN}-gitdb \ - ${PYTHON_PN}-io \ - ${PYTHON_PN}-logging \ - ${PYTHON_PN}-math \ - ${PYTHON_PN}-netclient \ - ${PYTHON_PN}-stringold \ - ${PYTHON_PN}-unittest \ - ${PYTHON_PN}-unixadmin \ - git \ -" -BBCLASSEXTEND = "native nativesdk" 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 deleted file mode 100644 index fab609df9..000000000 --- a/poky/meta/recipes-devtools/python/python-nose_1.3.7.bb +++ /dev/null @@ -1,6 +0,0 @@ -inherit setuptools -require python-nose.inc - -do_install_append() { - rm ${D}${bindir}/nosetests -} diff --git a/poky/meta/recipes-devtools/python/python-scons-native_3.0.5.bb b/poky/meta/recipes-devtools/python/python-scons-native_3.0.5.bb deleted file mode 100644 index 68b63c935..000000000 --- a/poky/meta/recipes-devtools/python/python-scons-native_3.0.5.bb +++ /dev/null @@ -1,8 +0,0 @@ -require python-scons_${PV}.bb -inherit native pythonnative -DEPENDS = "python-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/python-scons_3.0.5.bb b/poky/meta/recipes-devtools/python/python-scons_3.0.5.bb deleted file mode 100644 index 939c15bcc..000000000 --- a/poky/meta/recipes-devtools/python/python-scons_3.0.5.bb +++ /dev/null @@ -1,24 +0,0 @@ -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 setuptools - -RDEPENDS_${PN} = "\ - python-fcntl \ - python-io \ - python-json \ - python-subprocess \ - python-shell \ - python-pprint \ - " diff --git a/poky/meta/recipes-devtools/python/python.inc b/poky/meta/recipes-devtools/python/python.inc index 8d0e90862..70481002b 100644 --- a/poky/meta/recipes-devtools/python/python.inc +++ b/poky/meta/recipes-devtools/python/python.inc @@ -13,6 +13,7 @@ SRC_URI = "http://www.python.org/ftp/python/${PV}/Python-${PV}.tar.xz \ file://bpo-36216-cve-2019-9636.patch \ file://bpo-36216-cve-2019-9636-fix.patch \ file://CVE-2019-9740.patch \ + file://CVE-2018-20852.patch \ " SRC_URI[md5sum] = "30157d85a2c0479c09ea2cbe61f2aaf5" diff --git a/poky/meta/recipes-devtools/python/python/CVE-2018-20852.patch b/poky/meta/recipes-devtools/python/python/CVE-2018-20852.patch new file mode 100644 index 000000000..23c784a21 --- /dev/null +++ b/poky/meta/recipes-devtools/python/python/CVE-2018-20852.patch @@ -0,0 +1,123 @@ +From 979daae300916adb399ab5b51410b6ebd0888f13 Mon Sep 17 00:00:00 2001 +From: Xtreak +Date: Sat, 15 Jun 2019 20:59:43 +0530 +Subject: [PATCH] [2.7] bpo-35121: prefix dot in domain for proper subdomain + validation (GH-10258) (GH-13426) + +This is a manual backport of ca7fe5063593958e5efdf90f068582837f07bd14 since 2.7 has `http.cookiejar` in `cookielib` + + +https://bugs.python.org/issue35121 +CVE: CVE-2018-20852 +Upstream-Status: Backport [https://github.com/python/cpython/pull/13426] +Signed-off-by: Anuj Mittal +--- + Lib/cookielib.py | 13 ++++++-- + Lib/test/test_cookielib.py | 30 +++++++++++++++++++ + .../2019-05-20-00-35-12.bpo-35121.RRi-HU.rst | 4 +++ + 3 files changed, 45 insertions(+), 2 deletions(-) + create mode 100644 Misc/NEWS.d/next/Security/2019-05-20-00-35-12.bpo-35121.RRi-HU.rst + +diff --git a/Lib/cookielib.py b/Lib/cookielib.py +index 2dd7c48728e0..0b471a42f296 100644 +--- a/Lib/cookielib.py ++++ b/Lib/cookielib.py +@@ -1139,6 +1139,11 @@ def return_ok_domain(self, cookie, request): + req_host, erhn = eff_request_host(request) + domain = cookie.domain + ++ if domain and not domain.startswith("."): ++ dotdomain = "." + domain ++ else: ++ dotdomain = domain ++ + # strict check of non-domain cookies: Mozilla does this, MSIE5 doesn't + if (cookie.version == 0 and + (self.strict_ns_domain & self.DomainStrictNonDomain) and +@@ -1151,7 +1156,7 @@ def return_ok_domain(self, cookie, request): + _debug(" effective request-host name %s does not domain-match " + "RFC 2965 cookie domain %s", erhn, domain) + return False +- if cookie.version == 0 and not ("."+erhn).endswith(domain): ++ if cookie.version == 0 and not ("."+erhn).endswith(dotdomain): + _debug(" request-host %s does not match Netscape cookie domain " + "%s", req_host, domain) + return False +@@ -1165,7 +1170,11 @@ def domain_return_ok(self, domain, request): + req_host = "."+req_host + if not erhn.startswith("."): + erhn = "."+erhn +- if not (req_host.endswith(domain) or erhn.endswith(domain)): ++ if domain and not domain.startswith("."): ++ dotdomain = "." + domain ++ else: ++ dotdomain = domain ++ if not (req_host.endswith(dotdomain) or erhn.endswith(dotdomain)): + #_debug(" request domain %s does not match cookie domain %s", + # req_host, domain) + return False +diff --git a/Lib/test/test_cookielib.py b/Lib/test/test_cookielib.py +index f2dd9727d137..7f7ff614d61d 100644 +--- a/Lib/test/test_cookielib.py ++++ b/Lib/test/test_cookielib.py +@@ -368,6 +368,7 @@ def test_domain_return_ok(self): + ("http://foo.bar.com/", ".foo.bar.com", True), + ("http://foo.bar.com/", "foo.bar.com", True), + ("http://foo.bar.com/", ".bar.com", True), ++ ("http://foo.bar.com/", "bar.com", True), + ("http://foo.bar.com/", "com", True), + ("http://foo.com/", "rhubarb.foo.com", False), + ("http://foo.com/", ".foo.com", True), +@@ -378,6 +379,8 @@ def test_domain_return_ok(self): + ("http://foo/", "foo", True), + ("http://foo/", "foo.local", True), + ("http://foo/", ".local", True), ++ ("http://barfoo.com", ".foo.com", False), ++ ("http://barfoo.com", "foo.com", False), + ]: + request = urllib2.Request(url) + r = pol.domain_return_ok(domain, request) +@@ -938,6 +941,33 @@ def test_domain_block(self): + c.add_cookie_header(req) + self.assertFalse(req.has_header("Cookie")) + ++ c.clear() ++ ++ pol.set_blocked_domains([]) ++ req = Request("http://acme.com/") ++ res = FakeResponse(headers, "http://acme.com/") ++ cookies = c.make_cookies(res, req) ++ c.extract_cookies(res, req) ++ self.assertEqual(len(c), 1) ++ ++ req = Request("http://acme.com/") ++ c.add_cookie_header(req) ++ self.assertTrue(req.has_header("Cookie")) ++ ++ req = Request("http://badacme.com/") ++ c.add_cookie_header(req) ++ self.assertFalse(pol.return_ok(cookies[0], req)) ++ self.assertFalse(req.has_header("Cookie")) ++ ++ p = pol.set_blocked_domains(["acme.com"]) ++ req = Request("http://acme.com/") ++ c.add_cookie_header(req) ++ self.assertFalse(req.has_header("Cookie")) ++ ++ req = Request("http://badacme.com/") ++ c.add_cookie_header(req) ++ self.assertFalse(req.has_header("Cookie")) ++ + def test_secure(self): + from cookielib import CookieJar, DefaultCookiePolicy + +diff --git a/Misc/NEWS.d/next/Security/2019-05-20-00-35-12.bpo-35121.RRi-HU.rst b/Misc/NEWS.d/next/Security/2019-05-20-00-35-12.bpo-35121.RRi-HU.rst +new file mode 100644 +index 000000000000..77251806163b +--- /dev/null ++++ b/Misc/NEWS.d/next/Security/2019-05-20-00-35-12.bpo-35121.RRi-HU.rst +@@ -0,0 +1,4 @@ ++Don't send cookies of domain A without Domain attribute to domain B when ++domain A is a suffix match of domain B while using a cookiejar with ++:class:`cookielib.DefaultCookiePolicy` policy. Patch by Karthikeyan ++Singaravelan. diff --git a/poky/meta/recipes-devtools/python/python/CVE-2019-9740.patch b/poky/meta/recipes-devtools/python/python/CVE-2019-9740.patch index 066ac6829..95f43e038 100644 --- a/poky/meta/recipes-devtools/python/python/CVE-2019-9740.patch +++ b/poky/meta/recipes-devtools/python/python/CVE-2019-9740.patch @@ -31,6 +31,7 @@ Notes on backport to Python 2.7: Upstream-Status: Backport CVE: CVE-2019-9740 +CVE: CVE-2019-9947 Signed-off-by: Anuj Mittal --- Lib/httplib.py | 16 ++++++ diff --git a/poky/meta/recipes-devtools/python/python3-dbus_1.2.8.bb b/poky/meta/recipes-devtools/python/python3-dbus_1.2.8.bb index 923da3c00..2fb1eae96 100644 --- a/poky/meta/recipes-devtools/python/python3-dbus_1.2.8.bb +++ b/poky/meta/recipes-devtools/python/python3-dbus_1.2.8.bb @@ -22,3 +22,5 @@ EXTRA_OECONF += "--disable-documentation" RDEPENDS_${PN} = "python3-io python3-logging python3-stringold python3-threading python3-xml" FILES_${PN}-dev += "${libdir}/pkgconfig" + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/python/python3-git_2.1.11.bb b/poky/meta/recipes-devtools/python/python3-git_2.1.11.bb deleted file mode 100644 index ac320fa56..000000000 --- a/poky/meta/recipes-devtools/python/python3-git_2.1.11.bb +++ /dev/null @@ -1,2 +0,0 @@ -require python-git.inc -inherit setuptools3 diff --git a/poky/meta/recipes-devtools/python/python3-git_3.0.0.bb b/poky/meta/recipes-devtools/python/python3-git_3.0.0.bb new file mode 100644 index 000000000..b6c837cdf --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-git_3.0.0.bb @@ -0,0 +1,33 @@ +SUMMARY = "Python library used to interact with Git repositories" +DESCRIPTION = "GitPython provides object model read and write access to \ +a git repository. Access repository information conveniently, alter the \ +index directly, handle remotes, or go down to low-level object database \ +access with big-files support." +HOMEPAGE = "http://github.com/gitpython-developers/GitPython" +SECTION = "devel/python" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=8b8d26c37c1d5a04f9b0186edbebc183" + +PYPI_PACKAGE = "GitPython" + +inherit pypi setuptools3 + +SRC_URI[md5sum] = "9412ae9665fd29328f2afc6df887ae81" +SRC_URI[sha256sum] = "629867ebf609cef21bb9d849039e281e25963fb7d714a2f6bacc1ecce4800293" + +DEPENDS += " ${PYTHON_PN}-gitdb" + +RDEPENDS_${PN} += " \ + ${PYTHON_PN}-datetime \ + ${PYTHON_PN}-gitdb \ + ${PYTHON_PN}-io \ + ${PYTHON_PN}-logging \ + ${PYTHON_PN}-math \ + ${PYTHON_PN}-netclient \ + ${PYTHON_PN}-stringold \ + ${PYTHON_PN}-unittest \ + ${PYTHON_PN}-unixadmin \ + git \ +" + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/python/python3-mako_1.0.14.bb b/poky/meta/recipes-devtools/python/python3-mako_1.0.14.bb deleted file mode 100644 index d2f5188cc..000000000 --- a/poky/meta/recipes-devtools/python/python3-mako_1.0.14.bb +++ /dev/null @@ -1,21 +0,0 @@ -SUMMARY = "Templating library for Python" -HOMEPAGE = "http://www.makotemplates.org/" -SECTION = "devel/python" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=df7e6c7c82990acf0228a55e00d29bc9" - -PYPI_PACKAGE = "Mako" - -inherit pypi setuptools3 - -SRC_URI[md5sum] = "e162578170331f0cc6a4adb063c7c0f6" -SRC_URI[sha256sum] = "f5a642d8c5699269ab62a68b296ff990767eb120f51e2e8f3d6afb16bdb57f4b" - -RDEPENDS_${PN} = "${PYTHON_PN}-html \ - ${PYTHON_PN}-netclient \ - ${PYTHON_PN}-threading \ -" - -RDEPENDS_${PN}_class-native = "" - -BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/python/python3-mako_1.1.0.bb b/poky/meta/recipes-devtools/python/python3-mako_1.1.0.bb new file mode 100644 index 000000000..b139e5ab0 --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-mako_1.1.0.bb @@ -0,0 +1,21 @@ +SUMMARY = "Templating library for Python" +HOMEPAGE = "http://www.makotemplates.org/" +SECTION = "devel/python" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=df7e6c7c82990acf0228a55e00d29bc9" + +PYPI_PACKAGE = "Mako" + +inherit pypi setuptools3 + +SRC_URI[md5sum] = "6c3f2da0b74af529a4c4a537d0848bf2" +SRC_URI[sha256sum] = "a36919599a9b7dc5d86a7a8988f23a9a3a3d083070023bab23d64f7f1d1e0a4b" + +RDEPENDS_${PN} = "${PYTHON_PN}-html \ + ${PYTHON_PN}-netclient \ + ${PYTHON_PN}-threading \ +" + +RDEPENDS_${PN}_class-native = "" + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/python/python3-pbr_5.4.1.bb b/poky/meta/recipes-devtools/python/python3-pbr_5.4.1.bb deleted file mode 100644 index 338ac8b70..000000000 --- a/poky/meta/recipes-devtools/python/python3-pbr_5.4.1.bb +++ /dev/null @@ -1,5 +0,0 @@ -inherit setuptools3 -require python-pbr.inc - -SRC_URI[md5sum] = "ab6e26026ab306989a636ec2d50a435a" -SRC_URI[sha256sum] = "0ca44dc9fd3b04a22297c2a91082d8df2894862e8f4c86a49dac69eae9e85ca0" diff --git a/poky/meta/recipes-devtools/python/python3-pbr_5.4.2.bb b/poky/meta/recipes-devtools/python/python3-pbr_5.4.2.bb new file mode 100644 index 000000000..d59e744e6 --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-pbr_5.4.2.bb @@ -0,0 +1,5 @@ +inherit setuptools3 +require python-pbr.inc + +SRC_URI[md5sum] = "ea90e1118a0132da752d45e68d10b2b8" +SRC_URI[sha256sum] = "9b321c204a88d8ab5082699469f52cc94c5da45c51f114113d01b3d993c24cdf" 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 deleted file mode 100644 index baf32f472..000000000 --- a/poky/meta/recipes-devtools/python/python3-pip_19.1.1.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] = "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-pip_19.2.1.bb b/poky/meta/recipes-devtools/python/python3-pip_19.2.1.bb new file mode 100644 index 000000000..ebf1f25c1 --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-pip_19.2.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] = "e9ac3e030e88b6c076a20ab371a30742" +SRC_URI[sha256sum] = "258d702483dd749400aec59c23d638a5b2249ae28a0f478b6cab12ad45681a80" + +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-pygobject_3.32.2.bb b/poky/meta/recipes-devtools/python/python3-pygobject_3.32.2.bb index 05688be60..476957e88 100644 --- a/poky/meta/recipes-devtools/python/python3-pygobject_3.32.2.bb +++ b/poky/meta/recipes-devtools/python/python3-pygobject_3.32.2.bb @@ -23,11 +23,11 @@ S = "${WORKDIR}/${SRCNAME}-${PV}" PACKAGECONFIG ??= "${@bb.utils.contains_any('DISTRO_FEATURES', [ 'directfb', 'wayland', 'x11' ], 'cairo', '', d)}" +RDEPENDS_${PN} += "python3-pkgutil" + # python3-pycairo is checked on configuration -> DEPENDS # we don't link against python3-pycairo -> RDEPENDS PACKAGECONFIG[cairo] = "-Dpycairo=true,-Dpycairo=false, cairo python3-pycairo, python3-pycairo" -RDEPENDS_${PN} += "python3-setuptools" - BBCLASSEXTEND = "native" PACKAGECONFIG_class-native = "" diff --git a/poky/meta/recipes-devtools/python/python3/python3-manifest.json b/poky/meta/recipes-devtools/python/python3/python3-manifest.json index 0803ac003..ec28c2dbb 100644 --- a/poky/meta/recipes-devtools/python/python3/python3-manifest.json +++ b/poky/meta/recipes-devtools/python/python3/python3-manifest.json @@ -512,17 +512,15 @@ "${libdir}/python${PYTHON_MAJMIN}/__pycache__/difflib.*.pyc" ] }, - "distutils-staticdev": { - "cached": [ - "${libdir}/python${PYTHON_MAJMIN}/config/__pycache__/lib*.a" - ], + "distutils-windows": { + "cached": [], "files": [ - "${libdir}/python${PYTHON_MAJMIN}/config/lib*.a" + "${libdir}/python${PYTHON_MAJMIN}/distutils/command/wininst-*.exe" ], "rdepends": [ "distutils" ], - "summary": "Python distribution utilities (static libraries)" + "summary": "Python distribution utilities (Windows installer stubs)" }, "distutils": { "summary": "Python Distribution Utilities", @@ -801,6 +799,9 @@ "xml", "xmlrpc" ], + "rrecommends": [ + "distutils-windows" + ], "summary": "All Python modules" }, "multiprocessing": { diff --git a/poky/meta/recipes-devtools/python/python3_3.7.4.bb b/poky/meta/recipes-devtools/python/python3_3.7.4.bb index a63abfd6c..59d702498 100644 --- a/poky/meta/recipes-devtools/python/python3_3.7.4.bb +++ b/poky/meta/recipes-devtools/python/python3_3.7.4.bb @@ -229,7 +229,7 @@ python(){ newpackages=[] for key in python_manifest: - pypackage= pn + '-' + key + pypackage = pn + '-' + key if pypackage not in packages: # We need to prepend, otherwise python-misc gets everything @@ -249,8 +249,14 @@ python(){ for value in python_manifest[key]['rdepends']: # Make it work with or without $PN if '${PN}' in value: - value=value.split('-')[1] + value=value.split('-', 1)[1] d.appendVar('RDEPENDS_' + pypackage, ' ' + pn + '-' + value) + + for value in python_manifest[key].get('rrecommends', ()): + if '${PN}' in value: + value=value.split('-', 1)[1] + d.appendVar('RRECOMMENDS_' + pypackage, ' ' + pn + '-' + value) + d.setVar('SUMMARY_' + pypackage, python_manifest[key]['summary']) # Prepending so to avoid python-misc getting everything diff --git a/poky/meta/recipes-devtools/qemu/qemu.inc b/poky/meta/recipes-devtools/qemu/qemu.inc index 7f0b3a7a7..46c40b7d4 100644 --- a/poky/meta/recipes-devtools/qemu/qemu.inc +++ b/poky/meta/recipes-devtools/qemu/qemu.inc @@ -24,6 +24,7 @@ SRC_URI = "https://download.qemu.org/${BPN}-${PV}.tar.xz \ 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-target-arm-Fix-vector-operation-segfault.patch \ + file://0014-linux-user-fix-to-handle-variably-sized-SIOCGSTAMP-w.patch \ file://CVE-2019-12155.patch \ " UPSTREAM_CHECK_REGEX = "qemu-(?P\d+(\.\d+)+)\.tar" diff --git a/poky/meta/recipes-devtools/qemu/qemu/0014-linux-user-fix-to-handle-variably-sized-SIOCGSTAMP-w.patch b/poky/meta/recipes-devtools/qemu/qemu/0014-linux-user-fix-to-handle-variably-sized-SIOCGSTAMP-w.patch new file mode 100644 index 000000000..7cac8ef3d --- /dev/null +++ b/poky/meta/recipes-devtools/qemu/qemu/0014-linux-user-fix-to-handle-variably-sized-SIOCGSTAMP-w.patch @@ -0,0 +1,339 @@ +From 8104018ba4c66e568d2583a3a0ee940851ee7471 Mon Sep 17 00:00:00 2001 +From: Daniel P. Berrangé +Date: Tue, 23 Jul 2019 17:50:00 +0200 +Subject: [PATCH] linux-user: fix to handle variably sized SIOCGSTAMP with new + kernels +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +The SIOCGSTAMP symbol was previously defined in the +asm-generic/sockios.h header file. QEMU sees that header +indirectly via sys/socket.h + +In linux kernel commit 0768e17073dc527ccd18ed5f96ce85f9985e9115 +the asm-generic/sockios.h header no longer defines SIOCGSTAMP. +Instead it provides only SIOCGSTAMP_OLD, which only uses a +32-bit time_t on 32-bit architectures. + +The linux/sockios.h header then defines SIOCGSTAMP using +either SIOCGSTAMP_OLD or SIOCGSTAMP_NEW as appropriate. If +SIOCGSTAMP_NEW is used, then the tv_sec field is 64-bit even +on 32-bit architectures + +To cope with this we must now convert the old and new type from +the target to the host one. + +Signed-off-by: Daniel P. Berrangé +Signed-off-by: Laurent Vivier +Reviewed-by: Arnd Bergmann +Message-Id: <20190718130641.15294-1-laurent@vivier.eu> +Signed-off-by: Laurent Vivier +Signed-off-by: Bartosz Golaszewski +--- +Upstream-Status: Backport [upstream commit: 6d5d5dde9adb5acb32e6b8e3dfbf47fff0f308d2] + + linux-user/ioctls.h | 21 +++++- + linux-user/syscall.c | 140 +++++++++++++++++++++++++++++-------- + linux-user/syscall_defs.h | 30 +++++++- + linux-user/syscall_types.h | 6 -- + 4 files changed, 159 insertions(+), 38 deletions(-) + +diff --git a/linux-user/ioctls.h b/linux-user/ioctls.h +index ae8951625f..e6a27ad9d6 100644 +--- a/linux-user/ioctls.h ++++ b/linux-user/ioctls.h +@@ -219,8 +219,25 @@ + IOCTL(SIOCGRARP, IOC_R, MK_PTR(MK_STRUCT(STRUCT_arpreq))) + IOCTL(SIOCGIWNAME, IOC_W | IOC_R, MK_PTR(MK_STRUCT(STRUCT_char_ifreq))) + IOCTL(SIOCGPGRP, IOC_R, MK_PTR(TYPE_INT)) /* pid_t */ +- IOCTL(SIOCGSTAMP, IOC_R, MK_PTR(MK_STRUCT(STRUCT_timeval))) +- IOCTL(SIOCGSTAMPNS, IOC_R, MK_PTR(MK_STRUCT(STRUCT_timespec))) ++ ++ /* ++ * We can't use IOCTL_SPECIAL() because it will set ++ * host_cmd to XXX_OLD and XXX_NEW and these macros ++ * are not defined with kernel prior to 5.2. ++ * We must set host_cmd to the same value as in target_cmd ++ * otherwise the consistency check in syscall_init() ++ * will trigger an error. ++ * host_cmd is ignored by the do_ioctl_XXX() helpers. ++ * FIXME: create a macro to define this kind of entry ++ */ ++ { TARGET_SIOCGSTAMP_OLD, TARGET_SIOCGSTAMP_OLD, ++ "SIOCGSTAMP_OLD", IOC_R, do_ioctl_SIOCGSTAMP }, ++ { TARGET_SIOCGSTAMPNS_OLD, TARGET_SIOCGSTAMPNS_OLD, ++ "SIOCGSTAMPNS_OLD", IOC_R, do_ioctl_SIOCGSTAMPNS }, ++ { TARGET_SIOCGSTAMP_NEW, TARGET_SIOCGSTAMP_NEW, ++ "SIOCGSTAMP_NEW", IOC_R, do_ioctl_SIOCGSTAMP }, ++ { TARGET_SIOCGSTAMPNS_NEW, TARGET_SIOCGSTAMPNS_NEW, ++ "SIOCGSTAMPNS_NEW", IOC_R, do_ioctl_SIOCGSTAMPNS }, + + IOCTL(RNDGETENTCNT, IOC_R, MK_PTR(TYPE_INT)) + IOCTL(RNDADDTOENTCNT, IOC_W, MK_PTR(TYPE_INT)) +diff --git a/linux-user/syscall.c b/linux-user/syscall.c +index 96cd4bf86d..6df480e13d 100644 +--- a/linux-user/syscall.c ++++ b/linux-user/syscall.c +@@ -37,6 +37,7 @@ + #include + #include + #include ++#include + #include + #include + #include +@@ -1139,8 +1140,9 @@ static inline abi_long copy_from_user_timeval(struct timeval *tv, + { + struct target_timeval *target_tv; + +- if (!lock_user_struct(VERIFY_READ, target_tv, target_tv_addr, 1)) ++ if (!lock_user_struct(VERIFY_READ, target_tv, target_tv_addr, 1)) { + return -TARGET_EFAULT; ++ } + + __get_user(tv->tv_sec, &target_tv->tv_sec); + __get_user(tv->tv_usec, &target_tv->tv_usec); +@@ -1155,8 +1157,26 @@ static inline abi_long copy_to_user_timeval(abi_ulong target_tv_addr, + { + struct target_timeval *target_tv; + +- if (!lock_user_struct(VERIFY_WRITE, target_tv, target_tv_addr, 0)) ++ if (!lock_user_struct(VERIFY_WRITE, target_tv, target_tv_addr, 0)) { ++ return -TARGET_EFAULT; ++ } ++ ++ __put_user(tv->tv_sec, &target_tv->tv_sec); ++ __put_user(tv->tv_usec, &target_tv->tv_usec); ++ ++ unlock_user_struct(target_tv, target_tv_addr, 1); ++ ++ return 0; ++} ++ ++static inline abi_long copy_to_user_timeval64(abi_ulong target_tv_addr, ++ const struct timeval *tv) ++{ ++ struct target__kernel_sock_timeval *target_tv; ++ ++ if (!lock_user_struct(VERIFY_WRITE, target_tv, target_tv_addr, 0)) { + return -TARGET_EFAULT; ++ } + + __put_user(tv->tv_sec, &target_tv->tv_sec); + __put_user(tv->tv_usec, &target_tv->tv_usec); +@@ -1166,6 +1186,48 @@ static inline abi_long copy_to_user_timeval(abi_ulong target_tv_addr, + return 0; + } + ++static inline abi_long target_to_host_timespec(struct timespec *host_ts, ++ abi_ulong target_addr) ++{ ++ struct target_timespec *target_ts; ++ ++ if (!lock_user_struct(VERIFY_READ, target_ts, target_addr, 1)) { ++ return -TARGET_EFAULT; ++ } ++ __get_user(host_ts->tv_sec, &target_ts->tv_sec); ++ __get_user(host_ts->tv_nsec, &target_ts->tv_nsec); ++ unlock_user_struct(target_ts, target_addr, 0); ++ return 0; ++} ++ ++static inline abi_long host_to_target_timespec(abi_ulong target_addr, ++ struct timespec *host_ts) ++{ ++ struct target_timespec *target_ts; ++ ++ if (!lock_user_struct(VERIFY_WRITE, target_ts, target_addr, 0)) { ++ return -TARGET_EFAULT; ++ } ++ __put_user(host_ts->tv_sec, &target_ts->tv_sec); ++ __put_user(host_ts->tv_nsec, &target_ts->tv_nsec); ++ unlock_user_struct(target_ts, target_addr, 1); ++ return 0; ++} ++ ++static inline abi_long host_to_target_timespec64(abi_ulong target_addr, ++ struct timespec *host_ts) ++{ ++ struct target__kernel_timespec *target_ts; ++ ++ if (!lock_user_struct(VERIFY_WRITE, target_ts, target_addr, 0)) { ++ return -TARGET_EFAULT; ++ } ++ __put_user(host_ts->tv_sec, &target_ts->tv_sec); ++ __put_user(host_ts->tv_nsec, &target_ts->tv_nsec); ++ unlock_user_struct(target_ts, target_addr, 1); ++ return 0; ++} ++ + static inline abi_long copy_from_user_timezone(struct timezone *tz, + abi_ulong target_tz_addr) + { +@@ -4790,6 +4852,54 @@ static abi_long do_ioctl_kdsigaccept(const IOCTLEntry *ie, uint8_t *buf_temp, + return get_errno(safe_ioctl(fd, ie->host_cmd, sig)); + } + ++static abi_long do_ioctl_SIOCGSTAMP(const IOCTLEntry *ie, uint8_t *buf_temp, ++ int fd, int cmd, abi_long arg) ++{ ++ struct timeval tv; ++ abi_long ret; ++ ++ ret = get_errno(safe_ioctl(fd, SIOCGSTAMP, &tv)); ++ if (is_error(ret)) { ++ return ret; ++ } ++ ++ if (cmd == (int)TARGET_SIOCGSTAMP_OLD) { ++ if (copy_to_user_timeval(arg, &tv)) { ++ return -TARGET_EFAULT; ++ } ++ } else { ++ if (copy_to_user_timeval64(arg, &tv)) { ++ return -TARGET_EFAULT; ++ } ++ } ++ ++ return ret; ++} ++ ++static abi_long do_ioctl_SIOCGSTAMPNS(const IOCTLEntry *ie, uint8_t *buf_temp, ++ int fd, int cmd, abi_long arg) ++{ ++ struct timespec ts; ++ abi_long ret; ++ ++ ret = get_errno(safe_ioctl(fd, SIOCGSTAMPNS, &ts)); ++ if (is_error(ret)) { ++ return ret; ++ } ++ ++ if (cmd == (int)TARGET_SIOCGSTAMPNS_OLD) { ++ if (host_to_target_timespec(arg, &ts)) { ++ return -TARGET_EFAULT; ++ } ++ } else{ ++ if (host_to_target_timespec64(arg, &ts)) { ++ return -TARGET_EFAULT; ++ } ++ } ++ ++ return ret; ++} ++ + #ifdef TIOCGPTPEER + static abi_long do_ioctl_tiocgptpeer(const IOCTLEntry *ie, uint8_t *buf_temp, + int fd, int cmd, abi_long arg) +@@ -6160,32 +6270,6 @@ static inline abi_long target_ftruncate64(void *cpu_env, abi_long arg1, + } + #endif + +-static inline abi_long target_to_host_timespec(struct timespec *host_ts, +- abi_ulong target_addr) +-{ +- struct target_timespec *target_ts; +- +- if (!lock_user_struct(VERIFY_READ, target_ts, target_addr, 1)) +- return -TARGET_EFAULT; +- __get_user(host_ts->tv_sec, &target_ts->tv_sec); +- __get_user(host_ts->tv_nsec, &target_ts->tv_nsec); +- unlock_user_struct(target_ts, target_addr, 0); +- return 0; +-} +- +-static inline abi_long host_to_target_timespec(abi_ulong target_addr, +- struct timespec *host_ts) +-{ +- struct target_timespec *target_ts; +- +- if (!lock_user_struct(VERIFY_WRITE, target_ts, target_addr, 0)) +- return -TARGET_EFAULT; +- __put_user(host_ts->tv_sec, &target_ts->tv_sec); +- __put_user(host_ts->tv_nsec, &target_ts->tv_nsec); +- unlock_user_struct(target_ts, target_addr, 1); +- return 0; +-} +- + static inline abi_long target_to_host_itimerspec(struct itimerspec *host_itspec, + abi_ulong target_addr) + { +diff --git a/linux-user/syscall_defs.h b/linux-user/syscall_defs.h +index 12c8407144..c918419306 100644 +--- a/linux-user/syscall_defs.h ++++ b/linux-user/syscall_defs.h +@@ -208,16 +208,34 @@ struct target_linger { + abi_int l_linger; /* How long to linger for */ + }; + ++#if defined(TARGET_SPARC64) && !defined(TARGET_ABI32) ++struct target_timeval { ++ abi_long tv_sec; ++ abi_int tv_usec; ++}; ++#define target__kernel_sock_timeval target_timeval ++#else + struct target_timeval { + abi_long tv_sec; + abi_long tv_usec; + }; + ++struct target__kernel_sock_timeval { ++ abi_llong tv_sec; ++ abi_llong tv_usec; ++}; ++#endif ++ + struct target_timespec { + abi_long tv_sec; + abi_long tv_nsec; + }; + ++struct target__kernel_timespec { ++ abi_llong tv_sec; ++ abi_llong tv_nsec; ++}; ++ + struct target_timezone { + abi_int tz_minuteswest; + abi_int tz_dsttime; +@@ -743,8 +761,16 @@ struct target_pollfd { + #define TARGET_SIOCATMARK 0x8905 + #define TARGET_SIOCGPGRP 0x8904 + #endif +-#define TARGET_SIOCGSTAMP 0x8906 /* Get stamp (timeval) */ +-#define TARGET_SIOCGSTAMPNS 0x8907 /* Get stamp (timespec) */ ++#if defined(TARGET_SH4) ++#define TARGET_SIOCGSTAMP_OLD TARGET_IOR('s', 100, struct target_timeval) ++#define TARGET_SIOCGSTAMPNS_OLD TARGET_IOR('s', 101, struct target_timespec) ++#else ++#define TARGET_SIOCGSTAMP_OLD 0x8906 ++#define TARGET_SIOCGSTAMPNS_OLD 0x8907 ++#endif ++ ++#define TARGET_SIOCGSTAMP_NEW TARGET_IOR(0x89, 0x06, abi_llong[2]) ++#define TARGET_SIOCGSTAMPNS_NEW TARGET_IOR(0x89, 0x07, abi_llong[2]) + + /* Networking ioctls */ + #define TARGET_SIOCADDRT 0x890B /* add routing table entry */ +diff --git a/linux-user/syscall_types.h b/linux-user/syscall_types.h +index b98a23b0f1..4e36983826 100644 +--- a/linux-user/syscall_types.h ++++ b/linux-user/syscall_types.h +@@ -14,12 +14,6 @@ STRUCT(serial_icounter_struct, + STRUCT(sockaddr, + TYPE_SHORT, MK_ARRAY(TYPE_CHAR, 14)) + +-STRUCT(timeval, +- MK_ARRAY(TYPE_LONG, 2)) +- +-STRUCT(timespec, +- MK_ARRAY(TYPE_LONG, 2)) +- + STRUCT(rtentry, + TYPE_ULONG, MK_STRUCT(STRUCT_sockaddr), MK_STRUCT(STRUCT_sockaddr), MK_STRUCT(STRUCT_sockaddr), + TYPE_SHORT, TYPE_SHORT, TYPE_ULONG, TYPE_PTRVOID, TYPE_SHORT, TYPE_PTRVOID, +-- +2.21.0 + diff --git a/poky/meta/recipes-devtools/ruby/ruby.inc b/poky/meta/recipes-devtools/ruby/ruby.inc index 1ecd087d7..a98249afb 100644 --- a/poky/meta/recipes-devtools/ruby/ruby.inc +++ b/poky/meta/recipes-devtools/ruby/ruby.inc @@ -15,7 +15,7 @@ LIC_FILES_CHKSUM = "\ " DEPENDS = "ruby-native zlib openssl tcl libyaml gdbm readline libffi" -DEPENDS_class-native = "openssl-native libyaml-native readline-native" +DEPENDS_class-native = "openssl-native libyaml-native readline-native zlib-native" SHRT_VER = "${@oe.utils.trim_version("${PV}", 2)}" SRC_URI = "http://cache.ruby-lang.org/pub/ruby/${SHRT_VER}/ruby-${PV}.tar.gz \ diff --git a/poky/meta/recipes-devtools/strace/strace/0001-Fix-build-when-using-non-glibc-libc-implementation-o.patch b/poky/meta/recipes-devtools/strace/strace/0001-Fix-build-when-using-non-glibc-libc-implementation-o.patch index daafceb37..fb5f72529 100644 --- a/poky/meta/recipes-devtools/strace/strace/0001-Fix-build-when-using-non-glibc-libc-implementation-o.patch +++ b/poky/meta/recipes-devtools/strace/strace/0001-Fix-build-when-using-non-glibc-libc-implementation-o.patch @@ -13,22 +13,19 @@ Signed-off-by: Khem Raj ptrace.h | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) -diff --git a/ptrace.h b/ptrace.h -index 89d4b95..b3f45bb 100644 --- a/ptrace.h +++ b/ptrace.h @@ -30,7 +30,13 @@ - # define ptrace_peeksiginfo_args XXX_ptrace_peeksiginfo_args - #endif + # define ptrace_peeksiginfo_args XXX_ptrace_peeksiginfo_args + # endif --#include +#if defined(POWERPC) && !defined(__GLIBC__) +#define pt_regs uapi_pt_regs +#endif -+# include + # include +#if defined(POWERPC) && !defined(__GLIBC__) +# undef pt_regs +#endif - #ifdef HAVE_STRUCT_IA64_FPREG - # undef ia64_fpreg + # ifdef HAVE_STRUCT_IA64_FPREG + # undef ia64_fpreg diff --git a/poky/meta/recipes-devtools/strace/strace/0001-mips-o32-fix-build.patch b/poky/meta/recipes-devtools/strace/strace/0001-mips-o32-fix-build.patch deleted file mode 100644 index a5dccfb08..000000000 --- a/poky/meta/recipes-devtools/strace/strace/0001-mips-o32-fix-build.patch +++ /dev/null @@ -1,98 +0,0 @@ -From 2c8b6de913973274e877639658e9e7273a012adb Mon Sep 17 00:00:00 2001 -From: "Dmitry V. Levin" -Date: Tue, 8 Jan 2019 19:23:44 +0000 -Subject: [PATCH] mips o32: fix build - -Upstream-Status: Backport - -Commit 917c2ccf3a67 "Refactor stack pointers" moved mips_REG_* macros -from linux/mips/arch_regs.h to linux/mips/arch_regs.c because these -macros are no longer used outside syscall.c or files included by -syscall.c, but this caused a build regression on mips o32 because -decode_syscall_subcall() uses mips_REG_SP prior to its definition. - -* syscall.c (decode_syscall_subcall): Move ... -* linux/mips/get_syscall_args.c: ... here. - -Reported-by: Baruch Siach -Fixes: v4.26~61 "Refactor stack pointers" ---- - linux/mips/get_syscall_args.c | 26 ++++++++++++++++++++++++++ - syscall.c | 27 ++------------------------- - 2 files changed, 29 insertions(+), 25 deletions(-) - -diff --git a/linux/mips/get_syscall_args.c b/linux/mips/get_syscall_args.c -index 387aa852..e2889f98 100644 ---- a/linux/mips/get_syscall_args.c -+++ b/linux/mips/get_syscall_args.c -@@ -37,3 +37,29 @@ arch_get_syscall_args(struct tcb *tcp) - #endif - return 1; - } -+ -+#ifdef SYS_syscall_subcall -+static void -+decode_syscall_subcall(struct tcb *tcp) -+{ -+ if (!scno_is_valid(tcp->u_arg[0])) -+ return; -+ tcp->scno = tcp->u_arg[0]; -+ tcp->qual_flg = qual_flags(tcp->scno); -+ tcp->s_ent = &sysent[tcp->scno]; -+ memmove(&tcp->u_arg[0], &tcp->u_arg[1], -+ sizeof(tcp->u_arg) - sizeof(tcp->u_arg[0])); -+ /* -+ * Fetching the last arg of 7-arg syscalls (fadvise64_64 -+ * and sync_file_range) requires additional code, -+ * see linux/mips/get_syscall_args.c -+ */ -+ if (tcp->s_ent->nargs == MAX_ARGS) { -+ if (umoven(tcp, -+ mips_REG_SP + MAX_ARGS * sizeof(tcp->u_arg[0]), -+ sizeof(tcp->u_arg[0]), -+ &tcp->u_arg[MAX_ARGS - 1]) < 0) -+ tcp->u_arg[MAX_ARGS - 1] = 0; -+ } -+} -+#endif /* SYS_syscall_subcall */ -diff --git a/syscall.c b/syscall.c -index d78f51dd..51fcc721 100644 ---- a/syscall.c -+++ b/syscall.c -@@ -349,31 +349,8 @@ decode_ipc_subcall(struct tcb *tcp) - #endif /* SYS_ipc_subcall */ - - #ifdef SYS_syscall_subcall --static void --decode_syscall_subcall(struct tcb *tcp) --{ -- if (!scno_is_valid(tcp->u_arg[0])) -- return; -- tcp->scno = tcp->u_arg[0]; -- tcp->qual_flg = qual_flags(tcp->scno); -- tcp->s_ent = &sysent[tcp->scno]; -- memmove(&tcp->u_arg[0], &tcp->u_arg[1], -- sizeof(tcp->u_arg) - sizeof(tcp->u_arg[0])); --# ifdef LINUX_MIPSO32 -- /* -- * Fetching the last arg of 7-arg syscalls (fadvise64_64 -- * and sync_file_range) requires additional code, -- * see linux/mips/get_syscall_args.c -- */ -- if (tcp->s_ent->nargs == MAX_ARGS) { -- if (umoven(tcp, -- mips_REG_SP + MAX_ARGS * sizeof(tcp->u_arg[0]), -- sizeof(tcp->u_arg[0]), -- &tcp->u_arg[MAX_ARGS - 1]) < 0) -- tcp->u_arg[MAX_ARGS - 1] = 0; -- } --# endif /* LINUX_MIPSO32 */ --} -+/* The implementation is architecture specific. */ -+static void decode_syscall_subcall(struct tcb *); - #endif /* SYS_syscall_subcall */ - - static void --- -2.17.0 - diff --git a/poky/meta/recipes-devtools/strace/strace/0001-tests-sigaction-Check-for-mips-and-alpha-before-usin.patch b/poky/meta/recipes-devtools/strace/strace/0001-tests-sigaction-Check-for-mips-and-alpha-before-usin.patch index becee79d1..95d85bf34 100644 --- a/poky/meta/recipes-devtools/strace/strace/0001-tests-sigaction-Check-for-mips-and-alpha-before-usin.patch +++ b/poky/meta/recipes-devtools/strace/strace/0001-tests-sigaction-Check-for-mips-and-alpha-before-usin.patch @@ -19,16 +19,14 @@ Signed-off-by: Khem Raj tests/sigaction.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/tests/sigaction.c b/tests/sigaction.c -index 95be197..54819f9 100644 --- a/tests/sigaction.c +++ b/tests/sigaction.c @@ -156,7 +156,7 @@ main(void) sigdelset(mask.libc, SIGHUP); memcpy(new_act->mask, mask.old, sizeof(mask.old)); --#ifdef SA_RESTORER +-# ifdef SA_RESTORER +#if defined(SA_RESTORER) && !defined(MIPS) && !defined(ALPHA) new_act->flags = SA_RESTORER; new_act->restorer = (unsigned long) 0xdeadfacecafef00dULL; - # define SA_RESTORER_FMT ", sa_flags=SA_RESTORER, sa_restorer=%#lx" + # define SA_RESTORER_FMT ", sa_flags=SA_RESTORER, sa_restorer=%#lx" diff --git a/poky/meta/recipes-devtools/strace/strace_4.26.bb b/poky/meta/recipes-devtools/strace/strace_4.26.bb deleted file mode 100644 index 2688724e6..000000000 --- a/poky/meta/recipes-devtools/strace/strace_4.26.bb +++ /dev/null @@ -1,58 +0,0 @@ -SUMMARY = "System call tracing tool" -HOMEPAGE = "http://strace.io" -SECTION = "console/utils" -LICENSE = "LGPL-2.1+ & GPL-2+" -LIC_FILES_CHKSUM = "file://COPYING;md5=5c84d1c6e48e7961ccd2cd2ae32f7bf1" - -SRC_URI = "https://strace.io/files/${PV}/strace-${PV}.tar.xz \ - file://disable-git-version-gen.patch \ - file://more-robust-test-for-m32-mx32-compile-support.patch \ - file://update-gawk-paths.patch \ - file://Makefile-ptest.patch \ - file://run-ptest \ - file://0001-Fix-build-when-using-non-glibc-libc-implementation-o.patch \ - file://mips-SIGEMT.patch \ - 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" - -inherit autotools ptest - -PACKAGECONFIG_class-target ??= "\ - ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez', '', d)} \ -" - -PACKAGECONFIG[bluez] = "ac_cv_header_bluetooth_bluetooth_h=yes,ac_cv_header_bluetooth_bluetooth_h=no,bluez5" -PACKAGECONFIG[libunwind] = "--with-libunwind,--without-libunwind,libunwind" - -EXTRA_OECONF += "--enable-mpers=no" - -CFLAGS_append_libc-musl = " -Dsigcontext_struct=sigcontext" - -TESTDIR = "tests" -PTEST_BUILD_HOST_PATTERN = "^(DEB_CHANGELOGTIME|RPM_CHANGELOGTIME|WARN_CFLAGS_FOR_BUILD|LDFLAGS_FOR_BUILD)" - -do_install_append() { - # We don't ship strace-graph here because it needs perl - rm ${D}${bindir}/strace-graph -} - -do_compile_ptest() { - oe_runmake -C ${TESTDIR} buildtest-TESTS -} - -do_install_ptest() { - oe_runmake -C ${TESTDIR} install-ptest BUILDDIR=${B} DESTDIR=${D}${PTEST_PATH} TESTDIR=${TESTDIR} - install -m 755 ${S}/test-driver ${D}${PTEST_PATH} - install -m 644 ${B}/config.h ${D}${PTEST_PATH} - sed -i -e '/^src/s/strace.*[1-9]/ptest/' ${D}/${PTEST_PATH}/${TESTDIR}/Makefile -} - -RDEPENDS_${PN}-ptest += "make coreutils grep gawk sed" - -BBCLASSEXTEND = "native" -TOOLCHAIN = "gcc" diff --git a/poky/meta/recipes-devtools/strace/strace_5.2.bb b/poky/meta/recipes-devtools/strace/strace_5.2.bb new file mode 100644 index 000000000..8367bf1a4 --- /dev/null +++ b/poky/meta/recipes-devtools/strace/strace_5.2.bb @@ -0,0 +1,57 @@ +SUMMARY = "System call tracing tool" +HOMEPAGE = "http://strace.io" +SECTION = "console/utils" +LICENSE = "LGPL-2.1+ & GPL-2+" +LIC_FILES_CHKSUM = "file://COPYING;md5=0169a04810830e94f4b1cfb823c9f592" + +SRC_URI = "https://strace.io/files/${PV}/strace-${PV}.tar.xz \ + file://disable-git-version-gen.patch \ + file://more-robust-test-for-m32-mx32-compile-support.patch \ + file://update-gawk-paths.patch \ + file://Makefile-ptest.patch \ + file://run-ptest \ + file://0001-Fix-build-when-using-non-glibc-libc-implementation-o.patch \ + file://mips-SIGEMT.patch \ + file://0001-caps-abbrev.awk-fix-gawk-s-path.patch \ + file://0001-tests-sigaction-Check-for-mips-and-alpha-before-usin.patch \ + file://ptest-spacesave.patch \ + " +SRC_URI[md5sum] = "b9c02b07dcde5125498ce7da69b77baf" +SRC_URI[sha256sum] = "d513bc085609a9afd64faf2ce71deb95b96faf46cd7bc86048bc655e4e4c24d2" + +inherit autotools ptest + +PACKAGECONFIG_class-target ??= "\ + ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez', '', d)} \ +" + +PACKAGECONFIG[bluez] = "ac_cv_header_bluetooth_bluetooth_h=yes,ac_cv_header_bluetooth_bluetooth_h=no,bluez5" +PACKAGECONFIG[libunwind] = "--with-libunwind,--without-libunwind,libunwind" + +EXTRA_OECONF += "--enable-mpers=no" + +CFLAGS_append_libc-musl = " -Dsigcontext_struct=sigcontext" + +TESTDIR = "tests" +PTEST_BUILD_HOST_PATTERN = "^(DEB_CHANGELOGTIME|RPM_CHANGELOGTIME|WARN_CFLAGS_FOR_BUILD|LDFLAGS_FOR_BUILD)" + +do_install_append() { + # We don't ship strace-graph here because it needs perl + rm ${D}${bindir}/strace-graph +} + +do_compile_ptest() { + oe_runmake -C ${TESTDIR} buildtest-TESTS +} + +do_install_ptest() { + oe_runmake -C ${TESTDIR} install-ptest BUILDDIR=${B} DESTDIR=${D}${PTEST_PATH} TESTDIR=${TESTDIR} + install -m 755 ${S}/test-driver ${D}${PTEST_PATH} + install -m 644 ${B}/config.h ${D}${PTEST_PATH} + sed -i -e '/^src/s/strace.*[1-9]/ptest/' ${D}/${PTEST_PATH}/${TESTDIR}/Makefile +} + +RDEPENDS_${PN}-ptest += "make coreutils grep gawk sed" + +BBCLASSEXTEND = "native" +TOOLCHAIN = "gcc" diff --git a/poky/meta/recipes-devtools/subversion/subversion_1.12.0.bb b/poky/meta/recipes-devtools/subversion/subversion_1.12.0.bb index 3d0f3e688..f1ac1dcfd 100644 --- a/poky/meta/recipes-devtools/subversion/subversion_1.12.0.bb +++ b/poky/meta/recipes-devtools/subversion/subversion_1.12.0.bb @@ -23,6 +23,7 @@ CVE_PRODUCT = "apache:subversion" PACKAGECONFIG ?= "" +PACKAGECONFIG[boost] = "--with-boost=${RECIPE_SYSROOT}${exec_prefix},--without-boost,boost" PACKAGECONFIG[sasl] = "--with-sasl,--without-sasl,cyrus-sasl" PACKAGECONFIG[gnome-keyring] = "--with-gnome-keyring,--without-gnome-keyring,glib-2.0 gnome-keyring" diff --git a/poky/meta/recipes-devtools/syslinux/syslinux_6.04-pre2.bb b/poky/meta/recipes-devtools/syslinux/syslinux_6.04-pre2.bb index 67e5d57d4..e9dbefb93 100644 --- a/poky/meta/recipes-devtools/syslinux/syslinux_6.04-pre2.bb +++ b/poky/meta/recipes-devtools/syslinux/syslinux_6.04-pre2.bb @@ -59,11 +59,26 @@ do_compile() { # Rebuild only the installer; keep precompiled bootloaders # as per author's request (doc/distrib.txt) - oe_runmake CC="${CC} ${CFLAGS}" LD="${LD}" LDFLAGS="${LDFLAGS}" firmware="bios" installer + oe_runmake CC="${CC} ${CFLAGS}" \ + LD="${LD}" LDFLAGS="${LDFLAGS}" \ + OBJDUMP="${OBJDUMP}" \ + OBJCOPY="${OBJCOPY}" \ + AR="${AR}" \ + STRIP="${STRIP}" \ + NM="${NM}" \ + RANLIB="${RANLIB}" \ + firmware="bios" installer } do_install() { - oe_runmake CC="${CC} ${CFLAGS}" LD="${LD}" firmware="bios" install INSTALLROOT="${D}" + oe_runmake CC="${CC} ${CFLAGS}" LD="${LD}" \ + OBJDUMP="${OBJDUMP}" \ + OBJCOPY="${OBJCOPY}" \ + AR="${AR}" \ + STRIP="${STRIP}" \ + NM="${NM}" \ + RANLIB="${RANLIB}" \ + firmware="bios" install INSTALLROOT="${D}" install -d ${D}${datadir}/syslinux/ install -m 644 ${S}/bios/core/ldlinux.sys ${D}${datadir}/syslinux/ diff --git a/poky/meta/recipes-extended/bzip2/bzip2/configure.ac b/poky/meta/recipes-extended/bzip2/bzip2/configure.ac index e2bf1bf11..b8abade2d 100644 --- a/poky/meta/recipes-extended/bzip2/bzip2/configure.ac +++ b/poky/meta/recipes-extended/bzip2/bzip2/configure.ac @@ -1,6 +1,6 @@ AC_PREREQ([2.57]) -AC_INIT(bzip2, 1.0.6) +AC_INIT(bzip2, %BZIP2_VERSION%) AM_INIT_AUTOMAKE(foreign) AM_MAINTAINER_MODE diff --git a/poky/meta/recipes-extended/bzip2/bzip2_1.0.8.bb b/poky/meta/recipes-extended/bzip2/bzip2_1.0.8.bb index 73d933a00..8e9b779e6 100644 --- a/poky/meta/recipes-extended/bzip2/bzip2_1.0.8.bb +++ b/poky/meta/recipes-extended/bzip2/bzip2_1.0.8.bb @@ -16,7 +16,6 @@ SRC_URI[md5sum] = "67e051268d0c475ea773822f7500d0e5" SRC_URI[sha256sum] = "ab5a03176ee106d3f0fa90e381da478ddae405918153cca248e682cd0c4a2269" UPSTREAM_CHECK_URI = "https://www.sourceware.org/pub/bzip2/" -UPSTREAM_VERSION_UNKNOWN = "1" PACKAGES =+ "libbz2" @@ -30,6 +29,10 @@ ALTERNATIVE_${PN} = "bunzip2 bzcat bzip2" #install binaries to bzip2-native under sysroot for replacement-native EXTRA_OECONF_append_class-native = " --bindir=${STAGING_BINDIR_NATIVE}/${PN}" +do_configure_prepend () { + sed -i -e "s|%BZIP2_VERSION%|${PV}|" ${S}/configure.ac +} + do_install_ptest () { sed -i -e "s|^Makefile:|_Makefile:|" ${D}${PTEST_PATH}/Makefile } 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 7a0e38a39..7c5d4f956 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 2ca4c2492c4a06b28012e3e1033d10aa48f153b4 Mon Sep 17 00:00:00 2001 +From f8333f7759717b4d163cfe8e3ef8861c5a667324 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,16 +9,17 @@ 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 2941a65..b0a1896 100644 +index 2127fdb..4910e6f 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.1, netdev@vger.kernel.org) + AC_INIT(ethtool, 5.2, netdev@vger.kernel.org) AC_PREREQ(2.52) AC_CONFIG_SRCDIR([ethtool.c]) -AM_INIT_AUTOMAKE([gnu]) @@ -26,6 +27,3 @@ index 2941a65..b0a1896 100644 AC_CONFIG_HEADERS([ethtool-config.h]) AM_MAINTAINER_MODE --- -2.17.1 - diff --git a/poky/meta/recipes-extended/ethtool/ethtool_5.1.bb b/poky/meta/recipes-extended/ethtool/ethtool_5.1.bb deleted file mode 100644 index d379d93bc..000000000 --- a/poky/meta/recipes-extended/ethtool/ethtool_5.1.bb +++ /dev/null @@ -1,31 +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] = "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/ethtool/ethtool_5.2.bb b/poky/meta/recipes-extended/ethtool/ethtool_5.2.bb new file mode 100644 index 000000000..e9759bd21 --- /dev/null +++ b/poky/meta/recipes-extended/ethtool/ethtool_5.2.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] = "79cff0d4af62b030ad28be90414b5c4a" +SRC_URI[sha256sum] = "8ad6cb30f6e1767d9d23a5cb5f606f3b51f83e85ebf0153c1506194f6709e90b" + +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/groff/files/0001-Include-config.h.patch b/poky/meta/recipes-extended/groff/files/0001-Include-config.h.patch new file mode 100644 index 000000000..348a61d9d --- /dev/null +++ b/poky/meta/recipes-extended/groff/files/0001-Include-config.h.patch @@ -0,0 +1,1228 @@ +From 6cfa9f8126c1d6ec26f120d273e714fb19108873 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sun, 4 Aug 2019 16:32:41 -0700 +Subject: [PATCH] Include config.h + +This helps avoid the include conflicts where is including + and since -I./lib is used and a local math.h wrapper is +residing in there, the build breaks since stdlib.h really wants the +standard system math.h to be included, this ensures that right macros +are predefined and included before stdlib.h is included + +fixes +In file included from src/libs/libgroff/assert.cpp:20: +In file included from TOPDIR/build/tmp/work/aarch64-yoe-linux-musl/groff/1.22.4-r0/recipe-sysroot/usr/include/c++/v1/stdlib.h:100: +./lib/math.h:38:3: error: "Please include config.h first." + #error "Please include config.h first." + ^ +./lib/math.h:40:1: error: unknown type name '_GL_INLINE_HEADER_BEGIN' + +Upstream-Status: Pending +Signed-off-by: Khem Raj +--- + src/libs/libgroff/assert.cpp | 4 + + src/libs/libgroff/curtime.cpp | 4 + + src/libs/libgroff/device.cpp | 4 + + src/libs/libgroff/error.cpp | 4 + + src/libs/libgroff/fatal.cpp | 4 + + src/libs/libgroff/string.cpp | 4 + + src/libs/libgroff/strsave.cpp | 4 + + src/preproc/eqn/eqn.cpp | 450 ++++++++++++++++++---------------- + src/preproc/eqn/eqn.hpp | 12 +- + src/preproc/eqn/eqn.ypp | 4 + + src/preproc/eqn/other.cpp | 4 + + src/preproc/eqn/text.cpp | 4 + + src/preproc/pic/object.cpp | 4 + + 13 files changed, 285 insertions(+), 221 deletions(-) + +diff --git a/src/libs/libgroff/assert.cpp b/src/libs/libgroff/assert.cpp +index aceed05..97780d6 100644 +--- a/src/libs/libgroff/assert.cpp ++++ b/src/libs/libgroff/assert.cpp +@@ -16,6 +16,10 @@ for more details. + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + ++#if HAVE_CONFIG_H ++# include ++#endif ++ + #include + #include + #include "assert.h" +diff --git a/src/libs/libgroff/curtime.cpp b/src/libs/libgroff/curtime.cpp +index 72fe067..9ddba08 100644 +--- a/src/libs/libgroff/curtime.cpp ++++ b/src/libs/libgroff/curtime.cpp +@@ -15,6 +15,10 @@ for more details. + The GNU General Public License version 2 (GPL2) is available in the + internet at . */ + ++#if HAVE_CONFIG_H ++# include ++#endif ++ + #include + #include + #include +diff --git a/src/libs/libgroff/device.cpp b/src/libs/libgroff/device.cpp +index 0d28b85..c211f85 100644 +--- a/src/libs/libgroff/device.cpp ++++ b/src/libs/libgroff/device.cpp +@@ -17,6 +17,10 @@ for more details. + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + ++#if HAVE_CONFIG_H ++# include ++#endif ++ + #include + #include "device.h" + #include "defs.h" +diff --git a/src/libs/libgroff/error.cpp b/src/libs/libgroff/error.cpp +index 9a18803..7b63d3d 100644 +--- a/src/libs/libgroff/error.cpp ++++ b/src/libs/libgroff/error.cpp +@@ -17,6 +17,10 @@ for more details. + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + ++#if HAVE_CONFIG_H ++# include ++#endif ++ + #include + #include + #include +diff --git a/src/libs/libgroff/fatal.cpp b/src/libs/libgroff/fatal.cpp +index c0dcb35..fd6003e 100644 +--- a/src/libs/libgroff/fatal.cpp ++++ b/src/libs/libgroff/fatal.cpp +@@ -16,6 +16,10 @@ for more details. + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + ++#if HAVE_CONFIG_H ++# include ++#endif ++ + #include + + #define FATAL_ERROR_EXIT_CODE 3 +diff --git a/src/libs/libgroff/string.cpp b/src/libs/libgroff/string.cpp +index 46c015c..449f3a6 100644 +--- a/src/libs/libgroff/string.cpp ++++ b/src/libs/libgroff/string.cpp +@@ -17,6 +17,10 @@ for more details. + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + ++#if HAVE_CONFIG_H ++# include ++#endif ++ + #include + + #include "lib.h" +diff --git a/src/libs/libgroff/strsave.cpp b/src/libs/libgroff/strsave.cpp +index f95c05e..d875045 100644 +--- a/src/libs/libgroff/strsave.cpp ++++ b/src/libs/libgroff/strsave.cpp +@@ -17,6 +17,10 @@ for more details. + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + ++#if HAVE_CONFIG_H ++# include ++#endif ++ + #include + #include + +diff --git a/src/preproc/eqn/eqn.cpp b/src/preproc/eqn/eqn.cpp +index 4ede465..fdd9484 100644 +--- a/src/preproc/eqn/eqn.cpp ++++ b/src/preproc/eqn/eqn.cpp +@@ -1,8 +1,9 @@ +-/* A Bison parser, made by GNU Bison 3.2. */ ++/* A Bison parser, made by GNU Bison 3.4.1. */ + + /* Bison implementation for Yacc-like parsers in C + +- Copyright (C) 1984, 1989-1990, 2000-2015, 2018 Free Software Foundation, Inc. ++ Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2019 Free Software Foundation, ++ Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by +@@ -47,7 +48,7 @@ + #define YYBISON 1 + + /* Bison version. */ +-#define YYBISON_VERSION "3.2" ++#define YYBISON_VERSION "3.4.1" + + /* Skeleton name. */ + #define YYSKELETON_NAME "yacc.c" +@@ -65,7 +66,11 @@ + + + /* First part of user prologue. */ +-#line 18 "../src/preproc/eqn/eqn.ypp" /* yacc.c:338 */ ++#line 18 "src/preproc/eqn/eqn.ypp" ++ ++#if HAVE_CONFIG_H ++# include ++#endif + + #include + #include +@@ -77,7 +82,8 @@ extern int non_empty_flag; + int yylex(); + void yyerror(const char *); + +-#line 81 "src/preproc/eqn/eqn.cpp" /* yacc.c:338 */ ++#line 86 "src/preproc/eqn/eqn.cpp" ++ + # ifndef YY_NULLPTR + # if defined __cplusplus + # if 201103L <= __cplusplus +@@ -98,8 +104,8 @@ void yyerror(const char *); + # define YYERROR_VERBOSE 0 + #endif + +-/* In a future release of Bison, this section will be replaced +- by #include "y.tab.h". */ ++/* Use api.header.include to #include this header ++ instead of duplicating it here. */ + #ifndef YY_YY_SRC_PREPROC_EQN_EQN_HPP_INCLUDED + # define YY_YY_SRC_PREPROC_EQN_EQN_HPP_INCLUDED + /* Debug traces. */ +@@ -237,10 +243,9 @@ extern int yydebug; + + /* Value type. */ + #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED +- + union YYSTYPE + { +-#line 30 "../src/preproc/eqn/eqn.ypp" /* yacc.c:353 */ ++#line 34 "src/preproc/eqn/eqn.ypp" + + char *str; + box *b; +@@ -249,9 +254,9 @@ union YYSTYPE + int n; + column *col; + +-#line 253 "src/preproc/eqn/eqn.cpp" /* yacc.c:353 */ +-}; ++#line 258 "src/preproc/eqn/eqn.cpp" + ++}; + typedef union YYSTYPE YYSTYPE; + # define YYSTYPE_IS_TRIVIAL 1 + # define YYSTYPE_IS_DECLARED 1 +@@ -366,6 +371,8 @@ typedef short yytype_int16; + #endif + + ++#define YY_ASSERT(E) ((void) (0 && (E))) ++ + #if ! defined yyoverflow || YYERROR_VERBOSE + + /* The parser invokes alloca or malloc; define the necessary symbols. */ +@@ -508,16 +515,16 @@ union yyalloc + /* YYNSTATES -- Number of states. */ + #define YYNSTATES 142 + +-/* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned +- by yylex, with out-of-bounds checking. */ + #define YYUNDEFTOK 2 + #define YYMAXUTOK 315 + ++/* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM ++ as returned by yylex, with out-of-bounds checking. */ + #define YYTRANSLATE(YYX) \ + ((unsigned) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) + + /* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM +- as returned by yylex, without out-of-bounds checking. */ ++ as returned by yylex. */ + static const yytype_uint8 yytranslate[] = + { + 0, 2, 2, 2, 2, 2, 2, 2, 2, 63, +@@ -558,14 +565,14 @@ static const yytype_uint8 yytranslate[] = + /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ + static const yytype_uint16 yyrline[] = + { +- 0, 121, 121, 123, 128, 130, 141, 143, 145, 150, +- 152, 154, 156, 158, 163, 165, 167, 169, 174, 176, +- 181, 183, 185, 190, 192, 194, 196, 198, 200, 202, +- 204, 206, 208, 210, 212, 214, 216, 218, 220, 222, +- 224, 226, 228, 230, 232, 234, 236, 238, 240, 242, +- 244, 246, 248, 250, 252, 254, 259, 269, 271, 276, +- 278, 283, 285, 290, 292, 297, 299, 304, 306, 308, +- 310, 314, 316, 321, 323, 325 ++ 0, 125, 125, 127, 132, 134, 145, 147, 149, 154, ++ 156, 158, 160, 162, 167, 169, 171, 173, 178, 180, ++ 185, 187, 189, 194, 196, 198, 200, 202, 204, 206, ++ 208, 210, 212, 214, 216, 218, 220, 222, 224, 226, ++ 228, 230, 232, 234, 236, 238, 240, 242, 244, 246, ++ 248, 250, 252, 254, 256, 258, 263, 273, 275, 280, ++ 282, 287, 289, 294, 296, 301, 303, 308, 310, 312, ++ 314, 318, 320, 325, 327, 329 + }; + #endif + +@@ -818,22 +825,22 @@ static const yytype_uint8 yyr2[] = + + #define YYRECOVERING() (!!yyerrstatus) + +-#define YYBACKUP(Token, Value) \ +-do \ +- if (yychar == YYEMPTY) \ +- { \ +- yychar = (Token); \ +- yylval = (Value); \ +- YYPOPSTACK (yylen); \ +- yystate = *yyssp; \ +- goto yybackup; \ +- } \ +- else \ +- { \ +- yyerror (YY_("syntax error: cannot back up")); \ +- YYERROR; \ +- } \ +-while (0) ++#define YYBACKUP(Token, Value) \ ++ do \ ++ if (yychar == YYEMPTY) \ ++ { \ ++ yychar = (Token); \ ++ yylval = (Value); \ ++ YYPOPSTACK (yylen); \ ++ yystate = *yyssp; \ ++ goto yybackup; \ ++ } \ ++ else \ ++ { \ ++ yyerror (YY_("syntax error: cannot back up")); \ ++ YYERROR; \ ++ } \ ++ while (0) + + /* Error token number */ + #define YYTERROR 1 +@@ -948,7 +955,7 @@ yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, int yyrule) + YYFPRINTF (stderr, " $%d = ", yyi + 1); + yy_symbol_print (stderr, + yystos[yyssp[yyi + 1 - yynrhs]], +- &(yyvsp[(yyi + 1) - (yynrhs)]) ++ &yyvsp[(yyi + 1) - (yynrhs)] + ); + YYFPRINTF (stderr, "\n"); + } +@@ -1052,7 +1059,10 @@ yytnamerr (char *yyres, const char *yystr) + case '\\': + if (*++yyp != '\\') + goto do_not_strip_quotes; +- /* Fall through. */ ++ else ++ goto append; ++ ++ append: + default: + if (yyres) + yyres[yyn] = *yyp; +@@ -1148,10 +1158,10 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg, + yyarg[yycount++] = yytname[yyx]; + { + YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]); +- if (! (yysize <= yysize1 +- && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) ++ if (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM) ++ yysize = yysize1; ++ else + return 2; +- yysize = yysize1; + } + } + } +@@ -1175,9 +1185,10 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg, + + { + YYSIZE_T yysize1 = yysize + yystrlen (yyformat); +- if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) ++ if (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM) ++ yysize = yysize1; ++ else + return 2; +- yysize = yysize1; + } + + if (*yymsg_alloc < yysize) +@@ -1303,23 +1314,33 @@ yyparse (void) + yychar = YYEMPTY; /* Cause a token to be read. */ + goto yysetstate; + ++ + /*------------------------------------------------------------. +-| yynewstate -- Push a new state, which is found in yystate. | ++| yynewstate -- push a new state, which is found in yystate. | + `------------------------------------------------------------*/ +- yynewstate: ++yynewstate: + /* In all cases, when you get here, the value and location stacks + have just been pushed. So pushing a state here evens the stacks. */ + yyssp++; + +- yysetstate: ++ ++/*--------------------------------------------------------------------. ++| yynewstate -- set current state (the top of the stack) to yystate. | ++`--------------------------------------------------------------------*/ ++yysetstate: ++ YYDPRINTF ((stderr, "Entering state %d\n", yystate)); ++ YY_ASSERT (0 <= yystate && yystate < YYNSTATES); + *yyssp = (yytype_int16) yystate; + + if (yyss + yystacksize - 1 <= yyssp) ++#if !defined yyoverflow && !defined YYSTACK_RELOCATE ++ goto yyexhaustedlab; ++#else + { + /* Get the current used size of the three stacks, in elements. */ + YYSIZE_T yysize = (YYSIZE_T) (yyssp - yyss + 1); + +-#ifdef yyoverflow ++# if defined yyoverflow + { + /* Give user a chance to reallocate the stack. Use copies of + these so that the &'s don't force the real ones into +@@ -1338,10 +1359,7 @@ yyparse (void) + yyss = yyss1; + yyvs = yyvs1; + } +-#else /* no yyoverflow */ +-# ifndef YYSTACK_RELOCATE +- goto yyexhaustedlab; +-# else ++# else /* defined YYSTACK_RELOCATE */ + /* Extend the stack our own way. */ + if (YYMAXDEPTH <= yystacksize) + goto yyexhaustedlab; +@@ -1357,12 +1375,11 @@ yyparse (void) + goto yyexhaustedlab; + YYSTACK_RELOCATE (yyss_alloc, yyss); + YYSTACK_RELOCATE (yyvs_alloc, yyvs); +-# undef YYSTACK_RELOCATE ++# undef YYSTACK_RELOCATE + if (yyss1 != yyssa) + YYSTACK_FREE (yyss1); + } + # endif +-#endif /* no yyoverflow */ + + yyssp = yyss + yysize - 1; + yyvsp = yyvs + yysize - 1; +@@ -1373,19 +1390,18 @@ yyparse (void) + if (yyss + yystacksize - 1 <= yyssp) + YYABORT; + } +- +- YYDPRINTF ((stderr, "Entering state %d\n", yystate)); ++#endif /* !defined yyoverflow && !defined YYSTACK_RELOCATE */ + + if (yystate == YYFINAL) + YYACCEPT; + + goto yybackup; + ++ + /*-----------. + | yybackup. | + `-----------*/ + yybackup: +- + /* Do appropriate processing given the current state. Read a + lookahead token if we need one and don't already have one. */ + +@@ -1443,7 +1459,6 @@ yybackup: + YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN + *++yyvsp = yylval; + YY_IGNORE_MAYBE_UNINITIALIZED_END +- + goto yynewstate; + + +@@ -1458,7 +1473,7 @@ yydefault: + + + /*-----------------------------. +-| yyreduce -- Do a reduction. | ++| yyreduce -- do a reduction. | + `-----------------------------*/ + yyreduce: + /* yyn is the number of a rule to reduce with. */ +@@ -1478,20 +1493,20 @@ yyreduce: + YY_REDUCE_PRINT (yyn); + switch (yyn) + { +- case 3: +-#line 124 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */ ++ case 3: ++#line 128 "src/preproc/eqn/eqn.ypp" + { (yyvsp[0].b)->top_level(); non_empty_flag = 1; } +-#line 1485 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */ ++#line 1500 "src/preproc/eqn/eqn.cpp" + break; + + case 4: +-#line 129 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */ ++#line 133 "src/preproc/eqn/eqn.ypp" + { (yyval.b) = (yyvsp[0].b); } +-#line 1491 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */ ++#line 1506 "src/preproc/eqn/eqn.cpp" + break; + + case 5: +-#line 131 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */ ++#line 135 "src/preproc/eqn/eqn.ypp" + { + list_box *lb = (yyvsp[-1].b)->to_list_box(); + if (!lb) +@@ -1499,436 +1514,437 @@ yyreduce: + lb->append((yyvsp[0].b)); + (yyval.b) = lb; + } +-#line 1503 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */ ++#line 1518 "src/preproc/eqn/eqn.cpp" + break; + + case 6: +-#line 142 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */ ++#line 146 "src/preproc/eqn/eqn.ypp" + { (yyval.b) = (yyvsp[0].b); } +-#line 1509 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */ ++#line 1524 "src/preproc/eqn/eqn.cpp" + break; + + case 7: +-#line 144 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */ ++#line 148 "src/preproc/eqn/eqn.ypp" + { (yyval.b) = make_mark_box((yyvsp[0].b)); } +-#line 1515 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */ ++#line 1530 "src/preproc/eqn/eqn.cpp" + break; + + case 8: +-#line 146 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */ ++#line 150 "src/preproc/eqn/eqn.ypp" + { (yyval.b) = make_lineup_box((yyvsp[0].b)); } +-#line 1521 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */ ++#line 1536 "src/preproc/eqn/eqn.cpp" + break; + + case 9: +-#line 151 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */ ++#line 155 "src/preproc/eqn/eqn.ypp" + { (yyval.b) = (yyvsp[0].b); } +-#line 1527 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */ ++#line 1542 "src/preproc/eqn/eqn.cpp" + break; + + case 10: +-#line 153 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */ ++#line 157 "src/preproc/eqn/eqn.ypp" + { (yyval.b) = make_limit_box((yyvsp[-2].b), 0, (yyvsp[0].b)); } +-#line 1533 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */ ++#line 1548 "src/preproc/eqn/eqn.cpp" + break; + + case 11: +-#line 155 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */ ++#line 159 "src/preproc/eqn/eqn.ypp" + { (yyval.b) = make_limit_box((yyvsp[-2].b), (yyvsp[0].b), 0); } +-#line 1539 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */ ++#line 1554 "src/preproc/eqn/eqn.cpp" + break; + + case 12: +-#line 157 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */ ++#line 161 "src/preproc/eqn/eqn.ypp" + { (yyval.b) = make_limit_box((yyvsp[-4].b), (yyvsp[-2].b), (yyvsp[0].b)); } +-#line 1545 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */ ++#line 1560 "src/preproc/eqn/eqn.cpp" + break; + + case 13: +-#line 159 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */ ++#line 163 "src/preproc/eqn/eqn.ypp" + { (yyval.b) = make_limit_box((yyvsp[-4].b), make_limit_box((yyvsp[-2].b), (yyvsp[0].b), 0), 0); } +-#line 1551 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */ ++#line 1566 "src/preproc/eqn/eqn.cpp" + break; + + case 14: +-#line 164 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */ ++#line 168 "src/preproc/eqn/eqn.ypp" + { (yyval.b) = (yyvsp[0].b); } +-#line 1557 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */ ++#line 1572 "src/preproc/eqn/eqn.cpp" + break; + + case 15: +-#line 166 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */ ++#line 170 "src/preproc/eqn/eqn.ypp" + { (yyval.b) = make_sqrt_box((yyvsp[0].b)); } +-#line 1563 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */ ++#line 1578 "src/preproc/eqn/eqn.cpp" + break; + + case 16: +-#line 168 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */ ++#line 172 "src/preproc/eqn/eqn.ypp" + { (yyval.b) = make_over_box((yyvsp[-2].b), (yyvsp[0].b)); } +-#line 1569 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */ ++#line 1584 "src/preproc/eqn/eqn.cpp" + break; + + case 17: +-#line 170 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */ ++#line 174 "src/preproc/eqn/eqn.ypp" + { (yyval.b) = make_small_over_box((yyvsp[-2].b), (yyvsp[0].b)); } +-#line 1575 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */ ++#line 1590 "src/preproc/eqn/eqn.cpp" + break; + + case 18: +-#line 175 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */ ++#line 179 "src/preproc/eqn/eqn.ypp" + { (yyval.b) = (yyvsp[0].b); } +-#line 1581 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */ ++#line 1596 "src/preproc/eqn/eqn.cpp" + break; + + case 19: +-#line 177 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */ ++#line 181 "src/preproc/eqn/eqn.ypp" + { (yyval.b) = make_script_box((yyvsp[-2].b), 0, (yyvsp[0].b)); } +-#line 1587 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */ ++#line 1602 "src/preproc/eqn/eqn.cpp" + break; + + case 20: +-#line 182 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */ ++#line 186 "src/preproc/eqn/eqn.ypp" + { (yyval.b) = (yyvsp[0].b); } +-#line 1593 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */ ++#line 1608 "src/preproc/eqn/eqn.cpp" + break; + + case 21: +-#line 184 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */ ++#line 188 "src/preproc/eqn/eqn.ypp" + { (yyval.b) = make_script_box((yyvsp[-2].b), (yyvsp[0].b), 0); } +-#line 1599 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */ ++#line 1614 "src/preproc/eqn/eqn.cpp" + break; + + case 22: +-#line 186 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */ ++#line 190 "src/preproc/eqn/eqn.ypp" + { (yyval.b) = make_script_box((yyvsp[-4].b), (yyvsp[-2].b), (yyvsp[0].b)); } +-#line 1605 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */ ++#line 1620 "src/preproc/eqn/eqn.cpp" + break; + + case 23: +-#line 191 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */ ++#line 195 "src/preproc/eqn/eqn.ypp" + { (yyval.b) = split_text((yyvsp[0].str)); } +-#line 1611 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */ ++#line 1626 "src/preproc/eqn/eqn.cpp" + break; + + case 24: +-#line 193 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */ ++#line 197 "src/preproc/eqn/eqn.ypp" + { (yyval.b) = new quoted_text_box((yyvsp[0].str)); } +-#line 1617 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */ ++#line 1632 "src/preproc/eqn/eqn.cpp" + break; + + case 25: +-#line 195 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */ ++#line 199 "src/preproc/eqn/eqn.ypp" + { (yyval.b) = split_text((yyvsp[0].str)); } +-#line 1623 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */ ++#line 1638 "src/preproc/eqn/eqn.cpp" + break; + + case 26: +-#line 197 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */ ++#line 201 "src/preproc/eqn/eqn.ypp" + { (yyval.b) = new quoted_text_box((yyvsp[0].str)); } +-#line 1629 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */ ++#line 1644 "src/preproc/eqn/eqn.cpp" + break; + + case 27: +-#line 199 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */ ++#line 203 "src/preproc/eqn/eqn.ypp" + { (yyval.b) = new half_space_box; } +-#line 1635 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */ ++#line 1650 "src/preproc/eqn/eqn.cpp" + break; + + case 28: +-#line 201 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */ ++#line 205 "src/preproc/eqn/eqn.ypp" + { (yyval.b) = new space_box; } +-#line 1641 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */ ++#line 1656 "src/preproc/eqn/eqn.cpp" + break; + + case 29: +-#line 203 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */ ++#line 207 "src/preproc/eqn/eqn.ypp" + { (yyval.b) = new tab_box; } +-#line 1647 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */ ++#line 1662 "src/preproc/eqn/eqn.cpp" + break; + + case 30: +-#line 205 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */ ++#line 209 "src/preproc/eqn/eqn.ypp" + { (yyval.b) = (yyvsp[-1].b); } +-#line 1653 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */ ++#line 1668 "src/preproc/eqn/eqn.cpp" + break; + + case 31: +-#line 207 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */ ++#line 211 "src/preproc/eqn/eqn.ypp" + { (yyvsp[0].pb)->set_alignment(CENTER_ALIGN); (yyval.b) = (yyvsp[0].pb); } +-#line 1659 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */ ++#line 1674 "src/preproc/eqn/eqn.cpp" + break; + + case 32: +-#line 209 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */ ++#line 213 "src/preproc/eqn/eqn.ypp" + { (yyvsp[0].pb)->set_alignment(LEFT_ALIGN); (yyval.b) = (yyvsp[0].pb); } +-#line 1665 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */ ++#line 1680 "src/preproc/eqn/eqn.cpp" + break; + + case 33: +-#line 211 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */ ++#line 215 "src/preproc/eqn/eqn.ypp" + { (yyvsp[0].pb)->set_alignment(RIGHT_ALIGN); (yyval.b) = (yyvsp[0].pb); } +-#line 1671 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */ ++#line 1686 "src/preproc/eqn/eqn.cpp" + break; + + case 34: +-#line 213 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */ ++#line 217 "src/preproc/eqn/eqn.ypp" + { (yyvsp[0].pb)->set_alignment(CENTER_ALIGN); (yyval.b) = (yyvsp[0].pb); } +-#line 1677 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */ ++#line 1692 "src/preproc/eqn/eqn.cpp" + break; + + case 35: +-#line 215 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */ ++#line 219 "src/preproc/eqn/eqn.ypp" + { (yyval.b) = (yyvsp[-1].mb); } +-#line 1683 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */ ++#line 1698 "src/preproc/eqn/eqn.cpp" + break; + + case 36: +-#line 217 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */ ++#line 221 "src/preproc/eqn/eqn.ypp" + { (yyval.b) = make_delim_box((yyvsp[-3].str), (yyvsp[-2].b), (yyvsp[0].str)); } +-#line 1689 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */ ++#line 1704 "src/preproc/eqn/eqn.cpp" + break; + + case 37: +-#line 219 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */ ++#line 223 "src/preproc/eqn/eqn.ypp" + { (yyval.b) = make_delim_box((yyvsp[-1].str), (yyvsp[0].b), 0); } +-#line 1695 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */ ++#line 1710 "src/preproc/eqn/eqn.cpp" + break; + + case 38: +-#line 221 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */ ++#line 225 "src/preproc/eqn/eqn.ypp" + { (yyval.b) = make_overline_box((yyvsp[-1].b)); } +-#line 1701 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */ ++#line 1716 "src/preproc/eqn/eqn.cpp" + break; + + case 39: +-#line 223 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */ ++#line 227 "src/preproc/eqn/eqn.ypp" + { (yyval.b) = make_underline_box((yyvsp[-1].b)); } +-#line 1707 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */ ++#line 1722 "src/preproc/eqn/eqn.cpp" + break; + + case 40: +-#line 225 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */ ++#line 229 "src/preproc/eqn/eqn.ypp" + { (yyval.b) = make_prime_box((yyvsp[-1].b)); } +-#line 1713 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */ ++#line 1728 "src/preproc/eqn/eqn.cpp" + break; + + case 41: +-#line 227 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */ ++#line 231 "src/preproc/eqn/eqn.ypp" + { (yyval.b) = make_accent_box((yyvsp[-2].b), (yyvsp[0].b)); } +-#line 1719 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */ ++#line 1734 "src/preproc/eqn/eqn.cpp" + break; + + case 42: +-#line 229 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */ ++#line 233 "src/preproc/eqn/eqn.ypp" + { (yyval.b) = make_uaccent_box((yyvsp[-2].b), (yyvsp[0].b)); } +-#line 1725 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */ ++#line 1740 "src/preproc/eqn/eqn.cpp" + break; + + case 43: +-#line 231 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */ ++#line 235 "src/preproc/eqn/eqn.ypp" + { (yyval.b) = new font_box(strsave(get_grfont()), (yyvsp[0].b)); } +-#line 1731 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */ ++#line 1746 "src/preproc/eqn/eqn.cpp" + break; + + case 44: +-#line 233 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */ ++#line 237 "src/preproc/eqn/eqn.ypp" + { (yyval.b) = new font_box(strsave(get_gbfont()), (yyvsp[0].b)); } +-#line 1737 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */ ++#line 1752 "src/preproc/eqn/eqn.cpp" + break; + + case 45: +-#line 235 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */ ++#line 239 "src/preproc/eqn/eqn.ypp" + { (yyval.b) = new font_box(strsave(get_gfont()), (yyvsp[0].b)); } +-#line 1743 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */ ++#line 1758 "src/preproc/eqn/eqn.cpp" + break; + + case 46: +-#line 237 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */ ++#line 241 "src/preproc/eqn/eqn.ypp" + { (yyval.b) = new fat_box((yyvsp[0].b)); } +-#line 1749 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */ ++#line 1764 "src/preproc/eqn/eqn.cpp" + break; + + case 47: +-#line 239 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */ ++#line 243 "src/preproc/eqn/eqn.ypp" + { (yyval.b) = new font_box((yyvsp[-1].str), (yyvsp[0].b)); } +-#line 1755 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */ ++#line 1770 "src/preproc/eqn/eqn.cpp" + break; + + case 48: +-#line 241 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */ ++#line 245 "src/preproc/eqn/eqn.ypp" + { (yyval.b) = new size_box((yyvsp[-1].str), (yyvsp[0].b)); } +-#line 1761 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */ ++#line 1776 "src/preproc/eqn/eqn.cpp" + break; + + case 49: +-#line 243 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */ ++#line 247 "src/preproc/eqn/eqn.ypp" + { (yyval.b) = new hmotion_box((yyvsp[-1].n), (yyvsp[0].b)); } +-#line 1767 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */ ++#line 1782 "src/preproc/eqn/eqn.cpp" + break; + + case 50: +-#line 245 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */ ++#line 249 "src/preproc/eqn/eqn.ypp" + { (yyval.b) = new hmotion_box(-(yyvsp[-1].n), (yyvsp[0].b)); } +-#line 1773 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */ ++#line 1788 "src/preproc/eqn/eqn.cpp" + break; + + case 51: +-#line 247 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */ ++#line 251 "src/preproc/eqn/eqn.ypp" + { (yyval.b) = new vmotion_box((yyvsp[-1].n), (yyvsp[0].b)); } +-#line 1779 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */ ++#line 1794 "src/preproc/eqn/eqn.cpp" + break; + + case 52: +-#line 249 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */ ++#line 253 "src/preproc/eqn/eqn.ypp" + { (yyval.b) = new vmotion_box(-(yyvsp[-1].n), (yyvsp[0].b)); } +-#line 1785 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */ ++#line 1800 "src/preproc/eqn/eqn.cpp" + break; + + case 53: +-#line 251 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */ ++#line 255 "src/preproc/eqn/eqn.ypp" + { (yyvsp[0].b)->set_spacing_type((yyvsp[-1].str)); (yyval.b) = (yyvsp[0].b); } +-#line 1791 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */ ++#line 1806 "src/preproc/eqn/eqn.cpp" + break; + + case 54: +-#line 253 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */ ++#line 257 "src/preproc/eqn/eqn.ypp" + { (yyval.b) = new vcenter_box((yyvsp[0].b)); } +-#line 1797 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */ ++#line 1812 "src/preproc/eqn/eqn.cpp" + break; + + case 55: +-#line 255 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */ ++#line 259 "src/preproc/eqn/eqn.ypp" + { (yyval.b) = make_special_box((yyvsp[-1].str), (yyvsp[0].b)); } +-#line 1803 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */ ++#line 1818 "src/preproc/eqn/eqn.cpp" + break; + + case 56: +-#line 260 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */ ++#line 264 "src/preproc/eqn/eqn.ypp" + { + int n; + if (sscanf((yyvsp[0].str), "%d", &n) == 1) + (yyval.n) = n; + a_delete (yyvsp[0].str); + } +-#line 1814 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */ ++#line 1829 "src/preproc/eqn/eqn.cpp" + break; + + case 57: +-#line 270 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */ ++#line 274 "src/preproc/eqn/eqn.ypp" + { (yyval.pb) = new pile_box((yyvsp[0].b)); } +-#line 1820 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */ ++#line 1835 "src/preproc/eqn/eqn.cpp" + break; + + case 58: +-#line 272 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */ ++#line 276 "src/preproc/eqn/eqn.ypp" + { (yyvsp[-2].pb)->append((yyvsp[0].b)); (yyval.pb) = (yyvsp[-2].pb); } +-#line 1826 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */ ++#line 1841 "src/preproc/eqn/eqn.cpp" + break; + + case 59: +-#line 277 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */ ++#line 281 "src/preproc/eqn/eqn.ypp" + { (yyval.pb) = (yyvsp[-1].pb); } +-#line 1832 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */ ++#line 1847 "src/preproc/eqn/eqn.cpp" + break; + + case 60: +-#line 279 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */ ++#line 283 "src/preproc/eqn/eqn.ypp" + { (yyvsp[-1].pb)->set_space((yyvsp[-3].n)); (yyval.pb) = (yyvsp[-1].pb); } +-#line 1838 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */ ++#line 1853 "src/preproc/eqn/eqn.cpp" + break; + + case 61: +-#line 284 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */ ++#line 288 "src/preproc/eqn/eqn.ypp" + { (yyval.mb) = new matrix_box((yyvsp[0].col)); } +-#line 1844 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */ ++#line 1859 "src/preproc/eqn/eqn.cpp" + break; + + case 62: +-#line 286 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */ ++#line 290 "src/preproc/eqn/eqn.ypp" + { (yyvsp[-1].mb)->append((yyvsp[0].col)); (yyval.mb) = (yyvsp[-1].mb); } +-#line 1850 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */ ++#line 1865 "src/preproc/eqn/eqn.cpp" + break; + + case 63: +-#line 291 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */ ++#line 295 "src/preproc/eqn/eqn.ypp" + { (yyval.col) = new column((yyvsp[0].b)); } +-#line 1856 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */ ++#line 1871 "src/preproc/eqn/eqn.cpp" + break; + + case 64: +-#line 293 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */ ++#line 297 "src/preproc/eqn/eqn.ypp" + { (yyvsp[-2].col)->append((yyvsp[0].b)); (yyval.col) = (yyvsp[-2].col); } +-#line 1862 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */ ++#line 1877 "src/preproc/eqn/eqn.cpp" + break; + + case 65: +-#line 298 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */ ++#line 302 "src/preproc/eqn/eqn.ypp" + { (yyval.col) = (yyvsp[-1].col); } +-#line 1868 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */ ++#line 1883 "src/preproc/eqn/eqn.cpp" + break; + + case 66: +-#line 300 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */ ++#line 304 "src/preproc/eqn/eqn.ypp" + { (yyvsp[-1].col)->set_space((yyvsp[-3].n)); (yyval.col) = (yyvsp[-1].col); } +-#line 1874 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */ ++#line 1889 "src/preproc/eqn/eqn.cpp" + break; + + case 67: +-#line 305 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */ ++#line 309 "src/preproc/eqn/eqn.ypp" + { (yyvsp[0].col)->set_alignment(CENTER_ALIGN); (yyval.col) = (yyvsp[0].col); } +-#line 1880 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */ ++#line 1895 "src/preproc/eqn/eqn.cpp" + break; + + case 68: +-#line 307 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */ ++#line 311 "src/preproc/eqn/eqn.ypp" + { (yyvsp[0].col)->set_alignment(LEFT_ALIGN); (yyval.col) = (yyvsp[0].col); } +-#line 1886 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */ ++#line 1901 "src/preproc/eqn/eqn.cpp" + break; + + case 69: +-#line 309 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */ ++#line 313 "src/preproc/eqn/eqn.ypp" + { (yyvsp[0].col)->set_alignment(RIGHT_ALIGN); (yyval.col) = (yyvsp[0].col); } +-#line 1892 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */ ++#line 1907 "src/preproc/eqn/eqn.cpp" + break; + + case 70: +-#line 311 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */ ++#line 315 "src/preproc/eqn/eqn.ypp" + { (yyvsp[0].col)->set_alignment(CENTER_ALIGN); (yyval.col) = (yyvsp[0].col); } +-#line 1898 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */ ++#line 1913 "src/preproc/eqn/eqn.cpp" + break; + + case 71: +-#line 315 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */ ++#line 319 "src/preproc/eqn/eqn.ypp" + { (yyval.str) = (yyvsp[0].str); } +-#line 1904 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */ ++#line 1919 "src/preproc/eqn/eqn.cpp" + break; + + case 72: +-#line 317 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */ ++#line 321 "src/preproc/eqn/eqn.ypp" + { (yyval.str) = (yyvsp[0].str); } +-#line 1910 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */ ++#line 1925 "src/preproc/eqn/eqn.cpp" + break; + + case 73: +-#line 322 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */ ++#line 326 "src/preproc/eqn/eqn.ypp" + { (yyval.str) = (yyvsp[0].str); } +-#line 1916 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */ ++#line 1931 "src/preproc/eqn/eqn.cpp" + break; + + case 74: +-#line 324 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */ ++#line 328 "src/preproc/eqn/eqn.ypp" + { (yyval.str) = strsave("{"); } +-#line 1922 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */ ++#line 1937 "src/preproc/eqn/eqn.cpp" + break; + + case 75: +-#line 326 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */ ++#line 330 "src/preproc/eqn/eqn.ypp" + { (yyval.str) = strsave("}"); } +-#line 1928 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */ ++#line 1943 "src/preproc/eqn/eqn.cpp" + break; + + +-#line 1932 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */ ++#line 1947 "src/preproc/eqn/eqn.cpp" ++ + default: break; + } + /* User semantic actions sometimes alter yychar, and that requires +@@ -2042,12 +2058,10 @@ yyerrlab: + | yyerrorlab -- error raised explicitly by YYERROR. | + `---------------------------------------------------*/ + yyerrorlab: +- +- /* Pacify compilers like GCC when the user code never invokes +- YYERROR and the label yyerrorlab therefore never appears in user +- code. */ +- if (/*CONSTCOND*/ 0) +- goto yyerrorlab; ++ /* Pacify compilers when the user code never invokes YYERROR and the ++ label yyerrorlab therefore never appears in user code. */ ++ if (0) ++ YYERROR; + + /* Do not reclaim the symbols of the rule whose action triggered + this YYERROR. */ +@@ -2109,6 +2123,7 @@ yyacceptlab: + yyresult = 0; + goto yyreturn; + ++ + /*-----------------------------------. + | yyabortlab -- YYABORT comes here. | + `-----------------------------------*/ +@@ -2116,6 +2131,7 @@ yyabortlab: + yyresult = 1; + goto yyreturn; + ++ + #if !defined yyoverflow || YYERROR_VERBOSE + /*-------------------------------------------------. + | yyexhaustedlab -- memory exhaustion comes here. | +@@ -2126,6 +2142,10 @@ yyexhaustedlab: + /* Fall through. */ + #endif + ++ ++/*-----------------------------------------------------. ++| yyreturn -- parsing is finished, return the result. | ++`-----------------------------------------------------*/ + yyreturn: + if (yychar != YYEMPTY) + { +@@ -2155,5 +2175,5 @@ yyreturn: + #endif + return yyresult; + } +-#line 329 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1903 */ ++#line 333 "src/preproc/eqn/eqn.ypp" + +diff --git a/src/preproc/eqn/eqn.hpp b/src/preproc/eqn/eqn.hpp +index 32a32a5..9a092c1 100644 +--- a/src/preproc/eqn/eqn.hpp ++++ b/src/preproc/eqn/eqn.hpp +@@ -1,8 +1,9 @@ +-/* A Bison parser, made by GNU Bison 3.2. */ ++/* A Bison parser, made by GNU Bison 3.4.1. */ + + /* Bison interface for Yacc-like parsers in C + +- Copyright (C) 1984, 1989-1990, 2000-2015, 2018 Free Software Foundation, Inc. ++ Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2019 Free Software Foundation, ++ Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by +@@ -170,10 +171,9 @@ extern int yydebug; + + /* Value type. */ + #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED +- + union YYSTYPE + { +-#line 30 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1906 */ ++#line 34 "src/preproc/eqn/eqn.ypp" + + char *str; + box *b; +@@ -182,9 +182,9 @@ union YYSTYPE + int n; + column *col; + +-#line 186 "src/preproc/eqn/eqn.hpp" /* yacc.c:1906 */ +-}; ++#line 186 "src/preproc/eqn/eqn.hpp" + ++}; + typedef union YYSTYPE YYSTYPE; + # define YYSTYPE_IS_TRIVIAL 1 + # define YYSTYPE_IS_DECLARED 1 +diff --git a/src/preproc/eqn/eqn.ypp b/src/preproc/eqn/eqn.ypp +index fb318c3..b7b647e 100644 +--- a/src/preproc/eqn/eqn.ypp ++++ b/src/preproc/eqn/eqn.ypp +@@ -16,6 +16,10 @@ for more details. + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + %{ ++#if HAVE_CONFIG_H ++# include ++#endif ++ + #include + #include + #include +diff --git a/src/preproc/eqn/other.cpp b/src/preproc/eqn/other.cpp +index 8db993f..38db396 100644 +--- a/src/preproc/eqn/other.cpp ++++ b/src/preproc/eqn/other.cpp +@@ -17,6 +17,10 @@ for more details. + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + ++#if HAVE_CONFIG_H ++# include ++#endif ++ + #include + + #include "eqn.h" +diff --git a/src/preproc/eqn/text.cpp b/src/preproc/eqn/text.cpp +index f3d06f9..3b244d5 100644 +--- a/src/preproc/eqn/text.cpp ++++ b/src/preproc/eqn/text.cpp +@@ -17,6 +17,10 @@ for more details. + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + ++#if HAVE_CONFIG_H ++# include ++#endif ++ + #include + #include + #include "eqn.h" +diff --git a/src/preproc/pic/object.cpp b/src/preproc/pic/object.cpp +index d8ba610..f26a831 100644 +--- a/src/preproc/pic/object.cpp ++++ b/src/preproc/pic/object.cpp +@@ -17,6 +17,10 @@ for more details. + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + ++#if HAVE_CONFIG_H ++# include ++#endif ++ + #include + + #include "pic.h" +-- +2.22.0 + 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 a190230b3..082597f69 100644 --- a/poky/meta/recipes-extended/groff/groff_1.22.4.bb +++ b/poky/meta/recipes-extended/groff/groff_1.22.4.bb @@ -11,6 +11,7 @@ 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-support-musl.patch \ + file://0001-Include-config.h.patch \ " SRC_URI[md5sum] = "08fb04335e2f5e73f23ea4c3adbf0c5f" diff --git a/poky/meta/recipes-extended/gzip/gzip_1.10.bb b/poky/meta/recipes-extended/gzip/gzip_1.10.bb index 6a5b2459e..5ab99d0b1 100644 --- a/poky/meta/recipes-extended/gzip/gzip_1.10.bb +++ b/poky/meta/recipes-extended/gzip/gzip_1.10.bb @@ -12,7 +12,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \ PROVIDES_append_class-native = " gzip-replacement-native" -RDEPENDS_${PN}-ptest += "make" +RDEPENDS_${PN}-ptest += "make perl perl-ptest grep diffutils" BBCLASSEXTEND = "native" diff --git a/poky/meta/recipes-extended/libidn/libidn2_2.2.0.bb b/poky/meta/recipes-extended/libidn/libidn2_2.2.0.bb index d7fec89fb..bcbfdd85b 100644 --- a/poky/meta/recipes-extended/libidn/libidn2_2.2.0.bb +++ b/poky/meta/recipes-extended/libidn/libidn2_2.2.0.bb @@ -21,6 +21,10 @@ EXTRA_OECONF += "--disable-rpath \ --with-libunistring-prefix=${STAGING_EXECPREFIXDIR} \ " +do_install_append() { + sed -i -e 's|-L${STAGING_LIBDIR}||' ${D}${libdir}/pkgconfig/libidn2.pc +} + LICENSE_${PN} = "(GPLv2+ | LGPLv3)" LICENSE_${PN}-bin = "GPLv3+" diff --git a/poky/meta/recipes-extended/libnss-nis/libnss-nis.bb b/poky/meta/recipes-extended/libnss-nis/libnss-nis.bb index 47447acd6..4fbd4b1f6 100644 --- a/poky/meta/recipes-extended/libnss-nis/libnss-nis.bb +++ b/poky/meta/recipes-extended/libnss-nis/libnss-nis.bb @@ -18,6 +18,7 @@ PV = "3.0+git${SRCPV}" SRCREV = "d4aea48657a8e90d7922574b8021ee03915a36cb" SRC_URI = "git://github.com/thkukuk/libnss_nis \ + file://0001-nis-hosts-Remove-use-of-RES_USE_INET6.patch \ " S = "${WORKDIR}/git" diff --git a/poky/meta/recipes-extended/libnss-nis/libnss-nis/0001-nis-hosts-Remove-use-of-RES_USE_INET6.patch b/poky/meta/recipes-extended/libnss-nis/libnss-nis/0001-nis-hosts-Remove-use-of-RES_USE_INET6.patch new file mode 100644 index 000000000..348c8c94b --- /dev/null +++ b/poky/meta/recipes-extended/libnss-nis/libnss-nis/0001-nis-hosts-Remove-use-of-RES_USE_INET6.patch @@ -0,0 +1,162 @@ +From e41ddbd89a4bb042ac00469fa5880ba584c25c05 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Thu, 25 Jul 2019 12:10:56 -0700 +Subject: [PATCH] nis-hosts: Remove use of RES_USE_INET6 + +Upstream glibc dropped it starting glibc 2.30 +see +https://sourceware.org/git/?p=glibc.git;a=commit;h=3f8b44be0a658266adff5ece1e4bc3ce097a5dbe + +Fixes issue #6 + +Upstream-Status: Submitted [https://github.com/thkukuk/libnss_nis/pull/7] + +Signed-off-by: Khem Raj +--- + src/nis-hosts.c | 55 ++++++++++++------------------------------------- + 1 file changed, 13 insertions(+), 42 deletions(-) + +diff --git a/src/nis-hosts.c b/src/nis-hosts.c +index 307b46e..bd3c4ad 100644 +--- a/src/nis-hosts.c ++++ b/src/nis-hosts.c +@@ -35,15 +35,12 @@ + #include "libc-lock.h" + #include "nss-nis.h" + +-/* Get implementation for some internal functions. */ +-#include "mapv4v6addr.h" +- + #define ENTNAME hostent + #define DATABASE "hosts" + #define NEED_H_ERRNO + +-#define EXTRA_ARGS , af, flags +-#define EXTRA_ARGS_DECL , int af, int flags ++#define EXTRA_ARGS , af ++#define EXTRA_ARGS_DECL , int af + + #define ENTDATA hostent_data + struct hostent_data +@@ -67,19 +64,8 @@ LINE_PARSER + /* Parse address. */ + if (af != AF_INET6 && inet_pton (AF_INET, addr, entdata->host_addr) > 0) + { +- assert ((flags & AI_V4MAPPED) == 0 || af != AF_UNSPEC); +- if (flags & AI_V4MAPPED) +- { +- map_v4v6_address ((char *) entdata->host_addr, +- (char *) entdata->host_addr); +- result->h_addrtype = AF_INET6; +- result->h_length = IN6ADDRSZ; +- } +- else +- { +- result->h_addrtype = AF_INET; +- result->h_length = INADDRSZ; +- } ++ result->h_addrtype = AF_INET; ++ result->h_length = INADDRSZ; + } + else if (af != AF_INET + && inet_pton (AF_INET6, addr, entdata->host_addr) > 0) +@@ -134,7 +120,7 @@ strong_alias (_nss_nis_sethostent, _nss_nis_endhostent) + static enum nss_status + internal_nis_gethostent_r (struct hostent *host, char *buffer, + size_t buflen, int *errnop, int *h_errnop, +- int af, int flags) ++ int af) + { + char *domain; + if (yp_get_default_domain (&domain)) +@@ -203,7 +189,7 @@ internal_nis_gethostent_r (struct hostent *host, char *buffer, + ++p; + free (result); + +- parse_res = parse_line (p, host, data, buflen, errnop, af, flags); ++ parse_res = parse_line (p, host, data, buflen, errnop, af); + if (parse_res == -1) + { + free (outkey); +@@ -232,8 +218,7 @@ _nss_nis_gethostent_r (struct hostent *host, char *buffer, size_t buflen, + __libc_lock_lock (lock); + + status = internal_nis_gethostent_r (host, buffer, buflen, errnop, h_errnop, +- ((_res.options & RES_USE_INET6) ? AF_INET6 : AF_INET), +- ((_res.options & RES_USE_INET6) ? AI_V4MAPPED : 0 )); ++ AF_INET); + + __libc_lock_unlock (lock); + +@@ -244,7 +229,7 @@ _nss_nis_gethostent_r (struct hostent *host, char *buffer, size_t buflen, + static enum nss_status + internal_gethostbyname2_r (const char *name, int af, struct hostent *host, + char *buffer, size_t buflen, int *errnop, +- int *h_errnop, int flags) ++ int *h_errnop) + { + uintptr_t pad = -(uintptr_t) buffer % __alignof__ (struct parser_data); + buffer += pad; +@@ -318,7 +303,7 @@ internal_gethostbyname2_r (const char *name, int af, struct hostent *host, + ++p; + free (result); + +- int parse_res = parse_line (p, host, data, buflen, errnop, af, flags); ++ int parse_res = parse_line (p, host, data, buflen, errnop, af); + + if (parse_res < 1 || host->h_addrtype != af) + { +@@ -351,8 +336,7 @@ _nss_nis_gethostbyname2_r (const char *name, int af, struct hostent *host, + } + + return internal_gethostbyname2_r (name, af, host, buffer, buflen, errnop, +- h_errnop, +- ((_res.options & RES_USE_INET6) ? AI_V4MAPPED : 0)); ++ h_errnop); + } + + +@@ -360,18 +344,8 @@ enum nss_status + _nss_nis_gethostbyname_r (const char *name, struct hostent *host, char *buffer, + size_t buflen, int *errnop, int *h_errnop) + { +- if (_res.options & RES_USE_INET6) +- { +- enum nss_status status; +- +- status = internal_gethostbyname2_r (name, AF_INET6, host, buffer, buflen, +- errnop, h_errnop, AI_V4MAPPED); +- if (status == NSS_STATUS_SUCCESS) +- return status; +- } +- + return internal_gethostbyname2_r (name, AF_INET, host, buffer, buflen, +- errnop, h_errnop, 0); ++ errnop, h_errnop); + } + + +@@ -433,9 +407,7 @@ _nss_nis_gethostbyaddr_r (const void *addr, socklen_t addrlen, int af, + ++p; + free (result); + +- int parse_res = parse_line (p, host, data, buflen, errnop, af, +- ((_res.options & RES_USE_INET6) +- ? AI_V4MAPPED : 0)); ++ int parse_res = parse_line (p, host, data, buflen, errnop, af); + if (parse_res < 1) + { + if (parse_res == -1) +@@ -532,8 +504,7 @@ _nss_nis_gethostbyname4_r (const char *name, struct gaih_addrtuple **pat, + buflen -= pad; + + struct hostent host; +- int parse_res = parse_line (result, &host, data, buflen, errnop, AF_UNSPEC, +- 0); ++ int parse_res = parse_line (result, &host, data, buflen, errnop, AF_UNSPEC); + if (parse_res < 1) + { + if (parse_res == -1) +-- +2.22.0 + diff --git a/poky/meta/recipes-extended/ltp/ltp/0001-Add-configure-time-check-for-getdents-getdents64-API.patch b/poky/meta/recipes-extended/ltp/ltp/0001-Add-configure-time-check-for-getdents-getdents64-API.patch new file mode 100644 index 000000000..bfceadb19 --- /dev/null +++ b/poky/meta/recipes-extended/ltp/ltp/0001-Add-configure-time-check-for-getdents-getdents64-API.patch @@ -0,0 +1,72 @@ +From 404dfeb4faef213b0450f173b60cd7080edec349 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Fri, 26 Jul 2019 10:32:29 -0700 +Subject: [PATCH 1/2] Add configure time check for getdents/getdents64 APIs + +glibc 2.30 has added wrapper for getdents64 this will help in detecting +right condition to use fallback + +Check for getdents API as well while here + +Upstream-Status: Submitted [http://lists.linux.it/pipermail/ltp/2019-July/012954.html] +Signed-off-by: Khem Raj +--- + configure.ac | 2 ++ + testcases/kernel/syscalls/getdents/getdents.h | 8 ++++++-- + 2 files changed, 8 insertions(+), 2 deletions(-) + +--- a/configure.ac ++++ b/configure.ac +@@ -65,6 +65,8 @@ AC_CHECK_FUNCS([ \ + fallocate \ + fchownat \ + fstatat \ ++ getdents \ ++ getdents64 \ + kcmp \ + mkdirat \ + mknodat \ +--- a/testcases/kernel/syscalls/getdents/getdents.h ++++ b/testcases/kernel/syscalls/getdents/getdents.h +@@ -23,7 +23,7 @@ + #include + #include "test.h" + #include "lapi/syscalls.h" +- ++#include "config.h" + /* + * See fs/compat.c struct compat_linux_dirent + */ +@@ -34,12 +34,17 @@ struct linux_dirent { + char d_name[]; + }; + ++#if HAVE_GETDENTS ++#include ++#else + static inline int + getdents(unsigned int fd, struct linux_dirent *dirp, unsigned int size) + { + return ltp_syscall(__NR_getdents, fd, dirp, size); + } + ++#endif /* HAVE_GETDENTS */ ++ + struct linux_dirent64 { + uint64_t d_ino; + int64_t d_off; +@@ -48,10 +53,13 @@ struct linux_dirent64 { + char d_name[]; + }; + ++#if HAVE_GETDENTS64 ++#include ++#else + static inline int + getdents64(unsigned int fd, struct linux_dirent64 *dirp64, unsigned int size) + { + return ltp_syscall(__NR_getdents64, fd, dirp64, size); + } +- ++#endif /* HAVE_GETDENTS64 */ + #endif /* GETDENTS_H */ diff --git a/poky/meta/recipes-extended/ltp/ltp/0002-check-for-RES_USE_INET6-during-configure.patch b/poky/meta/recipes-extended/ltp/ltp/0002-check-for-RES_USE_INET6-during-configure.patch new file mode 100644 index 000000000..12e47eb2b --- /dev/null +++ b/poky/meta/recipes-extended/ltp/ltp/0002-check-for-RES_USE_INET6-during-configure.patch @@ -0,0 +1,68 @@ +From 7bc134545b7beb09717a60541530c20a1a5740d3 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Fri, 26 Jul 2019 10:55:28 -0700 +Subject: [PATCH 2/2] check for RES_USE_INET6 during configure + +glibc 2.30 has remove RES_USE_INET6 define which has been on its way out +since 2.26 release, this check ensures that we detect it before using it + +Upstream-Status: Submitted [http://lists.linux.it/pipermail/ltp/2019-July/012955.html] +Signed-off-by: Khem Raj +--- + configure.ac | 13 +++++++++++++ + testcases/network/multicast/mc_gethost/mc_gethost.c | 6 ++++++ + 2 files changed, 19 insertions(+) + +diff --git a/configure.ac b/configure.ac +index 2255b5c181..ed7acccb01 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -91,6 +91,19 @@ AC_CHECK_FUNCS([ \ + vmsplice \ + ]) + ++#check defines ++AC_MSG_CHECKING([for RES_USE_INET6]) ++AC_COMPILE_IFELSE( [AC_LANG_PROGRAM([[#include ]], ++ [[char dummy[RES_USE_INET6];]])], ++ [ ++ AC_MSG_RESULT([yes]) ++ AC_DEFINE_UNQUOTED([HAVE_RES_USE_INET6], 1, [Define to 1 if you have the RES_USE_INET6 macro.]) ++ ], ++ [ ++ AC_MSG_RESULT([no]) ++ AC_DEFINE_UNQUOTED([HAVE_RES_USE_INET6], 0, [Define to 1 if you have the RES_USE_INET6 macro.]) ++ ] ++) + # Tools knobs + + # Expect +diff --git a/testcases/network/multicast/mc_gethost/mc_gethost.c b/testcases/network/multicast/mc_gethost/mc_gethost.c +index 9cc15d086b..d1cae5441a 100644 +--- a/testcases/network/multicast/mc_gethost/mc_gethost.c ++++ b/testcases/network/multicast/mc_gethost/mc_gethost.c +@@ -17,6 +17,8 @@ + #include + #include + ++#include "config.h" ++ + #ifndef LOG_PERROR + #define LOG_PERROR 0 + #endif +@@ -50,8 +52,12 @@ usage: + argv++, argc--; + } + if (argc >= 1 && !strcmp(*argv, "-6")) { ++#if HAVE_RES_USE_INET6 + af = AF_INET6, size = IN6ADDRSZ; + _res.options |= RES_USE_INET6; ++#else ++ af = AF_INET, size = INADDRSZ; ++#endif + argv++, argc--; + } + if (argc >= 1 && !strcmp(*argv, "-f")) { +-- +2.22.0 + diff --git a/poky/meta/recipes-extended/ltp/ltp/0005-getdents-define-getdents-getdents64-only-for-glibc.patch b/poky/meta/recipes-extended/ltp/ltp/0005-getdents-define-getdents-getdents64-only-for-glibc.patch deleted file mode 100644 index d1f7b0746..000000000 --- a/poky/meta/recipes-extended/ltp/ltp/0005-getdents-define-getdents-getdents64-only-for-glibc.patch +++ /dev/null @@ -1,50 +0,0 @@ -From b996b2480fe3a800ffbdc4a0fdc5e8775c575449 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Fri, 8 Jan 2016 06:57:04 +0000 -Subject: [PATCH] getdents: define getdents/getdents64 only for glibc - -getdents/getdents64 are implemented in musl and when we define static -functions with same name, it errors out. - -Upstream-Status: Pending - -Signed-off-by: Khem Raj ---- - testcases/kernel/syscalls/getdents/getdents.h | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -diff --git a/testcases/kernel/syscalls/getdents/getdents.h b/testcases/kernel/syscalls/getdents/getdents.h -index 702b0bd..860b22e 100644 ---- a/testcases/kernel/syscalls/getdents/getdents.h -+++ b/testcases/kernel/syscalls/getdents/getdents.h -@@ -34,12 +34,13 @@ struct linux_dirent { - char d_name[]; - }; - -+#ifdef __GLIBC__ - static inline int - getdents(unsigned int fd, struct linux_dirent *dirp, unsigned int size) - { - return ltp_syscall(__NR_getdents, fd, dirp, size); - } -- -+#endif - struct linux_dirent64 { - uint64_t d_ino; - int64_t d_off; -@@ -48,10 +49,11 @@ struct linux_dirent64 { - char d_name[]; - }; - -+#ifdef __GLIBC__ - static inline int - getdents64(unsigned int fd, struct linux_dirent64 *dirp64, unsigned int size) - { - return ltp_syscall(__NR_getdents64, fd, dirp64, size); - } -- -+#endif - #endif /* GETDENTS_H */ --- -2.7.4 - diff --git a/poky/meta/recipes-extended/ltp/ltp_20190517.bb b/poky/meta/recipes-extended/ltp/ltp_20190517.bb index 1f3a94bdf..c62f2618b 100644 --- a/poky/meta/recipes-extended/ltp/ltp_20190517.bb +++ b/poky/meta/recipes-extended/ltp/ltp_20190517.bb @@ -34,7 +34,6 @@ SRC_URI = "git://github.com/linux-test-project/ltp.git \ file://0002-kernel-controllers-Link-with-libfts-explicitly-on-mu.patch \ file://0003-Check-if-__GLIBC_PREREQ-is-defined-before-using-it.patch \ file://0004-guard-mallocopt-with-__GLIBC__.patch \ - file://0005-getdents-define-getdents-getdents64-only-for-glibc.patch \ file://0006-rt_tgsigqueueinfo-disable-test-on-musl.patch \ file://0007-Fix-test_proc_kill-hanging.patch \ file://0008-testcases-network-nfsv4-acl-acl1.c-Security-fix-on-s.patch \ @@ -42,6 +41,8 @@ SRC_URI = "git://github.com/linux-test-project/ltp.git \ file://0010-shmctl01-don-t-use-hardcoded-index-0-for-SHM_STAT-te.patch \ file://0011-direct_io-diotest4-drop-MAP_FIXED.patch \ file://0012-getrlimit03-adjust-a-bit-of-code-to-compatiable-with.patch \ + file://0001-Add-configure-time-check-for-getdents-getdents64-API.patch \ + file://0002-check-for-RES_USE_INET6-during-configure.patch \ " S = "${WORKDIR}/git" diff --git a/poky/meta/recipes-extended/man-db/man-db_2.8.5.bb b/poky/meta/recipes-extended/man-db/man-db_2.8.5.bb deleted file mode 100644 index 441e2f411..000000000 --- a/poky/meta/recipes-extended/man-db/man-db_2.8.5.bb +++ /dev/null @@ -1,59 +0,0 @@ -SUMMARY = "An implementation of the standard Unix documentation system accessed using the man command" -HOMEPAGE = "http://man-db.nongnu.org/" -LICENSE = "LGPLv2.1 & GPLv2" -LIC_FILES_CHKSUM = "file://docs/COPYING.LIB;md5=a6f89e2100d9b6cdffcea4f398e37343 \ - file://docs/COPYING;md5=eb723b61539feef013de476e68b5c50a" - -SRC_URI = "${SAVANNAH_NONGNU_MIRROR}/man-db/man-db-${PV}.tar.xz \ - file://99_mandb \ - file://man_db.conf-avoid-multilib-install-file-conflict.patch" -SRC_URI[md5sum] = "c5c6c3434be14a5527d43b5ad0f09a13" -SRC_URI[sha256sum] = "b64d52747534f1fe873b2876eb7f01319985309d5d7da319d2bc52ba1e73f6c1" - -DEPENDS = "libpipeline gdbm groff-native base-passwd" -RDEPENDS_${PN} += "base-passwd" - -# | /usr/src/debug/man-db/2.8.0-r0/man-db-2.8.0/src/whatis.c:939: undefined reference to `_nl_msg_cat_cntr' -USE_NLS_libc-musl = "no" - -inherit gettext pkgconfig autotools systemd - -EXTRA_OECONF = "--with-pager=less" -EXTRA_AUTORECONF += "-I ${S}/gl/m4" - -do_install() { - autotools_do_install - - if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then - install -d ${D}/etc/default/volatiles - install -m 0644 ${WORKDIR}/99_mandb ${D}/etc/default/volatiles - fi -} - -do_install_append_libc-musl() { - rm -f ${D}${libdir}/charset.alias -} - -FILES_${PN} += "${prefix}/lib/tmpfiles.d" - -FILES_${PN}-dev += "${libdir}/man-db/libman.so ${libdir}/${BPN}/libmandb.so" - -RDEPENDS_${PN} += "groff" -RRECOMMENDS_${PN} += "less" -RPROVIDES_${PN} += " man" - -def compress_pkg(d): - if bb.utils.contains("INHERIT", "compress_doc", True, False, d): - compress = d.getVar("DOC_COMPRESS") - if compress == "gz": - return "gzip" - elif compress == "bz2": - return "bzip2" - elif compress == "xz": - return "xz" - return "" - -RDEPENDS_${PN} += "${@compress_pkg(d)}" - -SYSTEMD_SERVICE_${PN} = "man-db.timer man-db.service" -SYSTEMD_AUTO_ENABLE ?= "disable" diff --git a/poky/meta/recipes-extended/man-db/man-db_2.8.6.1.bb b/poky/meta/recipes-extended/man-db/man-db_2.8.6.1.bb new file mode 100644 index 000000000..ec9eb8385 --- /dev/null +++ b/poky/meta/recipes-extended/man-db/man-db_2.8.6.1.bb @@ -0,0 +1,59 @@ +SUMMARY = "An implementation of the standard Unix documentation system accessed using the man command" +HOMEPAGE = "http://man-db.nongnu.org/" +LICENSE = "LGPLv2.1 & GPLv2" +LIC_FILES_CHKSUM = "file://docs/COPYING.LIB;md5=a6f89e2100d9b6cdffcea4f398e37343 \ + file://docs/COPYING;md5=eb723b61539feef013de476e68b5c50a" + +SRC_URI = "${SAVANNAH_NONGNU_MIRROR}/man-db/man-db-${PV}.tar.xz \ + file://99_mandb \ + file://man_db.conf-avoid-multilib-install-file-conflict.patch" +SRC_URI[md5sum] = "22e82fe1127f4ca95de7100168a927d1" +SRC_URI[sha256sum] = "2c77a2bb9dbf06f72417a6f63063e204888a22a5020ff77334d304d55f813a28" + +DEPENDS = "libpipeline gdbm groff-native base-passwd" +RDEPENDS_${PN} += "base-passwd" + +# | /usr/src/debug/man-db/2.8.0-r0/man-db-2.8.0/src/whatis.c:939: undefined reference to `_nl_msg_cat_cntr' +USE_NLS_libc-musl = "no" + +inherit gettext pkgconfig autotools systemd + +EXTRA_OECONF = "--with-pager=less" +EXTRA_AUTORECONF += "-I ${S}/gl/m4" + +do_install() { + autotools_do_install + + if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then + install -d ${D}/etc/default/volatiles + install -m 0644 ${WORKDIR}/99_mandb ${D}/etc/default/volatiles + fi +} + +do_install_append_libc-musl() { + rm -f ${D}${libdir}/charset.alias +} + +FILES_${PN} += "${prefix}/lib/tmpfiles.d" + +FILES_${PN}-dev += "${libdir}/man-db/libman.so ${libdir}/${BPN}/libmandb.so" + +RDEPENDS_${PN} += "groff" +RRECOMMENDS_${PN} += "less" +RPROVIDES_${PN} += " man" + +def compress_pkg(d): + if bb.utils.contains("INHERIT", "compress_doc", True, False, d): + compress = d.getVar("DOC_COMPRESS") + if compress == "gz": + return "gzip" + elif compress == "bz2": + return "bzip2" + elif compress == "xz": + return "xz" + return "" + +RDEPENDS_${PN} += "${@compress_pkg(d)}" + +SYSTEMD_SERVICE_${PN} = "man-db.timer man-db.service" +SYSTEMD_AUTO_ENABLE ?= "disable" diff --git a/poky/meta/recipes-extended/msmtp/msmtp_1.8.4.bb b/poky/meta/recipes-extended/msmtp/msmtp_1.8.4.bb deleted file mode 100644 index 0f10500b3..000000000 --- a/poky/meta/recipes-extended/msmtp/msmtp_1.8.4.bb +++ /dev/null @@ -1,28 +0,0 @@ -SUMMARY = "msmtp is an SMTP client" -DESCRIPTION = "A sendmail replacement for use in MTAs like mutt" -HOMEPAGE = "https://marlam.de/msmtp/" -SECTION = "console/network" - -LICENSE = "GPLv3" -DEPENDS = "zlib gnutls" - -LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" - -UPSTREAM_CHECK_URI = "https://marlam.de/msmtp/download/" - -SRC_URI = "https://marlam.de/${BPN}/releases/${BP}.tar.xz" -SRC_URI[md5sum] = "abfabb92f0461137f3c09cd16d98fc9b" -SRC_URI[sha256sum] = "e5dd7fe95bc8e2f5eea3e4894ec9628252f30bd700a7fd1a568b10efa91129f7" - -inherit gettext autotools update-alternatives pkgconfig - -EXTRA_OECONF += "--without-libsecret --without-libgsasl --without-libidn" - -ALTERNATIVE_${PN} = "sendmail" -# /usr/lib/sendmial is required by LSB core test -ALTERNATIVE_${PN}_linuxstdbase = "sendmail usr-lib-sendmail" -ALTERNATIVE_TARGET[sendmail] = "${bindir}/msmtp" -ALTERNATIVE_LINK_NAME[sendmail] = "${sbindir}/sendmail" -ALTERNATIVE_TARGET[usr-lib-sendmail] = "${bindir}/msmtp" -ALTERNATIVE_LINK_NAME[usr-lib-sendmail] = "/usr/lib/sendmail" -ALTERNATIVE_PRIORITY = "100" diff --git a/poky/meta/recipes-extended/msmtp/msmtp_1.8.5.bb b/poky/meta/recipes-extended/msmtp/msmtp_1.8.5.bb new file mode 100644 index 000000000..4f6b66f22 --- /dev/null +++ b/poky/meta/recipes-extended/msmtp/msmtp_1.8.5.bb @@ -0,0 +1,28 @@ +SUMMARY = "msmtp is an SMTP client" +DESCRIPTION = "A sendmail replacement for use in MTAs like mutt" +HOMEPAGE = "https://marlam.de/msmtp/" +SECTION = "console/network" + +LICENSE = "GPLv3" +DEPENDS = "zlib gnutls" + +LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" + +UPSTREAM_CHECK_URI = "https://marlam.de/msmtp/download/" + +SRC_URI = "https://marlam.de/${BPN}/releases/${BP}.tar.xz" +SRC_URI[md5sum] = "5d7bb10606fbceeb2e0687379c75234b" +SRC_URI[sha256sum] = "1613daced9c47b8c028224fc076799c2a4d72923e242be4e9e5c984cbbbb9f39" + +inherit gettext autotools update-alternatives pkgconfig + +EXTRA_OECONF += "--without-libsecret --without-libgsasl --without-libidn" + +ALTERNATIVE_${PN} = "sendmail" +# /usr/lib/sendmial is required by LSB core test +ALTERNATIVE_${PN}_linuxstdbase = "sendmail usr-lib-sendmail" +ALTERNATIVE_TARGET[sendmail] = "${bindir}/msmtp" +ALTERNATIVE_LINK_NAME[sendmail] = "${sbindir}/sendmail" +ALTERNATIVE_TARGET[usr-lib-sendmail] = "${bindir}/msmtp" +ALTERNATIVE_LINK_NAME[usr-lib-sendmail] = "/usr/lib/sendmail" +ALTERNATIVE_PRIORITY = "100" diff --git a/poky/meta/recipes-extended/newt/files/fix_SHAREDDIR.patch b/poky/meta/recipes-extended/newt/files/fix_SHAREDDIR.patch deleted file mode 100644 index b0a1e8c10..000000000 --- a/poky/meta/recipes-extended/newt/files/fix_SHAREDDIR.patch +++ /dev/null @@ -1,37 +0,0 @@ -Upstream-Status: Pending - -Author: dexuan.cui@intel.com -Date: Fri Apr 15 16:17:39 CST 2011 - -The patch fixes a parallel-make issue: when generating $(SHAREDDIR)/%.o, we should -ensure the directory ${SHAREDDIR} exists. - -We need to push the patch to upstream. - -Signed-off-by: Dexuan Cui -Signed-off-by: Hongxu Jia ---- - Makefile.in | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/Makefile.in b/Makefile.in ---- a/Makefile.in -+++ b/Makefile.in -@@ -128,12 +128,12 @@ $(SHAREDDIR): - - sharedlib: $(LIBNEWTSH) - --$(LIBNEWTSH): $(SHAREDDIR) $(SHAREDOBJS) -+$(LIBNEWTSH): $(SHAREDOBJS) - $(CC) -shared -o $(LIBNEWTSH) $(SHLIBFLAGS) $(SHAREDOBJS) $(LDFLAGS) $(LIBS) - ln -fs $(LIBNEWTSONAME) libnewt.$(SOEXT) - ln -fs $(LIBNEWTSH) $(LIBNEWTSONAME) - --$(SHAREDDIR)/%.o : %.c -+$(SHAREDDIR)/%.o : %.c $(SHAREDDIR) - $(CC) $(SHCFLAGS) -c $(CFLAGS) $(CPPFLAGS) -o $@ $< - - install: $(LIBNEWT) install-sh whiptail --- -1.8.1.2 - diff --git a/poky/meta/recipes-extended/newt/files/pie-flags.patch b/poky/meta/recipes-extended/newt/files/pie-flags.patch index 8883e26ad..92f5b2503 100644 --- a/poky/meta/recipes-extended/newt/files/pie-flags.patch +++ b/poky/meta/recipes-extended/newt/files/pie-flags.patch @@ -1,7 +1,4 @@ -specify -fPIC after CFLAGS so it can override the CFLAGS containing -pie and -fpie -this makes sure the objects that go into shared objects are compiled with -fPIC -and not with -fpie. We can not use -fpie on objects which will go into .so files -Fixes errors like +specify -fPIC after CFLAGS so it can override the CFLAGS containing -pie and -fpie this makes sure the objects that go into shared objects are compiled with -fPIC and not with -fpie. We can not use -fpie on objects which will go into .so files Fixes errors like | /mnt/oe/build/tmp-glibc/sysroots/x86_64-linux/usr/libexec/x86_64-oe-linux/gcc/x86_64-oe-linux/5.3.0/ld: shared/newt.o: relocation R_X86_64_PC32 against undefined symbol `SLtt_Screen_Rows@@SLANG2' can not be used when making a shared object; recompile with -fPIC | /mnt/oe/build/tmp-glibc/sysroots/x86_64-linux/usr/libexec/x86_64-oe-linux/gcc/x86_64-oe-linux/5.3.0/ld: final link failed: Bad value @@ -10,10 +7,15 @@ Fixes errors like Signed-off-by: Khem Raj Upstream-Status: Pending -Index: newt-0.52.18/Makefile.in -=================================================================== ---- newt-0.52.18.orig/Makefile.in -+++ newt-0.52.18/Makefile.in + +--- + Makefile.in | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/Makefile.in b/Makefile.in +index be5f87b..88ee0b7 100644 +--- a/Makefile.in ++++ b/Makefile.in @@ -96,8 +96,8 @@ _snack.$(SOEXT): snack.c $(LIBNEWTSH) PIFLAGS=`$$pyconfig --includes`; \ PLDFLAGS=`$$pyconfig --ldflags`; \ @@ -25,12 +27,15 @@ Index: newt-0.52.18/Makefile.in echo $(CC) --shared $$PLDFLAGS $$PLFLAGS $(LDFLAGS) -o $$ver/_snack.$(SOEXT) $$ver/snack.o -L. -lnewt $(LIBS); \ $(CC) --shared $$PLDFLAGS $$PLFLAGS $(LDFLAGS) -o $$ver/_snack.$(SOEXT) $$ver/snack.o -L. -lnewt $(LIBS); \ done || : -@@ -135,7 +135,7 @@ $(LIBNEWTSH): $(SHAREDOBJS) - ln -fs $(LIBNEWTSH) $(LIBNEWTSONAME) +@@ -133,7 +133,7 @@ $(LIBNEWTSH): $(SHAREDOBJS) - $(SHAREDDIR)/%.o : %.c $(SHAREDDIR) + $(SHAREDDIR)/%.o : %.c + @mkdir -p $(SHAREDDIR) - $(CC) $(SHCFLAGS) -c $(CFLAGS) $(CPPFLAGS) -o $@ $< + $(CC) -c $(CFLAGS) $(CPPFLAGS) $(SHCFLAGS) -o $@ $< install: $(LIBNEWT) install-sh whiptail [ -d $(instroot)/$(bindir) ] || install -m 755 -d $(instroot)/$(bindir) +-- +2.7.4 + diff --git a/poky/meta/recipes-extended/newt/libnewt_0.52.20.bb b/poky/meta/recipes-extended/newt/libnewt_0.52.20.bb deleted file mode 100644 index dc07a1809..000000000 --- a/poky/meta/recipes-extended/newt/libnewt_0.52.20.bb +++ /dev/null @@ -1,59 +0,0 @@ -SUMMARY = "A library for text mode user interfaces" - -DESCRIPTION = "Newt is a programming library for color text mode, widget based user \ -interfaces. Newt can be used to add stacked windows, entry widgets, \ -checkboxes, radio buttons, labels, plain text fields, scrollbars, \ -etc., to text mode user interfaces. This package also contains the \ -shared library needed by programs built with newt, as well as a \ -/usr/bin/dialog replacement called whiptail. Newt is based on the \ -slang library." - -HOMEPAGE = "https://releases.pagure.org/newt/" -SECTION = "libs" - -LICENSE = "LGPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2" - -# slang needs to be >= 2.2 -DEPENDS = "slang popt python3" - -SRC_URI = "https://releases.pagure.org/newt/newt-${PV}.tar.gz \ - file://fix_SHAREDDIR.patch \ - file://cross_ar.patch \ - file://Makefile.in-Add-tinfo-library-to-the-linking-librari.patch \ - file://pie-flags.patch \ - file://0001-detect-gold-as-GNU-linker-too.patch \ -" - -SRC_URI[md5sum] = "70b288f821234593a8e7920e435b259b" -SRC_URI[sha256sum] = "8d66ba6beffc3f786d4ccfee9d2b43d93484680ef8db9397a4fb70b5adbb6dbc" - -S = "${WORKDIR}/newt-${PV}" - -inherit autotools-brokensep python3native python3-dir - -EXTRA_OECONF = "--without-tcl --with-python" - -EXTRA_OEMAKE += "PYTHONVERS=${PYTHON_DIR}" - -CLEANBROKEN = "1" - -export CPPFLAGS - -PACKAGES_prepend = "whiptail ${PN}-python " - -RDEPENDS_${PN}-python += "python3-core" -FILES_${PN}-python = "${PYTHON_SITEPACKAGES_DIR}/*" - -do_configure_prepend() { - sh autogen.sh -} - -do_compile_prepend() { - # Make sure the recompile is OK - rm -f ${B}/.depend -} - -FILES_whiptail = "${bindir}/whiptail" - -BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-extended/newt/libnewt_0.52.21.bb b/poky/meta/recipes-extended/newt/libnewt_0.52.21.bb new file mode 100644 index 000000000..09b61be61 --- /dev/null +++ b/poky/meta/recipes-extended/newt/libnewt_0.52.21.bb @@ -0,0 +1,58 @@ +SUMMARY = "A library for text mode user interfaces" + +DESCRIPTION = "Newt is a programming library for color text mode, widget based user \ +interfaces. Newt can be used to add stacked windows, entry widgets, \ +checkboxes, radio buttons, labels, plain text fields, scrollbars, \ +etc., to text mode user interfaces. This package also contains the \ +shared library needed by programs built with newt, as well as a \ +/usr/bin/dialog replacement called whiptail. Newt is based on the \ +slang library." + +HOMEPAGE = "https://releases.pagure.org/newt/" +SECTION = "libs" + +LICENSE = "LGPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2" + +# slang needs to be >= 2.2 +DEPENDS = "slang popt python3" + +SRC_URI = "https://releases.pagure.org/newt/newt-${PV}.tar.gz \ + file://cross_ar.patch \ + file://Makefile.in-Add-tinfo-library-to-the-linking-librari.patch \ + file://pie-flags.patch \ + file://0001-detect-gold-as-GNU-linker-too.patch \ +" + +SRC_URI[md5sum] = "a0a5fd6b53bb167a65e15996b249ebb5" +SRC_URI[sha256sum] = "265eb46b55d7eaeb887fca7a1d51fe115658882dfe148164b6c49fccac5abb31" + +S = "${WORKDIR}/newt-${PV}" + +inherit autotools-brokensep python3native python3-dir + +EXTRA_OECONF = "--without-tcl --with-python" + +EXTRA_OEMAKE += "PYTHONVERS=${PYTHON_DIR}" + +CLEANBROKEN = "1" + +export CPPFLAGS + +PACKAGES_prepend = "whiptail ${PN}-python " + +RDEPENDS_${PN}-python += "python3-core" +FILES_${PN}-python = "${PYTHON_SITEPACKAGES_DIR}/*" + +do_configure_prepend() { + sh autogen.sh +} + +do_compile_prepend() { + # Make sure the recompile is OK + rm -f ${B}/.depend +} + +FILES_whiptail = "${bindir}/whiptail" + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-extended/packagegroups/packagegroup-core-base-utils.bb b/poky/meta/recipes-extended/packagegroups/packagegroup-core-base-utils.bb index 611e0cafc..18e227144 100644 --- a/poky/meta/recipes-extended/packagegroups/packagegroup-core-base-utils.bb +++ b/poky/meta/recipes-extended/packagegroups/packagegroup-core-base-utils.bb @@ -5,6 +5,8 @@ SUMMARY = "Full-featured set of base utils" DESCRIPTION = "Package group bringing in packages needed to provide much of the base utils type functionality found in busybox" +PACKAGE_ARCH = "${MACHINE_ARCH}" + inherit packagegroup VIRTUAL-RUNTIME_vim ?= "vim-tiny" diff --git a/poky/meta/recipes-extended/screen/screen/0001-Remove-more-compatibility-stuff.patch b/poky/meta/recipes-extended/screen/screen/0001-Remove-more-compatibility-stuff.patch new file mode 100644 index 000000000..1413724d0 --- /dev/null +++ b/poky/meta/recipes-extended/screen/screen/0001-Remove-more-compatibility-stuff.patch @@ -0,0 +1,31 @@ +This fixes +../screen-4.6.2/pty.c: In function 'OpenPTY': +../screen-4.6.2/pty.c:328:7: warning: implicit declaration of function 'openpty'; did you mean 'openat'? [-Wimplicit-function-declaration] + if (openpty(&f, &s, TtyName, NULL, NULL) != 0) + ^~~~~~~ + +Signed-off-by: Amadeusz Sławiński +Signed-off-by: Adrian Bunk +Upstream-Status: Backport + +--- + pty.c | 6 +----- + 1 file changed, 1 insertion(+), 5 deletions(-) + +diff --git a/pty.c b/pty.c +index 1c0660e..502338f 100644 +--- a/pty.c ++++ b/pty.c +@@ -47,11 +47,7 @@ + # include + #endif + +-#ifdef ISC +-# include +-# include +-# include +-#endif ++#include + + #ifdef sgi + # include diff --git a/poky/meta/recipes-extended/screen/screen_4.6.2.bb b/poky/meta/recipes-extended/screen/screen_4.6.2.bb index 375dce949..24ec75107 100644 --- a/poky/meta/recipes-extended/screen/screen_4.6.2.bb +++ b/poky/meta/recipes-extended/screen/screen_4.6.2.bb @@ -24,6 +24,7 @@ SRC_URI = "${GNU_MIRROR}/screen/screen-${PV}.tar.gz \ file://0002-comm.h-now-depends-on-term.h.patch \ file://0001-fix-for-multijob-build.patch \ file://0001-configure.ac-fix-configure-failed-while-build-dir-ha.patch \ + file://0001-Remove-more-compatibility-stuff.patch \ " SRC_URI[md5sum] = "a0f529d3333b128dfaa324d978ba73a8" diff --git a/poky/meta/recipes-extended/stress-ng/stress-ng/0001-Do-not-preserve-ownership-when-installing-example-jo.patch b/poky/meta/recipes-extended/stress-ng/stress-ng/0001-Do-not-preserve-ownership-when-installing-example-jo.patch new file mode 100644 index 000000000..c860c717a --- /dev/null +++ b/poky/meta/recipes-extended/stress-ng/stress-ng/0001-Do-not-preserve-ownership-when-installing-example-jo.patch @@ -0,0 +1,23 @@ +From bbc85a439672120fa1d36be79e959b28fe840919 Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin +Date: Tue, 30 Jul 2019 18:38:03 +0200 +Subject: [PATCH] Do not preserve ownership when installing example jobs + +Upstream-Status: Pending +Signed-off-by: Alexander Kanavin +--- + Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index f36e57e..20488af 100644 +--- a/Makefile ++++ b/Makefile +@@ -452,6 +452,6 @@ install: stress-ng stress-ng.1.gz + mkdir -p ${DESTDIR}${MANDIR} + cp stress-ng.1.gz ${DESTDIR}${MANDIR} + mkdir -p ${DESTDIR}${JOBDIR} +- cp -rp example-jobs/*.job ${DESTDIR}${JOBDIR} ++ cp -r example-jobs/*.job ${DESTDIR}${JOBDIR} + mkdir -p ${DESTDIR}${BASHDIR} + cp bash-completion/stress-ng ${DESTDIR}${BASHDIR} diff --git a/poky/meta/recipes-extended/stress-ng/stress-ng/0001-bash-completion-remove-the-shebang-at-the-start.patch b/poky/meta/recipes-extended/stress-ng/stress-ng/0001-bash-completion-remove-the-shebang-at-the-start.patch new file mode 100644 index 000000000..66d99dd88 --- /dev/null +++ b/poky/meta/recipes-extended/stress-ng/stress-ng/0001-bash-completion-remove-the-shebang-at-the-start.patch @@ -0,0 +1,23 @@ +From 042147675c7c2ea7dd65b2597f2e350376a710aa Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin +Date: Tue, 6 Aug 2019 17:28:56 +0200 +Subject: [PATCH] bash-completion: remove the shebang at the start + +bash completion files do not need to specify that. + +Upstream-Status: Pending +Signed-off-by: Alexander Kanavin +--- + bash-completion/stress-ng | 2 -- + 1 file changed, 2 deletions(-) + +diff --git a/bash-completion/stress-ng b/bash-completion/stress-ng +index 8b1421c..7f195be 100755 +--- a/bash-completion/stress-ng ++++ b/bash-completion/stress-ng +@@ -1,5 +1,3 @@ +-#!/bin/bash +-# + # stress-ng tab completion for bash. + # + # Copyright (C) 2019 Canonical diff --git a/poky/meta/recipes-extended/stress-ng/stress-ng_0.10.00.bb b/poky/meta/recipes-extended/stress-ng/stress-ng_0.10.00.bb new file mode 100644 index 000000000..e800040c3 --- /dev/null +++ b/poky/meta/recipes-extended/stress-ng/stress-ng_0.10.00.bb @@ -0,0 +1,21 @@ +SUMMARY = "System load testing utility" +DESCRIPTION = "Deliberately simple workload generator for POSIX systems. It \ +imposes a configurable amount of CPU, memory, I/O, and disk stress on the system." +HOMEPAGE = "https://kernel.ubuntu.com/~cking/stress-ng/" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +SRC_URI = "https://kernel.ubuntu.com/~cking/tarballs/${BPN}/${BP}.tar.xz \ + file://0001-Do-not-preserve-ownership-when-installing-example-jo.patch \ + file://0001-bash-completion-remove-the-shebang-at-the-start.patch \ + " +SRC_URI[md5sum] = "46aa41d37690324ceab4febfcc549018" +SRC_URI[sha256sum] = "d09dd2a1aea549e478995bf9be90b38906a4cdf33ea7b245ef9d46aa5213c074" + +DEPENDS = "coreutils-native" + +inherit bash-completion + +do_install() { + oe_runmake DESTDIR=${D} install +} diff --git a/poky/meta/recipes-extended/stress/files/texinfo.patch b/poky/meta/recipes-extended/stress/files/texinfo.patch deleted file mode 100644 index f23a1f69c..000000000 --- a/poky/meta/recipes-extended/stress/files/texinfo.patch +++ /dev/null @@ -1,80 +0,0 @@ -Upstream-Status: Pending ---- a/doc/stress.texi -+++ b/doc/stress.texi -@@ -62,47 +62,47 @@ - - @table @samp - @item -? --@itemx --help -+@item --help - Show help information. - --@itemx --version -+@item --version - Show version information. - - @item -v --@itemx --verbose -+@item --verbose - Turn up verbosity. - - @item -q --@itemx --quiet -+@item --quiet - Turn down verbosity. - - @item -n --@itemx --dry-run -+@item --dry-run - Show what would have been done. - - @item -t @var{secs} --@itemx --timeout @var{secs} -+@item --timeout @var{secs} - Time out after @var{secs} seconds. - --@itemx --backoff @var{usecs} -+@item --backoff @var{usecs} - Wait for factor of @var{usecs} microseconds before starting work. - - @item -c @var{forks} --@itemx --cpu @var{forks} -+@item --cpu @var{forks} - Spawn @var{forks} processes each spinning on @samp{sqrt()}. - - @item -i @var{forks} --@itemx --io @var{forks} -+@item --io @var{forks} - Spawn @var{forks} processes each spinning on @samp{sync()}. - - @item -m @var{forks} --@itemx --vm @var{forks} -+@item --vm @var{forks} - Spawn @var{forks} processes each spinning on @samp{malloc()}. - --@itemx --vm-bytes @var{bytes} -+@item --vm-bytes @var{bytes} - Allocate @var{bytes} number of bytes. The default is 1. - --@itemx --vm-hang -+@item --vm-hang - Instruct each vm hog process to go to sleep after allocating memory. This - contrasts with their normal behavior, which is to free the memory and - reallocate @emph{ad infinitum}. This is useful for simulating low memory -@@ -114,13 +114,13 @@ - @end example - - @item -d @var{forks} --@itemx --hdd @var{forks} -+@item --hdd @var{forks} - Spawn @var{forks} processes each spinning on @samp{write()}. - --@itemx --hdd-bytes @var{bytes} -+@item --hdd-bytes @var{bytes} - Write @var{bytes} number of bytes. The default is 1GB. - --@itemx --hdd-noclean -+@item --hdd-noclean - Do not unlink file(s) to which random ASCII data is written. - - @end table diff --git a/poky/meta/recipes-extended/stress/stress_1.0.4.bb b/poky/meta/recipes-extended/stress/stress_1.0.4.bb deleted file mode 100644 index e9179d3e1..000000000 --- a/poky/meta/recipes-extended/stress/stress_1.0.4.bb +++ /dev/null @@ -1,15 +0,0 @@ -SUMMARY = "System load testing utility" -DESCRIPTION = "Deliberately simple workload generator for POSIX systems. It \ -imposes a configurable amount of CPU, memory, I/O, and disk stress on the system." -HOMEPAGE = "http://people.seas.harvard.edu/~apw/stress/" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" - -SRC_URI = "http://people.seas.harvard.edu/~apw/${BPN}/${BP}.tar.gz \ - file://texinfo.patch \ - " - -SRC_URI[md5sum] = "890a4236dd1656792f3ef9a190cf99ef" -SRC_URI[sha256sum] = "057e4fc2a7706411e1014bf172e4f94b63a12f18412378fca8684ca92408825b" - -inherit autotools diff --git a/poky/meta/recipes-extended/sudo/sudo_1.8.27.bb b/poky/meta/recipes-extended/sudo/sudo_1.8.27.bb index 4a3439302..9d2d6bd42 100644 --- a/poky/meta/recipes-extended/sudo/sudo_1.8.27.bb +++ b/poky/meta/recipes-extended/sudo/sudo_1.8.27.bb @@ -1,6 +1,6 @@ require sudo.inc -SRC_URI = "http://ftp.sudo.ws/sudo/dist/sudo-${PV}.tar.gz \ +SRC_URI = "http://www.sudo.ws/sudo/dist/sudo-${PV}.tar.gz \ ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${PAM_SRC_URI}', '', d)} \ file://0001-Include-sys-types.h-for-id_t-definition.patch \ " @@ -16,7 +16,7 @@ RDEPENDS_${PN} += " ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam-plugin-l EXTRA_OECONF += " \ ac_cv_type_rsize_t=no \ ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '--with-pam', '--without-pam', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '--enable-tmpfiles.d=${libdir}/tmpfiles.d', '--disable-tmpfiles.d', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '--enable-tmpfiles.d=${nonarch_libdir}/tmpfiles.d', '--disable-tmpfiles.d', d)} \ " do_install_append () { @@ -35,6 +35,6 @@ do_install_append () { rmdir -p --ignore-fail-on-non-empty ${D}/run/sudo } -FILES_${PN} += "${libdir}/tmpfiles.d" +FILES_${PN} += "${nonarch_libdir}/tmpfiles.d" FILES_${PN}-dev += "${libexecdir}/${BPN}/lib*${SOLIBSDEV} ${libexecdir}/${BPN}/*.la \ ${libexecdir}/lib*${SOLIBSDEV} ${libexecdir}/*.la" 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 6d232a50e..dd945c970 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 @@ -18,7 +18,7 @@ FILES_libwrap-staticdev = "${libdir}/lib*.a" FILES_${PN} = "${sbindir}" FILES_${PN}-doc = "${mandir}/man8" -SRC_URI = "ftp://ftp.porcupine.org/pub/security/tcp_wrappers_${PV}.tar.gz \ +SRC_URI = "http://ftp.porcupine.org/pub/security/tcp_wrappers_${PV}.tar.gz \ file://00_man_quoting.diff \ file://01_man_portability.patch \ file://05_wildcard_matching.patch \ 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 index 3145cc208..eb1adb505 100644 --- 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 @@ -42,8 +42,7 @@ 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 = "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)} ${GDK_PIXBUF_LOADERS}" PACKAGECONFIG_class-native = "${GDK_PIXBUF_LOADERS}" PACKAGECONFIG[png] = "-Dpng=true,-Dpng=false,libpng" diff --git a/poky/meta/recipes-gnome/libgudev/libgudev_232.bb b/poky/meta/recipes-gnome/libgudev/libgudev_232.bb deleted file mode 100644 index 19fe962e4..000000000 --- a/poky/meta/recipes-gnome/libgudev/libgudev_232.bb +++ /dev/null @@ -1,18 +0,0 @@ -SUMMARY = "GObject wrapper for libudev" -HOMEPAGE = "https://wiki.gnome.org/Projects/libgudev" -SRC_URI[archive.sha256sum] = "ee4cb2b9c573cdf354f6ed744f01b111d4b5bed3503ffa956cefff50489c7860" -SRC_URI[archive.md5sum] = "6914852377156665567abf8a38d89236" - -DEPENDS = "glib-2.0 udev" - -EXTRA_OECONF = "--disable-umockdev" - -RCONFLICTS_${PN} = "systemd (<= 220)" - -LICENSE = "LGPLv2.1" -LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" - -inherit gnomebase gobject-introspection gtk-doc - -UPSTREAM_CHECK_URI = "http://ftp.gnome.org/pub/GNOME/sources/libgudev/" -UPSTREAM_CHECK_REGEX = "(?P(\d+))" diff --git a/poky/meta/recipes-gnome/libgudev/libgudev_233.bb b/poky/meta/recipes-gnome/libgudev/libgudev_233.bb new file mode 100644 index 000000000..a9f6bdd65 --- /dev/null +++ b/poky/meta/recipes-gnome/libgudev/libgudev_233.bb @@ -0,0 +1,18 @@ +SUMMARY = "GObject wrapper for libudev" +HOMEPAGE = "https://wiki.gnome.org/Projects/libgudev" +SRC_URI[archive.sha256sum] = "587c4970eb23f4e2deee2cb1fb7838c94a78c578f41ce12cac0a3f4a80dabb03" +SRC_URI[archive.md5sum] = "d59a317a40aaa02a2226056c0bb4d3e1" + +DEPENDS = "glib-2.0 udev" + +EXTRA_OECONF = "--disable-umockdev" + +RCONFLICTS_${PN} = "systemd (<= 220)" + +LICENSE = "LGPLv2.1" +LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" + +inherit gnomebase gobject-introspection gtk-doc + +UPSTREAM_CHECK_URI = "http://ftp.gnome.org/pub/GNOME/sources/libgudev/" +UPSTREAM_CHECK_REGEX = "(?P(\d+))" diff --git a/poky/meta/recipes-graphics/drm/libdrm_2.4.99.bb b/poky/meta/recipes-graphics/drm/libdrm_2.4.99.bb index 3cb30a417..fa3eb08f4 100644 --- a/poky/meta/recipes-graphics/drm/libdrm_2.4.99.bb +++ b/poky/meta/recipes-graphics/drm/libdrm_2.4.99.bb @@ -54,7 +54,7 @@ FILES_${PN}-intel = "${libdir}/libdrm_intel.so.*" FILES_${PN}-exynos = "${libdir}/libdrm_exynos.so.*" FILES_${PN}-kms = "${libdir}/libkms*.so.*" FILES_${PN}-freedreno = "${libdir}/libdrm_freedreno.so.*" -FILES_${PN}-amdgpu = "${libdir}/libdrm_amdgpu.so.*" +FILES_${PN}-amdgpu = "${libdir}/libdrm_amdgpu.so.* ${datadir}/${PN}/amdgpu.ids" FILES_${PN}-etnaviv = "${libdir}/libdrm_etnaviv.so.*" BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-graphics/harfbuzz/harfbuzz_2.4.0.bb b/poky/meta/recipes-graphics/harfbuzz/harfbuzz_2.4.0.bb deleted file mode 100644 index 4691d16df..000000000 --- a/poky/meta/recipes-graphics/harfbuzz/harfbuzz_2.4.0.bb +++ /dev/null @@ -1,40 +0,0 @@ -SUMMARY = "Text shaping library" -DESCRIPTION = "HarfBuzz is an OpenType text shaping engine." -HOMEPAGE = "http://www.freedesktop.org/wiki/Software/HarfBuzz" -BUGTRACKER = "https://bugs.freedesktop.org/enter_bug.cgi?product=HarfBuzz" -SECTION = "libs" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://COPYING;md5=e021dd6dda6ff1e6b1044002fc662b9b \ - file://src/hb-ucdn/COPYING;md5=994ba0f1295f15b4bda4999a5bbeddef \ -" - -DEPENDS = "glib-2.0 cairo fontconfig freetype" - -SRC_URI = "http://www.freedesktop.org/software/harfbuzz/release/${BP}.tar.bz2" -SRC_URI[md5sum] = "49f111f9b52ae3d9b31c1a3631a320bd" -SRC_URI[sha256sum] = "b470eff9dd5b596edf078596b46a1f83c179449f051a469430afc15869db336f" - -inherit autotools pkgconfig lib_package gtk-doc - -PACKAGECONFIG ??= "icu" -PACKAGECONFIG[icu] = "--with-icu,--without-icu,icu" - -EXTRA_OECONF = " \ - --with-cairo \ - --with-fontconfig \ - --with-freetype \ - --with-glib \ - --without-graphite2 \ -" - -PACKAGES =+ "${PN}-icu ${PN}-icu-dev" - -LEAD_SONAME = "libharfbuzz.so" - -FILES_${PN}-icu = "${libdir}/libharfbuzz-icu.so.*" -FILES_${PN}-icu-dev = "${libdir}/libharfbuzz-icu.la \ - ${libdir}/libharfbuzz-icu.so \ - ${libdir}/pkgconfig/harfbuzz-icu.pc \ -" - -BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-graphics/harfbuzz/harfbuzz_2.5.3.bb b/poky/meta/recipes-graphics/harfbuzz/harfbuzz_2.5.3.bb new file mode 100644 index 000000000..a90ff5225 --- /dev/null +++ b/poky/meta/recipes-graphics/harfbuzz/harfbuzz_2.5.3.bb @@ -0,0 +1,39 @@ +SUMMARY = "Text shaping library" +DESCRIPTION = "HarfBuzz is an OpenType text shaping engine." +HOMEPAGE = "http://www.freedesktop.org/wiki/Software/HarfBuzz" +BUGTRACKER = "https://bugs.freedesktop.org/enter_bug.cgi?product=HarfBuzz" +SECTION = "libs" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=e11f5c3149cdec4bb309babb020b32b9 \ + file://src/hb-ucd.cc;md5=343f1797944de49ab2b5f5cf3126d3f2" + +DEPENDS = "glib-2.0 cairo fontconfig freetype" + +SRC_URI = "http://www.freedesktop.org/software/harfbuzz/release/${BP}.tar.xz" +SRC_URI[md5sum] = "29a310e74a90b4e4f6d62f3e74a571e5" +SRC_URI[sha256sum] = "fed00dc797b7ba3ca943225f0a854baaed4c1640fff8a31d455cd3b5caec855c" + +inherit autotools pkgconfig lib_package gtk-doc + +PACKAGECONFIG ??= "icu" +PACKAGECONFIG[icu] = "--with-icu,--without-icu,icu" + +EXTRA_OECONF = " \ + --with-cairo \ + --with-fontconfig \ + --with-freetype \ + --with-glib \ + --without-graphite2 \ +" + +PACKAGES =+ "${PN}-icu ${PN}-icu-dev" + +LEAD_SONAME = "libharfbuzz.so" + +FILES_${PN}-icu = "${libdir}/libharfbuzz-icu.so.*" +FILES_${PN}-icu-dev = "${libdir}/libharfbuzz-icu.la \ + ${libdir}/libharfbuzz-icu.so \ + ${libdir}/pkgconfig/harfbuzz-icu.pc \ +" + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-graphics/kmscube/kmscube/detect-gst_bo_map-_unmap-and-use-it-or-avoid-it.patch b/poky/meta/recipes-graphics/kmscube/kmscube/detect-gst_bo_map-_unmap-and-use-it-or-avoid-it.patch index 611e54159..a7a08f14e 100644 --- a/poky/meta/recipes-graphics/kmscube/kmscube/detect-gst_bo_map-_unmap-and-use-it-or-avoid-it.patch +++ b/poky/meta/recipes-graphics/kmscube/kmscube/detect-gst_bo_map-_unmap-and-use-it-or-avoid-it.patch @@ -1,7 +1,7 @@ -From 761bf993ca55095f46380c0238583791c1797295 Mon Sep 17 00:00:00 2001 +From a91c588b5a4122506e7fe949c37d530621bdd997 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20D=C3=ADaz?= Date: Tue, 11 Jul 2017 14:50:37 -0500 -Subject: [PATCH kmscube] Detect gst_bo_map/_unmap and use it (or avoid it) +Subject: [PATCH] Detect gst_bo_map/_unmap and use it (or avoid it) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -18,6 +18,7 @@ Cc: Rob Clark Reviewed-by: Eric Engestrom Upstream-Status: Submitted [https://lists.freedesktop.org/archives/mesa-dev/2017-July/163020.html] +Signed-off-by: Zoltan Kuscsik --- Makefile.am | 5 ++++- configure.ac | 3 +++ @@ -26,7 +27,7 @@ Upstream-Status: Submitted [https://lists.freedesktop.org/archives/mesa-dev/2017 4 files changed, 17 insertions(+), 2 deletions(-) diff --git a/Makefile.am b/Makefile.am -index a36087d..ab4adbf 100644 +index ba064e4..3a0a50b 100644 --- a/Makefile.am +++ b/Makefile.am @@ -43,7 +43,6 @@ kmscube_SOURCES = \ @@ -37,16 +38,16 @@ index a36087d..ab4adbf 100644 drm-atomic.c \ drm-common.c \ drm-common.h \ -@@ -59,3 +58,7 @@ kmscube_LDADD += $(GST_LIBS) - kmscube_CFLAGS += $(GST_CFLAGS) - kmscube_SOURCES += cube-video.c gst-decoder.c - endif +@@ -68,3 +67,7 @@ texturator_SOURCES = \ + drm-common.c \ + drm-legacy.c \ + texturator.c + +if ENABLE_GBM_MAP +kmscube_SOURCES += cube-tex.c +endif diff --git a/configure.ac b/configure.ac -index 8397f7b..c7f1f4d 100644 +index 6be6541..3d20121 100644 --- a/configure.ac +++ b/configure.ac @@ -49,5 +49,8 @@ if test "x$HAVE_GST" = "xyes"; then @@ -59,7 +60,7 @@ index 8397f7b..c7f1f4d 100644 AC_CONFIG_FILES([Makefile]) AC_OUTPUT diff --git a/gst-decoder.c b/gst-decoder.c -index 2d6d581..b84980e 100644 +index 5431014..0aa7a55 100644 --- a/gst-decoder.c +++ b/gst-decoder.c @@ -332,6 +332,7 @@ set_last_frame(struct decoder *dec, EGLImage frame, GstSample *samp) @@ -96,10 +97,10 @@ index 2d6d581..b84980e 100644 if (dmabuf_fd < 0) { GST_ERROR("could not obtain DMABUF FD"); diff --git a/kmscube.c b/kmscube.c -index 3a2c4dd..276dc55 100644 +index 81803be..e93da67 100644 --- a/kmscube.c +++ b/kmscube.c -@@ -148,7 +148,11 @@ int main(int argc, char *argv[]) +@@ -166,7 +166,11 @@ int main(int argc, char *argv[]) else if (mode == VIDEO) egl = init_cube_video(gbm, video, samples); else @@ -112,5 +113,5 @@ index 3a2c4dd..276dc55 100644 if (!egl) { printf("failed to initialize EGL\n"); -- -2.7.4 +2.22.0 diff --git a/poky/meta/recipes-graphics/kmscube/kmscube_git.bb b/poky/meta/recipes-graphics/kmscube/kmscube_git.bb index 513148f9e..fd90d2017 100644 --- a/poky/meta/recipes-graphics/kmscube/kmscube_git.bb +++ b/poky/meta/recipes-graphics/kmscube/kmscube_git.bb @@ -6,8 +6,8 @@ DEPENDS = "virtual/libgles2 virtual/egl libdrm" LIC_FILES_CHKSUM = "file://kmscube.c;beginline=1;endline=23;md5=8b309d4ee67b7315ff7381270dd631fb" -SRCREV = "485b385e966a63cecc143765d112d267b299ffe5" -SRC_URI = "git://anongit.freedesktop.org/mesa/kmscube;branch=master;protocol=git \ +SRCREV = "e888ea1d233b2639b87a68e099d18d4e919905df" +SRC_URI = "git://gitlab.freedesktop.org/mesa/kmscube;branch=master;protocol=https \ file://detect-gst_bo_map-_unmap-and-use-it-or-avoid-it.patch" UPSTREAM_CHECK_COMMITS = "1" diff --git a/poky/meta/recipes-graphics/libsdl/libsdl-1.2.15/0001-build-Pass-tag-CC-explictly-when-using-libtool.patch b/poky/meta/recipes-graphics/libsdl/libsdl-1.2.15/0001-build-Pass-tag-CC-explictly-when-using-libtool.patch deleted file mode 100644 index ec8c0fd4f..000000000 --- a/poky/meta/recipes-graphics/libsdl/libsdl-1.2.15/0001-build-Pass-tag-CC-explictly-when-using-libtool.patch +++ /dev/null @@ -1,73 +0,0 @@ -From 44e4bb4cfb81024c8f5fd2e179e8a32c42756a2f Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Sun, 23 Jul 2017 16:52:43 -0700 -Subject: [PATCH] build: Pass --tag=CC explictly when using libtool - -Do not depend solely on libtool heuristics which fail -in OE case when building with external compiler and -hardening flags - -Upstream-Status: Pending - -Signed-off-by: Khem Raj ---- - Makefile.in | 4 ++-- - build-scripts/makedep.sh | 8 ++++---- - 2 files changed, 6 insertions(+), 6 deletions(-) - -diff --git a/Makefile.in b/Makefile.in -index ab51035..743ce30 100644 ---- a/Makefile.in -+++ b/Makefile.in -@@ -72,10 +72,10 @@ depend: - include $(depend) - - $(objects)/$(TARGET): $(OBJECTS) -- $(LIBTOOL) --mode=link $(CC) -o $@ $^ $(LDFLAGS) $(EXTRA_LDFLAGS) $(LT_LDFLAGS) -+ $(LIBTOOL) --tag=CC --mode=link $(CC) -o $@ $^ $(LDFLAGS) $(EXTRA_LDFLAGS) $(LT_LDFLAGS) - - $(objects)/$(SDLMAIN_TARGET): $(SDLMAIN_OBJECTS) -- $(LIBTOOL) --mode=link $(CC) -o $@ $^ $(LDFLAGS) $(EXTRA_LDFLAGS) $(LT_LDFLAGS) $(SDLMAIN_LDFLAGS) -+ $(LIBTOOL) --tag=CC --mode=link $(CC) -o $@ $^ $(LDFLAGS) $(EXTRA_LDFLAGS) $(LT_LDFLAGS) $(SDLMAIN_LDFLAGS) - - - install: all install-bin install-hdrs install-lib install-data install-man -diff --git a/build-scripts/makedep.sh b/build-scripts/makedep.sh -index 3b3863b..dba28f2 100755 ---- a/build-scripts/makedep.sh -+++ b/build-scripts/makedep.sh -@@ -51,19 +51,19 @@ do echo "Generating dependencies for $src" - case $ext in - c) cat >>${output}.new <<__EOF__ - -- \$(LIBTOOL) --mode=compile \$(CC) \$(CFLAGS) \$(EXTRA_CFLAGS) -c $src -o \$@ -+ \$(LIBTOOL) --tag=CC --mode=compile \$(CC) \$(CFLAGS) \$(EXTRA_CFLAGS) -c $src -o \$@ - - __EOF__ - ;; - cc) cat >>${output}.new <<__EOF__ - -- \$(LIBTOOL) --mode=compile \$(CC) \$(CFLAGS) \$(EXTRA_CFLAGS) -c $src -o \$@ -+ \$(LIBTOOL) --tag=CC --mode=compile \$(CC) \$(CFLAGS) \$(EXTRA_CFLAGS) -c $src -o \$@ - - __EOF__ - ;; - m) cat >>${output}.new <<__EOF__ - -- \$(LIBTOOL) --mode=compile \$(CC) \$(CFLAGS) \$(EXTRA_CFLAGS) -c $src -o \$@ -+ \$(LIBTOOL) --tag=CC --mode=compile \$(CC) \$(CFLAGS) \$(EXTRA_CFLAGS) -c $src -o \$@ - - __EOF__ - ;; -@@ -75,7 +75,7 @@ __EOF__ - ;; - S) cat >>${output}.new <<__EOF__ - -- \$(LIBTOOL) --mode=compile \$(CC) \$(CFLAGS) \$(EXTRA_CFLAGS) -c $src -o \$@ -+ \$(LIBTOOL) --tag=CC --mode=compile \$(CC) \$(CFLAGS) \$(EXTRA_CFLAGS) -c $src -o \$@ - - __EOF__ - ;; --- -2.13.3 - diff --git a/poky/meta/recipes-graphics/libsdl/libsdl-1.2.15/libsdl-1.2.15-xdata32.patch b/poky/meta/recipes-graphics/libsdl/libsdl-1.2.15/libsdl-1.2.15-xdata32.patch deleted file mode 100644 index f98b92752..000000000 --- a/poky/meta/recipes-graphics/libsdl/libsdl-1.2.15/libsdl-1.2.15-xdata32.patch +++ /dev/null @@ -1,19 +0,0 @@ -libX11-1.5.99.901 has changed prototype of _XData32 - -Upstream-Status: Backport - - -Signed-off-by: Saul Wold - -diff -r b6b2829cd7ef src/video/x11/SDL_x11sym.h ---- a/src/video/x11/SDL_x11sym.h Wed Feb 27 15:20:31 2013 -0800 -+++ b/src/video/x11/SDL_x11sym.h Wed Mar 27 16:07:23 2013 +0100 -@@ -165,7 +165,7 @@ - */ - #ifdef LONG64 - SDL_X11_MODULE(IO_32BIT) --SDL_X11_SYM(int,_XData32,(Display *dpy,register long *data,unsigned len),(dpy,data,len),return) -+SDL_X11_SYM(int,_XData32,(Display *dpy,register _Xconst long *data,unsigned len),(dpy,data,len),return) - SDL_X11_SYM(void,_XRead32,(Display *dpy,register long *data,long len),(dpy,data,len),) - #endif - diff --git a/poky/meta/recipes-graphics/libsdl/libsdl-1.2.15/pkgconfig.patch b/poky/meta/recipes-graphics/libsdl/libsdl-1.2.15/pkgconfig.patch deleted file mode 100644 index 913baa92a..000000000 --- a/poky/meta/recipes-graphics/libsdl/libsdl-1.2.15/pkgconfig.patch +++ /dev/null @@ -1,187 +0,0 @@ -Rather than code which doesn't even work properly when cross compiling, -lets just use pkg-config instead. Its a little simpler. - -RP 2014/6/20 - -Upstream-Status: Pending - -Index: SDL-1.2.15/sdl.m4 -=================================================================== ---- SDL-1.2.15.orig/sdl.m4 -+++ SDL-1.2.15/sdl.m4 -@@ -12,174 +12,8 @@ dnl Test for SDL, and define SDL_CFLAGS - dnl - AC_DEFUN([AM_PATH_SDL], - [dnl --dnl Get the cflags and libraries from the sdl-config script --dnl --AC_ARG_WITH(sdl-prefix,[ --with-sdl-prefix=PFX Prefix where SDL is installed (optional)], -- sdl_prefix="$withval", sdl_prefix="") --AC_ARG_WITH(sdl-exec-prefix,[ --with-sdl-exec-prefix=PFX Exec prefix where SDL is installed (optional)], -- sdl_exec_prefix="$withval", sdl_exec_prefix="") --AC_ARG_ENABLE(sdltest, [ --disable-sdltest Do not try to compile and run a test SDL program], -- , enable_sdltest=yes) -- -- if test x$sdl_exec_prefix != x ; then -- sdl_config_args="$sdl_config_args --exec-prefix=$sdl_exec_prefix" -- if test x${SDL_CONFIG+set} != xset ; then -- SDL_CONFIG=$sdl_exec_prefix/bin/sdl-config -- fi -- fi -- if test x$sdl_prefix != x ; then -- sdl_config_args="$sdl_config_args --prefix=$sdl_prefix" -- if test x${SDL_CONFIG+set} != xset ; then -- SDL_CONFIG=$sdl_prefix/bin/sdl-config -- fi -- fi -- -- as_save_PATH="$PATH" -- if test "x$prefix" != xNONE; then -- PATH="$prefix/bin:$prefix/usr/bin:$PATH" -- fi -- AC_PATH_PROG(SDL_CONFIG, sdl-config, no, [$PATH]) -- PATH="$as_save_PATH" - min_sdl_version=ifelse([$1], ,0.11.0,$1) -- AC_MSG_CHECKING(for SDL - version >= $min_sdl_version) -- no_sdl="" -- if test "$SDL_CONFIG" = "no" ; then -- no_sdl=yes -- else -- SDL_CFLAGS=`$SDL_CONFIG $sdl_config_args --cflags` -- SDL_LIBS=`$SDL_CONFIG $sdl_config_args --libs` -- -- sdl_major_version=`$SDL_CONFIG $sdl_config_args --version | \ -- sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'` -- sdl_minor_version=`$SDL_CONFIG $sdl_config_args --version | \ -- sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'` -- sdl_micro_version=`$SDL_CONFIG $sdl_config_args --version | \ -- sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'` -- if test "x$enable_sdltest" = "xyes" ; then -- ac_save_CFLAGS="$CFLAGS" -- ac_save_CXXFLAGS="$CXXFLAGS" -- ac_save_LIBS="$LIBS" -- CFLAGS="$CFLAGS $SDL_CFLAGS" -- CXXFLAGS="$CXXFLAGS $SDL_CFLAGS" -- LIBS="$LIBS $SDL_LIBS" --dnl --dnl Now check if the installed SDL is sufficiently new. (Also sanity --dnl checks the results of sdl-config to some extent --dnl -- rm -f conf.sdltest -- AC_TRY_RUN([ --#include --#include --#include --#include "SDL.h" -- --char* --my_strdup (char *str) --{ -- char *new_str; -- -- if (str) -- { -- new_str = (char *)malloc ((strlen (str) + 1) * sizeof(char)); -- strcpy (new_str, str); -- } -- else -- new_str = NULL; -- -- return new_str; --} -- --int main (int argc, char *argv[]) --{ -- int major, minor, micro; -- char *tmp_version; -- -- /* This hangs on some systems (?) -- system ("touch conf.sdltest"); -- */ -- { FILE *fp = fopen("conf.sdltest", "a"); if ( fp ) fclose(fp); } -- -- /* HP/UX 9 (%@#!) writes to sscanf strings */ -- tmp_version = my_strdup("$min_sdl_version"); -- if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, µ) != 3) { -- printf("%s, bad version string\n", "$min_sdl_version"); -- exit(1); -- } -- -- if (($sdl_major_version > major) || -- (($sdl_major_version == major) && ($sdl_minor_version > minor)) || -- (($sdl_major_version == major) && ($sdl_minor_version == minor) && ($sdl_micro_version >= micro))) -- { -- return 0; -- } -- else -- { -- printf("\n*** 'sdl-config --version' returned %d.%d.%d, but the minimum version\n", $sdl_major_version, $sdl_minor_version, $sdl_micro_version); -- printf("*** of SDL required is %d.%d.%d. If sdl-config is correct, then it is\n", major, minor, micro); -- printf("*** best to upgrade to the required version.\n"); -- printf("*** If sdl-config was wrong, set the environment variable SDL_CONFIG\n"); -- printf("*** to point to the correct copy of sdl-config, and remove the file\n"); -- printf("*** config.cache before re-running configure\n"); -- return 1; -- } --} -- --],, no_sdl=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"]) -- CFLAGS="$ac_save_CFLAGS" -- CXXFLAGS="$ac_save_CXXFLAGS" -- LIBS="$ac_save_LIBS" -- fi -- fi -- if test "x$no_sdl" = x ; then -- AC_MSG_RESULT(yes) -- ifelse([$2], , :, [$2]) -- else -- AC_MSG_RESULT(no) -- if test "$SDL_CONFIG" = "no" ; then -- echo "*** The sdl-config script installed by SDL could not be found" -- echo "*** If SDL was installed in PREFIX, make sure PREFIX/bin is in" -- echo "*** your path, or set the SDL_CONFIG environment variable to the" -- echo "*** full path to sdl-config." -- else -- if test -f conf.sdltest ; then -- : -- else -- echo "*** Could not run SDL test program, checking why..." -- CFLAGS="$CFLAGS $SDL_CFLAGS" -- CXXFLAGS="$CXXFLAGS $SDL_CFLAGS" -- LIBS="$LIBS $SDL_LIBS" -- AC_TRY_LINK([ --#include --#include "SDL.h" -- --int main(int argc, char *argv[]) --{ return 0; } --#undef main --#define main K_and_R_C_main --], [ return 0; ], -- [ echo "*** The test program compiled, but did not run. This usually means" -- echo "*** that the run-time linker is not finding SDL or finding the wrong" -- echo "*** version of SDL. If it is not finding SDL, you'll need to set your" -- echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point" -- echo "*** to the installed location Also, make sure you have run ldconfig if that" -- echo "*** is required on your system" -- echo "***" -- echo "*** If you have an old version installed, it is best to remove it, although" -- echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH"], -- [ echo "*** The test program failed to compile or link. See the file config.log for the" -- echo "*** exact error that occured. This usually means SDL was incorrectly installed" -- echo "*** or that you have moved SDL since it was installed. In the latter case, you" -- echo "*** may want to edit the sdl-config script: $SDL_CONFIG" ]) -- CFLAGS="$ac_save_CFLAGS" -- CXXFLAGS="$ac_save_CXXFLAGS" -- LIBS="$ac_save_LIBS" -- fi -- fi -- SDL_CFLAGS="" -- SDL_LIBS="" -- ifelse([$3], , :, [$3]) -- fi -+ PKG_CHECK_MODULES([SDL], [sdl >= $min_sdl_version]) - AC_SUBST(SDL_CFLAGS) - AC_SUBST(SDL_LIBS) -- rm -f conf.sdltest - ]) diff --git a/poky/meta/recipes-graphics/libsdl/libsdl_1.2.15.bb b/poky/meta/recipes-graphics/libsdl/libsdl_1.2.15.bb deleted file mode 100644 index 7718d1191..000000000 --- a/poky/meta/recipes-graphics/libsdl/libsdl_1.2.15.bb +++ /dev/null @@ -1,74 +0,0 @@ -SUMMARY = "Simple DirectMedia Layer" -DESCRIPTION = "Simple DirectMedia Layer is a cross-platform multimedia \ -library designed to provide low level access to audio, keyboard, mouse, \ -joystick, 3D hardware via OpenGL, and 2D video framebuffer." -HOMEPAGE = "http://www.libsdl.org" -BUGTRACKER = "http://bugzilla.libsdl.org/" - -SECTION = "libs" - -LICENSE = "LGPLv2.1" -LIC_FILES_CHKSUM = "file://COPYING;md5=27818cd7fd83877a8e3ef82b82798ef4" - -PROVIDES = "virtual/libsdl" - -PR = "r3" - -SRC_URI = "http://www.libsdl.org/release/SDL-${PV}.tar.gz \ - file://libsdl-1.2.15-xdata32.patch \ - file://pkgconfig.patch \ - file://0001-build-Pass-tag-CC-explictly-when-using-libtool.patch \ - " - -UPSTREAM_CHECK_REGEX = "SDL-(?P\d+(\.\d+)+)\.tar" - -S = "${WORKDIR}/SDL-${PV}" - -SRC_URI[md5sum] = "9d96df8417572a2afb781a7c4c811a85" -SRC_URI[sha256sum] = "d6d316a793e5e348155f0dd93b979798933fb98aa1edebcc108829d6474aad00" - -BINCONFIG = "${bindir}/sdl-config" - -inherit autotools lib_package binconfig-disabled pkgconfig - -CVE_PRODUCT = "simple_directmedia_layer sdl" - -EXTRA_OECONF = "--disable-static --enable-cdrom --enable-threads --enable-timers \ - --enable-file --disable-oss --disable-esd --disable-arts \ - --disable-diskaudio --disable-nas \ - --disable-mintaudio --disable-nasm --disable-video-dga \ - --disable-video-fbcon --disable-video-ps2gs --disable-video-ps3 \ - --disable-xbios --disable-gem --disable-video-dummy \ - --enable-input-events --enable-pthreads \ - --disable-video-svga \ - --disable-video-picogui --disable-video-qtopia --enable-sdl-dlopen \ - --disable-rpath" - -PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'alsa directfb pulseaudio x11', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'opengl', '', d)}" -PACKAGECONFIG_class-native = "x11" -PACKAGECONFIG_class-nativesdk = "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}" - -PACKAGECONFIG[alsa] = "--enable-alsa --disable-alsatest,--disable-alsa,alsa-lib" -PACKAGECONFIG[pulseaudio] = "--enable-pulseaudio,--disable-pulseaudio,pulseaudio" -PACKAGECONFIG[tslib] = "--enable-input-tslib, --disable-input-tslib, tslib" -PACKAGECONFIG[directfb] = "--enable-video-directfb, --disable-video-directfb, directfb" -PACKAGECONFIG[opengl] = "--enable-video-opengl, --disable-video-opengl, virtual/libgl libglu" -PACKAGECONFIG[x11] = "--enable-video-x11 --disable-x11-shared, --disable-video-x11, virtual/libx11 libxext libxrandr libxrender" - -# The following two options should only enabled with mingw support -PACKAGECONFIG[stdio-redirect] = "--enable-stdio-redirect,--disable-stdio-redirect" -PACKAGECONFIG[directx] = "--enable-directx,--disable-directx" - -EXTRA_AUTORECONF += "--include=acinclude --exclude=autoheader" - -do_configure_prepend() { - # Remove old libtool macros. - MACROS="libtool.m4 lt~obsolete.m4 ltoptions.m4 ltsugar.m4 ltversion.m4" - for i in ${MACROS}; do - rm -f ${S}/acinclude/$i - done - export SYSROOT=$PKG_CONFIG_SYSROOT_DIR -} - -BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-graphics/libsdl2/libsdl2/more-gen-depends.patch b/poky/meta/recipes-graphics/libsdl2/libsdl2/more-gen-depends.patch index 29076bf6c..8ca52ebde 100644 --- a/poky/meta/recipes-graphics/libsdl2/libsdl2/more-gen-depends.patch +++ b/poky/meta/recipes-graphics/libsdl2/libsdl2/more-gen-depends.patch @@ -1,3 +1,8 @@ +From e0f4b6d18ce6f025c78773e909b9c395ad833c7a Mon Sep 17 00:00:00 2001 +From: Ross Burton +Date: Mon, 29 Jul 2019 08:38:32 +0800 +Subject: [PATCH] configure: fix dependencies + Many source files include e.g. wayland-protocols.h which should be found in the sysroot but SDL wants to build its own headers from the XML definitions. @@ -14,34 +19,42 @@ the primary objects. Upstream-Status: Pending Signed-off-by: Ross Burton +[Moved to configure.ac] +Signed-off-by: Anuj Mittal +--- + configure.ac | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) -diff --git a/configure.in b/data/poky-tmp/master/work/corei7-64-poky-linux/libsdl2/2.0.8-r0/SDL2-2.0.8/configure.in -index 1c7e79338..ba07a4a4e 100644 ---- a/configure.in -+++ b/data/poky-tmp/master/work/corei7-64-poky-linux/libsdl2/2.0.8-r0/SDL2-2.0.8/configure.in -@@ -4011,7 +4011,7 @@ DEPENDS=`echo $SOURCES | tr ' ' '\n'` +diff --git a/configure.ac b/configure.ac +index 9e782c6..997915a 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -4061,7 +4061,7 @@ DEPENDS=`echo $SOURCES | tr ' ' '\n'` for EXT in asm cc m c S; do OBJECTS=`echo "$OBJECTS" | sed 's,[[^ ]]*/\([[^ ]]*\)\.'$EXT',$(objects)/\1.lo,g'` DEPENDS=`echo "$DEPENDS" | sed "s,^\\([[^ ]]*\\)/\\([[^ ]]*\\)\\.$EXT\\$,\\\\ --\\$(objects)/\\2.lo: \\1/\\2.$EXT\\\\ -+\\$(objects)/\\2.lo: \\1/\\2.$EXT \\$(GEN_OBJECTS)\\\\ +-\\$(objects)/\\2.lo: \\1/\\2.$EXT \\$(objects)/.created\\\\ ++\\$(objects)/\\2.lo: \\1/\\2.$EXT \\$(objects)/.created \\$(GEN_OBJECTS)\\\\ \\$(RUN_CMD_CC)\\$(LIBTOOL) --tag=CC --mode=compile \\$(CC) \\$(CFLAGS) \\$(EXTRA_CFLAGS) $DEPENDENCY_TRACKING_OPTIONS -c \\$< -o \\$@,g"` done -@@ -4028,14 +4028,14 @@ SDLMAIN_OBJECTS=`echo $SDLMAIN_SOURCES` +@@ -4078,14 +4078,14 @@ SDLMAIN_OBJECTS=`echo $SDLMAIN_SOURCES` SDLMAIN_DEPENDS=`echo $SDLMAIN_SOURCES` SDLMAIN_OBJECTS=`echo "$SDLMAIN_OBJECTS" | sed 's,[[^ ]]*/\([[^ ]]*\)\.c,$(objects)/\1.lo,g'` SDLMAIN_DEPENDS=`echo "$SDLMAIN_DEPENDS" | sed "s,\\([[^ ]]*\\)/\\([[^ ]]*\\)\\.c,\\\\ --\\$(objects)/\\2.lo: \\1/\\2.c\\\\ -+\\$(objects)/\\2.lo: \\1/\\2.c \\$(GEN_OBJECTS)\\\\ +-\\$(objects)/\\2.lo: \\1/\\2.c \\$(objects)/.created\\\\ ++\\$(objects)/\\2.lo: \\1/\\2.c \\$(objects)/.created \\$(GEN_OBJECTS)\\\\ \\$(RUN_CMD_CC)\\$(LIBTOOL) --tag=CC --mode=compile \\$(CC) \\$(CFLAGS) \\$(EXTRA_CFLAGS) $DEPENDENCY_TRACKING_OPTIONS -c \\$< -o \\$@,g"` SDLTEST_OBJECTS=`echo $SDLTEST_SOURCES` SDLTEST_DEPENDS=`echo $SDLTEST_SOURCES` SDLTEST_OBJECTS=`echo "$SDLTEST_OBJECTS" | sed 's,[[^ ]]*/\([[^ ]]*\)\.c,$(objects)/\1.lo,g'` SDLTEST_DEPENDS=`echo "$SDLTEST_DEPENDS" | sed "s,\\([[^ ]]*\\)/\\([[^ ]]*\\)\\.c,\\\\ --\\$(objects)/\\2.lo: \\1/\\2.c\\\\ -+\\$(objects)/\\2.lo: \\1/\\2.c\\\\ \\$(GEN_OBJECTS)\\\\ +-\\$(objects)/\\2.lo: \\1/\\2.c \\$(objects)/.created\\\\ ++\\$(objects)/\\2.lo: \\1/\\2.c \\$(objects)/.created \\$(GEN_OBJECTS)\\\\ \\$(RUN_CMD_CC)\\$(LIBTOOL) --tag=CC --mode=compile \\$(CC) \\$(CFLAGS) \\$(EXTRA_CFLAGS) $DEPENDENCY_TRACKING_OPTIONS -c \\$< -o \\$@,g"` # Set runtime shared library paths as needed +-- +2.7.4 + diff --git a/poky/meta/recipes-graphics/libsdl2/libsdl2_2.0.10.bb b/poky/meta/recipes-graphics/libsdl2/libsdl2_2.0.10.bb new file mode 100644 index 000000000..3a0654b86 --- /dev/null +++ b/poky/meta/recipes-graphics/libsdl2/libsdl2_2.0.10.bb @@ -0,0 +1,74 @@ +SUMMARY = "Simple DirectMedia Layer" +DESCRIPTION = "Simple DirectMedia Layer is a cross-platform multimedia \ +library designed to provide low level access to audio, keyboard, mouse, \ +joystick, 3D hardware via OpenGL, and 2D video framebuffer." +HOMEPAGE = "http://www.libsdl.org" +BUGTRACKER = "http://bugzilla.libsdl.org/" + +SECTION = "libs" + +LICENSE = "Zlib" +LIC_FILES_CHKSUM = "file://COPYING.txt;md5=504a9454ceb89fd75a2583473b11409e" + +PROVIDES = "virtual/libsdl2" + +SRC_URI = "http://www.libsdl.org/release/SDL2-${PV}.tar.gz \ + file://more-gen-depends.patch \ +" + +S = "${WORKDIR}/SDL2-${PV}" + +SRC_URI[md5sum] = "5a2114f2a6f348bdab5bf52b994811db" +SRC_URI[sha256sum] = "b4656c13a1f0d0023ae2f4a9cf08ec92fffb464e0f24238337784159b8b91d57" + +inherit autotools lib_package binconfig-disabled pkgconfig + +BINCONFIG = "${bindir}/sdl2-config" + +CVE_PRODUCT = "simple_directmedia_layer sdl" + +EXTRA_OECONF = "--disable-oss --disable-esd --disable-arts \ + --disable-diskaudio --disable-nas --disable-esd-shared --disable-esdtest \ + --disable-video-dummy \ + --enable-pthreads \ + --enable-sdl-dlopen \ + --disable-rpath \ + --disable-sndio \ + " + +# 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.filter('DISTRO_FEATURES', 'opengl', d)}" + +PACKAGECONFIG_class-native = "x11" +PACKAGECONFIG_class-nativesdk = "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}" +PACKAGECONFIG ??= " \ + ${PACKAGECONFIG_GL} \ + ${@bb.utils.filter('DISTRO_FEATURES', 'alsa directfb pulseaudio x11', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland gles2', '', d)} \ +" +PACKAGECONFIG[alsa] = "--enable-alsa --disable-alsatest,--disable-alsa,alsa-lib," +PACKAGECONFIG[directfb] = "--enable-video-directfb,--disable-video-directfb,directfb" +PACKAGECONFIG[gles2] = "--enable-video-opengles,--disable-video-opengles,virtual/libgles2" +PACKAGECONFIG[jack] = "--enable-jack,--disable-jack,jack" +PACKAGECONFIG[kmsdrm] = "--enable-video-kmsdrm,--disable-video-kmsdrm,libdrm virtual/libgbm" +PACKAGECONFIG[opengl] = "--enable-video-opengl,--disable-video-opengl,virtual/libgl" +PACKAGECONFIG[pulseaudio] = "--enable-pulseaudio,--disable-pulseaudio,pulseaudio" +PACKAGECONFIG[tslib] = "--enable-input-tslib,--disable-input-tslib,tslib" +PACKAGECONFIG[wayland] = "--enable-video-wayland,--disable-video-wayland,wayland-native wayland wayland-protocols libxkbcommon" +PACKAGECONFIG[x11] = "--enable-video-x11,--disable-video-x11,virtual/libx11 libxext libxrandr libxrender" + +EXTRA_AUTORECONF += "--include=acinclude --exclude=autoheader" + +do_configure_prepend() { + # Remove old libtool macros. + MACROS="libtool.m4 lt~obsolete.m4 ltoptions.m4 ltsugar.m4 ltversion.m4" + for i in ${MACROS}; do + rm -f ${S}/acinclude/$i + done + export SYSROOT=$PKG_CONFIG_SYSROOT_DIR +} + +FILES_${PN}-dev += "${libdir}/cmake" + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-graphics/libsdl2/libsdl2_2.0.9.bb b/poky/meta/recipes-graphics/libsdl2/libsdl2_2.0.9.bb deleted file mode 100644 index a0a0b1509..000000000 --- a/poky/meta/recipes-graphics/libsdl2/libsdl2_2.0.9.bb +++ /dev/null @@ -1,74 +0,0 @@ -SUMMARY = "Simple DirectMedia Layer" -DESCRIPTION = "Simple DirectMedia Layer is a cross-platform multimedia \ -library designed to provide low level access to audio, keyboard, mouse, \ -joystick, 3D hardware via OpenGL, and 2D video framebuffer." -HOMEPAGE = "http://www.libsdl.org" -BUGTRACKER = "http://bugzilla.libsdl.org/" - -SECTION = "libs" - -LICENSE = "Zlib" -LIC_FILES_CHKSUM = "file://COPYING.txt;md5=02ee26814dd044bd7838ae24e05b880f" - -PROVIDES = "virtual/libsdl2" - -SRC_URI = "http://www.libsdl.org/release/SDL2-${PV}.tar.gz \ - file://more-gen-depends.patch \ -" - -S = "${WORKDIR}/SDL2-${PV}" - -SRC_URI[md5sum] = "f2ecfba915c54f7200f504d8b48a5dfe" -SRC_URI[sha256sum] = "255186dc676ecd0c1dbf10ec8a2cc5d6869b5079d8a38194c2aecdff54b324b1" - -inherit autotools lib_package binconfig-disabled pkgconfig - -BINCONFIG = "${bindir}/sdl2-config" - -CVE_PRODUCT = "simple_directmedia_layer sdl" - -EXTRA_OECONF = "--disable-oss --disable-esd --disable-arts \ - --disable-diskaudio --disable-nas --disable-esd-shared --disable-esdtest \ - --disable-video-dummy \ - --enable-pthreads \ - --enable-sdl-dlopen \ - --disable-rpath \ - --disable-sndio \ - " - -# 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.filter('DISTRO_FEATURES', 'opengl', d)}" - -PACKAGECONFIG_class-native = "x11" -PACKAGECONFIG_class-nativesdk = "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}" -PACKAGECONFIG ??= " \ - ${PACKAGECONFIG_GL} \ - ${@bb.utils.filter('DISTRO_FEATURES', 'alsa directfb pulseaudio x11', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland gles2', '', d)} \ -" -PACKAGECONFIG[alsa] = "--enable-alsa --disable-alsatest,--disable-alsa,alsa-lib," -PACKAGECONFIG[directfb] = "--enable-video-directfb,--disable-video-directfb,directfb" -PACKAGECONFIG[gles2] = "--enable-video-opengles,--disable-video-opengles,virtual/libgles2" -PACKAGECONFIG[jack] = "--enable-jack,--disable-jack,jack" -PACKAGECONFIG[kmsdrm] = "--enable-video-kmsdrm,--disable-video-kmsdrm,libdrm virtual/libgbm" -PACKAGECONFIG[opengl] = "--enable-video-opengl,--disable-video-opengl,virtual/libgl" -PACKAGECONFIG[pulseaudio] = "--enable-pulseaudio,--disable-pulseaudio,pulseaudio" -PACKAGECONFIG[tslib] = "--enable-input-tslib,--disable-input-tslib,tslib" -PACKAGECONFIG[wayland] = "--enable-video-wayland,--disable-video-wayland,wayland-native wayland wayland-protocols libxkbcommon" -PACKAGECONFIG[x11] = "--enable-video-x11,--disable-video-x11,virtual/libx11 libxext libxrandr libxrender" - -EXTRA_AUTORECONF += "--include=acinclude --exclude=autoheader" - -do_configure_prepend() { - # Remove old libtool macros. - MACROS="libtool.m4 lt~obsolete.m4 ltoptions.m4 ltsugar.m4 ltversion.m4" - for i in ${MACROS}; do - rm -f ${S}/acinclude/$i - done - export SYSROOT=$PKG_CONFIG_SYSROOT_DIR -} - -FILES_${PN}-dev += "${libdir}/cmake" - -BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-graphics/mesa/libglu_9.0.0.bb b/poky/meta/recipes-graphics/mesa/libglu_9.0.0.bb deleted file mode 100644 index eeb898fd3..000000000 --- a/poky/meta/recipes-graphics/mesa/libglu_9.0.0.bb +++ /dev/null @@ -1,30 +0,0 @@ -SUMMARY = "The OpenGL utility toolkit" -DESCRIPTION = "GLU is a utility toolkit used with OpenGL implementations" - -HOMEPAGE = "http://mesa3d.org" -BUGTRACKER = "https://bugs.freedesktop.org" -SECTION = "x11" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://include/GL/glu.h;endline=29;md5=6b79c570f644363b356456e7d44471d9 \ - file://src/libtess/tess.c;endline=29;md5=6b79c570f644363b356456e7d44471d9" - -# Epoch as this used to be part of mesa -PE = "2" -PR = "0" - -SRC_URI = "https://mesa.freedesktop.org/archive/glu/glu-${PV}.tar.bz2" - -SRC_URI[md5sum] = "be9249132ff49275461cf92039083030" -SRC_URI[sha256sum] = "1f7ad0d379a722fcbd303aa5650c6d7d5544fde83196b42a73d1193568a4df12" - -S = "${WORKDIR}/glu-${PV}" - -DEPENDS = "virtual/libgl" - -inherit autotools pkgconfig distro_features_check - -# Requires libGL.so which is provided by mesa when x11 in DISTRO_FEATURES -REQUIRED_DISTRO_FEATURES = "x11 opengl" - -# Remove the mesa-glu dependency in mesa-glu-dev, as mesa-glu is empty -RDEPENDS_${PN}-dev = "" diff --git a/poky/meta/recipes-graphics/mesa/libglu_9.0.1.bb b/poky/meta/recipes-graphics/mesa/libglu_9.0.1.bb new file mode 100644 index 000000000..068fb19e2 --- /dev/null +++ b/poky/meta/recipes-graphics/mesa/libglu_9.0.1.bb @@ -0,0 +1,30 @@ +SUMMARY = "The OpenGL utility toolkit" +DESCRIPTION = "GLU is a utility toolkit used with OpenGL implementations" + +HOMEPAGE = "http://mesa3d.org" +BUGTRACKER = "https://bugs.freedesktop.org" +SECTION = "x11" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://include/GL/glu.h;endline=29;md5=6b79c570f644363b356456e7d44471d9 \ + file://src/libtess/tess.c;endline=29;md5=6b79c570f644363b356456e7d44471d9" + +# Epoch as this used to be part of mesa +PE = "2" +PR = "0" + +SRC_URI = "https://mesa.freedesktop.org/archive/glu/glu-${PV}.tar.gz" + +SRC_URI[md5sum] = "5599a0e0a97335e10239d9165aced60d" +SRC_URI[sha256sum] = "f6f484cfcd51e489afe88031afdea1e173aa652697e4c19ddbcb8260579a10f7" + +S = "${WORKDIR}/glu-${PV}" + +DEPENDS = "virtual/libgl" + +inherit autotools pkgconfig distro_features_check + +# Requires libGL.so which is provided by mesa when x11 in DISTRO_FEATURES +REQUIRED_DISTRO_FEATURES = "x11 opengl" + +# Remove the mesa-glu dependency in mesa-glu-dev, as mesa-glu is empty +RDEPENDS_${PN}-dev = "" diff --git a/poky/meta/recipes-graphics/mesa/mesa.inc b/poky/meta/recipes-graphics/mesa/mesa.inc index 5bbd13bca..60d07f536 100644 --- a/poky/meta/recipes-graphics/mesa/mesa.inc +++ b/poky/meta/recipes-graphics/mesa/mesa.inc @@ -36,6 +36,10 @@ PLATFORMS ??= "${@bb.utils.filter('PACKAGECONFIG', 'x11 wayland', d)} \ export YOCTO_ALTERNATE_EXE_PATH = "${STAGING_LIBDIR}/llvm${MESA_LLVM_RELEASE}/llvm-config" export YOCTO_ALTERNATE_MULTILIB_NAME = "${base_libdir}" +export LLVM_CONFIG = "${STAGING_BINDIR_NATIVE}/llvm-config${MESA_LLVM_RELEASE}" +export WANT_LLVM_RELEASE = "${MESA_LLVM_RELEASE}" + +MESA_LLVM_RELEASE ?= "${LLVMVERSION}" EXTRA_OEMESON = " \ -Dshared-glapi=true \ @@ -50,8 +54,8 @@ PACKAGECONFIG_class-target ??= "${@bb.utils.filter('DISTRO_FEATURES', 'wayland v ${@bb.utils.contains('DISTRO_FEATURES', 'x11 vulkan', 'dri3', '', d)} \ glx-tls \ " -PACKAGECONFIG_class-native ?= "gbm dri egl opengl" -PACKAGECONFIG_class-nativesdk ?= "gbm dri egl opengl" +PACKAGECONFIG_class-native ?= "gbm dri egl opengl glx-tls" +PACKAGECONFIG_class-nativesdk ?= "gbm dri egl opengl glx-tls" PACKAGECONFIG_remove_libc-musl = "glx-tls" @@ -107,10 +111,8 @@ GALLIUMDRIVERS_append = "${@bb.utils.contains('PACKAGECONFIG', 'r600', ',r600', GALLIUMDRIVERS_append = ",virgl" PACKAGECONFIG[gallium] = "-Dgallium-drivers=${GALLIUMDRIVERS}, -Dgallium-drivers=''" -MESA_LLVM_RELEASE ?= "8.0.0" PACKAGECONFIG[gallium-llvm] = "-Dllvm=true -Dshared-llvm=true, -Dllvm=false, llvm${MESA_LLVM_RELEASE} llvm-native \ ${@'elfutils' if ${GALLIUMDRIVERS_LLVM33_ENABLED} else ''}" -export WANT_LLVM_RELEASE = "${MESA_LLVM_RELEASE}" PACKAGECONFIG[xa] = "-Dgallium-xa=true, -Dgallium-xa=false" PACKAGECONFIG[lima] = "" diff --git a/poky/meta/recipes-graphics/pango/pango/insensitive-diff.patch b/poky/meta/recipes-graphics/pango/pango/insensitive-diff.patch deleted file mode 100644 index faaa96133..000000000 --- a/poky/meta/recipes-graphics/pango/pango/insensitive-diff.patch +++ /dev/null @@ -1,28 +0,0 @@ -Do case-insensitive diffs as the test is sensitive as to whether 0x0 is printed -as (null) or (NULL). - -Upstream-Status: Submitted [https://gitlab.gnome.org/GNOME/pango/merge_requests/44] -Signed-off-by: Ross Burton - -diff --git a/tests/markup-parse.c b/tests/markup-parse.c -index 633f3e89..36d2c776 100644 ---- a/tests/markup-parse.c -+++ b/tests/markup-parse.c -@@ -217,7 +217,7 @@ diff_with_file (const char *file1, - GString *string, - GError **error) - { -- const char *command[] = { "diff", "-u", file1, NULL, NULL }; -+ const char *command[] = { "diff", "-u", "-i", file1, NULL, NULL }; - char *diff, *tmpfile; - int fd; - -@@ -237,7 +237,7 @@ diff_with_file (const char *file1, - goto done; - } - close (fd); -- command[3] = tmpfile; -+ command[4] = tmpfile; - - /* run diff command */ - g_spawn_sync (NULL, (char **)command, NULL, G_SPAWN_SEARCH_PATH, NULL, NULL, &diff, NULL, NULL, error); diff --git a/poky/meta/recipes-graphics/pango/pango_1.42.4.bb b/poky/meta/recipes-graphics/pango/pango_1.42.4.bb deleted file mode 100644 index 58e1f41be..000000000 --- a/poky/meta/recipes-graphics/pango/pango_1.42.4.bb +++ /dev/null @@ -1,50 +0,0 @@ -SUMMARY = "Framework for layout and rendering of internationalized text" -DESCRIPTION = "Pango is a library for laying out and rendering of text, \ -with an emphasis on internationalization. Pango can be used anywhere \ -that text layout is needed, though most of the work on Pango so far has \ -been done in the context of the GTK+ widget toolkit. Pango forms the \ -core of text and font handling for GTK+-2.x." -HOMEPAGE = "http://www.pango.org/" -BUGTRACKER = "http://bugzilla.gnome.org" -SECTION = "libs" -LICENSE = "LGPLv2.0+" - -LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7" - -GNOMEBASEBUILDCLASS = "meson" - -inherit gnomebase gtk-doc ptest-gnome upstream-version-is-even gobject-introspection - -SRC_URI += "file://run-ptest \ - file://insensitive-diff.patch" - -SRC_URI[archive.md5sum] = "deb171a31a3ad76342d5195a1b5bbc7c" -SRC_URI[archive.sha256sum] = "1d2b74cd63e8bd41961f2f8d952355aa0f9be6002b52c8aa7699d9f5da597c9d" - -DEPENDS = "glib-2.0 glib-2.0-native fontconfig freetype virtual/libiconv cairo harfbuzz fribidi" - -PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}" -PACKAGECONFIG[x11] = ",,virtual/libx11 libxft" - -GTKDOC_MESON_OPTION = "enable_docs" -GIR_MESON_OPTION = 'gir' - -LEAD_SONAME = "libpango-1.0*" -LIBV = "1.8.0" - -FILES_${PN} = "${bindir}/* ${libdir}/libpango*${SOLIBS}" -FILES_${PN}-dev += "${libdir}/pango/${LIBV}/modules/*.la" - -RDEPENDS_${PN}-ptest += "liberation-fonts cantarell-fonts" - -RPROVIDES_${PN} += "pango-modules pango-module-indic-lang \ - pango-module-basic-fc pango-module-arabic-lang" - -BBCLASSEXTEND = "native nativesdk" - -do_install_append () { - if [ "${PTEST_ENABLED}" != "1" ]; then - rm -rf ${D}${libexecdir}/installed-tests ${D}${datadir}/installed-tests - rmdir --ignore-fail-on-non-empty ${D}${libexecdir} ${D}${datadir} - fi -} diff --git a/poky/meta/recipes-graphics/pango/pango_1.44.3.bb b/poky/meta/recipes-graphics/pango/pango_1.44.3.bb new file mode 100644 index 000000000..1973c63f8 --- /dev/null +++ b/poky/meta/recipes-graphics/pango/pango_1.44.3.bb @@ -0,0 +1,46 @@ +SUMMARY = "Framework for layout and rendering of internationalized text" +DESCRIPTION = "Pango is a library for laying out and rendering of text, \ +with an emphasis on internationalization. Pango can be used anywhere \ +that text layout is needed, though most of the work on Pango so far has \ +been done in the context of the GTK+ widget toolkit. Pango forms the \ +core of text and font handling for GTK+-2.x." +HOMEPAGE = "http://www.pango.org/" +BUGTRACKER = "http://bugzilla.gnome.org" +SECTION = "libs" +LICENSE = "LGPLv2.0+" + +LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7" + +GNOMEBASEBUILDCLASS = "meson" + +inherit gnomebase gtk-doc ptest-gnome upstream-version-is-even gobject-introspection + +SRC_URI += "file://run-ptest \ + " + +SRC_URI[archive.md5sum] = "7f91f1b5883ff848b445ab11ebabcf03" +SRC_URI[archive.sha256sum] = "290bb100ca5c7025ec3f97332eaf783b76ba1f444110f06ac5ee3285e3e5aece" + +DEPENDS = "glib-2.0 glib-2.0-native fontconfig freetype virtual/libiconv cairo harfbuzz fribidi" + +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)} \ + ${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)}" + +PACKAGECONFIG[x11] = ",,virtual/libx11 libxft" +PACKAGECONFIG[tests] = "-Dinstall-tests=true, -Dinstall-tests=false" + +GTKDOC_MESON_OPTION = "gtk_doc" +GIR_MESON_OPTION = 'introspection' + +LEAD_SONAME = "libpango-1.0*" +LIBV = "1.8.0" + +FILES_${PN} = "${bindir}/* ${libdir}/libpango*${SOLIBS}" +FILES_${PN}-dev += "${libdir}/pango/${LIBV}/modules/*.la" + +RDEPENDS_${PN}-ptest += "liberation-fonts cantarell-fonts" + +RPROVIDES_${PN} += "pango-modules pango-module-indic-lang \ + pango-module-basic-fc pango-module-arabic-lang" + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-graphics/virglrenderer/virglrenderer/0001-gallium-Expand-libc-check-to-be-platform-OS-check.patch b/poky/meta/recipes-graphics/virglrenderer/virglrenderer/0001-gallium-Expand-libc-check-to-be-platform-OS-check.patch new file mode 100644 index 000000000..a0ac3aefd --- /dev/null +++ b/poky/meta/recipes-graphics/virglrenderer/virglrenderer/0001-gallium-Expand-libc-check-to-be-platform-OS-check.patch @@ -0,0 +1,36 @@ +From 3d30df8d8ccb919733b5339b2a82474305b83998 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Tue, 6 Aug 2019 01:19:48 +0000 +Subject: [PATCH] gallium: Expand libc check to be platform OS check + +endianness on musl based systems can also be detected in same way as +glibc, therefore check for __linux__ define instead of __GLIBC__ + +Fixes build on musl/mips + +| ../../../../git/src/gallium/include/pipe/p_config.h:171:2: error: #error Unknown Endianness +| #error Unknown Endianness +| ^~~~~ + +Upstream-Status: Pending +Signed-off-by: Khem Raj +--- + src/gallium/include/pipe/p_config.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/gallium/include/pipe/p_config.h b/src/gallium/include/pipe/p_config.h +index d603681..71cdf49 100644 +--- a/src/gallium/include/pipe/p_config.h ++++ b/src/gallium/include/pipe/p_config.h +@@ -130,7 +130,7 @@ + * Endian detection. + */ + +-#ifdef __GLIBC__ ++#ifdef __linux__ + #include + + #if __BYTE_ORDER == __LITTLE_ENDIAN +-- +2.17.1 + diff --git a/poky/meta/recipes-graphics/virglrenderer/virglrenderer_0.7.0.bb b/poky/meta/recipes-graphics/virglrenderer/virglrenderer_0.7.0.bb index 225a0b8b0..818d5b630 100644 --- a/poky/meta/recipes-graphics/virglrenderer/virglrenderer_0.7.0.bb +++ b/poky/meta/recipes-graphics/virglrenderer/virglrenderer_0.7.0.bb @@ -9,6 +9,7 @@ SRCREV = "402c228861c9893f64cffbbcb4cb23044b8c721c" SRC_URI = "git://anongit.freedesktop.org/virglrenderer \ file://0001-vtest-add-missing-includes.patch \ file://0001-Makefile.am-explicitly-link-with-libdrm.patch \ + file://0001-gallium-Expand-libc-check-to-be-platform-OS-check.patch \ " S = "${WORKDIR}/git" diff --git a/poky/meta/recipes-graphics/waffle/waffle/0001-third_party-threads-Use-PTHREAD_MUTEX_RECURSIVE-by-d.patch b/poky/meta/recipes-graphics/waffle/waffle/0001-third_party-threads-Use-PTHREAD_MUTEX_RECURSIVE-by-d.patch deleted file mode 100644 index a0c826ed9..000000000 --- a/poky/meta/recipes-graphics/waffle/waffle/0001-third_party-threads-Use-PTHREAD_MUTEX_RECURSIVE-by-d.patch +++ /dev/null @@ -1,54 +0,0 @@ -From 3b9b8f5f6d1b99af43e95ec0868404e552a85b73 Mon Sep 17 00:00:00 2001 -From: Emil Velikov -Date: Thu, 19 Mar 2015 22:26:11 +0000 -Subject: [PATCH] third_party/threads: Use PTHREAD_MUTEX_RECURSIVE by default - -PTHREAD_MUTEX_RECURSIVE_NP was used for compatibility with old glibc. -Although due to the_GNU_SOURCES define the portable, -PTHREAD_MUTEX_RECURSIVE will be available for Linuxes since at least -1998. Simplify things giving us compatibility with musl which -apparently does not provide the non-portable define. - -Inspired by almost identical commit in mesa aead7fe2e2b(c11/threads: Use -PTHREAD_MUTEX_RECURSIVE by default) by Felix Janda. - -Signed-off-by: Emil Velikov -Reviewed-by: Chad Versace ---- -Upstream-Status: Backport - - third_party/threads/threads_posix.c | 10 ++++------ - 1 file changed, 4 insertions(+), 6 deletions(-) - -diff --git a/third_party/threads/threads_posix.c b/third_party/threads/threads_posix.c -index 5835e43..e122bf9 100644 ---- a/third_party/threads/threads_posix.c -+++ b/third_party/threads/threads_posix.c -@@ -26,6 +26,9 @@ - * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - */ -+ -+#define _GNU_SOURCE -+ - #include - #ifndef assert - #include -@@ -150,13 +153,8 @@ int mtx_init(mtx_t *mtx, int type) - && type != (mtx_try|mtx_recursive)) - return thrd_error; - pthread_mutexattr_init(&attr); -- if ((type & mtx_recursive) != 0) { --#if defined(__linux__) || defined(__linux) -- pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE_NP); --#else -+ if ((type & mtx_recursive) != 0) - pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE); --#endif -- } - pthread_mutex_init(mtx, &attr); - pthread_mutexattr_destroy(&attr); - return thrd_success; --- -2.5.2 - diff --git a/poky/meta/recipes-graphics/waffle/waffle_1.5.2.bb b/poky/meta/recipes-graphics/waffle/waffle_1.5.2.bb deleted file mode 100644 index 31572f25f..000000000 --- a/poky/meta/recipes-graphics/waffle/waffle_1.5.2.bb +++ /dev/null @@ -1,36 +0,0 @@ -SUMMARY = "cross-platform C library to defer selection of GL API and of window system" -LICENSE = "BSD-2-Clause" -LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=4c5154407c2490750dd461c50ad94797 \ - file://include/waffle/waffle.h;endline=24;md5=61dbf8697f61c78645e75a93c585b1bf" - -SRC_URI = "http://waffle-gl.org/files/release/${BPN}-${PV}/${BPN}-${PV}.tar.xz \ - file://0001-third_party-threads-Use-PTHREAD_MUTEX_RECURSIVE-by-d.patch \ - " -SRC_URI[md5sum] = "c669c91bf2f7e13a5d781c3dbb30fd8c" -SRC_URI[sha256sum] = "d2c096cf654bf0061323a4b9231a1ef5b749a1e5c7c5bfe067e964219c2a851c" - -UPSTREAM_CHECK_URI = "http://www.waffle-gl.org/releases.html" - -inherit cmake distro_features_check lib_package - -# This should be overridden per-machine to reflect the capabilities of the GL -# stack. -PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'glx x11-egl', '', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', '', d)} \ - gbm" - -# virtual/libgl requires opengl in DISTRO_FEATURES. -REQUIRED_DISTRO_FEATURES += "${@bb.utils.contains('DEPENDS', 'virtual/${MLPREFIX}libgl', 'opengl', '', d)}" - -# I say virtual/libgl, actually wants gl.pc -PACKAGECONFIG[glx] = "-Dwaffle_has_glx=1,-Dwaffle_has_glx=0,virtual/${MLPREFIX}libgl libx11" - -# I say virtual/libgl, actually wants wayland-egl.pc, egl.pc, and the wayland -# DISTRO_FEATURE. -PACKAGECONFIG[wayland] = "-Dwaffle_has_wayland=1,-Dwaffle_has_wayland=0,virtual/${MLPREFIX}libgl wayland" - -# I say virtual/libgl, actually wants gbm.pc egl.pc -PACKAGECONFIG[gbm] = "-Dwaffle_has_gbm=1,-Dwaffle_has_gbm=0,virtual/${MLPREFIX}libgl udev" - -# I say virtual/libgl, actually wants egl.pc -PACKAGECONFIG[x11-egl] = "-Dwaffle_has_x11_egl=1,-Dwaffle_has_x11_egl=0,virtual/${MLPREFIX}libgl libxcb" diff --git a/poky/meta/recipes-graphics/waffle/waffle_1.6.0.bb b/poky/meta/recipes-graphics/waffle/waffle_1.6.0.bb new file mode 100644 index 000000000..8a1d5748f --- /dev/null +++ b/poky/meta/recipes-graphics/waffle/waffle_1.6.0.bb @@ -0,0 +1,37 @@ +SUMMARY = "cross-platform C library to defer selection of GL API and of window system" +LICENSE = "BSD-2-Clause" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=4c5154407c2490750dd461c50ad94797 \ + file://include/waffle/waffle.h;endline=24;md5=61dbf8697f61c78645e75a93c585b1bf" + +SRC_URI = "http://waffle-gl.org/files/release/${BPN}-${PV}/${BPN}-${PV}.tar.xz" +SRC_URI[md5sum] = "61bfc1a478e840825f33ddb4057115e7" +SRC_URI[sha256sum] = "d9c899f710c50cfdd00f5f4cdfeaef0687d8497362239bdde93bed6c909c81d7" + +UPSTREAM_CHECK_URI = "http://www.waffle-gl.org/releases.html" + +inherit meson distro_features_check lib_package bash-completion + +# This should be overridden per-machine to reflect the capabilities of the GL +# stack. +PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'glx x11-egl', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', '', d)} \ + surfaceless-egl gbm" + +# virtual/libgl requires opengl in DISTRO_FEATURES. +REQUIRED_DISTRO_FEATURES += "${@bb.utils.contains('DEPENDS', 'virtual/${MLPREFIX}libgl', 'opengl', '', d)}" + +# I say virtual/libgl, actually wants gl.pc +PACKAGECONFIG[glx] = "-Dglx=enabled,-Dglx=disabled,virtual/${MLPREFIX}libgl libx11" + +# I say virtual/libgl, actually wants wayland-egl.pc, egl.pc, and the wayland +# DISTRO_FEATURE. +PACKAGECONFIG[wayland] = "-Dwayland=enabled,-Dwayland=disabled,virtual/${MLPREFIX}libgl wayland" + +# I say virtual/libgl, actually wants gbm.pc egl.pc +PACKAGECONFIG[gbm] = "-Dgbm=enabled,-Dgbm=disabled,virtual/${MLPREFIX}libgl udev" + +# I say virtual/libgl, actually wants egl.pc +PACKAGECONFIG[x11-egl] = "-Dx11_egl=enabled,-Dx11_egl=disabled,virtual/${MLPREFIX}libgl libxcb" +PACKAGECONFIG[surfaceless-egl] = "-Dsurfaceless_egl=enabled,-Dsurfaceless_egl=disabled,virtual/${MLPREFIX}libgl" + +# TODO: optionally build manpages and examples diff --git a/poky/meta/recipes-graphics/wayland/libinput_1.13.4.bb b/poky/meta/recipes-graphics/wayland/libinput_1.13.4.bb deleted file mode 100644 index 73d692573..000000000 --- a/poky/meta/recipes-graphics/wayland/libinput_1.13.4.bb +++ /dev/null @@ -1,29 +0,0 @@ -SUMMARY = "Library to handle input devices in Wayland compositors" -HOMEPAGE = "http://www.freedesktop.org/wiki/Software/libinput/" -SECTION = "libs" - -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://COPYING;md5=1f2ea9ebff3a2c6d458faf58492efb63" - -DEPENDS = "libevdev udev mtdev" - -SRC_URI = "http://www.freedesktop.org/software/${BPN}/${BP}.tar.xz" -SRC_URI[md5sum] = "9ef817774bb5b4006cba95e34103e82c" -SRC_URI[sha256sum] = "d3eb57c714683b117aae29f6c0be76dd46de259f0a48f20cb43b9fa9f2e1401d" - -UPSTREAM_CHECK_REGEX = "libinput-(?P\d+\.\d+\.(?!9\d+)\d+)" - -inherit meson pkgconfig lib_package - -PACKAGECONFIG ??= "" -PACKAGECONFIG[libwacom] = "-Dlibwacom=true,-Dlibwacom=false,libwacom" -PACKAGECONFIG[gui] = "-Ddebug-gui=true,-Ddebug-gui=false,cairo gtk+3" - -UDEVDIR = "`pkg-config --variable=udevdir udev`" - -EXTRA_OEMESON += "-Dudev-dir=${UDEVDIR} -Ddocumentation=false -Dtests=false" - -# package name changed in 1.8.1 upgrade: make sure package upgrades work -RPROVIDES_${PN} = "libinput" -RREPLACES_${PN} = "libinput" -RCONFLICTS_${PN} = "libinput" diff --git a/poky/meta/recipes-graphics/wayland/libinput_1.14.0.bb b/poky/meta/recipes-graphics/wayland/libinput_1.14.0.bb new file mode 100644 index 000000000..d236f3fa0 --- /dev/null +++ b/poky/meta/recipes-graphics/wayland/libinput_1.14.0.bb @@ -0,0 +1,29 @@ +SUMMARY = "Library to handle input devices in Wayland compositors" +HOMEPAGE = "http://www.freedesktop.org/wiki/Software/libinput/" +SECTION = "libs" + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=1f2ea9ebff3a2c6d458faf58492efb63" + +DEPENDS = "libevdev udev mtdev" + +SRC_URI = "http://www.freedesktop.org/software/${BPN}/${BP}.tar.xz" +SRC_URI[md5sum] = "1c33d49fc7985926eab877e3de9c17eb" +SRC_URI[sha256sum] = "7cb85c24f8920b81bc5360220107e267ab4e0e718704c7690a8c7b03fa14fc67" + +UPSTREAM_CHECK_REGEX = "libinput-(?P\d+\.\d+\.(?!9\d+)\d+)" + +inherit meson pkgconfig lib_package + +PACKAGECONFIG ??= "" +PACKAGECONFIG[libwacom] = "-Dlibwacom=true,-Dlibwacom=false,libwacom" +PACKAGECONFIG[gui] = "-Ddebug-gui=true,-Ddebug-gui=false,cairo gtk+3" + +UDEVDIR = "`pkg-config --variable=udevdir udev`" + +EXTRA_OEMESON += "-Dudev-dir=${UDEVDIR} -Ddocumentation=false -Dtests=false" + +# package name changed in 1.8.1 upgrade: make sure package upgrades work +RPROVIDES_${PN} = "libinput" +RREPLACES_${PN} = "libinput" +RCONFLICTS_${PN} = "libinput" diff --git a/poky/meta/recipes-graphics/wayland/wayland-protocols_1.17.bb b/poky/meta/recipes-graphics/wayland/wayland-protocols_1.17.bb deleted file mode 100644 index ca8f06c55..000000000 --- a/poky/meta/recipes-graphics/wayland/wayland-protocols_1.17.bb +++ /dev/null @@ -1,22 +0,0 @@ -SUMMARY = "Collection of additional Wayland protocols" -DESCRIPTION = "Wayland protocols that add functionality not \ -available in the Wayland core protocol. Such protocols either add \ -completely new functionality, or extend the functionality of some other \ -protocol either in Wayland core, or some other protocol in \ -wayland-protocols." -HOMEPAGE = "http://wayland.freedesktop.org" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://COPYING;md5=c7b12b6702da38ca028ace54aae3d484 \ - file://stable/presentation-time/presentation-time.xml;endline=26;md5=4646cd7d9edc9fa55db941f2d3a7dc53" - -SRC_URI = "https://wayland.freedesktop.org/releases/${BPN}-${PV}.tar.xz \ - " -SRC_URI[md5sum] = "55ddd5fdb02b73b9de9559aaec267315" -SRC_URI[sha256sum] = "df1319cf9705643aea9fd16f9056f4e5b2471bd10c0cc3713d4a4cdc23d6812f" - -UPSTREAM_CHECK_URI = "https://wayland.freedesktop.org/releases.html" - -inherit allarch autotools pkgconfig - -PACKAGES = "${PN}" -FILES_${PN} += "${datadir}/pkgconfig/wayland-protocols.pc" diff --git a/poky/meta/recipes-graphics/wayland/wayland-protocols_1.18.bb b/poky/meta/recipes-graphics/wayland/wayland-protocols_1.18.bb new file mode 100644 index 000000000..c8bec66a4 --- /dev/null +++ b/poky/meta/recipes-graphics/wayland/wayland-protocols_1.18.bb @@ -0,0 +1,22 @@ +SUMMARY = "Collection of additional Wayland protocols" +DESCRIPTION = "Wayland protocols that add functionality not \ +available in the Wayland core protocol. Such protocols either add \ +completely new functionality, or extend the functionality of some other \ +protocol either in Wayland core, or some other protocol in \ +wayland-protocols." +HOMEPAGE = "http://wayland.freedesktop.org" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=c7b12b6702da38ca028ace54aae3d484 \ + file://stable/presentation-time/presentation-time.xml;endline=26;md5=4646cd7d9edc9fa55db941f2d3a7dc53" + +SRC_URI = "https://wayland.freedesktop.org/releases/${BPN}-${PV}.tar.xz \ + " +SRC_URI[md5sum] = "af38f22d8e233c2f2e00ddc8dcc94694" +SRC_URI[sha256sum] = "3d73b7e7661763dc09d7d9107678400101ecff2b5b1e531674abfa81e04874b3" + +UPSTREAM_CHECK_URI = "https://wayland.freedesktop.org/releases.html" + +inherit allarch autotools pkgconfig + +PACKAGES = "${PN}" +FILES_${PN} += "${datadir}/pkgconfig/wayland-protocols.pc" diff --git a/poky/meta/recipes-graphics/wayland/weston/0001-make-error-portable.patch b/poky/meta/recipes-graphics/wayland/weston/0001-make-error-portable.patch index 0eb3d95a6..acea9dbc3 100644 --- a/poky/meta/recipes-graphics/wayland/weston/0001-make-error-portable.patch +++ b/poky/meta/recipes-graphics/wayland/weston/0001-make-error-portable.patch @@ -9,27 +9,14 @@ kind of systemsi e.g. musl. Upstream-Status: Submitted Signed-off-by: Khem Raj - +Signed-off-by: Ming Liu --- - configure.ac | 2 ++ libweston/weston-error.h | 20 ++++++++++++++++++++ libweston/weston-launch.c | 2 +- - 3 files changed, 23 insertions(+), 1 deletion(-) + meson.build | 1 + + 3 files changed, 22 insertions(+), 1 deletion(-) create mode 100644 libweston/weston-error.h -diff --git a/configure.ac b/configure.ac -index c05ad01..6da6e04 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -126,6 +126,8 @@ AC_CHECK_DECL(CLOCK_MONOTONIC,[], - [AC_MSG_ERROR("CLOCK_MONOTONIC is needed to compile weston")], - [[#include ]]) - -+AC_CHECK_HEADERS([error.h]) -+ - AC_CHECK_FUNCS([mkostemp strchrnul initgroups posix_fallocate]) - - # check for libdrm as a build-time dependency only diff --git a/libweston/weston-error.h b/libweston/weston-error.h new file mode 100644 index 0000000..2089d02 @@ -76,3 +63,18 @@ index bf73e0d..9064439 100644 #define DRM_MAJOR 226 +diff --git a/meson.build b/meson.build +index 2155b7b..baa52d9 100644 +--- a/meson.build ++++ b/meson.build +@@ -94,6 +94,7 @@ foreach func : optional_libc_funcs + endforeach + + optional_system_headers = [ ++ 'error.h', + 'linux/sync_file.h' + ] + foreach hdr : optional_system_headers +-- +2.7.4 + diff --git a/poky/meta/recipes-graphics/wayland/weston/0001-weston-launch-Provide-a-default-version-that-doesn-t.patch b/poky/meta/recipes-graphics/wayland/weston/0001-weston-launch-Provide-a-default-version-that-doesn-t.patch index a2f61bfdd..81cc02537 100644 --- a/poky/meta/recipes-graphics/wayland/weston/0001-weston-launch-Provide-a-default-version-that-doesn-t.patch +++ b/poky/meta/recipes-graphics/wayland/weston/0001-weston-launch-Provide-a-default-version-that-doesn-t.patch @@ -15,44 +15,46 @@ Upstream-Status: Pending Signed-off-by: Tom Hochstein Signed-off-by: Jussi Kukkonen Signed-off-by: Denys Dmytriyenko - +Signed-off-by: Ming Liu --- - configure.ac | 9 +++++++-- + libweston/meson.build | 16 ++++++++++++---- libweston/weston-launch.c | 20 ++++++++++++++++++++ - 2 files changed, 27 insertions(+), 2 deletions(-) + meson_options.txt | 7 +++++++ + 3 files changed, 39 insertions(+), 4 deletions(-) -diff --git a/configure.ac b/configure.ac -index 6da6e04..681f7c8 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -515,13 +515,17 @@ AC_ARG_ENABLE(resize-optimization, - AS_IF([test "x$enable_resize_optimization" = "xyes"], - [AC_DEFINE([USE_RESIZE_POOL], [1], [Use resize memory pool as a performance optimization])]) - -+AC_ARG_WITH(pam, -+ AS_HELP_STRING([--with-pam], [Use PAM]), -+ [use_pam=$withval], [use_pam=yes]) - AC_ARG_ENABLE(weston-launch, [ --enable-weston-launch],, enable_weston_launch=yes) - AM_CONDITIONAL(BUILD_WESTON_LAUNCH, test x$enable_weston_launch = xyes) --if test x$enable_weston_launch = xyes; then -+if test x$enable_weston_launch = xyes -a x$use_pam = xyes; then - WESTON_SEARCH_LIBS([PAM], [pam], [pam_open_session], [have_pam=yes], [have_pam=no]) - if test x$have_pam = xno; then -- AC_ERROR([weston-launch requires pam]) -+ AC_ERROR([PAM support is explicitly requested, but libpam couldn't be found]) - fi -+ AC_DEFINE([HAVE_PAM], [1], [Define if PAM is available]) - fi - - AM_CONDITIONAL(HAVE_PANGO, test "x$have_pango" = "xyes") -@@ -767,6 +771,7 @@ AC_MSG_RESULT([ - Enable developer documentation ${enable_devdocs} - - weston-launch utility ${enable_weston_launch} -+ PAM support ${use_pam} - systemd-login support ${have_systemd_login} - systemd notify support ${enable_systemd_notify} - +diff --git a/libweston/meson.build b/libweston/meson.build +index 33ab970..32f495a 100644 +--- a/libweston/meson.build ++++ b/libweston/meson.build +@@ -472,16 +472,24 @@ if get_option('renderer-gl') + endif + + if get_option('weston-launch') +- dep_pam = cc.find_library('pam') ++ deps_weston_launch = [systemd_dep, dep_libdrm] + +- if not cc.has_function('pam_open_session', dependencies: dep_pam) +- error('pam_open_session not found for weston-launch') ++ if get_option('pam') ++ dep_pam = cc.find_library('pam') ++ if not cc.has_function('pam_open_session', dependencies: dep_pam) ++ error('pam_open_session not found for weston-launch') ++ endif ++ ++ if dep_pam.found() ++ deps_weston_launch += dep_pam ++ config_h.set('HAVE_PAM', '1') ++ endif + endif + + executable( + 'weston-launch', + 'weston-launch.c', +- dependencies: [dep_pam, systemd_dep, dep_libdrm], ++ dependencies: deps_weston_launch, + include_directories: include_directories('..'), + install: true + ) diff --git a/libweston/weston-launch.c b/libweston/weston-launch.c index 9064439..c6abe92 100644 --- a/libweston/weston-launch.c @@ -172,3 +174,24 @@ index 9064439..c6abe92 100644 if (setup_launcher_socket(&wl) < 0) exit(EXIT_FAILURE); +diff --git a/meson_options.txt b/meson_options.txt +index 0e1d183..9a5c3d5 100644 +--- a/meson_options.txt ++++ b/meson_options.txt +@@ -73,6 +73,13 @@ option( + ) + + option( ++ 'pam', ++ type: 'boolean', ++ value: true, ++ description: 'Define if PAM is available' ++) ++ ++option( + 'xwayland', + type: 'boolean', + value: true, +-- +2.7.4 + diff --git a/poky/meta/recipes-graphics/wayland/weston_6.0.0.bb b/poky/meta/recipes-graphics/wayland/weston_6.0.0.bb deleted file mode 100644 index fa08dac91..000000000 --- a/poky/meta/recipes-graphics/wayland/weston_6.0.0.bb +++ /dev/null @@ -1,109 +0,0 @@ -SUMMARY = "Weston, a Wayland compositor" -DESCRIPTION = "Weston is the reference implementation of a Wayland compositor" -HOMEPAGE = "http://wayland.freedesktop.org" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://COPYING;md5=d79ee9e66bb0f95d3386a7acae780b70 \ - file://libweston/compositor.c;endline=27;md5=6c53bbbd99273f4f7c4affa855c33c0a" - -SRC_URI = "https://wayland.freedesktop.org/releases/${BPN}-${PV}.tar.xz \ - file://weston.png \ - file://weston.desktop \ - file://0001-make-error-portable.patch \ - file://xwayland.weston-start \ - file://0001-weston-launch-Provide-a-default-version-that-doesn-t.patch \ -" -SRC_URI[md5sum] = "7c634e262f8a464a076c97fd50ad36b3" -SRC_URI[sha256sum] = "546323a90607b3bd7f48809ea9d76e64cd09718102f2deca6d95aa59a882e612" - -UPSTREAM_CHECK_URI = "https://wayland.freedesktop.org/releases.html" - -inherit autotools pkgconfig useradd distro_features_check -# depends on virtual/egl -REQUIRED_DISTRO_FEATURES = "opengl" - -DEPENDS = "libxkbcommon gdk-pixbuf pixman cairo glib-2.0 jpeg" -DEPENDS += "wayland wayland-protocols libinput virtual/egl pango wayland-native" - -WESTON_MAJOR_VERSION = "${@'.'.join(d.getVar('PV').split('.')[0:1])}" - -EXTRA_OECONF = "--enable-setuid-install \ - --disable-rdp-compositor \ - --enable-autotools \ - " -PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'kms fbdev wayland egl', '', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'x11 wayland', 'xwayland', '', d)} \ - ${@bb.utils.filter('DISTRO_FEATURES', 'pam systemd x11', d)} \ - clients launch" -# -# Compositor choices -# -# Weston on KMS -PACKAGECONFIG[kms] = "--enable-drm-compositor,--disable-drm-compositor,drm udev virtual/mesa virtual/libgbm mtdev" -# Weston on Wayland (nested Weston) -PACKAGECONFIG[wayland] = "--enable-wayland-compositor,--disable-wayland-compositor,virtual/mesa" -# Weston on X11 -PACKAGECONFIG[x11] = "--enable-x11-compositor,--disable-x11-compositor,virtual/libx11 libxcb libxcb libxcursor cairo" -# Headless Weston -PACKAGECONFIG[headless] = "--enable-headless-compositor,--disable-headless-compositor" -# Weston on framebuffer -PACKAGECONFIG[fbdev] = "--enable-fbdev-compositor,--disable-fbdev-compositor,udev mtdev" -# weston-launch -PACKAGECONFIG[launch] = "--enable-weston-launch,--disable-weston-launch,drm" -# VA-API desktop recorder -PACKAGECONFIG[vaapi] = "--enable-vaapi-recorder,--disable-vaapi-recorder,libva" -# Weston with EGL support -PACKAGECONFIG[egl] = "--enable-egl --enable-simple-egl-clients,--disable-egl --disable-simple-egl-clients,virtual/egl" -# Weston with cairo glesv2 support -PACKAGECONFIG[cairo-glesv2] = "--with-cairo-glesv2,--with-cairo=image,cairo" -# Weston with lcms support -PACKAGECONFIG[lcms] = "--enable-lcms,--disable-lcms,lcms" -# Weston with webp support -PACKAGECONFIG[webp] = "--with-webp,--without-webp,libwebp" -# Weston with systemd-login support -PACKAGECONFIG[systemd] = "--enable-systemd-login,--disable-systemd-login,systemd dbus" -# Weston with Xwayland support (requires X11 and Wayland) -PACKAGECONFIG[xwayland] = "--enable-xwayland,--disable-xwayland" -# colord CMS support -PACKAGECONFIG[colord] = "--enable-colord,--disable-colord,colord" -# Clients support -PACKAGECONFIG[clients] = "--enable-clients --enable-simple-clients --enable-demo-clients-install,--disable-clients --disable-simple-clients" -# Weston with PAM support -PACKAGECONFIG[pam] = "--with-pam,--without-pam,libpam" - -do_install_append() { - # Weston doesn't need the .la files to load modules, so wipe them - rm -f ${D}/${libdir}/libweston-${WESTON_MAJOR_VERSION}/*.la - - # If X11, ship a desktop file to launch it - if [ "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}" ]; then - install -d ${D}${datadir}/applications - install ${WORKDIR}/weston.desktop ${D}${datadir}/applications - - install -d ${D}${datadir}/icons/hicolor/48x48/apps - install ${WORKDIR}/weston.png ${D}${datadir}/icons/hicolor/48x48/apps - fi - - if [ "${@bb.utils.contains('PACKAGECONFIG', 'xwayland', 'yes', 'no', d)}" = "yes" ]; then - install -Dm 644 ${WORKDIR}/xwayland.weston-start ${D}${datadir}/weston-start/xwayland - fi -} - -PACKAGES += "${@bb.utils.contains('PACKAGECONFIG', 'xwayland', '${PN}-xwayland', '', d)} \ - libweston-${WESTON_MAJOR_VERSION} ${PN}-examples" - -FILES_${PN} = "${bindir}/weston ${bindir}/weston-terminal ${bindir}/weston-info ${bindir}/weston-launch ${bindir}/wcap-decode ${libexecdir} ${libdir}/${BPN}/*.so ${datadir}" - -FILES_libweston-${WESTON_MAJOR_VERSION} = "${libdir}/lib*${SOLIBS} ${libdir}/libweston-${WESTON_MAJOR_VERSION}/*.so" -SUMMARY_libweston-${WESTON_MAJOR_VERSION} = "Helper library for implementing 'wayland window managers'." - -FILES_${PN}-examples = "${bindir}/*" - -FILES_${PN}-xwayland = "${libdir}/libweston-${WESTON_MAJOR_VERSION}/xwayland.so" -RDEPENDS_${PN}-xwayland += "xserver-xorg-xwayland" - -RDEPENDS_${PN} += "xkeyboard-config" -RRECOMMENDS_${PN} = "weston-conf liberation-fonts" -RRECOMMENDS_${PN}-dev += "wayland-protocols" - -USERADD_PACKAGES = "${PN}" -GROUPADD_PARAM_${PN} = "--system weston-launch" diff --git a/poky/meta/recipes-graphics/wayland/weston_6.0.1.bb b/poky/meta/recipes-graphics/wayland/weston_6.0.1.bb new file mode 100644 index 000000000..fe8f1b8c3 --- /dev/null +++ b/poky/meta/recipes-graphics/wayland/weston_6.0.1.bb @@ -0,0 +1,112 @@ +SUMMARY = "Weston, a Wayland compositor" +DESCRIPTION = "Weston is the reference implementation of a Wayland compositor" +HOMEPAGE = "http://wayland.freedesktop.org" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=d79ee9e66bb0f95d3386a7acae780b70 \ + file://libweston/compositor.c;endline=27;md5=6c53bbbd99273f4f7c4affa855c33c0a" + +SRC_URI = "https://wayland.freedesktop.org/releases/${BPN}-${PV}.tar.xz \ + file://weston.png \ + file://weston.desktop \ + file://xwayland.weston-start \ + file://0001-make-error-portable.patch \ + file://0001-weston-launch-Provide-a-default-version-that-doesn-t.patch \ +" +SRC_URI[md5sum] = "e7b10710ef1eac82258f97bfd41fe534" +SRC_URI[sha256sum] = "bf2f6d5aae2e11cabb6bd69a76bcf9edb084f8c3e14ca769bea7234a513155b4" + +UPSTREAM_CHECK_URI = "https://wayland.freedesktop.org/releases.html" + +inherit meson pkgconfig useradd distro_features_check +# depends on virtual/egl +REQUIRED_DISTRO_FEATURES = "opengl" + +DEPENDS = "libxkbcommon gdk-pixbuf pixman cairo glib-2.0 jpeg" +DEPENDS += "wayland wayland-protocols libinput virtual/egl pango wayland-native" + +WESTON_MAJOR_VERSION = "${@'.'.join(d.getVar('PV').split('.')[0:1])}" + +EXTRA_OEMESON += "-Dbackend-default=auto -Dbackend-rdp=false" + +PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'kms fbdev wayland egl', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'x11 wayland', 'xwayland', '', d)} \ + ${@bb.utils.filter('DISTRO_FEATURES', 'pam systemd x11', d)} \ + ${@bb.utils.contains_any('DISTRO_FEATURES', 'wayland x11', '', 'headless', d)} \ + clients launch" +# +# Compositor choices +# +# Weston on KMS +PACKAGECONFIG[kms] = "-Dbackend-drm=true,-Dbackend-drm=false,drm udev virtual/mesa virtual/libgbm mtdev" +# Weston on Wayland (nested Weston) +PACKAGECONFIG[wayland] = "-Dbackend-wayland=true,-Dbackend-wayland=false,virtual/mesa" +# Weston on X11 +PACKAGECONFIG[x11] = "-Dbackend-x11=true,-Dbackend-x11=false,virtual/libx11 libxcb libxcb libxcursor cairo" +# Headless Weston +PACKAGECONFIG[headless] = "-Dbackend-headless=true,-Dbackend-headless=false" +# Weston on framebuffer +PACKAGECONFIG[fbdev] = "-Dbackend-fbdev=true,-Dbackend-fbdev=false,udev mtdev" +# weston-launch +PACKAGECONFIG[launch] = "-Dweston-launch=true,-Dweston-launch=false,drm" +# VA-API desktop recorder +PACKAGECONFIG[vaapi] = "-Dbackend-drm-screencast-vaapi=true,-Dbackend-drm-screencast-vaapi=false,libva" +# Weston with EGL support +PACKAGECONFIG[egl] = "-Drenderer-gl=true,-Drenderer-gl=false,virtual/egl" +# Weston with lcms support +PACKAGECONFIG[lcms] = "-Dcolor-management-lcms=true,-Dcolor-management-lcms=false,lcms" +# Weston with webp support +PACKAGECONFIG[webp] = "-Dimage-webp=true,-Dimage-webp=false,libwebp" +# Weston with systemd-login support +PACKAGECONFIG[systemd] = "-Dsystemd=true -Dlauncher-logind=true,-Dsystemd=false -Dlauncher-logind=false,systemd dbus" +# Weston with Xwayland support (requires X11 and Wayland) +PACKAGECONFIG[xwayland] = "-Dxwayland=true,-Dxwayland=false" +# colord CMS support +PACKAGECONFIG[colord] = "-Dcolor-management-colord=true,-Dcolor-management-colord=false,colord" +# Clients support +PACKAGECONFIG[clients] = "-Dsimple-clients=all -Ddemo-clients=true,-Dsimple-clients= -Ddemo-clients=false" +# Virtual remote output with GStreamer on DRM backend +PACKAGECONFIG[remoting] = "-Dremoting=true,-Dremoting=false,gstreamer-1.0" +# Weston with PAM support +PACKAGECONFIG[pam] = "-Dpam=true,-Dpam=false,libpam" + +do_install_append() { + # Weston doesn't need the .la files to load modules, so wipe them + rm -f ${D}/${libdir}/libweston-${WESTON_MAJOR_VERSION}/*.la + + # If X11, ship a desktop file to launch it + if [ "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}" ]; then + install -d ${D}${datadir}/applications + install ${WORKDIR}/weston.desktop ${D}${datadir}/applications + + install -d ${D}${datadir}/icons/hicolor/48x48/apps + install ${WORKDIR}/weston.png ${D}${datadir}/icons/hicolor/48x48/apps + fi + + if [ "${@bb.utils.contains('PACKAGECONFIG', 'xwayland', 'yes', 'no', d)}" = "yes" ]; then + install -Dm 644 ${WORKDIR}/xwayland.weston-start ${D}${datadir}/weston-start/xwayland + fi + + if [ "${@bb.utils.contains('PACKAGECONFIG', 'launch', 'yes', 'no', d)}" = "yes" ]; then + chmod u+s ${D}${bindir}/weston-launch + fi +} + +PACKAGES += "${@bb.utils.contains('PACKAGECONFIG', 'xwayland', '${PN}-xwayland', '', d)} \ + libweston-${WESTON_MAJOR_VERSION} ${PN}-examples" + +FILES_${PN} = "${bindir}/weston ${bindir}/weston-terminal ${bindir}/weston-info ${bindir}/weston-launch ${bindir}/wcap-decode ${libexecdir} ${libdir}/${BPN}/*.so ${datadir}" + +FILES_libweston-${WESTON_MAJOR_VERSION} = "${libdir}/lib*${SOLIBS} ${libdir}/libweston-${WESTON_MAJOR_VERSION}/*.so" +SUMMARY_libweston-${WESTON_MAJOR_VERSION} = "Helper library for implementing 'wayland window managers'." + +FILES_${PN}-examples = "${bindir}/*" + +FILES_${PN}-xwayland = "${libdir}/libweston-${WESTON_MAJOR_VERSION}/xwayland.so" +RDEPENDS_${PN}-xwayland += "xserver-xorg-xwayland" + +RDEPENDS_${PN} += "xkeyboard-config" +RRECOMMENDS_${PN} = "weston-conf liberation-fonts" +RRECOMMENDS_${PN}-dev += "wayland-protocols" + +USERADD_PACKAGES = "${PN}" +GROUPADD_PARAM_${PN} = "--system weston-launch" diff --git a/poky/meta/recipes-graphics/xorg-app/xdpyinfo_1.3.2.bb b/poky/meta/recipes-graphics/xorg-app/xdpyinfo_1.3.2.bb index af04bb6e3..2d10b7acc 100644 --- a/poky/meta/recipes-graphics/xorg-app/xdpyinfo_1.3.2.bb +++ b/poky/meta/recipes-graphics/xorg-app/xdpyinfo_1.3.2.bb @@ -9,7 +9,7 @@ clients and the server, and the different types of screens and visuals \ that are available." LIC_FILES_CHKSUM = "file://COPYING;md5=f3d09e6b9e203a1af489e16c708f4fb3" -DEPENDS += "libxtst libxext libxxf86vm libxxf86dga libxxf86misc libxi libxrender libxinerama libdmx libxau libxcomposite" +DEPENDS += "libxtst libxext libxxf86vm libxi libxrender libxinerama libdmx libxau libxcomposite" PE = "1" SRC_URI += "file://disable-xkb.patch" diff --git a/poky/meta/recipes-graphics/xorg-app/xrandr_1.5.0.bb b/poky/meta/recipes-graphics/xorg-app/xrandr_1.5.0.bb deleted file mode 100644 index ea6897948..000000000 --- a/poky/meta/recipes-graphics/xorg-app/xrandr_1.5.0.bb +++ /dev/null @@ -1,15 +0,0 @@ -require xorg-app-common.inc - -SUMMARY = "XRandR: X Resize, Rotate and Reflect extension command" - -DESCRIPTION = "Xrandr is used to set the size, orientation and/or \ -reflection of the outputs for a screen. It can also set the screen \ -size." - -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://COPYING;md5=fe1608bdb33cf8c62a4438f7d34679b3" -DEPENDS += "libxrandr libxrender" -PE = "1" - -SRC_URI[md5sum] = "ebffac98021b8f1dc71da0c1918e9b57" -SRC_URI[sha256sum] = "c1cfd4e1d4d708c031d60801e527abc9b6d34b85f2ffa2cadd21f75ff38151cd" diff --git a/poky/meta/recipes-graphics/xorg-app/xrandr_1.5.1.bb b/poky/meta/recipes-graphics/xorg-app/xrandr_1.5.1.bb new file mode 100644 index 000000000..6583ea237 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-app/xrandr_1.5.1.bb @@ -0,0 +1,17 @@ +require xorg-app-common.inc + +SUMMARY = "XRandR: X Resize, Rotate and Reflect extension command" + +DESCRIPTION = "Xrandr is used to set the size, orientation and/or \ +reflection of the outputs for a screen. It can also set the screen \ +size." + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=fe1608bdb33cf8c62a4438f7d34679b3" +DEPENDS += "libxrandr libxrender" +PE = "1" + +SRC_URI = "${XORG_MIRROR}/individual/app/${BPN}-${PV}.tar.xz" + +SRC_URI[md5sum] = "fe40f7a4fd39dd3a02248d3e0b1972e4" +SRC_URI[sha256sum] = "7bc76daf9d72f8aff885efad04ce06b90488a1a169d118dea8a2b661832e8762" diff --git a/poky/meta/recipes-graphics/xorg-app/xset_1.2.4.bb b/poky/meta/recipes-graphics/xorg-app/xset_1.2.4.bb index 5748837fd..e21120e78 100644 --- a/poky/meta/recipes-graphics/xorg-app/xset_1.2.4.bb +++ b/poky/meta/recipes-graphics/xorg-app/xset_1.2.4.bb @@ -7,7 +7,7 @@ preference options of the display." LICENSE = "MIT" LIC_FILES_CHKSUM = "file://COPYING;md5=bea81cc9827cdf1af0e12c2b8228cf8d" -DEPENDS += "libxext libxxf86misc libxmu libxau" +DEPENDS += "libxext libxmu libxau" PE = "1" SRC_URI += "file://disable-xkb.patch" diff --git a/poky/meta/recipes-graphics/xorg-driver/xf86-input-libinput_0.28.2.bb b/poky/meta/recipes-graphics/xorg-driver/xf86-input-libinput_0.28.2.bb deleted file mode 100644 index 19123e06c..000000000 --- a/poky/meta/recipes-graphics/xorg-driver/xf86-input-libinput_0.28.2.bb +++ /dev/null @@ -1,11 +0,0 @@ -require xorg-driver-input.inc - -SUMMARY = "Generic input driver for the X.Org server based on libinput" -LIC_FILES_CHKSUM = "file://COPYING;md5=5e6b20ea2ef94a998145f0ea3f788ee0" - -DEPENDS += "libinput" - -SRC_URI[md5sum] = "b7548bc1d7e82d189205794ff86307af" -SRC_URI[sha256sum] = "b8b346962c6b62b8069928c29c0db83b6f544863bf2fc6830f324de841de2820" - -FILES_${PN} += "${datadir}/X11/xorg.conf.d" diff --git a/poky/meta/recipes-graphics/xorg-driver/xf86-input-libinput_0.29.0.bb b/poky/meta/recipes-graphics/xorg-driver/xf86-input-libinput_0.29.0.bb new file mode 100644 index 000000000..f87083e57 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-driver/xf86-input-libinput_0.29.0.bb @@ -0,0 +1,11 @@ +require xorg-driver-input.inc + +SUMMARY = "Generic input driver for the X.Org server based on libinput" +LIC_FILES_CHKSUM = "file://COPYING;md5=5e6b20ea2ef94a998145f0ea3f788ee0" + +DEPENDS += "libinput" + +SRC_URI[md5sum] = "d600e8e2e30747b8ce49ec5294ff0ab6" +SRC_URI[sha256sum] = "c28b56a21754b972db31798e6a4cf4dc9d69208d08f8fe41701a94def5e94bee" + +FILES_${PN} += "${datadir}/X11/xorg.conf.d" diff --git a/poky/meta/recipes-graphics/xorg-lib/libx11-compose-data/0001-Drop-x11-dependencies.patch b/poky/meta/recipes-graphics/xorg-lib/libx11-compose-data/0001-Drop-x11-dependencies.patch new file mode 100644 index 000000000..46a53a17f --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-lib/libx11-compose-data/0001-Drop-x11-dependencies.patch @@ -0,0 +1,86 @@ +From e1f9b0b531c6ddb11a85c0664051e2e4efc589fb Mon Sep 17 00:00:00 2001 +From: Ming Liu +Date: Sun, 5 May 2019 11:55:14 +0200 +Subject: [PATCH] Drop x11 dependencies + +Upstream-Status: Inappropriate [OE-Specific] + +Signed-off-by: Ming Liu +--- + configure.ac | 44 -------------------------------------------- + 1 file changed, 44 deletions(-) + +diff --git a/configure.ac b/configure.ac +index a5fd706..b42488c 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -76,27 +76,8 @@ fi + AC_SUBST([EXEEXT_FOR_BUILD]) + + # Checks for pkg-config packages +- +-# Always required +-X11_REQUIRES='xproto >= 7.0.17 xextproto xtrans xcb >= 1.11.1' +-X11_EXTRA_DEPS="xcb >= 1.11.1" +- + PKG_PROG_PKG_CONFIG() + +-AC_SUBST(X11_EXTRA_DEPS) +- +-# Issue an error if xtrans.m4 was not found and XTRANS_CONNECTION_FLAGS macro +-# was not expanded, since libX11 with no transport types is rather useless. +-# +-# If you're seeing an error here, be sure you installed the lib/xtrans module +-# first and if it's not in the default location, that you set the ACLOCAL +-# environment variable to find it, such as: +-# ACLOCAL="aclocal -I ${PREFIX}/share/aclocal" +-m4_pattern_forbid([^XTRANS_CONNECTION_FLAGS$]) +- +-# Transport selection macro from xtrans.m4 +-XTRANS_CONNECTION_FLAGS +- + # Check for dlopen + AC_MSG_CHECKING([if run-time linking is supported]) + AC_SEARCH_LIBS(dlopen,[dl svld]) +@@ -237,30 +218,6 @@ AC_SUBST(XTHREAD_CFLAGS) + + AC_CHECK_FUNC(poll, [AC_DEFINE(USE_POLL, 1, [poll() function is available])], ) + +-# +-# Find keysymdef.h +-# +-AC_MSG_CHECKING([keysym definitions]) +-AC_ARG_WITH([keysymdefdir], +- [AC_HELP_STRING([--with-keysymdefdir=DIR], [The location of keysymdef.h (defaults to xproto include dir)])], +- [KEYSYMDEFDIR=$withval], +- [KEYSYMDEFDIR=`$PKG_CONFIG --variable=includedir xproto`/X11]) +- +-if test ! -d "$KEYSYMDEFDIR"; then +- AC_MSG_ERROR([$KEYSYMDEFDIR doesn't exist or isn't a directory]) +-fi +- +-FILES="keysymdef.h XF86keysym.h Sunkeysym.h DECkeysym.h HPkeysym.h" +-for i in $FILES; do +- if test -f "$KEYSYMDEFDIR/$i"; then +- KEYSYMDEFS="$KEYSYMDEFS $KEYSYMDEFDIR/$i" +- elif test "x$i" = "xkeysymdef.h"; then +- AC_MSG_ERROR([Cannot find keysymdef.h]) +- fi +-done +-AC_MSG_RESULT([$KEYSYMDEFS]) +-AC_SUBST(KEYSYMDEFS) +- + AC_ARG_ENABLE(xcms, + AS_HELP_STRING([--disable-xcms], + [Disable Xlib support for CMS *EXPERIMENTAL*]), +@@ -340,7 +297,6 @@ X11_LIBDIR="${libdir}/X11" + AX_DEFINE_DIR(X11_LIBDIR, X11_LIBDIR, [Location of libX11 library data]) + AC_SUBST(X11_LIBDIR) + +-PKG_CHECK_MODULES(X11, [$X11_REQUIRES]) + X11_CFLAGS="$X11_CFLAGS $XTHREAD_CFLAGS" + + # +-- +2.7.4 + diff --git a/poky/meta/recipes-graphics/xorg-lib/libx11-compose-data_1.6.8.bb b/poky/meta/recipes-graphics/xorg-lib/libx11-compose-data_1.6.8.bb new file mode 100644 index 000000000..cabb84e68 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-lib/libx11-compose-data_1.6.8.bb @@ -0,0 +1,35 @@ +SUMMARY = "Xlib: Compose data files for libx11" +DESCRIPTION = "This package provides the compose data files for libx11." + +python () { + if bb.utils.contains('DISTRO_FEATURES', 'x11', True, False, d): + raise bb.parse.SkipRecipe("libx11-compose-data is incompatible with x11 distro feature, use libx11 instead.") +} + +require xorg-lib-common.inc + +LICENSE = "MIT & MIT-style & BSD" +LIC_FILES_CHKSUM = "file://COPYING;md5=172255dee66bb0151435b2d5d709fcf7" + +SRC_URI[md5sum] = "c5fa5a86a20e3591bed6c046498d4b8f" +SRC_URI[sha256sum] = "b289a845c189e251e0e884cc0f9269bbe97c238df3741e854ec4c17c21e473d5" + +SRC_URI += "file://0001-Drop-x11-dependencies.patch" + +XORG_PN = "libX11" + +EXTRA_OECONF += "--disable-xkb" + +PACKAGES = "${PN}" + +FILES_${PN} = "${datadir}/X11/locale ${libdir}/X11/locale" + +do_compile() { + oe_runmake -C nls +} + +do_install() { + oe_runmake DESTDIR=${D} -C nls install +} + +REQUIRED_DISTRO_FEATURES = "" diff --git a/poky/meta/recipes-graphics/xorg-lib/libx11-diet_1.6.7.bb b/poky/meta/recipes-graphics/xorg-lib/libx11-diet_1.6.7.bb deleted file mode 100644 index 9c773a09d..000000000 --- a/poky/meta/recipes-graphics/xorg-lib/libx11-diet_1.6.7.bb +++ /dev/null @@ -1,16 +0,0 @@ -require libx11.inc - -DESCRIPTION += " Support for XCMS and XLOCALE is disabled in \ -this version." - -SRC_URI += "file://X18NCMSstubs.patch \ - file://fix-disable-xlocale.patch \ - file://fix-utf8-wrong-define.patch \ - " - -RPROVIDES_${PN}-dev = "libx11-dev" -RPROVIDES_${PN}-locale = "libx11-locale" - -EXTRA_OECONF += "--disable-xlocale" - -PACKAGECONFIG ??= "" diff --git a/poky/meta/recipes-graphics/xorg-lib/libx11.inc b/poky/meta/recipes-graphics/xorg-lib/libx11.inc index ea2ebfb8b..cce0cb992 100644 --- a/poky/meta/recipes-graphics/xorg-lib/libx11.inc +++ b/poky/meta/recipes-graphics/xorg-lib/libx11.inc @@ -10,8 +10,12 @@ FILESEXTRAPATHS =. "${FILE_DIRNAME}/libx11:" PE = "1" -SRC_URI[md5sum] = "034fdd6cc5393974d88aec6f5bc96162" -SRC_URI[sha256sum] = "910e9e30efba4ad3672ca277741c2728aebffa7bc526f04dcfa74df2e52a1348" +SRC_URI += "file://Fix-hanging-issue-in-_XReply.patch \ + file://no-host-libtool.patch \ + file://no-host-x.patch" + +SRC_URI[md5sum] = "c5fa5a86a20e3591bed6c046498d4b8f" +SRC_URI[sha256sum] = "b289a845c189e251e0e884cc0f9269bbe97c238df3741e854ec4c17c21e473d5" PROVIDES = "virtual/libx11" diff --git a/poky/meta/recipes-graphics/xorg-lib/libx11/X18NCMSstubs.patch b/poky/meta/recipes-graphics/xorg-lib/libx11/X18NCMSstubs.patch deleted file mode 100644 index c1172147a..000000000 --- a/poky/meta/recipes-graphics/xorg-lib/libx11/X18NCMSstubs.patch +++ /dev/null @@ -1,536 +0,0 @@ -From 62005ad019d6afb81da100b3113292a16472d241 Mon Sep 17 00:00:00 2001 -From: Changqing Li -Date: Mon, 10 Sep 2018 09:08:27 +0800 -Subject: [PATCH] Stub out x18n - -Update patch to version 1.6.6 -Signed-off-by: Changqing Li -Upstream-Status: Inappropriate [configuration] ---- - src/Makefile.am | 5 +- - src/X18NCMSstubs.c | 426 +++++++++++++++++++++++++++++++++++++++++++++++++++++ - src/imConv.c | 5 +- - src/locking.c | 4 + - 4 files changed, 438 insertions(+), 2 deletions(-) - create mode 100644 src/X18NCMSstubs.c - -diff --git a/src/Makefile.am b/src/Makefile.am -index f8c476d..cdbcbbd 100644 ---- a/src/Makefile.am -+++ b/src/Makefile.am -@@ -336,13 +336,16 @@ if THRSTUBS - libX11_la_SOURCES+=UIThrStubs.c - endif - -+libX11_la_SOURCES+=X18NCMSstubs.c -+ - x11datadir = @X11_DATADIR@ - x11data_DATA = XErrorDB - - EXTRA_DIST = \ - $(x11data_DATA) \ - os2Stubs.c \ -- UIThrStubs.c -+ UIThrStubs.c \ -+ X18NCMSstubs.c - - libX11_xcb_la_SOURCES = x11_xcb.c Xxcbint.h - libX11_xcb_la_LDFLAGS = -version-number 1:0:0 -no-undefined -diff --git a/src/X18NCMSstubs.c b/src/X18NCMSstubs.c -new file mode 100644 -index 0000000..429cb31 ---- /dev/null -+++ b/src/X18NCMSstubs.c -@@ -0,0 +1,426 @@ -+ /* - Provides stubs and dummy funcs needed when Xcms and XLocale stuff removed -+ * -+ * Copyright © 2003 Matthew Allum -+ * -+ * Permission to use, copy, modify, distribute, and sell this software and its -+ * documentation for any purpose is hereby granted without fee, provided that -+ * the above copyright notice appear in all copies and that both that -+ * copyright notice and this permission notice appear in supporting -+ * documentation, and that the name of Matthew Allum not be used in -+ * advertising or publicity pertaining to distribution of the software without -+ * specific, written prior permission. Keith Packard and Compaq makes no -+ * representations about the suitability of this software for any purpose. It -+ * is provided "as is" without express or implied warranty. -+ * -+ * MATTHEW ALLUM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS -+ * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, -+ * IN NO EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR -+ * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, -+ * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER -+ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -+ * PERFORMANCE OF THIS SOFTWARE. -+ */ -+ -+#include -+#include "Xlibint.h" -+#include "Xlcint.h" -+#include -+#include -+#ifdef WIN32 -+#undef close -+#endif -+#include -+#include "XlcPubI.h" -+ -+#include "Xcmsint.h" /* for XcmsCCC type */ -+#include "XlcPubI.h" /* for XLCd type */ -+#include "config.h" -+ -+#if ! XLOCALE -+ -+Bool -+XSupportsLocale() -+{ -+ return False; -+} -+ -+char * -+XSetLocaleModifiers( -+ const char *modifiers) -+{ -+ return NULL; -+} -+ -+XLCd -+_XOpenLC( -+ char *name) -+{ -+ return NULL; -+} -+ -+XLCd -+_XlcCurrentLC() -+{ -+ return NULL; -+} -+ -+void -+_XlcVaToArgList( -+ va_list var, -+ int count, -+ XlcArgList *args_ret) -+{ -+ return; -+} -+ -+void -+_XlcCountVaList( -+ va_list var, -+ int *count_ret) -+{ -+ return; -+} -+ -+void -+_XCloseLC( -+ XLCd lcd) -+{ -+ return; -+} -+ -+int -+_XlcConvert( -+ XlcConv conv, -+ XPointer *from, -+ int *from_left, -+ XPointer *to, -+ int *to_left, -+ XPointer *args, -+ int num_args) -+{ -+ return 0; -+} -+ -+/* XIM Stubs */ -+ -+XPointer -+_XimGetLocaleCode ( _Xconst char* encoding_name ) -+{ -+ return NULL; -+} -+ -+int -+_XimGetCharCode ( -+ XPointer ucs_conv, -+ KeySym keysym, -+ unsigned char* buf, -+ int nbytes) -+{ -+ return 0; -+} -+ -+/* Xrm Stubs */ -+ -+XrmMethods -+_XrmInitParseInfo( -+ XPointer *state) -+{ -+ return (XrmMethods) NULL; -+} -+ -+/* Xwc Stubs */ -+ -+int -+XwcTextExtents( -+ XFontSet font_set, -+ _Xconst wchar_t *text, -+ int text_len, -+ XRectangle *overall_ink_extents, -+ XRectangle *overall_logical_extents) -+{ -+ return 0; -+} -+ -+void -+XwcDrawString(Display *display, -+ Drawable d, -+ XFontSet font_set, -+ GC gc, -+ int x, int y, -+ _Xconst wchar_t *string, -+ int num_wchars) -+{ -+ ; -+} -+ -+void -+XwcDrawText( -+ Display *dpy, -+ Drawable d, -+ GC gc, -+ int x, -+ int y, -+ XwcTextItem *text_items, -+ int nitems) -+{ -+ ; -+} -+ -+void -+XwcDrawImageString( -+ Display *dpy, -+ Drawable d, -+ XFontSet font_set, -+ GC gc, -+ int x, -+ int y, -+ _Xconst wchar_t *text, -+ int text_len) -+{ -+ ; -+} -+ -+int -+XwcTextEscapement( -+ XFontSet font_set, -+ _Xconst wchar_t *text, -+ int text_len) -+{ -+ return 0; -+} -+ -+Status -+XwcTextPerCharExtents( -+ XFontSet font_set, -+ _Xconst wchar_t *text, -+ int text_len, -+ XRectangle *ink_extents_buffer, -+ XRectangle *logical_extents_buffer, -+ int buffer_size, -+ int *num_chars, -+ XRectangle *max_ink_extents, -+ XRectangle *max_logical_extents) -+{ -+ return(XcmsFailure); -+} -+ -+int -+XwcTextPropertyToTextList( -+ Display *dpy, -+ const XTextProperty *text_prop, -+ wchar_t ***list_ret, -+ int *count_ret) -+{ -+ return 0; -+} -+ -+int -+XwcTextListToTextProperty( -+ Display *dpy, -+ wchar_t **list, -+ int count, -+ XICCEncodingStyle style, -+ XTextProperty *text_prop) -+{ -+ return 0; -+} -+ -+void -+XwcFreeStringList(wchar_t **list) -+{ -+ return; -+} -+ -+ -+void XmbSetWMProperties ( /* Actually from mbWMProps.c */ -+ Display *dpy, -+ Window w, -+ _Xconst char *windowName, -+ _Xconst char *iconName, -+ char **argv, -+ int argc, -+ XSizeHints *sizeHints, -+ XWMHints *wmHints, -+ XClassHint *classHints) -+{ -+ return; -+} -+ -+int -+XmbTextPropertyToTextList( -+ Display *dpy, -+ const XTextProperty *text_prop, -+ char ***list_ret, -+ int *count_ret) -+{ -+ return XLocaleNotSupported; -+} -+ -+int -+XmbTextListToTextProperty( -+ Display *dpy, -+ char **list, -+ int count, -+ XICCEncodingStyle style, -+ XTextProperty *text_prop) -+{ -+ return XLocaleNotSupported; -+} -+ -+int -+XmbTextExtents( -+ XFontSet font_set, -+ _Xconst char *text, -+ int text_len, -+ XRectangle *overall_ink_extents, -+ XRectangle *overall_logical_extents) -+{ -+ return 0; -+} -+ -+void -+XmbDrawText( -+ Display *dpy, -+ Drawable d, -+ GC gc, -+ int x, -+ int y, -+ XmbTextItem *text_items, -+ int nitems) -+{ -+ ; -+} -+ -+void -+XmbDrawString( -+ Display *dpy, -+ Drawable d, -+ XFontSet font_set, -+ GC gc, -+ int x, -+ int y, -+ _Xconst char *text, -+ int text_len) -+{ -+ ; -+} -+ -+void -+XmbDrawImageString( -+ Display *dpy, -+ Drawable d, -+ XFontSet font_set, -+ GC gc, -+ int x, -+ int y, -+ _Xconst char *text, -+ int text_len) -+{ -+ ; -+} -+ -+int -+XmbTextEscapement( -+ XFontSet font_set, -+ _Xconst char *text, -+ int text_len) -+{ -+ return 0; -+} -+ -+Status -+XmbTextPerCharExtents( -+ XFontSet font_set, -+ _Xconst char *text, -+ int text_len, -+ XRectangle *ink_extents_buffer, -+ XRectangle *logical_extents_buffer, -+ int buffer_size, -+ int *num_chars, -+ XRectangle *max_ink_extents, -+ XRectangle *max_logical_extents) -+{ -+ return 0; -+} -+ -+unsigned int -+KeySymToUcs4(KeySym keysym) -+{ -+ return 0; -+} -+ -+#endif -+ -+#if ! XCMS -+ -+XcmsCCC -+XcmsCCCOfColormap(dpy, cmap) -+ Display *dpy; -+ Colormap cmap; -+{ -+ return NULL; -+} -+ -+Status -+_XcmsResolveColorString ( -+ XcmsCCC ccc, -+ const char **color_string, -+ XcmsColor *pColor_exact_return, -+ XcmsColorFormat result_format) -+{ -+ return(XcmsFailure); -+} -+ -+void -+_XcmsUnresolveColor( -+ XcmsCCC ccc, -+ XcmsColor *pColor) -+{ -+ return; -+} -+ -+void -+_XUnresolveColor( -+ XcmsCCC ccc, -+ XColor *pXColor) -+{ -+ return; -+} -+ -+XcmsCmapRec * -+_XcmsAddCmapRec(dpy, cmap, windowID, visual) -+ Display *dpy; -+ Colormap cmap; -+ Window windowID; -+ Visual *visual; -+{ -+ return NULL; -+} -+ -+void -+_XcmsRGB_to_XColor( -+ XcmsColor *pColors, -+ XColor *pXColors, -+ unsigned int nColors) -+{ -+ return; -+} -+ -+XcmsCmapRec * -+_XcmsCopyCmapRecAndFree( -+ Display *dpy, -+ Colormap src_cmap, -+ Colormap copy_cmap) -+{ -+ return NULL; -+} -+ -+void -+_XcmsDeleteCmapRec( -+ Display *dpy, -+ Colormap cmap) -+{ -+ return; -+} -+ -+#endif -diff --git a/src/imConv.c b/src/imConv.c -index c3c1974..04ecc81 100644 ---- a/src/imConv.c -+++ b/src/imConv.c -@@ -80,6 +80,7 @@ static const struct SubstRec SubstTable[] = { - * from UCS char to specified charset char. - * This converter is needed for _XimGetCharCode subroutine. - */ -+#ifdef XLOCALE - XPointer - _XimGetLocaleCode ( - _Xconst char* encoding_name) -@@ -93,7 +94,7 @@ _XimGetLocaleCode ( - } - return cvt; - } -- -+#endif - /* - * Returns the locale dependent representation of a keysym. - * The locale's encoding is passed in form of pointer to UCS convertor. -@@ -105,6 +105,7 @@ _XimGetLocaleCode ( - * locale - */ - /*ARGSUSED*/ -+#ifdef XLOCALE - int - _XimGetCharCode ( - XPointer ucs_conv, -@@ -133,6 +134,7 @@ _XimGetCharCode ( - buf[count]= '\0'; - return count; - } -+#endif - - #ifdef XKB - static int lookup_string( -diff --git a/src/locking.c b/src/locking.c -index 9f4fe06..e6967ee 100644 ---- a/src/locking.c -+++ b/src/locking.c -@@ -65,7 +65,9 @@ in this Software without prior written authorization from The Open Group. - #define NUM_FREE_CVLS 4 - - /* in lcWrap.c */ -+#ifdef XLOCALE - extern LockInfoPtr _Xi18n_lock; -+#endif - - #ifdef WIN32 - static DWORD _X_TlsIndex = (DWORD)-1; -@@ -597,9 +599,11 @@ Status XInitThreads(void) - _Xglobal_lock = &global_lock; - xmutex_init(_Xglobal_lock->lock); - xmutex_set_name(_Xglobal_lock->lock, "Xlib global"); -+#ifdef XLOCALE - _Xi18n_lock = &i18n_lock; - xmutex_init(_Xi18n_lock->lock); - xmutex_set_name(_Xi18n_lock->lock, "Xlib i18n"); -+#endif - _XLockMutex_fn = _XLockMutex; - _XUnlockMutex_fn = _XUnlockMutex; - _XCreateMutex_fn = _XCreateMutex; --- -2.7.4 - diff --git a/poky/meta/recipes-graphics/xorg-lib/libx11/fix-disable-xlocale.patch b/poky/meta/recipes-graphics/xorg-lib/libx11/fix-disable-xlocale.patch deleted file mode 100644 index 09cf74fff..000000000 --- a/poky/meta/recipes-graphics/xorg-lib/libx11/fix-disable-xlocale.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 5c1693028ef12ab767d7cdbc349c27efa1ada87a Mon Sep 17 00:00:00 2001 -From: Changqing Li -Date: Mon, 10 Sep 2018 09:13:38 +0800 -Subject: [PATCH] Fix build when xlocale disabled - -Signed-off-by: Xiaofeng Yan - -Update patch to version 1.6.6 -Signed-off-by: Changqing Li -Upstream-Status: Pending ---- - src/Font.c | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/src/Font.c b/src/Font.c -index a73f9b1..8f4d210 100644 ---- a/src/Font.c -+++ b/src/Font.c -@@ -675,7 +675,11 @@ int _XF86LoadQueryLocaleFont( - } - if (l - 2 - (p - charset) < 0) - return 0; -+#ifdef XLOCALE - if (_XlcNCompareISOLatin1(name + l - 2 - (p - charset), charset, p - charset)) -+#else -+ if (strncasecmp(name + l - 2 - (p - charset), charset, p - charset)) -+#endif - return 0; - if (strlen(p + 1) + l - 1 >= sizeof(buf) - 1) - return 0; --- -2.7.4 - diff --git a/poky/meta/recipes-graphics/xorg-lib/libx11/fix-utf8-wrong-define.patch b/poky/meta/recipes-graphics/xorg-lib/libx11/fix-utf8-wrong-define.patch deleted file mode 100644 index 0b57e0b06..000000000 --- a/poky/meta/recipes-graphics/xorg-lib/libx11/fix-utf8-wrong-define.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 046703373055c7029c19d171e415ff3caaa87372 Mon Sep 17 00:00:00 2001 -From: Changqing Li -Date: Mon, 10 Sep 2018 09:16:33 +0800 -Subject: [PATCH] Disable unicode - -Signed-off-by: Xiaofeng Yan - -Update patch to version 1.6.6 - -Signed-off-by: Changqing Li -Upstream-Status: Pending ---- - include/X11/Xlib.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/include/X11/Xlib.h b/include/X11/Xlib.h -index 84403f7..56be654 100644 ---- a/include/X11/Xlib.h -+++ b/include/X11/Xlib.h -@@ -67,7 +67,7 @@ _Xmblen( - - /* API mentioning "UTF8" or "utf8" is an XFree86 extension, introduced in - November 2000. Its presence is indicated through the following macro. */ --#define X_HAVE_UTF8_STRING 1 -+#undef X_HAVE_UTF8_STRING - - /* The Xlib structs are full of implicit padding to properly align members. - We can't clean that up without breaking ABI, so tell clang not to bother --- -2.7.4 - diff --git a/poky/meta/recipes-graphics/xorg-lib/libx11/no-host-libtool.patch b/poky/meta/recipes-graphics/xorg-lib/libx11/no-host-libtool.patch new file mode 100644 index 000000000..56d9983b1 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-lib/libx11/no-host-libtool.patch @@ -0,0 +1,45 @@ +Upstream-Status: Backport [https://gitlab.freedesktop.org/xorg/lib/libx11/merge_requests/22] +Signed-off-by: Ross Burton + +From edc7680ed5a03cedb5facf14693823455e12c29c Mon Sep 17 00:00:00 2001 +From: Ross Burton +Date: Tue, 6 Aug 2019 14:53:43 +0100 +Subject: [PATCH libX11] src/util/Makefile: explicitly reset LINK to not use + libtool + +Simply looking at libtool redefines LINK globally to use libtool, which when +you're trying to cross-compile to Windows can cause complications. + +As in src/util/ we're simply building a small binary for the build host, reset +LINK to the automake default so that the traditional compile/link steps occur +without libtool. + +Also remove -all-static from LDFLAGS as that is a libtool-specific argument +intended to solve this problem. + +Closes: #100 +Signed-off-by: Ross Burton +--- + src/util/Makefile.am | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/src/util/Makefile.am b/src/util/Makefile.am +index 37314370..b7236530 100644 +--- a/src/util/Makefile.am ++++ b/src/util/Makefile.am +@@ -7,10 +7,11 @@ AM_CFLAGS = \ + AM_CPPFLAGS = \ + -I$(top_srcdir)/include + ++LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ + CC = @CC_FOR_BUILD@ + CPPFLAGS = @CPPFLAGS_FOR_BUILD@ + CFLAGS = @CFLAGS_FOR_BUILD@ +-LDFLAGS = @LDFLAGS_FOR_BUILD@ -all-static ++LDFLAGS = @LDFLAGS_FOR_BUILD@ + LIBS = + EXEEXT = @EXEEXT_FOR_BUILD@ + +-- +2.20.1 + diff --git a/poky/meta/recipes-graphics/xorg-lib/libx11/no-host-x.patch b/poky/meta/recipes-graphics/xorg-lib/libx11/no-host-x.patch new file mode 100644 index 000000000..803f8b408 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-lib/libx11/no-host-x.patch @@ -0,0 +1,40 @@ +Upstream-Status: Backport +Signed-off-by: Ross Burton + +From cf2ef27831173c5ed6f98be3c39caff18fd4e7f1 Mon Sep 17 00:00:00 2001 +From: Adam Jackson +Date: Mon, 17 Jun 2019 13:36:08 -0400 +Subject: [PATCH 1/2] makekeys: Detach ourselves from X headers entirely + +Subsequent to a121b7b0c210efe10bf93453b29050282324c906 we are no longer +building makekeys with enough -I/foo/bar to find the X11 headers, so if +they're not in a system include path, things fail. Since this utility is +only needed at build time, there's no real reason to demand the X +headers be installed for both the build and target machines if cross- +compiling, we can just assume a vaguely ANSI environment instead. + +Tested-by: Niclas Zeising +Reviewed-by: Keith Packard +Reviewed-by: Matt Turner +--- + src/util/makekeys.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/src/util/makekeys.c b/src/util/makekeys.c +index bcb5b7d5..07563315 100644 +--- a/src/util/makekeys.c ++++ b/src/util/makekeys.c +@@ -35,8 +35,10 @@ from The Open Group. + #include + #include + #include ++#include ++#include + +-#include "../Xresinternal.h" ++typedef uint32_t Signature; + + #define KTNUM 4000 + +-- +2.20.1 diff --git a/poky/meta/recipes-graphics/xorg-lib/libx11_1.6.7.bb b/poky/meta/recipes-graphics/xorg-lib/libx11_1.6.7.bb deleted file mode 100644 index 6141f571c..000000000 --- a/poky/meta/recipes-graphics/xorg-lib/libx11_1.6.7.bb +++ /dev/null @@ -1,13 +0,0 @@ -require libx11.inc - -SRC_URI += "file://disable_tests.patch \ - file://Fix-hanging-issue-in-_XReply.patch \ - " - -inherit gettext - -do_configure_append () { - sed -i -e "/X11_CFLAGS/d" ${B}/src/util/Makefile -} - -BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-graphics/xorg-lib/libx11_1.6.8.bb b/poky/meta/recipes-graphics/xorg-lib/libx11_1.6.8.bb new file mode 100644 index 000000000..0d27bc2bc --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-lib/libx11_1.6.8.bb @@ -0,0 +1,7 @@ +require libx11.inc + +SRC_URI += "file://disable_tests.patch" + +inherit gettext + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-graphics/xorg-lib/libxkbcommon_0.8.4.bb b/poky/meta/recipes-graphics/xorg-lib/libxkbcommon_0.8.4.bb index 8fcae12ce..0608fd5af 100644 --- a/poky/meta/recipes-graphics/xorg-lib/libxkbcommon_0.8.4.bb +++ b/poky/meta/recipes-graphics/xorg-lib/libxkbcommon_0.8.4.bb @@ -20,3 +20,7 @@ EXTRA_OECONF = "--disable-docs" PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}" PACKAGECONFIG[x11] = "--enable-x11,--disable-x11,libxcb xkeyboard-config," + +# Fix a following runtime error: +# xkbcommon: ERROR: couldn't find a Compose file for locale "C" +RDEPENDS_${PN} = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'libx11-locale', 'libx11-compose-data', d)}" diff --git a/poky/meta/recipes-graphics/xorg-lib/libxxf86dga_1.1.5.bb b/poky/meta/recipes-graphics/xorg-lib/libxxf86dga_1.1.5.bb deleted file mode 100644 index e1cb34565..000000000 --- a/poky/meta/recipes-graphics/xorg-lib/libxxf86dga_1.1.5.bb +++ /dev/null @@ -1,19 +0,0 @@ -require xorg-lib-common.inc - -SUMMARY = "XFree86-DGA: XFree86 Direct Graphics Access extension library" - -DESCRIPTION = "libXxf86dga provides the XFree86-DGA extension, which \ -allows direct graphics access to a framebuffer-like region, and also \ -allows relative mouse reporting, et al. It is mainly used by games and \ -emulators for games." - -LIC_FILES_CHKSUM = "file://COPYING;md5=abb99ac125f84f424a4278153988e32f" - -DEPENDS += "libxext" - -PE = "1" - -SRC_URI[md5sum] = "0ddeafc13b33086357cfa96fae41ee8e" -SRC_URI[sha256sum] = "2b98bc5f506c6140d4eddd3990842d30f5dae733b64f198a504f07461bdb7203" - -XORG_PN = "libXxf86dga" diff --git a/poky/meta/recipes-graphics/xorg-lib/libxxf86misc_1.0.4.bb b/poky/meta/recipes-graphics/xorg-lib/libxxf86misc_1.0.4.bb deleted file mode 100644 index 45b0673e7..000000000 --- a/poky/meta/recipes-graphics/xorg-lib/libxxf86misc_1.0.4.bb +++ /dev/null @@ -1,19 +0,0 @@ -SUMMARY = "XFree86-Misc: XFree86 miscellaneous extension library" - -DESCRIPTION = "The XFree86-Misc extension, provides a means to access \ -input device configuration settings specific to the XFree86/Xorg DDX." - -require xorg-lib-common.inc - -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://COPYING;md5=27c91ecc435bd3d2bfad868914c94b45" - -DEPENDS += "libxext" -PROVIDES = "xxf86misc" - -PE = "1" - -XORG_PN = "libXxf86misc" - -SRC_URI[md5sum] = "37ad70f8b53b94b550f9290be97fbe2d" -SRC_URI[sha256sum] = "a89c03e2b0f16239d67a2031b9003f31b5a686106bbdb3c797fb88ae472af380" diff --git a/poky/meta/recipes-graphics/xorg-proto/xorgproto/0001-Remove-libdir-specification.patch b/poky/meta/recipes-graphics/xorg-proto/xorgproto/0001-Remove-libdir-specification.patch deleted file mode 100644 index 48296f784..000000000 --- a/poky/meta/recipes-graphics/xorg-proto/xorgproto/0001-Remove-libdir-specification.patch +++ /dev/null @@ -1,468 +0,0 @@ -Upstream-Status: Submitted - -https://cgit.freedesktop.org/xorg/proto/xorgproto/commit/?id=91c1c8e1490c970379efb16784003426faec806e - -From 6feb974e0deb3355908c30e07293d82a3f6996ed Mon Sep 17 00:00:00 2001 -From: Jeremy Puhlman -Date: Mon, 11 Jun 2018 16:42:43 +0000 -Subject: [PATCH] Remove libdir specification. - -Currently the pc files define libdir, however they are installed into -/usr/share, which means they should be architecture agnostic. In a -multilib system, xorg-proto built for each multilib abi, the value of -libdir is going to be different. These should either be installed in -/pkgconfig or they shouldn't define libdir, espeically since -they don't actually use the definition. This specifically causes an -issue when trying to install both abis at the same time, since they are -not binary identical, something like rpm will complain that they - ---- - applewmproto.pc.in | 1 - - bigreqsproto.pc.in | 1 - - compositeproto.pc.in | 1 - - damageproto.pc.in | 1 - - dmxproto.pc.in | 1 - - dri2proto.pc.in | 1 - - dri3proto.pc.in | 1 - - evieproto.pc.in | 1 - - fixesproto.pc.in | 1 - - fontcacheproto.pc.in | 1 - - fontsproto.pc.in | 1 - - glproto.pc.in | 1 - - inputproto.pc.in | 1 - - kbproto.pc.in | 1 - - lg3dproto.pc.in | 1 - - presentproto.pc.in | 1 - - printproto.pc.in | 1 - - randrproto.pc.in | 1 - - recordproto.pc.in | 1 - - renderproto.pc.in | 1 - - resourceproto.pc.in | 1 - - scrnsaverproto.pc.in | 1 - - trapproto.pc.in | 1 - - videoproto.pc.in | 1 - - windowswmproto.pc.in | 1 - - xcalibrateproto.pc.in | 1 - - xcmiscproto.pc.in | 1 - - xextproto.pc.in | 1 - - xf86bigfontproto.pc.in | 1 - - xf86dgaproto.pc.in | 1 - - xf86driproto.pc.in | 1 - - xf86miscproto.pc.in | 1 - - xf86rushproto.pc.in | 1 - - xf86vidmodeproto.pc.in | 1 - - xineramaproto.pc.in | 1 - - xproto.pc.in | 1 - - xproxymngproto.pc.in | 1 - - 37 files changed, 37 deletions(-) - -diff --git a/applewmproto.pc.in b/applewmproto.pc.in -index 17841ac..3227b21 100644 ---- a/applewmproto.pc.in -+++ b/applewmproto.pc.in -@@ -1,6 +1,5 @@ - prefix=@prefix@ - exec_prefix=@exec_prefix@ --libdir=@libdir@ - includedir=@includedir@ - - Name: AppleWMProto -diff --git a/bigreqsproto.pc.in b/bigreqsproto.pc.in -index 94577ed..e21bb59 100644 ---- a/bigreqsproto.pc.in -+++ b/bigreqsproto.pc.in -@@ -1,6 +1,5 @@ - prefix=@prefix@ - exec_prefix=@exec_prefix@ --libdir=@libdir@ - includedir=@includedir@ - - Name: BigReqsProto -diff --git a/compositeproto.pc.in b/compositeproto.pc.in -index da429c7..b0dada1 100644 ---- a/compositeproto.pc.in -+++ b/compositeproto.pc.in -@@ -1,6 +1,5 @@ - prefix=@prefix@ - exec_prefix=@exec_prefix@ --libdir=@libdir@ - includedir=@includedir@ - - Name: CompositeExt -diff --git a/damageproto.pc.in b/damageproto.pc.in -index 6fd9ef1..bfd5244 100644 ---- a/damageproto.pc.in -+++ b/damageproto.pc.in -@@ -1,6 +1,5 @@ - prefix=@prefix@ - exec_prefix=@exec_prefix@ --libdir=@libdir@ - includedir=@includedir@ - - Name: DamageProto -diff --git a/dmxproto.pc.in b/dmxproto.pc.in -index e82ee7d..d140e1c 100644 ---- a/dmxproto.pc.in -+++ b/dmxproto.pc.in -@@ -1,6 +1,5 @@ - prefix=@prefix@ - exec_prefix=@exec_prefix@ --libdir=@libdir@ - includedir=@includedir@ - - Name: DMXProto -diff --git a/dri2proto.pc.in b/dri2proto.pc.in -index cb5b171..fa9d24d 100644 ---- a/dri2proto.pc.in -+++ b/dri2proto.pc.in -@@ -1,6 +1,5 @@ - prefix=@prefix@ - exec_prefix=@exec_prefix@ --libdir=@libdir@ - includedir=@includedir@ - - Name: DRI2Proto -diff --git a/dri3proto.pc.in b/dri3proto.pc.in -index e42d60e..20da358 100644 ---- a/dri3proto.pc.in -+++ b/dri3proto.pc.in -@@ -1,6 +1,5 @@ - prefix=@prefix@ - exec_prefix=@exec_prefix@ --libdir=@libdir@ - includedir=@includedir@ - - Name: DRI3Proto -diff --git a/evieproto.pc.in b/evieproto.pc.in -index 64e0ec4..fd5442b 100644 ---- a/evieproto.pc.in -+++ b/evieproto.pc.in -@@ -1,6 +1,5 @@ - prefix=@prefix@ - exec_prefix=@exec_prefix@ --libdir=@libdir@ - includedir=@includedir@ - - Name: EvIEExt -diff --git a/fixesproto.pc.in b/fixesproto.pc.in -index f8258e2..c7fcb81 100644 ---- a/fixesproto.pc.in -+++ b/fixesproto.pc.in -@@ -1,6 +1,5 @@ - prefix=@prefix@ - exec_prefix=@exec_prefix@ --libdir=@libdir@ - includedir=@includedir@ - - Name: FixesProto -diff --git a/fontcacheproto.pc.in b/fontcacheproto.pc.in -index eb4238b..8ffffe9 100644 ---- a/fontcacheproto.pc.in -+++ b/fontcacheproto.pc.in -@@ -1,6 +1,5 @@ - prefix=@prefix@ - exec_prefix=@exec_prefix@ --libdir=@libdir@ - includedir=@includedir@ - - Name: FontcacheProto -diff --git a/fontsproto.pc.in b/fontsproto.pc.in -index 9d22354..ebb61a4 100644 ---- a/fontsproto.pc.in -+++ b/fontsproto.pc.in -@@ -1,6 +1,5 @@ - prefix=@prefix@ - exec_prefix=@exec_prefix@ --libdir=@libdir@ - includedir=@includedir@ - - Name: FontsProto -diff --git a/glproto.pc.in b/glproto.pc.in -index b951db5..e97bfc9 100644 ---- a/glproto.pc.in -+++ b/glproto.pc.in -@@ -1,6 +1,5 @@ - prefix=@prefix@ - exec_prefix=@exec_prefix@ --libdir=@libdir@ - includedir=@includedir@ - - Name: GLProto -diff --git a/inputproto.pc.in b/inputproto.pc.in -index 1eb6619..270b95c 100644 ---- a/inputproto.pc.in -+++ b/inputproto.pc.in -@@ -1,6 +1,5 @@ - prefix=@prefix@ - exec_prefix=@exec_prefix@ --libdir=@libdir@ - includedir=@includedir@ - - Name: InputProto -diff --git a/kbproto.pc.in b/kbproto.pc.in -index bdd39f1..32a172d 100644 ---- a/kbproto.pc.in -+++ b/kbproto.pc.in -@@ -1,6 +1,5 @@ - prefix=@prefix@ - exec_prefix=@exec_prefix@ --libdir=@libdir@ - includedir=@includedir@ - - Name: KBProto -diff --git a/lg3dproto.pc.in b/lg3dproto.pc.in -index 3930ad7..43fba29 100644 ---- a/lg3dproto.pc.in -+++ b/lg3dproto.pc.in -@@ -1,6 +1,5 @@ - prefix=@prefix@ - exec_prefix=@exec_prefix@ --libdir=@libdir@ - includedir=@includedir@ - - Name: Lg3dProto -diff --git a/presentproto.pc.in b/presentproto.pc.in -index 6ec4b7d..55b84dc 100644 ---- a/presentproto.pc.in -+++ b/presentproto.pc.in -@@ -1,6 +1,5 @@ - prefix=@prefix@ - exec_prefix=@exec_prefix@ --libdir=@libdir@ - includedir=@includedir@ - - Name: PresentProto -diff --git a/printproto.pc.in b/printproto.pc.in -index 8a2e2d6..a2da66d 100644 ---- a/printproto.pc.in -+++ b/printproto.pc.in -@@ -1,6 +1,5 @@ - prefix=@prefix@ - exec_prefix=@exec_prefix@ --libdir=@libdir@ - includedir=@includedir@ - - Name: PrintProto -diff --git a/randrproto.pc.in b/randrproto.pc.in -index 5a5edb2..6d60cbb 100644 ---- a/randrproto.pc.in -+++ b/randrproto.pc.in -@@ -1,6 +1,5 @@ - prefix=@prefix@ - exec_prefix=@exec_prefix@ --libdir=@libdir@ - includedir=@includedir@ - - Name: RandrProto -diff --git a/recordproto.pc.in b/recordproto.pc.in -index 0ff4c0b..a87aa82 100644 ---- a/recordproto.pc.in -+++ b/recordproto.pc.in -@@ -1,6 +1,5 @@ - prefix=@prefix@ - exec_prefix=@exec_prefix@ --libdir=@libdir@ - includedir=@includedir@ - - Name: RecordProto -diff --git a/renderproto.pc.in b/renderproto.pc.in -index e6028ac..34b15e0 100644 ---- a/renderproto.pc.in -+++ b/renderproto.pc.in -@@ -1,6 +1,5 @@ - prefix=@prefix@ - exec_prefix=@exec_prefix@ --libdir=@libdir@ - includedir=@includedir@ - - Name: RenderProto -diff --git a/resourceproto.pc.in b/resourceproto.pc.in -index a409db9..f927cbb 100644 ---- a/resourceproto.pc.in -+++ b/resourceproto.pc.in -@@ -1,6 +1,5 @@ - prefix=@prefix@ - exec_prefix=@exec_prefix@ --libdir=@libdir@ - includedir=@includedir@ - - Name: ResourceProto -diff --git a/scrnsaverproto.pc.in b/scrnsaverproto.pc.in -index 6556a2c..fd9d368 100644 ---- a/scrnsaverproto.pc.in -+++ b/scrnsaverproto.pc.in -@@ -1,6 +1,5 @@ - prefix=@prefix@ - exec_prefix=@exec_prefix@ --libdir=@libdir@ - includedir=@includedir@ - - Name: ScrnSaverProto -diff --git a/trapproto.pc.in b/trapproto.pc.in -index 8cb0aa8..8a220b9 100644 ---- a/trapproto.pc.in -+++ b/trapproto.pc.in -@@ -1,6 +1,5 @@ - prefix=@prefix@ - exec_prefix=@exec_prefix@ --libdir=@libdir@ - includedir=@includedir@ - - Name: TrapProto -diff --git a/videoproto.pc.in b/videoproto.pc.in -index 14b907a..5c22f7a 100644 ---- a/videoproto.pc.in -+++ b/videoproto.pc.in -@@ -1,6 +1,5 @@ - prefix=@prefix@ - exec_prefix=@exec_prefix@ --libdir=@libdir@ - includedir=@includedir@ - - Name: VideoProto -diff --git a/windowswmproto.pc.in b/windowswmproto.pc.in -index 0a2ec0b..ec56e82 100644 ---- a/windowswmproto.pc.in -+++ b/windowswmproto.pc.in -@@ -1,6 +1,5 @@ - prefix=@prefix@ - exec_prefix=@exec_prefix@ --libdir=@libdir@ - includedir=@includedir@ - - Name: WindowsWMProto -diff --git a/xcalibrateproto.pc.in b/xcalibrateproto.pc.in -index 40b6fd0..f1ea5de 100644 ---- a/xcalibrateproto.pc.in -+++ b/xcalibrateproto.pc.in -@@ -1,6 +1,5 @@ - prefix=@prefix@ - exec_prefix=@exec_prefix@ --libdir=@libdir@ - includedir=@includedir@ - - Name: XCalibrate -diff --git a/xcmiscproto.pc.in b/xcmiscproto.pc.in -index 0dfbf21..b72bbc6 100644 ---- a/xcmiscproto.pc.in -+++ b/xcmiscproto.pc.in -@@ -1,6 +1,5 @@ - prefix=@prefix@ - exec_prefix=@exec_prefix@ --libdir=@libdir@ - includedir=@includedir@ - - Name: XCMiscProto -diff --git a/xextproto.pc.in b/xextproto.pc.in -index f66eeae..9419c91 100644 ---- a/xextproto.pc.in -+++ b/xextproto.pc.in -@@ -1,6 +1,5 @@ - prefix=@prefix@ - exec_prefix=@exec_prefix@ --libdir=@libdir@ - includedir=@includedir@ - - Name: XExtProto -diff --git a/xf86bigfontproto.pc.in b/xf86bigfontproto.pc.in -index 18c5647..4a67be6 100644 ---- a/xf86bigfontproto.pc.in -+++ b/xf86bigfontproto.pc.in -@@ -1,6 +1,5 @@ - prefix=@prefix@ - exec_prefix=@exec_prefix@ --libdir=@libdir@ - includedir=@includedir@ - - Name: XF86BigFontProto -diff --git a/xf86dgaproto.pc.in b/xf86dgaproto.pc.in -index 5c5f8b1..e029cd4 100644 ---- a/xf86dgaproto.pc.in -+++ b/xf86dgaproto.pc.in -@@ -1,6 +1,5 @@ - prefix=@prefix@ - exec_prefix=@exec_prefix@ --libdir=@libdir@ - includedir=@includedir@ - - Name: XF86DGAProto -diff --git a/xf86driproto.pc.in b/xf86driproto.pc.in -index 93df292..c8faf14 100644 ---- a/xf86driproto.pc.in -+++ b/xf86driproto.pc.in -@@ -1,6 +1,5 @@ - prefix=@prefix@ - exec_prefix=@exec_prefix@ --libdir=@libdir@ - includedir=@includedir@ - - Name: XF86DRIProto -diff --git a/xf86miscproto.pc.in b/xf86miscproto.pc.in -index af73fa3..05d5d9e 100644 ---- a/xf86miscproto.pc.in -+++ b/xf86miscproto.pc.in -@@ -1,6 +1,5 @@ - prefix=@prefix@ - exec_prefix=@exec_prefix@ --libdir=@libdir@ - includedir=@includedir@ - - Name: XF86MiscProto -diff --git a/xf86rushproto.pc.in b/xf86rushproto.pc.in -index fc5f63b..1c7ff1b 100644 ---- a/xf86rushproto.pc.in -+++ b/xf86rushproto.pc.in -@@ -1,6 +1,5 @@ - prefix=@prefix@ - exec_prefix=@exec_prefix@ --libdir=@libdir@ - includedir=@includedir@ - - Name: XF86RushProto -diff --git a/xf86vidmodeproto.pc.in b/xf86vidmodeproto.pc.in -index fcb74f2..ef062b3 100644 ---- a/xf86vidmodeproto.pc.in -+++ b/xf86vidmodeproto.pc.in -@@ -1,6 +1,5 @@ - prefix=@prefix@ - exec_prefix=@exec_prefix@ --libdir=@libdir@ - includedir=@includedir@ - - Name: XF86VidModeProto -diff --git a/xineramaproto.pc.in b/xineramaproto.pc.in -index 1ffd37d..9172f1e 100644 ---- a/xineramaproto.pc.in -+++ b/xineramaproto.pc.in -@@ -1,6 +1,5 @@ - prefix=@prefix@ - exec_prefix=@exec_prefix@ --libdir=@libdir@ - includedir=@includedir@ - - Name: XineramaProto -diff --git a/xproto.pc.in b/xproto.pc.in -index 8ff2d3d..899316a 100644 ---- a/xproto.pc.in -+++ b/xproto.pc.in -@@ -1,6 +1,5 @@ - prefix=@prefix@ - exec_prefix=@exec_prefix@ --libdir=@libdir@ - includedir=@includedir@ - includex11dir=@includedir@/X11 - -diff --git a/xproxymngproto.pc.in b/xproxymngproto.pc.in -index 5c6fad6..1a81e28 100644 ---- a/xproxymngproto.pc.in -+++ b/xproxymngproto.pc.in -@@ -1,6 +1,5 @@ - prefix=@prefix@ - exec_prefix=@exec_prefix@ --libdir=@libdir@ - includedir=@includedir@ - - Name: XProxyManagementProtocol --- -2.11.1 - diff --git a/poky/meta/recipes-graphics/xorg-proto/xorgproto_2018.4.bb b/poky/meta/recipes-graphics/xorg-proto/xorgproto_2018.4.bb deleted file mode 100644 index cec6e8755..000000000 --- a/poky/meta/recipes-graphics/xorg-proto/xorgproto_2018.4.bb +++ /dev/null @@ -1,16 +0,0 @@ -require xorg-proto-common.inc - -SUMMARY = "XCalibrate: Touchscreen calibration headers" - -DESCRIPTION = "This package provides the headers and specification documents defining \ -the core protocol and (many) extensions for the X Window System" - -LICENSE = "MIT-style" -LIC_FILES_CHKSUM = "file://COPYING-x11proto;md5=b9e051107d5628966739a0b2e9b32676" - -SRC_URI += "file://0001-Remove-libdir-specification.patch" - -SRC_URI[md5sum] = "81557ca47ee66a4e54590fcdadd28114" -SRC_URI[sha256sum] = "fee885e0512899ea5280c593fdb2735beb1693ad170c22ebcc844470eec415a0" - -BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-graphics/xorg-proto/xorgproto_2019.1.bb b/poky/meta/recipes-graphics/xorg-proto/xorgproto_2019.1.bb new file mode 100644 index 000000000..2c7ce2a56 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-proto/xorgproto_2019.1.bb @@ -0,0 +1,14 @@ +require xorg-proto-common.inc + +SUMMARY = "XCalibrate: Touchscreen calibration headers" + +DESCRIPTION = "This package provides the headers and specification documents defining \ +the core protocol and (many) extensions for the X Window System" + +LICENSE = "MIT-style" +LIC_FILES_CHKSUM = "file://COPYING-x11proto;md5=b9e051107d5628966739a0b2e9b32676" + +SRC_URI[md5sum] = "802ccb9e977ba3cf94ba798ddb2898a4" +SRC_URI[sha256sum] = "a6daaa7a6cbc8e374032d83ff7f47d41be98f1e0f4475d66a4da3aa766a0d49b" + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg.inc b/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg.inc index 615ad6d9b..44315f59d 100644 --- a/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg.inc +++ b/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg.inc @@ -27,9 +27,8 @@ inherit autotools pkgconfig inherit distro_features_check REQUIRED_DISTRO_FEATURES = "x11" -PROTO_DEPS = "xorgproto" LIB_DEPS = "pixman libxfont2 xtrans libxau libxext libxdmcp libdrm libxkbfile libpciaccess" -DEPENDS = "${PROTO_DEPS} ${LIB_DEPS} font-util" +DEPENDS = "xorgproto ${LIB_DEPS} font-util" # Split out some modules and extensions from the main package # These aren't needed for basic operations and only take up space: @@ -121,25 +120,26 @@ EXTRA_OECONF += "--with-fop=no \ " OPENGL_PKGCONFIGS = "dri glx glamor dri3 xshmfence" -PACKAGECONFIG ??= "dri2 udev ${XORG_CRYPTO} \ +PACKAGECONFIG ??= "dga dri2 udev ${XORG_CRYPTO} \ ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', '${OPENGL_PKGCONFIGS}', '', d)} \ ${@bb.utils.contains('DISTRO_FEATURES', 'opengl wayland', 'xwayland', '', d)} \ ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd systemd-logind', '', d)} \ " PACKAGECONFIG[udev] = "--enable-config-udev,--disable-config-udev,udev" -PACKAGECONFIG[dri] = "--enable-dri,--disable-dri,xorgproto virtual/mesa" -PACKAGECONFIG[dri2] = "--enable-dri2,--disable-dri2,xorgproto" +PACKAGECONFIG[dga] = "--enable-dga,--disable-dga" +PACKAGECONFIG[dri] = "--enable-dri,--disable-dri,virtual/mesa" +PACKAGECONFIG[dri2] = "--enable-dri2,--disable-dri2" # DRI3 requires xshmfence to also be enabled -PACKAGECONFIG[dri3] = "--enable-dri3,--disable-dri3,xorgproto" -PACKAGECONFIG[glx] = "--enable-glx,--disable-glx,xorgproto virtual/libgl virtual/libx11" +PACKAGECONFIG[dri3] = "--enable-dri3,--disable-dri3" +PACKAGECONFIG[glx] = "--enable-glx,--disable-glx,virtual/libgl virtual/libx11" PACKAGECONFIG[glamor] = "--enable-glamor,--disable-glamor,libepoxy virtual/libgbm,libegl" PACKAGECONFIG[unwind] = "--enable-libunwind,--disable-libunwind,libunwind" PACKAGECONFIG[xshmfence] = "--enable-xshmfence,--disable-xshmfence,libxshmfence" PACKAGECONFIG[xmlto] = "--with-xmlto, --without-xmlto, xmlto-native docbook-xml-dtd4-native docbook-xsl-stylesheets-native" PACKAGECONFIG[systemd-logind] = "--enable-systemd-logind=yes,--enable-systemd-logind=no,dbus," PACKAGECONFIG[systemd] = "--with-systemd-daemon,--without-systemd-daemon,systemd" -PACKAGECONFIG[xinerama] = "--enable-xinerama,--disable-xinerama,xorgproto" +PACKAGECONFIG[xinerama] = "--enable-xinerama,--disable-xinerama" PACKAGECONFIG[xwayland] = "--enable-xwayland,--disable-xwayland,wayland wayland-native wayland-protocols libepoxy" # Xorg requires a SHA1 implementation, pick one diff --git a/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg/0001-compiler.h-Do-not-include-sys-io.h-on-ARM-with-glibc.patch b/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg/0001-compiler.h-Do-not-include-sys-io.h-on-ARM-with-glibc.patch new file mode 100644 index 000000000..da9a4f2b2 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg/0001-compiler.h-Do-not-include-sys-io.h-on-ARM-with-glibc.patch @@ -0,0 +1,63 @@ +From 2ba9510721b7a76cb7fe507449fa0ac997a4cce3 Mon Sep 17 00:00:00 2001 +From: Olivier Fourdan +Date: Mon, 1 Jul 2019 13:20:39 +0200 +Subject: [PATCH] compiler.h: Do not include sys/io.h on ARM with glibc + + on ARM hasn't worked for a long, long time, so it was removed +it from glibc upstream. + +Remove the include to avoid a compilation failure on ARM with glibc. + +Signed-off-by: Olivier Fourdan +Closes: https://gitlab.freedesktop.org/xorg/xserver/issues/840 +Signed-off-by: Khem Raj + +Upstream-Status: Backport [https://gitlab.freedesktop.org/xorg/xserver/commit/fe4cd0e7f5c58fa94db36326aadc1bd4e6d73eba] +--- + hw/xfree86/common/compiler.h | 30 ------------------------------ + 1 file changed, 30 deletions(-) + +diff --git a/hw/xfree86/common/compiler.h b/hw/xfree86/common/compiler.h +index 7144c6a..2b2008b 100644 +--- a/hw/xfree86/common/compiler.h ++++ b/hw/xfree86/common/compiler.h +@@ -758,36 +758,6 @@ inl(unsigned short port) + return xf86ReadMmio32Le((void *) ioBase, port); + } + +-#elif defined(__arm__) && defined(__linux__) +- +-/* for Linux on ARM, we use the LIBC inx/outx routines */ +-/* note that the appropriate setup via "ioperm" needs to be done */ +-/* *before* any inx/outx is done. */ +- +-#include +- +-static __inline__ void +-xf_outb(unsigned short port, unsigned char val) +-{ +- outb(val, port); +-} +- +-static __inline__ void +-xf_outw(unsigned short port, unsigned short val) +-{ +- outw(val, port); +-} +- +-static __inline__ void +-xf_outl(unsigned short port, unsigned int val) +-{ +- outl(val, port); +-} +- +-#define outb xf_outb +-#define outw xf_outw +-#define outl xf_outl +- + #elif defined(__nds32__) + + /* +-- +2.22.0 + diff --git a/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg/musl-arm-inb-outb.patch b/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg/musl-arm-inb-outb.patch deleted file mode 100644 index 4be441fb7..000000000 --- a/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg/musl-arm-inb-outb.patch +++ /dev/null @@ -1,18 +0,0 @@ -inb/outb family for arm is only implemented on glibc -so assumption across linux is wrong - -Signed-off-by: Khem Raj -Upstream-Status: Pending -Index: xorg-server-1.18.0/hw/xfree86/common/compiler.h -=================================================================== ---- xorg-server-1.18.0.orig/hw/xfree86/common/compiler.h -+++ xorg-server-1.18.0/hw/xfree86/common/compiler.h -@@ -758,7 +758,7 @@ inl(unsigned short port) - return xf86ReadMmio32Le((void *) ioBase, port); - } - --#elif defined(__arm__) && defined(__linux__) -+#elif defined(__arm__) && defined(__GLIBC__) - - /* for Linux on ARM, we use the LIBC inx/outx routines */ - /* note that the appropriate setup via "ioperm" needs to be done */ diff --git a/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg/sdksyms-no-build-path.patch b/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg/sdksyms-no-build-path.patch new file mode 100644 index 000000000..be198ece4 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg/sdksyms-no-build-path.patch @@ -0,0 +1,50 @@ +Upstream-Status: Backport [https://gitlab.freedesktop.org/xorg/xserver/merge_requests/253] +Signed-off-by: Ross Burton + +From ca832598d38ba55a001088b57d73c6d7261dc9a7 Mon Sep 17 00:00:00 2001 +From: Ross Burton +Date: Thu, 1 Aug 2019 15:24:51 +0100 +Subject: [PATCH] sdksyms.sh: don't embed the build path + +This script generates a header that has a comment containing the build path for +no real reason. As this source can end up deployed on targets in debug packages +this means there is both potentially sensitive information leakage about the +build environment, and a source of change for reproducible builds. +--- + hw/xfree86/sdksyms.sh | 7 +++++-- + 1 file changed, 5 insertions(+), 2 deletions(-) + +diff --git a/hw/xfree86/sdksyms.sh b/hw/xfree86/sdksyms.sh +index 39e33711d..bdf47a71a 100755 +--- a/hw/xfree86/sdksyms.sh ++++ b/hw/xfree86/sdksyms.sh +@@ -302,13 +302,16 @@ LC_ALL=C + export LC_ALL + ${CPP:-cpp} "$@" sdksyms.c > /dev/null || exit $? + ${CPP:-cpp} "$@" sdksyms.c | ${AWK:-awk} -v topdir=$topdir ' ++function basename(file) { ++ sub(".*/", "", file) ++ return file ++} + BEGIN { + sdk = 0; + print("/*"); + print(" * These symbols are referenced to ensure they"); + print(" * will be available in the X Server binary."); + print(" */"); +- printf("/* topdir=%s */\n", topdir); + print("_X_HIDDEN void *xorg_symbols[] = {"); + + printf("sdksyms.c:") > "sdksyms.dep"; +@@ -337,7 +340,7 @@ BEGIN { + # remove quotes + gsub(/"/, "", $3); + line = $2; +- header = $3; ++ header = basename($3); + if (! headers[$3]) { + printf(" \\\n %s", $3) >> "sdksyms.dep"; + headers[$3] = 1; +-- +2.20.1 + diff --git a/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg_1.20.4.bb b/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg_1.20.4.bb deleted file mode 100644 index ad99d6bec..000000000 --- a/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg_1.20.4.bb +++ /dev/null @@ -1,31 +0,0 @@ -require xserver-xorg.inc - -SRC_URI += "file://musl-arm-inb-outb.patch \ - file://0001-xf86pciBus.c-use-Intel-ddx-only-for-pre-gen4-hardwar.patch \ - file://pkgconfig.patch \ - file://0001-test-xtest-Initialize-array-with-braces.patch \ - " -SRC_URI[md5sum] = "c4841cc24b79420205d082fe82e0a650" -SRC_URI[sha256sum] = "fe0fd493ebe93bfc56bede382fa204458ff5f636ea54d413a5d1bd58e19166ee" - -# These extensions are now integrated into the server, so declare the migration -# path for in-place upgrades. - -RREPLACES_${PN} = "${PN}-extension-dri \ - ${PN}-extension-dri2 \ - ${PN}-extension-record \ - ${PN}-extension-extmod \ - ${PN}-extension-dbe \ - " -RPROVIDES_${PN} = "${PN}-extension-dri \ - ${PN}-extension-dri2 \ - ${PN}-extension-record \ - ${PN}-extension-extmod \ - ${PN}-extension-dbe \ - " -RCONFLICTS_${PN} = "${PN}-extension-dri \ - ${PN}-extension-dri2 \ - ${PN}-extension-record \ - ${PN}-extension-extmod \ - ${PN}-extension-dbe \ - " diff --git a/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg_1.20.5.bb b/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg_1.20.5.bb new file mode 100644 index 000000000..3de6d22e5 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg_1.20.5.bb @@ -0,0 +1,32 @@ +require xserver-xorg.inc + +SRC_URI += "file://0001-xf86pciBus.c-use-Intel-ddx-only-for-pre-gen4-hardwar.patch \ + file://pkgconfig.patch \ + file://0001-test-xtest-Initialize-array-with-braces.patch \ + file://0001-compiler.h-Do-not-include-sys-io.h-on-ARM-with-glibc.patch \ + file://sdksyms-no-build-path.patch \ + " +SRC_URI[md5sum] = "c9fc7e21e11286dbedd22c00df652130" +SRC_URI[sha256sum] = "a81d8243f37e75a03d4f8c55f96d0bc25802be6ec45c3bfa5cb614c6d01bac9d" + +# These extensions are now integrated into the server, so declare the migration +# path for in-place upgrades. + +RREPLACES_${PN} = "${PN}-extension-dri \ + ${PN}-extension-dri2 \ + ${PN}-extension-record \ + ${PN}-extension-extmod \ + ${PN}-extension-dbe \ + " +RPROVIDES_${PN} = "${PN}-extension-dri \ + ${PN}-extension-dri2 \ + ${PN}-extension-record \ + ${PN}-extension-extmod \ + ${PN}-extension-dbe \ + " +RCONFLICTS_${PN} = "${PN}-extension-dri \ + ${PN}-extension-dri2 \ + ${PN}-extension-record \ + ${PN}-extension-extmod \ + ${PN}-extension-dbe \ + " diff --git a/poky/meta/recipes-kernel/linux-firmware/linux-firmware_20190618.bb b/poky/meta/recipes-kernel/linux-firmware/linux-firmware_20190618.bb index acaca955b..9afaad73f 100644 --- a/poky/meta/recipes-kernel/linux-firmware/linux-firmware_20190618.bb +++ b/poky/meta/recipes-kernel/linux-firmware/linux-firmware_20190618.bb @@ -190,6 +190,8 @@ NO_GENERIC_LICENSE[Firmware-xc5000] = "LICENCE.xc5000" NO_GENERIC_LICENSE[Firmware-xc5000c] = "LICENCE.xc5000c" NO_GENERIC_LICENSE[WHENCE] = "WHENCE" +PE = "1" + SRCREV = "0731d06eadc7d9c52e58f354727101813b8da6ea" SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git" diff --git a/poky/meta/recipes-kernel/linux-libc-headers/linux-libc-headers/0001-arm64-sve-uapi-asm-ptrace.h-should-not-depend-on-uap.patch b/poky/meta/recipes-kernel/linux-libc-headers/linux-libc-headers/0001-arm64-sve-uapi-asm-ptrace.h-should-not-depend-on-uap.patch new file mode 100644 index 000000000..5ea46e959 --- /dev/null +++ b/poky/meta/recipes-kernel/linux-libc-headers/linux-libc-headers/0001-arm64-sve-uapi-asm-ptrace.h-should-not-depend-on-uap.patch @@ -0,0 +1,62 @@ +From 35341ca0614ab13e1ef34ad4f29a39e15ef31fa8 Mon Sep 17 00:00:00 2001 +From: Anisse Astier +Date: Mon, 17 Jun 2019 15:22:22 +0200 +Subject: [PATCH] arm64/sve: should not depend on + + +Pulling linux/prctl.h into asm/ptrace.h in the arm64 UAPI headers causes +userspace build issues for any program (e.g. strace and qemu) that +includes both and when using musl libc: + + | error: redefinition of 'struct prctl_mm_map' + | struct prctl_mm_map { + +See https://github.com/foundriesio/meta-lmp/commit/6d4a106e191b5d79c41b9ac78fd321316d3013c0 +for a public example of people working around this issue. + +Although it's a bit grotty, fix this breakage by duplicating the prctl +constant definitions. Since these are part of the kernel ABI, they +cannot be changed in future and so it's not the end of the world to have +them open-coded. + +Fixes: 43d4da2c45b2 ("arm64/sve: ptrace and ELF coredump support") + +Upstream-Status: Backport [https://github.com/torvalds/linux/commit/35341ca0614ab13e1ef34ad4f29a39e15ef31fa8] +Cc: stable@vger.kernel.org +Acked-by: Dave Martin +Signed-off-by: Anisse Astier +Signed-off-by: Will Deacon +--- + arch/arm64/include/uapi/asm/ptrace.h | 8 +++----- + 1 file changed, 3 insertions(+), 5 deletions(-) + +diff --git a/arch/arm64/include/uapi/asm/ptrace.h b/arch/arm64/include/uapi/asm/ptrace.h +index 97c53203150b..e932284993d4 100644 +--- a/arch/arm64/include/uapi/asm/ptrace.h ++++ b/arch/arm64/include/uapi/asm/ptrace.h +@@ -65,8 +65,6 @@ + + #ifndef __ASSEMBLY__ + +-#include +- + /* + * User structures for general purpose, floating point and debug registers. + */ +@@ -113,10 +111,10 @@ struct user_sve_header { + + /* + * Common SVE_PT_* flags: +- * These must be kept in sync with prctl interface in ++ * These must be kept in sync with prctl interface in + */ +-#define SVE_PT_VL_INHERIT (PR_SVE_VL_INHERIT >> 16) +-#define SVE_PT_VL_ONEXEC (PR_SVE_SET_VL_ONEXEC >> 16) ++#define SVE_PT_VL_INHERIT ((1 << 17) /* PR_SVE_VL_INHERIT */ >> 16) ++#define SVE_PT_VL_ONEXEC ((1 << 18) /* PR_SVE_SET_VL_ONEXEC */ >> 16) + + + /* +-- +2.22.0 + diff --git a/poky/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_5.0.bb b/poky/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_5.0.bb index e76120c5b..473688d95 100644 --- a/poky/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_5.0.bb +++ b/poky/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_5.0.bb @@ -12,6 +12,7 @@ SRC_URI_append_libc-musl = "\ SRC_URI_append = "\ file://0001-scripts-Use-fixed-input-and-output-files-instead-of-.patch \ file://0001-kbuild-install_headers.sh-Strip-_UAPI-from-if-define.patch \ + file://0001-arm64-sve-uapi-asm-ptrace.h-should-not-depend-on-uap.patch \ " SRC_URI[md5sum] = "7381ce8aac80a01448e065ce795c19c0" diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-dev.bb b/poky/meta/recipes-kernel/linux/linux-yocto-dev.bb index 8c83620d3..96117ccf3 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.2-rc+" +LINUX_VERSION ?= "5.3-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 9715241bf..4013a0c2d 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 ?= "dac3a011d5832c5f94ffac569559f05014746f01" -SRCREV_meta ?= "772b96e00bb4d0dc4d2a18d2f7da7d5df53bf368" +SRCREV_machine ?= "ca2e3322f4c5678eaef6434c808d0842c805d74d" +SRCREV_meta ?= "960be4218436fbbb3500e019f7abf02fa94e6aac" 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.57" +LINUX_VERSION ?= "4.19.61" LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814" 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 6d42cfa97..4759d8043 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.57" +LINUX_VERSION ?= "4.19.61" 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 ?= "36a736baed7fedb11c7c39b3e8d06e165e9e4d06" -SRCREV_machine ?= "b1d253af9cdeb237b4875ca6184c0cbdfbe65e70" -SRCREV_meta ?= "772b96e00bb4d0dc4d2a18d2f7da7d5df53bf368" +SRCREV_machine_qemuarm ?= "b5a2efa31290f31384971494031285d394635938" +SRCREV_machine ?= "4ec6f255163da37a4c83528e5835b6b9baccee63" +SRCREV_meta ?= "960be4218436fbbb3500e019f7abf02fa94e6aac" 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 c284bef44..cee8af7c9 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 ?= "c093532d256a8c46a4e73a940998ddec916f63be" -SRCREV_machine_qemuarm64 ?= "b1d253af9cdeb237b4875ca6184c0cbdfbe65e70" -SRCREV_machine_qemumips ?= "8bac53c36a72ab7dc343f754a76094c41c633c77" -SRCREV_machine_qemuppc ?= "b1d253af9cdeb237b4875ca6184c0cbdfbe65e70" -SRCREV_machine_qemux86 ?= "b1d253af9cdeb237b4875ca6184c0cbdfbe65e70" -SRCREV_machine_qemux86-64 ?= "b1d253af9cdeb237b4875ca6184c0cbdfbe65e70" -SRCREV_machine_qemumips64 ?= "bbc2fcd94ccdb48977a7bf3fcbbc56ef785a0bd1" -SRCREV_machine ?= "b1d253af9cdeb237b4875ca6184c0cbdfbe65e70" -SRCREV_meta ?= "772b96e00bb4d0dc4d2a18d2f7da7d5df53bf368" +SRCREV_machine_qemuarm ?= "ca3cb923f8d7962c6d47a8d29923e52da1818854" +SRCREV_machine_qemuarm64 ?= "4ec6f255163da37a4c83528e5835b6b9baccee63" +SRCREV_machine_qemumips ?= "f624314048dfac57e47ac91d89ca3dc8395ca47a" +SRCREV_machine_qemuppc ?= "4ec6f255163da37a4c83528e5835b6b9baccee63" +SRCREV_machine_qemux86 ?= "4ec6f255163da37a4c83528e5835b6b9baccee63" +SRCREV_machine_qemux86-64 ?= "4ec6f255163da37a4c83528e5835b6b9baccee63" +SRCREV_machine_qemumips64 ?= "ca47368b698795cd5cada84dbfcceda1f47da1aa" +SRCREV_machine ?= "4ec6f255163da37a4c83528e5835b6b9baccee63" +SRCREV_meta ?= "960be4218436fbbb3500e019f7abf02fa94e6aac" 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.57" +LINUX_VERSION ?= "4.19.61" DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}" DEPENDS += "openssl-native util-linux-native" diff --git a/poky/meta/recipes-kernel/lttng/lttng-tools/0001-check-for-gettid-API-during-configure.patch b/poky/meta/recipes-kernel/lttng/lttng-tools/0001-check-for-gettid-API-during-configure.patch new file mode 100644 index 000000000..c494cee60 --- /dev/null +++ b/poky/meta/recipes-kernel/lttng/lttng-tools/0001-check-for-gettid-API-during-configure.patch @@ -0,0 +1,55 @@ +From 69c62f5f3cc424b7dd0c8e4097743b39a9c48306 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sat, 27 Jul 2019 08:48:13 -0700 +Subject: [lttng-tools][PATCH] check for gettid API during configure + +Add support for gettid() provided by glibc 2.30+ + +Since version 2.30 glibc provides gettid and it causes conflicts with +locally defined gettid(). Use the local definition of +gettid only if system gettid is not available. + +https://sourceware.org/git/?p=glibc.git;a=blob_plain;f=NEWS;hb=HEAD + +Upstream-Status: Pending +Signed-off-by: Khem Raj +--- + configure.ac | 2 +- + src/common/compat/tid.h | 3 ++- + 2 files changed, 3 insertions(+), 2 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 7b99f5c..e4bd82c 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -190,7 +190,7 @@ AC_CHECK_HEADERS([ \ + # Basic functions check + AC_CHECK_FUNCS([ \ + atexit bzero clock_gettime dup2 fdatasync fls ftruncate \ +- gethostbyname gethostname getpagesize localtime_r memchr memset \ ++ gethostbyname gethostname getpagesize gettid localtime_r memchr memset \ + mkdir munmap putenv realpath rmdir socket strchr strcspn strdup \ + strncasecmp strndup strnlen strpbrk strrchr strstr strtol strtoul \ + strtoull dirfd gethostbyname2 getipnodebyname epoll_create1 \ +diff --git a/src/common/compat/tid.h b/src/common/compat/tid.h +index 40f562f..aa07a85 100644 +--- a/src/common/compat/tid.h ++++ b/src/common/compat/tid.h +@@ -25,6 +25,7 @@ + #ifndef LTTNG_TID_H + #define LTTNG_TID_H + ++#if !HAVE_GETTID + #ifdef __linux__ + #include + #endif +@@ -47,5 +48,5 @@ static inline pid_t gettid(void) + return getpid(); + } + #endif +- ++#endif /* HAVE_GETTID */ + #endif /* LTTNG_TID_H */ +-- +2.22.0 + diff --git a/poky/meta/recipes-kernel/lttng/lttng-tools_2.10.7.bb b/poky/meta/recipes-kernel/lttng/lttng-tools_2.10.7.bb index 469ad111c..aa6d19d0f 100644 --- a/poky/meta/recipes-kernel/lttng/lttng-tools_2.10.7.bb +++ b/poky/meta/recipes-kernel/lttng/lttng-tools_2.10.7.bb @@ -34,6 +34,7 @@ SRC_URI = "https://lttng.org/files/lttng-tools/lttng-tools-${PV}.tar.bz2 \ file://lttng-sessiond.service \ file://0001-Skip-when-testapp-is-not-present.patch \ file://0002-Fix-check-for-lttng-modules-presence-before-testing.patch \ + file://0001-check-for-gettid-API-during-configure.patch \ " SRC_URI[md5sum] = "e7804d10e4cade381e241601f6047373" diff --git a/poky/meta/recipes-kernel/lttng/lttng-ust/0001-Add-config-time-check-for-new-gettid-API.patch b/poky/meta/recipes-kernel/lttng/lttng-ust/0001-Add-config-time-check-for-new-gettid-API.patch new file mode 100644 index 000000000..15db1d3af --- /dev/null +++ b/poky/meta/recipes-kernel/lttng/lttng-ust/0001-Add-config-time-check-for-new-gettid-API.patch @@ -0,0 +1,57 @@ +From 2bb3e259d0410f16a8b2058a05af434376a1583a Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Fri, 26 Jul 2019 09:57:32 -0700 +Subject: [lttng-ust][PATCH] Add config time check for new gettid API + +glibc 2.30 introdoced this function see [1] +so its best to detect it +and provide fallbacks only if its not present + +[1] https://sourceware.org/bugzilla/show_bug.cgi?id=6399 + +Upstream-Status: Submitted [https://lists.lttng.org/pipermail/lttng-dev/2019-July/029131.html] + +Signed-off-by: Khem Raj +--- + configure.ac | 1 + + include/lttng/ust-tid.h | 7 +++++-- + 2 files changed, 6 insertions(+), 2 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 7fa059a..b1099c1 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -137,6 +137,7 @@ AC_CHECK_FUNCS([ \ + clock_gettime \ + ftruncate \ + getpagesize \ ++ gettid \ + gettimeofday \ + localeconv \ + memchr \ +diff --git a/include/lttng/ust-tid.h b/include/lttng/ust-tid.h +index e669d7e..7995c78 100644 +--- a/include/lttng/ust-tid.h ++++ b/include/lttng/ust-tid.h +@@ -26,7 +26,10 @@ + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ +- ++#include ++#if HAVE_GETTID ++#include ++#else + #ifdef __linux__ + #include + #endif +@@ -49,5 +52,5 @@ static inline pid_t gettid(void) + return getpid(); + } + #endif +- ++#endif /* HAVE_GETTID */ + #endif /* _LTTNG_UST_TID_H */ +-- +2.22.0 + diff --git a/poky/meta/recipes-kernel/lttng/lttng-ust_2.10.4.bb b/poky/meta/recipes-kernel/lttng/lttng-ust_2.10.4.bb index a8eebb223..861a05e6a 100644 --- a/poky/meta/recipes-kernel/lttng/lttng-ust_2.10.4.bb +++ b/poky/meta/recipes-kernel/lttng/lttng-ust_2.10.4.bb @@ -27,6 +27,7 @@ PE = "2" SRC_URI = "https://lttng.org/files/lttng-ust/lttng-ust-${PV}.tar.bz2 \ file://lttng-ust-doc-examples-disable.patch \ + file://0001-Add-config-time-check-for-new-gettid-API.patch \ " SRC_URI[md5sum] = "19916ff0dec23c90f985586a8cbd1fd2" diff --git a/poky/meta/recipes-kernel/powertop/powertop/0001-wakeup_xxx.h-include-limits.h.patch b/poky/meta/recipes-kernel/powertop/powertop/0001-wakeup_xxx.h-include-limits.h.patch new file mode 100644 index 000000000..7bfca8abf --- /dev/null +++ b/poky/meta/recipes-kernel/powertop/powertop/0001-wakeup_xxx.h-include-limits.h.patch @@ -0,0 +1,55 @@ +From 4c24fdd8e0a42359df7308155b2d43c28a5e02fd Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Mon, 20 May 2019 20:25:00 +0200 +Subject: [PATCH] wakeup_xxx.h: include limits.h + +limits.h must be included to define PATH_MAX otherwise build will fail +on: + +In file included from wakeup/wakeup_ethernet.cpp:45:0: +wakeup/wakeup_ethernet.h:35:16: error: 'PATH_MAX' was not declared in this scope + char eth_path[PATH_MAX]; + +In file included from wakeup/wakeup_usb.cpp:45:0: +wakeup/wakeup_usb.h:35:16: error: 'PATH_MAX' was not declared in this scope + char usb_path[PATH_MAX]; + +Fixes: + - http://autobuild.buildroot.org/results/a0b3337cf4a827e6566f8b15b6bb180f0dcef7a3 + +Signed-off-by: Fabrice Fontaine +Signed-off-by: Martin Jansa + +Upstream-Status: Submitted [https://lists.01.org/pipermail/powertop/2019-May/002052.html] +--- + src/wakeup/wakeup_ethernet.h | 1 + + src/wakeup/wakeup_usb.h | 1 + + 2 files changed, 2 insertions(+) + +diff --git a/src/wakeup/wakeup_ethernet.h b/src/wakeup/wakeup_ethernet.h +index 682bf95..e0fa628 100644 +--- a/src/wakeup/wakeup_ethernet.h ++++ b/src/wakeup/wakeup_ethernet.h +@@ -25,6 +25,7 @@ + #ifndef _INCLUDE_GUARD_ETHERNET_WAKEUP_H + #define _INCLUDE_GUARD_ETHERNET_WAKEUP_H + ++#include + #include + + #include "wakeup.h" +diff --git a/src/wakeup/wakeup_usb.h b/src/wakeup/wakeup_usb.h +index f7a1f7e..15898e3 100644 +--- a/src/wakeup/wakeup_usb.h ++++ b/src/wakeup/wakeup_usb.h +@@ -25,6 +25,7 @@ + #ifndef _INCLUDE_GUARD_USB_WAKEUP_H + #define _INCLUDE_GUARD_USB_WAKEUP_H + ++#include + #include + + #include "wakeup.h" +-- +2.20.1 + diff --git a/poky/meta/recipes-kernel/powertop/powertop_2.10.bb b/poky/meta/recipes-kernel/powertop/powertop_2.10.bb index d943ba9f6..5be8d2311 100644 --- a/poky/meta/recipes-kernel/powertop/powertop_2.10.bb +++ b/poky/meta/recipes-kernel/powertop/powertop_2.10.bb @@ -7,6 +7,7 @@ LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=12f884d2ae1ff87c09e5b7ccc2c4ca7e" SRC_URI = "http://01.org/sites/default/files/downloads/powertop-v${PV}.tar.gz \ + file://0001-wakeup_xxx.h-include-limits.h.patch \ " SRC_URI[md5sum] = "a69bd55901cf919cc564187402ea2c9c" diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/headerfix.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/headerfix.patch new file mode 100644 index 000000000..34d25a0a4 --- /dev/null +++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/headerfix.patch @@ -0,0 +1,43 @@ +Things break with overlapping defines between glib and gstreamer with glibc 2.30. + +Discussion in the link below, basically internal __ prefixed variables +shouldn't be redefined. + +Upstream-Status: Submitted [https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/issues/635] +RP 2019/8/6 + +Index: gst-plugins-good-1.16.0/sys/v4l2/ext/types-compat.h +=================================================================== +--- gst-plugins-good-1.16.0.orig/sys/v4l2/ext/types-compat.h ++++ gst-plugins-good-1.16.0/sys/v4l2/ext/types-compat.h +@@ -24,29 +24,6 @@ + #ifndef __TYPES_COMPAT_H__ + #define __TYPES_COMPAT_H__ + +-/* From linux/types.h */ +-#ifndef __bitwise__ +-# ifdef __CHECKER__ +-# define __bitwise__ __attribute__((bitwise)) +-# else +-# define __bitwise__ +-# endif +-#endif +- +-#ifndef __bitwise +-# ifdef __CHECK_ENDIAN__ +-# define __bitwise __bitwise__ +-# else +-# define __bitwise +-# endif +-#endif +- +-#define __u64 guint64 +-#define __u32 guint32 +-#define __u16 guint16 +-#define __u8 guint8 +-#define __s64 gint64 +-#define __s32 gint32 +-#define __le32 guint32 __bitwise ++#include + + #endif /* __TYPES_COMPAT_H__ */ 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 index ad831ed25..5751467db 100644 --- 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 @@ -4,6 +4,7 @@ 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 \ + file://headerfix.patch \ " SRC_URI[md5sum] = "d1a7b442994d9522418de4af4330e034" diff --git a/poky/meta/recipes-multimedia/mpg123/mpg123_1.25.10.bb b/poky/meta/recipes-multimedia/mpg123/mpg123_1.25.10.bb deleted file mode 100644 index dfb10bb1c..000000000 --- a/poky/meta/recipes-multimedia/mpg123/mpg123_1.25.10.bb +++ /dev/null @@ -1,51 +0,0 @@ -SUMMARY = "Audio decoder for MPEG-1 Layer 1/2/3" -DESCRIPTION = "The core of mpg123 is an MPEG-1 Layer 1/2/3 decoding library, which can be used by other programs. \ -mpg123 also comes with a command-line tool which can playback using ALSA, PulseAudio, OSS, and several other APIs, \ -and also can write the decoded audio to WAV." -HOMEPAGE = "http://mpg123.de/" -BUGTRACKER = "http://sourceforge.net/p/mpg123/bugs/" -SECTION = "multimedia" - -LICENSE = "LGPLv2.1" -LIC_FILES_CHKSUM = "file://COPYING;md5=1e86753638d3cf2512528b99079bc4f3" - -SRC_URI = "https://www.mpg123.de/download/${BP}.tar.bz2 \ - file://sdl2.patch" -SRC_URI[md5sum] = "ea32caa61d41d8be797f0b04a1b43ad9" -SRC_URI[sha256sum] = "6c1337aee2e4bf993299851c70b7db11faec785303cfca3a5c3eb5f329ba7023" - -inherit autotools pkgconfig - -# The options should be mutually exclusive for configuration script. -# If both alsa and pulseaudio are specified (as in the default distro features) -# pulseaudio takes precedence. -PACKAGECONFIG_ALSA = "${@bb.utils.filter('DISTRO_FEATURES', 'alsa', d)}" -PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'pulseaudio', 'pulseaudio', '${PACKAGECONFIG_ALSA}', d)}" - -PACKAGECONFIG[alsa] = "--with-default-audio=alsa,,alsa-lib" -PACKAGECONFIG[esd] = ",,esound" -PACKAGECONFIG[jack] = ",,jack" -PACKAGECONFIG[openal] = ",,openal-soft" -PACKAGECONFIG[portaudio] = ",,portaudio-v19" -PACKAGECONFIG[pulseaudio] = "--with-default-audio=pulse,,pulseaudio" -PACKAGECONFIG[sdl] = ",,libsdl2" - -# Following are possible sound output modules: -# alsa arts coreaudio dummy esd jack nas openal os2 oss portaudio pulse sdl sndio sun tinyalsa win32 win32_wasapi -AUDIOMODS += "${@bb.utils.filter('PACKAGECONFIG', 'alsa esd jack openal portaudio sdl', d)}" -AUDIOMODS += "${@bb.utils.contains('PACKAGECONFIG', 'pulseaudio', 'pulse', '', d)}" - -EXTRA_OECONF = " \ - --enable-shared \ - --with-audio='${AUDIOMODS}' \ - ${@bb.utils.contains('TUNE_FEATURES', 'neon', '--with-cpu=neon', '', d)} \ - ${@bb.utils.contains('TUNE_FEATURES', 'altivec', '--with-cpu=altivec', '', d)} \ -" -# Fails to build with thumb-1 (qemuarm) -#| {standard input}: Assembler messages: -#| {standard input}:47: Error: selected processor does not support Thumb mode `smull r5,r6,r7,r4' -#| {standard input}:48: Error: shifts in CMP/MOV instructions are only supported in unified syntax -- `mov r5,r5,lsr#24' -#... -#| make[3]: *** [equalizer.lo] Error 1 -ARM_INSTRUCTION_SET_armv4 = "arm" -ARM_INSTRUCTION_SET_armv5 = "arm" diff --git a/poky/meta/recipes-multimedia/mpg123/mpg123_1.25.11.bb b/poky/meta/recipes-multimedia/mpg123/mpg123_1.25.11.bb new file mode 100644 index 000000000..d063ef5c5 --- /dev/null +++ b/poky/meta/recipes-multimedia/mpg123/mpg123_1.25.11.bb @@ -0,0 +1,51 @@ +SUMMARY = "Audio decoder for MPEG-1 Layer 1/2/3" +DESCRIPTION = "The core of mpg123 is an MPEG-1 Layer 1/2/3 decoding library, which can be used by other programs. \ +mpg123 also comes with a command-line tool which can playback using ALSA, PulseAudio, OSS, and several other APIs, \ +and also can write the decoded audio to WAV." +HOMEPAGE = "http://mpg123.de/" +BUGTRACKER = "http://sourceforge.net/p/mpg123/bugs/" +SECTION = "multimedia" + +LICENSE = "LGPLv2.1" +LIC_FILES_CHKSUM = "file://COPYING;md5=1e86753638d3cf2512528b99079bc4f3" + +SRC_URI = "https://www.mpg123.de/download/${BP}.tar.bz2 \ + file://sdl2.patch" +SRC_URI[md5sum] = "64749512a6fdc117227abe13fee4cc36" +SRC_URI[sha256sum] = "df063307faa27c7d9efe63d2139b1564cfc7cdbb7c6f449c89ef8faabfa0eab2" + +inherit autotools pkgconfig + +# The options should be mutually exclusive for configuration script. +# If both alsa and pulseaudio are specified (as in the default distro features) +# pulseaudio takes precedence. +PACKAGECONFIG_ALSA = "${@bb.utils.filter('DISTRO_FEATURES', 'alsa', d)}" +PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'pulseaudio', 'pulseaudio', '${PACKAGECONFIG_ALSA}', d)}" + +PACKAGECONFIG[alsa] = "--with-default-audio=alsa,,alsa-lib" +PACKAGECONFIG[esd] = ",,esound" +PACKAGECONFIG[jack] = ",,jack" +PACKAGECONFIG[openal] = ",,openal-soft" +PACKAGECONFIG[portaudio] = ",,portaudio-v19" +PACKAGECONFIG[pulseaudio] = "--with-default-audio=pulse,,pulseaudio" +PACKAGECONFIG[sdl] = ",,libsdl2" + +# Following are possible sound output modules: +# alsa arts coreaudio dummy esd jack nas openal os2 oss portaudio pulse sdl sndio sun tinyalsa win32 win32_wasapi +AUDIOMODS += "${@bb.utils.filter('PACKAGECONFIG', 'alsa esd jack openal portaudio sdl', d)}" +AUDIOMODS += "${@bb.utils.contains('PACKAGECONFIG', 'pulseaudio', 'pulse', '', d)}" + +EXTRA_OECONF = " \ + --enable-shared \ + --with-audio='${AUDIOMODS}' \ + ${@bb.utils.contains('TUNE_FEATURES', 'neon', '--with-cpu=neon', '', d)} \ + ${@bb.utils.contains('TUNE_FEATURES', 'altivec', '--with-cpu=altivec', '', d)} \ +" +# Fails to build with thumb-1 (qemuarm) +#| {standard input}: Assembler messages: +#| {standard input}:47: Error: selected processor does not support Thumb mode `smull r5,r6,r7,r4' +#| {standard input}:48: Error: shifts in CMP/MOV instructions are only supported in unified syntax -- `mov r5,r5,lsr#24' +#... +#| make[3]: *** [equalizer.lo] Error 1 +ARM_INSTRUCTION_SET_armv4 = "arm" +ARM_INSTRUCTION_SET_armv5 = "arm" diff --git a/poky/meta/recipes-multimedia/pulseaudio/pulseaudio.inc b/poky/meta/recipes-multimedia/pulseaudio/pulseaudio.inc index e245be7f7..ec51d8b27 100644 --- a/poky/meta/recipes-multimedia/pulseaudio/pulseaudio.inc +++ b/poky/meta/recipes-multimedia/pulseaudio/pulseaudio.inc @@ -259,9 +259,12 @@ FILES_${PN}-module-gsettings += "${libexecdir}/pulse/gsettings-helper ${datadir} # modules must be installed when X11 is enabled. RDEPENDS_pulseaudio-server += "\ ${@bb.utils.contains('DISTRO_FEATURES', 'x11', '\ - pulseaudio-module-console-kit \ pulseaudio-module-device-manager \ pulseaudio-module-x11-cork-request \ pulseaudio-module-x11-publish \ pulseaudio-module-x11-xsmp \ ', '', d)}" + +RDEPENDS_pulseaudio-server += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', \ + bb.utils.contains('DISTRO_FEATURES', 'systemd', 'pulseaudio-module-systemd-login', 'pulseaudio-module-console-kit', d), \ + '', d)}" diff --git a/poky/meta/recipes-multimedia/pulseaudio/pulseaudio/0001-alsa-Fix-inclusion-of-use-case.h.patch b/poky/meta/recipes-multimedia/pulseaudio/pulseaudio/0001-alsa-Fix-inclusion-of-use-case.h.patch new file mode 100644 index 000000000..15026a2f8 --- /dev/null +++ b/poky/meta/recipes-multimedia/pulseaudio/pulseaudio/0001-alsa-Fix-inclusion-of-use-case.h.patch @@ -0,0 +1,46 @@ +From b89d33bb182c42db5ad3987b0e91b7bf62f421e8 Mon Sep 17 00:00:00 2001 +From: Takashi Iwai +Date: Sun, 21 Apr 2019 11:59:30 +0200 +Subject: [PATCH] alsa: Fix inclusion of use-case.h + +The recent change in ALSA upstream stripped -I$include/alsa path from +pkgconfig. We already fixed for this change in some places but still +the code for UCM was overlooked, and this resulted in the unresolved +symbols in alsa card module. Fix them as well. + +Signed-off-by: Takashi Iwai +Upstream-Status: Backport +--- + configure.ac | 2 +- + src/modules/alsa/alsa-ucm.h | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/configure.ac b/configure.ac +index c004bd70d..b44ed1595 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -826,7 +826,7 @@ AS_IF([test "x$enable_alsa" = "xyes" && test "x$HAVE_ALSA" = "x0"], + AS_IF([test "x$HAVE_ALSA" = "x1"], + [ + save_CPPFLAGS="$CPPFLAGS"; CPPFLAGS="$CPPFLAGS $ASOUNDLIB_CFLAGS" +- AC_CHECK_HEADERS([use-case.h], HAVE_ALSA_UCM=1, HAVE_ALSA_UCM=0) ++ AC_CHECK_HEADERS([alsa/use-case.h], HAVE_ALSA_UCM=1, HAVE_ALSA_UCM=0) + CPPFLAGS="$save_CPPFLAGS" + ], + HAVE_ALSA_UCM=0) +diff --git a/src/modules/alsa/alsa-ucm.h b/src/modules/alsa/alsa-ucm.h +index 53abf3f90..c926f3cc3 100644 +--- a/src/modules/alsa/alsa-ucm.h ++++ b/src/modules/alsa/alsa-ucm.h +@@ -23,7 +23,7 @@ + ***/ + + #ifdef HAVE_ALSA_UCM +-#include ++#include + #else + typedef void snd_use_case_mgr_t; + #endif +-- +2.21.0 + diff --git a/poky/meta/recipes-multimedia/pulseaudio/pulseaudio_12.2.bb b/poky/meta/recipes-multimedia/pulseaudio/pulseaudio_12.2.bb index c020fbd4f..88b4975a6 100644 --- a/poky/meta/recipes-multimedia/pulseaudio/pulseaudio_12.2.bb +++ b/poky/meta/recipes-multimedia/pulseaudio/pulseaudio_12.2.bb @@ -3,6 +3,7 @@ require pulseaudio.inc SRC_URI = "http://freedesktop.org/software/pulseaudio/releases/${BP}.tar.xz \ file://0001-client-conf-Add-allow-autospawn-for-root.patch \ file://0001-introduce-a-special-build-flag-to-explicitly-disable.patch \ + file://0001-alsa-Fix-inclusion-of-use-case.h.patch \ file://0002-do-not-display-CLFAGS-to-improve-reproducibility-bui.patch \ file://volatiles.04_pulse \ " diff --git a/poky/meta/recipes-multimedia/webp/libwebp_1.0.2.bb b/poky/meta/recipes-multimedia/webp/libwebp_1.0.2.bb deleted file mode 100644 index 8b3ffe021..000000000 --- a/poky/meta/recipes-multimedia/webp/libwebp_1.0.2.bb +++ /dev/null @@ -1,53 +0,0 @@ -SUMMARY = "WebP is an image format designed for the Web" -DESCRIPTION = "WebP is a method of lossy and lossless compression that can be \ - used on a large variety of photographic, translucent and \ - graphical images found on the web. The degree of lossy \ - compression is adjustable so a user can choose the trade-off \ - between file size and image quality. WebP typically achieves \ - an average of 30% more compression than JPEG and JPEG 2000, \ - without loss of image quality." -HOMEPAGE = "https://developers.google.com/speed/webp/" -SECTION = "libs" - -LICENSE = "BSD" -LIC_FILES_CHKSUM = "file://COPYING;md5=6e8dee932c26f2dab503abf70c96d8bb \ - file://PATENTS;md5=c6926d0cb07d296f886ab6e0cc5a85b7" - -SRC_URI = "http://downloads.webmproject.org/releases/webp/${BP}.tar.gz" -SRC_URI[md5sum] = "02c0c55f1dd8612cd4d462e3409ad35d" -SRC_URI[sha256sum] = "3d47b48c40ed6476e8047b2ddb81d93835e0ca1b8d3e8c679afbb3004dd564b1" - -UPSTREAM_CHECK_URI = "http://downloads.webmproject.org/releases/webp/index.html" - -EXTRA_OECONF = " \ - --disable-wic \ - --enable-libwebpmux \ - --enable-libwebpdemux \ - --enable-threading \ -" -# Do not trust configure to determine if neon is available. -# -EXTRA_OECONF_append_arm = " \ - ${@bb.utils.contains("TUNE_FEATURES","neon","--enable-neon","--disable-neon",d)} \ -" - -inherit autotools lib_package - -PACKAGECONFIG ??= "" - -# libwebpdecoder is a subset of libwebp, don't build it unless requested -PACKAGECONFIG[decoder] = "--enable-libwebpdecoder,--disable-libwebpdecoder" - -# Apply for examples programs: cwebp and dwebp -PACKAGECONFIG[gif] = "--enable-gif,--disable-gif,giflib" -PACKAGECONFIG[jpeg] = "--enable-jpeg,--disable-jpeg,jpeg" -PACKAGECONFIG[png] = "--enable-png,--disable-png,,libpng" -PACKAGECONFIG[tiff] = "--enable-tiff,--disable-tiff,tiff" - -# Apply only for example program vwebp -PACKAGECONFIG[gl] = "--enable-gl,--disable-gl,mesa-glut" - -PACKAGES =+ "${PN}-gif2webp" - -DESCRIPTION_${PN}-gif2webp = "Simple tool to convert animated GIFs to WebP" -FILES_${PN}-gif2webp = "${bindir}/gif2webp" diff --git a/poky/meta/recipes-multimedia/webp/libwebp_1.0.3.bb b/poky/meta/recipes-multimedia/webp/libwebp_1.0.3.bb new file mode 100644 index 000000000..01fc02d23 --- /dev/null +++ b/poky/meta/recipes-multimedia/webp/libwebp_1.0.3.bb @@ -0,0 +1,53 @@ +SUMMARY = "WebP is an image format designed for the Web" +DESCRIPTION = "WebP is a method of lossy and lossless compression that can be \ + used on a large variety of photographic, translucent and \ + graphical images found on the web. The degree of lossy \ + compression is adjustable so a user can choose the trade-off \ + between file size and image quality. WebP typically achieves \ + an average of 30% more compression than JPEG and JPEG 2000, \ + without loss of image quality." +HOMEPAGE = "https://developers.google.com/speed/webp/" +SECTION = "libs" + +LICENSE = "BSD" +LIC_FILES_CHKSUM = "file://COPYING;md5=6e8dee932c26f2dab503abf70c96d8bb \ + file://PATENTS;md5=c6926d0cb07d296f886ab6e0cc5a85b7" + +SRC_URI = "http://downloads.webmproject.org/releases/webp/${BP}.tar.gz" +SRC_URI[md5sum] = "906ad85daaaa2eac97c8aa2dec9e8b77" +SRC_URI[sha256sum] = "e20a07865c8697bba00aebccc6f54912d6bc333bb4d604e6b07491c1a226b34f" + +UPSTREAM_CHECK_URI = "http://downloads.webmproject.org/releases/webp/index.html" + +EXTRA_OECONF = " \ + --disable-wic \ + --enable-libwebpmux \ + --enable-libwebpdemux \ + --enable-threading \ +" +# Do not trust configure to determine if neon is available. +# +EXTRA_OECONF_append_arm = " \ + ${@bb.utils.contains("TUNE_FEATURES","neon","--enable-neon","--disable-neon",d)} \ +" + +inherit autotools lib_package + +PACKAGECONFIG ??= "" + +# libwebpdecoder is a subset of libwebp, don't build it unless requested +PACKAGECONFIG[decoder] = "--enable-libwebpdecoder,--disable-libwebpdecoder" + +# Apply for examples programs: cwebp and dwebp +PACKAGECONFIG[gif] = "--enable-gif,--disable-gif,giflib" +PACKAGECONFIG[jpeg] = "--enable-jpeg,--disable-jpeg,jpeg" +PACKAGECONFIG[png] = "--enable-png,--disable-png,,libpng" +PACKAGECONFIG[tiff] = "--enable-tiff,--disable-tiff,tiff" + +# Apply only for example program vwebp +PACKAGECONFIG[gl] = "--enable-gl,--disable-gl,mesa-glut" + +PACKAGES =+ "${PN}-gif2webp" + +DESCRIPTION_${PN}-gif2webp = "Simple tool to convert animated GIFs to WebP" +FILES_${PN}-gif2webp = "${bindir}/gif2webp" diff --git a/poky/meta/recipes-rt/rt-tests/files/rt_bmark.py b/poky/meta/recipes-rt/rt-tests/files/rt_bmark.py index 080a65589..57b39b52a 100755 --- a/poky/meta/recipes-rt/rt-tests/files/rt_bmark.py +++ b/poky/meta/recipes-rt/rt-tests/files/rt_bmark.py @@ -130,7 +130,7 @@ def log_test_header(seq_no, nr_of_tests, name): #------------------------------------------------------------------------------- def start_stress(*args): - stress_cmd = [ "stress" ] + stress_cmd = [ "stress-ng" ] added_stress_types = [] req_stress_types = set(args) cpu_cnt = str(multiprocessing.cpu_count()) diff --git a/poky/meta/recipes-rt/rt-tests/rt-tests_1.1.bb b/poky/meta/recipes-rt/rt-tests/rt-tests_1.1.bb index 496f04fdb..b673cd784 100644 --- a/poky/meta/recipes-rt/rt-tests/rt-tests_1.1.bb +++ b/poky/meta/recipes-rt/rt-tests/rt-tests_1.1.bb @@ -26,6 +26,6 @@ do_install_ptest() { cp ${WORKDIR}/rt_bmark.py ${D}${PTEST_PATH} } -RDEPENDS_${PN}-ptest += " stress python3 python3-multiprocessing python3-datetime python3-misc" +RDEPENDS_${PN}-ptest += " stress-ng python3 python3-multiprocessing python3-datetime python3-misc" FILES_${PN} += "${prefix}/src/backfire" diff --git a/poky/meta/recipes-sato/webkit/webkitgtk/0001-Unreviewed-fix-build-failure-https-bugs.webkit.org-s.patch b/poky/meta/recipes-sato/webkit/webkitgtk/0001-Unreviewed-fix-build-failure-https-bugs.webkit.org-s.patch new file mode 100644 index 000000000..e550a0d45 --- /dev/null +++ b/poky/meta/recipes-sato/webkit/webkitgtk/0001-Unreviewed-fix-build-failure-https-bugs.webkit.org-s.patch @@ -0,0 +1,33 @@ +From 4bc241539246f7a17d07357257ab47cb96bc4b69 Mon Sep 17 00:00:00 2001 +From: "ysuzuki@apple.com" +Date: Thu, 18 Apr 2019 07:30:18 +0000 +Subject: [PATCH] Unreviewed, fix build failure + https://bugs.webkit.org/show_bug.cgi?id=195938 + +Including . + +* bmalloc/AvailableMemory.cpp: + +git-svn-id: http://svn.webkit.org/repository/webkit/trunk@244422 268f45cc-cd09-0410-ab3c-d52691b4dbfc + +Upstream-Status: Backport [https://github.com/WebKit/webkit/commit/84c111dc0d83b5acf60706ef49bc2f5e91112471] +Signed-off-by: Khem Raj +--- + Source/bmalloc/bmalloc/AvailableMemory.cpp | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/Source/bmalloc/bmalloc/AvailableMemory.cpp b/Source/bmalloc/bmalloc/AvailableMemory.cpp +index 595889fe..b72000d5 100644 +--- a/Source/bmalloc/bmalloc/AvailableMemory.cpp ++++ b/Source/bmalloc/bmalloc/AvailableMemory.cpp +@@ -32,6 +32,7 @@ + #include "PerProcess.h" + #include "Scavenger.h" + #include "Sizes.h" ++#include + #include + #if BOS(DARWIN) + #if BPLATFORM(IOS_FAMILY) +-- +2.22.0 + diff --git a/poky/meta/recipes-sato/webkit/webkitgtk/snprintf.patch b/poky/meta/recipes-sato/webkit/webkitgtk/snprintf.patch deleted file mode 100644 index b1481d78e..000000000 --- a/poky/meta/recipes-sato/webkit/webkitgtk/snprintf.patch +++ /dev/null @@ -1,15 +0,0 @@ -include missing header for snprintf definition - -Upstream-Status: Submitted [https://bugs.webkit.org/show_bug.cgi?id=197088] -Signed-off-by: Khem Raj - ---- a/Source/WebCore/platform/text/TextCodec.cpp -+++ b/Source/WebCore/platform/text/TextCodec.cpp -@@ -28,6 +28,7 @@ - #include "TextCodec.h" - - #include -+#include - - namespace WebCore { - diff --git a/poky/meta/recipes-sato/webkit/webkitgtk_2.24.2.bb b/poky/meta/recipes-sato/webkit/webkitgtk_2.24.2.bb deleted file mode 100644 index 891266b22..000000000 --- a/poky/meta/recipes-sato/webkit/webkitgtk_2.24.2.bb +++ /dev/null @@ -1,136 +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 \ - 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 \ - " - -COMPATIBLE_HOST_mipsarch = "${@bb.utils.contains('DEFAULTTUNE', 'mips', 'null', 'mips.*-linux', d)}" - -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-sato/webkit/webkitgtk_2.24.3.bb b/poky/meta/recipes-sato/webkit/webkitgtk_2.24.3.bb new file mode 100644 index 000000000..c42c3de69 --- /dev/null +++ b/poky/meta/recipes-sato/webkit/webkitgtk_2.24.3.bb @@ -0,0 +1,130 @@ +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://0001-gstreamer-add-a-missing-format-string.patch \ + file://0001-Unreviewed-fix-build-failure-https-bugs.webkit.org-s.patch \ + " + +SRC_URI[md5sum] = "e2a5bbd09a217eba096a2d1562143e35" +SRC_URI[sha256sum] = "940d746d7e82c357222feb5b3f44c4b201e81df7d81ddca5ca2bf3ae0acf6c51" + +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 " + +EXTRA_OECMAKE_append_powerpc = " -DUSE_LD_GOLD=OFF " + +# JIT not supported on MIPS either +EXTRA_OECMAKE_append_mipsarch = " -DENABLE_JIT=OFF -DENABLE_C_LOOP=ON " + +# 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/aspell/aspell/gcc7.patch b/poky/meta/recipes-support/aspell/aspell/gcc7.patch deleted file mode 100644 index 6ffd0772f..000000000 --- a/poky/meta/recipes-support/aspell/aspell/gcc7.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 8089fa02122fed0a6394eba14bbedcb1d18e2384 Mon Sep 17 00:00:00 2001 -From: Kevin Atkinson -Date: Thu, 29 Dec 2016 00:50:31 -0500 -Subject: [PATCH] Compile Fixes for GCC 7. - -Closes #519. ---- -Signed-off-by: Khem Raj -Upstream-Status: Backport - - modules/filter/tex.cpp | 2 +- - prog/check_funs.cpp | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/modules/filter/tex.cpp b/modules/filter/tex.cpp -index a979539..19ab63c 100644 ---- a/modules/filter/tex.cpp -+++ b/modules/filter/tex.cpp -@@ -174,7 +174,7 @@ namespace { - - if (c == '{') { - -- if (top.in_what == Parm || top.in_what == Opt || top.do_check == '\0') -+ if (top.in_what == Parm || top.in_what == Opt || *top.do_check == '\0') - push_command(Parm); - - top.in_what = Parm; -diff --git a/prog/check_funs.cpp b/prog/check_funs.cpp -index db54f3d..89ee09d 100644 ---- a/prog/check_funs.cpp -+++ b/prog/check_funs.cpp -@@ -647,7 +647,7 @@ static void print_truncate(FILE * out, const char * word, int width) { - } - } - if (i == width-1) { -- if (word == '\0') -+ if (*word == '\0') - put(out,' '); - else if (word[len] == '\0') - put(out, word, len); diff --git a/poky/meta/recipes-support/aspell/aspell_0.60.6.1.bb b/poky/meta/recipes-support/aspell/aspell_0.60.6.1.bb deleted file mode 100644 index 161bb5ce2..000000000 --- a/poky/meta/recipes-support/aspell/aspell_0.60.6.1.bb +++ /dev/null @@ -1,34 +0,0 @@ -SUMMARY = "GNU Aspell spell-checker" -SECTION = "console/utils" - -LICENSE = "LGPLv2 | LGPLv2.1" -LIC_FILES_CHKSUM = "file://COPYING;md5=7fbc338309ac38fefcd64b04bb903e34" - -PR = "r1" - -SRC_URI = "${GNU_MIRROR}/aspell/aspell-${PV}.tar.gz \ - file://gcc7.patch \ - " -SRC_URI[md5sum] = "e66a9c9af6a60dc46134fdacf6ce97d7" -SRC_URI[sha256sum] = "f52583a83a63633701c5f71db3dc40aab87b7f76b29723aeb27941eff42df6e1" - -PACKAGECONFIG ??= "" -PACKAGECONFIG[curses] = "--enable-curses,--disable-curses,ncurses" - -PACKAGES += "libaspell libpspell aspell-utils" - -RDEPENDS_${PN}-utils += "perl" - -FILES_libaspell = "${libdir}/libaspell.so.* ${libdir}/aspell*" -FILES_aspell-utils = "${bindir}/word-list-compress ${bindir}/aspell-import ${bindir}/run-with-aspell ${bindir}/pre*" -FILES_${PN} = "${bindir}/aspell" -FILES_libpspell = "${libdir}/libpspell.so.*" -FILES_${PN}-dev += "${bindir}/pspell-config" - -ARM_INSTRUCTION_SET_armv4 = "arm" -ARM_INSTRUCTION_SET_armv5 = "arm" -ARM_INSTRUCTION_SET_armv6 = "arm" - -inherit autotools-brokensep gettext texinfo binconfig-disabled - -BINCONFIG = "${bindir}/pspell-config" diff --git a/poky/meta/recipes-support/aspell/aspell_0.60.7.bb b/poky/meta/recipes-support/aspell/aspell_0.60.7.bb new file mode 100644 index 000000000..da99d1263 --- /dev/null +++ b/poky/meta/recipes-support/aspell/aspell_0.60.7.bb @@ -0,0 +1,32 @@ +SUMMARY = "GNU Aspell spell-checker" +SECTION = "console/utils" + +LICENSE = "LGPLv2 | LGPLv2.1" +LIC_FILES_CHKSUM = "file://COPYING;md5=7fbc338309ac38fefcd64b04bb903e34" + +PR = "r1" + +SRC_URI = "${GNU_MIRROR}/aspell/aspell-${PV}.tar.gz" +SRC_URI[md5sum] = "8ef2252609c511cd2bb26f3a3932ef28" +SRC_URI[sha256sum] = "5ca8fc8cb0370cc6c9eb5b64c6d1bc5d57b3750dbf17887726c3407d833b70e4" + +PACKAGECONFIG ??= "" +PACKAGECONFIG[curses] = "--enable-curses,--disable-curses,ncurses" + +PACKAGES += "libaspell libpspell aspell-utils" + +RDEPENDS_${PN}-utils += "perl" + +FILES_libaspell = "${libdir}/libaspell.so.* ${libdir}/aspell*" +FILES_aspell-utils = "${bindir}/word-list-compress ${bindir}/aspell-import ${bindir}/run-with-aspell ${bindir}/pre*" +FILES_${PN} = "${bindir}/aspell" +FILES_libpspell = "${libdir}/libpspell.so.*" +FILES_${PN}-dev += "${bindir}/pspell-config" + +ARM_INSTRUCTION_SET_armv4 = "arm" +ARM_INSTRUCTION_SET_armv5 = "arm" +ARM_INSTRUCTION_SET_armv6 = "arm" + +inherit autotools-brokensep gettext texinfo binconfig-disabled + +BINCONFIG = "${bindir}/pspell-config" diff --git a/poky/meta/recipes-support/attr/attr.inc b/poky/meta/recipes-support/attr/attr.inc index 1a29eb339..3503d66b9 100644 --- a/poky/meta/recipes-support/attr/attr.inc +++ b/poky/meta/recipes-support/attr/attr.inc @@ -41,6 +41,6 @@ do_install_ptest() { sed -e 's|; @echo|; echo|' -i ${D}${PTEST_PATH}/test/Makefile } -RDEPENDS_${PN}-ptest = "attr coreutils perl-module-filehandle perl-module-getopt-std perl-module-posix make" +RDEPENDS_${PN}-ptest = "attr coreutils perl-module-filehandle perl-module-getopt-std perl-module-posix make perl" BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-support/boost/boost.inc b/poky/meta/recipes-support/boost/boost.inc index 033020258..f38554165 100644 --- a/poky/meta/recipes-support/boost/boost.inc +++ b/poky/meta/recipes-support/boost/boost.inc @@ -35,6 +35,7 @@ BOOST_LIBS_append_x86 = " context coroutine" BOOST_LIBS_append_x86-64 = " context coroutine" BOOST_LIBS_append_powerpc = " context coroutine" BOOST_LIBS_append_arm = " context coroutine" +BOOST_LIBS_append_aarch64 = " context coroutine" # need consistent settings for native builds (x86 override not applied for native) BOOST_LIBS_remove_class-native = " context coroutine" # does not compile @@ -153,6 +154,7 @@ BJAM_OPTS_append_x86-x32 = " abi=x32 address-model=64" # cross compiling for arm fails to detect abi, so provide some help BJAM_OPTS_append_arm = " abi=aapcs architecture=arm" +BJAM_OPTS_append_aarch64 = " abi=aapcs address-model=64 architecture=arm" do_configure() { cp -f ${S}/boost/config/platform/linux.hpp ${S}/boost/config/platform/linux-gnueabi.hpp diff --git a/poky/meta/recipes-support/curl/curl_7.65.2.bb b/poky/meta/recipes-support/curl/curl_7.65.2.bb deleted file mode 100644 index 2fff04434..000000000 --- a/poky/meta/recipes-support/curl/curl_7.65.2.bb +++ /dev/null @@ -1,80 +0,0 @@ -SUMMARY = "Command line tool and library for client-side URL transfers" -HOMEPAGE = "http://curl.haxx.se/" -BUGTRACKER = "http://curl.haxx.se/mail/list.cgi?list=curl-tracker" -SECTION = "console/network" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://COPYING;md5=be5d9e1419c4363f4b32037a2d3b7ffa" - -SRC_URI = "http://curl.haxx.se/download/curl-${PV}.tar.bz2 \ - file://0001-replace-krb5-config-with-pkg-config.patch \ -" - -SRC_URI[md5sum] = "88910bdda3752a98083b6dbe85bafcaa" -SRC_URI[sha256sum] = "8093398b51e7d8337dac6f8fa6f1f77d562bdd9eca679dff9d9c3b8160ebfd28" - -CVE_PRODUCT = "curl libcurl" -inherit autotools pkgconfig binconfig multilib_header - -PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} gnutls libidn proxy threaded-resolver verbose zlib" -PACKAGECONFIG_class-native = "ipv6 proxy ssl threaded-resolver verbose zlib" -PACKAGECONFIG_class-nativesdk = "ipv6 proxy ssl threaded-resolver verbose zlib" - -# 'ares' and 'threaded-resolver' are mutually exclusive -PACKAGECONFIG[ares] = "--enable-ares,--disable-ares,c-ares" -PACKAGECONFIG[brotli] = "--with-brotli,--without-brotli,brotli" -PACKAGECONFIG[builtinmanual] = "--enable-manual,--disable-manual" -PACKAGECONFIG[dict] = "--enable-dict,--disable-dict," -PACKAGECONFIG[gnutls] = "--with-gnutls,--without-gnutls,gnutls" -PACKAGECONFIG[gopher] = "--enable-gopher,--disable-gopher," -PACKAGECONFIG[imap] = "--enable-imap,--disable-imap," -PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6," -PACKAGECONFIG[krb5] = "--with-gssapi,--without-gssapi,krb5" -PACKAGECONFIG[ldap] = "--enable-ldap,--disable-ldap," -PACKAGECONFIG[ldaps] = "--enable-ldaps,--disable-ldaps," -PACKAGECONFIG[libidn] = "--with-libidn2,--without-libidn2,libidn2" -PACKAGECONFIG[libssh2] = "--with-libssh2,--without-libssh2,libssh2" -PACKAGECONFIG[mbedtls] = "--with-mbedtls=${STAGING_DIR_TARGET},--without-mbedtls,mbedtls" -PACKAGECONFIG[nghttp2] = "--with-nghttp2,--without-nghttp2,nghttp2" -PACKAGECONFIG[pop3] = "--enable-pop3,--disable-pop3," -PACKAGECONFIG[proxy] = "--enable-proxy,--disable-proxy," -PACKAGECONFIG[rtmpdump] = "--with-librtmp,--without-librtmp,rtmpdump" -PACKAGECONFIG[rtsp] = "--enable-rtsp,--disable-rtsp," -PACKAGECONFIG[smb] = "--enable-smb,--disable-smb," -PACKAGECONFIG[smtp] = "--enable-smtp,--disable-smtp," -PACKAGECONFIG[ssl] = "--with-ssl --with-random=/dev/urandom,--without-ssl,openssl" -PACKAGECONFIG[nss] = "--with-nss,--without-nss,nss" -PACKAGECONFIG[telnet] = "--enable-telnet,--disable-telnet," -PACKAGECONFIG[tftp] = "--enable-tftp,--disable-tftp," -PACKAGECONFIG[threaded-resolver] = "--enable-threaded-resolver,--disable-threaded-resolver" -PACKAGECONFIG[verbose] = "--enable-verbose,--disable-verbose" -PACKAGECONFIG[zlib] = "--with-zlib=${STAGING_LIBDIR}/../,--without-zlib,zlib" - -EXTRA_OECONF = " \ - --disable-libcurl-option \ - --disable-ntlm-wb \ - --enable-crypto-auth \ - --with-ca-bundle=${sysconfdir}/ssl/certs/ca-certificates.crt \ - --without-libmetalink \ - --without-libpsl \ -" - -do_install_append_class-target() { - # cleanup buildpaths from curl-config - sed -i \ - -e 's,--sysroot=${STAGING_DIR_TARGET},,g' \ - -e 's,--with-libtool-sysroot=${STAGING_DIR_TARGET},,g' \ - -e 's|${DEBUG_PREFIX_MAP}||g' \ - ${D}${bindir}/curl-config -} - -PACKAGES =+ "lib${BPN}" - -FILES_lib${BPN} = "${libdir}/lib*.so.*" -RRECOMMENDS_lib${BPN} += "ca-certificates" - -FILES_${PN} += "${datadir}/zsh" - -inherit multilib_script -MULTILIB_SCRIPTS = "${PN}-dev:${bindir}/curl-config" - -BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-support/curl/curl_7.65.3.bb b/poky/meta/recipes-support/curl/curl_7.65.3.bb new file mode 100644 index 000000000..96f90fb8b --- /dev/null +++ b/poky/meta/recipes-support/curl/curl_7.65.3.bb @@ -0,0 +1,80 @@ +SUMMARY = "Command line tool and library for client-side URL transfers" +HOMEPAGE = "http://curl.haxx.se/" +BUGTRACKER = "http://curl.haxx.se/mail/list.cgi?list=curl-tracker" +SECTION = "console/network" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=be5d9e1419c4363f4b32037a2d3b7ffa" + +SRC_URI = "http://curl.haxx.se/download/curl-${PV}.tar.bz2 \ + file://0001-replace-krb5-config-with-pkg-config.patch \ +" + +SRC_URI[md5sum] = "bdd220d018c23e7f9ee82894e62a70bc" +SRC_URI[sha256sum] = "0a855e83be482d7bc9ea00e05bdb1551a44966076762f9650959179c89fce509" + +CVE_PRODUCT = "curl libcurl" +inherit autotools pkgconfig binconfig multilib_header + +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} gnutls libidn proxy threaded-resolver verbose zlib" +PACKAGECONFIG_class-native = "ipv6 proxy ssl threaded-resolver verbose zlib" +PACKAGECONFIG_class-nativesdk = "ipv6 proxy ssl threaded-resolver verbose zlib" + +# 'ares' and 'threaded-resolver' are mutually exclusive +PACKAGECONFIG[ares] = "--enable-ares,--disable-ares,c-ares" +PACKAGECONFIG[brotli] = "--with-brotli,--without-brotli,brotli" +PACKAGECONFIG[builtinmanual] = "--enable-manual,--disable-manual" +PACKAGECONFIG[dict] = "--enable-dict,--disable-dict," +PACKAGECONFIG[gnutls] = "--with-gnutls,--without-gnutls,gnutls" +PACKAGECONFIG[gopher] = "--enable-gopher,--disable-gopher," +PACKAGECONFIG[imap] = "--enable-imap,--disable-imap," +PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6," +PACKAGECONFIG[krb5] = "--with-gssapi,--without-gssapi,krb5" +PACKAGECONFIG[ldap] = "--enable-ldap,--disable-ldap," +PACKAGECONFIG[ldaps] = "--enable-ldaps,--disable-ldaps," +PACKAGECONFIG[libidn] = "--with-libidn2,--without-libidn2,libidn2" +PACKAGECONFIG[libssh2] = "--with-libssh2,--without-libssh2,libssh2" +PACKAGECONFIG[mbedtls] = "--with-mbedtls=${STAGING_DIR_TARGET},--without-mbedtls,mbedtls" +PACKAGECONFIG[nghttp2] = "--with-nghttp2,--without-nghttp2,nghttp2" +PACKAGECONFIG[pop3] = "--enable-pop3,--disable-pop3," +PACKAGECONFIG[proxy] = "--enable-proxy,--disable-proxy," +PACKAGECONFIG[rtmpdump] = "--with-librtmp,--without-librtmp,rtmpdump" +PACKAGECONFIG[rtsp] = "--enable-rtsp,--disable-rtsp," +PACKAGECONFIG[smb] = "--enable-smb,--disable-smb," +PACKAGECONFIG[smtp] = "--enable-smtp,--disable-smtp," +PACKAGECONFIG[ssl] = "--with-ssl --with-random=/dev/urandom,--without-ssl,openssl" +PACKAGECONFIG[nss] = "--with-nss,--without-nss,nss" +PACKAGECONFIG[telnet] = "--enable-telnet,--disable-telnet," +PACKAGECONFIG[tftp] = "--enable-tftp,--disable-tftp," +PACKAGECONFIG[threaded-resolver] = "--enable-threaded-resolver,--disable-threaded-resolver" +PACKAGECONFIG[verbose] = "--enable-verbose,--disable-verbose" +PACKAGECONFIG[zlib] = "--with-zlib=${STAGING_LIBDIR}/../,--without-zlib,zlib" + +EXTRA_OECONF = " \ + --disable-libcurl-option \ + --disable-ntlm-wb \ + --enable-crypto-auth \ + --with-ca-bundle=${sysconfdir}/ssl/certs/ca-certificates.crt \ + --without-libmetalink \ + --without-libpsl \ +" + +do_install_append_class-target() { + # cleanup buildpaths from curl-config + sed -i \ + -e 's,--sysroot=${STAGING_DIR_TARGET},,g' \ + -e 's,--with-libtool-sysroot=${STAGING_DIR_TARGET},,g' \ + -e 's|${DEBUG_PREFIX_MAP}||g' \ + ${D}${bindir}/curl-config +} + +PACKAGES =+ "lib${BPN}" + +FILES_lib${BPN} = "${libdir}/lib*.so.*" +RRECOMMENDS_lib${BPN} += "ca-certificates" + +FILES_${PN} += "${datadir}/zsh" + +inherit multilib_script +MULTILIB_SCRIPTS = "${PN}-dev:${bindir}/curl-config" + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-support/db/db_5.3.28.bb b/poky/meta/recipes-support/db/db_5.3.28.bb index 8975647da..761d80c2f 100644 --- a/poky/meta/recipes-support/db/db_5.3.28.bb +++ b/poky/meta/recipes-support/db/db_5.3.28.bb @@ -56,10 +56,12 @@ FILES_SOLIBSDEV = "${libdir}/libdb.so ${libdir}/libdb_cxx.so" #configuration - set in local.conf to override # All the --disable-* options replace --enable-smallbuild, which breaks a bunch of stuff (eg. postfix) -DB5_CONFIG ?= "--enable-o_direct --disable-cryptography --disable-queue --disable-replication --disable-verify --disable-compat185 --disable-sql" +DB5_CONFIG ?= "--enable-o_direct --disable-cryptography --disable-queue --disable-replication --disable-compat185 --disable-sql" EXTRA_OECONF = "${DB5_CONFIG} --enable-shared --enable-cxx --with-sysroot STRIP=true" +PACKAGECONFIG[verify] = "--enable-verify, --disable-verify" + EXTRA_OEMAKE += "LIBTOOL='./${HOST_SYS}-libtool'" EXTRA_AUTORECONF += "--exclude=autoheader -I ${S}/dist/aclocal -I${S}/dist/aclocal_java" diff --git a/poky/meta/recipes-support/gnutls/gnutls/posix-shell.patch b/poky/meta/recipes-support/gnutls/gnutls/posix-shell.patch new file mode 100644 index 000000000..938e2d1e1 --- /dev/null +++ b/poky/meta/recipes-support/gnutls/gnutls/posix-shell.patch @@ -0,0 +1,39 @@ +Don't embed the path to the build-time POSIX shell as this will be +$TMPDIR/hosttools/bash, which is no good on the target. + +Instead default to /bin/sh but allow it to be set in the environment. + +This isn't really upstreamable but I filed a bug at +https://gitlab.com/gnutls/gnutls/issues/807 and hope a proper fix will be +integrated. + +Upstream-Status: Inappropriate +Signed-off-by: Ross Burton + +diff --git a/src/libopts/m4/libopts.m4 b/src/libopts/m4/libopts.m4 +index c6ad738..a62faca 100644 +--- a/src/libopts/m4/libopts.m4 ++++ b/src/libopts/m4/libopts.m4 +@@ -112,21 +112,7 @@ AC_DEFUN([INVOKE_LIBOPTS_MACROS_FIRST],[ + AC_CHECK_FUNCS([mmap canonicalize_file_name snprintf strdup strchr \ + strrchr strsignal fchmod fstat chmod]) + AC_PROG_SED +- [while : +- do +- POSIX_SHELL=`which bash` +- test -x "$POSIX_SHELL" && break +- POSIX_SHELL=`which dash` +- test -x "$POSIX_SHELL" && break +- POSIX_SHELL=/usr/xpg4/bin/sh +- test -x "$POSIX_SHELL" && break +- POSIX_SHELL=`/bin/sh -c ' +- exec 2>/dev/null +- if ! true ; then exit 1 ; fi +- echo /bin/sh'` +- test -x "$POSIX_SHELL" && break +- ]AC_MSG_ERROR([cannot locate a working POSIX shell])[ +- done] ++ POSIX_SHELL="${POSIX_SHELL:-/bin/sh}" + AC_DEFINE_UNQUOTED([POSIX_SHELL], ["${POSIX_SHELL}"], + [define to a working POSIX compliant shell]) + AC_SUBST([POSIX_SHELL]) diff --git a/poky/meta/recipes-support/gnutls/gnutls_3.6.8.bb b/poky/meta/recipes-support/gnutls/gnutls_3.6.8.bb index 6c6c520e8..c927063f0 100644 --- a/poky/meta/recipes-support/gnutls/gnutls_3.6.8.bb +++ b/poky/meta/recipes-support/gnutls/gnutls_3.6.8.bb @@ -19,6 +19,7 @@ SHRT_VER = "${@d.getVar('PV').split('.')[0]}.${@d.getVar('PV').split('.')[1]}" SRC_URI = "https://www.gnupg.org/ftp/gcrypt/gnutls/v${SHRT_VER}/gnutls-${PV}.tar.xz \ file://arm_eabi.patch \ + file://posix-shell.patch \ " SRC_URI[md5sum] = "9dcf0aa45d1a42e1b3ca5d39ec7c61a8" @@ -47,6 +48,9 @@ EXTRA_OECONF = " \ --with-default-trust-store-file=${sysconfdir}/ssl/certs/ca-certificates.crt \ " +# Otherwise the tools try and use HOSTTOOLS_DIR/bash as a shell. +export POSIX_SHELL="${base_bindir}/sh" + LDFLAGS_append_libc-musl = " -largp" do_configure_prepend() { diff --git a/poky/meta/recipes-support/gnutls/libtasn1/0001-stdint.m4-reintroduce-GNULIB_OVERRIDES_WINT_T-check.patch b/poky/meta/recipes-support/gnutls/libtasn1/0001-stdint.m4-reintroduce-GNULIB_OVERRIDES_WINT_T-check.patch deleted file mode 100644 index 1e52d6abf..000000000 --- a/poky/meta/recipes-support/gnutls/libtasn1/0001-stdint.m4-reintroduce-GNULIB_OVERRIDES_WINT_T-check.patch +++ /dev/null @@ -1,63 +0,0 @@ -From b17dbb8d3c5605db3a1d82861fcaeef4636d1117 Mon Sep 17 00:00:00 2001 -From: "Maxin B. John" -Date: Thu, 26 Jan 2017 18:54:48 +0200 -Subject: [PATCH] stdint.m4: reintroduce GNULIB_OVERRIDES_WINT_T check - -Partially revert the gnulib commit: 5a400b3f5a1f5483dbfd75d38bdb7080218a063b -to fix the build error with musl library. - -Upstream-Status: Inappropriate - -Signed-off-by: Maxin B. John ---- - gl/m4/stdint.m4 | 27 +++++++++++++++++++++++++++ - 1 file changed, 27 insertions(+) - -diff --git a/gl/m4/stdint.m4 b/gl/m4/stdint.m4 -index 4ac854d..3dc3da1 100644 ---- a/gl/m4/stdint.m4 -+++ b/gl/m4/stdint.m4 -@@ -355,6 +355,32 @@ int32_t i32 = INT32_C (0x7fffffff); - gl_STDINT_TYPE_PROPERTIES - fi - -+ dnl Determine whether gnulib's or would, if present, -+ dnl override 'wint_t'. -+ AC_CACHE_CHECK([whether wint_t is too small], -+ [gl_cv_type_wint_t_too_small], -+ [AC_COMPILE_IFELSE( -+ [AC_LANG_PROGRAM([[ -+ /* Tru64 with Desktop Toolkit C has a bug: must be included before -+ . -+ BSD/OS 4.0.1 has a bug: , and must be -+ included before . */ -+ #if !(defined __GLIBC__ && !defined __UCLIBC__) -+ # include -+ # include -+ # include -+ #endif -+ #include -+ int verify[sizeof (wint_t) < sizeof (int) ? -1 : 1]; -+ ]])], -+ [gl_cv_type_wint_t_too_small=no], -+ [gl_cv_type_wint_t_too_small=yes])]) -+ if test $gl_cv_type_wint_t_too_small = yes; then -+ GNULIB_OVERRIDES_WINT_T=1 -+ else -+ GNULIB_OVERRIDES_WINT_T=0 -+ fi -+ - dnl The substitute stdint.h needs the substitute limit.h's _GL_INTEGER_WIDTH. - LIMITS_H=limits.h - AM_CONDITIONAL([GL_GENERATE_LIMITS_H], [test -n "$LIMITS_H"]) -@@ -363,6 +389,7 @@ int32_t i32 = INT32_C (0x7fffffff); - AC_SUBST([HAVE_SYS_BITYPES_H]) - AC_SUBST([HAVE_SYS_INTTYPES_H]) - AC_SUBST([STDINT_H]) -+ AC_SUBST([GNULIB_OVERRIDES_WINT_T]) - AM_CONDITIONAL([GL_GENERATE_STDINT_H], [test -n "$STDINT_H"]) - ]) - --- -2.4.0 - diff --git a/poky/meta/recipes-support/gnutls/libtasn1/fix-ldflags.patch b/poky/meta/recipes-support/gnutls/libtasn1/fix-ldflags.patch new file mode 100644 index 000000000..f18f3c626 --- /dev/null +++ b/poky/meta/recipes-support/gnutls/libtasn1/fix-ldflags.patch @@ -0,0 +1,31 @@ +From a6f93b7ace347bc4fe29eb4a8fe4383d786cc8d0 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Tim=20R=C3=BChsen?= +Date: Tue, 23 Jul 2019 20:44:01 +0200 +Subject: [PATCH] Fix LDFLAGS to AM_LDFLAGS in src/Makefile.am +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Signed-off-by: Tim Rühsen +Upstream-Status: Backport +Signed-off-by: Anuj Mittal +--- + src/Makefile.am | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/Makefile.am b/src/Makefile.am +index 5bf3622..4459767 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -21,7 +21,7 @@ AM_CPPFLAGS = -I$(top_builddir)/lib/includes -I$(top_srcdir)/lib/includes \ + -I$(top_builddir)/lib/gl -I$(top_srcdir)/lib/gl $(CODE_COVERAGE_CPPFLAGS) + + LDADD = ../lib/libtasn1.la +-LDFLAGS = $(CODE_COVERAGE_LDFLAGS) ++AM_LDFLAGS = $(CODE_COVERAGE_LDFLAGS) + + bin_PROGRAMS = asn1Parser asn1Coding asn1Decoding + +-- +2.21.0 + diff --git a/poky/meta/recipes-support/gnutls/libtasn1_4.13.bb b/poky/meta/recipes-support/gnutls/libtasn1_4.13.bb deleted file mode 100644 index 9ee191309..000000000 --- a/poky/meta/recipes-support/gnutls/libtasn1_4.13.bb +++ /dev/null @@ -1,23 +0,0 @@ -SUMMARY = "Library for ASN.1 and DER manipulation" -HOMEPAGE = "http://www.gnu.org/software/libtasn1/" - -LICENSE = "GPLv3+ & LGPLv2.1+" -LICENSE_${PN}-bin = "GPLv3+" -LICENSE_${PN} = "LGPLv2.1+" -LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \ - file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c \ - file://README;endline=8;md5=c3803a3e8ca5ab5eb1e5912faa405351" - -SRC_URI = "${GNU_MIRROR}/libtasn1/libtasn1-${PV}.tar.gz \ - file://dont-depend-on-help2man.patch \ - file://0001-stdint.m4-reintroduce-GNULIB_OVERRIDES_WINT_T-check.patch \ - " - -DEPENDS = "bison-native" - -SRC_URI[md5sum] = "ce2ba4d3088119b48e7531a703669c52" -SRC_URI[sha256sum] = "7e528e8c317ddd156230c4e31d082cd13e7ddeb7a54824be82632209550c8cca" - -inherit autotools texinfo lib_package gtk-doc - -BBCLASSEXTEND = "native" diff --git a/poky/meta/recipes-support/gnutls/libtasn1_4.14.bb b/poky/meta/recipes-support/gnutls/libtasn1_4.14.bb new file mode 100644 index 000000000..cb7fed444 --- /dev/null +++ b/poky/meta/recipes-support/gnutls/libtasn1_4.14.bb @@ -0,0 +1,23 @@ +SUMMARY = "Library for ASN.1 and DER manipulation" +HOMEPAGE = "http://www.gnu.org/software/libtasn1/" + +LICENSE = "GPLv3+ & LGPLv2.1+" +LICENSE_${PN}-bin = "GPLv3+" +LICENSE_${PN} = "LGPLv2.1+" +LIC_FILES_CHKSUM = "file://doc/COPYING;md5=d32239bcb673463ab874e80d47fae504 \ + file://doc/COPYING.LESSER;md5=4fbd65380cdd255951079008b364516c \ + file://LICENSE;md5=75ac100ec923f959898182307970c360" + +SRC_URI = "${GNU_MIRROR}/libtasn1/libtasn1-${PV}.tar.gz \ + file://dont-depend-on-help2man.patch \ + file://fix-ldflags.patch \ + " + +DEPENDS = "bison-native" + +SRC_URI[md5sum] = "e9918200ed4a778e2b3cbe34c1be4205" +SRC_URI[sha256sum] = "9e604ba5c5c8ea403487695c2e407405820d98540d9de884d6e844f9a9c5ba08" + +inherit autotools texinfo lib_package gtk-doc + +BBCLASSEXTEND = "native" diff --git a/poky/meta/recipes-support/gpgme/gpgme/0007-python-Add-variables-to-tests.patch b/poky/meta/recipes-support/gpgme/gpgme/0007-python-Add-variables-to-tests.patch index af9ddbf24..4c97f63cc 100644 --- a/poky/meta/recipes-support/gpgme/gpgme/0007-python-Add-variables-to-tests.patch +++ b/poky/meta/recipes-support/gpgme/gpgme/0007-python-Add-variables-to-tests.patch @@ -1,6 +1,6 @@ -From 317cdf60165d760572a26db317e3d6edb159b04e Mon Sep 17 00:00:00 2001 -From: Hongxu Jia -Date: Wed, 17 Oct 2018 23:41:09 +0800 +From 093c88817397425ee4c2333c469467229a46c9e1 Mon Sep 17 00:00:00 2001 +From: Yuan Chao +Date: Mon, 5 Aug 2019 01:00:58 +0900 Subject: [PATCH 7/7] python: Add variables to tests * configure.ac, lang/python/Makefile.am: @@ -9,16 +9,18 @@ Subject: [PATCH 7/7] python: Add variables to tests Upstream-Status: Submitted [gnupg-devel@gnupg.org] Signed-off-by: Hongxu Jia + +Signed-off-by: Yuan Chao --- configure.ac | 5 +++++ lang/python/Makefile.am | 3 +++ 2 files changed, 8 insertions(+) diff --git a/configure.ac b/configure.ac -index 865bd10..035555a 100644 +index bd85886..b5ae42e 100644 --- a/configure.ac +++ b/configure.ac -@@ -535,6 +535,11 @@ AC_ARG_ENABLE(g13-test, +@@ -533,6 +533,11 @@ AC_ARG_ENABLE(g13-test, run_g13_test=$enableval) AM_CONDITIONAL(RUN_G13_TESTS, test "$run_g13_test" = "yes") @@ -31,17 +33,17 @@ index 865bd10..035555a 100644 # Checks for header files. AC_CHECK_HEADERS_ONCE([locale.h sys/select.h sys/uio.h argp.h stdint.h diff --git a/lang/python/Makefile.am b/lang/python/Makefile.am -index ce9a108..0c8cfdc 100644 +index 551deee..0fd555e 100644 --- a/lang/python/Makefile.am +++ b/lang/python/Makefile.am -@@ -25,7 +25,10 @@ EXTRA_DIST = \ - doc \ - src +@@ -23,7 +23,10 @@ EXTRA_DIST = \ + gpgme.i \ + helpers.c helpers.h private.h ++SUBDIRS = . examples doc src +if RUN_LANG_PYTHON_TESTS - SUBDIRS = . tests + SUBDIRS = . tests examples doc src +endif -+ .PHONY: prepare prepare: copystamp diff --git a/poky/meta/recipes-support/gpgme/gpgme_1.13.0.bb b/poky/meta/recipes-support/gpgme/gpgme_1.13.0.bb deleted file mode 100644 index cbd37da30..000000000 --- a/poky/meta/recipes-support/gpgme/gpgme_1.13.0.bb +++ /dev/null @@ -1,85 +0,0 @@ -SUMMARY = "High-level GnuPG encryption/signing API" -DESCRIPTION = "GnuPG Made Easy (GPGME) is a library designed to make access to GnuPG easier for applications. It provides a High-Level Crypto API for encryption, decryption, signing, signature verification and key management" -HOMEPAGE = "http://www.gnupg.org/gpgme.html" -BUGTRACKER = "https://bugs.g10code.com/gnupg/index" - -LICENSE = "GPLv2+ & LGPLv2.1+" -LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \ - file://COPYING.LESSER;md5=bbb461211a33b134d42ed5ee802b37ff \ - file://src/gpgme.h.in;endline=23;md5=2f0bf06d1c7dcb28532a9d0f94a7ca1d \ - file://src/engine.h;endline=22;md5=4b6d8ba313d9b564cc4d4cfb1640af9d" - -UPSTREAM_CHECK_URI = "https://gnupg.org/download/index.html" -SRC_URI = "${GNUPG_MIRROR}/gpgme/${BP}.tar.bz2 \ - file://0001-Revert-build-Make-gpgme.m4-use-gpgrt-config-with-.pc.patch \ - file://0001-pkgconfig.patch \ - file://0002-gpgme-lang-python-gpg-error-config-should-not-be-use.patch \ - file://0003-Correctly-install-python-modules.patch \ - file://0004-python-import.patch \ - file://0005-gpgme-config-skip-all-lib-or-usr-lib-directories-in-.patch \ - file://0006-fix-build-path-issue.patch \ - file://0007-python-Add-variables-to-tests.patch \ - file://0008-do-not-auto-check-var-PYTHON.patch \ - " - -SRC_URI[md5sum] = "e511a0d95c507ab87e713140c82fc7d0" -SRC_URI[sha256sum] = "d4b23e47a9e784a63e029338cce0464a82ce0ae4af852886afda410f9e39c630" - -DEPENDS = "libgpg-error libassuan" -RDEPENDS_${PN}-cpp += "libstdc++" - -RDEPENDS_python2-gpg += "python-unixadmin" -RDEPENDS_python3-gpg += "python3-unixadmin" - -BINCONFIG = "${bindir}/gpgme-config" - -# Note select python2 or python3, but you can't select both at the same time -PACKAGECONFIG ??= "python3" -PACKAGECONFIG[python2] = ",,python swig-native," -PACKAGECONFIG[python3] = ",,python3 swig-native," - -# Default in configure.ac: "cl cpp python qt" -# Supported: "cl cpp python python2 python3 qt" -# python says 'search and find python2 or python3' - -# Building the C++ bindings for native requires a C++ compiler with C++11 -# support. Since these bindings are currently not needed, we can disable them. -DEFAULT_LANGUAGES = "" -DEFAULT_LANGUAGES_class-target = "cpp" -LANGUAGES ?= "${DEFAULT_LANGUAGES} python" - -PYTHON_INHERIT = "${@bb.utils.contains('PACKAGECONFIG', 'python2', 'pythonnative', '', d)}" -PYTHON_INHERIT .= "${@bb.utils.contains('PACKAGECONFIG', 'python3', 'python3native', '', d)}" - -EXTRA_OECONF += '--enable-languages="${LANGUAGES}" \ - --disable-gpgconf-test \ - --disable-gpg-test \ - --disable-gpgsm-test \ - --disable-g13-test \ - --disable-lang-python-test \ -' - -inherit autotools texinfo binconfig-disabled pkgconfig distutils-common-base ${PYTHON_INHERIT} - -export PKG_CONFIG='pkg-config' - -BBCLASSEXTEND = "native nativesdk" - -PACKAGES =+ "${PN}-cpp" -PACKAGES =. "${@bb.utils.contains('PACKAGECONFIG', 'python2', 'python2-gpg ', '', d)}" -PACKAGES =. "${@bb.utils.contains('PACKAGECONFIG', 'python3', 'python3-gpg ', '', d)}" - -FILES_${PN}-cpp = "${libdir}/libgpgmepp.so.*" -FILES_python2-gpg = "${PYTHON_SITEPACKAGES_DIR}/*" -FILES_python3-gpg = "${PYTHON_SITEPACKAGES_DIR}/*" -FILES_${PN}-dev += "${datadir}/common-lisp/source/gpgme/* \ - ${libdir}/cmake/* \ -" - -CFLAGS_append_libc-musl = " -D__error_t_defined " -do_configure_prepend () { - # Else these could be used in preference to those in aclocal-copy - rm -f ${S}/m4/gpg-error.m4 - rm -f ${S}/m4/libassuan.m4 - rm -f ${S}/m4/python.m4 -} diff --git a/poky/meta/recipes-support/gpgme/gpgme_1.13.1.bb b/poky/meta/recipes-support/gpgme/gpgme_1.13.1.bb new file mode 100644 index 000000000..9fc1ae24a --- /dev/null +++ b/poky/meta/recipes-support/gpgme/gpgme_1.13.1.bb @@ -0,0 +1,85 @@ +SUMMARY = "High-level GnuPG encryption/signing API" +DESCRIPTION = "GnuPG Made Easy (GPGME) is a library designed to make access to GnuPG easier for applications. It provides a High-Level Crypto API for encryption, decryption, signing, signature verification and key management" +HOMEPAGE = "http://www.gnupg.org/gpgme.html" +BUGTRACKER = "https://bugs.g10code.com/gnupg/index" + +LICENSE = "GPLv2+ & LGPLv2.1+" +LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \ + file://COPYING.LESSER;md5=bbb461211a33b134d42ed5ee802b37ff \ + file://src/gpgme.h.in;endline=23;md5=2f0bf06d1c7dcb28532a9d0f94a7ca1d \ + file://src/engine.h;endline=22;md5=4b6d8ba313d9b564cc4d4cfb1640af9d" + +UPSTREAM_CHECK_URI = "https://gnupg.org/download/index.html" +SRC_URI = "${GNUPG_MIRROR}/gpgme/${BP}.tar.bz2 \ + file://0001-Revert-build-Make-gpgme.m4-use-gpgrt-config-with-.pc.patch \ + file://0001-pkgconfig.patch \ + file://0002-gpgme-lang-python-gpg-error-config-should-not-be-use.patch \ + file://0003-Correctly-install-python-modules.patch \ + file://0004-python-import.patch \ + file://0005-gpgme-config-skip-all-lib-or-usr-lib-directories-in-.patch \ + file://0006-fix-build-path-issue.patch \ + file://0007-python-Add-variables-to-tests.patch \ + file://0008-do-not-auto-check-var-PYTHON.patch \ + " + +SRC_URI[md5sum] = "198f0a908ec3cd8f0ce9a4f3a4489645" +SRC_URI[sha256sum] = "c4e30b227682374c23cddc7fdb9324a99694d907e79242a25a4deeedb393be46" + +DEPENDS = "libgpg-error libassuan" +RDEPENDS_${PN}-cpp += "libstdc++" + +RDEPENDS_python2-gpg += "python-unixadmin" +RDEPENDS_python3-gpg += "python3-unixadmin" + +BINCONFIG = "${bindir}/gpgme-config" + +# Note select python2 or python3, but you can't select both at the same time +PACKAGECONFIG ??= "python3" +PACKAGECONFIG[python2] = ",,python swig-native," +PACKAGECONFIG[python3] = ",,python3 swig-native," + +# Default in configure.ac: "cl cpp python qt" +# Supported: "cl cpp python python2 python3 qt" +# python says 'search and find python2 or python3' + +# Building the C++ bindings for native requires a C++ compiler with C++11 +# support. Since these bindings are currently not needed, we can disable them. +DEFAULT_LANGUAGES = "" +DEFAULT_LANGUAGES_class-target = "cpp" +LANGUAGES ?= "${DEFAULT_LANGUAGES} python" + +PYTHON_INHERIT = "${@bb.utils.contains('PACKAGECONFIG', 'python2', 'pythonnative', '', d)}" +PYTHON_INHERIT .= "${@bb.utils.contains('PACKAGECONFIG', 'python3', 'python3native', '', d)}" + +EXTRA_OECONF += '--enable-languages="${LANGUAGES}" \ + --disable-gpgconf-test \ + --disable-gpg-test \ + --disable-gpgsm-test \ + --disable-g13-test \ + --disable-lang-python-test \ +' + +inherit autotools texinfo binconfig-disabled pkgconfig distutils-common-base ${PYTHON_INHERIT} + +export PKG_CONFIG='pkg-config' + +BBCLASSEXTEND = "native nativesdk" + +PACKAGES =+ "${PN}-cpp" +PACKAGES =. "${@bb.utils.contains('PACKAGECONFIG', 'python2', 'python2-gpg ', '', d)}" +PACKAGES =. "${@bb.utils.contains('PACKAGECONFIG', 'python3', 'python3-gpg ', '', d)}" + +FILES_${PN}-cpp = "${libdir}/libgpgmepp.so.*" +FILES_python2-gpg = "${PYTHON_SITEPACKAGES_DIR}/*" +FILES_python3-gpg = "${PYTHON_SITEPACKAGES_DIR}/*" +FILES_${PN}-dev += "${datadir}/common-lisp/source/gpgme/* \ + ${libdir}/cmake/* \ +" + +CFLAGS_append_libc-musl = " -D__error_t_defined " +do_configure_prepend () { + # Else these could be used in preference to those in aclocal-copy + rm -f ${S}/m4/gpg-error.m4 + rm -f ${S}/m4/libassuan.m4 + rm -f ${S}/m4/python.m4 +} diff --git a/poky/meta/recipes-support/iso-codes/iso-codes_4.2.bb b/poky/meta/recipes-support/iso-codes/iso-codes_4.2.bb deleted file mode 100644 index 15130dd7c..000000000 --- a/poky/meta/recipes-support/iso-codes/iso-codes_4.2.bb +++ /dev/null @@ -1,19 +0,0 @@ -SUMMARY = "ISO language, territory, currency, script codes and their translations" -HOMEPAGE = "https://salsa.debian.org/iso-codes-team/iso-codes" -BUGTRACKER = "https://salsa.debian.org/iso-codes-team/iso-codes/issues" - -LICENSE = "LGPLv2.1" -LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" - -SRC_URI = "git://salsa.debian.org/iso-codes-team/iso-codes.git;protocol=http" -SRCREV = "58a4f20f8e6f4d8f9545333f3eae4cfe5678de16" - -# inherit gettext cannot be used, because it adds gettext-native to BASEDEPENDS which -# are inhibited by allarch -DEPENDS = "gettext-native" - -S = "${WORKDIR}/git" - -inherit allarch autotools - -FILES_${PN} += "${datadir}/xml/" diff --git a/poky/meta/recipes-support/iso-codes/iso-codes_4.3.bb b/poky/meta/recipes-support/iso-codes/iso-codes_4.3.bb new file mode 100644 index 000000000..5651a96c6 --- /dev/null +++ b/poky/meta/recipes-support/iso-codes/iso-codes_4.3.bb @@ -0,0 +1,19 @@ +SUMMARY = "ISO language, territory, currency, script codes and their translations" +HOMEPAGE = "https://salsa.debian.org/iso-codes-team/iso-codes" +BUGTRACKER = "https://salsa.debian.org/iso-codes-team/iso-codes/issues" + +LICENSE = "LGPLv2.1" +LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" + +SRC_URI = "git://salsa.debian.org/iso-codes-team/iso-codes.git;protocol=http" +SRCREV = "43398a317371e309361ce43072603863cb2f57e1" + +# inherit gettext cannot be used, because it adds gettext-native to BASEDEPENDS which +# are inhibited by allarch +DEPENDS = "gettext-native" + +S = "${WORKDIR}/git" + +inherit allarch autotools + +FILES_${PN} += "${datadir}/xml/" diff --git a/poky/meta/recipes-support/libevent/libevent_2.1.10.bb b/poky/meta/recipes-support/libevent/libevent_2.1.10.bb deleted file mode 100644 index 81ceb1cd9..000000000 --- a/poky/meta/recipes-support/libevent/libevent_2.1.10.bb +++ /dev/null @@ -1,46 +0,0 @@ -SUMMARY = "An asynchronous event notification library" -HOMEPAGE = "http://libevent.org/" -BUGTRACKER = "https://github.com/libevent/libevent/issues" -SECTION = "libs" - -LICENSE = "BSD & MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=17f20574c0b154d12236d5fbe964f549" - -SRC_URI = " \ - https://github.com/libevent/libevent/releases/download/release-${PV}-stable/${BP}-stable.tar.gz \ - file://Makefile-missing-test-dir.patch \ - file://run-ptest \ -" - -SRC_URI[md5sum] = "999caf86f52943af2363bc8077f00167" -SRC_URI[sha256sum] = "e864af41a336bb11dab1a23f32993afe963c1f69618bd9292b89ecf6904845b0" - -UPSTREAM_CHECK_URI = "http://libevent.org/" - -S = "${WORKDIR}/${BPN}-${PV}-stable" - -PACKAGECONFIG ??= "" -PACKAGECONFIG[openssl] = "--enable-openssl,--disable-openssl,openssl" - -inherit autotools - -# Needed for Debian packaging -LEAD_SONAME = "libevent-2.1.so" - -inherit ptest multilib_header - -DEPENDS = "zlib" - -BBCLASSEXTEND = "native nativesdk" - -do_install_append() { - oe_multilib_header event2/event-config.h -} - -do_install_ptest() { - install -d ${D}${PTEST_PATH}/test - for file in ${B}/test/.libs/regress ${B}/test/.libs/test* - do - install -m 0755 $file ${D}${PTEST_PATH}/test - done -} diff --git a/poky/meta/recipes-support/libevent/libevent_2.1.11.bb b/poky/meta/recipes-support/libevent/libevent_2.1.11.bb new file mode 100644 index 000000000..1e18f0ab2 --- /dev/null +++ b/poky/meta/recipes-support/libevent/libevent_2.1.11.bb @@ -0,0 +1,46 @@ +SUMMARY = "An asynchronous event notification library" +HOMEPAGE = "http://libevent.org/" +BUGTRACKER = "https://github.com/libevent/libevent/issues" +SECTION = "libs" + +LICENSE = "BSD & MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=17f20574c0b154d12236d5fbe964f549" + +SRC_URI = " \ + https://github.com/libevent/libevent/releases/download/release-${PV}-stable/${BP}-stable.tar.gz \ + file://Makefile-missing-test-dir.patch \ + file://run-ptest \ +" + +SRC_URI[md5sum] = "7f35cfe69b82d879111ec0d7b7b1c531" +SRC_URI[sha256sum] = "a65bac6202ea8c5609fd5c7e480e6d25de467ea1917c08290c521752f147283d" + +UPSTREAM_CHECK_URI = "http://libevent.org/" + +S = "${WORKDIR}/${BPN}-${PV}-stable" + +PACKAGECONFIG ??= "" +PACKAGECONFIG[openssl] = "--enable-openssl,--disable-openssl,openssl" + +inherit autotools + +# Needed for Debian packaging +LEAD_SONAME = "libevent-2.1.so" + +inherit ptest multilib_header + +DEPENDS = "zlib" + +BBCLASSEXTEND = "native nativesdk" + +do_install_append() { + oe_multilib_header event2/event-config.h +} + +do_install_ptest() { + install -d ${D}${PTEST_PATH}/test + for file in ${B}/test/.libs/regress ${B}/test/.libs/test* + do + install -m 0755 $file ${D}${PTEST_PATH}/test + done +} diff --git a/poky/meta/recipes-support/libffi/libffi_3.2.1.bb b/poky/meta/recipes-support/libffi/libffi_3.2.1.bb index 792a1143b..f2c684a7a 100644 --- a/poky/meta/recipes-support/libffi/libffi_3.2.1.bb +++ b/poky/meta/recipes-support/libffi/libffi_3.2.1.bb @@ -10,7 +10,7 @@ A layer must exist above `libffi' that handles type conversions for values passe LICENSE = "MIT" LIC_FILES_CHKSUM = "file://LICENSE;md5=3610bb17683a0089ed64055416b2ae1b" -SRC_URI = "ftp://sourceware.org/pub/libffi/${BP}.tar.gz \ +SRC_URI = "https://sourceware.org/pub/libffi/${BP}.tar.gz \ file://not-win32.patch \ file://0001-mips-Use-compiler-internal-define-for-linux.patch \ file://0001-mips-fix-MIPS-softfloat-build-issue.patch \ diff --git a/poky/meta/recipes-support/libical/libical/0001-CMakeLists.txt-libical.pc.in-fix-iculibs-remove-full.patch b/poky/meta/recipes-support/libical/libical/0001-CMakeLists.txt-libical.pc.in-fix-iculibs-remove-full.patch deleted file mode 100644 index 6db75f508..000000000 --- a/poky/meta/recipes-support/libical/libical/0001-CMakeLists.txt-libical.pc.in-fix-iculibs-remove-full.patch +++ /dev/null @@ -1,44 +0,0 @@ -From 1a41069c0dc054e59cd76fc3d8cf7cc2a78b5e8d Mon Sep 17 00:00:00 2001 -From: Allen Winter -Date: Sat, 3 Sep 2016 16:56:29 -0400 -Subject: [PATCH] CMakeLists.txt, libical.pc.in - fix iculibs (remove full path) ISSUE: 227 - -Upstream-Status: Backport - -Signed-off-by: Maxin B. John ----- -diff -Naur libical-2.0.0-orig/CMakeLists.txt libical-2.0.0/CMakeLists.txt ---- libical-2.0.0-orig/CMakeLists.txt 2016-09-08 18:05:06.166049345 +0300 -+++ libical-2.0.0/CMakeLists.txt 2016-09-08 18:05:45.201561334 +0300 -@@ -128,6 +128,7 @@ - # RSCALE info at http://tools.ietf.org/html/rfc7529 - find_package(ICU) - if(ICU_FOUND) -+ set(ICUUC_LIBS "-licuuc") #for libical.pc - set(HAVE_LIBICU 1) - if(ICU_MAJOR_VERSION VERSION_GREATER 50) - set(HAVE_ICU_DANGI TRUE) -@@ -137,6 +138,7 @@ - endif() - if(ICU_I18N_FOUND) - set(HAVE_LIBICU_I18N 1) -+ set(ICUI18N_LIBS "-licui18n") #for libical.pc - endif() - - # MSVC specific definitions -diff -Naur libical-2.0.0-orig/libical.pc.in libical-2.0.0/libical.pc.in ---- libical-2.0.0-orig/libical.pc.in 2015-12-28 23:44:53.000000000 +0200 -+++ libical-2.0.0/libical.pc.in 2016-09-08 18:09:12.991963597 +0300 -@@ -3,10 +3,10 @@ - libdir=@libdir@ - includedir=@includedir@ - threadslib=@PTHREAD_LIBS@ --iculib=@ICU_LIBRARIES@ @ICU_I18N_LIBRARIES@ -+iculibs=@ICUUC_LIBS@ @ICUI18N_LIBS@ - - Name: libical - Description: An implementation of basic iCAL protocols - Version: @VERSION@ --Libs: -L${libdir} -lical -licalss -licalvcal ${threadslib} ${iculib} -+Libs: -L${libdir} -lical -licalss -licalvcal ${threadslib} ${iculibs} - Cflags: -I${includedir} diff --git a/poky/meta/recipes-support/libical/libical_2.0.0.bb b/poky/meta/recipes-support/libical/libical_2.0.0.bb deleted file mode 100644 index 7dffdcfb0..000000000 --- a/poky/meta/recipes-support/libical/libical_2.0.0.bb +++ /dev/null @@ -1,28 +0,0 @@ -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.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://0001-CMakeLists.txt-libical.pc.in-fix-iculibs-remove-full.patch \ - " -DEPENDS = "icu" - -SRC_URI[md5sum] = "6bf8e5f5a3ba88baf390d0134e05d76e" -SRC_URI[sha256sum] = "654c11f759c19237be39f6ad401d917e5a05f36f1736385ed958e60cf21456da" -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 \ - -e 's,${STAGING_LIBDIR},${libdir},g' \ - ${D}${libdir}/cmake/LibIcal/LibIcalTargets-noconfig.cmake -} diff --git a/poky/meta/recipes-support/libical/libical_3.0.5.bb b/poky/meta/recipes-support/libical/libical_3.0.5.bb new file mode 100644 index 000000000..3832b20bf --- /dev/null +++ b/poky/meta/recipes-support/libical/libical_3.0.5.bb @@ -0,0 +1,35 @@ +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-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=1910a2a76ddf6a9ba369182494170d87 \ + file://LICENSE.LGPL21.txt;md5=933adb561f159e7c3da079536f0ed871 \ + file://LICENSE.MPL2.txt;md5=9741c346eef56131163e13b9db1241b3" +SECTION = "libs" + +SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/v${PV}/${BP}.tar.gz" + +SRC_URI[md5sum] = "9be4e8a1739a9c27e06aa8ce66b8cb34" +SRC_URI[sha256sum] = "7ad550c8c49c9b9983658e3ab3e68b1eee2439ec17b169a6b1e6ecb5274e78e6" +UPSTREAM_CHECK_URI = "https://github.com/libical/libical/releases" + +inherit cmake pkgconfig + +PACKAGECONFIG ??= "icu" +PACKAGECONFIG[bdb] = ",-DCMAKE_DISABLE_FIND_PACKAGE_BDB=True,db" +# ICU is used for RSCALE (RFC7529) support +PACKAGECONFIG[icu] = ",-DCMAKE_DISABLE_FIND_PACKAGE_ICU=True,icu" + +# No need to use perl-native, the host perl is sufficient. +EXTRA_OECMAKE += "-DPERL_EXECUTABLE=${HOSTTOOLS_DIR}/perl" + +# The glib library can't be cross-compiled, disable for now. +# https://github.com/libical/libical/issues/394 +EXTRA_OECMAKE += "-DICAL_GLIB=false" + +do_install_append_class-target () { + # Remove build host references + sed -i \ + -e 's,${STAGING_LIBDIR},${libdir},g' \ + ${D}${libdir}/cmake/LibIcal/LibIcal*.cmake +} diff --git a/poky/meta/recipes-support/libmpc/libmpc_1.1.0.bb b/poky/meta/recipes-support/libmpc/libmpc_1.1.0.bb index 2d25d388f..1e48c576d 100644 --- a/poky/meta/recipes-support/libmpc/libmpc_1.1.0.bb +++ b/poky/meta/recipes-support/libmpc/libmpc_1.1.0.bb @@ -3,7 +3,7 @@ require libmpc.inc DEPENDS = "gmp mpfr" LIC_FILES_CHKSUM = "file://COPYING.LESSER;md5=e6a600fd5e1d9cbde2d983680233ad02" -SRC_URI = "https://ftp.gnu.org/gnu/mpc/mpc-${PV}.tar.gz" +SRC_URI = "${GNU_MIRROR}/mpc/mpc-${PV}.tar.gz" SRC_URI[md5sum] = "4125404e41e482ec68282a2e687f6c73" SRC_URI[sha256sum] = "6985c538143c1208dcb1ac42cedad6ff52e267b47e5f970183a3e75125b43c2e" diff --git a/poky/meta/recipes-support/nettle/nettle-3.4.1/Add-target-to-only-build-tests-not-run-them.patch b/poky/meta/recipes-support/nettle/nettle-3.4.1/Add-target-to-only-build-tests-not-run-them.patch deleted file mode 100644 index c007060ee..000000000 --- a/poky/meta/recipes-support/nettle/nettle-3.4.1/Add-target-to-only-build-tests-not-run-them.patch +++ /dev/null @@ -1,38 +0,0 @@ -Add target to only build tests (not run them) - -Not sending upstream as this is only a start of a solution to -installable tests: It's useful for us already as is. - -Upstream-Status: Inappropriate [not a complete solution] - -Signed-off-by: Jussi Kukkonen -Refactored for 3.4 -Signed-off-by: Armin Kuster - -Index: nettle-3.4/Makefile.in -=================================================================== ---- nettle-3.4.orig/Makefile.in -+++ nettle-3.4/Makefile.in -@@ -55,6 +55,9 @@ clean distclean mostlyclean maintainer-c - echo "Making $@ in $$d" ; (cd $$d && $(MAKE) $@); done - $(MAKE) $@-here - -+buildtest: -+ echo "Making $@ in testsuite" ; (cd testsuite && $(MAKE) $@) -+ - check-here: - true - -Index: nettle-3.4/testsuite/Makefile.in -=================================================================== ---- nettle-3.4.orig/testsuite/Makefile.in -+++ nettle-3.4/testsuite/Makefile.in -@@ -131,6 +131,8 @@ $(TARGETS) $(EXTRA_TARGETS): testutils.$ - # data. - VALGRIND = valgrind --error-exitcode=1 --leak-check=full --show-reachable=yes @IF_ASM@ --partial-loads-ok=yes - -+buildtest: $(TS_ALL) -+ - # The PATH update is for windows dlls, DYLD_LIBRARY_PATH is for OSX. - check: $(TS_ALL) - LD_LIBRARY_PATH=../.lib PATH="../.lib:$$PATH" DYLD_LIBRARY_PATH=../.lib \ diff --git a/poky/meta/recipes-support/nettle/nettle-3.4.1/check-header-files-of-openssl-only-if-enable_.patch b/poky/meta/recipes-support/nettle/nettle-3.4.1/check-header-files-of-openssl-only-if-enable_.patch deleted file mode 100644 index d5f266681..000000000 --- a/poky/meta/recipes-support/nettle/nettle-3.4.1/check-header-files-of-openssl-only-if-enable_.patch +++ /dev/null @@ -1,36 +0,0 @@ -From ffee6b5f6204a0210f717968ec6ce514d70acca1 Mon Sep 17 00:00:00 2001 -From: Haiqing Bai -Date: Fri, 9 Dec 2016 15:23:17 +0800 -Subject: [PATCH] nettle: check header files of openssl only if - 'enable_openssl=yes'. - -The original configure script checks openssl header files to generate -config.h even if 'enable_openssl' is not set to yes, this made inconsistent -building for nettle. - -Upstream-Status: Pending -Signed-off-by: Haiqing Bai - -refactored for 3.4. pending not in as of 3.4 - -Signed-off-by: Armin Kuster - -Index: nettle-3.4/configure.ac -=================================================================== ---- nettle-3.4.orig/configure.ac -+++ nettle-3.4/configure.ac -@@ -185,9 +185,11 @@ AC_HEADER_TIME - AC_CHECK_SIZEOF(long) - AC_CHECK_SIZEOF(size_t) - --AC_CHECK_HEADERS([openssl/evp.h openssl/ecdsa.h],, --[enable_openssl=no -- break]) -+if test "x$enable_openssl" = "xyes"; then -+ AC_CHECK_HEADERS([openssl/evp.h openssl/ecdsa.h],, -+ [enable_openssl=no -+ break]) -+fi - - # For use by the testsuite - AC_CHECK_HEADERS([valgrind/memcheck.h]) diff --git a/poky/meta/recipes-support/nettle/nettle-3.4.1/dlopen-test.patch b/poky/meta/recipes-support/nettle/nettle-3.4.1/dlopen-test.patch deleted file mode 100644 index fea577420..000000000 --- a/poky/meta/recipes-support/nettle/nettle-3.4.1/dlopen-test.patch +++ /dev/null @@ -1,21 +0,0 @@ -Remove the relative path for libnettle.so so the test -program can find it. -Relative paths are not suitable, as the folder strucure for ptest -is different from the one expected by the nettle testsuite. - -Upstream-Status: Inappropriate [embedded specific] - -Signed-off-by: Juro Bystricky -Signed-off-by: Mingli Yu - ---- a/testsuite/dlopen-test.c 2016-10-01 00:28:38.000000000 -0700 -+++ b/testsuite/dlopen-test.c 2017-10-13 11:08:57.227572860 -0700 -@@ -9,7 +9,7 @@ - main (int argc UNUSED, char **argv UNUSED) - { - #if HAVE_LIBDL -- void *handle = dlopen ("../libnettle.so", RTLD_NOW); -+ void *handle = dlopen ("libnettle.so", RTLD_NOW); - int (*get_version)(void); - if (!handle) - { diff --git a/poky/meta/recipes-support/nettle/nettle-3.4.1/run-ptest b/poky/meta/recipes-support/nettle/nettle-3.4.1/run-ptest deleted file mode 100644 index b90bed66d..000000000 --- a/poky/meta/recipes-support/nettle/nettle-3.4.1/run-ptest +++ /dev/null @@ -1,36 +0,0 @@ -#! /bin/sh - -cd testsuite - -failed=0 -all=0 - -for f in *-test; do - if [ "$f" = "sha1-huge-test" ] ; then - echo "SKIP: $f (skipped for ludicrous run time)" - continue - fi - - "./$f" - case "$?" in - 0) - echo "PASS: $f" - all=$((all + 1)) - ;; - 77) - echo "SKIP: $f" - ;; - *) - echo "FAIL: $f" - failed=$((failed + 1)) - all=$((all + 1)) - ;; - esac -done - -if [ "$failed" -eq 0 ] ; then - echo "All $all tests passed" -else - echo "$failed of $all tests failed" -fi - diff --git a/poky/meta/recipes-support/nettle/nettle-3.5.1/Add-target-to-only-build-tests-not-run-them.patch b/poky/meta/recipes-support/nettle/nettle-3.5.1/Add-target-to-only-build-tests-not-run-them.patch new file mode 100644 index 000000000..c007060ee --- /dev/null +++ b/poky/meta/recipes-support/nettle/nettle-3.5.1/Add-target-to-only-build-tests-not-run-them.patch @@ -0,0 +1,38 @@ +Add target to only build tests (not run them) + +Not sending upstream as this is only a start of a solution to +installable tests: It's useful for us already as is. + +Upstream-Status: Inappropriate [not a complete solution] + +Signed-off-by: Jussi Kukkonen +Refactored for 3.4 +Signed-off-by: Armin Kuster + +Index: nettle-3.4/Makefile.in +=================================================================== +--- nettle-3.4.orig/Makefile.in ++++ nettle-3.4/Makefile.in +@@ -55,6 +55,9 @@ clean distclean mostlyclean maintainer-c + echo "Making $@ in $$d" ; (cd $$d && $(MAKE) $@); done + $(MAKE) $@-here + ++buildtest: ++ echo "Making $@ in testsuite" ; (cd testsuite && $(MAKE) $@) ++ + check-here: + true + +Index: nettle-3.4/testsuite/Makefile.in +=================================================================== +--- nettle-3.4.orig/testsuite/Makefile.in ++++ nettle-3.4/testsuite/Makefile.in +@@ -131,6 +131,8 @@ $(TARGETS) $(EXTRA_TARGETS): testutils.$ + # data. + VALGRIND = valgrind --error-exitcode=1 --leak-check=full --show-reachable=yes @IF_ASM@ --partial-loads-ok=yes + ++buildtest: $(TS_ALL) ++ + # The PATH update is for windows dlls, DYLD_LIBRARY_PATH is for OSX. + check: $(TS_ALL) + LD_LIBRARY_PATH=../.lib PATH="../.lib:$$PATH" DYLD_LIBRARY_PATH=../.lib \ diff --git a/poky/meta/recipes-support/nettle/nettle-3.5.1/check-header-files-of-openssl-only-if-enable_.patch b/poky/meta/recipes-support/nettle/nettle-3.5.1/check-header-files-of-openssl-only-if-enable_.patch new file mode 100644 index 000000000..d5f266681 --- /dev/null +++ b/poky/meta/recipes-support/nettle/nettle-3.5.1/check-header-files-of-openssl-only-if-enable_.patch @@ -0,0 +1,36 @@ +From ffee6b5f6204a0210f717968ec6ce514d70acca1 Mon Sep 17 00:00:00 2001 +From: Haiqing Bai +Date: Fri, 9 Dec 2016 15:23:17 +0800 +Subject: [PATCH] nettle: check header files of openssl only if + 'enable_openssl=yes'. + +The original configure script checks openssl header files to generate +config.h even if 'enable_openssl' is not set to yes, this made inconsistent +building for nettle. + +Upstream-Status: Pending +Signed-off-by: Haiqing Bai + +refactored for 3.4. pending not in as of 3.4 + +Signed-off-by: Armin Kuster + +Index: nettle-3.4/configure.ac +=================================================================== +--- nettle-3.4.orig/configure.ac ++++ nettle-3.4/configure.ac +@@ -185,9 +185,11 @@ AC_HEADER_TIME + AC_CHECK_SIZEOF(long) + AC_CHECK_SIZEOF(size_t) + +-AC_CHECK_HEADERS([openssl/evp.h openssl/ecdsa.h],, +-[enable_openssl=no +- break]) ++if test "x$enable_openssl" = "xyes"; then ++ AC_CHECK_HEADERS([openssl/evp.h openssl/ecdsa.h],, ++ [enable_openssl=no ++ break]) ++fi + + # For use by the testsuite + AC_CHECK_HEADERS([valgrind/memcheck.h]) diff --git a/poky/meta/recipes-support/nettle/nettle-3.5.1/dlopen-test.patch b/poky/meta/recipes-support/nettle/nettle-3.5.1/dlopen-test.patch new file mode 100644 index 000000000..fea577420 --- /dev/null +++ b/poky/meta/recipes-support/nettle/nettle-3.5.1/dlopen-test.patch @@ -0,0 +1,21 @@ +Remove the relative path for libnettle.so so the test +program can find it. +Relative paths are not suitable, as the folder strucure for ptest +is different from the one expected by the nettle testsuite. + +Upstream-Status: Inappropriate [embedded specific] + +Signed-off-by: Juro Bystricky +Signed-off-by: Mingli Yu + +--- a/testsuite/dlopen-test.c 2016-10-01 00:28:38.000000000 -0700 ++++ b/testsuite/dlopen-test.c 2017-10-13 11:08:57.227572860 -0700 +@@ -9,7 +9,7 @@ + main (int argc UNUSED, char **argv UNUSED) + { + #if HAVE_LIBDL +- void *handle = dlopen ("../libnettle.so", RTLD_NOW); ++ void *handle = dlopen ("libnettle.so", RTLD_NOW); + int (*get_version)(void); + if (!handle) + { diff --git a/poky/meta/recipes-support/nettle/nettle-3.5.1/run-ptest b/poky/meta/recipes-support/nettle/nettle-3.5.1/run-ptest new file mode 100644 index 000000000..b90bed66d --- /dev/null +++ b/poky/meta/recipes-support/nettle/nettle-3.5.1/run-ptest @@ -0,0 +1,36 @@ +#! /bin/sh + +cd testsuite + +failed=0 +all=0 + +for f in *-test; do + if [ "$f" = "sha1-huge-test" ] ; then + echo "SKIP: $f (skipped for ludicrous run time)" + continue + fi + + "./$f" + case "$?" in + 0) + echo "PASS: $f" + all=$((all + 1)) + ;; + 77) + echo "SKIP: $f" + ;; + *) + echo "FAIL: $f" + failed=$((failed + 1)) + all=$((all + 1)) + ;; + esac +done + +if [ "$failed" -eq 0 ] ; then + echo "All $all tests passed" +else + echo "$failed of $all tests failed" +fi + diff --git a/poky/meta/recipes-support/nettle/nettle_3.4.1.bb b/poky/meta/recipes-support/nettle/nettle_3.4.1.bb deleted file mode 100644 index cd8024f79..000000000 --- a/poky/meta/recipes-support/nettle/nettle_3.4.1.bb +++ /dev/null @@ -1,55 +0,0 @@ -SUMMARY = "A low level cryptographic library" -HOMEPAGE = "http://www.lysator.liu.se/~nisse/nettle/" -SECTION = "libs" -LICENSE = "LGPLv3+ | GPLv2+" - -LIC_FILES_CHKSUM = "file://COPYING.LESSERv3;md5=6a6a8e020838b23406c81b19c1d46df6 \ - file://COPYINGv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ - file://serpent-decrypt.c;beginline=14;endline=36;md5=ca0d220bc413e1842ecc507690ce416e \ - file://serpent-set-key.c;beginline=14;endline=36;md5=ca0d220bc413e1842ecc507690ce416e" - -DEPENDS += "gmp" - -SRC_URI = "${GNU_MIRROR}/${BPN}/${BP}.tar.gz \ - file://Add-target-to-only-build-tests-not-run-them.patch \ - file://run-ptest \ - file://check-header-files-of-openssl-only-if-enable_.patch \ - " - -SRC_URI_append_class-target = "\ - file://dlopen-test.patch \ - " - -SRC_URI[md5sum] = "9bdebb0e2f638d3b9d91f7fc264b70c1" -SRC_URI[sha256sum] = "f941cf1535cd5d1819be5ccae5babef01f6db611f9b5a777bae9c7604b8a92ad" - -UPSTREAM_CHECK_REGEX = "nettle-(?P\d+(\.\d+)+)\.tar" - -inherit autotools ptest multilib_header - -EXTRA_AUTORECONF += "--exclude=aclocal" - -EXTRA_OECONF = "--disable-openssl" -CFLAGS_append = " -std=gnu99" - -do_compile_ptest() { - oe_runmake buildtest -} - -do_install_append() { - oe_multilib_header nettle/nettle-stdint.h nettle/version.h -} - -do_install_ptest() { - install -d ${D}${PTEST_PATH}/testsuite/ - install ${S}/testsuite/gold-bug.txt ${D}${PTEST_PATH}/testsuite/ - install ${S}/testsuite/*-test ${D}${PTEST_PATH}/testsuite/ - # tools can be found in PATH, not in ../tools/ - sed -i -e 's|../tools/||' ${D}${PTEST_PATH}/testsuite/*-test - install ${B}/testsuite/*-test ${D}${PTEST_PATH}/testsuite/ -} - -RDEPENDS_${PN}-ptest += "${PN}-dev" -INSANE_SKIP_${PN}-ptest += "dev-deps" - -BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-support/nettle/nettle_3.5.1.bb b/poky/meta/recipes-support/nettle/nettle_3.5.1.bb new file mode 100644 index 000000000..d92db0ef9 --- /dev/null +++ b/poky/meta/recipes-support/nettle/nettle_3.5.1.bb @@ -0,0 +1,55 @@ +SUMMARY = "A low level cryptographic library" +HOMEPAGE = "http://www.lysator.liu.se/~nisse/nettle/" +SECTION = "libs" +LICENSE = "LGPLv3+ | GPLv2+" + +LIC_FILES_CHKSUM = "file://COPYING.LESSERv3;md5=6a6a8e020838b23406c81b19c1d46df6 \ + file://COPYINGv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ + file://serpent-decrypt.c;beginline=14;endline=36;md5=ca0d220bc413e1842ecc507690ce416e \ + file://serpent-set-key.c;beginline=14;endline=36;md5=ca0d220bc413e1842ecc507690ce416e" + +DEPENDS += "gmp" + +SRC_URI = "${GNU_MIRROR}/${BPN}/${BP}.tar.gz \ + file://Add-target-to-only-build-tests-not-run-them.patch \ + file://run-ptest \ + file://check-header-files-of-openssl-only-if-enable_.patch \ + " + +SRC_URI_append_class-target = "\ + file://dlopen-test.patch \ + " + +SRC_URI[md5sum] = "0e5707b418c3826768d41130fbe4ee86" +SRC_URI[sha256sum] = "75cca1998761b02e16f2db56da52992aef622bf55a3b45ec538bc2eedadc9419" + +UPSTREAM_CHECK_REGEX = "nettle-(?P\d+(\.\d+)+)\.tar" + +inherit autotools ptest multilib_header + +EXTRA_AUTORECONF += "--exclude=aclocal" + +EXTRA_OECONF = "--disable-openssl" +CFLAGS_append = " -std=gnu99" + +do_compile_ptest() { + oe_runmake buildtest +} + +do_install_append() { + oe_multilib_header nettle/version.h +} + +do_install_ptest() { + install -d ${D}${PTEST_PATH}/testsuite/ + install ${S}/testsuite/gold-bug.txt ${D}${PTEST_PATH}/testsuite/ + install ${S}/testsuite/*-test ${D}${PTEST_PATH}/testsuite/ + # tools can be found in PATH, not in ../tools/ + sed -i -e 's|../tools/||' ${D}${PTEST_PATH}/testsuite/*-test + install ${B}/testsuite/*-test ${D}${PTEST_PATH}/testsuite/ +} + +RDEPENDS_${PN}-ptest += "${PN}-dev" +INSANE_SKIP_${PN}-ptest += "dev-deps" + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-support/ptest-runner/ptest-runner/0001-utils-Ensure-stdout-stderr-are-flushed.patch b/poky/meta/recipes-support/ptest-runner/ptest-runner/0001-utils-Ensure-stdout-stderr-are-flushed.patch deleted file mode 100644 index c9a9dd7cf..000000000 --- a/poky/meta/recipes-support/ptest-runner/ptest-runner/0001-utils-Ensure-stdout-stderr-are-flushed.patch +++ /dev/null @@ -1,45 +0,0 @@ -From 9b36993794c1de733c521b2477370c874c07b617 Mon Sep 17 00:00:00 2001 -From: Richard Purdie -Date: Thu, 4 Apr 2019 14:18:55 +0100 -Subject: [PATCH 1/3] utils: Ensure stdout/stderr are flushed - -There is no guarantee that the data written with fwrite will be flushed to the -buffer. If stdout and stderr are the same thing, this could lead to interleaved -writes. The common case is stdout output so flush the output pipes when writing to -stderr. Also flush stdout before the function returns. - -Signed-off-by: Richard Purdie -Upstream-Status: Pending [code being tested] ---- - utils.c | 7 +++++-- - 1 file changed, 5 insertions(+), 2 deletions(-) - -diff --git a/utils.c b/utils.c -index 504df0b..3ceb342 100644 ---- a/utils.c -+++ b/utils.c -@@ -295,8 +295,11 @@ wait_child(const char *ptest_dir, const char *run_ptest, pid_t pid, - } - - if (pfds[1].revents != 0) { -- while ((n = read(fds[1], buf, WAIT_CHILD_BUF_MAX_SIZE)) > 0) -+ while ((n = read(fds[1], buf, WAIT_CHILD_BUF_MAX_SIZE)) > 0) { -+ fflush(fps[0]); - fwrite(buf, n, 1, fps[1]); -+ fflush(fps[1]); -+ } - } - - clock_gettime(clock, &sentinel); -@@ -315,7 +318,7 @@ wait_child(const char *ptest_dir, const char *run_ptest, pid_t pid, - break; - } - -- -+ fflush(fps[0]); - return status; - } - --- -2.17.1 - diff --git a/poky/meta/recipes-support/ptest-runner/ptest-runner/0002-use-process-groups-when-spawning.patch b/poky/meta/recipes-support/ptest-runner/ptest-runner/0002-use-process-groups-when-spawning.patch deleted file mode 100644 index 5436a3340..000000000 --- a/poky/meta/recipes-support/ptest-runner/ptest-runner/0002-use-process-groups-when-spawning.patch +++ /dev/null @@ -1,35 +0,0 @@ -From f0c42a65633341ad048718c7a6dbd035818e9eaf Mon Sep 17 00:00:00 2001 -From: Richard Purdie -Date: Thu, 4 Apr 2019 14:20:31 +0100 -Subject: [PATCH 2/3] use process groups when spawning - -Rather than just killing the process we've swawned, set the process group -for spawned children and then kill the group of processes. - -Signed-off-by: Richard Purdie -Upstream-Status: Pending [code being tested] ---- - utils.c | 9 +++++---- - 1 file changed, 5 insertions(+), 4 deletions(-) - -diff --git a/utils.c b/utils.c -index 3ceb342..c5b3b8d 100644 ---- a/utils.c -+++ b/utils.c -@@ -309,7 +309,7 @@ wait_child(const char *ptest_dir, const char *run_ptest, pid_t pid, - clock_gettime(clock, &time); - if ((time.tv_sec - sentinel.tv_sec) > timeout) { - *timeouted = 1; -- kill(pid, SIGKILL); -+ kill(-pid, SIGKILL); - waitflags = 0; - } - } -@@ -371,6 +371,7 @@ run_ptests(struct ptest_list *head, const struct ptest_options opts, - rc = -1; - break; - } else if (child == 0) { -+ setsid(); - run_child(p->run_ptest, pipefd_stdout[1], pipefd_stderr[1]); - } else { - int status; diff --git a/poky/meta/recipes-support/ptest-runner/ptest-runner/0003-utils-Ensure-pipes-are-read-after-exit.patch b/poky/meta/recipes-support/ptest-runner/ptest-runner/0003-utils-Ensure-pipes-are-read-after-exit.patch deleted file mode 100644 index f7c3ebe6f..000000000 --- a/poky/meta/recipes-support/ptest-runner/ptest-runner/0003-utils-Ensure-pipes-are-read-after-exit.patch +++ /dev/null @@ -1,76 +0,0 @@ -From e58e4e1a7f854953f823dc5135d35f728f253f31 Mon Sep 17 00:00:00 2001 -From: Richard Purdie -Date: Thu, 4 Apr 2019 14:24:14 +0100 -Subject: [PATCH 3/3] utils: Ensure pipes are read after exit - -There was a race in the code where the pipes may not be read after the process has exited -and data may be left behind in them. This change to ordering ensures the pipes are read -after the exit code has been read meaning no data can be left behind and the logs should -be complete. - -Signed-off-by: Richard Purdie -Upstream-Status: Pending [code being tested] ---- - utils.c | 29 ++++++++++++++++------------- - 1 file changed, 16 insertions(+), 13 deletions(-) - -diff --git a/utils.c b/utils.c -index c5b3b8d..37e88ab 100644 ---- a/utils.c -+++ b/utils.c -@@ -264,6 +264,7 @@ wait_child(const char *ptest_dir, const char *run_ptest, pid_t pid, pid_t group, - struct pollfd pfds[2]; - struct timespec sentinel; - clockid_t clock = CLOCK_MONOTONIC; -+ int looping = 1; - int r; - - int status; -@@ -281,9 +282,23 @@ wait_child(const char *ptest_dir, const char *run_ptest, pid_t pid, pid_t group, - - *timeouted = 0; - -- while (1) { -+ while (looping) { - waitflags = WNOHANG; - -+ if (timeout >= 0) { -+ struct timespec time; -+ -+ clock_gettime(clock, &time); -+ if ((time.tv_sec - sentinel.tv_sec) > timeout) { -+ *timeouted = 1; -+ kill(-pid, SIGKILL); -+ waitflags = 0; -+ } -+ } -+ -+ if (waitpid(pid, &status, waitflags) == pid) -+ looping = 0; -+ - r = poll(pfds, 2, WAIT_CHILD_POLL_TIMEOUT_MS); - if (r > 0) { - char buf[WAIT_CHILD_BUF_MAX_SIZE]; -@@ -303,19 +318,7 @@ wait_child(const char *ptest_dir, const char *run_ptest, pid_t pid, pid_t group, - } - - clock_gettime(clock, &sentinel); -- } else if (timeout >= 0) { -- struct timespec time; -- -- clock_gettime(clock, &time); -- if ((time.tv_sec - sentinel.tv_sec) > timeout) { -- *timeouted = 1; -- kill(-pid, SIGKILL); -- waitflags = 0; -- } - } -- -- if (waitpid(pid, &status, waitflags) == pid) -- break; - } - - fflush(fps[0]); --- -2.17.1 - 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 deleted file mode 100644 index 13b4cbc7f..000000000 --- a/poky/meta/recipes-support/ptest-runner/ptest-runner/0004-utils-ensure-child-can-be-session-leader.patch +++ /dev/null @@ -1,212 +0,0 @@ -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 deleted file mode 100644 index dec60fcc9..000000000 --- a/poky/meta/recipes-support/ptest-runner/ptest-runner_2.3.1.bb +++ /dev/null @@ -1,32 +0,0 @@ -SUMMARY = "A C program to run all installed ptests" -DESCRIPTION = "The ptest-runner2 package installs a ptest-runner \ -program which loops through all installed ptest test suites and \ -runs them in sequence." -HOMEPAGE = "http://git.yoctoproject.org/cgit/cgit.cgi/ptest-runner2/about/" - -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://LICENSE;md5=751419260aa954499f7abaabaa882bbe" - -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://0004-utils-ensure-child-can-be-session-leader.patch \ -" - -S = "${WORKDIR}/git" - -FILES_${PN} = "${bindir}/ptest-runner" - -EXTRA_OEMAKE = "-e MAKEFLAGS= CFLAGS="${CFLAGS} -DDEFAULT_DIRECTORY=\\\"${libdir}\\\""" - -do_compile () { - oe_runmake -} - -do_install () { - install -D -m 0755 ${S}/ptest-runner ${D}${bindir}/ptest-runner -} diff --git a/poky/meta/recipes-support/ptest-runner/ptest-runner_2.3.2.bb b/poky/meta/recipes-support/ptest-runner/ptest-runner_2.3.2.bb new file mode 100644 index 000000000..187f22df0 --- /dev/null +++ b/poky/meta/recipes-support/ptest-runner/ptest-runner_2.3.2.bb @@ -0,0 +1,28 @@ +SUMMARY = "A C program to run all installed ptests" +DESCRIPTION = "The ptest-runner2 package installs a ptest-runner \ +program which loops through all installed ptest test suites and \ +runs them in sequence." +HOMEPAGE = "http://git.yoctoproject.org/cgit/cgit.cgi/ptest-runner2/about/" + +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://LICENSE;md5=751419260aa954499f7abaabaa882bbe" + +SRCREV = "7015e9199ce748c0717addeebe7a8c47448bab03" +PV = "2.3.2+git${SRCPV}" + +SRC_URI = "git://git.yoctoproject.org/ptest-runner2 \ +" + +S = "${WORKDIR}/git" + +FILES_${PN} = "${bindir}/ptest-runner" + +EXTRA_OEMAKE = "-e MAKEFLAGS= CFLAGS="${CFLAGS} -DDEFAULT_DIRECTORY=\\\"${libdir}\\\""" + +do_compile () { + oe_runmake +} + +do_install () { + install -D -m 0755 ${S}/ptest-runner ${D}${bindir}/ptest-runner +} 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 49d5de294..aaaaa2907 100644 --- a/poky/meta/recipes-support/rng-tools/rng-tools/rngd.service +++ b/poky/meta/recipes-support/rng-tools/rng-tools/rngd.service @@ -1,5 +1,9 @@ [Unit] Description=Hardware RNG Entropy Gatherer Daemon +DefaultDependencies=no +After=systemd-udev-settle.service +Before=sysinit.target shutdown.target +Conflicts=shutdown.target [Service] EnvironmentFile=-@SYSCONFDIR@/default/rng-tools diff --git a/poky/meta/recipes-support/sqlite/sqlite3.inc b/poky/meta/recipes-support/sqlite/sqlite3.inc index daf3db5e9..7cf23d044 100644 --- a/poky/meta/recipes-support/sqlite/sqlite3.inc +++ b/poky/meta/recipes-support/sqlite/sqlite3.inc @@ -34,6 +34,9 @@ PACKAGECONFIG[json1] = "--enable-json1,--disable-json1" PACKAGECONFIG[rtree] = "--enable-rtree,--disable-rtree" PACKAGECONFIG[session] = "--enable-session,--disable-session" PACKAGECONFIG[dyn_ext] = "--enable-dynamic-extensions,--disable-dynamic-extensions" +PACKAGECONFIG[zlib] = ",,zlib" + +CACHED_CONFIGUREVARS += "${@bb.utils.contains('PACKAGECONFIG', 'zlib', '', 'ac_cv_search_deflate=no',d)}" EXTRA_OECONF = " \ --enable-shared \ diff --git a/poky/scripts/create-pull-request b/poky/scripts/create-pull-request index 3ce03d6c1..8eefcf63a 100755 --- a/poky/scripts/create-pull-request +++ b/poky/scripts/create-pull-request @@ -123,20 +123,12 @@ fi # Rewrite private URLs to public URLs # Determine the repository name for use in the WEB_URL later -case "$REMOTE_URL" in -*@*) - USER_RE="[A-Za-z0-9_.@][A-Za-z0-9_.@-]*\$\?" - PROTO_RE="[a-z][a-z+]*://" - GIT_RE="\(^\($PROTO_RE\)\?$USER_RE@\)\([^:/]*\)[:/]\(.*\)" - REMOTE_URL=${REMOTE_URL%.git} - REMOTE_REPO=$(echo $REMOTE_URL | sed "s#$GIT_RE#\4#") - REMOTE_URL=$(echo $REMOTE_URL | sed "s#$GIT_RE#git://\3/\4#") - ;; -*) - echo "WARNING: Unrecognized remote URL: $REMOTE_URL" - echo " The pull and browse URLs will likely be incorrect" - ;; -esac +USER_RE="[A-Za-z0-9_.@][A-Za-z0-9_.@-]*\$\?" +PROTO_RE="[a-z][a-z+]*://" +GIT_RE="\(^\($PROTO_RE\)\?\)\($USER_RE@\)\?\([^:/]*\)[:/]\(.*\)" +REMOTE_URL=${REMOTE_URL%.git} +REMOTE_REPO=$(echo $REMOTE_URL | sed "s#$GIT_RE#\5#") +REMOTE_URL=$(echo $REMOTE_URL | sed "s#$GIT_RE#git://\4/\5#") if [ -z "$BRANCH" ]; then BRANCH=$(git branch | grep -e "^\* " | cut -d' ' -f2) @@ -265,7 +257,7 @@ fi # Replace the SUBJECT token with it. if [ -n "$SUBJECT" ]; then - sed -i -e "s/\*\*\* SUBJECT HERE \*\*\*/$SUBJECT/" "$CL" + sed -i -e "s\`\*\*\* SUBJECT HERE \*\*\*\`$SUBJECT\`" "$CL" fi diff --git a/poky/scripts/lib/wic/ksparser.py b/poky/scripts/lib/wic/ksparser.py index 3e670033b..6a643ba3a 100644 --- a/poky/scripts/lib/wic/ksparser.py +++ b/poky/scripts/lib/wic/ksparser.py @@ -151,6 +151,8 @@ class KickStart(): part.add_argument('--part-name') part.add_argument('--part-type') part.add_argument('--rootfs-dir') + part.add_argument('--type', default='primary', + choices = ('primary', 'logical')) # --size and --fixed-size cannot be specified together; options # ----extra-space and --overhead-factor should also raise a parser diff --git a/poky/scripts/lib/wic/partition.py b/poky/scripts/lib/wic/partition.py index 01466b258..2a71d7b1d 100644 --- a/poky/scripts/lib/wic/partition.py +++ b/poky/scripts/lib/wic/partition.py @@ -50,6 +50,7 @@ class Partition(): self.use_uuid = args.use_uuid self.uuid = args.uuid self.fsuuid = args.fsuuid + self.type = args.type self.lineno = lineno self.source_file = "" @@ -211,19 +212,13 @@ class Partition(): if os.path.isfile(rootfs): os.remove(rootfs) - # Get rootfs size from bitbake variable if it's not set in .ks file + # If size is not specified compute it from the rootfs_dir size if not self.size and real_rootfs: - # Bitbake variable ROOTFS_SIZE is calculated in - # Image._get_rootfs_size method from meta/lib/oe/image.py - # using IMAGE_ROOTFS_SIZE, IMAGE_ROOTFS_ALIGNMENT, - # IMAGE_OVERHEAD_FACTOR and IMAGE_ROOTFS_EXTRA_SPACE - rsize_bb = get_bitbake_var('ROOTFS_SIZE') - if rsize_bb: - logger.warning('overhead-factor was specified, but size was not,' - ' so bitbake variables will be used for the size.' - ' In this case both IMAGE_OVERHEAD_FACTOR and ' - '--overhead-factor will be applied') - self.size = int(round(float(rsize_bb))) + # Use the same logic found in get_rootfs_size() + # from meta/classes/image.bbclass + du_cmd = "du -ks %s" % rootfs_dir + out = exec_cmd(du_cmd) + self.size = int(out.split()[0]) prefix = "ext" if self.fstype.startswith("ext") else self.fstype method = getattr(self, "prepare_rootfs_" + prefix) diff --git a/poky/scripts/lib/wic/plugins/imager/direct.py b/poky/scripts/lib/wic/plugins/imager/direct.py index 91fc5e70f..3ce6ad55b 100644 --- a/poky/scripts/lib/wic/plugins/imager/direct.py +++ b/poky/scripts/lib/wic/plugins/imager/direct.py @@ -300,6 +300,10 @@ class PartitionedImage(): self.path = path # Path to the image file self.numpart = 0 # Number of allocated partitions self.realpart = 0 # Number of partitions in the partition table + self.primary_part_num = 0 # Number of primary partitions (msdos) + self.extendedpart = 0 # Create extended partition before this logical partition (msdos) + self.extended_size_sec = 0 # Size of exteded partition (msdos) + self.logical_part_cnt = 0 # Number of total logical paritions (msdos) self.offset = 0 # Offset of next partition (in sectors) self.min_size = 0 # Minimum required disk size to fit # all partitions (in bytes) @@ -391,12 +395,16 @@ class PartitionedImage(): # Skip one sector required for the partitioning scheme overhead self.offset += overhead - if self.realpart > 3 and num_real_partitions > 4: + if self.ptable_format == "msdos": + if self.primary_part_num > 3 or \ + (self.extendedpart == 0 and self.primary_part_num >= 3 and num_real_partitions > 4): + part.type = 'logical' # Reserve a sector for EBR for every logical partition # before alignment is performed. - if self.ptable_format == "msdos": + if part.type == 'logical': self.offset += 1 + align_sectors = 0 if part.align: # If not first partition and we do have alignment set we need # to align the partition. @@ -422,18 +430,25 @@ class PartitionedImage(): part.start = self.offset self.offset += part.size_sec - part.type = 'primary' if not part.no_table: part.num = self.realpart else: part.num = 0 - if self.ptable_format == "msdos": - # only count the partitions that are in partition table - if num_real_partitions > 4: - if self.realpart > 3: - part.type = 'logical' - part.num = self.realpart + 1 + if self.ptable_format == "msdos" and not part.no_table: + if part.type == 'logical': + self.logical_part_cnt += 1 + part.num = self.logical_part_cnt + 4 + if self.extendedpart == 0: + # Create extended partition as a primary partition + self.primary_part_num += 1 + self.extendedpart = part.num + else: + self.extended_size_sec += align_sectors + self.extended_size_sec += part.size_sec + 1 + else: + self.primary_part_num += 1 + part.num = self.primary_part_num logger.debug("Assigned %s to %s%d, sectors range %d-%d size %d " "sectors (%d bytes).", part.mountpoint, part.disk, @@ -483,7 +498,7 @@ class PartitionedImage(): if part.num == 0: continue - if self.ptable_format == "msdos" and part.num == 5: + if self.ptable_format == "msdos" and part.num == self.extendedpart: # Create an extended partition (note: extended # partition is described in MBR and contains all # logical partitions). The logical partitions save a @@ -497,7 +512,7 @@ class PartitionedImage(): # room for all logical partitions. self._create_partition(self.path, "extended", None, part.start - 1, - self.offset - part.start + 1) + self.extended_size_sec) if part.fstype == "swap": parted_fs_type = "linux-swap" diff --git a/poky/scripts/runqemu b/poky/scripts/runqemu index 4079f2b17..df3c8aad0 100755 --- a/poky/scripts/runqemu +++ b/poky/scripts/runqemu @@ -119,19 +119,6 @@ def get_first_file(cmds): return f return '' -def check_free_port(host, port): - """ Check whether the port is free or not """ - import socket - from contextlib import closing - - with closing(socket.socket(socket.AF_INET, socket.SOCK_STREAM)) as sock: - if sock.connect_ex((host, port)) == 0: - # Port is open, so not free - return False - else: - # Port is not open, so free - return True - class BaseConfig(object): def __init__(self): # The self.d saved vars from self.set(), part of them are from qemuboot.conf @@ -161,6 +148,10 @@ class BaseConfig(object): # Setting one also adds "-vga std" because that is all that # OVMF supports. self.ovmf_bios = [] + # When enrolling default Secure Boot keys, the hypervisor + # must provide the Platform Key and the first Key Exchange Key + # certificate in the Type 11 SMBIOS table. + self.ovmf_secboot_pkkek1 = '' self.qemuboot = '' self.qbconfload = False self.kernel = '' @@ -181,14 +172,15 @@ class BaseConfig(object): self.audio_enabled = False self.tcpserial_portnum = '' self.custombiosdir = '' - self.lock = '' - self.lock_descriptor = None + self.taplock = '' + self.taplock_descriptor = None + self.portlocks = {} 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', 'iso') + self.vmtypes = ('hddimg', 'iso') self.fsinfo = {} self.network_device = "-device e1000,netdev=net0,mac=@MAC@" # Use different mac section for tap and slirp to avoid @@ -204,30 +196,78 @@ class BaseConfig(object): # avoid cleanup twice self.cleaned = False - def acquire_lock(self, error=True): - logger.debug("Acquiring lockfile %s..." % self.lock) + def acquire_taplock(self, error=True): + logger.debug("Acquiring lockfile %s..." % self.taplock) try: - self.lock_descriptor = open(self.lock, 'w') - fcntl.flock(self.lock_descriptor, fcntl.LOCK_EX|fcntl.LOCK_NB) + self.taplock_descriptor = open(self.taplock, 'w') + fcntl.flock(self.taplock_descriptor, fcntl.LOCK_EX|fcntl.LOCK_NB) except Exception as e: - msg = "Acquiring lockfile %s failed: %s" % (self.lock, e) + msg = "Acquiring lockfile %s failed: %s" % (self.taplock, e) if error: logger.error(msg) else: logger.info(msg) - if self.lock_descriptor: - self.lock_descriptor.close() - self.lock_descriptor = None + if self.taplock_descriptor: + self.taplock_descriptor.close() + self.taplock_descriptor = None return False return True - def release_lock(self): - if self.lock_descriptor: + def release_taplock(self): + if self.taplock_descriptor: logger.debug("Releasing lockfile for tap device '%s'" % self.tap) - fcntl.flock(self.lock_descriptor, fcntl.LOCK_UN) - self.lock_descriptor.close() - os.remove(self.lock) - self.lock_descriptor = None + fcntl.flock(self.taplock_descriptor, fcntl.LOCK_UN) + self.taplock_descriptor.close() + os.remove(self.taplock) + self.taplock_descriptor = None + + def check_free_port(self, host, port, lockdir): + """ Check whether the port is free or not """ + import socket + from contextlib import closing + + lockfile = os.path.join(lockdir, str(port) + '.lock') + if self.acquire_portlock(lockfile): + with closing(socket.socket(socket.AF_INET, socket.SOCK_STREAM)) as sock: + if sock.connect_ex((host, port)) == 0: + # Port is open, so not free + self.release_portlock(lockfile) + return False + else: + # Port is not open, so free + return True + else: + return False + + def acquire_portlock(self, lockfile): + logger.debug("Acquiring lockfile %s..." % lockfile) + try: + portlock_descriptor = open(lockfile, 'w') + self.portlocks.update({lockfile: portlock_descriptor}) + fcntl.flock(self.portlocks[lockfile], fcntl.LOCK_EX|fcntl.LOCK_NB) + except Exception as e: + msg = "Acquiring lockfile %s failed: %s" % (lockfile, e) + logger.info(msg) + if lockfile in self.portlocks.keys() and self.portlocks[lockfile]: + self.portlocks[lockfile].close() + del self.portlocks[lockfile] + return False + return True + + def release_portlock(self, lockfile=None): + if lockfile != None: + logger.debug("Releasing lockfile '%s'" % lockfile) + fcntl.flock(self.portlocks[lockfile], fcntl.LOCK_UN) + self.portlocks[lockfile].close() + os.remove(lockfile) + del self.portlocks[lockfile] + elif len(self.portlocks): + for lockfile, descriptor in self.portlocks.items(): + logger.debug("Releasing lockfile '%s'" % lockfile) + fcntl.flock(descriptor, fcntl.LOCK_UN) + descriptor.close() + os.remove(lockfile) + self.portlocks = {} def get(self, key): if key in self.d: @@ -602,6 +642,23 @@ class BaseConfig(object): if not os.path.exists(self.rootfs): raise RunQemuError("Can't find rootfs: %s" % self.rootfs) + def setup_pkkek1(self): + """ + Extract from PEM certificate the Platform Key and first Key + Exchange Key certificate string. The hypervisor needs to provide + it in the Type 11 SMBIOS table + """ + pemcert = '%s/%s' % (self.get('DEPLOY_DIR_IMAGE'), 'OvmfPkKek1.pem') + try: + with open(pemcert, 'r') as pemfile: + key = pemfile.read().replace('\n', ''). \ + replace('-----BEGIN CERTIFICATE-----', ''). \ + replace('-----END CERTIFICATE-----', '') + self.ovmf_secboot_pkkek1 = key + + except FileNotFoundError: + raise RunQemuError("Can't open PEM certificate %s " % pemcert) + def check_ovmf(self): """Check and set full path for OVMF firmware and variable file(s).""" @@ -612,6 +669,8 @@ class BaseConfig(object): path = '%s/%s.%s' % (self.get('DEPLOY_DIR_IMAGE'), ovmf, suffix) if os.path.exists(path): self.ovmf_bios[index] = path + if ovmf.endswith('secboot'): + self.setup_pkkek1() break else: raise RunQemuError("Can't find OVMF firmware: %s" % ovmf) @@ -878,6 +937,8 @@ class BaseConfig(object): print('ROOTFS: [%s]' % self.rootfs) if self.ovmf_bios: print('OVMF: %s' % self.ovmf_bios) + if (self.ovmf_secboot_pkkek1): + print('SECBOOT PKKEK1: [%s...]' % self.ovmf_secboot_pkkek1[0:100]) print('CONFFILE: [%s]' % self.qemuboot) print('') @@ -958,10 +1019,21 @@ class BaseConfig(object): ports = re.findall('hostfwd=[^-]*:([0-9]+)-[^,-]*', qb_slirp_opt) ports = [int(i) for i in ports] mac = 2 + + lockdir = "/tmp/qemu-port-locks" + if not os.path.exists(lockdir): + # There might be a race issue when multi runqemu processess are + # running at the same time. + try: + os.mkdir(lockdir) + os.chmod(lockdir, 0o777) + except FileExistsError: + pass + # Find a free port to avoid conflicts for p in ports[:]: p_new = p - while not check_free_port('localhost', p_new): + while not self.check_free_port('localhost', p_new, lockdir): p_new += 1 mac += 1 while p_new in ports: @@ -1016,8 +1088,8 @@ class BaseConfig(object): if os.path.exists('%s.skip' % lockfile): logger.info('Found %s.skip, skipping %s' % (lockfile, p)) continue - self.lock = lockfile + '.lock' - if self.acquire_lock(error=False): + self.taplock = lockfile + '.lock' + if self.acquire_taplock(error=False): tap = p logger.info("Using preconfigured tap device %s" % tap) logger.info("If this is not intended, touch %s.skip to make runqemu skip %s." %(lockfile, tap)) @@ -1035,8 +1107,8 @@ class BaseConfig(object): cmd = ('sudo', self.qemuifup, str(uid), str(gid), self.bindir_native) tap = subprocess.check_output(cmd).decode('utf-8').strip() lockfile = os.path.join(lockdir, tap) - self.lock = lockfile + '.lock' - self.acquire_lock() + self.taplock = lockfile + '.lock' + self.acquire_taplock() self.cleantap = True logger.debug('Created tap: %s' % tap) @@ -1215,6 +1287,13 @@ class BaseConfig(object): self.qemu_opt += ' ' + self.qemu_opt_script + if self.ovmf_secboot_pkkek1: + # Provide the Platform Key and first Key Exchange Key certificate as an + # OEM string in the SMBIOS Type 11 table. Prepend the certificate string + # with "application prefix" of the EnrollDefaultKeys.efi application + self.qemu_opt += ' -smbios type=11,value=4e32566d-8e9e-4f52-81d3-5bb9715f9727:' \ + + self.ovmf_secboot_pkkek1 + # Append qemuparams to override previous settings if self.qemuparams: self.qemu_opt += ' ' + self.qemuparams @@ -1268,8 +1347,11 @@ class BaseConfig(object): cmds = shlex.split(cmd) logger.info('Running %s\n' % cmd) pass_fds = [] - if self.lock_descriptor: - pass_fds = [self.lock_descriptor.fileno()] + if self.taplock_descriptor: + pass_fds = [self.taplock_descriptor.fileno()] + if len(self.portlocks): + for descriptor in self.portlocks.values(): + pass_fds.append(descriptor.fileno()) process = subprocess.Popen(cmds, stderr=subprocess.PIPE, pass_fds=pass_fds) self.qemupid = process.pid retcode = process.wait() @@ -1291,7 +1373,8 @@ class BaseConfig(object): cmd = ('sudo', self.qemuifdown, self.tap, self.bindir_native) logger.debug('Running %s' % str(cmd)) subprocess.check_call(cmd) - self.release_lock() + self.release_taplock() + self.release_portlock() if self.nfs_running: logger.info("Shutting down the userspace NFS server...") -- cgit v1.2.3 From 79641f25e882b55af6a647cfc0bf6bcc025661a5 Mon Sep 17 00:00:00 2001 From: Brad Bishop Date: Tue, 10 Sep 2019 07:20:22 -0400 Subject: poky: subtree update:c17113f1e2..3b87508a9a MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Adrian Bunk (18): help2man: Upgrade 1.47.10 -> 1.47.11 glib-networking: Upgrade 2.60.2 -> 2.60.3 flac: Upgrade 1.3.2 -> 1.3.3 subversion: Upgrade 1.12.0 -> 1.12.2 world-broken.inc: Remove meta/recipes.txt: Stop documenting the long removed recipes-lsb4 python: Remove PYTHONLSBOPTS that hasn't been set for some time systemd: Print a buildtime warning about the status with musl linux-dtb.inc: Remove systemd: Update to the latest 242 branch Remove LSB support Remove LSB support bits libxcrypt: Fix the build with -Os systemd: Update to the latest 242 branch Remove leftovers from the eglinfo removal Update to KERNEL_DEVICETREE variable. ref-manual: Remove documentation for the removed bluez5 distro feature ref-manual: Remove documentation for the removed gnome class Alex Kiernan (1): iputils: Set prefix correctly for usrmerge Alexander Kanavin (23): python3-numpy: update to 1.17.0 images: use 512M of RAM in qemu if 'opengl" is in DISTRO_FEATURES boost: update to 1.71.0 beaglebone: use the default of 256M rather than 512M rpm: resolve a host contamination issue for mono packaging qemu: set default RAM to 256M for all machines mesa: disable gallium swrast driver on x86 x32 ltp: move from python 2.x to python 3.x lsb-release: fix upstream version check libffi: fix upstream version check qemu: switch to '-vga std' emulated hardware from vmware/cirrus for x86/mips ca-certificates: use python 3 for builds libpsl: use python 3 during builds pseudo: use python 3 during builds llvm: use python 3 during builds virglrenderer: update 0.7.0 -> 0.8.0 webkitgtk: use Python 3 for builds webkitgtk: update 2.24.3 -> 2.24.4 default-providers.inc: set mesa as the provider for native(sdk) virtual/libgl libepoxy: enable x11 PACKAGECONFIG for native/nativesdk eglinfo: remove the recipe local.conf.sample: add a commented-out option to enable the gtk UI qemu frontend package.bbclass: allow shell-style wildcards in PRIVATE_LIBS Alistair Francis (2): linux-yocto-dev: Mark qemuriscv64 as compatible qemuriscv: Generate a wic rootFS with a larger filesystem Andre McCurdy (11): bitbake.conf: drop FETCHCMD, GITDIR, etc fetcher over-rides tune-arm1136jf-s.inc: add hardfloat support tune-arm1176jz-s.inc: add support for arm1176jz-s CPU specific tuning tune-ep9312.inc: fix TUNEVALID description packagegroup-core-boot: drop duplicate MACHINE_ESSENTIAL_EXTRA_RDEPENDS, etc rootfs-postcommands.bbclass: add inittab tweak to read_only_rootfs_hook() base-files: nsswitch.conf is glibc specific sqlite3: make CFLAGS consistent across native, nativesdk and target cases sqlite3: explicitly set target endian-ness feature-arm-thumb.inc: fix ARM_THUMB_SUFFIX dropbear: don't create invalid symlinks if ssh, scp, etc are disabled Anuj Mittal (1): libjpeg-turbo: upgrade 2.0.2 -> 2.0.3 Armin Kuster (4): bitbake: tests/fetch: Resolve fetch error in bitbake-selftest gcc-9.2: Security fix for CVE-2019-14250 gcc-8.3: Security fix for CVE-2019-14250 gcc-8.3: remove 8.3 from zeus Bruce Ashfield (11): bluez5: fix build against libc-headers 5.2+ kernel-devsrc: remove python2 dependency perf: change dependencies on python to python3 perf: v5.3+ build fixes devsrc: update arm64 scripts/prepare for kernels 5.3+ linux-libc-headers: update to v5.2 headers linux-yocto: introduce 5.2 recipes qemu: bump linux-yocto preferred version to 5.2 linux-yocto/5.2: update qemuriscv64 SRCREV linux-yocto/5.2: config tweaks and kallsyms fix linux-yocto: drop 5.0 recipes Changhyeok Bae (1): iputils: upgrade to s20190709 Changqing Li (8): libedit: fix failed to get history avahi-ui: support usrmerge bootchart2: support usrmerge systemd-bootchart: support usrmerge bootchart2: switch to add patch from change source in do_install mdadm: skip timeout testcase 11spare-migration dnf.py: installroot support usrmerge man-db: support usrmerge Chen Qi (7): bbtests.py: remove recipe-depends.dot commands.py: fix typo bitbake: cooker.py: remove generation of recipe-depends.dot bind: fix build with python3 PACKAGECONFIG enabled python-testtools: rdepend on doctest module python-numpy: rdepend on multiprocessing module python3: make misc package rdepend on pydoc and pickle modules Christophe PRIOUZEAU (1): common-licenses: update BSD-2-CLAUSE license text Dan Callaghan (1): autotools: always include config_site.d files in CONFIG_SITE Daniel Klauer (1): image.bbclass: Fix debug output for rootfs size Denys Zagorui (1): gzip: add nativesdk support Drew Moseley (1): runqemu: Fix typo in help text. He Zhe (4): ltp: cve/meltdown.c: Fix kernel symbol finding ltp: syscalls: rt_sigwaitinfo01: Fix failure for MIPS arches qemu: Add pkg-config handling for libgcrypt qemu: Fix dependency of PACKAGECONFIG libcurl Jacob Kroon (2): btrfs-tools: Add PACKAGECONFIG knob for controlling python support rm_work: Remove redundant 'after' in addtask statement Jason Wessel (2): serial-getty@.service: Allow device to fast fail if it does not exist Revert "kernel.bbclass: adjust a condition checking" Joshua Watt (9): bitbake: bitbake: respect force flag in runall and runonly oeqa: reproducible: Cleanup reproducible build oeqa: reproducible: Use subTest for packages oeqa: Set LD_LIBRARY_PATH when executing native commands oeqa: reproducible: Record packages in test results oeqa: Enable reproducible build test oeqa: reproducible: Do two clean builds oeqa: reproducible: Preserve sstate mirror for first build resulttool: Add reproducible log extraction Kai Kang (4): avahi: launch avahi-daemon after connman cups: redefine CUPS_SERVERBIN texinfo: fix multilib file confliction sysstat: 12.1.3 -> 12.1.6 Kevin Hao (1): meta-yocto-bsp: Bump to the v5.2 kernel Khem Raj (12): go-1.12: update to 1.12.9 minor release powerpc-tunes: Introduce bigendian tune tune-riscv: Drop littleendian and introduce bigendian tune gcc: Move STANDARD_STARTFILE_PREFIX_1 and STANDARD_STARTFILE_PREFIX_2 back to gcc.c gcc: Fix ldbl-128 support for musl libgpg-error: Fix build with gawk 5.x libgpg-error: Fix build with gawk 5.x musl: Update to latest master gcc-9.2: Fix risc-v dynamic linker relocation python3native, pythonnative: export PYTHON_LIBRARY and PYTHON_INCLUDE_DIR oeqa: Recognise svlogd as another logger python3-manifest.json: Fix typo in summary Mark Asselstine (1): sdkext: use simpler kernel module for devtool test Mark Hatle (1): yocto-check-layer: Allow any case for README file detection Martin Hundebøll (1): initscripts: remove warnings on read-only-rootfs (again) Martin Jansa (3): bitbake: utils: Fix movefile() exception handling with python3 bitbake: fetch2: show warning when renaming the archive with bad checksum failed bitbake: bitbake-user-manual: Improve the example for Removal (Override Style Syntax) Mazliana (1): oeqa/kerneldevelopment: Able to apply a single patch to the Linux kernel source Ming Liu (1): weston: uprev to 7.0.0 Nathan Rossi (30): binutils: Fix mips patch which changes default emulation oeqa/utils/nfs: Add unfs_server function to setup a userspace NFS server scripts/lib/resulttool/report.py: Add more result types gcc-common.inc: Process staging fixme with correct target/native sysroot oeqa/core/tests: Skip test_fail_duplicated_module oeqa/core/tests: Fix test_data module tests Clean up remnants of glibc-initial oe-selftest: Implement console 'keepalive' output dejagnu: Add dejagnu for binutils/gcc test suites binutils-cross-testsuite: Create recipe for test suite execution gcc-runtime: Add do_check task for executing gcc test suites glibc-testsuite: Create a recipe to implement glibc test suite gcc-testsuite.inc: Fix ssh.exp, ensure multilib_flags are populated security_flags.inc: Add overrides for glibc-testsuite to match glibc archiver.bbclass: Do not archive srpm's if there are no package tasks oeqa/core: Implement proper extra result collection and serialization oeqa/core: Rework OETestTag and remove unused OETestFilter oeqa/selftest: Add test run filtering based on test tags oeqa/core/runner.py: Fix OETestTag listing oeqa/selftest/binutils: Create selftest case for binutils test suite oeqa/selftest/gcc: Create selftest case for gcc test suite oeqa/selftest/glibc: Create selftest case for glibc test suite oeqa/selftest/cases/glibc.py: Don't install python3 and pexpect oeqa/selftest: For toolchain tests do not fail if a test failed oeqa/selftest: Toolchain tests suffix "-user" for qemu usermode results oeqa/selftest: Use extraresults on self instead of self.tc oeqa/selftest/context.py: Change -t/-T args to be optional oeqa/core/decorator: Fix super class modifying subclass tags oeqa/selftest/cases/gcc.py: Split into classes for parallelism oeqa/selftest/cases/glibc.py: Rework and tag with toolchain-user/system Neil Armstrong (1): mesa: Add support for the panfrost PACKAGECONFIG Oleksandr Kravchuk (8): libsolv: update to 0.7.6 libevdev: update to 1.8.0 ell: update to 0.22 go-dep: update to 0.5.4 libsecret: 0.19.0 python3-pbr: update to 5.4.3 python3-git: update to 3.0.2 libxcrypt: update to 4.4.8 Peiran Hong (1): diffutils: Added perl to support ptest & Skipped one test case Peter Kjellerstedt (2): libffi: Make it build for MIPS o32 devtool: Avoid failure for recipes with S == WORKDIR and no local files Richard Purdie (11): poky-altcfg: Replace poky-lsb with poky-altcfg ca-certificates: Fix reproducibilty and multilib issue gcc-cross: Clean up fixed-includes systemtap: Use latest and greatest git version for 5.2 kernel support gcc-cross: Fix header file corruption problems poky: Use 5.2 kernel by default binutils/glibc-testsuite: inherit nopackages to fix world builds systemtap: Drop patches merged upstream poky-tiny/poky-altcfg: Use busybox-mdev and systemd oeqa/selftest: Markup 'machine' specific test cases oeqa/selftest: Tweak binutils tests tags as toolchain/user and system Robert Yang (3): ccache: 3.7.1 -> 3.7.3 nfs-utils: 2.3.3 -> 2.4.1 build-compare: 2015.02.10 -> 2019.08.14 Ross Burton (11): libedit: remove FETCHCMD append libnl: upgrade to 3.5.0 libnl: don't patch libnl-3.0.pc systemd: explicitly set the path to nologin core-image-sato: don't use 512MB in qemumips patch: add CVE tags to patches pango: 1.44.6 upgrade pango: add PACKAGECONFIG for libthai support harfbuzz: upgrade to 2.6.1 systemd: ensure reproducible builds by clearly exposing the time epoch support ref-system-requirements: add Debian 10 to supported distribution list Scott Rifenbark (5): ref-manual: Updated the "AS" variable ref-manual: Updates to "Building Your Recipe" dev-manual: Updated "Creating a Team Development Environment" poky-end: Added "pylint3" package to Ubuntu essentials. ref-manual: sync list of image types with source Tim Blechmann (1): icecc: blacklist systemtap Trevor Gamblin (2): lighttpd: drop hard-coded lua version in PACKAGECONFIG libevent: add granularity to ptest log Vijai Kumar K (1): lib/oe/gpg_sign.py: Remove unwanted import Wes Lindauer (1): bitbake: bitbake: cooker: Ensure bbappends are found in stable order Yi Zhao (1): libbsd: upgrade 0.9.1 -> 0.10.0 Yuan Chao (1): man-db: upgrade 2.8.6.1 -> 2.8.7 Zang Ruochen (7): libarchive:upgrade 3.3.3 -> 3.4.0 python3-pip:upgrade 19.2.2 -> 19.2.3 logrotate:upgrade 3.15.0 -> 3.15.1 libogg:upgrade 1.3.3 -> 1.3.4 dtc:upgrade 1.5.0 -> 1.5.1 python3-dbus:upgrade 1.2.8 -> 1.2.10 meson:upgrade 0.51.1 -> 0.51.2 Change-Id: I341e8df65e8196114088a2d6d6eb3a33296188b4 Signed-off-by: Brad Bishop --- poky/README.LSB | 29 - .../bitbake-user-manual-metadata.xml | 12 +- poky/bitbake/lib/bb/cooker.py | 26 +- poky/bitbake/lib/bb/fetch2/__init__.py | 3 +- poky/bitbake/lib/bb/runqueue.py | 32 +- poky/bitbake/lib/bb/tests/fetch.py | 4 +- poky/bitbake/lib/bb/utils.py | 2 +- poky/documentation/dev-manual/dev-manual-start.xml | 5 +- poky/documentation/poky.ent | 2 +- poky/documentation/ref-manual/ref-classes.xml | 32 - .../ref-manual/ref-devtool-reference.xml | 12 +- poky/documentation/ref-manual/ref-features.xml | 21 - .../ref-manual/ref-system-requirements.xml | 1 + poky/documentation/ref-manual/ref-variables.xml | 18 +- .../distro/include/poky-distro-alt-test-config.inc | 8 +- poky/meta-poky/conf/distro/poky-altcfg.conf | 15 + poky/meta-poky/conf/distro/poky-lsb.conf | 13 - poky/meta-poky/conf/distro/poky-tiny.conf | 10 +- poky/meta-poky/conf/distro/poky.conf | 2 +- poky/meta-poky/conf/local.conf.sample | 10 +- poky/meta-poky/conf/local.conf.sample.extended | 2 +- .../conf/machine/beaglebone-yocto.conf | 3 +- poky/meta-yocto-bsp/conf/machine/edgerouter.conf | 2 +- poky/meta-yocto-bsp/conf/machine/mpc8315e-rdb.conf | 2 +- .../recipes-kernel/linux/linux-yocto_5.0.bbappend | 27 - .../recipes-kernel/linux/linux-yocto_5.2.bbappend | 27 + poky/meta/classes/archiver.bbclass | 14 +- poky/meta/classes/autotools.bbclass | 7 +- poky/meta/classes/icecc.bbclass | 3 + poky/meta/classes/image.bbclass | 2 +- poky/meta/classes/kernel.bbclass | 6 +- poky/meta/classes/package.bbclass | 6 +- poky/meta/classes/python3native.bbclass | 8 + poky/meta/classes/pythonnative.bbclass | 8 + poky/meta/classes/rm_work.bbclass | 2 +- poky/meta/classes/rootfs-postcommands.bbclass | 5 + poky/meta/classes/staging.bbclass | 2 +- poky/meta/conf/bitbake.conf | 12 - poky/meta/conf/distro/defaultsetup.conf | 1 - .../meta/conf/distro/include/default-providers.inc | 2 + poky/meta/conf/distro/include/distro_alias.inc | 8 - poky/meta/conf/distro/include/maintainers.inc | 13 +- poky/meta/conf/distro/include/security_flags.inc | 4 +- poky/meta/conf/distro/include/tcmode-default.inc | 6 +- poky/meta/conf/distro/include/world-broken.inc | 27 - .../conf/machine/include/arm/feature-arm-thumb.inc | 7 +- .../conf/machine/include/powerpc/arch-powerpc.inc | 22 +- .../machine/include/powerpc/arch-powerpc64.inc | 10 +- poky/meta/conf/machine/include/qemuboot-mips.inc | 3 +- poky/meta/conf/machine/include/qemuboot-x86.inc | 2 +- poky/meta/conf/machine/include/riscv/qemuriscv.inc | 5 +- .../meta/conf/machine/include/riscv/tune-riscv.inc | 6 +- .../meta/conf/machine/include/tune-arm1136jf-s.inc | 5 +- .../meta/conf/machine/include/tune-arm1176jz-s.inc | 17 + poky/meta/conf/machine/include/tune-ep9312.inc | 2 +- poky/meta/conf/machine/include/tune-power5.inc | 4 +- poky/meta/conf/machine/include/tune-power6.inc | 4 +- poky/meta/conf/machine/include/tune-power7.inc | 4 +- poky/meta/conf/machine/include/tune-ppc476.inc | 2 +- poky/meta/conf/machine/include/tune-ppc603e.inc | 2 +- poky/meta/conf/machine/include/tune-ppc7400.inc | 2 +- poky/meta/conf/machine/include/tune-ppce300c2.inc | 2 +- poky/meta/conf/machine/include/tune-ppce500.inc | 2 +- poky/meta/conf/machine/include/tune-ppce500mc.inc | 2 +- poky/meta/conf/machine/include/tune-ppce500v2.inc | 2 +- poky/meta/conf/machine/include/tune-ppce5500.inc | 4 +- poky/meta/conf/machine/include/tune-ppce6500.inc | 4 +- poky/meta/conf/machine/include/x86-base.inc | 2 +- poky/meta/conf/machine/qemuarm.conf | 1 - poky/meta/conf/machine/qemuarm64.conf | 1 - poky/meta/conf/machine/qemuarmv5.conf | 2 +- poky/meta/conf/machine/qemux86-64.conf | 6 +- poky/meta/conf/machine/qemux86.conf | 1 + poky/meta/files/common-licenses/BSD-2-Clause | 11 +- poky/meta/lib/oe/gpg_sign.py | 1 - poky/meta/lib/oeqa/core/context.py | 4 +- poky/meta/lib/oeqa/core/decorator/__init__.py | 21 +- poky/meta/lib/oeqa/core/decorator/oetag.py | 27 - poky/meta/lib/oeqa/core/loader.py | 61 +- poky/meta/lib/oeqa/core/runner.py | 60 +- poky/meta/lib/oeqa/core/tests/cases/data.py | 2 +- poky/meta/lib/oeqa/core/tests/cases/oetag.py | 21 +- poky/meta/lib/oeqa/core/tests/common.py | 4 +- poky/meta/lib/oeqa/core/tests/test_data.py | 10 +- poky/meta/lib/oeqa/core/tests/test_decorators.py | 77 +- poky/meta/lib/oeqa/core/tests/test_loader.py | 26 +- poky/meta/lib/oeqa/core/utils/concurrencytest.py | 61 +- poky/meta/lib/oeqa/manual/bsp-hw.json | 2 +- poky/meta/lib/oeqa/manual/compliance-test.json | 32 +- poky/meta/lib/oeqa/manual/crops.json | 12 +- .../meta/lib/oeqa/manual/toaster-managed-mode.json | 14 +- poky/meta/lib/oeqa/runtime/cases/dnf.py | 34 +- poky/meta/lib/oeqa/runtime/cases/oe_syslog.py | 2 +- poky/meta/lib/oeqa/runtime/cases/parselogs.py | 4 + poky/meta/lib/oeqa/sdkext/cases/devtool.py | 4 +- poky/meta/lib/oeqa/selftest/cases/bbtests.py | 2 +- poky/meta/lib/oeqa/selftest/cases/binutils.py | 49 + poky/meta/lib/oeqa/selftest/cases/gcc.py | 139 ++ poky/meta/lib/oeqa/selftest/cases/glibc.py | 88 ++ .../lib/oeqa/selftest/cases/kerneldevelopment.py | 67 + poky/meta/lib/oeqa/selftest/cases/meta_ide.py | 2 + poky/meta/lib/oeqa/selftest/cases/reproducible.py | 80 +- poky/meta/lib/oeqa/selftest/cases/runqemu.py | 2 + poky/meta/lib/oeqa/selftest/context.py | 21 +- poky/meta/lib/oeqa/utils/commands.py | 5 +- poky/meta/lib/oeqa/utils/network.py | 4 +- poky/meta/lib/oeqa/utils/nfs.py | 39 + .../recipes-connectivity/avahi/avahi-ui_0.7.bb | 8 +- .../0001-Fix-opening-etc-resolv.conf-error.patch | 7 +- .../recipes-connectivity/bind/bind_9.11.5-P4.bb | 2 +- poky/meta/recipes-connectivity/bluez5/bluez5.inc | 1 + ...ls-Fix-build-after-y2038-changes-in-glibc.patch | 68 + ...-Do-not-pass-null-pointer-to-freeaddrinfo.patch | 32 - ...le.am-fix-undefined-function-for-libnsm.a.patch | 22 +- ...1-Makefile.am-update-the-path-of-libnfs.a.patch | 50 - ...re.ac-Do-not-fatalize-Wmissing-prototypes.patch | 9 +- .../bugfix-adjust-statd-service-name.patch | 30 +- .../nfs-utils/nfs-utils-musl-limits.patch | 133 -- .../nfs-utils/nfs-utils-musl-res_querydomain.patch | 23 +- .../nfs-utils/nfs-utils_2.3.3.bb | 157 -- .../nfs-utils/nfs-utils_2.4.1.bb | 151 ++ .../recipes-core/base-files/base-files_3.0.14.bb | 5 +- poky/meta/recipes-core/dropbear/dropbear.inc | 11 +- poky/meta/recipes-core/ell/ell_0.21.bb | 22 - poky/meta/recipes-core/ell/ell_0.22.bb | 22 + .../glib-networking/glib-networking_2.60.2.bb | 32 - .../glib-networking/glib-networking_2.60.3.bb | 32 + poky/meta/recipes-core/glibc/glibc-package.inc | 9 +- .../recipes-core/glibc/glibc-testsuite_2.30.bb | 53 + .../recipes-core/glibc/glibc/check-test-wrapper | 71 + .../images/build-appliance-image_15.0.0.bb | 2 + .../initscripts-1.0/populate-volatile.sh | 2 +- .../libxcrypt/libxcrypt-compat_4.4.6.bb | 18 - .../libxcrypt/libxcrypt-compat_4.4.8.bb | 18 + .../meta/recipes-core/libxcrypt/libxcrypt_4.4.6.bb | 35 - .../meta/recipes-core/libxcrypt/libxcrypt_4.4.8.bb | 33 + poky/meta/recipes-core/musl/musl_git.bb | 2 +- .../packagegroups/packagegroup-core-boot.bb | 6 - .../packagegroups/packagegroup-self-hosted.bb | 2 +- .../systemd-serialgetty/serial-getty@.service | 3 +- poky/meta/recipes-core/systemd/systemd.inc | 2 +- ....file-max-sysctl-to-LONG_MAX-rather-than-.patch | 39 - .../systemd/0001-networkd-fix-link-up.patch | 66 - ...lved-Fix-incorrect-use-of-OpenSSL-BUF_MEM.patch | 41 - .../systemd/0002-network-do-not-send-ipv6.patch | 96 -- ...work-remove-redunant-link-name-in-message.patch | 41 - poky/meta/recipes-core/systemd/systemd_242.bb | 20 +- .../binutils/binutils-cross-testsuite_2.32.bb | 85 ++ ...Change-default-emulation-for-mips64-linux.patch | 9 +- .../0001-bootchart2-support-usrmerge.patch | 37 + .../bootchart2/bootchart2_0.14.8.bb | 7 +- .../btrfs-tools/btrfs-tools_5.2.1.bb | 17 +- .../build-compare/build-compare_git.bb | 12 +- ...001-Add-support-for-deb-and-ipk-packaging.patch | 64 - .../files/Ignore-DWARF-sections.patch | 17 +- .../files/Rename-rpm-check.sh-to-pkg-diff.sh.patch | 1599 -------------------- ...functions.sh-improve-deb-and-ipk-checking.patch | 117 -- .../files/functions.sh-remove-space-at-head.patch | 41 - ...nctions.sh-run-rpm-once-to-make-it-faster.patch | 361 ----- .../pkg-diff.sh-check-for-fifo-named-pipe.patch | 35 - ...-check_single_file-return-at-once-when-sa.patch | 37 - ...diff.sh-remove-space-in-the-end-for-ftype.patch | 32 - poky/meta/recipes-devtools/ccache/ccache_3.7.1.bb | 7 - poky/meta/recipes-devtools/ccache/ccache_3.7.3.bb | 7 + .../meta/recipes-devtools/dejagnu/dejagnu_1.6.2.bb | 15 + poky/meta/recipes-devtools/gcc/gcc-8.3.inc | 112 -- .../0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch | 42 - .../0002-gcc-poison-system-directories.patch | 203 --- .../0003-gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch | 73 - .../gcc/gcc-8.3/0004-64-bit-multilib-hack.patch | 85 -- .../gcc/gcc-8.3/0005-optional-libstdc.patch | 125 -- .../gcc/gcc-8.3/0007-COLLECT_GCC_OPTIONS.patch | 38 - ...efaults.h-in-B-instead-of-S-and-t-oe-in-B.patch | 96 -- .../gcc-8.3/0009-fortran-cross-compile-hack.patch | 46 - .../gcc/gcc-8.3/0010-cpp-honor-sysroot.patch | 54 - .../gcc-8.3/0011-MIPS64-Default-to-N64-ABI.patch | 57 - ...C_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch | 248 --- ...0013-gcc-Fix-argument-list-too-long-error.patch | 40 - .../gcc/gcc-8.3/0014-Disable-sdt.patch | 113 -- .../gcc/gcc-8.3/0015-libtool.patch | 42 - ...4-pass-fix-v4bx-to-linker-to-support-EABI.patch | 43 - ...tilib-config-files-from-B-instead-of-usin.patch | 102 -- ...-libdir-from-.la-which-usually-points-to-.patch | 31 - .../gcc/gcc-8.3/0019-export-CPP.patch | 53 - ...-MULTILIB_OSDIRNAMES-and-other-multilib-o.patch | 42 - ...Ensure-target-gcc-headers-can-be-included.patch | 98 -- ...-t-build-with-disable-dependency-tracking.patch | 54 - ...h-host-directory-during-relink-if-inst_pr.patch | 38 - ...IBS_DIR-replacement-instead-of-hardcoding.patch | 28 - .../0025-aarch64-Add-support-for-musl-ldso.patch | 28 - ...ibcc1-fix-libcc1-s-install-path-and-rpath.patch | 54 - ...-handle-sysroot-support-for-nativesdk-gcc.patch | 213 --- ...et-sysroot-gcc-version-specific-dirs-with.patch | 102 -- ...-various-_FOR_BUILD-and-related-variables.patch | 137 -- .../0030-nios2-Define-MUSL_DYNAMIC_LINKER.patch | 28 - ...shared-to-link-commandline-for-musl-targe.patch | 87 -- ...32-libgcc-Add-knob-to-use-ldbl-128-on-ppc.patch | 125 -- ...bgcc-using-LDFLAGS-not-just-SHLIB_LDFLAGS.patch | 29 - ...e-alias-for-__cpu_indicator_init-instead-.patch | 85 -- .../gcc-8.3/0035-sync-gcc-stddef.h-with-musl.patch | 91 -- ...ation-fault-in-precompiled-header-generat.patch | 60 - .../gcc-8.3/0037-Fix-for-testsuite-failure.patch | 258 ---- ...0038-Re-introduce-spe-commandline-options.patch | 41 - .../0039-riscv-Disable-multilib-for-OE.patch | 27 - ...werpc-powerpc64-Add-support-for-musl-ldso.patch | 31 - ...sion-limit-to-libiberty-s-demangling-code.patch | 325 ---- .../gcc/gcc-8.3/0042-PR-debug-86964.patch | 94 -- ...vent-spilling-of-stack-protector-guard-s-.patch | 813 ---------- .../gcc/gcc-8.3/CVE-2019-14250.patch | 44 + poky/meta/recipes-devtools/gcc/gcc-9.2.inc | 1 + ...C_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch | 23 +- ...Ensure-target-gcc-headers-can-be-included.patch | 47 +- ...30-libgcc-Add-knob-to-use-ldbl-128-on-ppc.patch | 178 +-- .../gcc/gcc-9.2/CVE-2019-14250.patch | 44 + poky/meta/recipes-devtools/gcc/gcc-common.inc | 9 +- .../recipes-devtools/gcc/gcc-configure-common.inc | 1 - .../recipes-devtools/gcc/gcc-cross-canadian_8.3.bb | 5 - poky/meta/recipes-devtools/gcc/gcc-cross.inc | 5 + poky/meta/recipes-devtools/gcc/gcc-cross_8.3.bb | 3 - poky/meta/recipes-devtools/gcc/gcc-crosssdk_8.3.bb | 2 - poky/meta/recipes-devtools/gcc/gcc-runtime.inc | 42 + poky/meta/recipes-devtools/gcc/gcc-runtime_8.3.bb | 2 - .../recipes-devtools/gcc/gcc-sanitizers_8.3.bb | 7 - poky/meta/recipes-devtools/gcc/gcc-source_8.3.bb | 4 - poky/meta/recipes-devtools/gcc/gcc-testsuite.inc | 107 ++ poky/meta/recipes-devtools/gcc/gcc_8.3.bb | 14 - .../recipes-devtools/gcc/libgcc-initial_8.3.bb | 5 - poky/meta/recipes-devtools/gcc/libgcc_8.3.bb | 5 - poky/meta/recipes-devtools/gcc/libgfortran_8.3.bb | 3 - poky/meta/recipes-devtools/go/go-1.12.inc | 6 +- poky/meta/recipes-devtools/go/go-dep_0.5.0.bb | 25 - poky/meta/recipes-devtools/go/go-dep_0.5.4.bb | 24 + .../help2man/help2man-native_1.47.10.bb | 24 - .../help2man/help2man-native_1.47.11.bb | 24 + .../0001-readline.c-fix-cannot-get-history.patch | 34 + .../libedit/libedit_20190324-3.1.bb | 3 +- poky/meta/recipes-devtools/llvm/llvm_git.bb | 2 +- poky/meta/recipes-devtools/meson/meson.inc | 5 +- ...-return-statements-that-are-seen-with-Wer.patch | 100 -- poky/meta/recipes-devtools/meson/meson_0.51.1.bb | 4 - poky/meta/recipes-devtools/meson/meson_0.51.2.bb | 4 + .../meson/nativesdk-meson_0.51.1.bb | 66 - .../meson/nativesdk-meson_0.51.2.bb | 66 + ...k-temporary-file-on-failed-ed-style-patch.patch | 1 + ...ak-temporary-file-on-failed-multi-file-ed.patch | 1 + poky/meta/recipes-devtools/prelink/prelink_git.bb | 3 + .../0001-maketables-wrappers-use-Python-3.patch | 34 + poky/meta/recipes-devtools/pseudo/pseudo_git.bb | 3 + ...h-usr-and-so-on-for-libraries-by-default-.patch | 47 +- ...m-setup.py-remove-the-detection-of-x86-ta.patch | 32 + .../recipes-devtools/python-numpy/python-numpy.inc | 13 +- .../python-numpy/python3-numpy_1.16.3.bb | 3 - .../python-numpy/python3-numpy_1.17.0.bb | 3 + .../recipes-devtools/python/python-testtools.inc | 1 + poky/meta/recipes-devtools/python/python.inc | 1 - .../recipes-devtools/python/python3-dbus_1.2.10.bb | 26 + .../recipes-devtools/python/python3-dbus_1.2.8.bb | 26 - .../recipes-devtools/python/python3-git_3.0.0.bb | 33 - .../recipes-devtools/python/python3-git_3.0.2.bb | 33 + .../recipes-devtools/python/python3-pbr_5.4.2.bb | 5 - .../recipes-devtools/python/python3-pbr_5.4.3.bb | 5 + .../recipes-devtools/python/python3-pip_19.2.2.bb | 30 - .../recipes-devtools/python/python3-pip_19.2.3.bb | 30 + .../python/python3/python3-manifest.json | 2 +- poky/meta/recipes-devtools/python/python3_3.7.4.bb | 2 +- poky/meta/recipes-devtools/qemu/qemu.inc | 3 +- ...ure-Add-pkg-config-handling-for-libgcrypt.patch | 93 ++ poky/meta/recipes-devtools/qemu/qemu_4.1.0.bb | 4 + ...rovides-requires-do-not-use-monodis-from-.patch | 58 + poky/meta/recipes-devtools/rpm/rpm_4.14.2.1.bb | 1 + .../subversion-1.12.0-apr_1.7.0_fix-1.patch | 107 -- .../subversion/subversion_1.12.0.bb | 62 - .../subversion/subversion_1.12.2.bb | 61 + .../systemd-bootchart/systemd-bootchart_233.bb | 2 +- poky/meta/recipes-extended/cups/cups.inc | 2 +- .../cups/cups/cups_serverbin.patch | 10 +- .../0001-Skip-strip-trailing-cr-test-case.patch | 35 + .../recipes-extended/diffutils/diffutils_3.7.bb | 3 +- poky/meta/recipes-extended/gzip/gzip_1.10.bb | 2 +- .../recipes-extended/images/core-image-lsb-dev.bb | 7 - .../recipes-extended/images/core-image-lsb-sdk.bb | 12 - .../meta/recipes-extended/images/core-image-lsb.bb | 14 - .../iputils/iputils/ai_canonidn.patch | 58 - .../recipes-extended/iputils/iputils/install.patch | 26 - .../recipes-extended/iputils/iputils_s20180629.bb | 61 - .../recipes-extended/iputils/iputils_s20190709.bb | 55 + .../libarchive/libarchive/CVE-2018-1000877.patch | 38 - .../libarchive/libarchive/CVE-2018-1000878.patch | 79 - .../libarchive/libarchive/CVE-2018-1000879.patch | 50 - .../libarchive/libarchive/CVE-2018-1000880.patch | 44 - .../libarchive/libarchive/CVE-2019-1000019.patch | 59 - .../libarchive/libarchive/CVE-2019-1000020.patch | 61 - .../libarchive/libarchive/bug1066.patch | 54 - .../non-recursive-extract-and-list.patch | 153 -- .../libarchive/libarchive_3.3.3.bb | 75 - .../libarchive/libarchive_3.4.0.bb | 67 + .../meta/recipes-extended/libsolv/libsolv_0.7.5.bb | 31 - .../meta/recipes-extended/libsolv/libsolv_0.7.6.bb | 31 + .../recipes-extended/lighttpd/lighttpd_1.4.54.bb | 2 +- .../recipes-extended/logrotate/logrotate_3.15.0.bb | 99 -- .../recipes-extended/logrotate/logrotate_3.15.1.bb | 99 ++ ...elease-to-work-with-busybox-head-and-find.patch | 38 + poky/meta/recipes-extended/lsb/lsb-release_1.4.bb | 36 + ...elease-to-work-with-busybox-head-and-find.patch | 38 - poky/meta/recipes-extended/lsb/lsb/init-functions | 44 - poky/meta/recipes-extended/lsb/lsb/lsb_killproc | 6 - poky/meta/recipes-extended/lsb/lsb/lsb_log_message | 27 - poky/meta/recipes-extended/lsb/lsb/lsb_pidofproc | 6 - .../meta/recipes-extended/lsb/lsb/lsb_start_daemon | 45 - poky/meta/recipes-extended/lsb/lsb_5.0.bb | 136 -- ...void-exit-1-which-causes-init-scripts-to-.patch | 21 - .../lsb/lsbinitscripts/functions.patch | 33 - .../recipes-extended/lsb/lsbinitscripts_9.79.bb | 31 - poky/meta/recipes-extended/lsb/lsbtest/LSB_Test.sh | 525 ------- .../recipes-extended/lsb/lsbtest/packages_list | 49 - poky/meta/recipes-extended/lsb/lsbtest/session | 176 --- poky/meta/recipes-extended/lsb/lsbtest_1.0.bb | 49 - ...-cve-meltdown.c-Fix-kernel-symbol-finding.patch | 81 + ...sigtimedwait01-Fix-wrong-sigset-length-fo.patch | 46 + ...se-python3-everywhere-to-run-python-scrip.patch | 161 ++ poky/meta/recipes-extended/ltp/ltp_20190517.bb | 5 +- .../meta/recipes-extended/man-db/man-db_2.8.6.1.bb | 59 - poky/meta/recipes-extended/man-db/man-db_2.8.7.bb | 59 + .../0001-mdadm-skip-test-11spare-migration.patch | 43 + poky/meta/recipes-extended/mdadm/mdadm_4.1.bb | 2 + .../packagegroups/packagegroup-core-lsb.bb | 240 --- poky/meta/recipes-extended/sysstat/sysstat.inc | 4 +- .../recipes-extended/sysstat/sysstat_12.1.3.bb | 8 - .../recipes-extended/sysstat/sysstat_12.1.6.bb | 8 + poky/meta/recipes-extended/texinfo/texinfo_6.5.bb | 4 +- .../recipes-gnome/libsecret/libsecret_0.18.8.bb | 22 - .../recipes-gnome/libsecret/libsecret_0.19.0.bb | 22 + .../recipes-graphics/eglinfo/eglinfo-fb_1.0.0.bb | 7 - .../eglinfo/eglinfo-wayland_1.0.0.bb | 13 - .../recipes-graphics/eglinfo/eglinfo-x11_1.0.0.bb | 13 - poky/meta/recipes-graphics/eglinfo/eglinfo.inc | 38 - ...GING_INCDIR-to-searchpath-for-egl-headers.patch | 33 - .../0001-Check-for-libegl-using-pkg-config.patch | 36 - poky/meta/recipes-graphics/eglinfo/files/waf | 169 --- .../recipes-graphics/harfbuzz/harfbuzz_2.5.3.bb | 39 - .../recipes-graphics/harfbuzz/harfbuzz_2.6.1.bb | 39 + .../recipes-graphics/images/core-image-clutter.bb | 2 + .../meta/recipes-graphics/images/core-image-x11.bb | 2 + .../recipes-graphics/jpeg/libjpeg-turbo_2.0.2.bb | 57 - .../recipes-graphics/jpeg/libjpeg-turbo_2.0.3.bb | 57 + .../recipes-graphics/libepoxy/libepoxy_1.5.3.bb | 4 +- poky/meta/recipes-graphics/mesa/mesa.inc | 6 + poky/meta/recipes-graphics/pango/pango_1.44.5.bb | 45 - poky/meta/recipes-graphics/pango/pango_1.44.6.bb | 46 + ...1-Makefile.am-explicitly-link-with-libdrm.patch | 31 - .../0001-vtest-add-missing-includes.patch | 38 - .../virglrenderer/virglrenderer_0.7.0.bb | 23 - .../virglrenderer/virglrenderer_0.8.0.bb | 21 + .../wayland/weston/0001-make-error-portable.patch | 80 - ...ch-Provide-a-default-version-that-doesn-t.patch | 47 +- poky/meta/recipes-graphics/wayland/weston_6.0.1.bb | 112 -- poky/meta/recipes-graphics/wayland/weston_7.0.0.bb | 111 ++ poky/meta/recipes-kernel/dtc/dtc_1.5.0.bb | 10 - poky/meta/recipes-kernel/dtc/dtc_1.5.1.bb | 10 + ...api-asm-ptrace.h-should-not-depend-on-uap.patch | 62 - .../linux-libc-headers/linux-libc-headers_5.0.bb | 19 - .../linux-libc-headers/linux-libc-headers_5.2.bb | 18 + poky/meta/recipes-kernel/linux/kernel-devsrc.bb | 15 +- poky/meta/recipes-kernel/linux/linux-dtb.inc | 3 - poky/meta/recipes-kernel/linux/linux-yocto-dev.bb | 2 +- .../recipes-kernel/linux/linux-yocto-rt_5.0.bb | 44 - .../recipes-kernel/linux/linux-yocto-rt_5.2.bb | 44 + .../recipes-kernel/linux/linux-yocto-tiny_5.0.bb | 32 - .../recipes-kernel/linux/linux-yocto-tiny_5.2.bb | 32 + poky/meta/recipes-kernel/linux/linux-yocto_5.0.bb | 54 - poky/meta/recipes-kernel/linux/linux-yocto_5.2.bb | 54 + poky/meta/recipes-kernel/perf/perf.bb | 23 +- .../configure-allow-to-disable-libvirt.patch | 39 - .../systemtap/systemtap/monitor-option.patch | 37 - .../systemtap/systemtap/no-msgfmt-check.patch | 33 - .../systemtap/systemtap/x32_abi_time.patch | 34 - .../recipes-kernel/systemtap/systemtap_git.inc | 8 +- .../flac/flac/CVE-2017-6888.patch | 37 - poky/meta/recipes-multimedia/flac/flac_1.3.2.bb | 46 - poky/meta/recipes-multimedia/flac/flac_1.3.3.bb | 45 + .../meta/recipes-multimedia/libogg/libogg_1.3.3.bb | 17 - .../meta/recipes-multimedia/libogg/libogg_1.3.4.bb | 17 + poky/meta/recipes-rt/rt-tests/rt-tests_1.1.bb | 4 + poky/meta/recipes-sato/images/core-image-sato.bb | 3 + ...c-settings-so-that-gtkdoc-generation-work.patch | 10 +- ...fix-build-failure-https-bugs.webkit.org-s.patch | 33 - poky/meta/recipes-sato/webkit/webkitgtk_2.24.3.bb | 131 -- poky/meta/recipes-sato/webkit/webkitgtk_2.24.4.bb | 130 ++ .../recipes-support/boost/bjam-native_1.69.0.bb | 19 - .../recipes-support/boost/bjam-native_1.71.0.bb | 20 + poky/meta/recipes-support/boost/boost-1.69.0.inc | 21 - poky/meta/recipes-support/boost/boost-1.71.0.inc | 21 + poky/meta/recipes-support/boost/boost.inc | 2 +- ...p-arch-instruction-set-flags-we-do-that-o.patch | 15 +- poky/meta/recipes-support/boost/boost_1.69.0.bb | 9 - poky/meta/recipes-support/boost/boost_1.71.0.bb | 9 + .../files/0001-Build-debug-version-of-bjam.patch | 38 + ...build.sh-use-DNDEBUG-also-in-debug-builds.patch | 27 + .../boost/files/bjam-native-build-bjam.debug.patch | 50 - .../0001-certdata2pem.py-use-python3.patch | 37 + .../ca-certificates/ca-certificates_20190110.bb | 3 +- .../0001-flopen-Add-missing-fcntl.h-include.patch | 46 - poky/meta/recipes-support/libbsd/libbsd_0.10.0.bb | 41 + poky/meta/recipes-support/libbsd/libbsd_0.9.1.bb | 44 - .../recipes-support/libevdev/libevdev_1.7.0.bb | 14 - .../recipes-support/libevdev/libevdev_1.8.0.bb | 13 + .../recipes-support/libevent/libevent/run-ptest | 34 +- .../recipes-support/libevent/libevent_2.1.11.bb | 3 + ...Fixed-missed-ifndef-for-__mips_soft_float.patch | 31 + poky/meta/recipes-support/libffi/libffi_3.3~rc0.bb | 4 + .../libgpg-error-1.36-gawk5-support.patch | 144 ++ .../libgpg-error/libgpg-error_1.36.bb | 1 + ...ATCH-fix-libnl-3.4.0-musl-compile-problem.patch | 38 - .../recipes-support/libnl/libnl/fix-pc-file.patch | 17 - poky/meta/recipes-support/libnl/libnl_3.4.0.bb | 46 - poky/meta/recipes-support/libnl/libnl_3.5.0.bb | 42 + ...m-use-PYTHON-when-invoking-psl-make-dafsa.patch | 50 + poky/meta/recipes-support/libpsl/libpsl_0.21.0.bb | 1 + poky/meta/recipes-support/sqlite/sqlite3.inc | 10 +- poky/meta/recipes.txt | 3 +- poky/scripts/lib/checklayer/cases/common.py | 2 +- poky/scripts/lib/devtool/standard.py | 6 +- poky/scripts/lib/resulttool/log.py | 33 +- poky/scripts/lib/resulttool/report.py | 6 +- poky/scripts/lib/scriptutils.py | 43 +- poky/scripts/lib/wic/canned-wks/qemuriscv.wks | 3 + poky/scripts/oe-selftest | 2 +- poky/scripts/runqemu | 12 +- 428 files changed, 4738 insertions(+), 13187 deletions(-) delete mode 100644 poky/README.LSB create mode 100644 poky/meta-poky/conf/distro/poky-altcfg.conf delete mode 100644 poky/meta-poky/conf/distro/poky-lsb.conf delete mode 100644 poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_5.0.bbappend create mode 100644 poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_5.2.bbappend delete mode 100644 poky/meta/conf/distro/include/world-broken.inc create mode 100644 poky/meta/conf/machine/include/tune-arm1176jz-s.inc delete mode 100644 poky/meta/lib/oeqa/core/decorator/oetag.py create mode 100644 poky/meta/lib/oeqa/selftest/cases/binutils.py create mode 100644 poky/meta/lib/oeqa/selftest/cases/gcc.py create mode 100644 poky/meta/lib/oeqa/selftest/cases/glibc.py create mode 100644 poky/meta/lib/oeqa/selftest/cases/kerneldevelopment.py create mode 100644 poky/meta/lib/oeqa/utils/nfs.py create mode 100644 poky/meta/recipes-connectivity/bluez5/bluez5/0001-tools-Fix-build-after-y2038-changes-in-glibc.patch delete mode 100644 poky/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-Do-not-pass-null-pointer-to-freeaddrinfo.patch delete mode 100644 poky/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-Makefile.am-update-the-path-of-libnfs.a.patch delete mode 100644 poky/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-utils-musl-limits.patch delete mode 100644 poky/meta/recipes-connectivity/nfs-utils/nfs-utils_2.3.3.bb create mode 100644 poky/meta/recipes-connectivity/nfs-utils/nfs-utils_2.4.1.bb delete mode 100644 poky/meta/recipes-core/ell/ell_0.21.bb create mode 100644 poky/meta/recipes-core/ell/ell_0.22.bb delete mode 100644 poky/meta/recipes-core/glib-networking/glib-networking_2.60.2.bb create mode 100644 poky/meta/recipes-core/glib-networking/glib-networking_2.60.3.bb create mode 100644 poky/meta/recipes-core/glibc/glibc-testsuite_2.30.bb create mode 100644 poky/meta/recipes-core/glibc/glibc/check-test-wrapper delete mode 100644 poky/meta/recipes-core/libxcrypt/libxcrypt-compat_4.4.6.bb create mode 100644 poky/meta/recipes-core/libxcrypt/libxcrypt-compat_4.4.8.bb delete mode 100644 poky/meta/recipes-core/libxcrypt/libxcrypt_4.4.6.bb create mode 100644 poky/meta/recipes-core/libxcrypt/libxcrypt_4.4.8.bb delete mode 100644 poky/meta/recipes-core/systemd/systemd/0001-core-set-fs.file-max-sysctl-to-LONG_MAX-rather-than-.patch delete mode 100644 poky/meta/recipes-core/systemd/systemd/0001-networkd-fix-link-up.patch delete mode 100644 poky/meta/recipes-core/systemd/systemd/0001-resolved-Fix-incorrect-use-of-OpenSSL-BUF_MEM.patch delete mode 100644 poky/meta/recipes-core/systemd/systemd/0002-network-do-not-send-ipv6.patch delete mode 100644 poky/meta/recipes-core/systemd/systemd/0006-network-remove-redunant-link-name-in-message.patch create mode 100644 poky/meta/recipes-devtools/binutils/binutils-cross-testsuite_2.32.bb create mode 100644 poky/meta/recipes-devtools/bootchart2/bootchart2/0001-bootchart2-support-usrmerge.patch delete mode 100644 poky/meta/recipes-devtools/build-compare/files/0001-Add-support-for-deb-and-ipk-packaging.patch delete mode 100644 poky/meta/recipes-devtools/build-compare/files/Rename-rpm-check.sh-to-pkg-diff.sh.patch delete mode 100644 poky/meta/recipes-devtools/build-compare/files/functions.sh-improve-deb-and-ipk-checking.patch delete mode 100644 poky/meta/recipes-devtools/build-compare/files/functions.sh-remove-space-at-head.patch delete mode 100644 poky/meta/recipes-devtools/build-compare/files/functions.sh-run-rpm-once-to-make-it-faster.patch delete mode 100644 poky/meta/recipes-devtools/build-compare/files/pkg-diff.sh-check-for-fifo-named-pipe.patch delete mode 100644 poky/meta/recipes-devtools/build-compare/files/pkg-diff.sh-check_single_file-return-at-once-when-sa.patch delete mode 100644 poky/meta/recipes-devtools/build-compare/files/pkg-diff.sh-remove-space-in-the-end-for-ftype.patch delete mode 100644 poky/meta/recipes-devtools/ccache/ccache_3.7.1.bb create mode 100644 poky/meta/recipes-devtools/ccache/ccache_3.7.3.bb create mode 100644 poky/meta/recipes-devtools/dejagnu/dejagnu_1.6.2.bb delete mode 100644 poky/meta/recipes-devtools/gcc/gcc-8.3.inc delete mode 100644 poky/meta/recipes-devtools/gcc/gcc-8.3/0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch delete mode 100644 poky/meta/recipes-devtools/gcc/gcc-8.3/0002-gcc-poison-system-directories.patch delete mode 100644 poky/meta/recipes-devtools/gcc/gcc-8.3/0003-gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch delete mode 100644 poky/meta/recipes-devtools/gcc/gcc-8.3/0004-64-bit-multilib-hack.patch delete mode 100644 poky/meta/recipes-devtools/gcc/gcc-8.3/0005-optional-libstdc.patch delete mode 100644 poky/meta/recipes-devtools/gcc/gcc-8.3/0007-COLLECT_GCC_OPTIONS.patch delete mode 100644 poky/meta/recipes-devtools/gcc/gcc-8.3/0008-Use-the-defaults.h-in-B-instead-of-S-and-t-oe-in-B.patch delete mode 100644 poky/meta/recipes-devtools/gcc/gcc-8.3/0009-fortran-cross-compile-hack.patch delete mode 100644 poky/meta/recipes-devtools/gcc/gcc-8.3/0010-cpp-honor-sysroot.patch delete mode 100644 poky/meta/recipes-devtools/gcc/gcc-8.3/0011-MIPS64-Default-to-N64-ABI.patch delete mode 100644 poky/meta/recipes-devtools/gcc/gcc-8.3/0012-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch delete mode 100644 poky/meta/recipes-devtools/gcc/gcc-8.3/0013-gcc-Fix-argument-list-too-long-error.patch delete mode 100644 poky/meta/recipes-devtools/gcc/gcc-8.3/0014-Disable-sdt.patch delete mode 100644 poky/meta/recipes-devtools/gcc/gcc-8.3/0015-libtool.patch delete mode 100644 poky/meta/recipes-devtools/gcc/gcc-8.3/0016-gcc-armv4-pass-fix-v4bx-to-linker-to-support-EABI.patch delete mode 100644 poky/meta/recipes-devtools/gcc/gcc-8.3/0017-Use-the-multilib-config-files-from-B-instead-of-usin.patch delete mode 100644 poky/meta/recipes-devtools/gcc/gcc-8.3/0018-Avoid-using-libdir-from-.la-which-usually-points-to-.patch delete mode 100644 poky/meta/recipes-devtools/gcc/gcc-8.3/0019-export-CPP.patch delete mode 100644 poky/meta/recipes-devtools/gcc/gcc-8.3/0020-Disable-the-MULTILIB_OSDIRNAMES-and-other-multilib-o.patch delete mode 100644 poky/meta/recipes-devtools/gcc/gcc-8.3/0021-Ensure-target-gcc-headers-can-be-included.patch delete mode 100644 poky/meta/recipes-devtools/gcc/gcc-8.3/0022-gcc-4.8-won-t-build-with-disable-dependency-tracking.patch delete mode 100644 poky/meta/recipes-devtools/gcc/gcc-8.3/0023-Don-t-search-host-directory-during-relink-if-inst_pr.patch delete mode 100644 poky/meta/recipes-devtools/gcc/gcc-8.3/0024-Use-SYSTEMLIBS_DIR-replacement-instead-of-hardcoding.patch delete mode 100644 poky/meta/recipes-devtools/gcc/gcc-8.3/0025-aarch64-Add-support-for-musl-ldso.patch delete mode 100644 poky/meta/recipes-devtools/gcc/gcc-8.3/0026-libcc1-fix-libcc1-s-install-path-and-rpath.patch delete mode 100644 poky/meta/recipes-devtools/gcc/gcc-8.3/0027-handle-sysroot-support-for-nativesdk-gcc.patch delete mode 100644 poky/meta/recipes-devtools/gcc/gcc-8.3/0028-Search-target-sysroot-gcc-version-specific-dirs-with.patch delete mode 100644 poky/meta/recipes-devtools/gcc/gcc-8.3/0029-Fix-various-_FOR_BUILD-and-related-variables.patch delete mode 100644 poky/meta/recipes-devtools/gcc/gcc-8.3/0030-nios2-Define-MUSL_DYNAMIC_LINKER.patch delete mode 100644 poky/meta/recipes-devtools/gcc/gcc-8.3/0031-Add-ssp_nonshared-to-link-commandline-for-musl-targe.patch delete mode 100644 poky/meta/recipes-devtools/gcc/gcc-8.3/0032-libgcc-Add-knob-to-use-ldbl-128-on-ppc.patch delete mode 100644 poky/meta/recipes-devtools/gcc/gcc-8.3/0033-Link-libgcc-using-LDFLAGS-not-just-SHLIB_LDFLAGS.patch delete mode 100644 poky/meta/recipes-devtools/gcc/gcc-8.3/0034-libgcc_s-Use-alias-for-__cpu_indicator_init-instead-.patch delete mode 100644 poky/meta/recipes-devtools/gcc/gcc-8.3/0035-sync-gcc-stddef.h-with-musl.patch delete mode 100644 poky/meta/recipes-devtools/gcc/gcc-8.3/0036-fix-segmentation-fault-in-precompiled-header-generat.patch delete mode 100644 poky/meta/recipes-devtools/gcc/gcc-8.3/0037-Fix-for-testsuite-failure.patch delete mode 100644 poky/meta/recipes-devtools/gcc/gcc-8.3/0038-Re-introduce-spe-commandline-options.patch delete mode 100644 poky/meta/recipes-devtools/gcc/gcc-8.3/0039-riscv-Disable-multilib-for-OE.patch delete mode 100644 poky/meta/recipes-devtools/gcc/gcc-8.3/0040-powerpc-powerpc64-Add-support-for-musl-ldso.patch delete mode 100644 poky/meta/recipes-devtools/gcc/gcc-8.3/0041-Add-a-recursion-limit-to-libiberty-s-demangling-code.patch delete mode 100644 poky/meta/recipes-devtools/gcc/gcc-8.3/0042-PR-debug-86964.patch delete mode 100644 poky/meta/recipes-devtools/gcc/gcc-8.3/0043-PR85434-Prevent-spilling-of-stack-protector-guard-s-.patch create mode 100644 poky/meta/recipes-devtools/gcc/gcc-8.3/CVE-2019-14250.patch create mode 100644 poky/meta/recipes-devtools/gcc/gcc-9.2/CVE-2019-14250.patch delete mode 100644 poky/meta/recipes-devtools/gcc/gcc-cross-canadian_8.3.bb delete mode 100644 poky/meta/recipes-devtools/gcc/gcc-cross_8.3.bb delete mode 100644 poky/meta/recipes-devtools/gcc/gcc-crosssdk_8.3.bb delete mode 100644 poky/meta/recipes-devtools/gcc/gcc-runtime_8.3.bb delete mode 100644 poky/meta/recipes-devtools/gcc/gcc-sanitizers_8.3.bb delete mode 100644 poky/meta/recipes-devtools/gcc/gcc-source_8.3.bb create mode 100644 poky/meta/recipes-devtools/gcc/gcc-testsuite.inc delete mode 100644 poky/meta/recipes-devtools/gcc/gcc_8.3.bb delete mode 100644 poky/meta/recipes-devtools/gcc/libgcc-initial_8.3.bb delete mode 100644 poky/meta/recipes-devtools/gcc/libgcc_8.3.bb delete mode 100644 poky/meta/recipes-devtools/gcc/libgfortran_8.3.bb delete mode 100644 poky/meta/recipes-devtools/go/go-dep_0.5.0.bb create mode 100644 poky/meta/recipes-devtools/go/go-dep_0.5.4.bb delete mode 100644 poky/meta/recipes-devtools/help2man/help2man-native_1.47.10.bb create mode 100644 poky/meta/recipes-devtools/help2man/help2man-native_1.47.11.bb create mode 100644 poky/meta/recipes-devtools/libedit/libedit/0001-readline.c-fix-cannot-get-history.patch delete mode 100644 poky/meta/recipes-devtools/meson/meson/0001-Fix-missing-return-statements-that-are-seen-with-Wer.patch delete mode 100644 poky/meta/recipes-devtools/meson/meson_0.51.1.bb create mode 100644 poky/meta/recipes-devtools/meson/meson_0.51.2.bb delete mode 100644 poky/meta/recipes-devtools/meson/nativesdk-meson_0.51.1.bb create mode 100644 poky/meta/recipes-devtools/meson/nativesdk-meson_0.51.2.bb create mode 100644 poky/meta/recipes-devtools/pseudo/files/0001-maketables-wrappers-use-Python-3.patch create mode 100644 poky/meta/recipes-devtools/python-numpy/files/0001-numpy-random-setup.py-remove-the-detection-of-x86-ta.patch delete mode 100644 poky/meta/recipes-devtools/python-numpy/python3-numpy_1.16.3.bb create mode 100644 poky/meta/recipes-devtools/python-numpy/python3-numpy_1.17.0.bb create mode 100644 poky/meta/recipes-devtools/python/python3-dbus_1.2.10.bb delete mode 100644 poky/meta/recipes-devtools/python/python3-dbus_1.2.8.bb delete mode 100644 poky/meta/recipes-devtools/python/python3-git_3.0.0.bb create mode 100644 poky/meta/recipes-devtools/python/python3-git_3.0.2.bb delete mode 100644 poky/meta/recipes-devtools/python/python3-pbr_5.4.2.bb create mode 100644 poky/meta/recipes-devtools/python/python3-pbr_5.4.3.bb delete mode 100644 poky/meta/recipes-devtools/python/python3-pip_19.2.2.bb create mode 100644 poky/meta/recipes-devtools/python/python3-pip_19.2.3.bb create mode 100644 poky/meta/recipes-devtools/qemu/qemu/0010-configure-Add-pkg-config-handling-for-libgcrypt.patch create mode 100644 poky/meta/recipes-devtools/rpm/files/0001-mono-find-provides-requires-do-not-use-monodis-from-.patch delete mode 100644 poky/meta/recipes-devtools/subversion/subversion/subversion-1.12.0-apr_1.7.0_fix-1.patch delete mode 100644 poky/meta/recipes-devtools/subversion/subversion_1.12.0.bb create mode 100644 poky/meta/recipes-devtools/subversion/subversion_1.12.2.bb create mode 100644 poky/meta/recipes-extended/diffutils/diffutils/0001-Skip-strip-trailing-cr-test-case.patch delete mode 100644 poky/meta/recipes-extended/images/core-image-lsb-dev.bb delete mode 100644 poky/meta/recipes-extended/images/core-image-lsb-sdk.bb delete mode 100644 poky/meta/recipes-extended/images/core-image-lsb.bb delete mode 100644 poky/meta/recipes-extended/iputils/iputils/ai_canonidn.patch delete mode 100644 poky/meta/recipes-extended/iputils/iputils/install.patch delete mode 100644 poky/meta/recipes-extended/iputils/iputils_s20180629.bb create mode 100644 poky/meta/recipes-extended/iputils/iputils_s20190709.bb delete mode 100644 poky/meta/recipes-extended/libarchive/libarchive/CVE-2018-1000877.patch delete mode 100644 poky/meta/recipes-extended/libarchive/libarchive/CVE-2018-1000878.patch delete mode 100644 poky/meta/recipes-extended/libarchive/libarchive/CVE-2018-1000879.patch delete mode 100644 poky/meta/recipes-extended/libarchive/libarchive/CVE-2018-1000880.patch delete mode 100644 poky/meta/recipes-extended/libarchive/libarchive/CVE-2019-1000019.patch delete mode 100644 poky/meta/recipes-extended/libarchive/libarchive/CVE-2019-1000020.patch delete mode 100644 poky/meta/recipes-extended/libarchive/libarchive/bug1066.patch delete mode 100644 poky/meta/recipes-extended/libarchive/libarchive/non-recursive-extract-and-list.patch delete mode 100644 poky/meta/recipes-extended/libarchive/libarchive_3.3.3.bb create mode 100644 poky/meta/recipes-extended/libarchive/libarchive_3.4.0.bb delete mode 100644 poky/meta/recipes-extended/libsolv/libsolv_0.7.5.bb create mode 100644 poky/meta/recipes-extended/libsolv/libsolv_0.7.6.bb delete mode 100644 poky/meta/recipes-extended/logrotate/logrotate_3.15.0.bb create mode 100644 poky/meta/recipes-extended/logrotate/logrotate_3.15.1.bb create mode 100644 poky/meta/recipes-extended/lsb/lsb-release/0001-fix-lsb_release-to-work-with-busybox-head-and-find.patch create mode 100644 poky/meta/recipes-extended/lsb/lsb-release_1.4.bb delete mode 100644 poky/meta/recipes-extended/lsb/lsb/0001-fix-lsb_release-to-work-with-busybox-head-and-find.patch delete mode 100755 poky/meta/recipes-extended/lsb/lsb/init-functions delete mode 100755 poky/meta/recipes-extended/lsb/lsb/lsb_killproc delete mode 100755 poky/meta/recipes-extended/lsb/lsb/lsb_log_message delete mode 100755 poky/meta/recipes-extended/lsb/lsb/lsb_pidofproc delete mode 100755 poky/meta/recipes-extended/lsb/lsb/lsb_start_daemon delete mode 100644 poky/meta/recipes-extended/lsb/lsb_5.0.bb delete mode 100644 poky/meta/recipes-extended/lsb/lsbinitscripts/0001-functions-avoid-exit-1-which-causes-init-scripts-to-.patch delete mode 100644 poky/meta/recipes-extended/lsb/lsbinitscripts/functions.patch delete mode 100644 poky/meta/recipes-extended/lsb/lsbinitscripts_9.79.bb delete mode 100644 poky/meta/recipes-extended/lsb/lsbtest/LSB_Test.sh delete mode 100644 poky/meta/recipes-extended/lsb/lsbtest/packages_list delete mode 100644 poky/meta/recipes-extended/lsb/lsbtest/session delete mode 100644 poky/meta/recipes-extended/lsb/lsbtest_1.0.bb create mode 100644 poky/meta/recipes-extended/ltp/ltp/0001-cve-meltdown.c-Fix-kernel-symbol-finding.patch create mode 100644 poky/meta/recipes-extended/ltp/ltp/0001-syscall-rt_sigtimedwait01-Fix-wrong-sigset-length-fo.patch create mode 100644 poky/meta/recipes-extended/ltp/ltp/0001-testcases-use-python3-everywhere-to-run-python-scrip.patch delete mode 100644 poky/meta/recipes-extended/man-db/man-db_2.8.6.1.bb create mode 100644 poky/meta/recipes-extended/man-db/man-db_2.8.7.bb create mode 100644 poky/meta/recipes-extended/mdadm/files/0001-mdadm-skip-test-11spare-migration.patch delete mode 100644 poky/meta/recipes-extended/packagegroups/packagegroup-core-lsb.bb delete mode 100644 poky/meta/recipes-extended/sysstat/sysstat_12.1.3.bb create mode 100644 poky/meta/recipes-extended/sysstat/sysstat_12.1.6.bb delete mode 100644 poky/meta/recipes-gnome/libsecret/libsecret_0.18.8.bb create mode 100644 poky/meta/recipes-gnome/libsecret/libsecret_0.19.0.bb delete mode 100644 poky/meta/recipes-graphics/eglinfo/eglinfo-fb_1.0.0.bb delete mode 100644 poky/meta/recipes-graphics/eglinfo/eglinfo-wayland_1.0.0.bb delete mode 100644 poky/meta/recipes-graphics/eglinfo/eglinfo-x11_1.0.0.bb delete mode 100644 poky/meta/recipes-graphics/eglinfo/eglinfo.inc delete mode 100644 poky/meta/recipes-graphics/eglinfo/files/0001-Add-STAGING_INCDIR-to-searchpath-for-egl-headers.patch delete mode 100644 poky/meta/recipes-graphics/eglinfo/files/0001-Check-for-libegl-using-pkg-config.patch delete mode 100755 poky/meta/recipes-graphics/eglinfo/files/waf delete mode 100644 poky/meta/recipes-graphics/harfbuzz/harfbuzz_2.5.3.bb create mode 100644 poky/meta/recipes-graphics/harfbuzz/harfbuzz_2.6.1.bb delete mode 100644 poky/meta/recipes-graphics/jpeg/libjpeg-turbo_2.0.2.bb create mode 100644 poky/meta/recipes-graphics/jpeg/libjpeg-turbo_2.0.3.bb delete mode 100644 poky/meta/recipes-graphics/pango/pango_1.44.5.bb create mode 100644 poky/meta/recipes-graphics/pango/pango_1.44.6.bb delete mode 100644 poky/meta/recipes-graphics/virglrenderer/virglrenderer/0001-Makefile.am-explicitly-link-with-libdrm.patch delete mode 100644 poky/meta/recipes-graphics/virglrenderer/virglrenderer/0001-vtest-add-missing-includes.patch delete mode 100644 poky/meta/recipes-graphics/virglrenderer/virglrenderer_0.7.0.bb create mode 100644 poky/meta/recipes-graphics/virglrenderer/virglrenderer_0.8.0.bb delete mode 100644 poky/meta/recipes-graphics/wayland/weston/0001-make-error-portable.patch delete mode 100644 poky/meta/recipes-graphics/wayland/weston_6.0.1.bb create mode 100644 poky/meta/recipes-graphics/wayland/weston_7.0.0.bb delete mode 100644 poky/meta/recipes-kernel/dtc/dtc_1.5.0.bb create mode 100644 poky/meta/recipes-kernel/dtc/dtc_1.5.1.bb delete mode 100644 poky/meta/recipes-kernel/linux-libc-headers/linux-libc-headers/0001-arm64-sve-uapi-asm-ptrace.h-should-not-depend-on-uap.patch delete mode 100644 poky/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_5.0.bb create mode 100644 poky/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_5.2.bb delete mode 100644 poky/meta/recipes-kernel/linux/linux-dtb.inc delete mode 100644 poky/meta/recipes-kernel/linux/linux-yocto-rt_5.0.bb create mode 100644 poky/meta/recipes-kernel/linux/linux-yocto-rt_5.2.bb delete mode 100644 poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.0.bb create mode 100644 poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.2.bb delete mode 100644 poky/meta/recipes-kernel/linux/linux-yocto_5.0.bb create mode 100644 poky/meta/recipes-kernel/linux/linux-yocto_5.2.bb delete mode 100644 poky/meta/recipes-kernel/systemtap/systemtap/configure-allow-to-disable-libvirt.patch delete mode 100644 poky/meta/recipes-kernel/systemtap/systemtap/monitor-option.patch delete mode 100644 poky/meta/recipes-kernel/systemtap/systemtap/no-msgfmt-check.patch delete mode 100644 poky/meta/recipes-kernel/systemtap/systemtap/x32_abi_time.patch delete mode 100644 poky/meta/recipes-multimedia/flac/flac/CVE-2017-6888.patch delete mode 100644 poky/meta/recipes-multimedia/flac/flac_1.3.2.bb create mode 100644 poky/meta/recipes-multimedia/flac/flac_1.3.3.bb delete mode 100644 poky/meta/recipes-multimedia/libogg/libogg_1.3.3.bb create mode 100644 poky/meta/recipes-multimedia/libogg/libogg_1.3.4.bb delete mode 100644 poky/meta/recipes-sato/webkit/webkitgtk/0001-Unreviewed-fix-build-failure-https-bugs.webkit.org-s.patch delete mode 100644 poky/meta/recipes-sato/webkit/webkitgtk_2.24.3.bb create mode 100644 poky/meta/recipes-sato/webkit/webkitgtk_2.24.4.bb delete mode 100644 poky/meta/recipes-support/boost/bjam-native_1.69.0.bb create mode 100644 poky/meta/recipes-support/boost/bjam-native_1.71.0.bb delete mode 100644 poky/meta/recipes-support/boost/boost-1.69.0.inc create mode 100644 poky/meta/recipes-support/boost/boost-1.71.0.inc delete mode 100644 poky/meta/recipes-support/boost/boost_1.69.0.bb create mode 100644 poky/meta/recipes-support/boost/boost_1.71.0.bb create mode 100644 poky/meta/recipes-support/boost/files/0001-Build-debug-version-of-bjam.patch create mode 100644 poky/meta/recipes-support/boost/files/0001-build.sh-use-DNDEBUG-also-in-debug-builds.patch delete mode 100644 poky/meta/recipes-support/boost/files/bjam-native-build-bjam.debug.patch create mode 100644 poky/meta/recipes-support/ca-certificates/ca-certificates/0001-certdata2pem.py-use-python3.patch delete mode 100644 poky/meta/recipes-support/libbsd/libbsd/0001-flopen-Add-missing-fcntl.h-include.patch create mode 100644 poky/meta/recipes-support/libbsd/libbsd_0.10.0.bb delete mode 100644 poky/meta/recipes-support/libbsd/libbsd_0.9.1.bb delete mode 100644 poky/meta/recipes-support/libevdev/libevdev_1.7.0.bb create mode 100644 poky/meta/recipes-support/libevdev/libevdev_1.8.0.bb create mode 100644 poky/meta/recipes-support/libffi/libffi/0001-Fixed-missed-ifndef-for-__mips_soft_float.patch create mode 100644 poky/meta/recipes-support/libgpg-error/libgpg-error/libgpg-error-1.36-gawk5-support.patch delete mode 100644 poky/meta/recipes-support/libnl/libnl/0001-PATCH-fix-libnl-3.4.0-musl-compile-problem.patch delete mode 100644 poky/meta/recipes-support/libnl/libnl/fix-pc-file.patch delete mode 100644 poky/meta/recipes-support/libnl/libnl_3.4.0.bb create mode 100644 poky/meta/recipes-support/libnl/libnl_3.5.0.bb create mode 100644 poky/meta/recipes-support/libpsl/libpsl/0001-Makefile.am-use-PYTHON-when-invoking-psl-make-dafsa.patch create mode 100644 poky/scripts/lib/wic/canned-wks/qemuriscv.wks (limited to 'poky/meta/recipes-support/boost/boost.inc') diff --git a/poky/README.LSB b/poky/README.LSB deleted file mode 100644 index fecbe548b..000000000 --- a/poky/README.LSB +++ /dev/null @@ -1,29 +0,0 @@ -OE-Core aims to be able to provide basic LSB compatible images. There -are some challenges for OE as LSB isn't always 100% relevant to its -target embedded and IoT audiences. - -One challenge is that the LSB spec is no longer being actively -developed [https://github.com/LinuxStandardBase/lsb] and has -components which are end of life or significantly dated. OE -therefore provides compatibility with the following caveats: - -* Qt4 is provided by the separate meta-qt4 layer. Its noted that Qt4 - is end of life and this isn't something the core project regularly - tests any longer. Users are recommended to group together to support - maintenance of that layer. [http://git.yoctoproject.org/cgit/cgit.cgi/meta-qt4/] - -* GTK+ 2 is provided by meta-oe. It is noted that GTK+ 2 is end of life - and use of GTK+ 2 isn't recommended. - -* mailx has been dropped since its no longer being developed upstream - and there are better, more modern replacements such as s-nail - (http://sdaoden.eu/code.html) or mailutils (http://mailutils.org/). - -* A few perl modules that were required by LSB 4.x aren't provided: - libclass-isa, libenv, libdumpvalue, libfile-checktree, - libi18n-collate, libpod-plainer. - -* libpng 1.2 isn't provided; oe-core includes the latest release of libpng - instead. - -* pax (POSIX standard archive) tool is not provided. diff --git a/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-metadata.xml b/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-metadata.xml index a125ad332..88622421d 100644 --- a/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-metadata.xml +++ b/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-metadata.xml @@ -420,13 +420,17 @@ FOO = "123 456 789 123456 123 456 123 456" FOO_remove = "123" FOO_remove = "456" - FOO2 = "abc def ghi abcdef abc def abc def" - FOO2_remove = "abc def" + FOO2 = " abc def ghi abcdef abc def abc def def" + FOO2_remove = " \ + def \ + abc \ + ghi \ + " The variable FOO becomes - "  789 123456    " + "  789 123456    " and FOO2 becomes - "  ghi abcdef    ". + "     jkl  abcdef      ". diff --git a/poky/bitbake/lib/bb/cooker.py b/poky/bitbake/lib/bb/cooker.py index 0607fcc70..5840aa75e 100644 --- a/poky/bitbake/lib/bb/cooker.py +++ b/poky/bitbake/lib/bb/cooker.py @@ -919,6 +919,10 @@ class BBCooker: os.unlink('package-depends.dot') except FileNotFoundError: pass + try: + os.unlink('recipe-depends.dot') + except FileNotFoundError: + pass with open('task-depends.dot', 'w') as f: f.write("digraph depends {\n") @@ -932,27 +936,6 @@ class BBCooker: f.write("}\n") logger.info("Task dependencies saved to 'task-depends.dot'") - with open('recipe-depends.dot', 'w') as f: - f.write("digraph depends {\n") - pndeps = {} - for task in sorted(depgraph["tdepends"]): - (pn, taskname) = task.rsplit(".", 1) - if pn not in pndeps: - pndeps[pn] = set() - for dep in sorted(depgraph["tdepends"][task]): - (deppn, deptaskname) = dep.rsplit(".", 1) - pndeps[pn].add(deppn) - for pn in sorted(pndeps): - fn = depgraph["pn"][pn]["filename"] - version = depgraph["pn"][pn]["version"] - f.write('"%s" [label="%s\\n%s\\n%s"]\n' % (pn, pn, version, fn)) - for dep in sorted(pndeps[pn]): - if dep == pn: - continue - f.write('"%s" -> "%s"\n' % (pn, dep)) - f.write("}\n") - logger.info("Flattened recipe dependencies saved to 'recipe-depends.dot'") - def show_appends_with_no_recipes(self): # Determine which bbappends haven't been applied @@ -1869,6 +1852,7 @@ class CookerCollectFiles(object): (bbappend, filename) = b if (bbappend == f) or ('%' in bbappend and bbappend.startswith(f[:bbappend.index('%')])): filelist.append(filename) + filelist.sort() return filelist def collection_priorities(self, pkgfns, d): diff --git a/poky/bitbake/lib/bb/fetch2/__init__.py b/poky/bitbake/lib/bb/fetch2/__init__.py index f6b5529bb..1f5f8f1f1 100644 --- a/poky/bitbake/lib/bb/fetch2/__init__.py +++ b/poky/bitbake/lib/bb/fetch2/__init__.py @@ -962,7 +962,8 @@ def rename_bad_checksum(ud, suffix): new_localpath = "%s_bad-checksum_%s" % (ud.localpath, suffix) bb.warn("Renaming %s to %s" % (ud.localpath, new_localpath)) - bb.utils.movefile(ud.localpath, new_localpath) + if not bb.utils.movefile(ud.localpath, new_localpath): + bb.warn("Renaming %s to %s failed, grep movefile in log.do_fetch to see why" % (ud.localpath, new_localpath)) def try_mirror_url(fetch, origud, ud, ld, check = False): diff --git a/poky/bitbake/lib/bb/runqueue.py b/poky/bitbake/lib/bb/runqueue.py index 4f69578e4..addb2bb82 100644 --- a/poky/bitbake/lib/bb/runqueue.py +++ b/poky/bitbake/lib/bb/runqueue.py @@ -849,6 +849,20 @@ class RunQueueData: for depend in depends: mark_active(depend, depth+1) + def invalidate_task(tid, error_nostamp): + (mc, fn, taskname, taskfn) = split_tid_mcfn(tid) + taskdep = self.dataCaches[mc].task_deps[taskfn] + if fn + ":" + taskname not in taskData[mc].taskentries: + logger.warning("Task %s does not exist, invalidating this task will have no effect" % taskname) + if 'nostamp' in taskdep and taskname in taskdep['nostamp']: + if error_nostamp: + bb.fatal("Task %s is marked nostamp, cannot invalidate this task" % taskname) + else: + bb.debug(1, "Task %s is marked nostamp, cannot invalidate this task" % taskname) + else: + logger.verbose("Invalidate task %s, %s", taskname, fn) + bb.parse.siggen.invalidate_task(taskname, self.dataCaches[mc], taskfn) + self.target_tids = [] for (mc, target, task, fn) in self.targets: @@ -917,6 +931,8 @@ class RunQueueData: for tid in list(runall_tids): mark_active(tid,1) + if self.cooker.configuration.force: + invalidate_task(tid, False) for tid in list(self.runtaskentries.keys()): if tid not in runq_build: @@ -938,6 +954,8 @@ class RunQueueData: for tid in list(runonly_tids): mark_active(tid,1) + if self.cooker.configuration.force: + invalidate_task(tid, False) for tid in list(self.runtaskentries.keys()): if tid not in runq_build: @@ -1114,20 +1132,6 @@ class RunQueueData: continue self.runq_setscene_tids.append(tid) - def invalidate_task(tid, error_nostamp): - (mc, fn, taskname, taskfn) = split_tid_mcfn(tid) - taskdep = self.dataCaches[mc].task_deps[taskfn] - if fn + ":" + taskname not in taskData[mc].taskentries: - logger.warning("Task %s does not exist, invalidating this task will have no effect" % taskname) - if 'nostamp' in taskdep and taskname in taskdep['nostamp']: - if error_nostamp: - bb.fatal("Task %s is marked nostamp, cannot invalidate this task" % taskname) - else: - bb.debug(1, "Task %s is marked nostamp, cannot invalidate this task" % taskname) - else: - logger.verbose("Invalidate task %s, %s", taskname, fn) - bb.parse.siggen.invalidate_task(taskname, self.dataCaches[mc], taskfn) - self.init_progress_reporter.next_stage() # Invalidate task if force mode active diff --git a/poky/bitbake/lib/bb/tests/fetch.py b/poky/bitbake/lib/bb/tests/fetch.py index 23c6338a4..2ee030546 100644 --- a/poky/bitbake/lib/bb/tests/fetch.py +++ b/poky/bitbake/lib/bb/tests/fetch.py @@ -1200,8 +1200,8 @@ class FetchLatestVersionTest(FetcherTest): # packages with valid UPSTREAM_CHECK_URI and UPSTREAM_CHECK_REGEX ("cups", "http://www.cups.org/software/1.7.2/cups-1.7.2-source.tar.bz2", "https://github.com/apple/cups/releases", "(?Pcups\-)(?P((\d+[\.\-_]*)+))\-source\.tar\.gz") : "2.0.0", - ("db", "http://download.oracle.com/berkeley-db/db-5.3.21.tar.gz", "http://www.oracle.com/technetwork/products/berkeleydb/downloads/index-082944.html", "http://download.oracle.com/otn/berkeley-db/(?Pdb-)(?P((\d+[\.\-_]*)+))\.tar\.gz") - : "6.1.19", + ("db", "http://download.oracle.com/berkeley-db/db-5.3.21.tar.gz", "http://ftp.debian.org/debian/pool/main/d/db5.3/", "(?Pdb5\.3_)(?P\d+(\.\d+)+).+\.orig\.tar\.xz") + : "5.3.10", } @skipIfNoNetwork() diff --git a/poky/bitbake/lib/bb/utils.py b/poky/bitbake/lib/bb/utils.py index 0618e46fe..3e90b6a30 100644 --- a/poky/bitbake/lib/bb/utils.py +++ b/poky/bitbake/lib/bb/utils.py @@ -780,7 +780,7 @@ def movefile(src, dest, newmtime = None, sstat = None): os.rename(src, destpath) renamefailed = 0 except Exception as e: - if e[0] != errno.EXDEV: + if e.errno != errno.EXDEV: # Some random error. print("movefile: Failed to move", src, "to", dest, e) return None diff --git a/poky/documentation/dev-manual/dev-manual-start.xml b/poky/documentation/dev-manual/dev-manual-start.xml index 5625dfcdd..59ffa49bb 100644 --- a/poky/documentation/dev-manual/dev-manual-start.xml +++ b/poky/documentation/dev-manual/dev-manual-start.xml @@ -23,9 +23,8 @@ It might not be immediately clear how you can use the Yocto Project in a team development environment, or how to scale it for a large team of developers. - One of the strengths of the Yocto Project is that it is extremely - flexible. - Thus, you can adapt it to many different use cases and scenarios. + You can adapt the Yocto Project to many different use cases and + scenarios. However, this flexibility could cause difficulties if you are trying to create a working setup that scales across a large team. diff --git a/poky/documentation/poky.ent b/poky/documentation/poky.ent index b5f600969..192b9418f 100644 --- a/poky/documentation/poky.ent +++ b/poky/documentation/poky.ent @@ -60,7 +60,7 @@ + pylint3 xterm"> -
- <filename>bluetooth.bbclass</filename> - - - The bluetooth class defines a variable that - expands to the recipe (package) providing core - bluetooth support on the platform. - - - - For details on how the class works, see the - meta/classes/bluetooth.bbclass file in the Yocto - Project - Source Directory. - -
-
<filename>buildhistory.bbclass</filename> @@ -937,21 +920,6 @@
-
- <filename>gnome.bbclass</filename> - - - The gnome class supports recipes that - build software from the GNOME stack. - This class inherits the - gnomebase, - gtk-icon-cache, - gconf and - mime classes. - The class also disables GObject introspection where applicable. - -
-
<filename>gnomebase.bbclass</filename> diff --git a/poky/documentation/ref-manual/ref-devtool-reference.xml b/poky/documentation/ref-manual/ref-devtool-reference.xml index 4810d28ad..11f7399c5 100644 --- a/poky/documentation/ref-manual/ref-devtool-reference.xml +++ b/poky/documentation/ref-manual/ref-devtool-reference.xml @@ -629,18 +629,18 @@ Building Your Recipe - Use the devtool build command to cause the - OpenEmbedded build system to build your recipe. + Use the devtool build command to build your + recipe. The devtool build command is equivalent to - bitbake -c populate_sysroot. + the bitbake -c populate_sysroot command. When you use the devtool build command, - you must supply the root name of the recipe (i.e. no version, - paths, or extensions). + you must supply the root name of the recipe (i.e. do not provide + versions, paths, or extensions). You can use either the "-s" or the "--disable-parallel-make" - option to disable parallel makes during the build. + options to disable parallel makes during the build. Here is an example: $ devtool build recipe diff --git a/poky/documentation/ref-manual/ref-features.xml b/poky/documentation/ref-manual/ref-features.xml index b057d2d04..44ba67cf5 100644 --- a/poky/documentation/ref-manual/ref-features.xml +++ b/poky/documentation/ref-manual/ref-features.xml @@ -154,27 +154,6 @@ bluetooth: Include bluetooth support (integrated BT only). - bluez5: Include - BlueZ Version 5, which provides core Bluetooth layers and - protocols support. - - The default value for the - DISTRO FEATURES variable includes - "bluetooth", which causes bluez5 to be backfilled in - for bluetooth support. - If you do not want bluez5 backfilled and would rather - use bluez4, you need to use the - DISTRO_FEATURES_BACKFILL_CONSIDERED - variable as follows: - - DISTRO_FEATURES_BACKFILL_CONSIDERED = "bluez5" - - Setting this variable tells the OpenEmbedded build - system that you have considered but ruled - out using the bluez5 feature and that bluez4 will be - used. - - cramfs: Include CramFS support. directfb: diff --git a/poky/documentation/ref-manual/ref-system-requirements.xml b/poky/documentation/ref-manual/ref-system-requirements.xml index 239dd84bb..51995309d 100644 --- a/poky/documentation/ref-manual/ref-system-requirements.xml +++ b/poky/documentation/ref-manual/ref-system-requirements.xml @@ -95,6 +95,7 @@ CentOS 7.x Debian GNU/Linux 8.x (Jessie) Debian GNU/Linux 9.x (Stretch) + Debian GNU/Linux 10.x (Buster) OpenSUSE 42.3 diff --git a/poky/documentation/ref-manual/ref-variables.xml b/poky/documentation/ref-manual/ref-variables.xml index 0080364e4..93b758838 100644 --- a/poky/documentation/ref-manual/ref-variables.xml +++ b/poky/documentation/ref-manual/ref-variables.xml @@ -335,7 +335,7 @@ - The minimal command and arguments used to run the + Minimal command and arguments needed to run the assembler. @@ -6606,6 +6606,7 @@ by default: btrfs + container cpio cpio.gz cpio.lz4 @@ -6621,13 +6622,14 @@ ext3.gz ext4 ext4.gz - hdddirect + f2fs hddimg iso jffs2 jffs2.sum multiubi squashfs + squashfs-lz4 squashfs-lzo squashfs-xz tar @@ -7580,15 +7582,9 @@ However, providing just the .dtb file is preferred. - In order to use this variable, you must have the include - files in your kernel recipe: - - require recipes-kernel/linux/linux-dtb.inc - - or - - require recipes-kernel/linux/linux-yocto.inc - + In order to use this variable, the + kernel-devicetree + class must be inherited. diff --git a/poky/meta-poky/conf/distro/include/poky-distro-alt-test-config.inc b/poky/meta-poky/conf/distro/include/poky-distro-alt-test-config.inc index 081584f39..9926c1bb0 100644 --- a/poky/meta-poky/conf/distro/include/poky-distro-alt-test-config.inc +++ b/poky/meta-poky/conf/distro/include/poky-distro-alt-test-config.inc @@ -1,2 +1,8 @@ +# Add an extra DISTRO_FEATURE DISTRO_FEATURES_append = " pam" -PREFERRED_VERSION_linux-yocto_linuxstdbase ?= "4.19%" + +# Use the LTSI Kernel +PREFERRED_VERSION_linux-yocto ?= "4.19%" + +# Ensure the kernel nfs server is enabled +KERNEL_FEATURES_append_pn-linux-yocto = " features/nfsd/nfsd-enable.scc" diff --git a/poky/meta-poky/conf/distro/poky-altcfg.conf b/poky/meta-poky/conf/distro/poky-altcfg.conf new file mode 100644 index 000000000..177bf8d18 --- /dev/null +++ b/poky/meta-poky/conf/distro/poky-altcfg.conf @@ -0,0 +1,15 @@ +# +# An example of subclassing a distro, primarily used for testing alternate configuration +# combinations on the Yocto Project autobuilder +# +require conf/distro/poky.conf + +DISTRO = "poky-altcfg" +DISTROOVERRIDES = "poky:poky-altcfg" +#DISTROOVERRIDES = "poky:linuxstdbase" + +INIT_MANAGER ?= "systemd" +# systemd isn't suitable with musl +INIT_MANAGER_libc-musl ?= "sysvinit" + +require conf/distro/include/poky-distro-alt-test-config.inc diff --git a/poky/meta-poky/conf/distro/poky-lsb.conf b/poky/meta-poky/conf/distro/poky-lsb.conf deleted file mode 100644 index 9b36c87c4..000000000 --- a/poky/meta-poky/conf/distro/poky-lsb.conf +++ /dev/null @@ -1,13 +0,0 @@ - -require conf/distro/poky.conf - -DISTRO = "poky-lsb" -DISTROOVERRIDES = "poky:linuxstdbase" - -DISTRO_FEATURES_append = " pam" - -# Ensure the kernel nfs server is enabled -KERNEL_FEATURES_append_pn-linux-yocto = " features/nfsd/nfsd-enable.scc" - -# Use the LTSI Kernel for LSB Testing -PREFERRED_VERSION_linux-yocto_linuxstdbase ?= "4.19%" diff --git a/poky/meta-poky/conf/distro/poky-tiny.conf b/poky/meta-poky/conf/distro/poky-tiny.conf index 1f8b6e8ff..c6d4b88f8 100644 --- a/poky/meta-poky/conf/distro/poky-tiny.conf +++ b/poky/meta-poky/conf/distro/poky-tiny.conf @@ -82,12 +82,7 @@ DISTRO_FEATURES_class-native = "${DISTRO_FEATURES_DEFAULT} ${POKY_DEFAULT_DISTRO DISTRO_FEATURES_class-nativesdk = "${DISTRO_FEATURES_DEFAULT} ${POKY_DEFAULT_DISTRO_FEATURES}" # enable mdev/busybox for init -VIRTUAL-RUNTIME_dev_manager = "busybox-mdev" -VIRTUAL-RUNTIME_login_manager = "busybox" -VIRTUAL-RUNTIME_init_manager = "busybox" -VIRTUAL-RUNTIME_initscripts = "initscripts" -VIRTUAL-RUNTIME_keymaps = "keymaps" -DISTRO_FEATURES_BACKFILL_CONSIDERED += "sysvinit" +INIT_MANAGER ?= "mdev-busybox" # FIXME: Consider adding "modules" to MACHINE_FEATURES and using that in # packagegroup-core-base to select modutils-initscripts or not. Similar with "net" and @@ -117,9 +112,6 @@ PNBLACKLIST[build-appliance-image] = "not buildable with poky-tiny" PNBLACKLIST[core-image-base] = "not buildable with poky-tiny" PNBLACKLIST[core-image-clutter] = "not buildable with poky-tiny" PNBLACKLIST[core-image-full-cmdline] = "not buildable with poky-tiny" -PNBLACKLIST[core-image-lsb] = "not buildable with poky-tiny" -PNBLACKLIST[core-image-lsb-dev] = "not buildable with poky-tiny" -PNBLACKLIST[core-image-lsb-sdk] = "not buildable with poky-tiny" PNBLACKLIST[core-image-rt] = "not buildable with poky-tiny" PNBLACKLIST[core-image-rt-sdk] = "not buildable with poky-tiny" PNBLACKLIST[core-image-sato] = "not buildable with poky-tiny" diff --git a/poky/meta-poky/conf/distro/poky.conf b/poky/meta-poky/conf/distro/poky.conf index aa041e2dc..f999992c9 100644 --- a/poky/meta-poky/conf/distro/poky.conf +++ b/poky/meta-poky/conf/distro/poky.conf @@ -21,7 +21,7 @@ POKY_DEFAULT_EXTRA_RRECOMMENDS = "kernel-module-af-packet" DISTRO_FEATURES ?= "${DISTRO_FEATURES_DEFAULT} ${POKY_DEFAULT_DISTRO_FEATURES}" -PREFERRED_VERSION_linux-yocto ?= "5.0%" +PREFERRED_VERSION_linux-yocto ?= "5.2%" SDK_NAME = "${DISTRO}-${TCLIBC}-${SDKMACHINE}-${IMAGE_BASENAME}-${TUNE_PKGARCH}-${MACHINE}" SDKPATH = "/opt/${DISTRO}/${SDK_VERSION}" diff --git a/poky/meta-poky/conf/local.conf.sample b/poky/meta-poky/conf/local.conf.sample index b36530dd8..c86eee456 100644 --- a/poky/meta-poky/conf/local.conf.sample +++ b/poky/meta-poky/conf/local.conf.sample @@ -238,12 +238,16 @@ BB_DISKMON_DIRS ??= "\ # Qemu configuration # # By default native qemu will build with a builtin VNC server where graphical output can be -# seen. The line below enable the SDL backend too. By default libsdl2-native will -# be built, if you want to use your host's libSDL instead of the minimal libsdl built -# by libsdl2-native then uncomment the ASSUME_PROVIDED line below. +# seen. The line below enables the SDL UI frontend too. PACKAGECONFIG_append_pn-qemu-system-native = " sdl" +# By default libsdl2-native will be built, if you want to use your host's libSDL instead of +# the minimal libsdl built by libsdl2-native then uncomment the ASSUME_PROVIDED line below. #ASSUME_PROVIDED += "libsdl2-native" +# You can also enable the Gtk UI frontend, which takes somewhat longer to build, but adds +# a handy set of menus for controlling the emulator. +#PACKAGECONFIG_append_pn-qemu-system-native = " gtk+" + # CONF_VERSION is increased each time build/conf/ changes incompatibly and is used to # track the version of this file when it was generated. This can safely be ignored if # this doesn't mean anything to you. diff --git a/poky/meta-poky/conf/local.conf.sample.extended b/poky/meta-poky/conf/local.conf.sample.extended index 77e8be26f..dc92a16f6 100644 --- a/poky/meta-poky/conf/local.conf.sample.extended +++ b/poky/meta-poky/conf/local.conf.sample.extended @@ -270,7 +270,7 @@ DISTRO_FEATURES_remove = "x11" # # By including the security_flags include file you enable flags # to the compiler and linker that cause them to generate more secure -# code, this is enabled by default in the poky-lsb distro. +# code. # This does affect compile speed slightly. # # Use the following line to enable the security compiler and linker flags to your build diff --git a/poky/meta-yocto-bsp/conf/machine/beaglebone-yocto.conf b/poky/meta-yocto-bsp/conf/machine/beaglebone-yocto.conf index 7c7b3059a..08dd3a507 100644 --- a/poky/meta-yocto-bsp/conf/machine/beaglebone-yocto.conf +++ b/poky/meta-yocto-bsp/conf/machine/beaglebone-yocto.conf @@ -24,7 +24,7 @@ SERIAL_CONSOLES ?= "115200;ttyS0 115200;ttyO0 115200;ttyAMA0" SERIAL_CONSOLES_CHECK = "${SERIAL_CONSOLES}" PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto" -PREFERRED_VERSION_linux-yocto ?= "5.0%" +PREFERRED_VERSION_linux-yocto ?= "5.2%" KERNEL_IMAGETYPE = "zImage" KERNEL_DEVICETREE = "am335x-bone.dtb am335x-boneblack.dtb am335x-bonegreen.dtb" @@ -47,7 +47,6 @@ QB_DEFAULT_FSTYPE = "wic" QB_FSINFO = "wic:no-kernel-in-fs" QB_KERNEL_ROOT = "/dev/vda2" QB_SYSTEM_NAME = "qemu-system-arm" -QB_MEM = "-m 512" QB_MACHINE = "-machine virt" QB_CPU = "-cpu cortex-a15" QB_KERNEL_CMDLINE_APPEND = "console=ttyAMA0 systemd.mask=systemd-networkd" diff --git a/poky/meta-yocto-bsp/conf/machine/edgerouter.conf b/poky/meta-yocto-bsp/conf/machine/edgerouter.conf index 88592dbc8..6331368f8 100644 --- a/poky/meta-yocto-bsp/conf/machine/edgerouter.conf +++ b/poky/meta-yocto-bsp/conf/machine/edgerouter.conf @@ -11,7 +11,7 @@ KERNEL_ALT_IMAGETYPE = "vmlinux.bin" KERNEL_IMAGE_STRIP_EXTRA_SECTIONS = ".comment" PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto" -PREFERRED_VERSION_linux-yocto ?= "5.0%" +PREFERRED_VERSION_linux-yocto ?= "5.2%" SERIAL_CONSOLES = "115200;ttyS0" USE_VT ?= "0" diff --git a/poky/meta-yocto-bsp/conf/machine/mpc8315e-rdb.conf b/poky/meta-yocto-bsp/conf/machine/mpc8315e-rdb.conf index e2dce5673..538279628 100644 --- a/poky/meta-yocto-bsp/conf/machine/mpc8315e-rdb.conf +++ b/poky/meta-yocto-bsp/conf/machine/mpc8315e-rdb.conf @@ -15,7 +15,7 @@ SERIAL_CONSOLES = "115200;ttyS0" MACHINE_FEATURES = "keyboard pci ext2 ext3 serial" -PREFERRED_VERSION_linux-yocto ?= "5.0%" +PREFERRED_VERSION_linux-yocto ?= "5.2%" PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto" PREFERRED_PROVIDER_virtual/xserver ?= "xserver-xorg" diff --git a/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_5.0.bbappend b/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_5.0.bbappend deleted file mode 100644 index d7cf1216f..000000000 --- a/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_5.0.bbappend +++ /dev/null @@ -1,27 +0,0 @@ -KBRANCH_genericx86 = "v5.0/standard/base" -KBRANCH_genericx86-64 = "v5.0/standard/base" -KBRANCH_edgerouter = "v5.0/standard/edgerouter" -KBRANCH_beaglebone-yocto = "v5.0/standard/beaglebone" -KBRANCH_mpc8315e-rdb = "v5.0/standard/fsl-mpc8315e-rdb" - -KMACHINE_genericx86 ?= "common-pc" -KMACHINE_genericx86-64 ?= "common-pc-64" -KMACHINE_beaglebone-yocto ?= "beaglebone" - -SRCREV_machine_genericx86 ?= "f990fd0ce123aa6035042efad09b2ddc3e7d48f4" -SRCREV_machine_genericx86-64 ?= "f990fd0ce123aa6035042efad09b2ddc3e7d48f4" -SRCREV_machine_edgerouter ?= "f990fd0ce123aa6035042efad09b2ddc3e7d48f4" -SRCREV_machine_beaglebone-yocto ?= "f990fd0ce123aa6035042efad09b2ddc3e7d48f4" -SRCREV_machine_mpc8315e-rdb ?= "670ce7e9db627d0c2067cfdb571ddc1f117818d8" - -COMPATIBLE_MACHINE_genericx86 = "genericx86" -COMPATIBLE_MACHINE_genericx86-64 = "genericx86-64" -COMPATIBLE_MACHINE_edgerouter = "edgerouter" -COMPATIBLE_MACHINE_beaglebone-yocto = "beaglebone-yocto" -COMPATIBLE_MACHINE_mpc8315e-rdb = "mpc8315e-rdb" - -LINUX_VERSION_genericx86 = "5.0.13" -LINUX_VERSION_genericx86-64 = "5.0.13" -LINUX_VERSION_edgerouter = "5.0.13" -LINUX_VERSION_beaglebone-yocto = "5.0.13" -LINUX_VERSION_mpc8315e-rdb = "5.0.13" diff --git a/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_5.2.bbappend b/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_5.2.bbappend new file mode 100644 index 000000000..b7cefd25c --- /dev/null +++ b/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_5.2.bbappend @@ -0,0 +1,27 @@ +KBRANCH_genericx86 = "v5.2/standard/base" +KBRANCH_genericx86-64 = "v5.2/standard/base" +KBRANCH_edgerouter = "v5.2/standard/edgerouter" +KBRANCH_beaglebone-yocto = "v5.2/standard/beaglebone" +KBRANCH_mpc8315e-rdb = "v5.2/standard/fsl-mpc8315e-rdb" + +KMACHINE_genericx86 ?= "common-pc" +KMACHINE_genericx86-64 ?= "common-pc-64" +KMACHINE_beaglebone-yocto ?= "beaglebone" + +SRCREV_machine_genericx86 ?= "77c28ea0e55cabb0b22b47d4eb2cc94b0940dfe6" +SRCREV_machine_genericx86-64 ?= "35276d20c01a78ee3640a074446b0c15c486c5d0" +SRCREV_machine_edgerouter ?= "35276d20c01a78ee3640a074446b0c15c486c5d0" +SRCREV_machine_beaglebone-yocto ?= "77c28ea0e55cabb0b22b47d4eb2cc94b0940dfe6" +SRCREV_machine_mpc8315e-rdb ?= "cae01d71ef67eaafec75ce24f49b038b705b8711" + +COMPATIBLE_MACHINE_genericx86 = "genericx86" +COMPATIBLE_MACHINE_genericx86-64 = "genericx86-64" +COMPATIBLE_MACHINE_edgerouter = "edgerouter" +COMPATIBLE_MACHINE_beaglebone-yocto = "beaglebone-yocto" +COMPATIBLE_MACHINE_mpc8315e-rdb = "mpc8315e-rdb" + +LINUX_VERSION_genericx86 = "5.2.10" +LINUX_VERSION_genericx86-64 = "5.2.10" +LINUX_VERSION_edgerouter = "5.2.10" +LINUX_VERSION_beaglebone-yocto = "5.2.10" +LINUX_VERSION_mpc8315e-rdb = "5.2.10" diff --git a/poky/meta/classes/archiver.bbclass b/poky/meta/classes/archiver.bbclass index af9f010df..13b05bb5f 100644 --- a/poky/meta/classes/archiver.bbclass +++ b/poky/meta/classes/archiver.bbclass @@ -78,6 +78,9 @@ python () { bb.debug(1, 'archiver: %s is excluded, covered by gcc-source' % pn) return + def hasTask(task): + return bool(d.getVarFlag(task, "task", False)) and not bool(d.getVarFlag(task, "noexec", False)) + ar_src = d.getVarFlag('ARCHIVER_MODE', 'src') ar_dumpdata = d.getVarFlag('ARCHIVER_MODE', 'dumpdata') ar_recipe = d.getVarFlag('ARCHIVER_MODE', 'recipe') @@ -98,9 +101,6 @@ python () { # There is a corner case with "gcc-source-${PV}" recipes, they don't have # the "do_configure" task, so we need to use "do_preconfigure" - def hasTask(task): - return bool(d.getVarFlag(task, "task", False)) and not bool(d.getVarFlag(task, "noexec", False)) - if hasTask("do_preconfigure"): d.appendVarFlag('do_ar_configured', 'depends', ' %s:do_preconfigure' % pn) elif hasTask("do_configure"): @@ -118,7 +118,11 @@ python () { # Output the SRPM package if d.getVarFlag('ARCHIVER_MODE', 'srpm') == "1" and d.getVar('PACKAGES'): - if "package_rpm" in d.getVar('PACKAGE_CLASSES'): + if "package_rpm" not in d.getVar('PACKAGE_CLASSES'): + bb.fatal("ARCHIVER_MODE[srpm] needs package_rpm in PACKAGE_CLASSES") + + # Some recipes do not have any packaging tasks + if hasTask("do_package_write_rpm"): d.appendVarFlag('do_deploy_archives', 'depends', ' %s:do_package_write_rpm' % pn) d.appendVarFlag('do_package_write_rpm', 'dirs', ' ${ARCHIVER_RPMTOPDIR}') d.appendVarFlag('do_package_write_rpm', 'sstate-inputdirs', ' ${ARCHIVER_RPMTOPDIR}') @@ -133,8 +137,6 @@ python () { d.appendVarFlag('do_package_write_rpm', 'depends', ' %s:do_ar_patched' % pn) elif ar_src == "configured": d.appendVarFlag('do_package_write_rpm', 'depends', ' %s:do_ar_configured' % pn) - else: - bb.fatal("ARCHIVER_MODE[srpm] needs package_rpm in PACKAGE_CLASSES") } # Take all the sources for a recipe and puts them in WORKDIR/archiver-work/. diff --git a/poky/meta/classes/autotools.bbclass b/poky/meta/classes/autotools.bbclass index 8768a6ad6..3d22ad025 100644 --- a/poky/meta/classes/autotools.bbclass +++ b/poky/meta/classes/autotools.bbclass @@ -25,7 +25,9 @@ inherit siteinfo # Space separated list of shell scripts with variables defined to supply test # results for autoconf tests we cannot run at build time. -export CONFIG_SITE = "${@siteinfo_get_files(d)}" +# The value of this variable is filled in in a prefunc because it depends on +# the contents of the sysroot. +export CONFIG_SITE acpaths ?= "default" EXTRA_AUTORECONF = "--exclude=autopoint" @@ -132,6 +134,8 @@ EXTRACONFFUNCS ??= "" EXTRA_OECONF_append = " ${PACKAGECONFIG_CONFARGS}" do_configure[prefuncs] += "autotools_preconfigure autotools_aclocals ${EXTRACONFFUNCS}" +do_compile[prefuncs] += "autotools_aclocals" +do_install[prefuncs] += "autotools_aclocals" do_configure[postfuncs] += "autotools_postconfigure" ACLOCALDIR = "${STAGING_DATADIR}/aclocal" @@ -140,7 +144,6 @@ ACLOCALEXTRAPATH_class-target = " -I ${STAGING_DATADIR_NATIVE}/aclocal/" ACLOCALEXTRAPATH_class-nativesdk = " -I ${STAGING_DATADIR_NATIVE}/aclocal/" python autotools_aclocals () { - # Refresh variable with cache files d.setVar("CONFIG_SITE", siteinfo_get_files(d, sysrootcache=True)) } diff --git a/poky/meta/classes/icecc.bbclass b/poky/meta/classes/icecc.bbclass index 78a2f7602..fc82f8de1 100644 --- a/poky/meta/classes/icecc.bbclass +++ b/poky/meta/classes/icecc.bbclass @@ -73,10 +73,13 @@ ICECC_ENV_DEBUG ??= "" # # libgcc-initial - fails with CPP sanity check error if host sysroot contains # cross gcc built for another target tune/variant +# systemtap - _HelperSDT.c undefs macros and uses the identifiers in macros emitting +# inline assembly # target-sdk-provides-dummy - ${HOST_PREFIX} is empty which triggers the "NULL # prefix" error. ICECC_SYSTEM_PACKAGE_BL += "\ libgcc-initial \ + systemtap \ target-sdk-provides-dummy \ " diff --git a/poky/meta/classes/image.bbclass b/poky/meta/classes/image.bbclass index 7fa4ff20b..f4633da3d 100644 --- a/poky/meta/classes/image.bbclass +++ b/poky/meta/classes/image.bbclass @@ -526,7 +526,7 @@ def get_rootfs_size(d): base_size = size_kb * overhead_factor bb.debug(1, '%f = %d * %f' % (base_size, size_kb, overhead_factor)) base_size2 = max(base_size, rootfs_req_size) + rootfs_extra_space - bb.debug(1, '%f = max(%f, %d)[%f] + %d' % (base_size2, base_size, rootfs_req_size, max(base_size, rootfs_req_size), overhead_factor)) + bb.debug(1, '%f = max(%f, %d)[%f] + %d' % (base_size2, base_size, rootfs_req_size, max(base_size, rootfs_req_size), rootfs_extra_space)) base_size = base_size2 if base_size != int(base_size): diff --git a/poky/meta/classes/kernel.bbclass b/poky/meta/classes/kernel.bbclass index bf3674238..ebcb79a52 100644 --- a/poky/meta/classes/kernel.bbclass +++ b/poky/meta/classes/kernel.bbclass @@ -96,8 +96,10 @@ python __anonymous () { d.setVar('ALLOW_EMPTY_%s-image-%s' % (kname, typelower), '1') image = d.getVar('INITRAMFS_IMAGE') - image_bundle = d.getVar('INITRAMFS_IMAGE_BUNDLE') - if image and bb.utils.to_boolean(image_bundle, False): + # If the INTIRAMFS_IMAGE is set but the INITRAMFS_IMAGE_BUNDLE is set to 0, + # the do_bundle_initramfs does nothing, but the INITRAMFS_IMAGE is built + # standalone for use by wic and other tools. + if image: d.appendVarFlag('do_bundle_initramfs', 'depends', ' ${INITRAMFS_IMAGE}:do_image_complete') # NOTE: setting INITRAMFS_TASK is for backward compatibility diff --git a/poky/meta/classes/package.bbclass b/poky/meta/classes/package.bbclass index 114d6559f..aa8451ffe 100644 --- a/poky/meta/classes/package.bbclass +++ b/poky/meta/classes/package.bbclass @@ -1646,7 +1646,8 @@ python package_do_shlibs() { prov = (this_soname, ldir, pkgver) if not prov in sonames: # if library is private (only used by package) then do not build shlib for it - if not private_libs or this_soname not in private_libs: + import fnmatch + if not private_libs or len([i for i in private_libs if fnmatch.fnmatch(this_soname, i)]) == 0: sonames.add(prov) if libdir_re.match(os.path.dirname(file)): needs_ldconfig = True @@ -1829,7 +1830,8 @@ python package_do_shlibs() { # /opt/abc/lib/libfoo.so.1 and contains /usr/bin/abc depending on system library libfoo.so.1 # but skipping it is still better alternative than providing own # version and then adding runtime dependency for the same system library - if private_libs and n[0] in private_libs: + import fnmatch + if private_libs and len([i for i in private_libs if fnmatch.fnmatch(n[0], i)]) > 0: bb.debug(2, '%s: Dependency %s covered by PRIVATE_LIBS' % (pkg, n[0])) continue if n[0] in shlib_provider.keys(): diff --git a/poky/meta/classes/python3native.bbclass b/poky/meta/classes/python3native.bbclass index a3acaf61b..d98fb4c75 100644 --- a/poky/meta/classes/python3native.bbclass +++ b/poky/meta/classes/python3native.bbclass @@ -9,6 +9,14 @@ DEPENDS_append = " python3-native " export STAGING_INCDIR export STAGING_LIBDIR +# Packages can use +# find_package(PythonInterp REQUIRED) +# find_package(PythonLibs REQUIRED) +# which ends up using libs/includes from build host +# Therefore pre-empt that effort +export PYTHON_LIBRARY="${STAGING_LIBDIR}/lib${PYTHON_DIR}${PYTHON_ABI}.so" +export PYTHON_INCLUDE_DIR="${STAGING_INCDIR}/${PYTHON_DIR}${PYTHON_ABI}" + export _PYTHON_SYSCONFIGDATA_NAME="_sysconfigdata" # suppress host user's site-packages dirs. diff --git a/poky/meta/classes/pythonnative.bbclass b/poky/meta/classes/pythonnative.bbclass index ae6600cd1..0e9019d1e 100644 --- a/poky/meta/classes/pythonnative.bbclass +++ b/poky/meta/classes/pythonnative.bbclass @@ -12,6 +12,14 @@ DEPENDS_append = " python-native " export STAGING_INCDIR export STAGING_LIBDIR +# Packages can use +# find_package(PythonInterp REQUIRED) +# find_package(PythonLibs REQUIRED) +# which ends up using libs/includes from build host +# Therefore pre-empt that effort +export PYTHON_LIBRARY="${STAGING_LIBDIR}/lib${PYTHON_DIR}${PYTHON_ABI}.so" +export PYTHON_INCLUDE_DIR="${STAGING_INCDIR}/${PYTHON_DIR}${PYTHON_ABI}" + # suppress host user's site-packages dirs. export PYTHONNOUSERSITE = "1" diff --git a/poky/meta/classes/rm_work.bbclass b/poky/meta/classes/rm_work.bbclass index c478f4a18..a6bd3f719 100644 --- a/poky/meta/classes/rm_work.bbclass +++ b/poky/meta/classes/rm_work.bbclass @@ -121,7 +121,7 @@ do_rm_work_all () { } do_rm_work_all[recrdeptask] = "do_rm_work" do_rm_work_all[noexec] = "1" -addtask rm_work_all after before do_build +addtask rm_work_all before do_build do_populate_sdk[postfuncs] += "rm_work_populatesdk" rm_work_populatesdk () { diff --git a/poky/meta/classes/rootfs-postcommands.bbclass b/poky/meta/classes/rootfs-postcommands.bbclass index 6cec23ef1..fc338161c 100644 --- a/poky/meta/classes/rootfs-postcommands.bbclass +++ b/poky/meta/classes/rootfs-postcommands.bbclass @@ -95,6 +95,11 @@ read_only_rootfs_hook () { sed -i -e '/^[#[:space:]]*\/dev\/root/{s/defaults/ro/;s/\([[:space:]]*[[:digit:]]\)\([[:space:]]*\)[[:digit:]]$/\1\20/}' ${IMAGE_ROOTFS}/etc/fstab fi + # Tweak the "mount -o remount,rw /" command in busybox-inittab inittab + if [ -f ${IMAGE_ROOTFS}/etc/inittab ]; then + sed -i 's|/bin/mount -o remount,rw /|/bin/mount -o remount,ro /|' ${IMAGE_ROOTFS}/etc/inittab + fi + # If we're using openssh and the /etc/ssh directory has no pre-generated keys, # we should configure openssh to use the configuration file /etc/ssh/sshd_config_readonly # and the keys under /var/run/ssh. diff --git a/poky/meta/classes/staging.bbclass b/poky/meta/classes/staging.bbclass index cdc342dbb..55a9b52ed 100644 --- a/poky/meta/classes/staging.bbclass +++ b/poky/meta/classes/staging.bbclass @@ -197,7 +197,7 @@ def staging_populate_sysroot_dir(targetsysroot, nativesysroot, native, d): for pkgarch in pkgarchs: for manifest in glob.glob(d.expand("${SSTATE_MANIFESTS}/manifest-%s-*.populate_sysroot" % pkgarch)): if manifest.endswith("-initial.populate_sysroot"): - # skip glibc-initial and libgcc-initial due to file overlap + # skip libgcc-initial due to file overlap continue if not native and (manifest.endswith("-native.populate_sysroot") or "nativesdk-" in manifest): continue diff --git a/poky/meta/conf/bitbake.conf b/poky/meta/conf/bitbake.conf index 1311e6b5f..a0a7f4911 100644 --- a/poky/meta/conf/bitbake.conf +++ b/poky/meta/conf/bitbake.conf @@ -360,12 +360,6 @@ CACHE = "${TMPDIR}/cache${@['', '/' + str(d.getVar('MACHINE'))][bool(d.getVar('M # The persistent cache should be shared by all builds PERSISTENT_DIR = "${TOPDIR}/cache" LOG_DIR = "${TMPDIR}/log" -CO_DIR = "${DL_DIR}" -CVSDIR = "${CO_DIR}/cvs" -SVNDIR = "${CO_DIR}/svn" -GITDIR = "${CO_DIR}/git2" -BZRDIR = "${CO_DIR}/bzr" -HGDIR = "${CO_DIR}/hg" STAMPS_DIR ?= "${TMPDIR}/stamps" STAMP = "${STAMPS_DIR}/${MULTIMACH_TARGET_SYS}/${PN}/${EXTENDPE}${PV}-${PR}" @@ -676,12 +670,6 @@ SRC_URI[vardepsexclude] += "\ # export DEBIAN_MIRROR = "http://ftp.de.debian.org/debian/pool" # into your local.conf -FETCHCMD_svn = "/usr/bin/env svn --non-interactive --trust-server-cert" -FETCHCMD_cvs = "/usr/bin/env cvs" -FETCHCMD_wget = "/usr/bin/env wget -t 2 -T 30 --passive-ftp --no-check-certificate" -FETCHCMD_bzr = "/usr/bin/env bzr" -FETCHCMD_hg = "/usr/bin/env hg" - SRCDATE = "${DATE}" SRCREV ??= "INVALID" AUTOREV = "${@bb.fetch2.get_autorev(d)}" diff --git a/poky/meta/conf/distro/defaultsetup.conf b/poky/meta/conf/distro/defaultsetup.conf index 9b1ee20aa..66fd24652 100644 --- a/poky/meta/conf/distro/defaultsetup.conf +++ b/poky/meta/conf/distro/defaultsetup.conf @@ -1,7 +1,6 @@ include conf/distro/include/default-providers.inc include conf/distro/include/default-versions.inc include conf/distro/include/default-distrovars.inc -include conf/distro/include/world-broken.inc include conf/distro/include/maintainers.inc TCMODE ?= "default" diff --git a/poky/meta/conf/distro/include/default-providers.inc b/poky/meta/conf/distro/include/default-providers.inc index 8f4d44d88..ea88bd487 100644 --- a/poky/meta/conf/distro/include/default-providers.inc +++ b/poky/meta/conf/distro/include/default-providers.inc @@ -5,6 +5,8 @@ PREFERRED_PROVIDER_virtual/xserver ?= "xserver-xorg" PREFERRED_PROVIDER_virtual/xserver-xf86 ?= "xserver-xorg" PREFERRED_PROVIDER_virtual/egl ?= "mesa" PREFERRED_PROVIDER_virtual/libgl ?= "mesa" +PREFERRED_PROVIDER_virtual/libgl-native ?= "mesa-native" +PREFERRED_PROVIDER_virtual/nativesdk-libgl ?= "nativesdk-mesa" PREFERRED_PROVIDER_virtual/libgles1 ?= "mesa" PREFERRED_PROVIDER_virtual/libgles2 ?= "mesa" PREFERRED_PROVIDER_virtual/mesa ?= "mesa" diff --git a/poky/meta/conf/distro/include/distro_alias.inc b/poky/meta/conf/distro/include/distro_alias.inc index ab6ebdb89..e314642b9 100644 --- a/poky/meta/conf/distro/include/distro_alias.inc +++ b/poky/meta/conf/distro/include/distro_alias.inc @@ -43,9 +43,6 @@ DISTRO_PN_ALIAS_pn-core-image-base = "OE-Core" DISTRO_PN_ALIAS_pn-core-image-clutter = "OE-Core" DISTRO_PN_ALIAS_pn-core-image-full-cmdline = "OE-Core" DISTRO_PN_ALIAS_pn-core-image-kernel-dev = "OE-Core" -DISTRO_PN_ALIAS_pn-core-image-lsb = "OE-Core" -DISTRO_PN_ALIAS_pn-core-image-lsb-dev = "OE-Core" -DISTRO_PN_ALIAS_pn-core-image-lsb-sdk = "OE-Core" DISTRO_PN_ALIAS_pn-core-image-minimal = "OE-Core" DISTRO_PN_ALIAS_pn-core-image-minimal-dev = "OE-Core" DISTRO_PN_ALIAS_pn-core-image-minimal-initramfs = "OE-Core" @@ -80,8 +77,6 @@ DISTRO_PN_ALIAS_pn-docbook-xml-dtd4-native = "Ubuntu=docbook-xml Fedora=docbook- DISTRO_PN_ALIAS_pn-docbook-xsl-stylesheets = "Fedora=docbook-xsl-stylesheets Opensuse=docbook-xsl-stylesheets" DISTRO_PN_ALIAS_pn-dropbear = "Debian=dropbear Ubuntu=dropbear" DISTRO_PN_ALIAS_pn-dtc = "Fedora=dtc Ubuntu=dtc" -DISTRO_PN_ALIAS_pn-eglinfo-fb = "OE-Core" -DISTRO_PN_ALIAS_pn-eglinfo-x11 = "OE-Core" DISTRO_PN_ALIAS_pn-encodings = "Ubuntu=xfonts-encodings Mandriva=x11-font-encodings Debian=xfonts-encodings" DISTRO_PN_ALIAS_pn-font-alias = "Fedora=xorg-x11-fonts-base Mandriva=x11-font-alias Meego=xorg-x11-fonts" DISTRO_PN_ALIAS_pn-font-util = "Meego=xorg-x11-font-utils Fedora=xorg-x11-font-utils Ubuntu=xfonts-utils Mandriva=x11-font-util Debian=xfonts-utils" @@ -202,8 +197,6 @@ DISTRO_PN_ALIAS_pn-linux-libc-headers-yocto = "Debian=linux-kernel-headers Ubunt DISTRO_PN_ALIAS_pn-linux-yocto = "Debian=linux-base Ubuntu=linux" DISTRO_PN_ALIAS_pn-linux-yocto-rt = "Debian=linux-base Ubuntu=linux" DISTRO_PN_ALIAS_pn-linux-yocto-tiny = "OSPDT" -DISTRO_PN_ALIAS_pn-lsbinitscripts = "Windriver" -DISTRO_PN_ALIAS_pn-lsbtest = "Windriver" DISTRO_PN_ALIAS_pn-ltp = "Mandriva=ltp Ubuntu=ltp" DISTRO_PN_ALIAS_pn-lttng-modules = "OSPDT upstream=http://lttng.org/" DISTRO_PN_ALIAS_pn-lttng-tools = "OSPDT upstream=http://lttng.org/" @@ -265,7 +258,6 @@ DISTRO_PN_ALIAS_pn-packagegroup-core-clutter = "OE-Core" DISTRO_PN_ALIAS_pn-packagegroup-core-device-devel = "OE-Core" DISTRO_PN_ALIAS_pn-packagegroup-core-eclipse-debug = "OE-Core" DISTRO_PN_ALIAS_pn-packagegroup-core-full-cmdline = "OE-Core" -DISTRO_PN_ALIAS_pn-packagegroup-core-lsb = "OE-Core" DISTRO_PN_ALIAS_pn-packagegroup-core-nfs = "OE-Core" DISTRO_PN_ALIAS_pn-packagegroup-core-sdk = "OE-Core" DISTRO_PN_ALIAS_pn-packagegroup-core-ssh-dropbear = "OE-Core" diff --git a/poky/meta/conf/distro/include/maintainers.inc b/poky/meta/conf/distro/include/maintainers.inc index 6a2308d13..5f21f98b2 100644 --- a/poky/meta/conf/distro/include/maintainers.inc +++ b/poky/meta/conf/distro/include/maintainers.inc @@ -66,6 +66,7 @@ RECIPE_MAINTAINER_pn-bind = "Armin Kuster " RECIPE_MAINTAINER_pn-binutils = "Khem Raj " RECIPE_MAINTAINER_pn-binutils-cross-${TARGET_ARCH} = "Khem Raj " RECIPE_MAINTAINER_pn-binutils-cross-canadian-${TRANSLATED_TARGET_ARCH} = "Khem Raj " +RECIPE_MAINTAINER_pn-binutils-cross-testsuite = "Khem Raj " RECIPE_MAINTAINER_pn-binutils-crosssdk-${SDK_SYS} = "Khem Raj " RECIPE_MAINTAINER_pn-bison = "Chen Qi " RECIPE_MAINTAINER_pn-bjam-native = "Alexander Kanavin " @@ -114,8 +115,6 @@ RECIPE_MAINTAINER_pn-core-image-full-cmdline = "Richard Purdie " RECIPE_MAINTAINER_pn-logrotate = "Yi Zhao " RECIPE_MAINTAINER_pn-lrzsz = "Anuj Mittal " -RECIPE_MAINTAINER_pn-lsb = "Hongxu Jia " -RECIPE_MAINTAINER_pn-lsbinitscripts = "Ross Burton " -RECIPE_MAINTAINER_pn-lsbtest = "Yi Zhao " +RECIPE_MAINTAINER_pn-lsb-release = "Hongxu Jia " RECIPE_MAINTAINER_pn-lsof = "Ross Burton " RECIPE_MAINTAINER_pn-ltp = "Yi Zhao " RECIPE_MAINTAINER_pn-lttng-modules = "Richard Purdie " diff --git a/poky/meta/conf/distro/include/security_flags.inc b/poky/meta/conf/distro/include/security_flags.inc index 620978a8e..aaf04e9e5 100644 --- a/poky/meta/conf/distro/include/security_flags.inc +++ b/poky/meta/conf/distro/include/security_flags.inc @@ -36,7 +36,7 @@ SECURITY_CFLAGS_remove_powerpc = "${SECURITY_PIE_CFLAGS}" SECURITY_CFLAGS_pn-libgcc_powerpc = "" SECURITY_CFLAGS_pn-glibc = "" -SECURITY_CFLAGS_pn-glibc-initial = "" +SECURITY_CFLAGS_pn-glibc-testsuite = "" SECURITY_CFLAGS_pn-gcc-runtime = "" SECURITY_CFLAGS_pn-grub = "" SECURITY_CFLAGS_pn-grub-efi = "" @@ -60,7 +60,7 @@ TARGET_LDFLAGS_append_class-target = " ${SECURITY_LDFLAGS}" SECURITY_STACK_PROTECTOR_pn-gcc-runtime = "" SECURITY_STACK_PROTECTOR_pn-glibc = "" -SECURITY_STACK_PROTECTOR_pn-glibc-initial = "" +SECURITY_STACK_PROTECTOR_pn-glibc-testsuite = "" # All xorg module drivers need to be linked this way as well and are # handled in recipes-graphics/xorg-driver/xorg-driver-common.inc SECURITY_LDFLAGS_pn-xserver-xorg = "${SECURITY_X_LDFLAGS}" diff --git a/poky/meta/conf/distro/include/tcmode-default.inc b/poky/meta/conf/distro/include/tcmode-default.inc index c89b8e012..d8f434609 100644 --- a/poky/meta/conf/distro/include/tcmode-default.inc +++ b/poky/meta/conf/distro/include/tcmode-default.inc @@ -14,8 +14,6 @@ PREFERRED_PROVIDER_virtual/${SDK_PREFIX}g++ = "gcc-crosssdk-${SDK_SYS}" PREFERRED_PROVIDER_virtual/${SDK_PREFIX}compilerlibs = "nativesdk-gcc-runtime" # Default libc config -PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-initial = "${TCLIBC}-initial" -PREFERRED_PROVIDER_virtual/nativesdk-${SDK_PREFIX}libc-initial ?= "nativesdk-glibc-initial" PREFERRED_PROVIDER_virtual/gettext ??= "gettext" GCCVERSION ?= "9.%" @@ -23,7 +21,7 @@ SDKGCCVERSION ?= "${GCCVERSION}" BINUVERSION ?= "2.32%" GDBVERSION ?= "8.3%" GLIBCVERSION ?= "2.30%" -LINUXLIBCVERSION ?= "5.0%" +LINUXLIBCVERSION ?= "5.2%" QEMUVERSION ?= "4.1%" GOVERSION ?= "1.12%" # This can not use wildcards like 8.0.% since it is also used in mesa to denote @@ -62,8 +60,6 @@ PREFERRED_VERSION_glibc-locale ?= "${GLIBCVERSION}" PREFERRED_VERSION_glibc-mtrace ?= "${GLIBCVERSION}" PREFERRED_VERSION_glibc-scripts ?= "${GLIBCVERSION}" PREFERRED_VERSION_nativesdk-glibc ?= "${GLIBCVERSION}" -PREFERRED_VERSION_glibc-initial ?= "${GLIBCVERSION}" -PREFERRED_VERSION_nativesdk-glibc-initial ?= "${GLIBCVERSION}" PREFERRED_VERSION_cross-localedef-native ?= "${GLIBCVERSION}" PREFERRED_VERSION_qemu ?= "${QEMUVERSION}" diff --git a/poky/meta/conf/distro/include/world-broken.inc b/poky/meta/conf/distro/include/world-broken.inc deleted file mode 100644 index 42cacfdf2..000000000 --- a/poky/meta/conf/distro/include/world-broken.inc +++ /dev/null @@ -1,27 +0,0 @@ -# -# Exclude known broken packages -# - -# rt-tests needs PI mutex support in libc -EXCLUDE_FROM_WORLD_pn-rt-tests_libc-musl = "1" - -# error: use of undeclared identifier '_STAT_VER' -EXCLUDE_FROM_WORLD_pn-pseudo_libc-musl = "1" - -# error: error.h: No such file or directory -EXCLUDE_FROM_WORLD_pn-prelink_libc-musl = "1" - -# error: obstack.h: No such file or directory -EXCLUDE_FROM_WORLD_pn-systemtap_libc-musl = "1" -EXCLUDE_FROM_WORLD_pn-systemtap-uprobes_libc-musl = "1" - -# error: a parameter list without types is only allowed in a function definition -# void (*_function)(sigval_t); -EXCLUDE_FROM_WORLD_pn-qemu_libc-musl = "1" - -# error: format '%s' expects argument of type 'char *', but argument 4 has type 'int' [-Werror=format=] -# snprintf(buf, size, "%s", strerror_r(err, sbuf, sizeof(sbuf))); -EXCLUDE_FROM_WORLD_pn-perf_libc-musl = "1" - -# error: 'RTLD_NEXT' was not declared in this scope -EXCLUDE_FROM_WORLD_pn-gcc-sanitizers_libc-musl = "1" diff --git a/poky/meta/conf/machine/include/arm/feature-arm-thumb.inc b/poky/meta/conf/machine/include/arm/feature-arm-thumb.inc index 0b47ccad0..bae169da3 100644 --- a/poky/meta/conf/machine/include/arm/feature-arm-thumb.inc +++ b/poky/meta/conf/machine/include/arm/feature-arm-thumb.inc @@ -1,8 +1,6 @@ TUNEVALID[thumb] = "Support Thumb instructions" -ARM_THUMB_SUFFIX = "${@bb.utils.contains_any('TUNE_FEATURES', 'armv4 armv5 armv6', 't', 't2', d)}" - # If the device supports ARM, then respect ARM_THUMB_OPT (which can be "arm" or "thumb") # If the device doesn't support ARM, then always set "thumb" even when # some recipe explicitly sets ARM_INSTRUCTION_SET to "arm" @@ -23,6 +21,11 @@ python () { TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'thumb', ' -m${ARM_M_OPT}', '', d)}" +ARM_THUMB_SUFFIX = "t2" +ARM_THUMB_SUFFIX_armv4 = "t" +ARM_THUMB_SUFFIX_armv5 = "t" +ARM_THUMB_SUFFIX_armv6 = "t" + # Add suffix from ARM_THUMB_SUFFIX only if after all this we still set ARM_M_OPT to thumb ARMPKGSFX_THUMB .= "${@bb.utils.contains('TUNE_FEATURES', 'thumb', '${ARM_THUMB_SUFFIX}', '', d) if d.getVar('ARM_M_OPT') == 'thumb' else ''}" diff --git a/poky/meta/conf/machine/include/powerpc/arch-powerpc.inc b/poky/meta/conf/machine/include/powerpc/arch-powerpc.inc index 9cf6b88fd..8c0c94304 100644 --- a/poky/meta/conf/machine/include/powerpc/arch-powerpc.inc +++ b/poky/meta/conf/machine/include/powerpc/arch-powerpc.inc @@ -8,6 +8,11 @@ DEFAULTTUNE ?= "powerpc" TUNE_PKGARCH = "${TUNE_PKGARCH_tune-${DEFAULTTUNE}}" ABIEXTENSION ?= "" +# Endian +TUNEVALID[bigendian] = "Use PowerPC Big Endian" + +TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "bigendian", " -mbig-endian", " -mlittle-endian", d)}" + TUNEVALID[m32] = "Power ELF32 standard ABI" TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'm32', ' -m32', '', d)}" TUNE_ARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'm32', 'powerpc', '', d)}" @@ -22,13 +27,24 @@ TARGET_FPU .= "${@bb.utils.contains('TUNE_FEATURES', 'fpu-soft', 'soft', '', d)} TUNEVALID[altivec] = "Altivec" # Basic tune definitions -AVAILTUNES += "powerpc powerpc-nf" -TUNE_FEATURES_tune-powerpc-nf = "m32 fpu-soft" +AVAILTUNES += "powerpc powerpc-nf powerpcle powerpcle-nf" + +TUNE_FEATURES_tune-powerpc-nf = "m32 fpu-soft bigendian" BASE_LIB_tune-powerpc-nf = "lib" TUNE_PKGARCH_tune-powerpc-nf = "powerpc-nf" PACKAGE_EXTRA_ARCHS_tune-powerpc-nf = "powerpc-nf" -TUNE_FEATURES_tune-powerpc = "m32 fpu-hard" +TUNE_FEATURES_tune-powerpc = "m32 fpu-hard bigendian" BASE_LIB_tune-powerpc = "lib" TUNE_PKGARCH_tune-powerpc = "powerpc" PACKAGE_EXTRA_ARCHS_tune-powerpc = "powerpc" + +TUNE_FEATURES_tune-powerpcle-nf = "m32 fpu-soft" +BASE_LIB_tune-powerpcle-nf = "lib" +TUNE_PKGARCH_tune-powerpcle-nf = "powerpcle-nf" +PACKAGE_EXTRA_ARCHS_tune-powerpcle-nf = "powerpcle-nf" + +TUNE_FEATURES_tune-powerpcle = "m32 fpu-hard" +BASE_LIB_tune-powerpcle = "lib" +TUNE_PKGARCH_tune-powerpcle = "powerpcle" +PACKAGE_EXTRA_ARCHS_tune-powerpcle = "powerpcle" diff --git a/poky/meta/conf/machine/include/powerpc/arch-powerpc64.inc b/poky/meta/conf/machine/include/powerpc/arch-powerpc64.inc index d9916d43d..4bc598308 100644 --- a/poky/meta/conf/machine/include/powerpc/arch-powerpc64.inc +++ b/poky/meta/conf/machine/include/powerpc/arch-powerpc64.inc @@ -13,8 +13,14 @@ TUNE_CCARGS .= "${@['', ' -mabi=elfv2']['libc-musl' in d.getVar('OVERRIDES').spl # user mode qemu doesn't support ppc64 MACHINE_FEATURES_BACKFILL_CONSIDERED_append = " ${@bb.utils.contains('TUNE_FEATURES', 'm64', 'qemu-usermode', '', d)}" -AVAILTUNES += "powerpc64" -TUNE_FEATURES_tune-powerpc64 = "m64 fpu-hard" +AVAILTUNES += "powerpc64 powerpc64le" + +TUNE_FEATURES_tune-powerpc64 = "m64 fpu-hard bigendian" BASE_LIB_tune-powerpc64 = "lib64" TUNE_PKGARCH_tune-powerpc64 = "powerpc64" PACKAGE_EXTRA_ARCHS_tune-powerpc64 = "powerpc64" + +TUNE_FEATURES_tune-powerpc64le = "m64 fpu-hard" +BASE_LIB_tune-powerpc64le = "lib64" +TUNE_PKGARCH_tune-powerpc64le = "powerpc64le" +PACKAGE_EXTRA_ARCHS_tune-powerpc64le = "powerpc64le" diff --git a/poky/meta/conf/machine/include/qemuboot-mips.inc b/poky/meta/conf/machine/include/qemuboot-mips.inc index a5f9ed821..978820a2e 100644 --- a/poky/meta/conf/machine/include/qemuboot-mips.inc +++ b/poky/meta/conf/machine/include/qemuboot-mips.inc @@ -1,8 +1,7 @@ # For runqemu IMAGE_CLASSES += "qemuboot" -QB_MEM = "-m 256" QB_MACHINE = "-machine malta" QB_KERNEL_CMDLINE_APPEND = "console=ttyS0 console=tty" -QB_OPT_APPEND = "-vga cirrus -show-cursor -usb -device usb-tablet" +QB_OPT_APPEND = "-show-cursor -usb -device usb-tablet" # Add the 'virtio-rng-pci' device otherwise the guest may run out of entropy QB_OPT_APPEND += "-object rng-random,filename=/dev/urandom,id=rng0 -device virtio-rng-pci,rng=rng0" diff --git a/poky/meta/conf/machine/include/qemuboot-x86.inc b/poky/meta/conf/machine/include/qemuboot-x86.inc index 3931b0f0f..495418fa0 100644 --- a/poky/meta/conf/machine/include/qemuboot-x86.inc +++ b/poky/meta/conf/machine/include/qemuboot-x86.inc @@ -9,7 +9,7 @@ QB_CPU_KVM_x86-64 = "-cpu core2duo" QB_AUDIO_DRV = "alsa" QB_AUDIO_OPT = "-soundhw ac97,es1370" QB_KERNEL_CMDLINE_APPEND = "vga=0 uvesafb.mode_option=${UVESA_MODE} oprofile.timer=1 uvesafb.task_timeout=-1" -QB_OPT_APPEND = "-vga vmware -show-cursor -usb -device usb-tablet" +QB_OPT_APPEND = "-show-cursor -usb -device usb-tablet" # Add the 'virtio-rng-pci' device otherwise the guest may run out of entropy QB_OPT_APPEND += "-object rng-random,filename=/dev/urandom,id=rng0 -device virtio-rng-pci,rng=rng0" diff --git a/poky/meta/conf/machine/include/riscv/qemuriscv.inc b/poky/meta/conf/machine/include/riscv/qemuriscv.inc index f1cb62818..df35f2808 100644 --- a/poky/meta/conf/machine/include/riscv/qemuriscv.inc +++ b/poky/meta/conf/machine/include/riscv/qemuriscv.inc @@ -11,7 +11,9 @@ KEEPUIMAGE = "no" SERIAL_CONSOLES ?= "115200;ttyS0 115200;hvc0" -IMAGE_FSTYPES_append = " ext4" +IMAGE_FSTYPES += "ext4 wic.qcow2" + +WKS_FILE ?= "qemuriscv.wks" MACHINE_EXTRA_RRECOMMENDS += " kernel-modules" @@ -24,7 +26,6 @@ UBOOT_ENTRYPOINT_riscv64 = "0x80200000" # qemuboot options QB_KERNEL_CMDLINE_APPEND = "earlycon=sbi" -QB_MEM = "-m 512" QB_MACHINE = "-machine virt" QB_DEFAULT_BIOS = "fw_jump.elf" QB_TAP_OPT = "-netdev tap,id=net0,ifname=@TAP@,script=no,downscript=no" diff --git a/poky/meta/conf/machine/include/riscv/tune-riscv.inc b/poky/meta/conf/machine/include/riscv/tune-riscv.inc index 1e3a1081e..25d046349 100644 --- a/poky/meta/conf/machine/include/riscv/tune-riscv.inc +++ b/poky/meta/conf/machine/include/riscv/tune-riscv.inc @@ -3,16 +3,16 @@ require conf/machine/include/riscv/arch-riscv.inc TUNEVALID[riscv64] = "Enable 64-bit RISC-V optimizations" TUNEVALID[riscv32] = "Enable 32-bit RISC-V optimizations" -TUNEVALID[littleendian] = "Little endian mode" +TUNEVALID[bigendian] = "Big endian mode" AVAILTUNES += "riscv64 riscv32" -TUNE_FEATURES_tune-riscv64 = "riscv64 littleendian" +TUNE_FEATURES_tune-riscv64 = "riscv64" TUNE_ARCH_tune-riscv64 = "riscv64" TUNE_PKGARCH_tune-riscv64 = "riscv64" PACKAGE_EXTRA_ARCHS_tune-riscv64 = "riscv64" -TUNE_FEATURES_tune-riscv32 = "riscv32 littleendian" +TUNE_FEATURES_tune-riscv32 = "riscv32" TUNE_ARCH_tune-riscv32 = "riscv32" TUNE_PKGARCH_tune-riscv32 = "riscv32" PACKAGE_EXTRA_ARCHS_tune-riscv32 = "riscv32" diff --git a/poky/meta/conf/machine/include/tune-arm1136jf-s.inc b/poky/meta/conf/machine/include/tune-arm1136jf-s.inc index d883eba7c..b25995d49 100644 --- a/poky/meta/conf/machine/include/tune-arm1136jf-s.inc +++ b/poky/meta/conf/machine/include/tune-arm1136jf-s.inc @@ -6,8 +6,11 @@ TUNEVALID[arm1136jfs] = "Enable arm1136jfs specific processor optimizations" TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'arm1136jfs', ' -mcpu=arm1136jf-s', '', d)}" MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'arm1136jfs', 'armv6:', '' ,d)}" -AVAILTUNES += "arm1136jfs" +AVAILTUNES += "arm1136jfs arm1136jfshf" ARMPKGARCH_tune-arm1136jfs = "arm1136jfs" +ARMPKGARCH_tune-arm1136jfshf = "arm1136jfs" # mcpu is used so don't use armv6 as we don't want march TUNE_FEATURES_tune-arm1136jfs = "arm arm1136jfs" +TUNE_FEATURES_tune-arm1136jfshf = "${TUNE_FEATURES_tune-arm1136jfs} callconvention-hard" PACKAGE_EXTRA_ARCHS_tune-arm1136jfs = "${PACKAGE_EXTRA_ARCHS_tune-armv6} arm1136jfs-vfp" +PACKAGE_EXTRA_ARCHS_tune-arm1136jfshf = "${PACKAGE_EXTRA_ARCHS_tune-armv6hf} arm1136jfshf-vfp" diff --git a/poky/meta/conf/machine/include/tune-arm1176jz-s.inc b/poky/meta/conf/machine/include/tune-arm1176jz-s.inc new file mode 100644 index 000000000..c741e8052 --- /dev/null +++ b/poky/meta/conf/machine/include/tune-arm1176jz-s.inc @@ -0,0 +1,17 @@ +DEFAULTTUNE ?= "arm1176jzs" + +require conf/machine/include/arm/arch-armv6.inc + +TUNEVALID[arm1176jzs] = "Enable arm1176jzs specific processor optimizations" +TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'arm1176jzs', ' -mcpu=arm1176jz-s', '', d)}" +MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'arm1176jzs', 'armv6:', '' ,d)}" + +AVAILTUNES += "arm1176jzs" +ARMPKGARCH_tune-arm1176jzs = "arm1176jzs" +TUNE_FEATURES_tune-arm1176jzs = "arm thumb arm1176jzs" +PACKAGE_EXTRA_ARCHS_tune-arm1176jzs = "${PACKAGE_EXTRA_ARCHS_tune-armv6tb-novfp} arm1176jzs arm1176jzst" + +AVAILTUNES += "arm1176jzs-be" +ARMPKGARCH_tune-arm1176jzs-be = "${ARMPKGARCH_tune-arm1176jzs}" +TUNE_FEATURES_tune-arm1176jzs-be = "${TUNE_FEATURES_tune-arm1176jzs} bigendian" +PACKAGE_EXTRA_ARCHS_tune-arm1176jzs-be = "${PACKAGE_EXTRA_ARCHS_tune-armv6tb-novfp} arm1176jzsb arm1176jzstb" diff --git a/poky/meta/conf/machine/include/tune-ep9312.inc b/poky/meta/conf/machine/include/tune-ep9312.inc index 4d9282162..be20eb363 100644 --- a/poky/meta/conf/machine/include/tune-ep9312.inc +++ b/poky/meta/conf/machine/include/tune-ep9312.inc @@ -2,7 +2,7 @@ DEFAULTTUNE ?= "ep9312" require conf/machine/include/arm/arch-armv4.inc -TUNEVALID[ep9312] = "Enable Intel PXA27x specific processor optimizations" +TUNEVALID[ep9312] = "Enable Cirrus Logic EP9312 specific processor optimizations" TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'ep9312', ' -march=ep9312 -mcpu=ep9312', '', d)}" MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'ep9312', 'armv4:', '' ,d)}" diff --git a/poky/meta/conf/machine/include/tune-power5.inc b/poky/meta/conf/machine/include/tune-power5.inc index 39501bd8c..48c33fb27 100644 --- a/poky/meta/conf/machine/include/tune-power5.inc +++ b/poky/meta/conf/machine/include/tune-power5.inc @@ -6,12 +6,12 @@ TUNEVALID[power5] = "Enable IBM Power5 specific processor optimizations" TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'power5', ' -mcpu=power5', '', d)}" AVAILTUNES += "ppcp5 ppc64p5" -TUNE_FEATURES_tune-ppcp5 = "m32 fpu-hard power5 altivec" +TUNE_FEATURES_tune-ppcp5 = "m32 fpu-hard power5 altivec bigendian" BASE_LIB_tune-ppcp5 = "lib" TUNE_PKGARCH_tune-ppcp5 = "ppcp5" PACKAGE_EXTRA_ARCHS_tune-ppcp5 = "${PACKAGE_EXTRA_ARCHS_tune-powerpc} ppcp5" -TUNE_FEATURES_tune-ppc64p5 = "m64 fpu-hard power5 altivec" +TUNE_FEATURES_tune-ppc64p5 = "m64 fpu-hard power5 altivec bigendian" BASE_LIB_tune-ppc64p5 = "lib64" TUNE_PKGARCH_tune-ppc64p5 = "ppc64p5" PACKAGE_EXTRA_ARCHS_tune-ppc64p5 = "${PACKAGE_EXTRA_ARCHS_tune-powerpc64} ppc64p5" diff --git a/poky/meta/conf/machine/include/tune-power6.inc b/poky/meta/conf/machine/include/tune-power6.inc index 1d5e8ecc2..b70866021 100644 --- a/poky/meta/conf/machine/include/tune-power6.inc +++ b/poky/meta/conf/machine/include/tune-power6.inc @@ -6,12 +6,12 @@ TUNEVALID[power6] = "Enable IBM Power6 specific processor optimizations" TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'power6', ' -mcpu=power6', '', d)}" AVAILTUNES += "ppcp6 ppc64p6" -TUNE_FEATURES_tune-ppcp6 = "m32 fpu-hard power6 altivec" +TUNE_FEATURES_tune-ppcp6 = "m32 fpu-hard power6 altivec bigendian" BASE_LIB_tune-ppcp6 = "lib" TUNE_PKGARCH_tune-ppcp6 = "ppcp6" PACKAGE_EXTRA_ARCHS_tune-ppcp6 = "${PACKAGE_EXTRA_ARCHS_tune-powerpc} ppcp6" -TUNE_FEATURES_tune-ppc64p6 = "m64 fpu-hard power6 altivec" +TUNE_FEATURES_tune-ppc64p6 = "m64 fpu-hard power6 altivec bigendian" BASE_LIB_tune-ppc64p6 = "lib64" TUNE_PKGARCH_tune-ppc64p6 = "ppc64p6" PACKAGE_EXTRA_ARCHS_tune-ppc64p6 = "${PACKAGE_EXTRA_ARCHS_tune-powerpc64} ppc64p6" diff --git a/poky/meta/conf/machine/include/tune-power7.inc b/poky/meta/conf/machine/include/tune-power7.inc index 8f3f037eb..e976cc046 100644 --- a/poky/meta/conf/machine/include/tune-power7.inc +++ b/poky/meta/conf/machine/include/tune-power7.inc @@ -6,12 +6,12 @@ TUNEVALID[power7] = "Enable IBM Power7 specific processor optimizations" TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'power7', ' -mcpu=power7', '', d)}" AVAILTUNES += "ppcp7 ppc64p7" -TUNE_FEATURES_tune-ppcp7 = "m32 fpu-hard power7 altivec" +TUNE_FEATURES_tune-ppcp7 = "m32 fpu-hard power7 altivec bigendian" BASE_LIB_tune-ppcp7 = "lib" TUNE_PKGARCH_tune-ppcp7 = "ppcp7" PACKAGE_EXTRA_ARCHS_tune-ppcp7 = "${PACKAGE_EXTRA_ARCHS_tune-powerpc} ppcp7" -TUNE_FEATURES_tune-ppc64p7 = "m64 fpu-hard power7 altivec" +TUNE_FEATURES_tune-ppc64p7 = "m64 fpu-hard power7 altivec bigendian" BASE_LIB_tune-ppc64p7 = "lib64" TUNE_PKGARCH_tune-ppc64p7 = "ppc64p7" PACKAGE_EXTRA_ARCHS_tune-ppc64p7 = "${PACKAGE_EXTRA_ARCHS_tune-powerpc64} ppc64p7" diff --git a/poky/meta/conf/machine/include/tune-ppc476.inc b/poky/meta/conf/machine/include/tune-ppc476.inc index d0011ff21..31eecc435 100644 --- a/poky/meta/conf/machine/include/tune-ppc476.inc +++ b/poky/meta/conf/machine/include/tune-ppc476.inc @@ -6,7 +6,7 @@ TUNEVALID[ppc476] = "Enable ppc476 specific processor optimizations" TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'ppc476', ' -mcpu=476', '', d)}" AVAILTUNES += "ppc476" -TUNE_FEATURES_tune-ppc476 = "m32 fpu-hard ppc476" +TUNE_FEATURES_tune-ppc476 = "m32 fpu-hard ppc476 bigendian" TUNE_PKGARCH_tune-ppc476 = "ppc476" PACKAGE_EXTRA_ARCHS_tune-ppc476 = "${PACKAGE_EXTRA_ARCHS_tune-powerpc} ppc476" diff --git a/poky/meta/conf/machine/include/tune-ppc603e.inc b/poky/meta/conf/machine/include/tune-ppc603e.inc index 13f60dd06..b110f1387 100644 --- a/poky/meta/conf/machine/include/tune-ppc603e.inc +++ b/poky/meta/conf/machine/include/tune-ppc603e.inc @@ -6,7 +6,7 @@ TUNEVALID[ppc603e] = "Enable ppc603e specific processor optimizations" TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'ppc603e', ' -mcpu=603e', '', d)}" AVAILTUNES += "ppc603e" -TUNE_FEATURES_tune-ppc603e = "m32 fpu-hard ppc603e" +TUNE_FEATURES_tune-ppc603e = "m32 fpu-hard ppc603e bigendian" TUNE_PKGARCH_tune-ppc603e = "ppc603e" PACKAGE_EXTRA_ARCHS_tune-ppc603e = "${PACKAGE_EXTRA_ARCHS_tune-powerpc} ppc603e" diff --git a/poky/meta/conf/machine/include/tune-ppc7400.inc b/poky/meta/conf/machine/include/tune-ppc7400.inc index 425e8bd21..92d902994 100644 --- a/poky/meta/conf/machine/include/tune-ppc7400.inc +++ b/poky/meta/conf/machine/include/tune-ppc7400.inc @@ -6,7 +6,7 @@ TUNEVALID[ppc7400] = "Enable ppc7400 specific processor optimizations" TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'ppc7400', ' -mcpu=7400 -mno-spe', '', d)}" AVAILTUNES += "ppc7400" -TUNE_FEATURES_tune-ppc7400 = "m32 fpu-hard ppc7400 altivec" +TUNE_FEATURES_tune-ppc7400 = "m32 fpu-hard ppc7400 altivec bigendian" TUNE_PKGARCH_tune-ppc7400 = "ppc7400" PACKAGE_EXTRA_ARCHS_tune-ppc7400 = "${PACKAGE_EXTRA_ARCHS_tune-powerpc} ppc7400" diff --git a/poky/meta/conf/machine/include/tune-ppce300c2.inc b/poky/meta/conf/machine/include/tune-ppce300c2.inc index af21f601a..6adeb4bde 100644 --- a/poky/meta/conf/machine/include/tune-ppce300c2.inc +++ b/poky/meta/conf/machine/include/tune-ppce300c2.inc @@ -6,6 +6,6 @@ TUNEVALID[ppce300c2] = "Enable ppce300c2 specific processor optimizations" TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'ppce300c2', ' -mcpu=e300c2', '', d)}" AVAILTUNES += "ppce300c2" -TUNE_FEATURES_tune-ppce300c2 = "m32 fpu-soft ppce300c2" +TUNE_FEATURES_tune-ppce300c2 = "m32 fpu-soft ppce300c2 bigendian" TUNE_PKGARCH_tune-ppce300c2 = "ppce300c2" PACKAGE_EXTRA_ARCHS_tune-ppce300c2 = "${PACKAGE_EXTRA_ARCHS_tune-powerpc-nf} ppce300c2" diff --git a/poky/meta/conf/machine/include/tune-ppce500.inc b/poky/meta/conf/machine/include/tune-ppce500.inc index 89ec3f38a..abf81b90c 100644 --- a/poky/meta/conf/machine/include/tune-ppce500.inc +++ b/poky/meta/conf/machine/include/tune-ppce500.inc @@ -15,6 +15,6 @@ SPEABIEXTENSION = "${@bb.utils.filter('TUNE_FEATURES', 'spe', d)}" ABIEXTENSION .= "${SPEABIEXTENSION}" AVAILTUNES += "ppce500" -TUNE_FEATURES_tune-ppce500 = "m32 spe ppce500" +TUNE_FEATURES_tune-ppce500 = "m32 spe ppce500 bigendian" TUNE_PKGARCH_tune-ppce500 = "ppce500" PACKAGE_EXTRA_ARCHS_tune-ppce500 = "ppce500" diff --git a/poky/meta/conf/machine/include/tune-ppce500mc.inc b/poky/meta/conf/machine/include/tune-ppce500mc.inc index bc26a0f87..9f8a17280 100644 --- a/poky/meta/conf/machine/include/tune-ppce500mc.inc +++ b/poky/meta/conf/machine/include/tune-ppce500mc.inc @@ -6,7 +6,7 @@ TUNEVALID[ppce500mc] = "Enable ppce500mc specific processor optimizations" TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'ppce500mc', ' -mcpu=e500mc', '', d)}" AVAILTUNES += "ppce500mc" -TUNE_FEATURES_tune-ppce500mc = "m32 fpu-hard ppce500mc" +TUNE_FEATURES_tune-ppce500mc = "m32 fpu-hard ppce500mc bigendian" TUNE_PKGARCH_tune-ppce500mc = "ppce500mc" PACKAGE_EXTRA_ARCHS_tune-ppce500mc = "${PACKAGE_EXTRA_ARCHS_tune-powerpc} ppce500mc" diff --git a/poky/meta/conf/machine/include/tune-ppce500v2.inc b/poky/meta/conf/machine/include/tune-ppce500v2.inc index d318bba36..f6c7c1762 100644 --- a/poky/meta/conf/machine/include/tune-ppce500v2.inc +++ b/poky/meta/conf/machine/include/tune-ppce500v2.inc @@ -15,6 +15,6 @@ SPEABIEXTENSION = "${@bb.utils.filter('TUNE_FEATURES', 'spe', d)}" ABIEXTENSION .= "${SPEABIEXTENSION}" AVAILTUNES += "ppce500v2" -TUNE_FEATURES_tune-ppce500v2 = "m32 ppce500v2" +TUNE_FEATURES_tune-ppce500v2 = "m32 ppce500v2 bigendian" TUNE_PKGARCH_tune-ppce500v2 = "ppce500v2" PACKAGE_EXTRA_ARCHS_tune-ppce500v2 = "ppce500v2" diff --git a/poky/meta/conf/machine/include/tune-ppce5500.inc b/poky/meta/conf/machine/include/tune-ppce5500.inc index cebb24406..acc6a50fc 100644 --- a/poky/meta/conf/machine/include/tune-ppce5500.inc +++ b/poky/meta/conf/machine/include/tune-ppce5500.inc @@ -6,12 +6,12 @@ TUNEVALID[e5500] = "Enable Freescale e5500 specific processor optimizations" TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'e5500', ' -mcpu=e5500', '', d)}" AVAILTUNES += "ppce5500 ppc64e5500" -TUNE_FEATURES_tune-ppce5500 = "m32 fpu-hard e5500" +TUNE_FEATURES_tune-ppce5500 = "m32 fpu-hard e5500 bigendian" BASE_LIB_tune-ppce5500 = "lib" TUNE_PKGARCH_tune-ppce5500 = "ppce5500" PACKAGE_EXTRA_ARCHS_tune-ppce5500 = "${PACKAGE_EXTRA_ARCHS_tune-powerpc} ppce5500" -TUNE_FEATURES_tune-ppc64e5500 = "m64 fpu-hard e5500" +TUNE_FEATURES_tune-ppc64e5500 = "m64 fpu-hard e5500 bigendian" BASE_LIB_tune-ppc64e5500 = "lib64" TUNE_PKGARCH_tune-ppc64e5500 = "ppc64e5500" PACKAGE_EXTRA_ARCHS_tune-ppc64e5500 = "${PACKAGE_EXTRA_ARCHS_tune-powerpc64} ppc64e5500" diff --git a/poky/meta/conf/machine/include/tune-ppce6500.inc b/poky/meta/conf/machine/include/tune-ppce6500.inc index 5db7e760c..d12d218d0 100644 --- a/poky/meta/conf/machine/include/tune-ppce6500.inc +++ b/poky/meta/conf/machine/include/tune-ppce6500.inc @@ -6,12 +6,12 @@ TUNEVALID[e6500] = "Enable Freescale e6500 specific processor optimizations" TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'e6500', ' -mcpu=e6500', '', d)}" AVAILTUNES += "ppce6500 ppc64e6500" -TUNE_FEATURES_tune-ppce6500 = "m32 fpu-hard e6500 altivec" +TUNE_FEATURES_tune-ppce6500 = "m32 fpu-hard e6500 altivec bigendian" BASE_LIB_tune-ppce6500 = "lib" TUNE_PKGARCH_tune-ppce6500 = "ppce6500" PACKAGE_EXTRA_ARCHS_tune-ppce6500 = "${PACKAGE_EXTRA_ARCHS_tune-powerpc} ppce6500" -TUNE_FEATURES_tune-ppc64e6500 = "m64 fpu-hard e6500 altivec" +TUNE_FEATURES_tune-ppc64e6500 = "m64 fpu-hard e6500 altivec bigendian" BASE_LIB_tune-ppc64e6500 = "lib64" TUNE_PKGARCH_tune-ppc64e6500 = "ppc64e6500" PACKAGE_EXTRA_ARCHS_tune-ppc64e6500 = "${PACKAGE_EXTRA_ARCHS_tune-powerpc64} ppc64e6500" diff --git a/poky/meta/conf/machine/include/x86-base.inc b/poky/meta/conf/machine/include/x86-base.inc index 686f93823..0227f3c28 100644 --- a/poky/meta/conf/machine/include/x86-base.inc +++ b/poky/meta/conf/machine/include/x86-base.inc @@ -18,7 +18,7 @@ SERIAL_CONSOLES ?= "115200;ttyS0" # kernel-related variables # PREFERRED_PROVIDER_virtual/kernel ??= "linux-yocto" -PREFERRED_VERSION_linux-yocto ??= "5.0%" +PREFERRED_VERSION_linux-yocto ??= "5.2%" # # XSERVER subcomponents, used to build the XSERVER variable diff --git a/poky/meta/conf/machine/qemuarm.conf b/poky/meta/conf/machine/qemuarm.conf index 0a2c99531..26f40b141 100644 --- a/poky/meta/conf/machine/qemuarm.conf +++ b/poky/meta/conf/machine/qemuarm.conf @@ -11,7 +11,6 @@ SERIAL_CONSOLES ?= "115200;ttyAMA0 115200;hvc0" # For runqemu QB_SYSTEM_NAME = "qemu-system-arm" -QB_MEM = "-m 512" QB_MACHINE = "-machine virt" QB_CPU = "-cpu cortex-a15" # Standard Serial console diff --git a/poky/meta/conf/machine/qemuarm64.conf b/poky/meta/conf/machine/qemuarm64.conf index 353ac927d..ec2a887bd 100644 --- a/poky/meta/conf/machine/qemuarm64.conf +++ b/poky/meta/conf/machine/qemuarm64.conf @@ -11,7 +11,6 @@ SERIAL_CONSOLES ?= "115200;ttyAMA0 115200;hvc0" # For runqemu QB_SYSTEM_NAME = "qemu-system-aarch64" -QB_MEM = "-m 512" QB_MACHINE = "-machine virt" QB_CPU = "-cpu cortex-a57" QB_CPU_KVM = "-cpu host" diff --git a/poky/meta/conf/machine/qemuarmv5.conf b/poky/meta/conf/machine/qemuarmv5.conf index 1c21d3342..fb4789fda 100644 --- a/poky/meta/conf/machine/qemuarmv5.conf +++ b/poky/meta/conf/machine/qemuarmv5.conf @@ -17,7 +17,7 @@ QB_KERNEL_CMDLINE_APPEND = "console=ttyAMA0,115200 console=tty" QB_OPT_APPEND = "-show-cursor -usb -device usb-tablet" # Add the 'virtio-rng-pci' device otherwise the guest may run out of entropy QB_OPT_APPEND += "-object rng-random,filename=/dev/urandom,id=rng0 -device virtio-rng-pci,rng=rng0" -PREFERRED_VERSION_linux-yocto ??= "5.0%" +PREFERRED_VERSION_linux-yocto ??= "5.2%" QB_DTB = "${@oe.utils.version_less_or_equal('PREFERRED_VERSION_linux-yocto', '4.7', '', 'zImage-versatile-pb.dtb', d)}" KMACHINE_qemuarmv5 = "qemuarm" diff --git a/poky/meta/conf/machine/qemux86-64.conf b/poky/meta/conf/machine/qemux86-64.conf index 4b50e664e..648cf2fe8 100644 --- a/poky/meta/conf/machine/qemux86-64.conf +++ b/poky/meta/conf/machine/qemux86-64.conf @@ -18,12 +18,16 @@ KERNEL_IMAGETYPE = "bzImage" SERIAL_CONSOLES ?= "115200;ttyS0 115200;ttyS1" +# Install swrast and glx if opengl is in DISTRO_FEATURES and x32 is not in use. +# This is because gallium swrast driver was found to crash X server on startup in qemu x32. XSERVER = "xserver-xorg \ - ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'mesa-driver-swrast xserver-xorg-extension-glx', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', \ + bb.utils.contains('TUNE_FEATURES', 'mx32', '', 'mesa-driver-swrast xserver-xorg-extension-glx', d), '', d)} \ xf86-video-cirrus \ xf86-video-fbdev \ xf86-video-vmware \ xf86-video-modesetting \ + xf86-video-vesa \ xserver-xorg-module-libint10 \ " diff --git a/poky/meta/conf/machine/qemux86.conf b/poky/meta/conf/machine/qemux86.conf index 3832302f0..8e0da8207 100644 --- a/poky/meta/conf/machine/qemux86.conf +++ b/poky/meta/conf/machine/qemux86.conf @@ -24,6 +24,7 @@ XSERVER = "xserver-xorg \ xf86-video-fbdev \ xf86-video-vmware \ xf86-video-modesetting \ + xf86-video-vesa \ xserver-xorg-module-libint10 \ " diff --git a/poky/meta/files/common-licenses/BSD-2-Clause b/poky/meta/files/common-licenses/BSD-2-Clause index ade0f34d5..f1917d6b7 100644 --- a/poky/meta/files/common-licenses/BSD-2-Clause +++ b/poky/meta/files/common-licenses/BSD-2-Clause @@ -1,13 +1,10 @@ -The FreeBSD Copyright - -Copyright 1992-2010 The FreeBSD Project. All rights reserved. +Copyright Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: -Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -THIS SOFTWARE IS PROVIDED BY THE FREEBSD PROJECT ``AS IS`` AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FREEBSD PROJECT OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -The views and conclusions contained in the software and documentation are those of the authors and should not be interpreted as representing official policies, either expressed or implied, of the FreeBSD Project. +2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/poky/meta/lib/oe/gpg_sign.py b/poky/meta/lib/oe/gpg_sign.py index d7624804d..7634d7ef1 100644 --- a/poky/meta/lib/oe/gpg_sign.py +++ b/poky/meta/lib/oe/gpg_sign.py @@ -6,7 +6,6 @@ import os import bb -import oe.utils import subprocess import shlex diff --git a/poky/meta/lib/oeqa/core/context.py b/poky/meta/lib/oeqa/core/context.py index 68819cc33..14fc6a54f 100644 --- a/poky/meta/lib/oeqa/core/context.py +++ b/poky/meta/lib/oeqa/core/context.py @@ -64,12 +64,12 @@ class OETestContext(object): setattr(tclass, 'setUpHooker', skipfuncgen('Skip by the command line argument "%s"' % skip)) def loadTests(self, module_paths, modules=[], tests=[], - modules_manifest="", modules_required=[], filters={}): + modules_manifest="", modules_required=[], **kwargs): if modules_manifest: modules = self._read_modules_from_manifest(modules_manifest) self.loader = self.loaderClass(self, module_paths, modules, tests, - modules_required, filters) + modules_required, **kwargs) self.suites = self.loader.discover() def runTests(self, processes=None, skips=[]): diff --git a/poky/meta/lib/oeqa/core/decorator/__init__.py b/poky/meta/lib/oeqa/core/decorator/__init__.py index 923b21826..1a82518ab 100644 --- a/poky/meta/lib/oeqa/core/decorator/__init__.py +++ b/poky/meta/lib/oeqa/core/decorator/__init__.py @@ -6,6 +6,7 @@ from functools import wraps from abc import abstractmethod, ABCMeta +from oeqa.core.utils.misc import strToList decoratorClasses = set() @@ -63,12 +64,16 @@ class OETestDiscover(OETestDecorator): def discover(registry): return registry['cases'] -class OETestFilter(OETestDecorator): +def OETestTag(*tags): + expandedtags = [] + for tag in tags: + expandedtags += strToList(tag) + def decorator(item): + if hasattr(item, "__oeqa_testtags"): + # do not append, create a new list (to handle classes with inheritance) + item.__oeqa_testtags = list(item.__oeqa_testtags) + expandedtags + else: + item.__oeqa_testtags = expandedtags + return item + return decorator - # OETestLoader call it while loading the tests - # in loadTestsFromTestCase method, it needs to - # return a bool, True if needs to be filtered. - # This method must consume the filter used. - @abstractmethod - def filtrate(self, filters): - return False diff --git a/poky/meta/lib/oeqa/core/decorator/oetag.py b/poky/meta/lib/oeqa/core/decorator/oetag.py deleted file mode 100644 index 8c31138da..000000000 --- a/poky/meta/lib/oeqa/core/decorator/oetag.py +++ /dev/null @@ -1,27 +0,0 @@ -# -# Copyright (C) 2016 Intel Corporation -# -# SPDX-License-Identifier: MIT -# - -from . import OETestFilter, registerDecorator -from oeqa.core.utils.misc import strToList - -def _tagFilter(tags, filters): - return False if set(tags) & set(filters) else True - -@registerDecorator -class OETestTag(OETestFilter): - attrs = ('oetag',) - - def bind(self, registry, case): - super(OETestTag, self).bind(registry, case) - self.oetag = strToList(self.oetag, 'oetag') - - def filtrate(self, filters): - if filters.get('oetag'): - filterx = strToList(filters['oetag'], 'oetag') - del filters['oetag'] - if _tagFilter(self.oetag, filterx): - return True - return False diff --git a/poky/meta/lib/oeqa/core/loader.py b/poky/meta/lib/oeqa/core/loader.py index 7fea0585c..0d7970d49 100644 --- a/poky/meta/lib/oeqa/core/loader.py +++ b/poky/meta/lib/oeqa/core/loader.py @@ -16,7 +16,7 @@ from oeqa.core.utils.test import getSuiteModules, getCaseID from oeqa.core.exception import OEQATestNotFound from oeqa.core.case import OETestCase from oeqa.core.decorator import decoratorClasses, OETestDecorator, \ - OETestFilter, OETestDiscover + OETestDiscover # When loading tests, the unittest framework stores any exceptions and # displays them only when the run method is called. @@ -68,7 +68,7 @@ class OETestLoader(unittest.TestLoader): '_top_level_dir'] def __init__(self, tc, module_paths, modules, tests, modules_required, - filters, *args, **kwargs): + *args, **kwargs): self.tc = tc self.modules = _built_modules_dict(modules) @@ -76,13 +76,7 @@ class OETestLoader(unittest.TestLoader): self.tests = tests self.modules_required = modules_required - self.filters = filters - self.decorator_filters = [d for d in decoratorClasses if \ - issubclass(d, OETestFilter)] - self._validateFilters(self.filters, self.decorator_filters) - self.used_filters = [d for d in self.decorator_filters - for f in self.filters - if f in d.attrs] + self.tags_filter = kwargs.get("tags_filter", None) if isinstance(module_paths, str): module_paths = [module_paths] @@ -104,28 +98,6 @@ class OETestLoader(unittest.TestLoader): setattr(testCaseClass, 'td', self.tc.td) setattr(testCaseClass, 'logger', self.tc.logger) - def _validateFilters(self, filters, decorator_filters): - # Validate if filter isn't empty - for key,value in filters.items(): - if not value: - raise TypeError("Filter %s specified is empty" % key) - - # Validate unique attributes - attr_filters = [attr for clss in decorator_filters \ - for attr in clss.attrs] - dup_attr = [attr for attr in attr_filters - if attr_filters.count(attr) > 1] - if dup_attr: - raise TypeError('Detected duplicated attribute(s) %s in filter' - ' decorators' % ' ,'.join(dup_attr)) - - # Validate if filter is supported - for f in filters: - if f not in attr_filters: - classes = ', '.join([d.__name__ for d in decorator_filters]) - raise TypeError('Found "%s" filter but not declared in any of ' - '%s decorators' % (f, classes)) - def _registerTestCase(self, case): case_id = case.id() self.tc._registry['cases'][case_id] = case @@ -188,19 +160,20 @@ class OETestLoader(unittest.TestLoader): return True # Decorator filters - if self.filters and isinstance(case, OETestCase): - filters = self.filters.copy() - case_decorators = [cd for cd in case.decorators - if cd.__class__ in self.used_filters] - - # Iterate over case decorators to check if needs to be filtered. - for cd in case_decorators: - if cd.filtrate(filters): - return True - - # Case is missing one or more decorators for all the filters - # being used, so filter test case. - if filters: + if self.tags_filter is not None and callable(self.tags_filter): + alltags = set() + # pull tags from the case class + if hasattr(case, "__oeqa_testtags"): + for t in getattr(case, "__oeqa_testtags"): + alltags.add(t) + # pull tags from the method itself + if hasattr(case, test_name): + method = getattr(case, test_name) + if hasattr(method, "__oeqa_testtags"): + for t in getattr(method, "__oeqa_testtags"): + alltags.add(t) + + if self.tags_filter(alltags): return True return False diff --git a/poky/meta/lib/oeqa/core/runner.py b/poky/meta/lib/oeqa/core/runner.py index 930620ea1..f656e1a9c 100644 --- a/poky/meta/lib/oeqa/core/runner.py +++ b/poky/meta/lib/oeqa/core/runner.py @@ -43,6 +43,7 @@ class OETestResult(_TestResult): self.starttime = {} self.endtime = {} self.progressinfo = {} + self.extraresults = {} # Inject into tc so that TestDepends decorator can see results tc.results = self @@ -129,19 +130,51 @@ class OETestResult(_TestResult): return 'UNKNOWN', None - def addSuccess(self, test): + def extractExtraResults(self, test, details = None): + extraresults = None + if details is not None and "extraresults" in details: + extraresults = details.get("extraresults", {}) + elif hasattr(test, "extraresults"): + extraresults = test.extraresults + + if extraresults is not None: + for k, v in extraresults.items(): + # handle updating already existing entries (e.g. ptestresults.sections) + if k in self.extraresults: + self.extraresults[k].update(v) + else: + self.extraresults[k] = v + + def addError(self, test, *args, details = None): + self.extractExtraResults(test, details = details) + return super(OETestResult, self).addError(test, *args) + + def addFailure(self, test, *args, details = None): + self.extractExtraResults(test, details = details) + return super(OETestResult, self).addFailure(test, *args) + + def addSuccess(self, test, details = None): #Added so we can keep track of successes too self.successes.append((test, None)) - super(OETestResult, self).addSuccess(test) + self.extractExtraResults(test, details = details) + return super(OETestResult, self).addSuccess(test) + + def addExpectedFailure(self, test, *args, details = None): + self.extractExtraResults(test, details = details) + return super(OETestResult, self).addExpectedFailure(test, *args) + + def addUnexpectedSuccess(self, test, details = None): + self.extractExtraResults(test, details = details) + return super(OETestResult, self).addUnexpectedSuccess(test) def logDetails(self, json_file_dir=None, configuration=None, result_id=None, dump_streams=False): self.tc.logger.info("RESULTS:") - result = {} + result = self.extraresults logs = {} if hasattr(self.tc, "extraresults"): - result = self.tc.extraresults + result.update(self.tc.extraresults) for case_name in self.tc._registry['cases']: case = self.tc._registry['cases'][case_name] @@ -205,23 +238,20 @@ class OETestRunner(_TestRunner): self._walked_cases = self._walked_cases + 1 def _list_tests_name(self, suite): - from oeqa.core.decorator.oetag import OETestTag - self._walked_cases = 0 def _list_cases(logger, case): - oetag = None - - if hasattr(case, 'decorators'): - for d in case.decorators: - if isinstance(d, OETestTag): - oetag = d.oetag - - logger.info("%s\t\t%s" % (oetag, case.id())) + oetags = [] + if hasattr(case, '__oeqa_testtags'): + oetags = getattr(case, '__oeqa_testtags') + if oetags: + logger.info("%s (%s)" % (case.id(), ",".join(oetags))) + else: + logger.info("%s" % (case.id())) self.tc.logger.info("Listing all available tests:") self._walked_cases = 0 - self.tc.logger.info("id\ttag\t\ttest") + self.tc.logger.info("test (tags)") self.tc.logger.info("-" * 80) self._walk_suite(suite, _list_cases) self.tc.logger.info("-" * 80) diff --git a/poky/meta/lib/oeqa/core/tests/cases/data.py b/poky/meta/lib/oeqa/core/tests/cases/data.py index 0d8de87ae..61f88547f 100644 --- a/poky/meta/lib/oeqa/core/tests/cases/data.py +++ b/poky/meta/lib/oeqa/core/tests/cases/data.py @@ -5,7 +5,7 @@ # from oeqa.core.case import OETestCase -from oeqa.core.decorator.oetag import OETestTag +from oeqa.core.decorator import OETestTag from oeqa.core.decorator.data import OETestDataDepends class DataTest(OETestCase): diff --git a/poky/meta/lib/oeqa/core/tests/cases/oetag.py b/poky/meta/lib/oeqa/core/tests/cases/oetag.py index 4e1d08098..52f97dfda 100644 --- a/poky/meta/lib/oeqa/core/tests/cases/oetag.py +++ b/poky/meta/lib/oeqa/core/tests/cases/oetag.py @@ -5,10 +5,9 @@ # from oeqa.core.case import OETestCase -from oeqa.core.decorator.oetag import OETestTag +from oeqa.core.decorator import OETestTag class TagTest(OETestCase): - @OETestTag('goodTag') def testTagGood(self): self.assertTrue(True, msg='How is this possible?') @@ -17,5 +16,23 @@ class TagTest(OETestCase): def testTagOther(self): self.assertTrue(True, msg='How is this possible?') + @OETestTag('otherTag', 'multiTag') + def testTagOtherMulti(self): + self.assertTrue(True, msg='How is this possible?') + def testTagNone(self): self.assertTrue(True, msg='How is this possible?') + +@OETestTag('classTag') +class TagClassTest(OETestCase): + @OETestTag('otherTag') + def testTagOther(self): + self.assertTrue(True, msg='How is this possible?') + + @OETestTag('otherTag', 'multiTag') + def testTagOtherMulti(self): + self.assertTrue(True, msg='How is this possible?') + + def testTagNone(self): + self.assertTrue(True, msg='How is this possible?') + diff --git a/poky/meta/lib/oeqa/core/tests/common.py b/poky/meta/lib/oeqa/core/tests/common.py index 39efd504c..88cc758ad 100644 --- a/poky/meta/lib/oeqa/core/tests/common.py +++ b/poky/meta/lib/oeqa/core/tests/common.py @@ -30,9 +30,9 @@ class TestBase(unittest.TestCase): directory = os.path.dirname(os.path.abspath(__file__)) self.cases_path = os.path.join(directory, 'cases') - def _testLoader(self, d={}, modules=[], tests=[], filters={}): + def _testLoader(self, d={}, modules=[], tests=[], **kwargs): from oeqa.core.context import OETestContext tc = OETestContext(d, self.logger) tc.loadTests(self.cases_path, modules=modules, tests=tests, - filters=filters) + **kwargs) return tc diff --git a/poky/meta/lib/oeqa/core/tests/test_data.py b/poky/meta/lib/oeqa/core/tests/test_data.py index 50811bb38..ac74098b7 100755 --- a/poky/meta/lib/oeqa/core/tests/test_data.py +++ b/poky/meta/lib/oeqa/core/tests/test_data.py @@ -22,8 +22,9 @@ class TestData(TestBase): expectedException = "oeqa.core.exception.OEQAMissingVariable" tc = self._testLoader(modules=self.modules) - self.assertEqual(False, tc.runTests().wasSuccessful()) - for test, data in tc.errors: + results = tc.runTests() + self.assertFalse(results.wasSuccessful()) + for test, data in results.errors: expect = False if expectedException in data: expect = True @@ -35,8 +36,9 @@ class TestData(TestBase): d = {'IMAGE' : 'core-image-sato', 'ARCH' : 'arm'} tc = self._testLoader(d=d, modules=self.modules) - self.assertEqual(False, tc.runTests().wasSuccessful()) - for test, data in tc.failures: + results = tc.runTests() + self.assertFalse(results.wasSuccessful()) + for test, data in results.failures: expect = False if expectedError in data: expect = True diff --git a/poky/meta/lib/oeqa/core/tests/test_decorators.py b/poky/meta/lib/oeqa/core/tests/test_decorators.py index 499cd66ff..b798bf7d3 100755 --- a/poky/meta/lib/oeqa/core/tests/test_decorators.py +++ b/poky/meta/lib/oeqa/core/tests/test_decorators.py @@ -14,35 +14,58 @@ setup_sys_path() from oeqa.core.exception import OEQADependency from oeqa.core.utils.test import getCaseMethod, getSuiteCasesNames, getSuiteCasesIDs -class TestFilterDecorator(TestBase): - - def _runFilterTest(self, modules, filters, expect, msg): - tc = self._testLoader(modules=modules, filters=filters) - test_loaded = set(getSuiteCasesNames(tc.suites)) - self.assertEqual(expect, test_loaded, msg=msg) +class TestTagDecorator(TestBase): + def _runTest(self, modules, filterfn, expect): + tc = self._testLoader(modules = modules, tags_filter = filterfn) + test_loaded = set(getSuiteCasesIDs(tc.suites)) + self.assertEqual(expect, test_loaded) def test_oetag(self): - # Get all cases without filtering. - filter_all = {} - test_all = {'testTagGood', 'testTagOther', 'testTagNone'} - msg_all = 'Failed to get all oetag cases without filtering.' - - # Get cases with 'goodTag'. - filter_good = {'oetag':'goodTag'} - test_good = {'testTagGood'} - msg_good = 'Failed to get just one test filtering with "goodTag" oetag.' - - # Get cases with an invalid tag. - filter_invalid = {'oetag':'invalidTag'} - test_invalid = set() - msg_invalid = 'Failed to filter all test using an invalid oetag.' - - tests = ((filter_all, test_all, msg_all), - (filter_good, test_good, msg_good), - (filter_invalid, test_invalid, msg_invalid)) - - for test in tests: - self._runFilterTest(['oetag'], test[0], test[1], test[2]) + # get all cases without any filtering + self._runTest(['oetag'], None, { + 'oetag.TagTest.testTagGood', + 'oetag.TagTest.testTagOther', + 'oetag.TagTest.testTagOtherMulti', + 'oetag.TagTest.testTagNone', + 'oetag.TagClassTest.testTagOther', + 'oetag.TagClassTest.testTagOtherMulti', + 'oetag.TagClassTest.testTagNone', + }) + + # exclude any case with tags + self._runTest(['oetag'], lambda tags: tags, { + 'oetag.TagTest.testTagNone', + }) + + # exclude any case with otherTag + self._runTest(['oetag'], lambda tags: "otherTag" in tags, { + 'oetag.TagTest.testTagGood', + 'oetag.TagTest.testTagNone', + 'oetag.TagClassTest.testTagNone', + }) + + # exclude any case with classTag + self._runTest(['oetag'], lambda tags: "classTag" in tags, { + 'oetag.TagTest.testTagGood', + 'oetag.TagTest.testTagOther', + 'oetag.TagTest.testTagOtherMulti', + 'oetag.TagTest.testTagNone', + }) + + # include any case with classTag + self._runTest(['oetag'], lambda tags: "classTag" not in tags, { + 'oetag.TagClassTest.testTagOther', + 'oetag.TagClassTest.testTagOtherMulti', + 'oetag.TagClassTest.testTagNone', + }) + + # include any case with classTag or no tags + self._runTest(['oetag'], lambda tags: tags and "classTag" not in tags, { + 'oetag.TagTest.testTagNone', + 'oetag.TagClassTest.testTagOther', + 'oetag.TagClassTest.testTagOtherMulti', + 'oetag.TagClassTest.testTagNone', + }) class TestDependsDecorator(TestBase): modules = ['depends'] diff --git a/poky/meta/lib/oeqa/core/tests/test_loader.py b/poky/meta/lib/oeqa/core/tests/test_loader.py index 519ba9609..cb38ac845 100755 --- a/poky/meta/lib/oeqa/core/tests/test_loader.py +++ b/poky/meta/lib/oeqa/core/tests/test_loader.py @@ -15,31 +15,7 @@ from oeqa.core.exception import OEQADependency from oeqa.core.utils.test import getSuiteModules, getSuiteCasesIDs class TestLoader(TestBase): - - def test_fail_empty_filter(self): - filters = {'oetag' : ''} - expect = 'Filter oetag specified is empty' - msg = 'Expected TypeError exception for having invalid filter' - try: - # Must throw TypeError because empty filter - tc = self._testLoader(filters=filters) - self.fail(msg) - except TypeError as e: - result = True if expect in str(e) else False - self.assertTrue(result, msg=msg) - - def test_fail_invalid_filter(self): - filters = {'invalid' : 'good'} - expect = 'filter but not declared in any of' - msg = 'Expected TypeError exception for having invalid filter' - try: - # Must throw TypeError because invalid filter - tc = self._testLoader(filters=filters) - self.fail(msg) - except TypeError as e: - result = True if expect in str(e) else False - self.assertTrue(result, msg=msg) - + @unittest.skip("invalid directory is missing oetag.py") def test_fail_duplicated_module(self): cases_path = self.cases_path invalid_path = os.path.join(cases_path, 'loader', 'invalid') diff --git a/poky/meta/lib/oeqa/core/utils/concurrencytest.py b/poky/meta/lib/oeqa/core/utils/concurrencytest.py index 6bf771886..fa6fa34b0 100644 --- a/poky/meta/lib/oeqa/core/utils/concurrencytest.py +++ b/poky/meta/lib/oeqa/core/utils/concurrencytest.py @@ -21,6 +21,7 @@ import testtools import threading import time import io +import json import subunit from queue import Queue @@ -28,6 +29,8 @@ from itertools import cycle from subunit import ProtocolTestCase, TestProtocolClient from subunit.test_results import AutoTimingTestResultDecorator from testtools import ThreadsafeForwardingResult, iterate_tests +from testtools.content import Content +from testtools.content_type import ContentType from oeqa.utils.commands import get_test_layer import bb.utils @@ -70,6 +73,58 @@ class BBThreadsafeForwardingResult(ThreadsafeForwardingResult): self.semaphore.release() super(BBThreadsafeForwardingResult, self)._add_result_with_semaphore(method, test, *args, **kwargs) +class ProxyTestResult: + # a very basic TestResult proxy, in order to modify add* calls + def __init__(self, target): + self.result = target + + def _addResult(self, method, test, *args, **kwargs): + return method(test, *args, **kwargs) + + def addError(self, test, *args, **kwargs): + self._addResult(self.result.addError, test, *args, **kwargs) + + def addFailure(self, test, *args, **kwargs): + self._addResult(self.result.addFailure, test, *args, **kwargs) + + def addSuccess(self, test, *args, **kwargs): + self._addResult(self.result.addSuccess, test, *args, **kwargs) + + def addExpectedFailure(self, test, *args, **kwargs): + self._addResult(self.result.addExpectedFailure, test, *args, **kwargs) + + def addUnexpectedSuccess(self, test, *args, **kwargs): + self._addResult(self.result.addUnexpectedSuccess, test, *args, **kwargs) + + def __getattr__(self, attr): + return getattr(self.result, attr) + +class ExtraResultsDecoderTestResult(ProxyTestResult): + def _addResult(self, method, test, *args, **kwargs): + if "details" in kwargs and "extraresults" in kwargs["details"]: + if isinstance(kwargs["details"]["extraresults"], Content): + kwargs = kwargs.copy() + kwargs["details"] = kwargs["details"].copy() + extraresults = kwargs["details"]["extraresults"] + data = bytearray() + for b in extraresults.iter_bytes(): + data += b + extraresults = json.loads(data.decode()) + kwargs["details"]["extraresults"] = extraresults + return method(test, *args, **kwargs) + +class ExtraResultsEncoderTestResult(ProxyTestResult): + def _addResult(self, method, test, *args, **kwargs): + if hasattr(test, "extraresults"): + extras = lambda : [json.dumps(test.extraresults).encode()] + kwargs = kwargs.copy() + if "details" not in kwargs: + kwargs["details"] = {} + else: + kwargs["details"] = kwargs["details"].copy() + kwargs["details"]["extraresults"] = Content(ContentType("application", "json", {'charset': 'utf8'}), extras) + return method(test, *args, **kwargs) + # # We have to patch subunit since it doesn't understand how to handle addError # outside of a running test case. This can happen if classSetUp() fails @@ -116,7 +171,9 @@ class ConcurrentTestSuite(unittest.TestSuite): result.threadprogress = {} for i, (test, testnum) in enumerate(tests): result.threadprogress[i] = [] - process_result = BBThreadsafeForwardingResult(result, semaphore, i, testnum, totaltests) + process_result = BBThreadsafeForwardingResult( + ExtraResultsDecoderTestResult(result), + semaphore, i, testnum, totaltests) # Force buffering of stdout/stderr so the console doesn't get corrupted by test output # as per default in parent code process_result.buffer = True @@ -231,7 +288,7 @@ def fork_for_tests(concurrency_num, suite): # as per default in parent code subunit_client.buffer = True subunit_result = AutoTimingTestResultDecorator(subunit_client) - process_suite.run(subunit_result) + process_suite.run(ExtraResultsEncoderTestResult(subunit_result)) if ourpid != os.getpid(): os._exit(0) if newbuilddir: diff --git a/poky/meta/lib/oeqa/manual/bsp-hw.json b/poky/meta/lib/oeqa/manual/bsp-hw.json index 4b7c76f70..18cec222f 100644 --- a/poky/meta/lib/oeqa/manual/bsp-hw.json +++ b/poky/meta/lib/oeqa/manual/bsp-hw.json @@ -526,7 +526,7 @@ "expected_results": "" }, "4": { - "action": "check ping status \n\nNote: This TC apply only for core-image-full-cmd and core-image-lsb .", + "action": "check ping status \n\nNote: This TC apply only for core-image-full-cmd.", "expected_results": "ping should always work before/after standby" } }, diff --git a/poky/meta/lib/oeqa/manual/compliance-test.json b/poky/meta/lib/oeqa/manual/compliance-test.json index 8c13b68ec..367a416f0 100644 --- a/poky/meta/lib/oeqa/manual/compliance-test.json +++ b/poky/meta/lib/oeqa/manual/compliance-test.json @@ -1,34 +1,4 @@ [ - { - "test": { - "@alias": "compliance-test.compliance-test.LSB_subset_test_suite", - "author": [ - { - "email": "corneliux.stoicescu@intel.com", - "name": "corneliux.stoicescu@intel.com" - } - ], - "execution": { - "1": { - "action": "Get lsd-sdk image and install it on target device or start the image(if it is QEMU) with option \"-m 512M\"", - "expected_results": "" - }, - "2": { - "action": "Comment in /opt/lsb-test/session any tests you don't want to run.", - "expected_results": "" - }, - "3": { - "action": "Run /usr/bin/LSB_Test.sh which should download the LSB suite and set it up. Some packages may fail to download because their location changed on ftp.linuxfoundation.org. You need to manually update /opt/lsb-test/packages_list", - "expected_results": "" - }, - "4": { - "action": "Tests should start automatically, you can use the web interface to reconfigure the setup. ", - "expected_results": "Check the result on wiki https://wiki.yoctoproject.org/wiki/LSB_Result No regression failures should be met." - } - }, - "summary": "LSB_subset_test_suite" - } - }, { "test": { "@alias": "compliance-test.compliance-test.stress_test_-_Genericx86-64", @@ -40,7 +10,7 @@ ], "execution": { "1": { - "action": "Bootup with core-image-lsb-sdk image", + "action": "Bootup with core-image-sato-sdk image", "expected_results": "" }, "2": { diff --git a/poky/meta/lib/oeqa/manual/crops.json b/poky/meta/lib/oeqa/manual/crops.json index 1cf3c8f30..5cfa65384 100644 --- a/poky/meta/lib/oeqa/manual/crops.json +++ b/poky/meta/lib/oeqa/manual/crops.json @@ -234,16 +234,16 @@ "expected_results": "this should output the directory of the devtool script and it should be within the sdk workdir you are working in. \n\n" }, "5": { - "action": "devtool add v4l2loopback-driver https://github.com/umlaeute/v4l2loopback.git \n\n", - "expected_results": "This should automatically create the recipe v4l2loopback-driver.bb under /recipes/v4l2loopback-driver/v4l2loopback-driver.bb " + "action": "devtool add kernel-module-hello-world https://git.yoctoproject.org/git/kernel-module-hello-world \n\n", + "expected_results": "This should automatically create the recipe kernel-module-hello-world.bb under /recipes/kernel-module-hello-world/kernel-module-hello-world.bb " }, "6": { - "action": "devtool build v4l2loopback-driver \n\n", + "action": "devtool build kernel-module-hello-world \n\n", "expected_results": "This should compile an image \n\n" }, "7": { - "action": "devtool reset v4l2loopback-driver ", - "expected_results": "This cleans sysroot of the v4l2loopback-driver recipe, but it leaves the source tree intact. meaning it does not erase." + "action": "devtool reset kernel-module-hello-world ", + "expected_results": "This cleans sysroot of the kernel-module-hello-world recipe, but it leaves the source tree intact. meaning it does not erase." } }, "summary": "sdkext_devtool_kernelmodule" @@ -291,4 +291,4 @@ "summary": "sdkext_recipes_for_nodejs" } } -] \ No newline at end of file +] diff --git a/poky/meta/lib/oeqa/manual/toaster-managed-mode.json b/poky/meta/lib/oeqa/manual/toaster-managed-mode.json index 812f57da3..12374c7c6 100644 --- a/poky/meta/lib/oeqa/manual/toaster-managed-mode.json +++ b/poky/meta/lib/oeqa/manual/toaster-managed-mode.json @@ -1494,7 +1494,7 @@ "expected_results": "A type in form appears. \n\n\t" }, "6": { - "action": "Change distro (ex: poky-lsb). \n\n\t", + "action": "Change distro (ex: poky-tiny). \n\n\t", "expected_results": "Distro has changed. \n\n\t" }, "7": { @@ -1503,7 +1503,7 @@ }, "8": { "action": " Build a recipe (ex: core-image-minimal) and wait until build finish.", - "expected_results": "Build finishes successfully. \n\nThe 'success' criteria for this one should be that the build is reported as using the poky-lsb distro in the build summary page, and that the DISTRO variable value in the bitbake variables table is set to the value specified in toaster (poky-lsb again)." + "expected_results": "Build finishes successfully. \n\nThe 'success' criteria for this one should be that the build is reported as using the poky-tiny distro in the build summary page, and that the DISTRO variable value in the bitbake variables table is set to the value specified in toaster (poky-tiny again)." } }, "summary": "Build_a_recipe_with_different_distro" @@ -1612,7 +1612,7 @@ "expected_results": "" }, "3": { - "action": "Check that the table is populated with the list of image recipes (eg. core-image minimal, core-image-lsb) \n\n\n", + "action": "Check that the table is populated with the list of image recipes (eg. core-image minimal) \n\n\n", "expected_results": "" }, "4": { @@ -1670,7 +1670,7 @@ "expected_results": "" }, "7": { - "action": "Sort the table by \"Layer\" and then navigate away by selecting an image (such as core-image-lsb). When you click the \"back\" button in the web-browser to go back, the \"New custom image\" table should still be sorted by \"Layer\". \nThis should apply also by navigating back to the page by any other means. \n\n", + "action": "Sort the table by \"Layer\" and then navigate away by selecting an image. When you click the \"back\" button in the web-browser to go back, the \"New custom image\" table should still be sorted by \"Layer\". \nThis should apply also by navigating back to the page by any other means. \n\n", "expected_results": "" }, "8": { @@ -2348,7 +2348,7 @@ "expected_results": "" }, "3": { - "action": "Build 6 recipes example (core-image-sato, core-image-minimal, core-image-base, core-image-lsb, core-image-clutter) to name a few. ", + "action": "Build 6 recipes example (core-image-sato, core-image-minimal, core-image-base, core-image-clutter) to name a few. ", "expected_results": " All recipes are built correctly \n\n" }, "4": { @@ -2382,7 +2382,7 @@ "expected_results": "" }, "3": { - "action": "Build 6 recipes example (core-image-sato, core-image-minimal, core-image-base, core-image-lsb, core-image-clutter) to name a few. \n\n", + "action": "Build 6 recipes example (core-image-sato, core-image-minimal, core-image-base, core-image-clutter) to name a few. \n\n", "expected_results": "All recipes are built correctly \n\n" }, "4": { @@ -2420,7 +2420,7 @@ "expected_results": "" }, "3": { - "action": "Build 4 recipes example (core-image-sato, core-image-minimal, core-image-base, core-image-lsb, core-image-clutter) to name a few. \n\n", + "action": "Build 4 recipes example (core-image-sato, core-image-minimal, core-image-base, core-image-clutter) to name a few. \n\n", "expected_results": " All recipes are built correctly \n\n" }, "4": { diff --git a/poky/meta/lib/oeqa/runtime/cases/dnf.py b/poky/meta/lib/oeqa/runtime/cases/dnf.py index 629b9af3e..80cc86a4f 100644 --- a/poky/meta/lib/oeqa/runtime/cases/dnf.py +++ b/poky/meta/lib/oeqa/runtime/cases/dnf.py @@ -9,7 +9,7 @@ from oeqa.utils.httpserver import HTTPService from oeqa.runtime.case import OERuntimeTestCase from oeqa.core.decorator.depends import OETestDepends -from oeqa.core.decorator.data import skipIfNotDataVar, skipIfNotFeature +from oeqa.core.decorator.data import skipIfNotDataVar, skipIfNotFeature, skipIfInDataVar, skipIfNotInDataVar from oeqa.runtime.decorator.package import OEHasPackage class DnfTest(OERuntimeTestCase): @@ -116,6 +116,7 @@ class DnfRepoTest(DnfTest): self.dnf_with_repo('reinstall -y run-postinsts-dev') @OETestDepends(['dnf.DnfRepoTest.test_dnf_makecache']) + @skipIfInDataVar('DISTRO_FEATURES', 'usrmerge', 'Test run when not enable usrmerge') def test_dnf_installroot(self): rootpath = '/home/root/chroot/test' #Copy necessary files to avoid errors with not yet installed tools on @@ -140,6 +141,37 @@ class DnfRepoTest(DnfTest): status, output = self.target.run('test -e %s/bin/busybox' % rootpath, 1500) self.assertEqual(0, status, output) + @OETestDepends(['dnf.DnfRepoTest.test_dnf_makecache']) + @skipIfNotInDataVar('DISTRO_FEATURES', 'usrmerge', 'Test run when enable usrmege') + def test_dnf_installroot_usrmerge(self): + rootpath = '/home/root/chroot/test' + #Copy necessary files to avoid errors with not yet installed tools on + #installroot directory. + self.target.run('mkdir -p %s/etc' % rootpath, 1500) + self.target.run('mkdir -p %s/usr/bin %s/usr/sbin' % (rootpath, rootpath), 1500) + self.target.run('ln -sf -r %s/usr/bin %s/bin' % (rootpath, rootpath), 1500) + self.target.run('ln -sf -r %s/usr/sbin %s/sbin' % (rootpath, rootpath), 1500) + self.target.run('mkdir -p %s/dev' % rootpath, 1500) + #Handle different architectures lib dirs + self.target.run('mkdir -p %s/usr/lib' % rootpath, 1500) + self.target.run('mkdir -p %s/usr/libx32' % rootpath, 1500) + self.target.run('mkdir -p %s/usr/lib64' % rootpath, 1500) + self.target.run('cp /lib/libtinfo.so.5 %s/usr/lib' % rootpath, 1500) + self.target.run('cp /libx32/libtinfo.so.5 %s/usr/libx32' % rootpath, 1500) + self.target.run('cp /lib64/libtinfo.so.5 %s/usr/lib64' % rootpath, 1500) + self.target.run('ln -sf -r %s/lib %s/usr/lib' % (rootpath,rootpath), 1500) + self.target.run('ln -sf -r %s/libx32 %s/usr/libx32' % (rootpath,rootpath), 1500) + self.target.run('ln -sf -r %s/lib64 %s/usr/lib64' % (rootpath,rootpath), 1500) + self.target.run('cp -r /etc/rpm %s/etc' % rootpath, 1500) + self.target.run('cp -r /etc/dnf %s/etc' % rootpath, 1500) + self.target.run('cp /bin/sh %s/bin' % rootpath, 1500) + self.target.run('mount -o bind /dev %s/dev/' % rootpath, 1500) + self.dnf_with_repo('install --installroot=%s -v -y --rpmverbosity=debug busybox run-postinsts' % rootpath) + status, output = self.target.run('test -e %s/var/cache/dnf' % rootpath, 1500) + self.assertEqual(0, status, output) + status, output = self.target.run('test -e %s/bin/busybox' % rootpath, 1500) + self.assertEqual(0, status, output) + @OETestDepends(['dnf.DnfRepoTest.test_dnf_makecache']) def test_dnf_exclude(self): excludepkg = 'curl-dev' diff --git a/poky/meta/lib/oeqa/runtime/cases/oe_syslog.py b/poky/meta/lib/oeqa/runtime/cases/oe_syslog.py index 3a8271a53..f3c2bedba 100644 --- a/poky/meta/lib/oeqa/runtime/cases/oe_syslog.py +++ b/poky/meta/lib/oeqa/runtime/cases/oe_syslog.py @@ -17,7 +17,7 @@ class SyslogTest(OERuntimeTestCase): msg = "Failed to execute %s" % self.tc.target_cmds['ps'] self.assertEqual(status, 0, msg=msg) msg = "No syslog daemon process; %s output:\n%s" % (self.tc.target_cmds['ps'], output) - hasdaemon = "syslogd" in output or "syslog-ng" in output + hasdaemon = "syslogd" in output or "syslog-ng" in output or "svlogd" in output self.assertTrue(hasdaemon, msg=msg) class SyslogTestConfig(OERuntimeTestCase): diff --git a/poky/meta/lib/oeqa/runtime/cases/parselogs.py b/poky/meta/lib/oeqa/runtime/cases/parselogs.py index 19c9c52a0..15343d7ab 100644 --- a/poky/meta/lib/oeqa/runtime/cases/parselogs.py +++ b/poky/meta/lib/oeqa/runtime/cases/parselogs.py @@ -83,6 +83,10 @@ qemux86_common = [ 'amd_nb: Cannot enumerate AMD northbridges', 'uvesafb: 5000 ms task timeout, infinitely waiting', 'tsc: HPET/PMTIMER calibration failed', + "modeset(0): Failed to initialize the DRI2 extension", + "uvesafb: cannot reserve video memory at", + "uvesafb: probe of uvesafb.0 failed with error", + "glamor initialization failed", ] + common_errors ignore_errors = { diff --git a/poky/meta/lib/oeqa/sdkext/cases/devtool.py b/poky/meta/lib/oeqa/sdkext/cases/devtool.py index 5a02add76..8e92bf806 100644 --- a/poky/meta/lib/oeqa/sdkext/cases/devtool.py +++ b/poky/meta/lib/oeqa/sdkext/cases/devtool.py @@ -73,8 +73,8 @@ class DevtoolTest(OESDKExtTestCase): self._run('devtool reset %s' % recipe) def test_devtool_kernelmodule(self): - docfile = 'https://github.com/umlaeute/v4l2loopback.git' - recipe = 'v4l2loopback-driver' + docfile = 'https://git.yoctoproject.org/git/kernel-module-hello-world' + recipe = 'kernel-module-hello-world' self._run('devtool add %s %s' % (recipe, docfile) ) try: self._run('devtool build %s' % recipe) diff --git a/poky/meta/lib/oeqa/selftest/cases/bbtests.py b/poky/meta/lib/oeqa/selftest/cases/bbtests.py index 0693ba8cf..8e59bafae 100644 --- a/poky/meta/lib/oeqa/selftest/cases/bbtests.py +++ b/poky/meta/lib/oeqa/selftest/cases/bbtests.py @@ -119,7 +119,7 @@ class BitbakeTests(OESelftestTestCase): def test_bitbake_g(self): result = bitbake('-g core-image-minimal') - for f in ['pn-buildlist', 'recipe-depends.dot', 'task-depends.dot']: + for f in ['pn-buildlist', 'task-depends.dot']: self.addCleanup(os.remove, f) self.assertTrue('Task dependencies saved to \'task-depends.dot\'' in result.output, msg = "No task dependency \"task-depends.dot\" file was generated for the given task target. bitbake output: %s" % result.output) self.assertTrue('busybox' in ftools.read_file(os.path.join(self.builddir, 'task-depends.dot')), msg = "No \"busybox\" dependency found in task-depends.dot file.") diff --git a/poky/meta/lib/oeqa/selftest/cases/binutils.py b/poky/meta/lib/oeqa/selftest/cases/binutils.py new file mode 100644 index 000000000..9bc752040 --- /dev/null +++ b/poky/meta/lib/oeqa/selftest/cases/binutils.py @@ -0,0 +1,49 @@ +# SPDX-License-Identifier: MIT +import os +import sys +import re +import logging +from oeqa.core.decorator import OETestTag +from oeqa.selftest.case import OESelftestTestCase +from oeqa.utils.commands import bitbake, get_bb_var, get_bb_vars + +def parse_values(content): + for i in content: + for v in ["PASS", "FAIL", "XPASS", "XFAIL", "UNRESOLVED", "UNSUPPORTED", "UNTESTED", "ERROR", "WARNING"]: + if i.startswith(v + ": "): + yield i[len(v) + 2:].strip(), v + break + +@OETestTag("toolchain-user", "toolchain-system") +class BinutilsCrossSelfTest(OESelftestTestCase): + def test_binutils(self): + self.run_binutils("binutils") + + def test_gas(self): + self.run_binutils("gas") + + def test_ld(self): + self.run_binutils("ld") + + def run_binutils(self, suite): + features = [] + features.append('CHECK_TARGETS = "{0}"'.format(suite)) + self.write_config("\n".join(features)) + + recipe = "binutils-cross-testsuite" + bb_vars = get_bb_vars(["B", "TARGET_SYS", "T"], recipe) + builddir, target_sys, tdir = bb_vars["B"], bb_vars["TARGET_SYS"], bb_vars["T"] + + bitbake("{0} -c check".format(recipe)) + + ptestsuite = "binutils-{}".format(suite) if suite != "binutils" else suite + self.extraresults = {"ptestresult.sections" : {ptestsuite : {}}} + + sumspath = os.path.join(builddir, suite, "{0}.sum".format(suite)) + if not os.path.exists(sumspath): + sumspath = os.path.join(builddir, suite, "testsuite", "{0}.sum".format(suite)) + + with open(sumspath, "r") as f: + for test, result in parse_values(f): + self.extraresults["ptestresult.{}.{}".format(ptestsuite, test)] = {"status" : result} + diff --git a/poky/meta/lib/oeqa/selftest/cases/gcc.py b/poky/meta/lib/oeqa/selftest/cases/gcc.py new file mode 100644 index 000000000..2c25b5904 --- /dev/null +++ b/poky/meta/lib/oeqa/selftest/cases/gcc.py @@ -0,0 +1,139 @@ +# SPDX-License-Identifier: MIT +import os +from oeqa.core.decorator import OETestTag +from oeqa.selftest.case import OESelftestTestCase +from oeqa.utils.commands import bitbake, get_bb_var, get_bb_vars, runqemu, Command + +def parse_values(content): + for i in content: + for v in ["PASS", "FAIL", "XPASS", "XFAIL", "UNRESOLVED", "UNSUPPORTED", "UNTESTED", "ERROR", "WARNING"]: + if i.startswith(v + ": "): + yield i[len(v) + 2:].strip(), v + break + +class GccSelfTestBase(OESelftestTestCase): + def check_skip(self, suite): + targets = get_bb_var("RUNTIMETARGET", "gcc-runtime").split() + if suite not in targets: + self.skipTest("Target does not use {0}".format(suite)) + + def run_check(self, *suites, ssh = None): + targets = set() + for s in suites: + if s in ["gcc", "g++"]: + targets.add("check-gcc") + else: + targets.add("check-target-{}".format(s)) + + # configure ssh target + features = [] + features.append('MAKE_CHECK_TARGETS = "{0}"'.format(" ".join(targets))) + if ssh is not None: + features.append('TOOLCHAIN_TEST_TARGET = "ssh"') + features.append('TOOLCHAIN_TEST_HOST = "{0}"'.format(ssh)) + features.append('TOOLCHAIN_TEST_HOST_USER = "root"') + features.append('TOOLCHAIN_TEST_HOST_PORT = "22"') + self.write_config("\n".join(features)) + + recipe = "gcc-runtime" + bitbake("{} -c check".format(recipe)) + + bb_vars = get_bb_vars(["B", "TARGET_SYS"], recipe) + builddir, target_sys = bb_vars["B"], bb_vars["TARGET_SYS"] + + self.extraresults = {"ptestresult.sections" : {}} + for suite in suites: + sumspath = os.path.join(builddir, "gcc", "testsuite", suite, "{0}.sum".format(suite)) + if not os.path.exists(sumspath): # check in target dirs + sumspath = os.path.join(builddir, target_sys, suite, "testsuite", "{0}.sum".format(suite)) + if not os.path.exists(sumspath): # handle libstdc++-v3 -> libstdc++ + sumspath = os.path.join(builddir, target_sys, suite, "testsuite", "{0}.sum".format(suite.split("-")[0])) + + ptestsuite = "gcc-{}".format(suite) if suite != "gcc" else suite + ptestsuite = ptestsuite + "-user" if ssh is None else ptestsuite + self.extraresults["ptestresult.sections"][ptestsuite] = {} + with open(sumspath, "r") as f: + for test, result in parse_values(f): + self.extraresults["ptestresult.{}.{}".format(ptestsuite, test)] = {"status" : result} + + def run_check_emulated(self, *args, **kwargs): + # build core-image-minimal with required packages + default_installed_packages = ["libgcc", "libstdc++", "libatomic", "libgomp"] + features = [] + features.append('IMAGE_FEATURES += "ssh-server-openssh"') + features.append('CORE_IMAGE_EXTRA_INSTALL += "{0}"'.format(" ".join(default_installed_packages))) + self.write_config("\n".join(features)) + bitbake("core-image-minimal") + + # wrap the execution with a qemu instance + with runqemu("core-image-minimal", runqemuparams = "nographic") as qemu: + # validate that SSH is working + status, _ = qemu.run("uname") + self.assertEqual(status, 0) + + return self.run_check(*args, ssh=qemu.ip, **kwargs) + +@OETestTag("toolchain-user") +class GccCrossSelfTest(GccSelfTestBase): + def test_cross_gcc(self): + self.run_check("gcc", "g++") + +@OETestTag("toolchain-user") +class GccLibAtomicSelfTest(GccSelfTestBase): + def test_libatomic(self): + self.run_check("libatomic") + +@OETestTag("toolchain-user") +class GccLibGompSelfTest(GccSelfTestBase): + def test_libgomp(self): + self.run_check("libgomp") + +@OETestTag("toolchain-user") +class GccLibStdCxxSelfTest(GccSelfTestBase): + def test_libstdcxx(self): + self.run_check("libstdc++-v3") + +@OETestTag("toolchain-user") +class GccLibSspSelfTest(GccSelfTestBase): + def test_libssp(self): + self.check_skip("libssp") + self.run_check("libssp") + +@OETestTag("toolchain-user") +class GccLibItmSelfTest(GccSelfTestBase): + def test_libitm(self): + self.check_skip("libitm") + self.run_check("libitm") + +@OETestTag("toolchain-system") +class GccCrossSelfTestSystemEmulated(GccSelfTestBase): + def test_cross_gcc(self): + self.run_check_emulated("gcc", "g++") + +@OETestTag("toolchain-system") +class GccLibAtomicSelfTestSystemEmulated(GccSelfTestBase): + def test_libatomic(self): + self.run_check_emulated("libatomic") + +@OETestTag("toolchain-system") +class GccLibGompSelfTestSystemEmulated(GccSelfTestBase): + def test_libgomp(self): + self.run_check_emulated("libgomp") + +@OETestTag("toolchain-system") +class GccLibStdCxxSelfTestSystemEmulated(GccSelfTestBase): + def test_libstdcxx(self): + self.run_check_emulated("libstdc++-v3") + +@OETestTag("toolchain-system") +class GccLibSspSelfTestSystemEmulated(GccSelfTestBase): + def test_libssp(self): + self.check_skip("libssp") + self.run_check_emulated("libssp") + +@OETestTag("toolchain-system") +class GccLibItmSelfTestSystemEmulated(GccSelfTestBase): + def test_libitm(self): + self.check_skip("libitm") + self.run_check_emulated("libitm") + diff --git a/poky/meta/lib/oeqa/selftest/cases/glibc.py b/poky/meta/lib/oeqa/selftest/cases/glibc.py new file mode 100644 index 000000000..2e42485dd --- /dev/null +++ b/poky/meta/lib/oeqa/selftest/cases/glibc.py @@ -0,0 +1,88 @@ +# SPDX-License-Identifier: MIT +import os +import contextlib +from oeqa.core.decorator import OETestTag +from oeqa.selftest.case import OESelftestTestCase +from oeqa.utils.commands import bitbake, get_bb_var, get_bb_vars, runqemu, Command +from oeqa.utils.nfs import unfs_server + +def parse_values(content): + for i in content: + for v in ["PASS", "FAIL", "XPASS", "XFAIL", "UNRESOLVED", "UNSUPPORTED", "UNTESTED", "ERROR", "WARNING"]: + if i.startswith(v + ": "): + yield i[len(v) + 2:].strip(), v + break + +class GlibcSelfTestBase(OESelftestTestCase): + def run_check(self, ssh = None): + # configure ssh target + features = [] + if ssh is not None: + features.append('TOOLCHAIN_TEST_TARGET = "ssh"') + features.append('TOOLCHAIN_TEST_HOST = "{0}"'.format(ssh)) + features.append('TOOLCHAIN_TEST_HOST_USER = "root"') + features.append('TOOLCHAIN_TEST_HOST_PORT = "22"') + # force single threaded test execution + features.append('EGLIBCPARALLELISM_task-check_pn-glibc-testsuite = "PARALLELMFLAGS="-j1""') + self.write_config("\n".join(features)) + + bitbake("glibc-testsuite -c check") + + builddir = get_bb_var("B", "glibc-testsuite") + + ptestsuite = "glibc-user" if ssh is None else "glibc" + self.extraresults = {"ptestresult.sections" : {ptestsuite : {}}} + with open(os.path.join(builddir, "tests.sum"), "r") as f: + for test, result in parse_values(f): + self.extraresults["ptestresult.{}.{}".format(ptestsuite, test)] = {"status" : result} + + def run_check_emulated(self): + with contextlib.ExitStack() as s: + # use the base work dir, as the nfs mount, since the recipe directory may not exist + tmpdir = get_bb_var("BASE_WORKDIR") + nfsport, mountport = s.enter_context(unfs_server(tmpdir)) + + # build core-image-minimal with required packages + default_installed_packages = [ + "glibc-charmaps", + "libgcc", + "libstdc++", + "libatomic", + "libgomp", + # "python3", + # "python3-pexpect", + "nfs-utils", + ] + features = [] + features.append('IMAGE_FEATURES += "ssh-server-openssh"') + features.append('CORE_IMAGE_EXTRA_INSTALL += "{0}"'.format(" ".join(default_installed_packages))) + self.write_config("\n".join(features)) + bitbake("core-image-minimal") + + # start runqemu + qemu = s.enter_context(runqemu("core-image-minimal", runqemuparams = "nographic")) + + # validate that SSH is working + status, _ = qemu.run("uname") + self.assertEqual(status, 0) + + # setup nfs mount + if qemu.run("mkdir -p \"{0}\"".format(tmpdir))[0] != 0: + raise Exception("Failed to setup NFS mount directory on target") + mountcmd = "mount -o noac,nfsvers=3,port={0},udp,mountport={1} \"{2}:{3}\" \"{3}\"".format(nfsport, mountport, qemu.server_ip, tmpdir) + status, output = qemu.run(mountcmd) + if status != 0: + raise Exception("Failed to setup NFS mount on target ({})".format(repr(output))) + + self.run_check(ssh = qemu.ip) + +@OETestTag("toolchain-user") +class GlibcSelfTest(GlibcSelfTestBase): + def test_glibc(self): + self.run_check() + +@OETestTag("toolchain-system") +class GlibcSelfTestSystemEmulated(GlibcSelfTestBase): + def test_glibc(self): + self.run_check_emulated() + diff --git a/poky/meta/lib/oeqa/selftest/cases/kerneldevelopment.py b/poky/meta/lib/oeqa/selftest/cases/kerneldevelopment.py new file mode 100644 index 000000000..a61876ee6 --- /dev/null +++ b/poky/meta/lib/oeqa/selftest/cases/kerneldevelopment.py @@ -0,0 +1,67 @@ +import os +from oeqa.selftest.case import OESelftestTestCase +from oeqa.utils.commands import runCmd, get_bb_var +from oeqa.utils.git import GitRepo + +class KernelDev(OESelftestTestCase): + + @classmethod + def setUpClass(cls): + super(KernelDev, cls).setUpClass() + # Create the recipe directory structure inside the created layer + cls.layername = 'meta-kerneltest' + runCmd('bitbake-layers create-layer %s' % cls.layername) + runCmd('mkdir -p %s/recipes-kernel/linux/linux-yocto' % cls.layername) + cls.recipes_linuxyocto_dir = os.path.join \ + (cls.builddir, cls.layername, 'recipes-kernel', 'linux', 'linux-yocto') + cls.recipeskernel_dir = os.path.dirname(cls.recipes_linuxyocto_dir) + runCmd('bitbake-layers add-layer %s' % cls.layername) + + @classmethod + def tearDownClass(cls): + runCmd('bitbake-layers remove-layer %s' % cls.layername, ignore_status=True) + runCmd('rm -rf %s' % cls.layername) + super(KernelDev, cls).tearDownClass() + + def setUp(self): + super(KernelDev, self).setUp() + self.set_machine_config('MACHINE = "qemux86-64"\n') + + def test_apply_patches(self): + """ + Summary: Able to apply a single patch to the Linux kernel source + Expected: The README file should exist and the patch changes should be + displayed at the end of the file. + Product: Kernel Development + Author: Yeoh Ee Peng + AutomatedBy: Mazliana Mohamad + """ + runCmd('bitbake virtual/kernel -c patch') + kernel_source = get_bb_var('STAGING_KERNEL_DIR') + readme = os.path.join(kernel_source, 'README') + + # This test step adds modified file 'README' to git and creates a + # patch file '0001-KERNEL_DEV_TEST_CASE.patch' at the same location as file + patch_content = 'This is a test to apply a patch to the kernel' + with open(readme, 'a+') as f: + f.write(patch_content) + repo = GitRepo('%s' % kernel_source, is_topdir=True) + repo.run_cmd('add %s' % readme) + repo.run_cmd(['commit', '-m', 'KERNEL_DEV_TEST_CASE']) + repo.run_cmd(['format-patch', '-1']) + patch_name = '0001-KERNEL_DEV_TEST_CASE.patch' + patchpath = os.path.join(kernel_source, patch_name) + runCmd('mv %s %s' % (patchpath, self.recipes_linuxyocto_dir)) + runCmd('rm %s ' % readme) + self.assertFalse(os.path.exists(readme)) + + recipe_append = os.path.join(self.recipeskernel_dir, 'linux-yocto_%.bbappend') + with open(recipe_append, 'w+') as fh: + fh.write('SRC_URI += "file://%s"\n' % patch_name) + fh.write('FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"') + + runCmd('bitbake virtual/kernel -c clean') + runCmd('bitbake virtual/kernel -c patch') + self.assertTrue(os.path.exists(readme)) + result = runCmd('tail -n 1 %s' % readme) + self.assertEqual(result.output, patch_content) diff --git a/poky/meta/lib/oeqa/selftest/cases/meta_ide.py b/poky/meta/lib/oeqa/selftest/cases/meta_ide.py index f47bc7091..03901a2f3 100644 --- a/poky/meta/lib/oeqa/selftest/cases/meta_ide.py +++ b/poky/meta/lib/oeqa/selftest/cases/meta_ide.py @@ -5,9 +5,11 @@ from oeqa.selftest.case import OESelftestTestCase from oeqa.sdk.utils.sdkbuildproject import SDKBuildProject from oeqa.utils.commands import bitbake, get_bb_vars, runCmd +from oeqa.core.decorator import OETestTag import tempfile import shutil +@OETestTag("machine") class MetaIDE(OESelftestTestCase): @classmethod diff --git a/poky/meta/lib/oeqa/selftest/cases/reproducible.py b/poky/meta/lib/oeqa/selftest/cases/reproducible.py index 6dc83d284..eee09d3fb 100644 --- a/poky/meta/lib/oeqa/selftest/cases/reproducible.py +++ b/poky/meta/lib/oeqa/selftest/cases/reproducible.py @@ -8,6 +8,7 @@ from oeqa.utils.commands import runCmd, bitbake, get_bb_var, get_bb_vars import functools import multiprocessing import textwrap +import json import unittest MISSING = 'MISSING' @@ -81,14 +82,12 @@ class ReproducibleTests(OESelftestTestCase): 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'] = '' + self.extrasresults = {} + self.extrasresults.setdefault('reproducible.rawlogs', {})['log'] = '' + self.extrasresults.setdefault('reproducible', {}).setdefault('files', {}) def append_to_log(self, msg): - self.extras['reproducible.rawlogs']['log'] += msg + self.extrasresults['reproducible.rawlogs']['log'] += msg def compare_packages(self, reference_dir, test_dir, diffutils_sysroot): result = PackageCompareResults() @@ -114,47 +113,70 @@ class ReproducibleTests(OESelftestTestCase): result.sort() return result - @unittest.skip("Reproducible builds do not yet pass") + def write_package_list(self, package_class, name, packages): + self.extrasresults['reproducible']['files'].setdefault(package_class, {})[name] = [ + {'reference': p.reference, 'test': p.test} for p in packages] + def test_reproducible_builds(self): capture_vars = ['DEPLOY_DIR_' + c.upper() for c in self.package_classes] + # Build native utilities + self.write_config('') + bitbake("diffutils-native -c addto_recipe_sysroot") + diffutils_sysroot = get_bb_var("RECIPE_SYSROOT_NATIVE", "diffutils-native") + + # Reproducible builds should not pull from sstate or mirrors, but + # sharing DL_DIR is fine common_config = textwrap.dedent('''\ INHERIT += "reproducible_build" PACKAGE_CLASSES = "%s" + SSTATE_DIR = "${TMPDIR}/sstate" ''') % (' '.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) + # Perform a build. + reproducibleA_tmp = os.path.join(self.topdir, 'reproducibleA', 'tmp') + if os.path.exists(reproducibleA_tmp): + bb.utils.remove(reproducibleA_tmp, recurse=True) + + self.write_config((textwrap.dedent('''\ + TMPDIR = "%s" + ''') % reproducibleA_tmp) + common_config) + vars_A = 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. + reproducibleB_tmp = os.path.join(self.topdir, 'reproducibleB', 'tmp') + if os.path.exists(reproducibleB_tmp): + bb.utils.remove(reproducibleB_tmp, recurse=True) - # 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" + self.write_config((textwrap.dedent('''\ SSTATE_MIRROR = "" - ''') + common_config) - vars_test = get_bb_vars(capture_vars) + TMPDIR = "%s" + ''') % reproducibleB_tmp) + common_config) + vars_B = get_bb_vars(capture_vars) bitbake(' '.join(self.images)) + # NOTE: The temp directories from the reproducible build are purposely + # kept after the build so it can be diffed for debugging. + for c in self.package_classes: - package_class = 'package_' + c + with self.subTest(package_class=c): + package_class = 'package_' + c + + deploy_A = vars_A['DEPLOY_DIR_' + c.upper()] + deploy_B = vars_B['DEPLOY_DIR_' + c.upper()] - deploy_reference = vars_reference['DEPLOY_DIR_' + c.upper()] - deploy_test = vars_test['DEPLOY_DIR_' + c.upper()] + result = self.compare_packages(deploy_A, deploy_B, diffutils_sysroot) - result = self.compare_packages(deploy_reference, deploy_test, diffutils_sysroot) + self.logger.info('Reproducibility summary for %s: %s' % (c, result)) - 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)) - self.append_to_log('\n'.join("%s: %s" % (r.status, r.test) for r in result.total)) + self.write_package_list(package_class, 'missing', result.missing) + self.write_package_list(package_class, 'different', result.different) + self.write_package_list(package_class, 'same', result.same) - 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)))) + 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/runqemu.py b/poky/meta/lib/oeqa/selftest/cases/runqemu.py index b88ae306c..7e676bcb4 100644 --- a/poky/meta/lib/oeqa/selftest/cases/runqemu.py +++ b/poky/meta/lib/oeqa/selftest/cases/runqemu.py @@ -8,6 +8,7 @@ import re import tempfile import time import oe.types +from oeqa.core.decorator import OETestTag from oeqa.selftest.case import OESelftestTestCase from oeqa.utils.commands import bitbake, runqemu, get_bb_var, runCmd @@ -147,6 +148,7 @@ SYSLINUX_TIMEOUT = "10" # dedicated for MACHINE=qemux86-64 where it test that qemux86-64 will # bootup various filesystem types, including live image(iso and hddimg) # where live image was not supported on all qemu architecture. +@OETestTag("machine") class QemuTest(OESelftestTestCase): @classmethod diff --git a/poky/meta/lib/oeqa/selftest/context.py b/poky/meta/lib/oeqa/selftest/context.py index d279994dd..3126ada71 100644 --- a/poky/meta/lib/oeqa/selftest/context.py +++ b/poky/meta/lib/oeqa/selftest/context.py @@ -77,7 +77,14 @@ class OESelftestTestContextExecutor(OETestContextExecutor): parser.add_argument('--machine', required=False, choices=['random', 'all'], help='Run tests on different machines (random/all).') - + + parser.add_argument('-t', '--select-tags', dest="select_tags", + nargs='*', default=None, + help='Filter all (unhidden) tests to any that match any of the specified tags.') + parser.add_argument('-T', '--exclude-tags', dest="exclude_tags", + nargs='*', default=None, + help='Exclude all (unhidden) tests that match any of the specified tags. (exclude applies before select)') + parser.set_defaults(func=self.run) def _get_available_machines(self): @@ -149,6 +156,18 @@ class OESelftestTestContextExecutor(OETestContextExecutor): copyfile(self.tc_kwargs['init']['config_paths']['bblayers'], self.tc_kwargs['init']['config_paths']['bblayers_backup']) + def tag_filter(tags): + if args.exclude_tags: + if any(tag in args.exclude_tags for tag in tags): + return True + if args.select_tags: + if not tags or not any(tag in args.select_tags for tag in tags): + return True + return False + + if args.select_tags or args.exclude_tags: + self.tc_kwargs['load']['tags_filter'] = tag_filter + self.tc_kwargs['run']['skips'] = args.skips self.tc_kwargs['run']['processes'] = args.processes diff --git a/poky/meta/lib/oeqa/utils/commands.py b/poky/meta/lib/oeqa/utils/commands.py index 7140bc73d..dc1e286da 100644 --- a/poky/meta/lib/oeqa/utils/commands.py +++ b/poky/meta/lib/oeqa/utils/commands.py @@ -172,8 +172,11 @@ def runCmd(command, ignore_status=False, timeout=None, assert_error=True, if native_sysroot: extra_paths = "%s/sbin:%s/usr/sbin:%s/usr/bin" % \ (native_sysroot, native_sysroot, native_sysroot) + extra_libpaths = "%s/lib:%s/usr/lib" % \ + (native_sysroot, native_sysroot) nenv = dict(options.get('env', os.environ)) nenv['PATH'] = extra_paths + ':' + nenv.get('PATH', '') + nenv['LD_LIBRARY_PATH'] = extra_libpaths + ':' + nenv.get('LD_LIBRARY_PATH', '') options['env'] = nenv cmd = Command(command, timeout=timeout, output_log=output_log, **options) @@ -337,7 +340,7 @@ def runqemu(pn, ssh=True, runqemuparams='', image_fstype=None, launch_cmd=None, qemu.deploy() try: qemu.start(params=qemuparams, ssh=ssh, runqemuparams=runqemuparams, launch_cmd=launch_cmd, discard_writes=discard_writes) - except EXception as e: + except Exception as e: msg = str(e) + '\nFailed to start QEMU - see the logs in %s' % logdir if os.path.exists(qemu.qemurunnerlog): with open(qemu.qemurunnerlog, 'r') as f: diff --git a/poky/meta/lib/oeqa/utils/network.py b/poky/meta/lib/oeqa/utils/network.py index 59cbbc4f1..59d01723a 100644 --- a/poky/meta/lib/oeqa/utils/network.py +++ b/poky/meta/lib/oeqa/utils/network.py @@ -4,8 +4,8 @@ import socket -def get_free_port(): - s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) +def get_free_port(udp = False): + s = socket.socket(socket.AF_INET, socket.SOCK_STREAM if not udp else socket.SOCK_DGRAM) s.bind(('', 0)) addr = s.getsockname() s.close() diff --git a/poky/meta/lib/oeqa/utils/nfs.py b/poky/meta/lib/oeqa/utils/nfs.py new file mode 100644 index 000000000..a37686c91 --- /dev/null +++ b/poky/meta/lib/oeqa/utils/nfs.py @@ -0,0 +1,39 @@ +# SPDX-License-Identifier: MIT +import os +import sys +import tempfile +import contextlib +import socket +from oeqa.utils.commands import bitbake, get_bb_var, Command +from oeqa.utils.network import get_free_port + +@contextlib.contextmanager +def unfs_server(directory, logger = None): + unfs_sysroot = get_bb_var("RECIPE_SYSROOT_NATIVE", "unfs3-native") + if not os.path.exists(os.path.join(unfs_sysroot, "usr", "bin", "unfsd")): + # build native tool + bitbake("unfs3-native -c addto_recipe_sysroot") + + exports = None + cmd = None + try: + # create the exports file + with tempfile.NamedTemporaryFile(delete = False) as exports: + exports.write("{0} (rw,no_root_squash,no_all_squash,insecure)\n".format(directory).encode()) + + # find some ports for the server + nfsport, mountport = get_free_port(udp = True), get_free_port(udp = True) + + nenv = dict(os.environ) + nenv['PATH'] = "{0}/sbin:{0}/usr/sbin:{0}/usr/bin:".format(unfs_sysroot) + nenv.get('PATH', '') + cmd = Command(["unfsd", "-d", "-p", "-N", "-e", exports.name, "-n", str(nfsport), "-m", str(mountport)], + bg = True, env = nenv, output_log = logger) + cmd.run() + yield nfsport, mountport + finally: + if cmd is not None: + cmd.stop() + if exports is not None: + # clean up exports file + os.unlink(exports.name) + diff --git a/poky/meta/recipes-connectivity/avahi/avahi-ui_0.7.bb b/poky/meta/recipes-connectivity/avahi/avahi-ui_0.7.bb index a77653bf5..1c6e46aab 100644 --- a/poky/meta/recipes-connectivity/avahi/avahi-ui_0.7.bb +++ b/poky/meta/recipes-connectivity/avahi/avahi-ui_0.7.bb @@ -20,7 +20,13 @@ FILES_avahi-discover = "${datadir}/applications/avahi-discover.desktop \ do_install_append () { rm ${D}${sysconfdir} -rf - rm ${D}${base_libdir} -rf + if ${@bb.utils.contains('DISTRO_FEATURES','usrmerge','true','false',d)}; then + if [ "${nonarch_base_libdir}" != "${base_libdir}" ];then + rm ${D}${nonarch_base_libdir} -rf + fi + else + rm ${D}${base_libdir} -rf + fi rm ${D}${systemd_unitdir} -rf # The ${systemd_unitdir} is /lib/systemd, so we need rmdir /lib, # but not ${base_libdir} here. And the /lib may not exist diff --git a/poky/meta/recipes-connectivity/avahi/files/0001-Fix-opening-etc-resolv.conf-error.patch b/poky/meta/recipes-connectivity/avahi/files/0001-Fix-opening-etc-resolv.conf-error.patch index 11e7e8a9b..cb8b83fd2 100644 --- a/poky/meta/recipes-connectivity/avahi/files/0001-Fix-opening-etc-resolv.conf-error.patch +++ b/poky/meta/recipes-connectivity/avahi/files/0001-Fix-opening-etc-resolv.conf-error.patch @@ -19,6 +19,11 @@ is marked as OE specific. Upstream-Status: Inappropriate [OE Specific] Signed-off-by: Chen Qi + +When connman installed to image, /etc/resolv.conf is link to +/etc/resolv-conf.connman. So launch avahi-daemon after connman too. + +Signed-off-by: Kai Kang --- avahi-daemon/avahi-daemon.service.in | 1 + 1 file changed, 1 insertion(+) @@ -31,7 +36,7 @@ index 548c834..63e28e4 100644 [Unit] Description=Avahi mDNS/DNS-SD Stack Requires=avahi-daemon.socket -+After=systemd-resolved.service ++After=systemd-resolved.service connman.service [Service] Type=dbus diff --git a/poky/meta/recipes-connectivity/bind/bind_9.11.5-P4.bb b/poky/meta/recipes-connectivity/bind/bind_9.11.5-P4.bb index 93c406f77..69b117407 100644 --- a/poky/meta/recipes-connectivity/bind/bind_9.11.5-P4.bb +++ b/poky/meta/recipes-connectivity/bind/bind_9.11.5-P4.bb @@ -39,7 +39,7 @@ PACKAGECONFIG[httpstats] = "--with-libxml2=${STAGING_DIR_HOST}${prefix},--withou PACKAGECONFIG[readline] = "--with-readline=-lreadline,,readline" PACKAGECONFIG[libedit] = "--with-readline=-ledit,,libedit" PACKAGECONFIG[urandom] = "--with-randomdev=/dev/urandom,--with-randomdev=/dev/random,," -PACKAGECONFIG[python3] = "--with-python=${PYTHON} --with-python-install-dir=${D}/${PYTHON_SITEPACKAGES_DIR} , --without-python, python3-ply-native," +PACKAGECONFIG[python3] = "--with-python=yes --with-python-install-dir=${PYTHON_SITEPACKAGES_DIR} , --without-python, python3-ply-native," ENABLE_IPV6 = "--enable-ipv6=${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', 'yes', 'no', d)}" EXTRA_OECONF = " ${ENABLE_IPV6} --with-libtool --enable-threads \ diff --git a/poky/meta/recipes-connectivity/bluez5/bluez5.inc b/poky/meta/recipes-connectivity/bluez5/bluez5.inc index bffd174c0..6c79ed060 100644 --- a/poky/meta/recipes-connectivity/bluez5/bluez5.inc +++ b/poky/meta/recipes-connectivity/bluez5/bluez5.inc @@ -57,6 +57,7 @@ SRC_URI = "\ file://0001-Makefile.am-Fix-a-race-issue-for-tools.patch \ file://CVE-2018-10910.patch \ file://gcc9-fixes.patch \ + file://0001-tools-Fix-build-after-y2038-changes-in-glibc.patch \ " S = "${WORKDIR}/bluez-${PV}" diff --git a/poky/meta/recipes-connectivity/bluez5/bluez5/0001-tools-Fix-build-after-y2038-changes-in-glibc.patch b/poky/meta/recipes-connectivity/bluez5/bluez5/0001-tools-Fix-build-after-y2038-changes-in-glibc.patch new file mode 100644 index 000000000..9ca20ae53 --- /dev/null +++ b/poky/meta/recipes-connectivity/bluez5/bluez5/0001-tools-Fix-build-after-y2038-changes-in-glibc.patch @@ -0,0 +1,68 @@ +From f36f71f60b1e68c0f12e615b9b128d089ec3dd19 Mon Sep 17 00:00:00 2001 +From: Bastien Nocera +Date: Fri, 7 Jun 2019 09:51:33 +0200 +Subject: [PATCH] tools: Fix build after y2038 changes in glibc + +The 32-bit SIOCGSTAMP has been deprecated. Use the deprecated name +to fix the build. + +Upstream-Status: backport commit f36f71f60b1e68c0f12e615b9b128d089ec3dd19 + +Signed-off-by: Bruce Ashfield + +--- + tools/l2test.c | 6 +++++- + tools/rctest.c | 6 +++++- + 2 files changed, 10 insertions(+), 2 deletions(-) + +diff --git a/tools/l2test.c b/tools/l2test.c +index e755ac881..e787c2ce2 100644 +--- a/tools/l2test.c ++++ b/tools/l2test.c +@@ -55,6 +55,10 @@ + #define BREDR_DEFAULT_PSM 0x1011 + #define LE_DEFAULT_PSM 0x0080 + ++#ifndef SIOCGSTAMP_OLD ++#define SIOCGSTAMP_OLD SIOCGSTAMP ++#endif ++ + /* Test modes */ + enum { + SEND, +@@ -907,7 +911,7 @@ static void recv_mode(int sk) + if (timestamp) { + struct timeval tv; + +- if (ioctl(sk, SIOCGSTAMP, &tv) < 0) { ++ if (ioctl(sk, SIOCGSTAMP_OLD, &tv) < 0) { + timestamp = 0; + memset(ts, 0, sizeof(ts)); + } else { +diff --git a/tools/rctest.c b/tools/rctest.c +index 94490f462..bc8ed875d 100644 +--- a/tools/rctest.c ++++ b/tools/rctest.c +@@ -50,6 +50,10 @@ + + #include "src/shared/util.h" + ++#ifndef SIOCGSTAMP_OLD ++#define SIOCGSTAMP_OLD SIOCGSTAMP ++#endif ++ + /* Test modes */ + enum { + SEND, +@@ -505,7 +509,7 @@ static void recv_mode(int sk) + if (timestamp) { + struct timeval tv; + +- if (ioctl(sk, SIOCGSTAMP, &tv) < 0) { ++ if (ioctl(sk, SIOCGSTAMP_OLD, &tv) < 0) { + timestamp = 0; + memset(ts, 0, sizeof(ts)); + } else { +-- +2.19.1 + diff --git a/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-Do-not-pass-null-pointer-to-freeaddrinfo.patch b/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-Do-not-pass-null-pointer-to-freeaddrinfo.patch deleted file mode 100644 index a44d1bf2f..000000000 --- a/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-Do-not-pass-null-pointer-to-freeaddrinfo.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 4f115fc314646500f7b4178d7248a02654c7cd10 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Fri, 30 Nov 2018 16:47:57 -0800 -Subject: [PATCH] Do not pass null pointer to freeaddrinfo() - -Passing null pointer as input parameter to freeaddrinfo() is undefined -behaviour, some libcs e.g. glibc might just call free() which does -accept null pointer but other libcs e.g. musl might not and instead -cause the program to segfault. Therefore do not rely on undefined -behaviour instead make it deterministic - -Upstream-Status: Pending - -Signed-off-by: Khem Raj ---- - support/export/client.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -Index: nfs-utils-2.3.2/support/export/client.c -=================================================================== ---- nfs-utils-2.3.2.orig/support/export/client.c -+++ nfs-utils-2.3.2/support/export/client.c -@@ -309,7 +309,8 @@ client_lookup(char *hname, int canonical - init_addrlist(clp, ai); - - out: -- freeaddrinfo(ai); -+ if (ai) -+ freeaddrinfo(ai); - return clp; - } - diff --git a/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-Makefile.am-fix-undefined-function-for-libnsm.a.patch b/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-Makefile.am-fix-undefined-function-for-libnsm.a.patch index aa551ebd1..fcb0e99b3 100644 --- a/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-Makefile.am-fix-undefined-function-for-libnsm.a.patch +++ b/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-Makefile.am-fix-undefined-function-for-libnsm.a.patch @@ -22,25 +22,28 @@ so rename ../support/misc/file.c to ../support/misc/misc.c. Upstream-Status: Submitted[https://marc.info/?l=linux-nfs&m=154502780423058&w=2] Signed-off-by: Mingli Yu + +Rebase it. + +Signed-off-by: Robert Yang --- support/misc/Makefile.am | 2 +- - support/misc/file.c | 111 ----------------------------------------------- - support/misc/misc.c | 111 +++++++++++++++++++++++++++++++++++++++++++++++ + support/misc/file.c | 111 --------------------------------------------------------------------------------------------------------------- + support/misc/misc.c | 111 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ support/nsm/Makefile.am | 2 +- 4 files changed, 113 insertions(+), 113 deletions(-) - delete mode 100644 support/misc/file.c - create mode 100644 support/misc/misc.c diff --git a/support/misc/Makefile.am b/support/misc/Makefile.am -index 8936b0d..d4c1f76 100644 +index f9993e3..8b0e9db 100644 --- a/support/misc/Makefile.am +++ b/support/misc/Makefile.am -@@ -1,6 +1,6 @@ +@@ -1,7 +1,7 @@ ## Process this file with automake to produce Makefile.in noinst_LIBRARIES = libmisc.a --libmisc_a_SOURCES = tcpwrapper.c from_local.c mountpoint.c file.c -+libmisc_a_SOURCES = tcpwrapper.c from_local.c mountpoint.c misc.c +-libmisc_a_SOURCES = tcpwrapper.c from_local.c mountpoint.c file.c \ ++libmisc_a_SOURCES = tcpwrapper.c from_local.c mountpoint.c misc.c \ + nfsd_path.c workqueue.c xstat.c MAINTAINERCLEANFILES = Makefile.in diff --git a/support/misc/file.c b/support/misc/file.c @@ -290,6 +293,3 @@ index 8f5874e..68f1a46 100644 BUILT_SOURCES = $(GENFILES) --- -2.7.4 - diff --git a/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-Makefile.am-update-the-path-of-libnfs.a.patch b/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-Makefile.am-update-the-path-of-libnfs.a.patch deleted file mode 100644 index 906ac0f90..000000000 --- a/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-Makefile.am-update-the-path-of-libnfs.a.patch +++ /dev/null @@ -1,50 +0,0 @@ -From fcece65d1b713eaeef41706898440302f8ce92d9 Mon Sep 17 00:00:00 2001 -From: Mingli Yu -Date: Thu, 12 Jul 2018 15:19:41 +0800 -Subject: [PATCH] Makefile.am: update the path of libnfs.a - -The libnfs.a is under ../support/nfs/.libs/ now, -update the reference path accordingly to fix below -build error when run "make -C tests statdb_dump": -| make: *** No rule to make target '../support/nfs/libnfs.a', needed by 'statdb_dump'. Stop. - -And below error when run "make -C tests/nsm_client nsm_client" -| make: *** No rule to make target '../../support/nfs/libnfs.a', needed by 'nsm_client'. Stop. - -Upstream-Status: Submitted[https://marc.info/?l=linux-nfs&m=154502636522745&w=2] - -Signed-off-by: Mingli Yu ---- - tests/Makefile.am | 2 +- - tests/nsm_client/Makefile.am | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/tests/Makefile.am b/tests/Makefile.am -index 1f96264..74aa629 100644 ---- a/tests/Makefile.am -+++ b/tests/Makefile.am -@@ -3,7 +3,7 @@ - check_PROGRAMS = statdb_dump - statdb_dump_SOURCES = statdb_dump.c - --statdb_dump_LDADD = ../support/nfs/libnfs.a \ -+statdb_dump_LDADD = ../support/nfs/.libs/libnfs.a \ - ../support/nsm/libnsm.a $(LIBCAP) - - SUBDIRS = nsm_client -diff --git a/tests/nsm_client/Makefile.am b/tests/nsm_client/Makefile.am -index a8fc131..43db9c2 100644 ---- a/tests/nsm_client/Makefile.am -+++ b/tests/nsm_client/Makefile.am -@@ -13,7 +13,7 @@ check_PROGRAMS = nsm_client - nsm_client_SOURCES = $(GENFILES) nsm_client.c - - BUILT_SOURCES = $(GENFILES) --nsm_client_LDADD = ../../support/nfs/libnfs.a \ -+nsm_client_LDADD = ../../support/nfs/.libs/libnfs.a \ - ../../support/nsm/libnsm.a $(LIBCAP) $(LIBTIRPC) - - if CONFIG_RPCGEN --- -2.7.4 - diff --git a/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-configure.ac-Do-not-fatalize-Wmissing-prototypes.patch b/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-configure.ac-Do-not-fatalize-Wmissing-prototypes.patch index 17aabb9e4..d14f0789f 100644 --- a/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-configure.ac-Do-not-fatalize-Wmissing-prototypes.patch +++ b/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-configure.ac-Do-not-fatalize-Wmissing-prototypes.patch @@ -26,18 +26,15 @@ Signed-off-by: Mingli Yu 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac -index e82ff14..d0cc5d5 100644 +index 50002b4..aebff01 100644 --- a/configure.ac +++ b/configure.ac -@@ -548,7 +548,7 @@ my_am_cflags="\ +@@ -582,7 +582,7 @@ my_am_cflags="\ -Wall \ -Wextra \ - -Werror=strict-prototypes \ + $rpcgen_cflags \ - -Werror=missing-prototypes \ + -Wmissing-prototypes \ -Werror=missing-declarations \ -Werror=format=2 \ -Werror=undef \ --- -2.7.4 - diff --git a/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/bugfix-adjust-statd-service-name.patch b/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/bugfix-adjust-statd-service-name.patch index 822939f0d..f13d7b380 100644 --- a/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/bugfix-adjust-statd-service-name.patch +++ b/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/bugfix-adjust-statd-service-name.patch @@ -12,20 +12,28 @@ instead but forgot to update the mount.nfs helper 'start-statd' accordingly. Upstream-Status: Inappropriate [other] Signed-off-by: Ulrich Ölmann + +Rebase it. + +Signed-off-by: Robert Yang --- - utils/statd/start-statd | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) + utils/statd/start-statd | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) -Index: nfs-utils-2.1.1/utils/statd/start-statd -=================================================================== ---- nfs-utils-2.1.1.orig/utils/statd/start-statd -+++ nfs-utils-2.1.1/utils/statd/start-statd -@@ -28,7 +28,7 @@ fi +diff --git a/utils/statd/start-statd b/utils/statd/start-statd +index af5c950..df9b9be 100755 +--- a/utils/statd/start-statd ++++ b/utils/statd/start-statd +@@ -28,10 +28,10 @@ fi # First try systemd if it's installed. if [ -d /run/systemd/system ]; then # Quit only if the call worked. -- systemctl start rpc-statd.service && exit -+ systemctl start nfs-statd.service && exit +- if systemctl start rpc-statd.service; then ++ if systemctl start nfs-statd.service; then + # Ensure systemd knows not to stop rpc.statd or its dependencies + # on 'systemctl isolate ..' +- systemctl add-wants --runtime remote-fs.target rpc-statd.service ++ systemctl add-wants --runtime remote-fs.target nfs-statd.service + exit 0 + fi fi - - cd / diff --git a/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-utils-musl-limits.patch b/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-utils-musl-limits.patch deleted file mode 100644 index 25ca41515..000000000 --- a/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-utils-musl-limits.patch +++ /dev/null @@ -1,133 +0,0 @@ -Fixed: -| file.c: In function 'generic_make_pathname': -| file.c:48:13: error: 'PATH_MAX' undeclared (first use in this function); did you mean 'RAND_MAX'? -| if (size > PATH_MAX) -| ^~~~~~~~ -[snip] - -Upstream-Status: Pending [https://git.alpinelinux.org/cgit/aports/tree/main/nfs-utils/limits.patch?id=f6734a77d3caee73325f8cc1f77d1b5117a75096] - -Signed-off-by: Robert Yang ---- - support/export/export.c | 1 + - support/export/xtab.c | 1 + - support/misc/file.c | 1 + - support/nfs/xcommon.c | 1 + - support/nsm/file.c | 1 + - utils/blkmapd/device-discovery.c | 1 + - utils/gssd/krb5_util.c | 1 + - utils/mountd/cache.c | 1 + - utils/mountd/mountd.c | 1 + - utils/mountd/rmtab.c | 1 + - 10 files changed, 10 insertions(+) - -diff --git a/support/export/export.c b/support/export/export.c ---- a/support/export/export.c -+++ b/support/export/export.c -@@ -17,6 +17,7 @@ - #include - #include - #include -+#include - #include "xmalloc.h" - #include "nfslib.h" - #include "exportfs.h" -diff --git a/support/export/xtab.c b/support/export/xtab.c ---- a/support/export/xtab.c -+++ b/support/export/xtab.c -@@ -18,6 +18,7 @@ - #include - #include - #include -+#include - - #include "nfslib.h" - #include "exportfs.h" -diff --git a/support/misc/file.c b/support/misc/file.c ---- a/support/misc/file.c -+++ b/support/misc/file.c -@@ -27,6 +27,7 @@ - #include - #include - #include -+#include - - #include "xlog.h" - #include "misc.h" -diff --git a/support/nfs/xcommon.c b/support/nfs/xcommon.c ---- a/support/nfs/xcommon.c -+++ b/support/nfs/xcommon.c -@@ -16,6 +16,7 @@ - #include - #include - #include -+#include - - #include "xcommon.h" - #include "nls.h" /* _() */ -diff --git a/support/nsm/file.c b/support/nsm/file.c ---- a/support/nsm/file.c -+++ b/support/nsm/file.c -@@ -85,6 +85,7 @@ - #include - #include - #include -+#include - - #include "xlog.h" - #include "nsm.h" -diff --git a/utils/blkmapd/device-discovery.c b/utils/blkmapd/device-discovery.c ---- a/utils/blkmapd/device-discovery.c -+++ b/utils/blkmapd/device-discovery.c -@@ -49,6 +49,7 @@ - #include - #include - #include -+#include - #include - - #ifdef HAVE_CONFIG_H -diff --git a/utils/gssd/krb5_util.c b/utils/gssd/krb5_util.c ---- a/utils/gssd/krb5_util.c -+++ b/utils/gssd/krb5_util.c -@@ -120,6 +120,7 @@ - #endif - #include - #include -+#include - - #include "gssd.h" - #include "err_util.h" -diff --git a/utils/mountd/cache.c b/utils/mountd/cache.c ---- a/utils/mountd/cache.c -+++ b/utils/mountd/cache.c -@@ -26,6 +26,7 @@ - #include - #include - #include -+#include - #include "misc.h" - #include "nfslib.h" - #include "exportfs.h" -diff --git a/utils/mountd/mountd.c b/utils/mountd/mountd.c ---- a/utils/mountd/mountd.c -+++ b/utils/mountd/mountd.c -@@ -22,6 +22,7 @@ - #include - #include - #include -+#include - - #include "conffile.h" - #include "xmalloc.h" -diff --git a/utils/mountd/rmtab.c b/utils/mountd/rmtab.c ---- a/utils/mountd/rmtab.c -+++ b/utils/mountd/rmtab.c -@@ -16,6 +16,7 @@ - #include - #include - #include -+#include - - #include "misc.h" - #include "exportfs.h" diff --git a/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-utils-musl-res_querydomain.patch b/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-utils-musl-res_querydomain.patch index 22002fadc..921f5edc8 100644 --- a/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-utils-musl-res_querydomain.patch +++ b/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-utils-musl-res_querydomain.patch @@ -11,30 +11,19 @@ Upstream-Status: Pending [https://github.com/alpinelinux/aports/blob/master/main Signed-off-by: Robert Yang --- - configure.ac | 13 ++++++------- - 1 file changed, 6 insertions(+), 7 deletions(-) + configure.ac | 9 ++++----- + 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/configure.ac b/configure.ac -index 276dec3..760238b 100644 +index 50002b4..dcadb23 100644 --- a/configure.ac +++ b/configure.ac -@@ -408,7 +408,7 @@ if test "$enable_gss" = yes; then - fi - - dnl libdnsidmap specific checks --AC_CHECK_LIB([resolv], [__res_querydomain], , AC_MSG_ERROR(res_querydomain needed)) -+AC_CHECK_LIB([resolv], [res_querydomain], , AC_MSG_ERROR(res_querydomain needed)) - - AC_ARG_ENABLE([ldap], - [AS_HELP_STRING([--disable-ldap],[Disable support for LDAP @<:default=detect@:>@])]) -@@ -547,11 +547,11 @@ my_am_cflags="\ - -pipe \ +@@ -582,10 +582,10 @@ my_am_cflags="\ -Wall \ -Wextra \ -- -Werror=strict-prototypes \ + $rpcgen_cflags \ - -Werror=missing-prototypes \ - -Werror=missing-declarations \ -+ -Wstrict-prototypes \ + -Wmissing-prototypes \ + -Wmissing-declarations \ -Werror=format=2 \ @@ -43,7 +32,7 @@ index 276dec3..760238b 100644 -Werror=missing-include-dirs \ -Werror=strict-aliasing=2 \ -Werror=init-self \ -@@ -579,10 +579,9 @@ AC_DEFUN([CHECK_CCSUPPORT], [ +@@ -614,10 +614,9 @@ AC_DEFUN([CHECK_CCSUPPORT], [ CHECK_CCSUPPORT([-Werror=format-overflow=2], [flg1]) CHECK_CCSUPPORT([-Werror=int-conversion], [flg2]) diff --git a/poky/meta/recipes-connectivity/nfs-utils/nfs-utils_2.3.3.bb b/poky/meta/recipes-connectivity/nfs-utils/nfs-utils_2.3.3.bb deleted file mode 100644 index 28f98980d..000000000 --- a/poky/meta/recipes-connectivity/nfs-utils/nfs-utils_2.3.3.bb +++ /dev/null @@ -1,157 +0,0 @@ -SUMMARY = "userspace utilities for kernel nfs" -DESCRIPTION = "The nfs-utils package provides a daemon for the kernel \ -NFS server and related tools." -HOMEPAGE = "http://nfs.sourceforge.net/" -SECTION = "console/network" - -LICENSE = "MIT & GPLv2+ & BSD" -LIC_FILES_CHKSUM = "file://COPYING;md5=95f3a93a5c3c7888de623b46ea085a84" - -# util-linux for libblkid -DEPENDS = "libcap libevent util-linux sqlite3 libtirpc" -RDEPENDS_${PN} = "${PN}-client bash" -RRECOMMENDS_${PN} = "kernel-module-nfsd" - -inherit useradd - -USERADD_PACKAGES = "${PN}-client" -USERADD_PARAM_${PN}-client = "--system --home-dir /var/lib/nfs \ - --shell /bin/false --user-group rpcuser" - -SRC_URI = "${KERNELORG_MIRROR}/linux/utils/nfs-utils/${PV}/nfs-utils-${PV}.tar.xz \ - file://nfsserver \ - file://nfscommon \ - file://nfs-utils.conf \ - file://nfs-server.service \ - file://nfs-mountd.service \ - file://nfs-statd.service \ - file://proc-fs-nfsd.mount \ - file://nfs-utils-debianize-start-statd.patch \ - file://bugfix-adjust-statd-service-name.patch \ - file://nfs-utils-musl-limits.patch \ - file://0001-cacheio-use-intmax_t-for-formatted-IO.patch \ - file://0001-Do-not-pass-null-pointer-to-freeaddrinfo.patch \ - file://clang-format-string.patch \ - file://0001-Makefile.am-update-the-path-of-libnfs.a.patch \ - file://0001-Makefile.am-fix-undefined-function-for-libnsm.a.patch \ - file://0001-Don-t-build-tools-with-CC_FOR_BUILD.patch \ -" -SRC_URI_append_libc-glibc = " file://0001-configure.ac-Do-not-fatalize-Wmissing-prototypes.patch" -SRC_URI_append_libc-musl = " file://nfs-utils-musl-res_querydomain.patch" - -SRC_URI[md5sum] = "b6c9c032995af1c08fea9fbcc1ce33e9" -SRC_URI[sha256sum] = "f68b34793831b05f1fd5760d6bdec92772c7684177586a99a61e7b444f336322" - -# Only kernel-module-nfsd is required here (but can be built-in) - the nfsd module will -# pull in the remainder of the dependencies. - -INITSCRIPT_PACKAGES = "${PN} ${PN}-client" -INITSCRIPT_NAME = "nfsserver" -INITSCRIPT_PARAMS = "defaults" -INITSCRIPT_NAME_${PN}-client = "nfscommon" -INITSCRIPT_PARAMS_${PN}-client = "defaults 19 21" - -inherit autotools-brokensep update-rc.d systemd pkgconfig - -SYSTEMD_PACKAGES = "${PN} ${PN}-client" -SYSTEMD_SERVICE_${PN} = "nfs-server.service nfs-mountd.service" -SYSTEMD_SERVICE_${PN}-client = "nfs-statd.service" - -# --enable-uuid is need for cross-compiling -EXTRA_OECONF = "--with-statduser=rpcuser \ - --enable-mountconfig \ - --enable-libmount-mount \ - --enable-uuid \ - --disable-gss \ - --disable-nfsdcltrack \ - --with-statdpath=/var/lib/nfs/statd \ - " - -CFLAGS += "-Wno-error=format-overflow" - -PACKAGECONFIG ??= "tcp-wrappers \ - ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} \ -" -PACKAGECONFIG_remove_libc-musl = "tcp-wrappers" -PACKAGECONFIG[tcp-wrappers] = "--with-tcp-wrappers,--without-tcp-wrappers,tcp-wrappers" -PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6," -# libdevmapper is available in meta-oe -PACKAGECONFIG[nfsv41] = "--enable-nfsv41,--disable-nfsv41,libdevmapper" -# keyutils is available in meta-security -PACKAGECONFIG[nfsv4] = "--enable-nfsv4,--disable-nfsv4,keyutils" - -PACKAGES =+ "${PN}-client ${PN}-mount ${PN}-stats" - -CONFFILES_${PN}-client += "${localstatedir}/lib/nfs/etab \ - ${localstatedir}/lib/nfs/rmtab \ - ${localstatedir}/lib/nfs/xtab \ - ${localstatedir}/lib/nfs/statd/state \ - ${sysconfdir}/nfsmount.conf" - -FILES_${PN}-client = "${sbindir}/*statd \ - ${sbindir}/rpc.idmapd ${sbindir}/sm-notify \ - ${sbindir}/showmount ${sbindir}/nfsstat \ - ${localstatedir}/lib/nfs \ - ${sysconfdir}/nfs-utils.conf \ - ${sysconfdir}/nfsmount.conf \ - ${sysconfdir}/init.d/nfscommon \ - ${systemd_unitdir}/system/nfs-statd.service" -RDEPENDS_${PN}-client = "${PN}-mount rpcbind" - -FILES_${PN}-mount = "${base_sbindir}/*mount.nfs*" - -FILES_${PN}-stats = "${sbindir}/mountstats ${sbindir}/nfsiostat" -RDEPENDS_${PN}-stats = "python3-core" - -FILES_${PN} += "${systemd_unitdir}" - -do_configure_prepend() { - sed -i -e 's,sbindir = /sbin,sbindir = ${base_sbindir},g' \ - ${S}/utils/mount/Makefile.am - - sed -i -e 's,sbindir = /sbin,sbindir = ${base_sbindir},g' \ - ${S}/utils/osd_login/Makefile.am -} - -# Make clean needed because the package comes with -# precompiled 64-bit objects that break the build -do_compile_prepend() { - make clean -} - -# Works on systemd only -HIGH_RLIMIT_NOFILE ??= "4096" - -do_install_append () { - install -d ${D}${sysconfdir}/init.d - install -m 0755 ${WORKDIR}/nfsserver ${D}${sysconfdir}/init.d/nfsserver - install -m 0755 ${WORKDIR}/nfscommon ${D}${sysconfdir}/init.d/nfscommon - - install -m 0755 ${WORKDIR}/nfs-utils.conf ${D}${sysconfdir} - install -m 0755 ${S}/utils/mount/nfsmount.conf ${D}${sysconfdir} - - install -d ${D}${systemd_unitdir}/system - install -m 0644 ${WORKDIR}/nfs-server.service ${D}${systemd_unitdir}/system/ - install -m 0644 ${WORKDIR}/nfs-mountd.service ${D}${systemd_unitdir}/system/ - install -m 0644 ${WORKDIR}/nfs-statd.service ${D}${systemd_unitdir}/system/ - sed -i -e 's,@SBINDIR@,${sbindir},g' \ - -e 's,@SYSCONFDIR@,${sysconfdir},g' \ - -e 's,@HIGH_RLIMIT_NOFILE@,${HIGH_RLIMIT_NOFILE},g' \ - ${D}${systemd_unitdir}/system/*.service - if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then - install -m 0644 ${WORKDIR}/proc-fs-nfsd.mount ${D}${systemd_unitdir}/system/ - install -d ${D}${systemd_unitdir}/system/sysinit.target.wants/ - ln -sf ../proc-fs-nfsd.mount ${D}${systemd_unitdir}/system/sysinit.target.wants/proc-fs-nfsd.mount - fi - - # kernel code as of 3.8 hard-codes this path as a default - install -d ${D}/var/lib/nfs/v4recovery - - # chown the directories and files - chown -R rpcuser:rpcuser ${D}${localstatedir}/lib/nfs/statd - chmod 0644 ${D}${localstatedir}/lib/nfs/statd/state - - # Make python tools use python 3 - sed -i -e '1s,#!.*python.*,#!${bindir}/python3,' ${D}${sbindir}/mountstats ${D}${sbindir}/nfsiostat - -} diff --git a/poky/meta/recipes-connectivity/nfs-utils/nfs-utils_2.4.1.bb b/poky/meta/recipes-connectivity/nfs-utils/nfs-utils_2.4.1.bb new file mode 100644 index 000000000..8b673c8f5 --- /dev/null +++ b/poky/meta/recipes-connectivity/nfs-utils/nfs-utils_2.4.1.bb @@ -0,0 +1,151 @@ +SUMMARY = "userspace utilities for kernel nfs" +DESCRIPTION = "The nfs-utils package provides a daemon for the kernel \ +NFS server and related tools." +HOMEPAGE = "http://nfs.sourceforge.net/" +SECTION = "console/network" + +LICENSE = "MIT & GPLv2+ & BSD" +LIC_FILES_CHKSUM = "file://COPYING;md5=95f3a93a5c3c7888de623b46ea085a84" + +# util-linux for libblkid +DEPENDS = "libcap libevent util-linux sqlite3 libtirpc" +RDEPENDS_${PN} = "${PN}-client bash" +RRECOMMENDS_${PN} = "kernel-module-nfsd" + +inherit useradd + +USERADD_PACKAGES = "${PN}-client" +USERADD_PARAM_${PN}-client = "--system --home-dir /var/lib/nfs \ + --shell /bin/false --user-group rpcuser" + +SRC_URI = "${KERNELORG_MIRROR}/linux/utils/nfs-utils/${PV}/nfs-utils-${PV}.tar.xz \ + file://nfsserver \ + file://nfscommon \ + file://nfs-utils.conf \ + file://nfs-server.service \ + file://nfs-mountd.service \ + file://nfs-statd.service \ + file://proc-fs-nfsd.mount \ + file://nfs-utils-debianize-start-statd.patch \ + file://bugfix-adjust-statd-service-name.patch \ + file://0001-cacheio-use-intmax_t-for-formatted-IO.patch \ + file://clang-format-string.patch \ + file://0001-Makefile.am-fix-undefined-function-for-libnsm.a.patch \ + file://0001-Don-t-build-tools-with-CC_FOR_BUILD.patch \ +" +SRC_URI_append_libc-glibc = " file://0001-configure.ac-Do-not-fatalize-Wmissing-prototypes.patch" +SRC_URI_append_libc-musl = " file://nfs-utils-musl-res_querydomain.patch" + +SRC_URI[md5sum] = "161efe469ec1b06f1c750bd87f8ba6dd" +SRC_URI[sha256sum] = "85274ada94479b1beba9f8eeffd19f477c53a6710b9998d1192c807854087736" + +# Only kernel-module-nfsd is required here (but can be built-in) - the nfsd module will +# pull in the remainder of the dependencies. + +INITSCRIPT_PACKAGES = "${PN} ${PN}-client" +INITSCRIPT_NAME = "nfsserver" +INITSCRIPT_PARAMS = "defaults" +INITSCRIPT_NAME_${PN}-client = "nfscommon" +INITSCRIPT_PARAMS_${PN}-client = "defaults 19 21" + +inherit autotools-brokensep update-rc.d systemd pkgconfig + +SYSTEMD_PACKAGES = "${PN} ${PN}-client" +SYSTEMD_SERVICE_${PN} = "nfs-server.service nfs-mountd.service" +SYSTEMD_SERVICE_${PN}-client = "nfs-statd.service" + +# --enable-uuid is need for cross-compiling +EXTRA_OECONF = "--with-statduser=rpcuser \ + --enable-mountconfig \ + --enable-libmount-mount \ + --enable-uuid \ + --disable-gss \ + --disable-nfsdcltrack \ + --with-statdpath=/var/lib/nfs/statd \ + " + +CFLAGS += "-Wno-error=format-overflow" + +PACKAGECONFIG ??= "tcp-wrappers \ + ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} \ +" +PACKAGECONFIG_remove_libc-musl = "tcp-wrappers" +PACKAGECONFIG[tcp-wrappers] = "--with-tcp-wrappers,--without-tcp-wrappers,tcp-wrappers" +PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6," +# libdevmapper is available in meta-oe +PACKAGECONFIG[nfsv41] = "--enable-nfsv41,--disable-nfsv41,libdevmapper" +# keyutils is available in meta-security +PACKAGECONFIG[nfsv4] = "--enable-nfsv4,--disable-nfsv4,keyutils" + +PACKAGES =+ "${PN}-client ${PN}-mount ${PN}-stats" + +CONFFILES_${PN}-client += "${localstatedir}/lib/nfs/etab \ + ${localstatedir}/lib/nfs/rmtab \ + ${localstatedir}/lib/nfs/xtab \ + ${localstatedir}/lib/nfs/statd/state \ + ${sysconfdir}/nfsmount.conf" + +FILES_${PN}-client = "${sbindir}/*statd \ + ${sbindir}/rpc.idmapd ${sbindir}/sm-notify \ + ${sbindir}/showmount ${sbindir}/nfsstat \ + ${localstatedir}/lib/nfs \ + ${sysconfdir}/nfs-utils.conf \ + ${sysconfdir}/nfsmount.conf \ + ${sysconfdir}/init.d/nfscommon \ + ${systemd_unitdir}/system/nfs-statd.service" +RDEPENDS_${PN}-client = "${PN}-mount rpcbind" + +FILES_${PN}-mount = "${base_sbindir}/*mount.nfs*" + +FILES_${PN}-stats = "${sbindir}/mountstats ${sbindir}/nfsiostat" +RDEPENDS_${PN}-stats = "python3-core" + +FILES_${PN} += "${systemd_unitdir}" + +do_configure_prepend() { + sed -i -e 's,sbindir = /sbin,sbindir = ${base_sbindir},g' \ + ${S}/utils/mount/Makefile.am +} + +# Make clean needed because the package comes with +# precompiled 64-bit objects that break the build +do_compile_prepend() { + make clean +} + +# Works on systemd only +HIGH_RLIMIT_NOFILE ??= "4096" + +do_install_append () { + install -d ${D}${sysconfdir}/init.d + install -m 0755 ${WORKDIR}/nfsserver ${D}${sysconfdir}/init.d/nfsserver + install -m 0755 ${WORKDIR}/nfscommon ${D}${sysconfdir}/init.d/nfscommon + + install -m 0755 ${WORKDIR}/nfs-utils.conf ${D}${sysconfdir} + install -m 0755 ${S}/utils/mount/nfsmount.conf ${D}${sysconfdir} + + install -d ${D}${systemd_unitdir}/system + install -m 0644 ${WORKDIR}/nfs-server.service ${D}${systemd_unitdir}/system/ + install -m 0644 ${WORKDIR}/nfs-mountd.service ${D}${systemd_unitdir}/system/ + install -m 0644 ${WORKDIR}/nfs-statd.service ${D}${systemd_unitdir}/system/ + sed -i -e 's,@SBINDIR@,${sbindir},g' \ + -e 's,@SYSCONFDIR@,${sysconfdir},g' \ + -e 's,@HIGH_RLIMIT_NOFILE@,${HIGH_RLIMIT_NOFILE},g' \ + ${D}${systemd_unitdir}/system/*.service + if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then + install -m 0644 ${WORKDIR}/proc-fs-nfsd.mount ${D}${systemd_unitdir}/system/ + install -d ${D}${systemd_unitdir}/system/sysinit.target.wants/ + ln -sf ../proc-fs-nfsd.mount ${D}${systemd_unitdir}/system/sysinit.target.wants/proc-fs-nfsd.mount + fi + + # kernel code as of 3.8 hard-codes this path as a default + install -d ${D}/var/lib/nfs/v4recovery + + # chown the directories and files + chown -R rpcuser:rpcuser ${D}${localstatedir}/lib/nfs/statd + chmod 0644 ${D}${localstatedir}/lib/nfs/statd/state + + # Make python tools use python 3 + sed -i -e '1s,#!.*python.*,#!${bindir}/python3,' ${D}${sbindir}/mountstats ${D}${sbindir}/nfsiostat + +} diff --git a/poky/meta/recipes-core/base-files/base-files_3.0.14.bb b/poky/meta/recipes-core/base-files/base-files_3.0.14.bb index 4b4027f18..2b1f217dd 100644 --- a/poky/meta/recipes-core/base-files/base-files_3.0.14.bb +++ b/poky/meta/recipes-core/base-files/base-files_3.0.14.bb @@ -129,7 +129,6 @@ do_install () { install -m 0644 ${WORKDIR}/shells ${D}${sysconfdir}/shells install -m 0755 ${WORKDIR}/share/dot.profile ${D}${sysconfdir}/skel/.profile install -m 0755 ${WORKDIR}/share/dot.bashrc ${D}${sysconfdir}/skel/.bashrc - install -m 0644 ${WORKDIR}/nsswitch.conf ${D}${sysconfdir}/nsswitch.conf install -m 0644 ${WORKDIR}/host.conf ${D}${sysconfdir}/host.conf install -m 0644 ${WORKDIR}/motd ${D}${sysconfdir}/motd @@ -142,6 +141,10 @@ do_install () { fi } +do_install_append_libc-glibc () { + install -m 0644 ${WORKDIR}/nsswitch.conf ${D}${sysconfdir}/nsswitch.conf +} + DISTRO_VERSION[vardepsexclude] += "DATE" do_install_basefilesissue () { install -m 644 ${WORKDIR}/issue* ${D}${sysconfdir} diff --git a/poky/meta/recipes-core/dropbear/dropbear.inc b/poky/meta/recipes-core/dropbear/dropbear.inc index dcbda741c..7269888a4 100644 --- a/poky/meta/recipes-core/dropbear/dropbear.inc +++ b/poky/meta/recipes-core/dropbear/dropbear.inc @@ -70,8 +70,13 @@ do_install() { install -m 0644 ${WORKDIR}/dropbear.default ${D}${sysconfdir}/default/dropbear install -m 0755 dropbearmulti ${D}${sbindir}/ - ln -s ${sbindir}/dropbearmulti ${D}${bindir}/dbclient + for i in ${BINCOMMANDS} + do + # ssh and scp symlinks are created by update-alternatives + if [ $i = ssh ] || [ $i = scp ]; then continue; fi + ln -s ${sbindir}/dropbearmulti ${D}${bindir}/$i + done for i in ${SBINCOMMANDS} do ln -s ./dropbearmulti ${D}${sbindir}/$i @@ -101,7 +106,7 @@ do_install() { inherit update-alternatives ALTERNATIVE_PRIORITY = "20" -ALTERNATIVE_${PN} = "scp ssh" +ALTERNATIVE_${PN} = "${@bb.utils.filter('BINCOMMANDS', 'scp ssh', d)}" ALTERNATIVE_TARGET = "${sbindir}/dropbearmulti" @@ -113,3 +118,5 @@ pkg_postrm_append_${PN} () { rm ${sysconfdir}/dropbear/dropbear_dss_host_key fi } + +FILES_${PN} += "${bindir}" diff --git a/poky/meta/recipes-core/ell/ell_0.21.bb b/poky/meta/recipes-core/ell/ell_0.21.bb deleted file mode 100644 index 487fbccab..000000000 --- a/poky/meta/recipes-core/ell/ell_0.21.bb +++ /dev/null @@ -1,22 +0,0 @@ -SUMMARY = "Embedded Linux Library" -DESCRIPTION = "The Embedded Linux Library (ELL) provides core, \ -low-level functionality for system daemons. It typically has no \ -dependencies other than the Linux kernel, C standard library, and \ -libdl (for dynamic linking). While ELL is designed to be efficient \ -and compact enough for use on embedded Linux platforms, it is not \ -limited to resource-constrained systems." -SECTION = "libs" -LICENSE = "LGPLv2.1" -LIC_FILES_CHKSUM = "file://COPYING;md5=fb504b67c50331fc78734fed90fb0e09" - -DEPENDS = "dbus" - -inherit autotools pkgconfig - -SRC_URI = "https://mirrors.edge.kernel.org/pub/linux/libs/${BPN}/${BPN}-${PV}.tar.xz" -SRC_URI[md5sum] = "f94f8c812b0426b0c30b651fa5142dd9" -SRC_URI[sha256sum] = "a0db4e3057ba41035637354b6af2aa4c74f83509e0c3e563d682df9d72eaff17" - -do_configure_prepend () { - mkdir -p ${S}/build-aux -} diff --git a/poky/meta/recipes-core/ell/ell_0.22.bb b/poky/meta/recipes-core/ell/ell_0.22.bb new file mode 100644 index 000000000..b3942fc30 --- /dev/null +++ b/poky/meta/recipes-core/ell/ell_0.22.bb @@ -0,0 +1,22 @@ +SUMMARY = "Embedded Linux Library" +DESCRIPTION = "The Embedded Linux Library (ELL) provides core, \ +low-level functionality for system daemons. It typically has no \ +dependencies other than the Linux kernel, C standard library, and \ +libdl (for dynamic linking). While ELL is designed to be efficient \ +and compact enough for use on embedded Linux platforms, it is not \ +limited to resource-constrained systems." +SECTION = "libs" +LICENSE = "LGPLv2.1" +LIC_FILES_CHKSUM = "file://COPYING;md5=fb504b67c50331fc78734fed90fb0e09" + +DEPENDS = "dbus" + +inherit autotools pkgconfig + +SRC_URI = "https://mirrors.edge.kernel.org/pub/linux/libs/${BPN}/${BPN}-${PV}.tar.xz" +SRC_URI[md5sum] = "a4e7d74404f11e71775b89f53a8f1c33" +SRC_URI[sha256sum] = "3c1d6d997e17dfcbe4ebcd1331d9a7be5c64f2f0a0813bc223790e570d8da2e3" + +do_configure_prepend () { + mkdir -p ${S}/build-aux +} 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 deleted file mode 100644 index 4d4fe6491..000000000 --- a/poky/meta/recipes-core/glib-networking/glib-networking_2.60.2.bb +++ /dev/null @@ -1,32 +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] = "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/glib-networking/glib-networking_2.60.3.bb b/poky/meta/recipes-core/glib-networking/glib-networking_2.60.3.bb new file mode 100644 index 000000000..d893b7a3a --- /dev/null +++ b/poky/meta/recipes-core/glib-networking/glib-networking_2.60.3.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] = "e8fd0462a82269fb4bbd6c07a1e7d0f4" +SRC_URI[archive.sha256sum] = "d50183046a4ff955d8cc7e953067cdfc94f14dbfda3024bf377ff37a3121dcd5" + +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-package.inc b/poky/meta/recipes-core/glibc/glibc-package.inc index f796876a8..9b1e7b790 100644 --- a/poky/meta/recipes-core/glibc/glibc-package.inc +++ b/poky/meta/recipes-core/glibc/glibc-package.inc @@ -88,14 +88,7 @@ do_install_append () { rm -f ${D}${sysconfdir}/ld.so.conf rm -f ${D}${base_sbindir}/ldconfig # This directory will be empty now so remove it too. - # But check whether it exists first, since it won't for glibc-initial. - if [ -d ${D}${sysconfdir} ]; then - rmdir ${D}${sysconfdir} - fi - fi - - if echo ${PN}|grep -q "glibc-initial"; then - return + rmdir ${D}${sysconfdir} fi install -d ${D}${sysconfdir}/init.d diff --git a/poky/meta/recipes-core/glibc/glibc-testsuite_2.30.bb b/poky/meta/recipes-core/glibc/glibc-testsuite_2.30.bb new file mode 100644 index 000000000..64fa8d87d --- /dev/null +++ b/poky/meta/recipes-core/glibc/glibc-testsuite_2.30.bb @@ -0,0 +1,53 @@ +require glibc_${PV}.bb + +# handle PN differences +FILESEXTRAPATHS_prepend := "${THISDIR}/glibc:" + +# strip provides +PROVIDES = "" +# setup depends +INHIBIT_DEFAULT_DEPS = "" + +DEPENDS += "glibc-locale libgcc gcc-runtime" + +# remove the initial depends +DEPENDS_remove = "libgcc-initial" + +inherit qemu + +SRC_URI += "file://check-test-wrapper" + +DEPENDS += "${@'qemu-native' if d.getVar('TOOLCHAIN_TEST_TARGET') == 'user' else ''}" + +TOOLCHAIN_TEST_TARGET ??= "user" +TOOLCHAIN_TEST_HOST ??= "localhost" +TOOLCHAIN_TEST_HOST_USER ??= "root" +TOOLCHAIN_TEST_HOST_PORT ??= "2222" + +do_check[dirs] += "${B}" +do_check[nostamp] = "1" +do_check () { + chmod 0755 ${WORKDIR}/check-test-wrapper + + # clean out previous test results + oe_runmake tests-clean + # makefiles don't clean entirely (and also sometimes fails due to too many args) + find ${B} -type f -name "*.out" -delete + find ${B} -type f -name "*.test-result" -delete + find ${B}/catgets -name "*.cat" -delete + find ${B}/conform -name "symlist-*" -delete + [ ! -e ${B}/timezone/testdata ] || rm -rf ${B}/timezone/testdata + + oe_runmake -i \ + QEMU_SYSROOT="${RECIPE_SYSROOT}" \ + QEMU_OPTIONS="${@qemu_target_binary(d)} ${QEMU_OPTIONS}" \ + SSH_HOST="${TOOLCHAIN_TEST_HOST}" \ + SSH_HOST_USER="${TOOLCHAIN_TEST_HOST_USER}" \ + SSH_HOST_PORT="${TOOLCHAIN_TEST_HOST_PORT}" \ + test-wrapper="${WORKDIR}/check-test-wrapper ${TOOLCHAIN_TEST_TARGET}" \ + check +} +addtask do_check after do_compile + +inherit nopackages +deltask do_stash_locale diff --git a/poky/meta/recipes-core/glibc/glibc/check-test-wrapper b/poky/meta/recipes-core/glibc/glibc/check-test-wrapper new file mode 100644 index 000000000..f8e04e02d --- /dev/null +++ b/poky/meta/recipes-core/glibc/glibc/check-test-wrapper @@ -0,0 +1,71 @@ +#!/usr/bin/env python3 +import sys +import os +import subprocess + +env = os.environ.copy() +args = sys.argv[1:] +targettype = args.pop(0) + +if targettype == "user": + qemuargs = os.environ.get("QEMU_OPTIONS", "").split() + if not os.path.exists(qemuargs[0]): + # ensure qemu args has a valid absolute path + for i in os.environ.get("PATH", "").split(":"): + if os.path.exists(os.path.join(i, qemuargs[0])): + qemuargs[0] = os.path.join(i, qemuargs[0]) + break + sysroot = os.environ.get("QEMU_SYSROOT", None) + if not sysroot: + sys.exit(-1) + libpaths = [sysroot + "/usr/lib", sysroot + "/lib"] + + if args[0] == "env": + args.pop(0) + if len(args) == 0: + args = ["env"] + else: + # process options + while args[0].startswith("-"): + opt = args.pop(0).lstrip("-") + if "i" in opt: + env.clear() + # process environment vars + while "=" in args[0]: + key, val = args.pop(0).split("=", 1) + if key == "LD_LIBRARY_PATH": + libpaths += val.split(":") + else: + env[key] = val + if args[0] == "cp": + # ignore copies, the filesystem is the same + sys.exit(0) + + qemuargs += ["-L", sysroot] + qemuargs += ["-E", "LD_LIBRARY_PATH={}".format(":".join(libpaths))] + command = qemuargs + args +elif targettype == "ssh": + host = os.environ.get("SSH_HOST", None) + user = os.environ.get("SSH_HOST_USER", None) + port = os.environ.get("SSH_HOST_PORT", None) + + command = ["ssh", "-o", "UserKnownHostsFile=/dev/null", "-o", "StrictHostKeyChecking=no"] + if port: + command += ["-p", str(port)] + if not host: + sys.exit(-1) + command += ["{}@{}".format(user, host) if user else host] + + # wrap and replace quotes for correct transformation on ssh + wrapped = " ".join(["'{0}'".format(i.replace("'", r"'\''")) for i in ["cd", os.getcwd()]]) + "; " + wrapped += " ".join(["'{0}'".format(i.replace("'", r"'\''")) for i in args]) + command += ["sh", "-c", "\"{}\"".format(wrapped)] +else: + sys.exit(-1) + +try: + r = subprocess.run(command, timeout = 1800, env = env) + sys.exit(r.returncode) +except subprocess.TimeoutExpired: + sys.exit(-1) + 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 e9cac98c5..3f1b1c7a5 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 @@ -11,6 +11,8 @@ IMAGE_INSTALL = "packagegroup-core-boot packagegroup-core-ssh-openssh packagegro IMAGE_FEATURES += "x11-base package-management splash" +QB_MEM = '${@bb.utils.contains("DISTRO_FEATURES", "opengl", "-m 512", "-m 256", d)}' + # Ensure there's enough space to do a core-image-sato build, with rm_work enabled IMAGE_ROOTFS_EXTRA_SPACE = "41943040" diff --git a/poky/meta/recipes-core/initscripts/initscripts-1.0/populate-volatile.sh b/poky/meta/recipes-core/initscripts/initscripts-1.0/populate-volatile.sh index 6f965a687..1c525b71b 100755 --- a/poky/meta/recipes-core/initscripts/initscripts-1.0/populate-volatile.sh +++ b/poky/meta/recipes-core/initscripts/initscripts-1.0/populate-volatile.sh @@ -80,7 +80,7 @@ mk_dir() { link_file() { EXEC=" if [ -L \"$2\" ]; then - [ \"\$(readlink -f \"$2\")\" != \"$1\" ] && { rm -f \"$2\"; ln -sf \"$1\" \"$2\"; }; + [ \"\$(readlink \"$2\")\" != \"$1\" ] && { rm -f \"$2\"; ln -sf \"$1\" \"$2\"; }; elif [ -d \"$2\" ]; then if awk '\$2 == \"$2\" {exit 1}' /proc/mounts; then cp -a $2/* $1 2>/dev/null; diff --git a/poky/meta/recipes-core/libxcrypt/libxcrypt-compat_4.4.6.bb b/poky/meta/recipes-core/libxcrypt/libxcrypt-compat_4.4.6.bb deleted file mode 100644 index ebc4648a1..000000000 --- a/poky/meta/recipes-core/libxcrypt/libxcrypt-compat_4.4.6.bb +++ /dev/null @@ -1,18 +0,0 @@ -# -# This provides libcrypto.so.1 which contains obsolete APIs, needed for uninative in particular -# - -require libxcrypt_${PV}.bb - -PROVIDES = "" -AUTO_LIBNAME_PKGS = "" -EXCLUDE_FROM_WORLD = "1" - -API = "--enable-obsolete-api" - -do_install_append () { - rm -rf ${D}${includedir} - rm -rf ${D}${libdir}/pkgconfig - rm -rf ${D}${datadir} -} - diff --git a/poky/meta/recipes-core/libxcrypt/libxcrypt-compat_4.4.8.bb b/poky/meta/recipes-core/libxcrypt/libxcrypt-compat_4.4.8.bb new file mode 100644 index 000000000..ebc4648a1 --- /dev/null +++ b/poky/meta/recipes-core/libxcrypt/libxcrypt-compat_4.4.8.bb @@ -0,0 +1,18 @@ +# +# This provides libcrypto.so.1 which contains obsolete APIs, needed for uninative in particular +# + +require libxcrypt_${PV}.bb + +PROVIDES = "" +AUTO_LIBNAME_PKGS = "" +EXCLUDE_FROM_WORLD = "1" + +API = "--enable-obsolete-api" + +do_install_append () { + rm -rf ${D}${includedir} + rm -rf ${D}${libdir}/pkgconfig + rm -rf ${D}${datadir} +} + diff --git a/poky/meta/recipes-core/libxcrypt/libxcrypt_4.4.6.bb b/poky/meta/recipes-core/libxcrypt/libxcrypt_4.4.6.bb deleted file mode 100644 index 893f5e737..000000000 --- a/poky/meta/recipes-core/libxcrypt/libxcrypt_4.4.6.bb +++ /dev/null @@ -1,35 +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.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" - -API = "--disable-obsolete-api" -EXTRA_OECONF += "${API}" - -BBCLASSEXTEND = "nativesdk" diff --git a/poky/meta/recipes-core/libxcrypt/libxcrypt_4.4.8.bb b/poky/meta/recipes-core/libxcrypt/libxcrypt_4.4.8.bb new file mode 100644 index 000000000..1787f6921 --- /dev/null +++ b/poky/meta/recipes-core/libxcrypt/libxcrypt_4.4.8.bb @@ -0,0 +1,33 @@ +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=3bb6614cf5880cbf1b9dbd9e3d145e2c \ + file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c \ +" + +inherit autotools pkgconfig + +SRC_URI = "git://github.com/besser82/libxcrypt.git;branch=${SRCBRANCH}" +SRCREV = "acd84997a5a8b2badd28b70a642abee11272fad2" +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" +CPPFLAGS_append_class-nativesdk = " -Wno-error" + +API = "--disable-obsolete-api" +EXTRA_OECONF += "${API}" + +BBCLASSEXTEND = "nativesdk" diff --git a/poky/meta/recipes-core/musl/musl_git.bb b/poky/meta/recipes-core/musl/musl_git.bb index 64aee6c44..9341bf5d5 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 = "29e8737f81ccc9fbadcf61a75318aa3d0516aafa" +SRCREV = "6ad514e4e278f0c3b18eb2db1d45638c9af1c07f" BASEVER = "1.1.23" diff --git a/poky/meta/recipes-core/packagegroups/packagegroup-core-boot.bb b/poky/meta/recipes-core/packagegroups/packagegroup-core-boot.bb index 3a2f50feb..abbee14bd 100644 --- a/poky/meta/recipes-core/packagegroups/packagegroup-core-boot.bb +++ b/poky/meta/recipes-core/packagegroups/packagegroup-core-boot.bb @@ -10,12 +10,6 @@ PACKAGE_ARCH = "${MACHINE_ARCH}" inherit packagegroup -# -# Set by the machine configuration with packages essential for device bootup -# -MACHINE_ESSENTIAL_EXTRA_RDEPENDS ?= "" -MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS ?= "" - # Distro can override the following VIRTUAL-RUNTIME providers: VIRTUAL-RUNTIME_dev_manager ?= "udev" VIRTUAL-RUNTIME_keymaps ?= "keymaps" diff --git a/poky/meta/recipes-core/packagegroups/packagegroup-self-hosted.bb b/poky/meta/recipes-core/packagegroups/packagegroup-self-hosted.bb index f206cee37..9b0ae0d1c 100644 --- a/poky/meta/recipes-core/packagegroups/packagegroup-self-hosted.bb +++ b/poky/meta/recipes-core/packagegroups/packagegroup-self-hosted.bb @@ -37,7 +37,7 @@ RDEPENDS_packagegroup-self-hosted-host-tools = "\ e2fsprogs-tune2fs \ hdparm \ iptables \ - lsb \ + lsb-release \ mc \ mc-fish \ mc-helpers \ diff --git a/poky/meta/recipes-core/systemd/systemd-serialgetty/serial-getty@.service b/poky/meta/recipes-core/systemd/systemd-serialgetty/serial-getty@.service index e8b027e97..15af16a9f 100644 --- a/poky/meta/recipes-core/systemd/systemd-serialgetty/serial-getty@.service +++ b/poky/meta/recipes-core/systemd/systemd-serialgetty/serial-getty@.service @@ -9,7 +9,8 @@ Description=Serial Getty on %I Documentation=man:agetty(8) man:systemd-getty-generator(8) Documentation=http://0pointer.de/blog/projects/serial-console.html -BindsTo=dev-%i.device +PartOf=dev-%i.device +ConditionPathExists=/dev/%i After=dev-%i.device systemd-user-sessions.service plymouth-quit-wait.service After=rc-local.service diff --git a/poky/meta/recipes-core/systemd/systemd.inc b/poky/meta/recipes-core/systemd/systemd.inc index 3a353b009..191271561 100644 --- a/poky/meta/recipes-core/systemd/systemd.inc +++ b/poky/meta/recipes-core/systemd/systemd.inc @@ -14,7 +14,7 @@ LICENSE = "GPLv2 & LGPLv2.1" LIC_FILES_CHKSUM = "file://LICENSE.GPL2;md5=751419260aa954499f7abaabaa882bbe \ file://LICENSE.LGPL2.1;md5=4fbd65380cdd255951079008b364516c" -SRCREV = "db2e367bfc3b119609f837eb973d915f6c550b2f" +SRCREV = "f875dced33462641e1fb7875d2f9a8cd8e8c2fcc" SRCBRANCH = "v242-stable" SRC_URI = "git://github.com/systemd/systemd-stable.git;protocol=git;branch=${SRCBRANCH}" diff --git a/poky/meta/recipes-core/systemd/systemd/0001-core-set-fs.file-max-sysctl-to-LONG_MAX-rather-than-.patch b/poky/meta/recipes-core/systemd/systemd/0001-core-set-fs.file-max-sysctl-to-LONG_MAX-rather-than-.patch deleted file mode 100644 index ff64f58c9..000000000 --- a/poky/meta/recipes-core/systemd/systemd/0001-core-set-fs.file-max-sysctl-to-LONG_MAX-rather-than-.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 6e2f78948403a4cce45b9e34311c9577c624f066 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Mon, 17 Jun 2019 10:51:25 +0200 -Subject: [PATCH] core: set fs.file-max sysctl to LONG_MAX rather than - ULONG_MAX - -Since kernel 5.2 the kernel thankfully returns proper errors when we -write a value out of range to the sysctl. Which however breaks writing -ULONG_MAX to request the maximum value. Hence let's write the new -maximum value instead, LONG_MAX. - -/cc @brauner - -Fixes: #12803 - -Upstream-Status: Backport - -Signed-off-by: Matthias Schiffer ---- - src/core/main.c | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/src/core/main.c b/src/core/main.c -index b33ea1b5b5..e7f51815f0 100644 ---- a/src/core/main.c -+++ b/src/core/main.c -@@ -1245,9 +1245,9 @@ static void bump_file_max_and_nr_open(void) { - #endif - - #if BUMP_PROC_SYS_FS_FILE_MAX -- /* I so wanted to use STRINGIFY(ULONG_MAX) here, but alas we can't as glibc/gcc define that as -- * "(0x7fffffffffffffffL * 2UL + 1UL)". Seriously. 😢 */ -- if (asprintf(&t, "%lu\n", ULONG_MAX) < 0) { -+ /* The maximum the kernel allows for this since 5.2 is LONG_MAX, use that. (Previously thing where -+ * different but the operation would fail silently.) */ -+ if (asprintf(&t, "%li\n", LONG_MAX) < 0) { - log_oom(); - return; - } diff --git a/poky/meta/recipes-core/systemd/systemd/0001-networkd-fix-link-up.patch b/poky/meta/recipes-core/systemd/systemd/0001-networkd-fix-link-up.patch deleted file mode 100644 index 4c7a0a33a..000000000 --- a/poky/meta/recipes-core/systemd/systemd/0001-networkd-fix-link-up.patch +++ /dev/null @@ -1,66 +0,0 @@ -From 6bd76d2d4ff130decd3aa13e0c2dbfd56ff8d7b7 Mon Sep 17 00:00:00 2001 -From: Susant Sahani -Date: Thu, 9 May 2019 07:35:35 +0530 -Subject: [PATCH] networkd: fix link_up() (#12505) - -Fillup IFLA_INET6_ADDR_GEN_MODE while we do link_up. - -Fixes the following error: -``` -dummy-test: Could not bring up interface: Invalid argument -``` - -After reading the kernel code when we do a link up -``` -net/core/rtnetlink.c -IFLA_AF_SPEC - af_ops->set_link_af(dev, af); - inet6_set_link_af - if (tb[IFLA_INET6_ADDR_GEN_MODE]) - Here it looks for IFLA_INET6_ADDR_GEN_MODE -``` -Since link up we didn't filling up that it's failing. - -Closes #12504. - -Signed-off-by: Ricardo Ribalda Delgado - -Upstream-Status: Backport [https://github.com/systemd/systemd/commit/4eb086a38712ea98faf41e075b84555b11b54362.patch] - ---- - src/network/networkd-link.c | 15 +++++++++++++++ - 1 file changed, 15 insertions(+) - -diff --git a/src/network/networkd-link.c b/src/network/networkd-link.c -index e466b96792..042496173c 100644 ---- a/src/network/networkd-link.c -+++ b/src/network/networkd-link.c -@@ -2034,6 +2034,8 @@ static int link_up(Link *link) { - } - - if (link_ipv6_enabled(link)) { -+ uint8_t ipv6ll_mode; -+ - r = sd_netlink_message_open_container(req, IFLA_AF_SPEC); - if (r < 0) - return log_link_error_errno(link, r, "Could not open IFLA_AF_SPEC container: %m"); -@@ -2049,6 +2051,19 @@ static int link_up(Link *link) { - return log_link_error_errno(link, r, "Could not append IFLA_INET6_TOKEN: %m"); - } - -+ if (!link_ipv6ll_enabled(link)) -+ ipv6ll_mode = IN6_ADDR_GEN_MODE_NONE; -+ else if (sysctl_read_ip_property(AF_INET6, link->ifname, "stable_secret", NULL) < 0) -+ /* The file may not exist. And event if it exists, when stable_secret is unset, -+ * reading the file fails with EIO. */ -+ ipv6ll_mode = IN6_ADDR_GEN_MODE_EUI64; -+ else -+ ipv6ll_mode = IN6_ADDR_GEN_MODE_STABLE_PRIVACY; -+ -+ r = sd_netlink_message_append_u8(req, IFLA_INET6_ADDR_GEN_MODE, ipv6ll_mode); -+ if (r < 0) -+ return log_link_error_errno(link, r, "Could not append IFLA_INET6_ADDR_GEN_MODE: %m"); -+ - r = sd_netlink_message_close_container(req); - if (r < 0) - return log_link_error_errno(link, r, "Could not close AF_INET6 container: %m"); 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 deleted file mode 100644 index f0ae1db60..000000000 --- a/poky/meta/recipes-core/systemd/systemd/0001-resolved-Fix-incorrect-use-of-OpenSSL-BUF_MEM.patch +++ /dev/null @@ -1,41 +0,0 @@ -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/0002-network-do-not-send-ipv6.patch b/poky/meta/recipes-core/systemd/systemd/0002-network-do-not-send-ipv6.patch deleted file mode 100644 index 256531487..000000000 --- a/poky/meta/recipes-core/systemd/systemd/0002-network-do-not-send-ipv6.patch +++ /dev/null @@ -1,96 +0,0 @@ -From b5c4eb818101127a606849e822937b15b8497c75 Mon Sep 17 00:00:00 2001 -From: Yu Watanabe -Date: Thu, 9 May 2019 14:39:46 +0900 -Subject: [PATCH] network: do not send ipv6 token to kernel - -We disabled kernel RA support. Then, we should not send -IFLA_INET6_TOKEN. -Thus, we do not need to send IFLA_INET6_ADDR_GEN_MODE twice. - -Follow-up for 0e2fdb83bb5e22047e0c7cc058b415d0e93f02cf and -4eb086a38712ea98faf41e075b84555b11b54362. - -Signed-off-by: Ricardo Ribalda Delgado - -Upstream-Status: Backport [https://github.com/systemd/systemd/commit/9f6e82e6eb3b6e73d66d00d1d6eee60691fb702f] - ---- - src/network/networkd-link.c | 51 +++++-------------------------------- - 1 file changed, 6 insertions(+), 45 deletions(-) - -diff --git a/src/network/networkd-link.c b/src/network/networkd-link.c -index 042496173c..c49dba33da 100644 ---- a/src/network/networkd-link.c -+++ b/src/network/networkd-link.c -@@ -1940,6 +1940,9 @@ static int link_configure_addrgen_mode(Link *link) { - assert(link->manager); - assert(link->manager->rtnl); - -+ if (!socket_ipv6_is_supported()) -+ return 0; -+ - log_link_debug(link, "Setting address genmode for link"); - - r = sd_rtnl_message_new_link(link->manager->rtnl, &req, RTM_SETLINK, link->ifindex); -@@ -2033,46 +2036,6 @@ static int link_up(Link *link) { - return log_link_error_errno(link, r, "Could not set MAC address: %m"); - } - -- if (link_ipv6_enabled(link)) { -- uint8_t ipv6ll_mode; -- -- r = sd_netlink_message_open_container(req, IFLA_AF_SPEC); -- if (r < 0) -- return log_link_error_errno(link, r, "Could not open IFLA_AF_SPEC container: %m"); -- -- /* if the kernel lacks ipv6 support setting IFF_UP fails if any ipv6 options are passed */ -- r = sd_netlink_message_open_container(req, AF_INET6); -- if (r < 0) -- return log_link_error_errno(link, r, "Could not open AF_INET6 container: %m"); -- -- if (!in_addr_is_null(AF_INET6, &link->network->ipv6_token)) { -- r = sd_netlink_message_append_in6_addr(req, IFLA_INET6_TOKEN, &link->network->ipv6_token.in6); -- if (r < 0) -- return log_link_error_errno(link, r, "Could not append IFLA_INET6_TOKEN: %m"); -- } -- -- if (!link_ipv6ll_enabled(link)) -- ipv6ll_mode = IN6_ADDR_GEN_MODE_NONE; -- else if (sysctl_read_ip_property(AF_INET6, link->ifname, "stable_secret", NULL) < 0) -- /* The file may not exist. And event if it exists, when stable_secret is unset, -- * reading the file fails with EIO. */ -- ipv6ll_mode = IN6_ADDR_GEN_MODE_EUI64; -- else -- ipv6ll_mode = IN6_ADDR_GEN_MODE_STABLE_PRIVACY; -- -- r = sd_netlink_message_append_u8(req, IFLA_INET6_ADDR_GEN_MODE, ipv6ll_mode); -- if (r < 0) -- return log_link_error_errno(link, r, "Could not append IFLA_INET6_ADDR_GEN_MODE: %m"); -- -- r = sd_netlink_message_close_container(req); -- if (r < 0) -- return log_link_error_errno(link, r, "Could not close AF_INET6 container: %m"); -- -- r = sd_netlink_message_close_container(req); -- if (r < 0) -- return log_link_error_errno(link, r, "Could not close IFLA_AF_SPEC container: %m"); -- } -- - r = netlink_call_async(link->manager->rtnl, NULL, req, link_up_handler, - link_netlink_destroy_callback, link); - if (r < 0) -@@ -3208,11 +3171,9 @@ static int link_configure(Link *link) { - if (r < 0) - return r; - -- if (socket_ipv6_is_supported()) { -- r = link_configure_addrgen_mode(link); -- if (r < 0) -- return r; -- } -+ r = link_configure_addrgen_mode(link); -+ if (r < 0) -+ return r; - - return link_configure_after_setting_mtu(link); - } diff --git a/poky/meta/recipes-core/systemd/systemd/0006-network-remove-redunant-link-name-in-message.patch b/poky/meta/recipes-core/systemd/systemd/0006-network-remove-redunant-link-name-in-message.patch deleted file mode 100644 index 33f482ae9..000000000 --- a/poky/meta/recipes-core/systemd/systemd/0006-network-remove-redunant-link-name-in-message.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 9e6940858c7dbdd56b297bdf49f58d623e3430b7 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Tue, 7 May 2019 13:46:55 +0200 -Subject: [PATCH] network: remove redunant link name in message - -Fixes #12454. - -gcc was complaining that the link->ifname argument is NULL. Adding -assert(link->ifname) right before the call has no effect. It seems that -gcc is confused by the fact that log_link_warning_errno() internally -calls log_object(), with link->ifname passed as the object. log_object() -is also a macro and is does a check whether the passed object is NULL. -So we have a check if something is NULL right next an unconditional use -of it where it cannot be NULL. I think it's a bug in gcc. - -Anyway, we don't need to use link->ifname here. log_object() already prepends -the object name to the message. - -Signed-off-by: Khem Raj -Upstream-Status: backport [https://github.com/systemd/systemd/commit/c98b3545008d8e984ab456dcf79787418fcbfe13] ---- - src/network/networkd-link.c | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -diff --git a/src/network/networkd-link.c b/src/network/networkd-link.c -index 3e334c8d29..a158c01bbd 100644 ---- a/src/network/networkd-link.c -+++ b/src/network/networkd-link.c -@@ -321,8 +321,7 @@ static int link_enable_ipv6(Link *link) { - - r = sysctl_write_ip_property_boolean(AF_INET6, link->ifname, "disable_ipv6", disabled); - if (r < 0) -- log_link_warning_errno(link, r, "Cannot %s IPv6 for interface %s: %m", -- enable_disable(!disabled), link->ifname); -+ log_link_warning_errno(link, r, "Cannot %s IPv6: %m", enable_disable(!disabled)); - else - log_link_info(link, "IPv6 successfully %sd", enable_disable(!disabled)); - --- -2.21.0 - diff --git a/poky/meta/recipes-core/systemd/systemd_242.bb b/poky/meta/recipes-core/systemd/systemd_242.bb index b368ca8a2..2c101cbbb 100644 --- a/poky/meta/recipes-core/systemd/systemd_242.bb +++ b/poky/meta/recipes-core/systemd/systemd_242.bb @@ -22,12 +22,7 @@ SRC_URI += "file://touchscreen.rules \ file://0003-implment-systemd-sysv-install-for-OE.patch \ file://0004-rules-whitelist-hd-devices.patch \ 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 \ - file://0001-core-set-fs.file-max-sysctl-to-LONG_MAX-rather-than-.patch \ - file://0001-networkd-fix-link-up.patch \ - file://0002-network-do-not-send-ipv6.patch \ " # patches needed by musl @@ -88,6 +83,7 @@ PACKAGECONFIG ??= " \ quotacheck \ randomseed \ resolved \ + set-time-epoch \ smack \ sysusers \ timedated \ @@ -171,7 +167,12 @@ PACKAGECONFIG[seccomp] = "-Dseccomp=true,-Dseccomp=false,libseccomp" PACKAGECONFIG[selinux] = "-Dselinux=true,-Dselinux=false,libselinux,initscripts-sushell" PACKAGECONFIG[smack] = "-Dsmack=true,-Dsmack=false" PACKAGECONFIG[sysusers] = "-Dsysusers=true,-Dsysusers=false" -PACKAGECONFIG[time-epoch] = "-Dtime-epoch=0,," +# When enabled use reproducble build timestamp if set as time epoch, +# or build time if not. When disabled, time epoch is unset. +def build_epoch(d): + epoch = d.getVar('SOURCE_DATE_EPOCH') or "-1" + return '-Dtime-epoch=%d' % int(epoch) +PACKAGECONFIG[set-time-epoch] = "${@build_epoch(d)},-Dtime-epoch=0" PACKAGECONFIG[timedated] = "-Dtimedated=true,-Dtimedated=false" PACKAGECONFIG[timesyncd] = "-Dtimesyncd=true,-Dtimesyncd=false" PACKAGECONFIG[usrmerge] = "-Dsplit-usr=false,-Dsplit-usr=true" @@ -210,6 +211,7 @@ EXTRA_OEMESON += "-Dkexec-path=${sbindir}/kexec \ -Dquotacheck-path=${sbindir}/quotacheck \ -Dquotaon-path=${sbindir}/quotaon \ -Dsulogin-path=${base_sbindir}/sulogin \ + -Dnologin-path=${base_sbindir}/nologin \ -Dumount-path=${base_bindir}/umount" do_install() { @@ -619,6 +621,12 @@ python __anonymous() { d.setVar("INHIBIT_UPDATERCD_BBCLASS", "1") } +python do_warn_musl() { + if d.getVar('TCLIBC') == "musl": + bb.warn("Using systemd with musl is not recommended since it is not supported upstream and some patches are known to be problematic.") +} +addtask warn_musl before do_configure + ALTERNATIVE_${PN} = "halt reboot shutdown poweroff runlevel resolv-conf" ALTERNATIVE_TARGET[resolv-conf] = "${sysconfdir}/resolv-conf.systemd" diff --git a/poky/meta/recipes-devtools/binutils/binutils-cross-testsuite_2.32.bb b/poky/meta/recipes-devtools/binutils/binutils-cross-testsuite_2.32.bb new file mode 100644 index 000000000..07a8e7c41 --- /dev/null +++ b/poky/meta/recipes-devtools/binutils/binutils-cross-testsuite_2.32.bb @@ -0,0 +1,85 @@ +require binutils.inc +require binutils-${PV}.inc + +BPN = "binutils" + +DEPENDS += "dejagnu-native expect-native" +DEPENDS += "binutils-native" + +deltask do_compile +deltask do_install + +inherit nopackages + +do_configure[dirs] += "${B}/ld ${B}/bfd" +do_configure() { + # create config.h, oe enables initfini-array by default + echo "#define HAVE_INITFINI_ARRAY" > ${B}/ld/config.h + # use the bfd_stdint.h from binutils-native, this is the same of the one + # generated by binutils-cross + cp ${RECIPE_SYSROOT_NATIVE}/usr/include/bfd_stdint.h ${B}/bfd/ +} + +# target depends +DEPENDS += "virtual/${MLPREFIX}${TARGET_PREFIX}binutils" +DEPENDS += "virtual/${MLPREFIX}${TARGET_PREFIX}gcc" +DEPENDS += "virtual/${MLPREFIX}${TARGET_PREFIX}compilerlibs" +DEPENDS += "virtual/${MLPREFIX}libc" + +python check_prepare() { + def suffix_sys(sys): + if sys.endswith("-linux"): + return sys + "-gnu" + return sys + + def generate_site_exp(d, suite): + content = [] + content.append('set srcdir "{0}/{1}"'.format(d.getVar("S"), suite)) + content.append('set objdir "{0}/{1}"'.format(d.getVar("B"), suite)) + content.append('set build_alias "{0}"'.format(d.getVar("BUILD_SYS"))) + content.append('set build_triplet {0}'.format(d.getVar("BUILD_SYS"))) + # use BUILD here since HOST=TARGET + content.append('set host_alias "{0}"'.format(d.getVar("BUILD_SYS"))) + content.append('set host_triplet {0}'.format(d.getVar("BUILD_SYS"))) + content.append('set target_alias "{0}"'.format(d.getVar("TARGET_SYS"))) + content.append('set target_triplet {0}'.format(suffix_sys(d.getVar("TARGET_SYS")))) + content.append("set development true") + content.append("set experimental false") + + content.append(d.expand('set CXXFILT "${TARGET_PREFIX}c++filt"')) + content.append(d.expand('set CC "${TARGET_PREFIX}gcc --sysroot=${STAGING_DIR_TARGET} ${TUNE_CCARGS}"')) + content.append(d.expand('set CXX "${TARGET_PREFIX}g++ --sysroot=${STAGING_DIR_TARGET} ${TUNE_CCARGS}"')) + content.append(d.expand('set CFLAGS_FOR_TARGET "--sysroot=${STAGING_DIR_TARGET} ${TUNE_CCARGS}"')) + + if suite == "ld" and d.getVar("TUNE_ARCH") == "mips64": + # oe patches binutils to have the default mips64 abi as 64bit, but + # skips gas causing issues with the ld test suite (which uses gas) + content.append('set ASFLAGS "-64"') + + return "\n".join(content) + + for i in ["binutils", "gas", "ld"]: + builddir = os.path.join(d.getVar("B"), i) + if not os.path.isdir(builddir): + os.makedirs(builddir) + with open(os.path.join(builddir, "site.exp"), "w") as f: + f.write(generate_site_exp(d, i)) +} + +CHECK_TARGETS ??= "binutils gas ld" + +do_check[dirs] = "${B} ${B}/binutils ${B}/gas ${B}/ld" +do_check[prefuncs] += "check_prepare" +do_check[nostamp] = "1" +do_check() { + export LC_ALL=C + for i in ${CHECK_TARGETS}; do + (cd ${B}/$i; runtest \ + --tool $i \ + --srcdir ${S}/$i/testsuite \ + --ignore 'plugin.exp' \ + || true) + done +} +addtask check after do_configure + diff --git a/poky/meta/recipes-devtools/binutils/binutils/0010-Change-default-emulation-for-mips64-linux.patch b/poky/meta/recipes-devtools/binutils/binutils/0010-Change-default-emulation-for-mips64-linux.patch index ba5e4c2ce..5f4ac72f4 100644 --- a/poky/meta/recipes-devtools/binutils/binutils/0010-Change-default-emulation-for-mips64-linux.patch +++ b/poky/meta/recipes-devtools/binutils/binutils/0010-Change-default-emulation-for-mips64-linux.patch @@ -1,4 +1,4 @@ -From d540e95d05cd7c4b8924ac7b257c14ae0105d0ab Mon Sep 17 00:00:00 2001 +From 958a49749b772660d3bafb80748829cba6bed065 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Mon, 2 Mar 2015 01:44:14 +0000 Subject: [PATCH 10/15] Change default emulation for mips64*-*-linux @@ -14,7 +14,7 @@ Signed-off-by: Khem Raj 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/bfd/config.bfd b/bfd/config.bfd -index 0e1ddb659c..cc65547588 100644 +index 0e1ddb659c..d4f50f0a8d 100644 --- a/bfd/config.bfd +++ b/bfd/config.bfd @@ -919,12 +919,12 @@ case "${targ}" in @@ -30,7 +30,7 @@ index 0e1ddb659c..cc65547588 100644 - targ_defvec=mips_elf32_ntrad_be_vec - targ_selvecs="mips_elf32_ntrad_le_vec mips_elf32_trad_be_vec mips_elf32_trad_le_vec mips_elf64_trad_be_vec mips_elf64_trad_le_vec" + targ_defvec=mips_elf64_trad_be_vec -+ targ_selvecs="mips_elf32_ntrad_be_vec mips_elf32_ntrad_be_vec mips_elf32_trad_be_vec mips_elf32_trad_le_vec mips_elf64_trad_le_vec" ++ targ_selvecs="mips_elf32_ntrad_be_vec mips_elf32_ntrad_le_vec mips_elf32_trad_be_vec mips_elf32_trad_le_vec mips_elf64_trad_le_vec" ;; mips*el-*-linux*) targ_defvec=mips_elf32_trad_le_vec @@ -54,6 +54,3 @@ index beba17ef51..917be6f8eb 100644 targ_extra_libpath=$targ_extra_emuls ;; mips*el-*-linux-*) targ_emul=elf32ltsmip targ_extra_emuls="elf32btsmip elf32ltsmipn32 elf64ltsmip elf32btsmipn32 elf64btsmip" --- -2.20.1 - diff --git a/poky/meta/recipes-devtools/bootchart2/bootchart2/0001-bootchart2-support-usrmerge.patch b/poky/meta/recipes-devtools/bootchart2/bootchart2/0001-bootchart2-support-usrmerge.patch new file mode 100644 index 000000000..8ee6723df --- /dev/null +++ b/poky/meta/recipes-devtools/bootchart2/bootchart2/0001-bootchart2-support-usrmerge.patch @@ -0,0 +1,37 @@ +From b6d1a1ff2de363b1b76c8c70f77ae56a4e4d4b56 Mon Sep 17 00:00:00 2001 +From: Changqing Li +Date: Thu, 5 Sep 2019 18:37:31 +0800 +Subject: [PATCH] bootchart2: support usrmerge + +Upstream-Status: Inappropriate[oe-specific] + +Signed-off-by: Changqing Li +--- + Makefile | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/Makefile b/Makefile +index 1cc2974..f988904 100644 +--- a/Makefile ++++ b/Makefile +@@ -36,7 +36,7 @@ endif + PY_SITEDIR ?= $(PY_LIBDIR)/site-packages + LIBC_A_PATH = /usr$(LIBDIR) + # Always lib, even on systems that otherwise use lib64 +-SYSTEMD_UNIT_DIR = $(EARLY_PREFIX)/lib/systemd/system ++SYSTEMD_UNIT_DIR ?= $(EARLY_PREFIX)/lib/systemd/system + COLLECTOR = \ + collector/collector.o \ + collector/output.o \ +@@ -99,7 +99,7 @@ install-chroot: + install -d $(DESTDIR)$(PKGLIBDIR)/tmpfs + + install-collector: all install-chroot +- install -m 755 -D bootchartd $(DESTDIR)$(EARLY_PREFIX)/sbin/$(PROGRAM_PREFIX)bootchartd$(PROGRAM_SUFFIX) ++ install -m 755 -D bootchartd $(DESTDIR)${BASE_SBINDIR}/$(PROGRAM_PREFIX)bootchartd$(PROGRAM_SUFFIX) + install -m 644 -D bootchartd.conf $(DESTDIR)/etc/$(PROGRAM_PREFIX)bootchartd$(PROGRAM_SUFFIX).conf + install -m 755 -D bootchart-collector $(DESTDIR)$(PKGLIBDIR)/$(PROGRAM_PREFIX)bootchart$(PROGRAM_SUFFIX)-collector + +-- +2.7.4 + diff --git a/poky/meta/recipes-devtools/bootchart2/bootchart2_0.14.8.bb b/poky/meta/recipes-devtools/bootchart2/bootchart2_0.14.8.bb index 396d0ec0a..a938b2da4 100644 --- a/poky/meta/recipes-devtools/bootchart2/bootchart2_0.14.8.bb +++ b/poky/meta/recipes-devtools/bootchart2/bootchart2_0.14.8.bb @@ -93,6 +93,7 @@ UPSTREAM_CHECK_GITTAGREGEX = "(?P\d+\.\d+(\.\d+)*)" SRC_URI = "git://github.com/xrmx/bootchart.git \ file://bootchartd_stop.sh \ file://0001-collector-Allocate-space-on-heap-for-chunks.patch \ + file://0001-bootchart2-support-usrmerge.patch \ " S = "${WORKDIR}/git" @@ -114,6 +115,8 @@ UPDATERCPN = "bootchartd-stop-initscript" INITSCRIPT_NAME = "bootchartd_stop.sh" INITSCRIPT_PARAMS = "start 99 2 3 4 5 ." +EXTRA_OEMAKE = 'BASE_SBINDIR="${base_sbindir}"' + do_compile_prepend () { export PY_LIBDIR="${libdir}/${PYTHON_DIR}" export BINDIR="${bindir}" @@ -126,6 +129,8 @@ do_install () { export BINDIR="${bindir}" export DESTDIR="${D}" export LIBDIR="${base_libdir}" + export PKGLIBDIR="${base_libdir}/bootchart" + export SYSTEMD_UNIT_DIR="${systemd_unitdir}/system" oe_runmake install install -d ${D}${sysconfdir}/init.d @@ -141,7 +146,7 @@ PACKAGES =+ "pybootchartgui" FILES_pybootchartgui += "${PYTHON_SITEPACKAGES_DIR}/pybootchartgui ${bindir}/pybootchartgui" RDEPENDS_pybootchartgui = "python3-pycairo python3-compression python3-image python3-shell python3-compression python3-codecs" RDEPENDS_${PN}_class-target += "${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'sysvinit-pidof', 'procps', d)}" -RDEPENDS_${PN}_class-target += "lsb" +RDEPENDS_${PN}_class-target += "lsb-release" DEPENDS_append_class-native = " python3-pycairo-native" PACKAGES =+ "bootchartd-stop-initscript" diff --git a/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.2.1.bb b/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.2.1.bb index 647516cf9..a364cf53e 100644 --- a/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.2.1.bb +++ b/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.2.1.bb @@ -10,7 +10,7 @@ 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 = "util-linux attr e2fsprogs lzo acl" DEPENDS_append_class-target = " udev" RDEPENDS_${PN} = "libgcc" @@ -19,13 +19,16 @@ SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/kdave/btrfs-progs.git \ file://0001-Add-a-possibility-to-specify-where-python-modules-ar.patch \ " -inherit autotools-brokensep pkgconfig manpages distutils3-base - -CLEANBROKEN = "1" - +PACKAGECONFIG ??= "python" PACKAGECONFIG[manpages] = "--enable-documentation, --disable-documentation, asciidoc-native xmlto-native" +PACKAGECONFIG[python] = "--enable-python,--disable-python,python3-setuptools-native" PACKAGECONFIG[zstd] = "--enable-zstd,--disable-zstd,zstd" +inherit autotools-brokensep pkgconfig manpages +inherit ${@bb.utils.contains('PACKAGECONFIG', 'python', 'distutils3-base', '', d)} + +CLEANBROKEN = "1" + EXTRA_OECONF_append_libc-musl = " --disable-backtrace " EXTRA_PYTHON_CFLAGS = "${DEBUG_PREFIX_MAP}" EXTRA_PYTHON_CFLAGS_class-native = "" @@ -41,7 +44,9 @@ do_configure_prepend() { S = "${WORKDIR}/git" do_install_append() { - oe_runmake 'DESTDIR=${D}' 'PYTHON_SITEPACKAGES_DIR=${PYTHON_SITEPACKAGES_DIR}' install_python + if [ "${@bb.utils.filter('PACKAGECONFIG', 'python', d)}" ]; then + oe_runmake 'DESTDIR=${D}' 'PYTHON_SITEPACKAGES_DIR=${PYTHON_SITEPACKAGES_DIR}' install_python + fi } BBCLASSEXTEND = "native" diff --git a/poky/meta/recipes-devtools/build-compare/build-compare_git.bb b/poky/meta/recipes-devtools/build-compare/build-compare_git.bb index efcf6b6dd..b0560cc27 100644 --- a/poky/meta/recipes-devtools/build-compare/build-compare_git.bb +++ b/poky/meta/recipes-devtools/build-compare/build-compare_git.bb @@ -6,22 +6,14 @@ LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" SRC_URI = "git://github.com/openSUSE/build-compare.git \ - file://Rename-rpm-check.sh-to-pkg-diff.sh.patch;striplevel=1 \ file://Ignore-DWARF-sections.patch;striplevel=1 \ - file://0001-Add-support-for-deb-and-ipk-packaging.patch \ - file://functions.sh-remove-space-at-head.patch \ - file://functions.sh-run-rpm-once-to-make-it-faster.patch \ - file://pkg-diff.sh-check-for-fifo-named-pipe.patch \ - file://pkg-diff.sh-check_single_file-return-at-once-when-sa.patch \ - file://pkg-diff.sh-remove-space-in-the-end-for-ftype.patch \ - file://functions.sh-improve-deb-and-ipk-checking.patch \ " # Date matches entry in build-compare.changes and date of SRCREV. # -SRCREV = "c5352c054c6ef15735da31b76d6d88620f4aff0a" +SRCREV = "4dfa207660776cae120afa4353aec7f1f2a998d2" PE = "1" -PV = "2015.02.10+git${SRCPV}" +PV = "2019.08.14+git${SRCPV}" UPSTREAM_CHECK_COMMITS = "1" S = "${WORKDIR}/git" diff --git a/poky/meta/recipes-devtools/build-compare/files/0001-Add-support-for-deb-and-ipk-packaging.patch b/poky/meta/recipes-devtools/build-compare/files/0001-Add-support-for-deb-and-ipk-packaging.patch deleted file mode 100644 index 82fd8169f..000000000 --- a/poky/meta/recipes-devtools/build-compare/files/0001-Add-support-for-deb-and-ipk-packaging.patch +++ /dev/null @@ -1,64 +0,0 @@ -From 02dbc7e3478e409d6f5e3e1c53daddf8838be999 Mon Sep 17 00:00:00 2001 -From: Paul Eggleton -Date: Tue, 1 Sep 2015 12:04:33 +0100 -Subject: [PATCH] Add support for deb and ipk packaging - -Upstream-Status: Submitted [https://github.com/openSUSE/build-compare/pull/10] - -Signed-off-by: Paul Eggleton ---- - functions.sh | 15 +++++++++++++++ - pkg-diff.sh | 6 ++++++ - 2 files changed, 21 insertions(+) - -diff --git a/functions.sh b/functions.sh -index 06079df..85c9003 100644 ---- a/functions.sh -+++ b/functions.sh -@@ -85,6 +85,13 @@ function unpackage() - CPIO_OPTS="--extract --unconditional --preserve-modification-time --make-directories --quiet" - rpm2cpio $file | cpio ${CPIO_OPTS} - ;; -+ *.ipk|*.deb) -+ ar x $file -+ tar xf control.tar.gz -+ rm control.tar.gz -+ tar xf data.tar.gz -+ rm data.tar.gz -+ ;; - esac - popd 1>/dev/null - } -@@ -255,4 +262,12 @@ function cmp_spec () - rm $file1 $file2 - return $RES - } -+ -+function adjust_controlfile() { -+ cat $1/control | sed '/^Version: /d' > $1/control.fixed -+ mv $1/control.fixed $1/control -+ cat $2/control | sed '/^Version: /d' > $2/control.fixed -+ mv $2/control.fixed $2/control -+} -+ - # vim: tw=666 ts=2 et -diff --git a/pkg-diff.sh b/pkg-diff.sh -index 0f1fa76..3cf10aa 100644 ---- a/pkg-diff.sh -+++ b/pkg-diff.sh -@@ -138,6 +138,12 @@ echo "Extracting packages" - unpackage $oldpkg $dir/old - unpackage $newpkg $dir/new - -+case $oldpkg in -+ *.deb|*.ipk) -+ adjust_controlfile $dir/old $dir/new -+ ;; -+esac -+ - # files is set in cmp_spec for rpms, so if RES is empty we should assume - # it wasn't an rpm and pick all files for comparison. - if [ -z $RES ]; then --- -2.1.0 - diff --git a/poky/meta/recipes-devtools/build-compare/files/Ignore-DWARF-sections.patch b/poky/meta/recipes-devtools/build-compare/files/Ignore-DWARF-sections.patch index 7dda1acbf..2fb62ae8c 100644 --- a/poky/meta/recipes-devtools/build-compare/files/Ignore-DWARF-sections.patch +++ b/poky/meta/recipes-devtools/build-compare/files/Ignore-DWARF-sections.patch @@ -23,18 +23,15 @@ Signed-off-by: Randy Witt 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg-diff.sh b/pkg-diff.sh -index 56035c1..0f1fa76 100755 +index 9c2125e..b0d77c8 100755 --- a/pkg-diff.sh +++ b/pkg-diff.sh -@@ -658,7 +658,7 @@ check_single_file() +@@ -851,7 +851,7 @@ check_single_file() echo "" >$file1 echo "" >$file2 - # Don't compare .build-id and .gnu_debuglink sections -- sections="$(objdump -s new/$file | grep "Contents of section .*:" | sed -r "s,.* (.*):,\1,g" | grep -v -e "\.build-id" -e "\.gnu_debuglink" | tr "\n" " ")" -+ sections="$(objdump -s new/$file | grep "Contents of section .*:" | sed -r "s,.* (.*):,\1,g" | grep -v -e "\.build-id" -e "\.gnu_debuglink" -e "\.debug_abbrev" -e "\.debug_aranges" -e "\.debug_frame" -e "\.debug_info" -e "\.debug_line" -e "\.debug_loc" -e "\.debug_macinfo" -e "\.debug_pubnames" -e "\.debug_pubtypes" -e "\.debug_ranges" -e "\.debug_str" | tr "\n" " ")" + # Don't compare .build-id, .gnu_debuglink and .gnu_debugdata sections +- sections="$($OBJDUMP -s new/$file | grep "Contents of section .*:" | sed -r "s,.* (.*):,\1,g" | grep -v -e "\.build-id" -e "\.gnu_debuglink" -e "\.gnu_debugdata" | tr "\n" " ")" ++ sections="$($OBJDUMP -s new/$file | grep "Contents of section .*:" | sed -r "s,.* (.*):,\1,g" | grep -v -e "\.build-id" -e "\.gnu_debuglink" -e "\.gnu_debugdata" -e "\.debug_abbrev" -e "\.debug_aranges" -e "\.debug_frame" -e "\.debug_info" -e "\.debug_line" -e "\.debug_loc" -e "\.debug_macinfo" -e "\.debug_pubnames" -e "\.debug_pubtypes" -e "\.debug_ranges" -e "\.debug_str" | tr "\n" " ")" for section in $sections; do - objdump -s -j $section old/$file | sed "s,^old/,," > $file1 - objdump -s -j $section new/$file | sed "s,^new/,," > $file2 --- -1.9.3 - + $OBJDUMP -s -j $section old/$file | sed "s,^old/,," > $file1 + $OBJDUMP -s -j $section new/$file | sed "s,^new/,," > $file2 diff --git a/poky/meta/recipes-devtools/build-compare/files/Rename-rpm-check.sh-to-pkg-diff.sh.patch b/poky/meta/recipes-devtools/build-compare/files/Rename-rpm-check.sh-to-pkg-diff.sh.patch deleted file mode 100644 index cff3a9e23..000000000 --- a/poky/meta/recipes-devtools/build-compare/files/Rename-rpm-check.sh-to-pkg-diff.sh.patch +++ /dev/null @@ -1,1599 +0,0 @@ -From 4de3df5a1b361cd09a081f0e0bdb94cbf684ed48 Mon Sep 17 00:00:00 2001 -From: Robert Yang -Date: Thu, 19 Feb 2015 00:34:47 -0800 -Subject: [PATCH] Rename rpm-check.sh to pkg-diff.sh. - -The tool now accepts package input other than rpm, so change the name -which could be misleading. - -Upstream-Status: Submitted [https://github.com/openSUSE/build-compare/pulls] - -Signed-off-by: Randy Witt - -Updated for rpm-check.sh. - -Signed-off-by: Robert Yang ---- - build-compare.spec | 2 +- - pkg-diff.sh | 765 ++++++++++++++++++++++++++++++++++++++++++++++++++ - rpm-check.sh | 764 ------------------------------------------------- - same-build-result.sh | 4 +- - 4 files changed, 768 insertions(+), 767 deletions(-) - create mode 100644 pkg-diff.sh - delete mode 100755 rpm-check.sh - -diff --git a/build-compare.spec b/build-compare.spec -index 14a97e9..5f47ca1 100644 ---- a/build-compare.spec -+++ b/build-compare.spec -@@ -25,7 +25,7 @@ Version: 2015.02.10 - Release: 0 - Source1: COPYING - Source2: same-build-result.sh --Source3: rpm-check.sh -+Source3: pkg-diff.sh - Source4: functions.sh - Source5: srpm-check.sh - BuildRoot: %{_tmppath}/%{name}-%{version}-build -diff --git a/pkg-diff.sh b/pkg-diff.sh -new file mode 100644 -index 0000000..56035c1 ---- /dev/null -+++ b/pkg-diff.sh -@@ -0,0 +1,765 @@ -+#! /bin/bash -+# -+# Copyright (c) 2009, 2010, 2011, 2012 SUSE Linux Product GmbH, Germany. -+# Licensed under GPL v2, see COPYING file for details. -+# -+# Written by Michael Matz and Stephan Coolo -+# Enhanced by Andreas Jaeger -+ -+FUNCTIONS=${0%/*}/functions.sh -+ -+check_all= -+case $1 in -+ -a | --check-all) -+ check_all=1 -+ shift -+esac -+ -+if test "$#" != 2; then -+ echo "usage: $0 [-a|--check-all] old.rpm new.rpm" -+ exit 1 -+fi -+ -+self_script=$(cd $(dirname $0); echo $(pwd)/$(basename $0)) -+ -+source $FUNCTIONS -+ -+oldpkg=`readlink -f $1` -+newpkg=`readlink -f $2` -+rename_script=`mktemp` -+ -+if test ! -f "$oldpkg"; then -+ echo "can't open $1" -+ exit 1 -+fi -+ -+if test ! -f "$newpkg"; then -+ echo "can't open $2" -+ exit 1 -+fi -+ -+#usage unjar -+function unjar() -+{ -+ local file -+ file=$1 -+ -+ if [[ $(type -p fastjar) ]]; then -+ UNJAR=fastjar -+ elif [[ $(type -p jar) ]]; then -+ UNJAR=jar -+ elif [[ $(type -p unzip) ]]; then -+ UNJAR=unzip -+ else -+ echo "ERROR: jar, fastjar, or unzip is not installed (trying file $file)" -+ exit 1 -+ fi -+ -+ case $UNJAR in -+ jar|fastjar) -+ # echo jar -xf $file -+ ${UNJAR} -xf $file -+ ;; -+ unzip) -+ unzip -oqq $file -+ ;; -+ esac -+} -+ -+# list files in directory -+#usage unjar_l -+function unjar_l() -+{ -+ local file -+ file=$1 -+ -+ if [[ $(type -p fastjar) ]]; then -+ UNJAR=fastjar -+ elif [[ $(type -p jar) ]]; then -+ UNJAR=jar -+ elif [[ $(type -p unzip) ]]; then -+ UNJAR=unzip -+ else -+ echo "ERROR: jar, fastjar, or unzip is not installed (trying file $file)" -+ exit 1 -+ fi -+ -+ case $UNJAR in -+ jar|fastjar) -+ ${UNJAR} -tf $file -+ ;; -+ unzip) -+ unzip -l $file -+ ;; -+ esac -+} -+ -+filter_disasm() -+{ -+ sed -e 's/^ *[0-9a-f]\+://' -e 's/\$0x[0-9a-f]\+/$something/' -e 's/callq *[0-9a-f]\+/callq /' -e 's/# *[0-9a-f]\+/# /' -e 's/\(0x\)\?[0-9a-f]\+(/offset(/' -e 's/[0-9a-f]\+ :/\1:/' -e 's/<\(.*\)+0x[0-9a-f]\+>/<\1 + ofs>/' -+} -+ -+echo "Comparing `basename $oldpkg` to `basename $newpkg`" -+ -+case $oldpkg in -+ *.rpm) -+ cmp_spec $rename_script $oldpkg $newpkg -+ RES=$? -+ case $RES in -+ 0) -+ echo "RPM meta information is identical" -+ if test -z "$check_all"; then -+ exit 0 -+ fi -+ ;; -+ 1) -+ echo "RPM meta information is different" -+ if test -z "$check_all"; then -+ exit 1 -+ fi -+ ;; -+ 2) -+ echo "RPM file checksum differs." -+ RES=0 -+ ;; -+ *) -+ echo "Wrong exit code!" -+ exit 1 -+ ;; -+ esac -+ ;; -+esac -+ -+file1=`mktemp` -+file2=`mktemp` -+ -+dir=`mktemp -d` -+echo "Extracting packages" -+unpackage $oldpkg $dir/old -+unpackage $newpkg $dir/new -+ -+# files is set in cmp_spec for rpms, so if RES is empty we should assume -+# it wasn't an rpm and pick all files for comparison. -+if [ -z $RES ]; then -+ oldfiles=`cd $dir/old; find . -type f` -+ newfiles=`cd $dir/new; find . -type f` -+ -+ files=`echo -e "$oldfiles\n$newfiles" | sort -u` -+fi -+ -+cd $dir -+bash $rename_script -+ -+dfile=`mktemp` -+ -+diff_two_files() -+{ -+ if ! cmp -s old/$file new/$file; then -+ echo "$file differs ($ftype)" -+ hexdump -C old/$file > $file1 -+ hexdump -C new/$file > $file2 -+ diff -u $file1 $file2 | head -n 200 -+ return 1 -+ fi -+ return 0 -+} -+ -+trim_man_first_line() -+{ -+ # Handles the first line if it is like: -+ #.\" Automatically generated by Pod::Man 2.28 (Pod::Simple 3.28) -+ #.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.43.3. -+ local f=$1 -+ sed -i -e '1{ -+ s|^\.\\"[[:blank:]]\+Automatically[[:blank:]]generated[[:blank:]]by[[:blank:]]Pod::Man[[:blank:]].*|.\\" Overly verbose Pod::Man| -+ s|^\.\\"[[:blank:]]\+DO[[:blank:]]NOT[[:blank:]]MODIFY[[:blank:]]THIS[[:blank:]]FILE![[:blank:]]\+It[[:blank:]]was[[:blank:]]generated[[:blank:]]by[[:blank:]]help2man[[:blank:]].*|.\\" Overly verbose help2man| -+ }' $f -+} -+ -+trim_man_TH() -+{ -+ # Handles lines like: -+ # .TH debhelper 7 "2010-02-27" "7.4.15" "Debhelper" -+ # .TH DIRMNGR-CLIENT 1 2010-02-27 "Dirmngr 1.0.3" "GNU Privacy Guard" -+ # .TH ccmake 1 "March 06, 2010" "ccmake 2.8.1-rc3" -+ # .TH QEMU-IMG 1 "2010-03-14" " " " " -+ # .TH kdecmake 1 "May 07, 2010" "cmake 2.8.1" -+ # .TH "appender.h" 3 "12 May 2010" "Version 1.2.1" "log4c" \" -*- nroff -*- -+ # .TH "appender.h" 3 "Tue Aug 31 2010" "Version 1.2.1" "log4c" \" -*- nroff -*- -+ # .TH "OFFLINEIMAP" "1" "11 May 2010" "John Goerzen" "OfflineIMAP Manual" -+ # .TH gv 3guile "13 May 2010" -+ #.TH "GIT\-ARCHIMPORT" "1" "09/13/2010" "Git 1\&.7\&.1" "Git Manual" -+ # .TH LDIRECTORD 8 "2010-10-20" "perl v5.12.2" "User Contributed Perl Documentation" -+ # .TH ccmake 1 "February 05, 2012" "ccmake 2.8.7" -+ # .TH "appender.h" 3 "Tue Aug 31 2010" "Version 1.2.1" "log4c" \" -*- nroff -*- -+ # .TH ARCH "1" "September 2010" "GNU coreutils 8.5" "User Commands" -+ # .TH "GCM-CALIBRATE" "1" "03 February 2012" "" "" -+ #.TH Locale::Po4a::Xml.pm 3pm "2015-01-30" "Po4a Tools" "Po4a Tools" -+ local f=$1 -+ # (.TH quoted section) (quoted_date)(*) -+ sed -i -e 's|^\([[:blank:]]*\.TH[[:blank:]]\+"[^"]\+"[[:blank:]]\+[^[:blank:]]\+\)[[:blank:]]\+\("[^"]\+"\)\([[:blank:]]\+.*\)\?|\1 "qq2000-01-01"\3|' $f -+ # (.TH unquoted section) (quoted_date)(*) -+ sed -i -e 's|^\([[:blank:]]*\.TH[[:blank:]]\+[^"][^[:blank:]]\+[[:blank:]]\+[^[:blank:]]\+\)[[:blank:]]\+\("[^"]\+"\)\([[:blank:]]\+.*\)\?|\1 "uq2000-02-02"\3|' $f -+ # (.TH quoted section) (unquoted_date)(*) -+ sed -i -e 's|^\([[:blank:]]*\.TH[[:blank:]]\+"[^"]\+"[[:blank:]]\+[^[:blank:]]\+\)[[:blank:]]\+\([^"][^[:blank:]]\+\)\([[:blank:]]\+.*\)\?|\1 qu2000-03-03\3|' $f -+ # (.TH unquoted section) (unquoted_date)(*) -+ sed -i -e 's|^\([[:blank:]]*\.TH[[:blank:]]\+[^"][^[:blank:]]\+[[:blank:]]\+[^[:blank:]]\+\)[[:blank:]]\+\([^"][^[:blank:]]\+\)\([[:blank:]]\+.*\)\?|\1 uu2000-04-04\3|' $f -+} -+ -+strip_numbered_anchors() -+{ -+ # Remove numbered anchors on Docbook / HTML files. -+ # This should be save since we remove them from old and new files. -+ # A trailing or tag will stay also on both files. -+ for f in old/$file new/$file; do -+ sed -i -e 's%<[ ]*a[ ]\+name[^<]*[0-9]\+[^<]*%%g' \ -+ -e 's%<[ ]*a[ ]\+href[^<]*#[^<]*[0-9]\+[^<]*%%g' \ -+ -e 's%<[^<]*id="ftn\.[^<]*[0-9]\+[^<]*%%g' $f -+ done -+} -+ -+ -+check_compressed_file() -+{ -+ local file=$1 -+ local ext=$2 -+ local tmpdir=`mktemp -d` -+ local ftype -+ local ret=0 -+ echo "$ext file with odd filename: $file" -+ if test -n "$tmpdir"; then -+ mkdir $tmpdir/{old,new} -+ cp --parents --dereference old/$file $tmpdir/ -+ cp --parents --dereference new/$file $tmpdir/ -+ if pushd $tmpdir > /dev/null ; then -+ case "$ext" in -+ bz2) -+ mv old/$file{,.bz2} -+ mv new/$file{,.bz2} -+ bzip2 -d old/$file.bz2 -+ bzip2 -d new/$file.bz2 -+ ;; -+ gzip) -+ mv old/$file{,.gz} -+ mv new/$file{,.gz} -+ gzip -d old/$file.gz -+ gzip -d new/$file.gz -+ ;; -+ xz) -+ mv old/$file{,.xz} -+ mv new/$file{,.xz} -+ xz -d old/$file.xz -+ xz -d new/$file.xz -+ ;; -+ esac -+ ftype=`/usr/bin/file old/$file | sed 's@^[^:]\+:[[:blank:]]*@@'` -+ case $ftype in -+ POSIX\ tar\ archive) -+ echo "$ext content is: $ftype" -+ mv old/$file{,.tar} -+ mv new/$file{,.tar} -+ if ! check_single_file ${file}.tar; then -+ ret=1 -+ fi -+ ;; -+ ASCII\ cpio\ archive\ *) -+ echo "$ext content is: $ftype" -+ mv old/$file{,.cpio} -+ mv new/$file{,.cpio} -+ if ! check_single_file ${file}.cpio; then -+ ret=1 -+ fi -+ ;; -+ *) -+ echo "unhandled $ext content: $ftype" -+ if ! diff_two_files; then -+ ret=1 -+ fi -+ ;; -+ esac -+ popd > /dev/null -+ fi -+ rm -rf "$tmpdir" -+ fi -+ return $ret -+} -+ -+check_single_file() -+{ -+ local file="$1" -+ case $file in -+ *.spec) -+ sed -i -e "s,Release:.*$release1,Release: @RELEASE@," old/$file -+ sed -i -e "s,Release:.*$release2,Release: @RELEASE@," new/$file -+ ;; -+ *.exe.mdb|*.dll.mdb) -+ # Just debug information, we can skip them -+ echo "$file skipped as debug file." -+ return 0 -+ ;; -+ *.a) -+ flist=`ar t new/$file` -+ pwd=$PWD -+ fdir=`dirname $file` -+ cd old/$fdir -+ ar x `basename $file` -+ cd $pwd/new/$fdir -+ ar x `basename $file` -+ cd $pwd -+ for f in $flist; do -+ if ! check_single_file $fdir/$f; then -+ return 1 -+ fi -+ done -+ return 0 -+ ;; -+ *.cpio) -+ flist=`cpio --quiet --list --force-local < "new/$file"` -+ pwd=$PWD -+ fdir=$file.extract.$PPID.$$ -+ mkdir old/$fdir new/$fdir -+ cd old/$fdir -+ cpio --quiet --extract --force-local < "../${file##*/}" -+ cd $pwd/new/$fdir -+ cpio --quiet --extract --force-local < "../${file##*/}" -+ cd $pwd -+ local ret=0 -+ for f in $flist; do -+ if ! check_single_file $fdir/$f; then -+ ret=1 -+ if test -z "$check_all"; then -+ break -+ fi -+ fi -+ done -+ rm -rf old/$fdir new/$fdir -+ return $ret -+ ;; -+ *.tar|*.tar.bz2|*.tar.gz|*.tgz|*.tbz2) -+ flist=`tar tf new/$file` -+ pwd=$PWD -+ fdir=`dirname $file` -+ cd old/$fdir -+ tar xf `basename $file` -+ cd $pwd/new/$fdir -+ tar xf `basename $file` -+ cd $pwd -+ local ret=0 -+ for f in $flist; do -+ if ! check_single_file $fdir/$f; then -+ ret=1 -+ if test -z "$check_all"; then -+ break -+ fi -+ fi -+ done -+ return $ret -+ ;; -+ *.zip|*.jar|*.war) -+ cd old -+ unjar_l ./$file |sort > flist -+ # 10-05-2010 14:39 -+ sed -i -e "s, [0-9][0-9]-[0-9][0-9]-[0-9]\+ [0-9][0-9]:[0-9][0-9] , date ," flist -+ # 2012-02-03 07:59 -+ sed -i -e "s, 20[0-9][0-9]-[0-9][0-9]-[0-9][0-9] [0-9][0-9]:[0-9][0-9] , date ," flist -+ cd ../new -+ unjar_l ./$file |sort> flist -+ sed -i -e "s, [0-9][0-9]-[0-9][0-9]-[0-9]\+ [0-9][0-9]:[0-9][0-9] , date ,; " flist -+ sed -i -e "s, 20[0-9][0-9]-[0-9][0-9]-[0-9][0-9] [0-9][0-9]:[0-9][0-9] , date ," flist -+ cd .. -+ if ! cmp -s old/flist new/flist; then -+ echo "$file has different file list" -+ diff -u old/flist new/flist -+ return 1 -+ fi -+ flist=`grep date new/flist | sed -e 's,.* date ,,'` -+ pwd=$PWD -+ fdir=`dirname $file` -+ cd old/$fdir -+ unjar `basename $file` -+ cd $pwd/new/$fdir -+ unjar `basename $file` -+ cd $pwd -+ local ret=0 -+ for f in $flist; do -+ if test -f new/$fdir/$f && ! check_single_file $fdir/$f; then -+ ret=1 -+ if test -z "$check_all"; then -+ break -+ fi -+ fi -+ done -+ return $ret;; -+ *.pyc|*.pyo) -+ perl -e "open fh, '+<', 'old/$file'; seek fh, 4, SEEK_SET; print fh '0000';" -+ perl -e "open fh, '+<', 'new/$file'; seek fh, 4, SEEK_SET; print fh '0000';" -+ ;; -+ *.bz2) -+ bunzip2 -c old/$file > old/${file/.bz2/} -+ bunzip2 -c new/$file > new/${file/.bz2/} -+ check_single_file ${file/.bz2/} -+ return $? -+ ;; -+ *.gz) -+ gunzip -c old/$file > old/${file/.gz/} -+ gunzip -c new/$file > new/${file/.gz/} -+ check_single_file ${file/.gz/} -+ return $? -+ ;; -+ *.rpm) -+ $self_script -a old/$file new/$file -+ return $? -+ ;; -+ *png) -+ # Try to remove timestamps, only if convert from ImageMagick is installed -+ if [[ $(type -p convert) ]]; then -+ convert old/$file +set date:create +set date:modify old/${file/.png/_n.png} -+ convert old/$file +set date:create +set date:modify new/${file/.png/_n.png} -+ if ! cmp -s old/${file/.png/_n.png} new/${file/.png/_n.png}; then -+ echo "$file differs ($ftype)" -+ hexdump -C old/${file/.png/_n.png} > $file1 -+ hexdump -C new/${file/.png/_n.png} > $file2 -+ diff -u $file1 $file2 | head -n 20 -+ return 1 -+ fi -+ return 0 -+ fi -+ ;; -+ /usr/share/locale/*/LC_MESSAGES/*.mo|/usr/share/locale-bundle/*/LC_MESSAGES/*.mo) -+ for f in old/$file new/$file; do -+ sed -i -e "s,POT-Creation-Date: ....-..-.. ..:..+....,POT-Creation-Date: 1970-01-01 00:00+0000," $f -+ done -+ ;; -+ /usr/share/doc/packages/*/*.html|\ -+ /usr/share/doc/kde/HTML/*/*/*.html|/usr/share/doc/*/html/*.html) -+ for f in old/$file new/$file; do -+ # texi2html output, e.g. in kvm, indent, qemu -+ sed -i -e "s|^ -+ # -+ # -+ # -+ sed -i -e ' -+ /^/{ -+ : next -+ n -+ /^<\/head>/{ -+ b end_head -+ } -+ s/^\(\)/\1 some-date-removed-by-build-compare \5/ -+ t next -+ s/^\(\)/\1 some-date-removed-by-build-compare \3/ -+ t next -+ s/^// -+ b next -+ } -+ : end_head -+ ' $f -+ # Gjdoc HtmlDoclet: -+ sed -i -e 's%Generated by Gjdoc HtmlDoclet [0-9,.]*, part of GNU Classpath Tools, on .*, 20.. [0-9]*:..:.. \(a\|p\)\.m\. GMT.%Generated by Gjdoc.%' $f -+ sed -i -e 's%, on [A-Z][a-z]* [0-9]*, 20?? [0-9]*:??:?? \(a|p\)\.m\. GMT.

%, on January 1, 2009 0:00:00 a.m. GMT.

%' $f -+ sed -i -e 's%\), on [a-zA-Z]* [0-9][0-9], 20.. [0-9]*:..:.. \(a\|p\)\.m\. GMT.

%%' $f -+ # deprecated-list is randomly ordered, sort it for comparison -+ case $f in -+ */deprecated-list.html) -+ sort -o $f $f -+ ;; -+ esac -+ done -+ ;; -+ /usr/share/javadoc/gjdoc.properties |\ -+ /usr/share/javadoc/*/gjdoc.properties) -+ for f in old/$file new/$file; do -+ sed -i -e 's|^#[A-Z][a-z]\{2\} [A-Z][a-z]\{2\} [0-9]\{2\} ..:..:.. GMT 20..$|#Fri Jan 01 11:27:36 GMT 2009|' $f -+ done -+ ;; -+ */fonts.scale|*/fonts.dir|*/encodings.dir) -+ for f in old/$file new/$file; do -+ # sort files before comparing -+ sort -o $f $f -+ done -+ ;; -+ /var/adm/perl-modules/*) -+ for f in old/$file new/$file; do -+ sed -i -e 's|^=head2 ... ... .. ..:..:.. ....: C|=head2 Wed Jul 1 00:00:00 2009: C|' $f -+ done -+ ;; -+ /usr/share/man/man3/*3pm) -+ for f in old/$file new/$file; do -+ sed -i -e 's| 3 "20..-..-.." "perl v5....." "User Contributed Perl Documentation"$| 3 "2009-01-01" "perl v5.10.0" "User Contributed Perl Documentation"|' $f -+ trim_man_TH $f -+ trim_man_first_line $f -+ done -+ ;; -+ /usr/share/man/*/man*|/usr/share/man/man*|/usr/lib/texmf/doc/man/*/*) -+ -+ for f in old/$file new/$file; do -+ trim_man_TH $f -+ trim_man_first_line $f -+ # generated by docbook xml: -+ #.\" Date: 09/13/2010 -+ sed -i -e 's|Date: [0-1][0-9]/[0-9][0-9]/201[0-9]|Date: 09/13/2010|' $f -+ done -+ ;; -+ *.elc) -+ # emacs lisp files -+ for f in old/$file new/$file; do -+ sed -i -e 's|Compiled by abuild@.* on ... ... .. ..:..:.. 20..$|compiled by abuild@buildhost on Wed Jul 01 00:00:00 2009|' $f -+ done -+ ;; -+ /var/lib/texmf/web2c/*/*fmt |\ -+ /var/lib/texmf/web2c/metafont/*.base|\ -+ /var/lib/texmf/web2c/metapost/*.mem) -+ # binary dump of TeX and Metafont formats, we can ignore them for good -+ echo "difference in $file ignored." -+ return 0 -+ ;; -+ */libtool) -+ for f in old/$file new/$file; do -+ sed -i -e 's|^# Libtool was configured on host [A-Za-z0-9]*:$|# Libtool was configured on host x42:|' $f -+ done -+ ;; -+ /etc/mail/*cf|/etc/sendmail.cf) -+ # from sendmail package -+ for f in old/$file new/$file; do -+ # - ##### built by abuild@build33 on Thu May 6 11:21:17 UTC 2010 -+ sed -i -e 's|built by abuild@[a-z0-9]* on ... ... [0-9]* [0-9]*:[0-9][0-9]:[0-9][0-9] .* 20[0-9][0-9]|built by abuild@build42 on Thu May 6 11:21:17 UTC 2010|' $f -+ done -+ ;; -+ /usr/share/doc/kde/HTML/*/*/index.cache|/usr/share/doc/kde/HTML/*/*/*/index.cache|\ -+ /usr/share/gtk-doc/html/*/*.html|/usr/share/gtk-doc/html/*/*.devhelp2) -+ # various kde and gtk packages -+ strip_numbered_anchors -+ ;; -+ */created.rid) -+ # ruby documentation -+ # file just contains a timestamp and nothing else, so ignore it -+ echo "Ignore $file" -+ return 0 -+ ;; -+ */rdoc/files/*.html) -+ # ruby documentation -+ # Mon Sep 20 19:02:43 +0000 2010 -+ for f in old/$file new/$file; do -+ sed -i -e 's%[A-Z][a-z][a-z] [A-Z][a-z][a-z] [0-9]\+ [0-9]\+:[0-9]\+:[0-9]\+ +0000 201[0-9]%Mon Sep 20 19:02:43 +0000 2010%g' $f -+ done -+ strip_numbered_anchors -+ ;; -+ */Linux*Env.Set.sh) -+ # LibreOffice files, contains: -+ # Generated on: Mon Apr 18 13:19:22 UTC 2011 -+ for f in old/$file new/$file; do -+ sed -i -e 's%^# Generated on:.*UTC 201[0-9] *$%# Generated on: Sometime%g' $f -+ done -+ ;; -+ /usr/lib/libreoffice/solver/inc/*/deliver.log) -+ # LibreOffice log file -+ echo "Ignore $file" -+ return 0 -+ ;; -+ /var/adm/update-messages/*|/var/adm/update-scripts/*) -+ # encode version-release inside -+ oldfn=`echo "$file"|sed -e s/-$release2/-$release1/;` -+ -+ # fetchmsttfonts embeds the release number in the update shell script. -+ echo sed -i -e "s/-$release1/-$release2/g;" "old/$oldfn" -+ sed -i -e "s/-$release1/-$release2/g;" "old/$oldfn" -+ -+ if ! diff -u old/$oldfn new/$file; then -+ echo "$oldfn is not same as $file" -+ return 1 -+ fi -+ echo "$file and $oldfn are same" -+ return 0 -+ ;; -+ *.ps) -+ for f in "old/$file" "new/$file"; do -+ sed -i -e ' -+ /^%%CreationDate:[[:blank:]]/d -+ /^%%Creator:[[:blank:]]groff[[:blank:]]version[[:blank:]]/d -+ /^%DVIPSSource:[[:blank:]]/d -+ ' "$f" -+ done -+ ;; -+ *pdf) -+ # PDF files contain a unique ID, remove it -+ # Format of the ID is: -+ # /ID [<9ACE247A70CF9BEAFEE15E116259BD6D> <9ACE247A70CF9BEAFEE15E116259BD6D>] -+ # with optional spaces. pdftex creates also: -+ # /CreationDate (D:20120103083206Z) -+ # /ModDate (D:20120103083206Z) -+ # and possibly XML metadata as well -+ for f in "old/$file" "new/$file"; do -+ sed -i \ -+ '/obj/,/endobj/{ -+ s%/ID \?\[ \?<[^>]\+> \?<[^>]\+> \?\]%/IDrandom%g; -+ s%/CreationDate \?(D:[^)]*)%/CreationDate (D: XXX)%g; -+ s%/ModDate \?(D:[^)]*)%/ModDate (D: XXX)%g; -+ s%[^<]*%XXX%g; -+ s%[^<]*%XXX%g; -+ s%[^<]*%XXX%g; -+ s%[^<]*%XXX%g; -+ s%[^<]*%XXX%g; -+ }' "$f" -+ done -+ ;; -+ esac -+ -+ ftype=`/usr/bin/file old/$file | sed 's@^[^:]\+:[[:blank:]]*@@'` -+ case $ftype in -+ PE32\ executable*Mono\/\.Net\ assembly*) -+ echo "PE32 Mono/.Net assembly: $file" -+ if [ -x /usr/bin/monodis ] ; then -+ monodis old/$file 2>/dev/null|sed -e 's/GUID = {.*}/GUID = { 42 }/;'> ${file1} -+ monodis new/$file 2>/dev/null|sed -e 's/GUID = {.*}/GUID = { 42 }/;'> ${file2} -+ if ! cmp -s ${file1} ${file2}; then -+ echo "$file differs ($ftype)" -+ diff -u ${file1} ${file2} -+ return 1 -+ fi -+ else -+ echo "Cannot compare, no monodis installed" -+ return 1 -+ fi -+ ;; -+ ELF*executable*|ELF*[LM]SB\ shared\ object*) -+ objdump -d --no-show-raw-insn old/$file | filter_disasm > $file1 -+ if ! test -s $file1; then -+ # objdump has no idea how to handle it -+ if ! diff_two_files; then -+ ret=1 -+ break -+ fi -+ fi -+ elfdiff= -+ sed -i -e "s,old/,," $file1 -+ objdump -d --no-show-raw-insn new/$file | filter_disasm > $file2 -+ sed -i -e "s,new/,," $file2 -+ if ! diff -u $file1 $file2 > $dfile; then -+ echo "$file differs in assembler output" -+ head -n 200 $dfile -+ elfdiff="1" -+ fi -+ echo "" >$file1 -+ echo "" >$file2 -+ # Don't compare .build-id and .gnu_debuglink sections -+ sections="$(objdump -s new/$file | grep "Contents of section .*:" | sed -r "s,.* (.*):,\1,g" | grep -v -e "\.build-id" -e "\.gnu_debuglink" | tr "\n" " ")" -+ for section in $sections; do -+ objdump -s -j $section old/$file | sed "s,^old/,," > $file1 -+ objdump -s -j $section new/$file | sed "s,^new/,," > $file2 -+ if ! diff -u $file1 $file2 > $dfile; then -+ echo "$file differs in ELF section $section" -+ head -n 200 $dfile -+ elfdiff="1" -+ fi -+ done -+ if test -z "$elfdiff"; then -+ echo "$file: only difference was in build-id or gnu_debuglink, GOOD." -+ return 0 -+ fi -+ return 1 -+ ;; -+ *ASCII*|*text*) -+ if ! cmp -s old/$file new/$file; then -+ echo "$file differs ($ftype)" -+ diff -u old/$file new/$file | head -n 200 -+ return 1 -+ fi -+ ;; -+ directory|setuid,\ directory|sticky,\ directory) -+ # tar might package directories - ignore them here -+ return 0 -+ ;; -+ bzip2\ compressed\ data*) -+ if ! check_compressed_file "$file" "bz2"; then -+ return 1 -+ fi -+ ;; -+ gzip\ compressed\ data*) -+ if ! check_compressed_file "$file" "gzip"; then -+ return 1 -+ fi -+ ;; -+ XZ\ compressed\ data*) -+ if ! check_compressed_file "$file" "xz"; then -+ return 1 -+ fi -+ ;; -+ POSIX\ tar\ archive) -+ mv old/$file{,.tar} -+ mv new/$file{,.tar} -+ if ! check_single_file ${file}.tar; then -+ return 1 -+ fi -+ ;; -+ cpio\ archive) -+ mv old/$file{,.cpio} -+ mv new/$file{,.cpio} -+ if ! check_single_file ${file}.cpio; then -+ return 1 -+ fi -+ ;; -+ symbolic\ link\ to\ *) -+ readlink "old/$file" > $file1 -+ readlink "new/$file" > $file2 -+ if ! diff -u $file1 $file2; then -+ echo "symlink target for $file differs" -+ return 1 -+ fi -+ ;; -+ *) -+ if ! diff_two_files; then -+ return 1 -+ fi -+ ;; -+ esac -+ return 0 -+} -+ -+# We need /proc mounted for some tests, so check that it's mounted and -+# complain if not. -+PROC_MOUNTED=0 -+if [ ! -d /proc/self/ ]; then -+ echo "/proc is not mounted" -+ mount -orw -n -tproc none /proc -+ PROC_MOUNTED=1 -+fi -+ -+# preserve cmp_spec result for check_all runs -+ret=$RES -+for file in $files; do -+ if ! check_single_file $file; then -+ ret=1 -+ if test -z "$check_all"; then -+ break -+ fi -+ fi -+done -+ -+if [ "$PROC_MOUNTED" -eq "1" ]; then -+ echo "Unmounting proc" -+ umount /proc -+fi -+ -+rm $file1 $file2 $dfile $rename_script -+rm -rf $dir -+if test "$ret" = 0; then -+ echo "Package content is identical" -+fi -+exit $ret -+# vim: tw=666 ts=2 et -diff --git a/rpm-check.sh b/rpm-check.sh -deleted file mode 100755 -index dd47642..0000000 ---- a/rpm-check.sh -+++ /dev/null -@@ -1,764 +0,0 @@ --#! /bin/bash --# --# Copyright (c) 2009, 2010, 2011, 2012 SUSE Linux Product GmbH, Germany. --# Licensed under GPL v2, see COPYING file for details. --# --# Written by Michael Matz and Stephan Coolo --# Enhanced by Andreas Jaeger -- --FUNCTIONS=${0%/*}/functions.sh -- --check_all= --case $1 in -- -a | --check-all) -- check_all=1 -- shift --esac -- --if test "$#" != 2; then -- echo "usage: $0 [-a|--check-all] old.rpm new.rpm" -- exit 1 --fi -- --self_script=$(cd $(dirname $0); echo $(pwd)/$(basename $0)) -- --source $FUNCTIONS -- --oldpkg=`readlink -f $1` --newpkg=`readlink -f $2` --rename_script=`mktemp` -- --if test ! -f "$oldpkg"; then -- echo "can't open $1" -- exit 1 --fi -- --if test ! -f "$newpkg"; then -- echo "can't open $2" -- exit 1 --fi -- --#usage unjar --function unjar() --{ -- local file -- file=$1 -- -- if [[ $(type -p fastjar) ]]; then -- UNJAR=fastjar -- elif [[ $(type -p jar) ]]; then -- UNJAR=jar -- elif [[ $(type -p unzip) ]]; then -- UNJAR=unzip -- else -- echo "ERROR: jar, fastjar, or unzip is not installed (trying file $file)" -- exit 1 -- fi -- -- case $UNJAR in -- jar|fastjar) -- # echo jar -xf $file -- ${UNJAR} -xf $file -- ;; -- unzip) -- unzip -oqq $file -- ;; -- esac --} -- --# list files in directory --#usage unjar_l --function unjar_l() --{ -- local file -- file=$1 -- -- if [[ $(type -p fastjar) ]]; then -- UNJAR=fastjar -- elif [[ $(type -p jar) ]]; then -- UNJAR=jar -- elif [[ $(type -p unzip) ]]; then -- UNJAR=unzip -- else -- echo "ERROR: jar, fastjar, or unzip is not installed (trying file $file)" -- exit 1 -- fi -- -- case $UNJAR in -- jar|fastjar) -- ${UNJAR} -tf $file -- ;; -- unzip) -- unzip -l $file -- ;; -- esac --} -- --filter_disasm() --{ -- sed -e 's/^ *[0-9a-f]\+://' -e 's/\$0x[0-9a-f]\+/$something/' -e 's/callq *[0-9a-f]\+/callq /' -e 's/# *[0-9a-f]\+/# /' -e 's/\(0x\)\?[0-9a-f]\+(/offset(/' -e 's/[0-9a-f]\+ :/\1:/' -e 's/<\(.*\)+0x[0-9a-f]\+>/<\1 + ofs>/' --} -- --echo "Comparing `basename $oldpkg` to `basename $newpkg`" -- --case $oldpkg in -- *.rpm) -- cmp_spec $rename_script $oldpkg $newpkg -- RES=$? -- case $RES in -- 0) -- echo "RPM meta information is identical" -- if test -z "$check_all"; then -- exit 0 -- fi -- ;; -- 1) -- echo "RPM meta information is different" -- if test -z "$check_all"; then -- exit 1 -- fi -- ;; -- 2) -- echo "RPM file checksum differs." -- RES=0 -- ;; -- *) -- echo "Wrong exit code!" -- exit 1 -- ;; -- esac -- ;; --esac -- --file1=`mktemp` --file2=`mktemp` -- --dir=`mktemp -d` --echo "Extracting packages" --unpackage $oldpkg $dir/old --unpackage $newpkg $dir/new -- --# files is set in cmp_spec for rpms, so if RES is empty we should assume --# it wasn't an rpm and pick all files for comparison. --if [ -z $RES ]; then -- oldfiles=`cd $dir/old; find . -type f` -- newfiles=`cd $dir/new; find . -type f` -- -- files=`echo -e "$oldfiles\n$newfiles" | sort -u` --fi -- --cd $dir --bash $rename_script -- --dfile=`mktemp` -- --diff_two_files() --{ -- if ! cmp -s old/$file new/$file; then -- echo "$file differs ($ftype)" -- hexdump -C old/$file > $file1 -- hexdump -C new/$file > $file2 -- diff -u $file1 $file2 | head -n 200 -- return 1 -- fi -- return 0 --} -- --trim_man_first_line() --{ -- # Handles the first line if it is like: -- #.\" Automatically generated by Pod::Man 2.28 (Pod::Simple 3.28) -- #.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.43.3. -- local f=$1 -- sed -i -e '1{ -- s|^\.\\"[[:blank:]]\+Automatically[[:blank:]]generated[[:blank:]]by[[:blank:]]Pod::Man[[:blank:]].*|.\\" Overly verbose Pod::Man| -- s|^\.\\"[[:blank:]]\+DO[[:blank:]]NOT[[:blank:]]MODIFY[[:blank:]]THIS[[:blank:]]FILE![[:blank:]]\+It[[:blank:]]was[[:blank:]]generated[[:blank:]]by[[:blank:]]help2man[[:blank:]].*|.\\" Overly verbose help2man| -- }' $f --} -- --trim_man_TH() --{ -- # Handles lines like: -- # .TH debhelper 7 "2010-02-27" "7.4.15" "Debhelper" -- # .TH DIRMNGR-CLIENT 1 2010-02-27 "Dirmngr 1.0.3" "GNU Privacy Guard" -- # .TH ccmake 1 "March 06, 2010" "ccmake 2.8.1-rc3" -- # .TH QEMU-IMG 1 "2010-03-14" " " " " -- # .TH kdecmake 1 "May 07, 2010" "cmake 2.8.1" -- # .TH "appender.h" 3 "12 May 2010" "Version 1.2.1" "log4c" \" -*- nroff -*- -- # .TH "appender.h" 3 "Tue Aug 31 2010" "Version 1.2.1" "log4c" \" -*- nroff -*- -- # .TH "OFFLINEIMAP" "1" "11 May 2010" "John Goerzen" "OfflineIMAP Manual" -- # .TH gv 3guile "13 May 2010" -- #.TH "GIT\-ARCHIMPORT" "1" "09/13/2010" "Git 1\&.7\&.1" "Git Manual" -- # .TH LDIRECTORD 8 "2010-10-20" "perl v5.12.2" "User Contributed Perl Documentation" -- # .TH ccmake 1 "February 05, 2012" "ccmake 2.8.7" -- # .TH "appender.h" 3 "Tue Aug 31 2010" "Version 1.2.1" "log4c" \" -*- nroff -*- -- # .TH ARCH "1" "September 2010" "GNU coreutils 8.5" "User Commands" -- # .TH "GCM-CALIBRATE" "1" "03 February 2012" "" "" -- #.TH Locale::Po4a::Xml.pm 3pm "2015-01-30" "Po4a Tools" "Po4a Tools" -- local f=$1 -- # (.TH quoted section) (quoted_date)(*) -- sed -i -e 's|^\([[:blank:]]*\.TH[[:blank:]]\+"[^"]\+"[[:blank:]]\+[^[:blank:]]\+\)[[:blank:]]\+\("[^"]\+"\)\([[:blank:]]\+.*\)\?|\1 "qq2000-01-01"\3|' $f -- # (.TH unquoted section) (quoted_date)(*) -- sed -i -e 's|^\([[:blank:]]*\.TH[[:blank:]]\+[^"][^[:blank:]]\+[[:blank:]]\+[^[:blank:]]\+\)[[:blank:]]\+\("[^"]\+"\)\([[:blank:]]\+.*\)\?|\1 "uq2000-02-02"\3|' $f -- # (.TH quoted section) (unquoted_date)(*) -- sed -i -e 's|^\([[:blank:]]*\.TH[[:blank:]]\+"[^"]\+"[[:blank:]]\+[^[:blank:]]\+\)[[:blank:]]\+\([^"][^[:blank:]]\+\)\([[:blank:]]\+.*\)\?|\1 qu2000-03-03\3|' $f -- # (.TH unquoted section) (unquoted_date)(*) -- sed -i -e 's|^\([[:blank:]]*\.TH[[:blank:]]\+[^"][^[:blank:]]\+[[:blank:]]\+[^[:blank:]]\+\)[[:blank:]]\+\([^"][^[:blank:]]\+\)\([[:blank:]]\+.*\)\?|\1 uu2000-04-04\3|' $f --} -- --strip_numbered_anchors() --{ -- # Remove numbered anchors on Docbook / HTML files. -- # This should be save since we remove them from old and new files. -- # A trailing or tag will stay also on both files. -- for f in old/$file new/$file; do -- sed -i -e 's%<[ ]*a[ ]\+name[^<]*[0-9]\+[^<]*%%g' \ -- -e 's%<[ ]*a[ ]\+href[^<]*#[^<]*[0-9]\+[^<]*%%g' \ -- -e 's%<[^<]*id="ftn\.[^<]*[0-9]\+[^<]*%%g' $f -- done --} -- -- --check_compressed_file() --{ -- local file=$1 -- local ext=$2 -- local tmpdir=`mktemp -d` -- local ftype -- local ret=0 -- echo "$ext file with odd filename: $file" -- if test -n "$tmpdir"; then -- mkdir $tmpdir/{old,new} -- cp --parents --dereference old/$file $tmpdir/ -- cp --parents --dereference new/$file $tmpdir/ -- if pushd $tmpdir > /dev/null ; then -- case "$ext" in -- bz2) -- mv old/$file{,.bz2} -- mv new/$file{,.bz2} -- bzip2 -d old/$file.bz2 -- bzip2 -d new/$file.bz2 -- ;; -- gzip) -- mv old/$file{,.gz} -- mv new/$file{,.gz} -- gzip -d old/$file.gz -- gzip -d new/$file.gz -- ;; -- xz) -- mv old/$file{,.xz} -- mv new/$file{,.xz} -- xz -d old/$file.xz -- xz -d new/$file.xz -- ;; -- esac -- ftype=`/usr/bin/file old/$file | sed 's@^[^:]\+:[[:blank:]]*@@'` -- case $ftype in -- POSIX\ tar\ archive) -- echo "$ext content is: $ftype" -- mv old/$file{,.tar} -- mv new/$file{,.tar} -- if ! check_single_file ${file}.tar; then -- ret=1 -- fi -- ;; -- ASCII\ cpio\ archive\ *) -- echo "$ext content is: $ftype" -- mv old/$file{,.cpio} -- mv new/$file{,.cpio} -- if ! check_single_file ${file}.cpio; then -- ret=1 -- fi -- ;; -- *) -- echo "unhandled $ext content: $ftype" -- if ! diff_two_files; then -- ret=1 -- fi -- ;; -- esac -- popd > /dev/null -- fi -- rm -rf "$tmpdir" -- fi -- return $ret --} -- --check_single_file() --{ -- local file="$1" -- case $file in -- *.spec) -- sed -i -e "s,Release:.*$release1,Release: @RELEASE@," old/$file -- sed -i -e "s,Release:.*$release2,Release: @RELEASE@," new/$file -- ;; -- *.exe.mdb|*.dll.mdb) -- # Just debug information, we can skip them -- echo "$file skipped as debug file." -- return 0 -- ;; -- *.a) -- flist=`ar t new/$file` -- pwd=$PWD -- fdir=`dirname $file` -- cd old/$fdir -- ar x `basename $file` -- cd $pwd/new/$fdir -- ar x `basename $file` -- cd $pwd -- for f in $flist; do -- if ! check_single_file $fdir/$f; then -- return 1 -- fi -- done -- return 0 -- ;; -- *.cpio) -- flist=`cpio --quiet --list --force-local < "new/$file"` -- pwd=$PWD -- fdir=$file.extract.$PPID.$$ -- mkdir old/$fdir new/$fdir -- cd old/$fdir -- cpio --quiet --extract --force-local < "../${file##*/}" -- cd $pwd/new/$fdir -- cpio --quiet --extract --force-local < "../${file##*/}" -- cd $pwd -- local ret=0 -- for f in $flist; do -- if ! check_single_file $fdir/$f; then -- ret=1 -- if test -z "$check_all"; then -- break -- fi -- fi -- done -- rm -rf old/$fdir new/$fdir -- return $ret -- ;; -- *.tar|*.tar.bz2|*.tar.gz|*.tgz|*.tbz2) -- flist=`tar tf new/$file` -- pwd=$PWD -- fdir=`dirname $file` -- cd old/$fdir -- tar xf `basename $file` -- cd $pwd/new/$fdir -- tar xf `basename $file` -- cd $pwd -- local ret=0 -- for f in $flist; do -- if ! check_single_file $fdir/$f; then -- ret=1 -- if test -z "$check_all"; then -- break -- fi -- fi -- done -- return $ret -- ;; -- *.zip|*.jar|*.war) -- cd old -- unjar_l ./$file |sort > flist -- # 10-05-2010 14:39 -- sed -i -e "s, [0-9][0-9]-[0-9][0-9]-[0-9]\+ [0-9][0-9]:[0-9][0-9] , date ," flist -- # 2012-02-03 07:59 -- sed -i -e "s, 20[0-9][0-9]-[0-9][0-9]-[0-9][0-9] [0-9][0-9]:[0-9][0-9] , date ," flist -- cd ../new -- unjar_l ./$file |sort> flist -- sed -i -e "s, [0-9][0-9]-[0-9][0-9]-[0-9]\+ [0-9][0-9]:[0-9][0-9] , date ,; " flist -- sed -i -e "s, 20[0-9][0-9]-[0-9][0-9]-[0-9][0-9] [0-9][0-9]:[0-9][0-9] , date ," flist -- cd .. -- if ! cmp -s old/flist new/flist; then -- echo "$file has different file list" -- diff -u old/flist new/flist -- return 1 -- fi -- flist=`grep date new/flist | sed -e 's,.* date ,,'` -- pwd=$PWD -- fdir=`dirname $file` -- cd old/$fdir -- unjar `basename $file` -- cd $pwd/new/$fdir -- unjar `basename $file` -- cd $pwd -- local ret=0 -- for f in $flist; do -- if test -f new/$fdir/$f && ! check_single_file $fdir/$f; then -- ret=1 -- if test -z "$check_all"; then -- break -- fi -- fi -- done -- return $ret;; -- *.pyc|*.pyo) -- perl -e "open fh, '+<', 'old/$file'; seek fh, 4, SEEK_SET; print fh '0000';" -- perl -e "open fh, '+<', 'new/$file'; seek fh, 4, SEEK_SET; print fh '0000';" -- ;; -- *.bz2) -- bunzip2 -c old/$file > old/${file/.bz2/} -- bunzip2 -c new/$file > new/${file/.bz2/} -- check_single_file ${file/.bz2/} -- return $? -- ;; -- *.gz) -- gunzip -c old/$file > old/${file/.gz/} -- gunzip -c new/$file > new/${file/.gz/} -- check_single_file ${file/.gz/} -- return $? -- ;; -- *.rpm) -- $self_script -a old/$file new/$file -- return $? -- ;; -- *png) -- # Try to remove timestamps, only if convert from ImageMagick is installed -- if [[ $(type -p convert) ]]; then -- convert old/$file +set date:create +set date:modify old/${file/.png/_n.png} -- convert old/$file +set date:create +set date:modify new/${file/.png/_n.png} -- if ! cmp -s old/${file/.png/_n.png} new/${file/.png/_n.png}; then -- echo "$file differs ($ftype)" -- hexdump -C old/${file/.png/_n.png} > $file1 -- hexdump -C new/${file/.png/_n.png} > $file2 -- diff -u $file1 $file2 | head -n 20 -- return 1 -- fi -- return 0 -- fi -- ;; -- /usr/share/locale/*/LC_MESSAGES/*.mo|/usr/share/locale-bundle/*/LC_MESSAGES/*.mo) -- for f in old/$file new/$file; do -- sed -i -e "s,POT-Creation-Date: ....-..-.. ..:..+....,POT-Creation-Date: 1970-01-01 00:00+0000," $f -- done -- ;; -- /usr/share/doc/packages/*/*.html|\ -- /usr/share/doc/kde/HTML/*/*/*.html|/usr/share/doc/*/html/*.html) -- for f in old/$file new/$file; do -- # texi2html output, e.g. in kvm, indent, qemu -- sed -i -e "s|^ -- # -- # -- # -- sed -i -e ' -- /^/{ -- : next -- n -- /^<\/head>/{ -- b end_head -- } -- s/^\(\)/\1 some-date-removed-by-build-compare \5/ -- t next -- s/^\(\)/\1 some-date-removed-by-build-compare \3/ -- t next -- s/^// -- b next -- } -- : end_head -- ' $f -- # Gjdoc HtmlDoclet: -- sed -i -e 's%Generated by Gjdoc HtmlDoclet [0-9,.]*, part of GNU Classpath Tools, on .*, 20.. [0-9]*:..:.. \(a\|p\)\.m\. GMT.%Generated by Gjdoc.%' $f -- sed -i -e 's%, on [A-Z][a-z]* [0-9]*, 20?? [0-9]*:??:?? \(a|p\)\.m\. GMT.

%, on January 1, 2009 0:00:00 a.m. GMT.

%' $f -- sed -i -e 's%\), on [a-zA-Z]* [0-9][0-9], 20.. [0-9]*:..:.. \(a\|p\)\.m\. GMT.

%%' $f -- # deprecated-list is randomly ordered, sort it for comparison -- case $f in -- */deprecated-list.html) -- sort -o $f $f -- ;; -- esac -- done -- ;; -- /usr/share/javadoc/gjdoc.properties |\ -- /usr/share/javadoc/*/gjdoc.properties) -- for f in old/$file new/$file; do -- sed -i -e 's|^#[A-Z][a-z]\{2\} [A-Z][a-z]\{2\} [0-9]\{2\} ..:..:.. GMT 20..$|#Fri Jan 01 11:27:36 GMT 2009|' $f -- done -- ;; -- */fonts.scale|*/fonts.dir|*/encodings.dir) -- for f in old/$file new/$file; do -- # sort files before comparing -- sort -o $f $f -- done -- ;; -- /var/adm/perl-modules/*) -- for f in old/$file new/$file; do -- sed -i -e 's|^=head2 ... ... .. ..:..:.. ....: C|=head2 Wed Jul 1 00:00:00 2009: C|' $f -- done -- ;; -- /usr/share/man/man3/*3pm) -- for f in old/$file new/$file; do -- sed -i -e 's| 3 "20..-..-.." "perl v5....." "User Contributed Perl Documentation"$| 3 "2009-01-01" "perl v5.10.0" "User Contributed Perl Documentation"|' $f -- trim_man_TH $f -- trim_man_first_line $f -- done -- ;; -- /usr/share/man/*/man*|/usr/share/man/man*|/usr/lib/texmf/doc/man/*/*) -- -- for f in old/$file new/$file; do -- trim_man_TH $f -- trim_man_first_line $f -- # generated by docbook xml: -- #.\" Date: 09/13/2010 -- sed -i -e 's|Date: [0-1][0-9]/[0-9][0-9]/201[0-9]|Date: 09/13/2010|' $f -- done -- ;; -- *.elc) -- # emacs lisp files -- for f in old/$file new/$file; do -- sed -i -e 's|Compiled by abuild@.* on ... ... .. ..:..:.. 20..$|compiled by abuild@buildhost on Wed Jul 01 00:00:00 2009|' $f -- done -- ;; -- /var/lib/texmf/web2c/*/*fmt |\ -- /var/lib/texmf/web2c/metafont/*.base|\ -- /var/lib/texmf/web2c/metapost/*.mem) -- # binary dump of TeX and Metafont formats, we can ignore them for good -- echo "difference in $file ignored." -- return 0 -- ;; -- */libtool) -- for f in old/$file new/$file; do -- sed -i -e 's|^# Libtool was configured on host [A-Za-z0-9]*:$|# Libtool was configured on host x42:|' $f -- done -- ;; -- /etc/mail/*cf|/etc/sendmail.cf) -- # from sendmail package -- for f in old/$file new/$file; do -- # - ##### built by abuild@build33 on Thu May 6 11:21:17 UTC 2010 -- sed -i -e 's|built by abuild@[a-z0-9]* on ... ... [0-9]* [0-9]*:[0-9][0-9]:[0-9][0-9] .* 20[0-9][0-9]|built by abuild@build42 on Thu May 6 11:21:17 UTC 2010|' $f -- done -- ;; -- /usr/share/doc/kde/HTML/*/*/index.cache|/usr/share/doc/kde/HTML/*/*/*/index.cache|\ -- /usr/share/gtk-doc/html/*/*.html|/usr/share/gtk-doc/html/*/*.devhelp2) -- # various kde and gtk packages -- strip_numbered_anchors -- ;; -- */created.rid) -- # ruby documentation -- # file just contains a timestamp and nothing else, so ignore it -- echo "Ignore $file" -- return 0 -- ;; -- */rdoc/files/*.html) -- # ruby documentation -- # Mon Sep 20 19:02:43 +0000 2010 -- for f in old/$file new/$file; do -- sed -i -e 's%[A-Z][a-z][a-z] [A-Z][a-z][a-z] [0-9]\+ [0-9]\+:[0-9]\+:[0-9]\+ +0000 201[0-9]%Mon Sep 20 19:02:43 +0000 2010%g' $f -- done -- strip_numbered_anchors -- ;; -- */Linux*Env.Set.sh) -- # LibreOffice files, contains: -- # Generated on: Mon Apr 18 13:19:22 UTC 2011 -- for f in old/$file new/$file; do -- sed -i -e 's%^# Generated on:.*UTC 201[0-9] *$%# Generated on: Sometime%g' $f -- done -- ;; -- /usr/lib/libreoffice/solver/inc/*/deliver.log) -- # LibreOffice log file -- echo "Ignore $file" -- return 0 -- ;; -- /var/adm/update-messages/*|/var/adm/update-scripts/*) -- # encode version-release inside -- oldfn=`echo "$file"|sed -e s/-$release2/-$release1/;` -- -- # fetchmsttfonts embeds the release number in the update shell script. -- echo sed -i -e "s/-$release1/-$release2/g;" "old/$oldfn" -- sed -i -e "s/-$release1/-$release2/g;" "old/$oldfn" -- -- if ! diff -u old/$oldfn new/$file; then -- echo "$oldfn is not same as $file" -- return 1 -- fi -- echo "$file and $oldfn are same" -- return 0 -- ;; -- *.ps) -- for f in "old/$file" "new/$file"; do -- sed -i -e ' -- /^%%CreationDate:[[:blank:]]/d -- /^%%Creator:[[:blank:]]groff[[:blank:]]version[[:blank:]]/d -- ' "$f" -- done -- ;; -- *pdf) -- # PDF files contain a unique ID, remove it -- # Format of the ID is: -- # /ID [<9ACE247A70CF9BEAFEE15E116259BD6D> <9ACE247A70CF9BEAFEE15E116259BD6D>] -- # with optional spaces. pdftex creates also: -- # /CreationDate (D:20120103083206Z) -- # /ModDate (D:20120103083206Z) -- # and possibly XML metadata as well -- for f in "old/$file" "new/$file"; do -- sed -i \ -- '/obj/,/endobj/{ -- s%/ID \?\[ \?<[^>]\+> \?<[^>]\+> \?\]%/IDrandom%g; -- s%/CreationDate \?(D:[^)]*)%/CreationDate (D: XXX)%g; -- s%/ModDate \?(D:[^)]*)%/ModDate (D: XXX)%g; -- s%[^<]*%XXX%g; -- s%[^<]*%XXX%g; -- s%[^<]*%XXX%g; -- s%[^<]*%XXX%g; -- s%[^<]*%XXX%g; -- }' "$f" -- done -- ;; -- esac -- -- ftype=`/usr/bin/file old/$file | sed 's@^[^:]\+:[[:blank:]]*@@'` -- case $ftype in -- PE32\ executable*Mono\/\.Net\ assembly*) -- echo "PE32 Mono/.Net assembly: $file" -- if [ -x /usr/bin/monodis ] ; then -- monodis old/$file 2>/dev/null|sed -e 's/GUID = {.*}/GUID = { 42 }/;'> ${file1} -- monodis new/$file 2>/dev/null|sed -e 's/GUID = {.*}/GUID = { 42 }/;'> ${file2} -- if ! cmp -s ${file1} ${file2}; then -- echo "$file differs ($ftype)" -- diff -u ${file1} ${file2} -- return 1 -- fi -- else -- echo "Cannot compare, no monodis installed" -- return 1 -- fi -- ;; -- ELF*executable*|ELF*[LM]SB\ shared\ object*) -- objdump -d --no-show-raw-insn old/$file | filter_disasm > $file1 -- if ! test -s $file1; then -- # objdump has no idea how to handle it -- if ! diff_two_files; then -- ret=1 -- break -- fi -- fi -- elfdiff= -- sed -i -e "s,old/,," $file1 -- objdump -d --no-show-raw-insn new/$file | filter_disasm > $file2 -- sed -i -e "s,new/,," $file2 -- if ! diff -u $file1 $file2 > $dfile; then -- echo "$file differs in assembler output" -- head -n 200 $dfile -- elfdiff="1" -- fi -- echo "" >$file1 -- echo "" >$file2 -- # Don't compare .build-id and .gnu_debuglink sections -- sections="$(objdump -s new/$file | grep "Contents of section .*:" | sed -r "s,.* (.*):,\1,g" | grep -v -e "\.build-id" -e "\.gnu_debuglink" | tr "\n" " ")" -- for section in $sections; do -- objdump -s -j $section old/$file | sed "s,^old/,," > $file1 -- objdump -s -j $section new/$file | sed "s,^new/,," > $file2 -- if ! diff -u $file1 $file2 > $dfile; then -- echo "$file differs in ELF section $section" -- head -n 200 $dfile -- elfdiff="1" -- fi -- done -- if test -z "$elfdiff"; then -- echo "$file: only difference was in build-id or gnu_debuglink, GOOD." -- return 0 -- fi -- return 1 -- ;; -- *ASCII*|*text*) -- if ! cmp -s old/$file new/$file; then -- echo "$file differs ($ftype)" -- diff -u old/$file new/$file | head -n 200 -- return 1 -- fi -- ;; -- directory|setuid,\ directory|sticky,\ directory) -- # tar might package directories - ignore them here -- return 0 -- ;; -- bzip2\ compressed\ data*) -- if ! check_compressed_file "$file" "bz2"; then -- return 1 -- fi -- ;; -- gzip\ compressed\ data*) -- if ! check_compressed_file "$file" "gzip"; then -- return 1 -- fi -- ;; -- XZ\ compressed\ data*) -- if ! check_compressed_file "$file" "xz"; then -- return 1 -- fi -- ;; -- POSIX\ tar\ archive) -- mv old/$file{,.tar} -- mv new/$file{,.tar} -- if ! check_single_file ${file}.tar; then -- return 1 -- fi -- ;; -- cpio\ archive) -- mv old/$file{,.cpio} -- mv new/$file{,.cpio} -- if ! check_single_file ${file}.cpio; then -- return 1 -- fi -- ;; -- symbolic\ link\ to\ *) -- readlink "old/$file" > $file1 -- readlink "new/$file" > $file2 -- if ! diff -u $file1 $file2; then -- echo "symlink target for $file differs" -- return 1 -- fi -- ;; -- *) -- if ! diff_two_files; then -- return 1 -- fi -- ;; -- esac -- return 0 --} -- --# We need /proc mounted for some tests, so check that it's mounted and --# complain if not. --PROC_MOUNTED=0 --if [ ! -d /proc/self/ ]; then -- echo "/proc is not mounted" -- mount -orw -n -tproc none /proc -- PROC_MOUNTED=1 --fi -- --# preserve cmp_spec result for check_all runs --ret=$RES --for file in $files; do -- if ! check_single_file $file; then -- ret=1 -- if test -z "$check_all"; then -- break -- fi -- fi --done -- --if [ "$PROC_MOUNTED" -eq "1" ]; then -- echo "Unmounting proc" -- umount /proc --fi -- --rm $file1 $file2 $dfile $rename_script --rm -rf $dir --if test "$ret" = 0; then -- echo "Package content is identical" --fi --exit $ret --# vim: tw=666 ts=2 et -diff --git a/same-build-result.sh b/same-build-result.sh -index c8907e2..7e9bd4f 100644 ---- a/same-build-result.sh -+++ b/same-build-result.sh -@@ -7,11 +7,11 @@ - # Enhanced by Andreas Jaeger - # - # The script decides if the new build differes from the former one, --# using rpm-check.sh. -+# using pkg-diff.sh. - # The script is called as part of the build process as: - # /usr/lib/build/same-build-result.sh /.build.oldpackages /usr/src/packages/RPMS /usr/src/packages/SRPMS - --CMPSCRIPT=${0%/*}/rpm-check.sh -+CMPSCRIPT=${0%/*}/pkg-diff.sh - SCMPSCRIPT=${0%/*}/srpm-check.sh - - check_all=1 --- -1.7.9.5 - diff --git a/poky/meta/recipes-devtools/build-compare/files/functions.sh-improve-deb-and-ipk-checking.patch b/poky/meta/recipes-devtools/build-compare/files/functions.sh-improve-deb-and-ipk-checking.patch deleted file mode 100644 index 05420f89f..000000000 --- a/poky/meta/recipes-devtools/build-compare/files/functions.sh-improve-deb-and-ipk-checking.patch +++ /dev/null @@ -1,117 +0,0 @@ -From b4eb7fde10318162bd2d02b9017ef51746752a91 Mon Sep 17 00:00:00 2001 -From: Robert Yang -Date: Thu, 14 Jul 2016 23:14:21 -0700 -Subject: [PATCH 4/4] functions.sh: improve deb and ipk checking - -* The deb and ipk's depends version string is like: - Depends: libc6 (>= 2.24) - Update trim_release_old and trim_release_new to match the bracket in - the end ")". - -* The deb's data tarball now is .tar.xz, and ipk's is .tar.gz. - -* Update adjust_controlfile() to make ituse trim_release_old and - trim_release_new. - -Upstream-Status: Submitted [https://github.com/openSUSE/build-compare/pull/10] - -Signed-off-by: Robert Yang ---- - functions.sh | 45 ++++++++++++++++++++++++++++----------------- - 1 file changed, 28 insertions(+), 17 deletions(-) - -diff --git a/functions.sh b/functions.sh -index aa572f9..fe493ba 100755 ---- a/functions.sh -+++ b/functions.sh -@@ -78,7 +78,7 @@ check_header() - function trim_release_old() - { - sed -e " -- /\(\/boot\|\/lib\/modules\|\/lib\/firmware\|\/usr\/src\|$version_release_old_regex_l\$\)/{s,$version_release_old_regex_l,@VERSION@-@RELEASE_LONG@,g;s,$version_release_old_regex_s,@VERSION@-@RELEASE_SHORT@,g} -+ /\(\/boot\|\/lib\/modules\|\/lib\/firmware\|\/usr\/src\|$version_release_old_regex_l\$\|$version_release_old_regex_l)\)/{s,$version_release_old_regex_l,@VERSION@-@RELEASE_LONG@,g;s,$version_release_old_regex_s,@VERSION@-@RELEASE_SHORT@,g} - s/\(\/var\/adm\/update-scripts\/\)${name_ver_rel_old_regex_l}\([^[:blank:]]\+\)/\1@NAME_VER_REL@\2/g - s/^ *//g - " -@@ -86,7 +86,7 @@ function trim_release_old() - function trim_release_new() - { - sed -e " -- /\(\/boot\|\/lib\/modules\|\/lib\/firmware\|\/usr\/src\|$version_release_new_regex_l\$\)/{s,$version_release_new_regex_l,@VERSION@-@RELEASE_LONG@,g;s,$version_release_new_regex_s,@VERSION@-@RELEASE_SHORT@,g} -+ /\(\/boot\|\/lib\/modules\|\/lib\/firmware\|\/usr\/src\|$version_release_new_regex_l\$\|$version_release_new_regex_l)\)/{s,$version_release_new_regex_l,@VERSION@-@RELEASE_LONG@,g;s,$version_release_new_regex_s,@VERSION@-@RELEASE_SHORT@,g} - s/\(\/var\/adm\/update-scripts\/\)${name_ver_rel_new_regex_l}\([^[:blank:]]\+\)/\1@NAME_VER_REL@\2/g - s/^ *//g - " -@@ -133,8 +133,8 @@ function unpackage() - ar x $file - tar xf control.tar.gz - rm control.tar.gz -- tar xf data.tar.gz -- rm data.tar.gz -+ tar xf data.tar.[xg]z -+ rm data.tar.[xg]z - ;; - esac - popd 1>/dev/null -@@ -164,6 +164,22 @@ function get_value() - sed -n -e "/^___${1}___/,/^___${1}___/p" $2 | sed -e "/^___${1}___/d" - } - -+# Set version_release_old_regex_s, version_release_old_regex_l and -+# name_ver_rel_old_regex_l, also the new ones. -+function set_regex() { -+ # Remember to quote the . which is in release -+ # Short version without B_CN -+ version_release_old_regex_s=${version_release_old%.*} -+ version_release_old_regex_s=${version_release_old_regex_s//./\\.} -+ version_release_new_regex_s=${version_release_new%.*} -+ version_release_new_regex_s=${version_release_new_regex_s//./\\.} -+ # Long version with B_CNT -+ version_release_old_regex_l=${version_release_old//./\\.} -+ version_release_new_regex_l=${version_release_new//./\\.} -+ name_ver_rel_old_regex_l=${name_ver_rel_old//./\\.} -+ name_ver_rel_new_regex_l=${name_ver_rel_new//./\\.} -+} -+ - # Compare just the rpm meta data of two rpms - # Returns: - # 0 in case of same content -@@ -194,17 +210,7 @@ function cmp_spec () - version_release_old="$(get_value QF_VER_REL $spec_old)" - name_ver_rel_old="$(get_value QF_NAME_VER_REL $spec_old)" - -- # Remember to quote the . which is in release -- # Short version without B_CN -- version_release_old_regex_s=${version_release_old%.*} -- version_release_old_regex_s=${version_release_old_regex_s//./\\.} -- version_release_new_regex_s=${version_release_new%.*} -- version_release_new_regex_s=${version_release_new_regex_s//./\\.} -- # Long version with B_CNT -- version_release_old_regex_l=${version_release_old//./\\.} -- version_release_new_regex_l=${version_release_new//./\\.} -- name_ver_rel_old_regex_l=${name_ver_rel_old//./\\.} -- name_ver_rel_new_regex_l=${name_ver_rel_new//./\\.} -+ set_regex - - # Check the whole spec file at first, return 0 immediately if the - # are the same. -@@ -285,9 +291,14 @@ function cmp_spec () - } - - function adjust_controlfile() { -- cat $1/control | sed '/^Version: /d' > $1/control.fixed -+ version_release_old="`sed -ne 's/^Version: \(.*\)/\1/p' $1/control`" -+ name_ver_rel_old="`sed -n -e 's/^Package: \(.*\)/\1/p' $1/control`-`sed -n -e 's/^Version: \(.*\)/\1/p' $1/control`" -+ version_release_new="`sed -ne 's/^Version: \(.*\)/\1/p' $2/control`" -+ name_ver_rel_new="`sed -n -e 's/^Package: \(.*\)/\1/p' $2/control`-`sed -n -e 's/^Version: \(.*\)/\1/p' $2/control`" -+ set_regex -+ cat $1/control | trim_release_old > $1/control.fixed - mv $1/control.fixed $1/control -- cat $2/control | sed '/^Version: /d' > $2/control.fixed -+ cat $2/control | trim_release_new > $2/control.fixed - mv $2/control.fixed $2/control - } - --- -2.9.0 - diff --git a/poky/meta/recipes-devtools/build-compare/files/functions.sh-remove-space-at-head.patch b/poky/meta/recipes-devtools/build-compare/files/functions.sh-remove-space-at-head.patch deleted file mode 100644 index 02e96bab5..000000000 --- a/poky/meta/recipes-devtools/build-compare/files/functions.sh-remove-space-at-head.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 402a821e604f280e62c34bf4d40c6d1b4c6c892d Mon Sep 17 00:00:00 2001 -From: Robert Yang -Date: Mon, 4 Jul 2016 20:11:33 -0700 -Subject: [PATCH] functions.sh: remove space at head - -The command like: -rpm -qp --nodigest --nosignature --qf ' [%{REQUIRENAME}\n]\n' - ^^space - -The space will be printed, and will impact the check result, so remove it. - -Upstream-Status: Submitted [https://github.com/openSUSE/build-compare/pull/9] - -Signed-off-by: Robert Yang ---- - functions.sh | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/functions.sh b/functions.sh -index 85c9003..b1069d2 100644 ---- a/functions.sh -+++ b/functions.sh -@@ -26,6 +26,7 @@ function trim_release_old() - sed -e " - /\(\/boot\|\/lib\/modules\|\/lib\/firmware\|\/usr\/src\|$version_release_old_regex_l\$\)/{s,$version_release_old_regex_l,@VERSION@-@RELEASE_LONG@,g;s,$version_release_old_regex_s,@VERSION@-@RELEASE_SHORT@,g} - s/\(\/var\/adm\/update-scripts\/\)${name_ver_rel_old_regex_l}\([^[:blank:]]\+\)/\1@NAME_VER_REL@\2/g -+ s/^ *//g - " - } - function trim_release_new() -@@ -33,6 +34,7 @@ function trim_release_new() - sed -e " - /\(\/boot\|\/lib\/modules\|\/lib\/firmware\|\/usr\/src\|$version_release_new_regex_l\$\)/{s,$version_release_new_regex_l,@VERSION@-@RELEASE_LONG@,g;s,$version_release_new_regex_s,@VERSION@-@RELEASE_SHORT@,g} - s/\(\/var\/adm\/update-scripts\/\)${name_ver_rel_new_regex_l}\([^[:blank:]]\+\)/\1@NAME_VER_REL@\2/g -+ s/^ *//g - " - } - # Get single directory or filename with long or short release string --- -2.9.0 - diff --git a/poky/meta/recipes-devtools/build-compare/files/functions.sh-run-rpm-once-to-make-it-faster.patch b/poky/meta/recipes-devtools/build-compare/files/functions.sh-run-rpm-once-to-make-it-faster.patch deleted file mode 100644 index f5b99d944..000000000 --- a/poky/meta/recipes-devtools/build-compare/files/functions.sh-run-rpm-once-to-make-it-faster.patch +++ /dev/null @@ -1,361 +0,0 @@ -From f34d632c427b1e1570ef9136454fc01d8c9f10a6 Mon Sep 17 00:00:00 2001 -From: Robert Yang -Date: Thu, 7 Jul 2016 19:34:09 -0700 -Subject: [PATCH] functions.sh: run rpm once to make it faster - -The rpm tool is a heavy process, it ran 16 (or 17 for kernel) -"rpm -qp" times when the pkgs are identical, now we only run -"rpm -qp --qf " twice (one is for old pkg, and one is for -new), save the results to spec_old and spec_new, then use sed command to -get what we need later, this can make it 75% faster when the pkgs are -identical. Here is the rough data on my host Ubuntu 14.04.4, 32 cores -CPU and 128G mem: -* When the pkgs are identical: - - Before the patch: 1s - - After the patch: 0.26s - I compare the whole spec firstly, and return 0 if they are the same, - or go on checking one by one if not, without this, it would be 0.46s, - the gain is great when there are lot of packages, usually, we have - more than 10,000 rpms to compare. - -* When the pkgs are different: - That depends on where is the different, if the different is at the - comparing rpmtags stage: - - Before the patch: 0.26s - - After the patch: 0.29s - Increased 0.03s, but if the different is happend later than comparing - rpmtags, it will save time. - -Upstream-Status: Submitted [https://github.com/openSUSE/build-compare/pull/9] - -Signed-off-by: Robert Yang ---- - functions.sh | 245 ++++++++++++++++++++++++++++++++--------------------------- - 1 file changed, 132 insertions(+), 113 deletions(-) - mode change 100644 => 100755 functions.sh - -diff --git a/functions.sh b/functions.sh -old mode 100644 -new mode 100755 -index b1069d2..aa572f9 ---- a/functions.sh -+++ b/functions.sh -@@ -10,9 +10,63 @@ - - RPM="rpm -qp --nodigest --nosignature" - --check_header() -+# Name, Version, Release -+QF_NAME="%{NAME}" -+QF_VER_REL="%{VERSION}-%{RELEASE}" -+QF_NAME_VER_REL="%{NAME}-%{VERSION}-%{RELEASE}" -+ -+# provides destroy this because at least the self-provide includes the -+# -buildnumber :-( -+QF_PROVIDES="[%{PROVIDENAME} %{PROVIDEFLAGS} %{PROVIDEVERSION}\\n]\\n" -+QF_PROVIDES="$QF_PROVIDES [%{REQUIRENAME} %{REQUIREFLAGS} %{REQUIREVERSION}\\n]\\n" -+QF_PROVIDES="$QF_PROVIDES [%{CONFLICTNAME} %{CONFLICTFLAGS} %{CONFLICTVERSION}\\n]\\n" -+QF_PROVIDES="$QF_PROVIDES [%{OBSOLETENAME} %{OBSOLETEFLAGS} %{OBSOLETEVERSION}\\n]\\n" -+ -+# don't look at RELEASE, it contains our build number -+QF_TAGS="%{NAME} %{VERSION} %{EPOCH}\\n" -+QF_TAGS="$QF_TAGS %{SUMMARY}\\n%{DESCRIPTION}\\n" -+# the DISTURL tag can be used as checkin ID -+QF_TAGS="$QF_TAGS %{VENDOR} %{DISTRIBUTION} %{DISTURL}" -+QF_TAGS="$QF_TAGS %{LICENSE} %{LICENSE}\\n" -+QF_TAGS="$QF_TAGS %{GROUP} %{URL} %{EXCLUDEARCH} %{EXCLUDEOS} %{EXCLUSIVEARCH}\\n" -+QF_TAGS="$QF_TAGS %{EXCLUSIVEOS} %{RPMVERSION} %{PLATFORM}\\n" -+QF_TAGS="$QF_TAGS %{PAYLOADFORMAT} %{PAYLOADCOMPRESSOR} %{PAYLOADFLAGS}\\n" -+ -+# XXX We also need to check the existence (but not the content (!)) -+# of SIGGPG (and perhaps the other SIG*) -+# XXX We don't look at triggers -+QF_TAGS="$QF_TAGS [%{VERIFYSCRIPTPROG} %{VERIFYSCRIPT}]\\n" -+# Only the first ChangeLog entry; should be enough -+QF_TAGS="$QF_TAGS %{CHANGELOGTIME} %{CHANGELOGNAME} %{CHANGELOGTEXT}\\n" -+ -+# scripts, might contain release number -+QF_SCRIPT="[%{PREINPROG} %{PREIN}\\n]\\n[%{POSTINPROG} %{POSTIN}\\n]\\n[%{PREUNPROG} %{PREUN}\\n]\\n[%{POSTUNPROG} %{POSTUN}\\n]\\n" -+ -+# Now the files. We leave out mtime and size. For normal files -+# the size will influence the MD5 anyway. For directories the sizes can -+# differ, depending on which file system the package was built. To not -+# have to filter out directories we simply ignore all sizes. -+# Also leave out FILEDEVICES, FILEINODES (depends on the build host), -+# FILECOLORS, FILECLASS (normally useful but file output contains mtimes), -+# FILEDEPENDSX and FILEDEPENDSN. -+# Also FILELANGS (or?) -+QF_FILELIST="[%{FILENAMES} %{FILEFLAGS} %{FILESTATES} %{FILEMODES:octal} %{FILEUSERNAME} %{FILEGROUPNAME} %{FILERDEVS} %{FILEVERIFYFLAGS} %{FILELINKTOS}\n]\\n" -+# ??? what to do with FILEPROVIDE and FILEREQUIRE? -+ -+QF_CHECKSUM="[%{FILENAMES} %{FILEMD5S} %{FILEFLAGS}\n]\\n" -+ -+QF_ALL="\n___QF_NAME___\n${QF_NAME}\n___QF_NAME___\n" -+QF_ALL="$QF_ALL\n___QF_TAGS___\n${QF_TAGS}\n___QF_TAGS___\n" -+QF_ALL="$QF_ALL\n___QF_VER_REL___\n${QF_VER_REL}\n___QF_VER_REL___\n" -+QF_ALL="$QF_ALL\n___QF_NAME_VER_REL___\n${QF_NAME_VER_REL}\n___QF_NAME_VER_REL___\n" -+QF_ALL="$QF_ALL\n___QF_PROVIDES___\n${QF_PROVIDES}\n___QF_PROVIDES___\n" -+QF_ALL="$QF_ALL\n___QF_SCRIPT___\n${QF_SCRIPT}\n___QF_SCRIPT___\n" -+QF_ALL="$QF_ALL\n___QF_FILELIST___\n${QF_FILELIST}\n___QF_FILELIST___\n" -+QF_ALL="$QF_ALL\n___QF_CHECKSUM___\n${QF_CHECKSUM}\n___QF_CHECKSUM___\n" -+ -+check_header() - { -- $RPM --qf "$QF" "$1" -+ $RPM --qf "$1" "$2" - } - - # Trim version-release string: -@@ -47,18 +101,6 @@ function grep_release_new() - grep -E "(/boot|/lib/modules|/lib/firmware|/usr/src)/[^/]+(${version_release_new_regex_l}(\$|[^/]+\$)|${version_release_new_regex_s}(\$|[^/]+\$))" - } - --function check_provides() --{ -- local pkg=$1 -- # provides destroy this because at least the self-provide includes the -- # -buildnumber :-( -- QF="[%{PROVIDENAME} %{PROVIDEFLAGS} %{PROVIDEVERSION}\\n]\\n" -- QF="$QF [%{REQUIRENAME} %{REQUIREFLAGS} %{REQUIREVERSION}\\n]\\n" -- QF="$QF [%{CONFLICTNAME} %{CONFLICTFLAGS} %{CONFLICTVERSION}\\n]\\n" -- QF="$QF [%{OBSOLETENAME} %{OBSOLETEFLAGS} %{OBSOLETEVERSION}\\n]\\n" -- check_header "$pkg" --} -- - #usage unpackage $dir - # Unpack files in directory $dir - # like /usr/bin/unpackage - just for one file and with no options -@@ -98,6 +140,30 @@ function unpackage() - popd 1>/dev/null - } - -+# Run diff command on the files -+# $1: printed info -+# $2: file1 -+# $3: file2 -+function comp_file() -+{ -+ echo "comparing $1" -+ if ! diff -au $2 $3; then -+ if test -z "$check_all"; then -+ rm $2 $3 $spec_old $spec_new -+ return 1 -+ fi -+ fi -+ return 0 -+} -+ -+# Get var's value from specfile. -+# $1: var name -+# $2: specfile -+function get_value() -+{ -+ sed -n -e "/^___${1}___/,/^___${1}___/p" $2 | sed -e "/^___${1}___/d" -+} -+ - # Compare just the rpm meta data of two rpms - # Returns: - # 0 in case of same content -@@ -107,56 +173,29 @@ function unpackage() - function cmp_spec () - { - local RES -- local file1 file2 -+ local file_old file_new - local f - local sh=$1 - local oldrpm=$2 - local newrpm=$3 - -- QF="%{NAME}" -- -- # don't look at RELEASE, it contains our build number -- QF="$QF %{VERSION} %{EPOCH}\\n" -- QF="$QF %{SUMMARY}\\n%{DESCRIPTION}\\n" -- QF="$QF %{VENDOR} %{DISTRIBUTION} %{DISTURL}" -- QF="$QF %{LICENSE} %{LICENSE}\\n" -- QF="$QF %{GROUP} %{URL} %{EXCLUDEARCH} %{EXCLUDEOS} %{EXCLUSIVEARCH}\\n" -- QF="$QF %{EXCLUSIVEOS} %{RPMVERSION} %{PLATFORM}\\n" -- QF="$QF %{PAYLOADFORMAT} %{PAYLOADCOMPRESSOR} %{PAYLOADFLAGS}\\n" -- -- -- # XXX We also need to check the existence (but not the content (!)) -- # of SIGGPG (and perhaps the other SIG*) -- -- # XXX We don't look at triggers -- -- QF="$QF [%{VERIFYSCRIPTPROG} %{VERIFYSCRIPT}]\\n" -- -- # Only the first ChangeLog entry; should be enough -- QF="$QF %{CHANGELOGTIME} %{CHANGELOGNAME} %{CHANGELOGTEXT}\\n" -- -- file1=`mktemp` -- file2=`mktemp` -- -- check_header $oldrpm > $file1 -- check_header $newrpm > $file2 -- -- # the DISTURL tag can be used as checkin ID -- #echo "$QF" -- echo "comparing rpmtags" -- if ! diff -au $file1 $file2; then -- if test -z "$check_all"; then -- rm $file1 $file2 -- return 1 -- fi -- fi -- -+ file_old=`mktemp` -+ file_new=`mktemp` -+ spec_old=`mktemp` -+ spec_new=`mktemp` -+ -+ check_header "$QF_ALL" $oldrpm > $spec_old -+ check_header "$QF_ALL" $newrpm > $spec_new -+ -+ name_new="$(get_value QF_NAME $spec_new)" -+ version_release_new="$(get_value QF_VER_REL $spec_new)" -+ name_ver_rel_new="$(get_value QF_NAME_VER_REL $spec_new)" -+ -+ version_release_old="$(get_value QF_VER_REL $spec_old)" -+ name_ver_rel_old="$(get_value QF_NAME_VER_REL $spec_old)" -+ - # Remember to quote the . which is in release -- version_release_old=$($RPM --qf "%{VERSION}-%{RELEASE}" "$oldrpm") -- version_release_new=$($RPM --qf "%{VERSION}-%{RELEASE}" "$newrpm") -- name_ver_rel_old=$($RPM --qf "%{NAME}-%{VERSION}-%{RELEASE}" "$oldrpm") -- name_ver_rel_new=$($RPM --qf "%{NAME}-%{VERSION}-%{RELEASE}" "$newrpm") -- # Short version without B_CNT -+ # Short version without B_CN - version_release_old_regex_s=${version_release_old%.*} - version_release_old_regex_s=${version_release_old_regex_s//./\\.} - version_release_new_regex_s=${version_release_new%.*} -@@ -166,10 +205,27 @@ function cmp_spec () - version_release_new_regex_l=${version_release_new//./\\.} - name_ver_rel_old_regex_l=${name_ver_rel_old//./\\.} - name_ver_rel_new_regex_l=${name_ver_rel_new//./\\.} -+ -+ # Check the whole spec file at first, return 0 immediately if the -+ # are the same. -+ cat $spec_old | trim_release_old > $file_old -+ cat $spec_new | trim_release_new > $file_new -+ echo "comparing the whole specfile" -+ if diff -au $spec_old $spec_new; then -+ if test -z "$check_all"; then -+ rm $file_old $file_new $spec_old $spec_new -+ return 0 -+ fi -+ fi -+ -+ get_value QF_TAGS $spec_old > $file_old -+ get_value QF_TAGS $spec_new > $file_new -+ comp_file rpmtags $file_old $file_new || return 1 -+ - # This might happen when?! - echo "comparing RELEASE" - if [ "${version_release_old%.*}" != "${version_release_new%.*}" ] ; then -- case $($RPM --qf '%{NAME}' "$newrpm") in -+ case $name_new in - kernel-*) - # Make sure all kernel packages have the same %RELEASE - echo "release prefix mismatch" -@@ -181,71 +237,34 @@ function cmp_spec () - *) ;; - esac - fi -- -- check_provides $oldrpm | trim_release_old | sort > $file1 -- check_provides $newrpm | trim_release_new | sort > $file2 -- -- echo "comparing PROVIDES" -- if ! diff -au $file1 $file2; then -- if test -z "$check_all"; then -- rm $file1 $file2 -- return 1 -- fi -- fi - -- # scripts, might contain release number -- QF="[%{PREINPROG} %{PREIN}\\n]\\n[%{POSTINPROG} %{POSTIN}\\n]\\n[%{PREUNPROG} %{PREUN}\\n]\\n[%{POSTUNPROG} %{POSTUN}\\n]\\n" -- check_header $oldrpm | trim_release_old > $file1 -- check_header $newrpm | trim_release_new > $file2 -+ get_value QF_PROVIDES $spec_old | trim_release_old | sort > $file_old -+ get_value QF_PROVIDES $spec_new | trim_release_new | sort > $file_new -+ comp_file PROVIDES $file_old $file_new || return 1 -+ -+ get_value QF_SCRIPT $spec_old | trim_release_old > $file_old -+ get_value QF_SCRIPT $spec_new | trim_release_new > $file_new -+ comp_file scripts $file_old $file_new || return 1 - -- echo "comparing scripts" -- if ! diff -au $file1 $file2; then -- if test -z "$check_all"; then -- rm $file1 $file2 -- return 1 -- fi -- fi -- - # First check the file attributes and later the md5s -- -- # Now the files. We leave out mtime and size. For normal files -- # the size will influence the MD5 anyway. For directories the sizes can -- # differ, depending on which file system the package was built. To not -- # have to filter out directories we simply ignore all sizes. -- # Also leave out FILEDEVICES, FILEINODES (depends on the build host), -- # FILECOLORS, FILECLASS (normally useful but file output contains mtimes), -- # FILEDEPENDSX and FILEDEPENDSN. -- # Also FILELANGS (or?) -- QF="[%{FILENAMES} %{FILEFLAGS} %{FILESTATES} %{FILEMODES:octal} %{FILEUSERNAME} %{FILEGROUPNAME} %{FILERDEVS} %{FILEVERIFYFLAGS} %{FILELINKTOS}\n]\\n" -- # ??? what to do with FILEPROVIDE and FILEREQUIRE? -- -- check_header $oldrpm | trim_release_old > $file1 -- check_header $newrpm | trim_release_new > $file2 -- -- echo "comparing filelist" -- if ! diff -au $file1 $file2; then -- if test -z "$check_all"; then -- rm $file1 $file2 -- return 1 -- fi -- fi -- -+ get_value QF_FILELIST $spec_old | trim_release_old > $file_old -+ get_value QF_FILELIST $spec_new | trim_release_new > $file_new -+ comp_file filelist $file_old $file_new || return 1 -+ - # now the md5sums. if they are different, we check more detailed - # if there are different filenames, we will already have aborted before - # file flag 64 means "ghost", filter those out. -- QF="[%{FILENAMES} %{FILEMD5S} %{FILEFLAGS}\n]\\n" -- check_header $oldrpm |grep -v " 64$"| trim_release_old > $file1 -- check_header $newrpm |grep -v " 64$"| trim_release_new > $file2 -- -+ get_value QF_CHECKSUM $spec_old | grep -v " 64$" | trim_release_old > $file_old -+ get_value QF_CHECKSUM $spec_new | grep -v " 64$" | trim_release_new > $file_new - RES=2 - # done if the same - echo "comparing file checksum" -- if cmp -s $file1 $file2; then -+ if cmp -s $file_old $file_new; then - RES=0 - fi -- -+ - # Get only files with different MD5sums -- files=`diff -U0 $file1 $file2 | fgrep -v +++ | grep ^+ | cut -b2- | awk '{print $1}'` -+ files=`diff -U0 $file_old $file_new | fgrep -v +++ | grep ^+ | cut -b2- | awk '{print $1}'` - - if test -f "$sh"; then - echo "creating rename script" -@@ -261,7 +280,7 @@ function cmp_spec () - done >> "${sh}" - fi - # -- rm $file1 $file2 -+ rm $file_old $file_new - return $RES - } - --- -2.9.0 - diff --git a/poky/meta/recipes-devtools/build-compare/files/pkg-diff.sh-check-for-fifo-named-pipe.patch b/poky/meta/recipes-devtools/build-compare/files/pkg-diff.sh-check-for-fifo-named-pipe.patch deleted file mode 100644 index e4f0c5416..000000000 --- a/poky/meta/recipes-devtools/build-compare/files/pkg-diff.sh-check-for-fifo-named-pipe.patch +++ /dev/null @@ -1,35 +0,0 @@ -From a78fe4f792a9ac9f4d364e836c8855f48561d6f2 Mon Sep 17 00:00:00 2001 -From: Robert Yang -Date: Thu, 14 Jul 2016 19:52:18 -0700 -Subject: [PATCH 3/4] pkg-diff.sh: check for fifo(named pipe) - -Otherwise "cmp -s fifo1 fifo2" will wait for inputing forever. - -Upstream-Status: Submitted [https://github.com/openSUSE/build-compare/pull/10] - -Signed-off-by: Robert Yang ---- - pkg-diff.sh | 7 +++++++ - 1 file changed, 7 insertions(+) - -diff --git a/pkg-diff.sh b/pkg-diff.sh -index 5dd3a38..1f353aa 100644 ---- a/pkg-diff.sh -+++ b/pkg-diff.sh -@@ -735,6 +735,13 @@ check_single_file() - return 1 - fi - ;; -+ fifo*pipe*) -+ ftype_new="`/usr/bin/file new/$file | sed -e 's@^[^:]\+:[[:blank:]]*@@' -e 's@[[:blank:]]*$@@'`" -+ if [ "$ftype_new" = "$ftype" ]; then -+ return 0 -+ fi -+ return 1 -+ ;; - *) - if ! diff_two_files; then - return 1 --- -2.9.0 - diff --git a/poky/meta/recipes-devtools/build-compare/files/pkg-diff.sh-check_single_file-return-at-once-when-sa.patch b/poky/meta/recipes-devtools/build-compare/files/pkg-diff.sh-check_single_file-return-at-once-when-sa.patch deleted file mode 100644 index b42af2531..000000000 --- a/poky/meta/recipes-devtools/build-compare/files/pkg-diff.sh-check_single_file-return-at-once-when-sa.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 657983ef9ca8f8354172682e17408c4f6b5bc667 Mon Sep 17 00:00:00 2001 -From: Robert Yang -Date: Thu, 14 Jul 2016 19:46:08 -0700 -Subject: [PATCH 1/4] pkg-diff.sh: check_single_file(): return at once when - same - -If the two files are the same, return at once, this can save a lot of -time when there are archives inside archives. - -Upstream-Status: Submitted [https://github.com/openSUSE/build-compare/pull/10] - -Signed-off-by: Robert Yang ---- - pkg-diff.sh | 7 +++++++ - 1 file changed, 7 insertions(+) - -diff --git a/pkg-diff.sh b/pkg-diff.sh -index 3cf10aa..402d4a4 100644 ---- a/pkg-diff.sh -+++ b/pkg-diff.sh -@@ -293,6 +293,13 @@ check_compressed_file() - check_single_file() - { - local file="$1" -+ -+ # If the two files are the same, return at once. -+ if [ -f old/$file -a -f new/$file ]; then -+ if cmp -s old/$file new/$file; then -+ return 0 -+ fi -+ fi - case $file in - *.spec) - sed -i -e "s,Release:.*$release1,Release: @RELEASE@," old/$file --- -2.9.0 - diff --git a/poky/meta/recipes-devtools/build-compare/files/pkg-diff.sh-remove-space-in-the-end-for-ftype.patch b/poky/meta/recipes-devtools/build-compare/files/pkg-diff.sh-remove-space-in-the-end-for-ftype.patch deleted file mode 100644 index 807717233..000000000 --- a/poky/meta/recipes-devtools/build-compare/files/pkg-diff.sh-remove-space-in-the-end-for-ftype.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 836a6783df9c582a834fca239f227063a5687715 Mon Sep 17 00:00:00 2001 -From: Robert Yang -Date: Thu, 14 Jul 2016 19:49:12 -0700 -Subject: [PATCH 2/4] pkg-diff.sh: remove space in the end for ftype - -Versions of file like 5.14 returns a " " in the end, for example: -ftype="directory ", but we need ftype="directory", remove the space to -fix the problem. - -Upstream-Status: Submitted [https://github.com/openSUSE/build-compare/pull/10] - -Signed-off-by: Robert Yang ---- - pkg-diff.sh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/pkg-diff.sh b/pkg-diff.sh -index 402d4a4..5dd3a38 100644 ---- a/pkg-diff.sh -+++ b/pkg-diff.sh -@@ -633,7 +633,7 @@ check_single_file() - ;; - esac - -- ftype=`/usr/bin/file old/$file | sed 's@^[^:]\+:[[:blank:]]*@@'` -+ ftype=`/usr/bin/file old/$file | sed -e 's@^[^:]\+:[[:blank:]]*@@' -e 's@[[:blank:]]*$@@'` - case $ftype in - PE32\ executable*Mono\/\.Net\ assembly*) - echo "PE32 Mono/.Net assembly: $file" --- -2.9.0 - diff --git a/poky/meta/recipes-devtools/ccache/ccache_3.7.1.bb b/poky/meta/recipes-devtools/ccache/ccache_3.7.1.bb deleted file mode 100644 index 1db7094b7..000000000 --- a/poky/meta/recipes-devtools/ccache/ccache_3.7.1.bb +++ /dev/null @@ -1,7 +0,0 @@ -require ccache.inc - -LICENSE = "GPLv3+" -LIC_FILES_CHKSUM = "file://LICENSE.adoc;md5=0094c59039cec66b8a4c905204333514" - -SRC_URI[md5sum] = "74339465ab87e0b406985ed69515f19b" -SRC_URI[sha256sum] = "e562fcdbe766406b6fe4bf97ce5c001d2be8a17465f33bcddefc9499bbb057d8" diff --git a/poky/meta/recipes-devtools/ccache/ccache_3.7.3.bb b/poky/meta/recipes-devtools/ccache/ccache_3.7.3.bb new file mode 100644 index 000000000..c6a682ee0 --- /dev/null +++ b/poky/meta/recipes-devtools/ccache/ccache_3.7.3.bb @@ -0,0 +1,7 @@ +require ccache.inc + +LICENSE = "GPLv3+" +LIC_FILES_CHKSUM = "file://LICENSE.adoc;md5=0094c59039cec66b8a4c905204333514" + +SRC_URI[md5sum] = "7be62ea6e190941a8c12a3d5394fd926" +SRC_URI[sha256sum] = "355955a61562c53c4ec4669e1c92708b0008f50d214b27f07a87cf4a1fa6b01e" diff --git a/poky/meta/recipes-devtools/dejagnu/dejagnu_1.6.2.bb b/poky/meta/recipes-devtools/dejagnu/dejagnu_1.6.2.bb new file mode 100644 index 000000000..7dc4e417f --- /dev/null +++ b/poky/meta/recipes-devtools/dejagnu/dejagnu_1.6.2.bb @@ -0,0 +1,15 @@ +SUMMARY = "GNU unit testing framework, written in Expect and Tcl" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" +SECTION = "devel" + +DEPENDS += "expect-native" + +inherit autotools + +SRC_URI = "${GNU_MIRROR}/${BPN}/${BP}.tar.gz" + +SRC_URI[md5sum] = "e1b07516533f351b3aba3423fafeffd6" +SRC_URI[sha256sum] = "0d0671e1b45189c5fc8ade4b3b01635fb9eeab45cf54f57db23e4c4c1a17d261" + +BBCLASSEXTEND = "native" diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3.inc b/poky/meta/recipes-devtools/gcc/gcc-8.3.inc deleted file mode 100644 index 1781ff5b5..000000000 --- a/poky/meta/recipes-devtools/gcc/gcc-8.3.inc +++ /dev/null @@ -1,112 +0,0 @@ -require gcc-common.inc - -# Third digit in PV should be incremented after a minor release - -PV = "8.3.0" - -# BINV should be incremented to a revision after a minor gcc release - -BINV = "8.3.0" - -FILESEXTRAPATHS =. "${FILE_DIRNAME}/gcc-8.3:" - -DEPENDS =+ "mpfr gmp libmpc zlib flex-native" -NATIVEDEPS = "mpfr-native gmp-native libmpc-native zlib-native flex-native" - -LICENSE = "GPL-3.0-with-GCC-exception & GPLv3" - -LIC_FILES_CHKSUM = "\ - file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \ - file://COPYING3;md5=d32239bcb673463ab874e80d47fae504 \ - file://COPYING3.LIB;md5=6a6a8e020838b23406c81b19c1d46df6 \ - file://COPYING.LIB;md5=2d5025d4aa3495befef8f17206a5b0a1 \ - file://COPYING.RUNTIME;md5=fe60d87048567d4fe8c8a0ed2448bcc8 \ -" - -#RELEASE = "8.0.1-RC-20180427" -BASEURI ?= "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.xz" -#SRCREV = "f7cf798b73fd1a07098f9a490deec1e2a36e0bed" -#BASEURI ?= "git://github.com/gcc-mirror/gcc;branch=gcc-6-branch;protocol=git" -#BASEURI ?= "http://mirrors.concertpass.com/gcc/snapshots/${RELEASE}/gcc-${RELEASE}.tar.xz" - -SRC_URI = "\ - ${BASEURI} \ - file://0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch \ - file://0002-gcc-poison-system-directories.patch \ - file://0003-gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch \ - file://0004-64-bit-multilib-hack.patch \ - file://0005-optional-libstdc.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 \ - file://0010-cpp-honor-sysroot.patch \ - file://0011-MIPS64-Default-to-N64-ABI.patch \ - file://0012-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch \ - file://0013-gcc-Fix-argument-list-too-long-error.patch \ - file://0014-Disable-sdt.patch \ - file://0015-libtool.patch \ - file://0016-gcc-armv4-pass-fix-v4bx-to-linker-to-support-EABI.patch \ - file://0017-Use-the-multilib-config-files-from-B-instead-of-usin.patch \ - file://0018-Avoid-using-libdir-from-.la-which-usually-points-to-.patch \ - file://0019-export-CPP.patch \ - file://0020-Disable-the-MULTILIB_OSDIRNAMES-and-other-multilib-o.patch \ - file://0021-Ensure-target-gcc-headers-can-be-included.patch \ - file://0022-gcc-4.8-won-t-build-with-disable-dependency-tracking.patch \ - file://0023-Don-t-search-host-directory-during-relink-if-inst_pr.patch \ - file://0024-Use-SYSTEMLIBS_DIR-replacement-instead-of-hardcoding.patch \ - file://0025-aarch64-Add-support-for-musl-ldso.patch \ - file://0026-libcc1-fix-libcc1-s-install-path-and-rpath.patch \ - file://0027-handle-sysroot-support-for-nativesdk-gcc.patch \ - file://0028-Search-target-sysroot-gcc-version-specific-dirs-with.patch \ - file://0029-Fix-various-_FOR_BUILD-and-related-variables.patch \ - file://0030-nios2-Define-MUSL_DYNAMIC_LINKER.patch \ - file://0031-Add-ssp_nonshared-to-link-commandline-for-musl-targe.patch \ - file://0032-libgcc-Add-knob-to-use-ldbl-128-on-ppc.patch \ - file://0033-Link-libgcc-using-LDFLAGS-not-just-SHLIB_LDFLAGS.patch \ - file://0034-libgcc_s-Use-alias-for-__cpu_indicator_init-instead-.patch \ - file://0035-sync-gcc-stddef.h-with-musl.patch \ - file://0036-fix-segmentation-fault-in-precompiled-header-generat.patch \ - file://0037-Fix-for-testsuite-failure.patch \ - file://0038-Re-introduce-spe-commandline-options.patch \ - 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" - -S = "${TMPDIR}/work-shared/gcc-${PV}-${PR}/gcc-${PV}" -#S = "${TMPDIR}/work-shared/gcc-${PV}-${PR}/git" -#S = "${TMPDIR}/work-shared/gcc-${PV}-${PR}/gcc-${RELEASE}" -B = "${WORKDIR}/gcc-${PV}/build.${HOST_SYS}.${TARGET_SYS}" - -# Language Overrides -FORTRAN = "" - -LTO = "--enable-lto" -SSP ?= "--disable-libssp" -SSP_mingw32 = "--enable-libssp" - -EXTRA_OECONF_BASE = "\ - ${LTO} \ - ${SSP} \ - --enable-libitm \ - --disable-bootstrap \ - --disable-libmudflap \ - --with-system-zlib \ - ${@'--with-linker-hash-style=${LINKER_HASH_STYLE}' if '${LINKER_HASH_STYLE}' else ''} \ - --enable-linker-build-id \ - --with-ppl=no \ - --with-cloog=no \ - --enable-checking=release \ - --enable-cheaders=c_global \ - --without-isl \ -" - -EXTRA_OECONF_PATHS = "\ - --with-gxx-include-dir=/not/exist{target_includedir}/c++/${BINV} \ - --with-sysroot=/not/exist \ - --with-build-sysroot=${STAGING_DIR_TARGET} \ -" diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch deleted file mode 100644 index 4ad79e44b..000000000 --- a/poky/meta/recipes-devtools/gcc/gcc-8.3/0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch +++ /dev/null @@ -1,42 +0,0 @@ -From d7b284a9bede9d5059ad7e95a867254bf913c638 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Fri, 29 Mar 2013 08:37:11 +0400 -Subject: [PATCH 01/40] gcc-4.3.1: ARCH_FLAGS_FOR_TARGET - -Signed-off-by: Khem Raj - -Upstream-Status: Inappropriate [embedded specific] ---- - configure | 2 +- - configure.ac | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/configure b/configure -index 0601395512f..8c5b1e9d561 100755 ---- a/configure -+++ b/configure -@@ -7507,7 +7507,7 @@ fi - # for target_alias and gcc doesn't manage it consistently. - target_configargs="--cache-file=./config.cache ${target_configargs}" - --FLAGS_FOR_TARGET= -+FLAGS_FOR_TARGET="$ARCH_FLAGS_FOR_TARGET" - case " $target_configdirs " in - *" newlib "*) - case " $target_configargs " in -diff --git a/configure.ac b/configure.ac -index c3433336523..69c31c65ad7 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -3096,7 +3096,7 @@ fi - # for target_alias and gcc doesn't manage it consistently. - target_configargs="--cache-file=./config.cache ${target_configargs}" - --FLAGS_FOR_TARGET= -+FLAGS_FOR_TARGET="$ARCH_FLAGS_FOR_TARGET" - case " $target_configdirs " in - *" newlib "*) - case " $target_configargs " in --- -2.21.0 - diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0002-gcc-poison-system-directories.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0002-gcc-poison-system-directories.patch deleted file mode 100644 index e7ff12466..000000000 --- a/poky/meta/recipes-devtools/gcc/gcc-8.3/0002-gcc-poison-system-directories.patch +++ /dev/null @@ -1,203 +0,0 @@ -From 95ec476dd7726cc9c1bfd6fb23ba3aea8bbf61a4 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Fri, 29 Mar 2013 08:59:00 +0400 -Subject: [PATCH 02/40] gcc: poison-system-directories - -Add /sw/include and /opt/include based on the original -zecke-no-host-includes.patch patch. The original patch checked for -/usr/include, /sw/include and /opt/include and then triggered a failure and -aborted. - -Instead, we add the two missing items to the current scan. If the user -wants this to be a failure, they can add "-Werror=poison-system-directories". - -Signed-off-by: Mark Hatle -Signed-off-by: Khem Raj - -Upstream-Status: Pending ---- - gcc/common.opt | 4 ++++ - gcc/config.in | 6 ++++++ - gcc/configure | 16 ++++++++++++++++ - gcc/configure.ac | 10 ++++++++++ - gcc/doc/invoke.texi | 9 +++++++++ - gcc/gcc.c | 2 ++ - gcc/incpath.c | 21 +++++++++++++++++++++ - 7 files changed, 68 insertions(+) - -diff --git a/gcc/common.opt b/gcc/common.opt -index b52ef0b38c8..0de3f0924cd 100644 ---- a/gcc/common.opt -+++ b/gcc/common.opt -@@ -679,6 +679,10 @@ Wreturn-local-addr - Common Var(warn_return_local_addr) Init(1) Warning - Warn about returning a pointer/reference to a local or temporary variable. - -+Wpoison-system-directories -+Common Var(flag_poison_system_directories) Init(1) Warning -+Warn for -I and -L options using system directories if cross compiling -+ - Wshadow - Common Var(warn_shadow) Warning - Warn when one variable shadows another. Same as -Wshadow=global. -diff --git a/gcc/config.in b/gcc/config.in -index 5bccb408016..1c784a8276b 100644 ---- a/gcc/config.in -+++ b/gcc/config.in -@@ -194,6 +194,12 @@ - #endif - - -+/* Define to warn for use of native system header directories */ -+#ifndef USED_FOR_TARGET -+#undef ENABLE_POISON_SYSTEM_DIRECTORIES -+#endif -+ -+ - /* Define if you want all operations on RTL (the basic data structure of the - optimizer and back end) to be checked for dynamic type safety at runtime. - This is quite expensive. */ -diff --git a/gcc/configure b/gcc/configure -index 6121e163259..3901722400c 100755 ---- a/gcc/configure -+++ b/gcc/configure -@@ -953,6 +953,7 @@ with_system_zlib - enable_maintainer_mode - enable_link_mutex - enable_version_specific_runtime_libs -+enable_poison_system_directories - enable_plugin - enable_host_shared - enable_libquadmath_support -@@ -1696,6 +1697,8 @@ Optional Features: - --enable-version-specific-runtime-libs - specify that runtime libraries should be installed - in a compiler-specific directory -+ --enable-poison-system-directories -+ warn for use of native system header directories - --enable-plugin enable plugin support - --enable-host-shared build host code as shared libraries - --disable-libquadmath-support -@@ -29701,6 +29704,19 @@ if test "${enable_version_specific_runtime_libs+set}" = set; then : - fi - - -+# Check whether --enable-poison-system-directories was given. -+if test "${enable_poison_system_directories+set}" = set; then : -+ enableval=$enable_poison_system_directories; -+else -+ enable_poison_system_directories=no -+fi -+ -+if test "x${enable_poison_system_directories}" = "xyes"; then -+ -+$as_echo "#define ENABLE_POISON_SYSTEM_DIRECTORIES 1" >>confdefs.h -+ -+fi -+ - # Substitute configuration variables - - -diff --git a/gcc/configure.ac b/gcc/configure.ac -index b066cc609e1..1b1362f70fe 100644 ---- a/gcc/configure.ac -+++ b/gcc/configure.ac -@@ -6327,6 +6327,16 @@ AC_ARG_ENABLE(version-specific-runtime-libs, - [specify that runtime libraries should be - installed in a compiler-specific directory])]) - -+AC_ARG_ENABLE([poison-system-directories], -+ AS_HELP_STRING([--enable-poison-system-directories], -+ [warn for use of native system header directories]),, -+ [enable_poison_system_directories=no]) -+if test "x${enable_poison_system_directories}" = "xyes"; then -+ AC_DEFINE([ENABLE_POISON_SYSTEM_DIRECTORIES], -+ [1], -+ [Define to warn for use of native system header directories]) -+fi -+ - # Substitute configuration variables - AC_SUBST(subdirs) - AC_SUBST(srcdir) -diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi -index e5c4e8125aa..fb228631a42 100644 ---- a/gcc/doc/invoke.texi -+++ b/gcc/doc/invoke.texi -@@ -304,6 +304,7 @@ Objective-C and Objective-C++ Dialects}. - -Wpacked -Wpacked-bitfield-compat -Wpacked-not-aligned -Wpadded @gol - -Wparentheses -Wno-pedantic-ms-format @gol - -Wplacement-new -Wplacement-new=@var{n} @gol -+-Wno-poison-system-directories @gol - -Wpointer-arith -Wpointer-compare -Wno-pointer-to-int-cast @gol - -Wno-pragmas -Wredundant-decls -Wrestrict -Wno-return-local-addr @gol - -Wreturn-type -Wsequence-point -Wshadow -Wno-shadow-ivar @gol -@@ -5743,6 +5744,14 @@ made up of data only and thus requires no special treatment. But, for - most targets, it is made up of code and thus requires the stack to be - made executable in order for the program to work properly. - -+@item -Wno-poison-system-directories -+@opindex Wno-poison-system-directories -+Do not warn for @option{-I} or @option{-L} options using system -+directories such as @file{/usr/include} when cross compiling. This -+option is intended for use in chroot environments when such -+directories contain the correct headers and libraries for the target -+system rather than the host. -+ - @item -Wfloat-equal - @opindex Wfloat-equal - @opindex Wno-float-equal -diff --git a/gcc/gcc.c b/gcc/gcc.c -index a716f708259..02b3cd39fc2 100644 ---- a/gcc/gcc.c -+++ b/gcc/gcc.c -@@ -1037,6 +1037,8 @@ proper position among the other output files. */ - "%{fuse-ld=*:-fuse-ld=%*} " LINK_COMPRESS_DEBUG_SPEC \ - "%X %{o*} %{e*} %{N} %{n} %{r}\ - %{s} %{t} %{u*} %{z} %{Z} %{!nostdlib:%{!nostartfiles:%S}} \ -+ %{Wno-poison-system-directories:--no-poison-system-directories} \ -+ %{Werror=poison-system-directories:--error-poison-system-directories} \ - %{static|no-pie|static-pie:} %{L*} %(mfwrap) %(link_libgcc) " \ - VTABLE_VERIFICATION_SPEC " " SANITIZER_EARLY_SPEC " %o " CHKP_SPEC " \ - %{fopenacc|fopenmp|%:gt(%{ftree-parallelize-loops=*:%*} 1):\ -diff --git a/gcc/incpath.c b/gcc/incpath.c -index b11c6a57939..9a457e02dd3 100644 ---- a/gcc/incpath.c -+++ b/gcc/incpath.c -@@ -26,6 +26,7 @@ - #include "intl.h" - #include "incpath.h" - #include "cppdefault.h" -+#include "diagnostic-core.h" - - /* Microsoft Windows does not natively support inodes. - VMS has non-numeric inodes. */ -@@ -393,6 +394,26 @@ merge_include_chains (const char *sysroot, cpp_reader *pfile, int verbose) - } - fprintf (stderr, _("End of search list.\n")); - } -+ -+#ifdef ENABLE_POISON_SYSTEM_DIRECTORIES -+ if (flag_poison_system_directories) -+ { -+ struct cpp_dir *p; -+ -+ for (p = heads[INC_QUOTE]; p; p = p->next) -+ { -+ if ((!strncmp (p->name, "/usr/include", 12)) -+ || (!strncmp (p->name, "/usr/local/include", 18)) -+ || (!strncmp (p->name, "/usr/X11R6/include", 18)) -+ || (!strncmp (p->name, "/sw/include", 11)) -+ || (!strncmp (p->name, "/opt/include", 12))) -+ warning (OPT_Wpoison_system_directories, -+ "include location \"%s\" is unsafe for " -+ "cross-compilation", -+ p->name); -+ } -+ } -+#endif - } - - /* Use given -I paths for #include "..." but not #include <...>, and --- -2.21.0 - diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0003-gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0003-gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch deleted file mode 100644 index e62deb2e4..000000000 --- a/poky/meta/recipes-devtools/gcc/gcc-8.3/0003-gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch +++ /dev/null @@ -1,73 +0,0 @@ -From 6640d7e39b13d1ef26d249153ab15d510fda3566 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Fri, 29 Mar 2013 09:08:31 +0400 -Subject: [PATCH 03/40] gcc-4.3.3: SYSROOT_CFLAGS_FOR_TARGET - -Before committing, I noticed that PR/32161 was marked as a dup of PR/32009, but my previous patch did not fix it. - -This alternative patch is better because it lets you just use CFLAGS_FOR_TARGET to set the compilation flags for libgcc. Since bootstrapped target libraries are never compiled with the native compiler, it makes little sense to use different flags for stage1 and later stages. And it also makes little sense to use a different variable than CFLAGS_FOR_TARGET. - -Other changes I had to do include: - -- moving the creation of default CFLAGS_FOR_TARGET from Makefile.am to configure.ac, because otherwise the BOOT_CFLAGS are substituted into CFLAGS_FOR_TARGET (which is "-O2 -g $(CFLAGS)") via $(CFLAGS). It is also cleaner this way though. - -- passing the right CFLAGS to configure scripts as exported environment variables - -I also stopped passing LIBCFLAGS to configure scripts since they are unused in the whole src tree. And I updated the documentation as H-P reminded me to do. - -Bootstrapped/regtested i686-pc-linux-gnu, will commit to 4.4 shortly. Ok for 4.3? - -Signed-off-by: Paolo Bonzini -Signed-off-by: Khem Raj - -Upstream-Status: Pending ---- - configure | 32 ++++++++++++++++++++++++++++++++ - 1 file changed, 32 insertions(+) - -diff --git a/configure b/configure -index 8c5b1e9d561..2d1fc6b94d9 100755 ---- a/configure -+++ b/configure -@@ -6768,6 +6768,38 @@ fi - - - -+# During gcc bootstrap, if we use some random cc for stage1 then CFLAGS -+# might be empty or "-g". We don't require a C++ compiler, so CXXFLAGS -+# might also be empty (or "-g", if a non-GCC C++ compiler is in the path). -+# We want to ensure that TARGET libraries (which we know are built with -+# gcc) are built with "-O2 -g", so include those options when setting -+# CFLAGS_FOR_TARGET and CXXFLAGS_FOR_TARGET. -+if test "x$CFLAGS_FOR_TARGET" = x; then -+ CFLAGS_FOR_TARGET=$CFLAGS -+ case " $CFLAGS " in -+ *" -O2 "*) ;; -+ *) CFLAGS_FOR_TARGET="-O2 $CFLAGS" ;; -+ esac -+ case " $CFLAGS " in -+ *" -g "* | *" -g3 "*) ;; -+ *) CFLAGS_FOR_TARGET="-g $CFLAGS" ;; -+ esac -+fi -+ -+ -+if test "x$CXXFLAGS_FOR_TARGET" = x; then -+ CXXFLAGS_FOR_TARGET=$CXXFLAGS -+ case " $CXXFLAGS " in -+ *" -O2 "*) ;; -+ *) CXXFLAGS_FOR_TARGET="-O2 $CXXFLAGS" ;; -+ esac -+ case " $CXXFLAGS " in -+ *" -g "* | *" -g3 "*) ;; -+ *) CXXFLAGS_FOR_TARGET="-g $CXXFLAGS" ;; -+ esac -+fi -+ -+ - # Handle --with-headers=XXX. If the value is not "yes", the contents of - # the named directory are copied to $(tooldir)/sys-include. - if test x"${with_headers}" != x && test x"${with_headers}" != xno ; then --- -2.21.0 - diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0004-64-bit-multilib-hack.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0004-64-bit-multilib-hack.patch deleted file mode 100644 index 371d87759..000000000 --- a/poky/meta/recipes-devtools/gcc/gcc-8.3/0004-64-bit-multilib-hack.patch +++ /dev/null @@ -1,85 +0,0 @@ -From 1e649d81ca662c4cdf73882ebb8a11f0f19f5baf Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Fri, 29 Mar 2013 09:10:06 +0400 -Subject: [PATCH 04/40] 64-bit multilib hack. - -GCC has internal multilib handling code but it assumes a very specific rigid directory -layout. The build system implementation of multilib layout is very generic and allows -complete customisation of the library directories. - -This patch is a partial solution to allow any custom directories to be passed into gcc -and handled correctly. It forces gcc to use the base_libdir (which is the current -directory, "."). We need to do this for each multilib that is configured as we don't -know which compiler options may be being passed into the compiler. Since we have a compiler -per mulitlib at this point that isn't an issue. - -The one problem is the target compiler is only going to work for the default multlilib at -this point. Ideally we'd figure out which multilibs were being enabled with which paths -and be able to patch these entries with a complete set of correct paths but this we -don't have such code at this point. This is something the target gcc recipe should do -and override these platform defaults in its build config. - -RP 15/8/11 - -Signed-off-by: Khem Raj -Signed-off-by: Elvis Dowson - -Upstream-Status: Pending ---- - gcc/config/i386/t-linux64 | 6 ++---- - gcc/config/mips/t-linux64 | 10 +++------- - gcc/config/rs6000/t-linux64 | 5 ++--- - 3 files changed, 7 insertions(+), 14 deletions(-) - -diff --git a/gcc/config/i386/t-linux64 b/gcc/config/i386/t-linux64 -index 8ea0faff369..266c6008004 100644 ---- a/gcc/config/i386/t-linux64 -+++ b/gcc/config/i386/t-linux64 -@@ -32,7 +32,5 @@ - # - comma=, - MULTILIB_OPTIONS = $(subst $(comma),/,$(TM_MULTILIB_CONFIG)) --MULTILIB_DIRNAMES = $(patsubst m%, %, $(subst /, ,$(MULTILIB_OPTIONS))) --MULTILIB_OSDIRNAMES = m64=../lib64$(call if_multiarch,:x86_64-linux-gnu) --MULTILIB_OSDIRNAMES+= m32=$(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call if_multiarch,:i386-linux-gnu) --MULTILIB_OSDIRNAMES+= mx32=../libx32$(call if_multiarch,:x86_64-linux-gnux32) -+MULTILIB_DIRNAMES = . . -+MULTILIB_OSDIRNAMES = ../$(shell basename $(base_libdir)) ../$(shell basename $(base_libdir)) -diff --git a/gcc/config/mips/t-linux64 b/gcc/config/mips/t-linux64 -index c017b7d04c5..126892cf40b 100644 ---- a/gcc/config/mips/t-linux64 -+++ b/gcc/config/mips/t-linux64 -@@ -17,10 +17,6 @@ - # . - - MULTILIB_OPTIONS = mabi=n32/mabi=32/mabi=64 --MULTILIB_DIRNAMES = n32 32 64 --MIPS_EL = $(if $(filter %el, $(firstword $(subst -, ,$(target)))),el) --MIPS_SOFT = $(if $(strip $(filter MASK_SOFT_FLOAT_ABI, $(target_cpu_default)) $(filter soft, $(with_float))),soft) --MULTILIB_OSDIRNAMES = \ -- ../lib32$(call if_multiarch,:mips64$(MIPS_EL)-linux-gnuabin32$(MIPS_SOFT)) \ -- ../lib$(call if_multiarch,:mips$(MIPS_EL)-linux-gnu$(MIPS_SOFT)) \ -- ../lib64$(call if_multiarch,:mips64$(MIPS_EL)-linux-gnuabi64$(MIPS_SOFT)) -+MULTILIB_DIRNAMES = . . . -+MULTILIB_OSDIRNAMES = ../$(shell basename $(base_libdir)) ../$(shell basename $(base_libdir)) ../$(shell basename $(base_libdir)) -+ -diff --git a/gcc/config/rs6000/t-linux64 b/gcc/config/rs6000/t-linux64 -index 0faa2a02df4..13fd8ca971e 100644 ---- a/gcc/config/rs6000/t-linux64 -+++ b/gcc/config/rs6000/t-linux64 -@@ -26,10 +26,9 @@ - # MULTILIB_OSDIRNAMES according to what is found on the target. - - MULTILIB_OPTIONS := m64/m32 --MULTILIB_DIRNAMES := 64 32 -+MULTILIB_DIRNAMES := . . - MULTILIB_EXTRA_OPTS := --MULTILIB_OSDIRNAMES := m64=../lib64$(call if_multiarch,:powerpc64-linux-gnu) --MULTILIB_OSDIRNAMES += m32=$(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call if_multiarch,:powerpc-linux-gnu) -+MULTILIB_OSDIRNAMES := ../$(shell basename $(base_libdir)) ../$(shell basename $(base_libdir)) - - rs6000-linux.o: $(srcdir)/config/rs6000/rs6000-linux.c - $(COMPILE) $< --- -2.21.0 - diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0005-optional-libstdc.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0005-optional-libstdc.patch deleted file mode 100644 index f9cf6c208..000000000 --- a/poky/meta/recipes-devtools/gcc/gcc-8.3/0005-optional-libstdc.patch +++ /dev/null @@ -1,125 +0,0 @@ -From b486380dcc4758e856ab6d847eb358d05bd79d64 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Fri, 29 Mar 2013 09:12:56 +0400 -Subject: [PATCH 05/40] optional libstdc - -gcc-runtime builds libstdc++ separately from gcc-cross-*. Its configure tests using g++ -will not run correctly since by default the linker will try to link against libstdc++ -which shouldn't exist yet. We need an option to disable -lstdc++ -option whilst leaving -lc, -lgcc and other automatic library dependencies added by gcc -driver. This patch adds such an option which only disables the -lstdc++. - -A "standard" gcc build uses xgcc and hence avoids this. We should ask upstream how to -do this officially, the likely answer is don't build libstdc++ separately. - -RP 29/6/10 - -Signed-off-by: Khem Raj - -Upstream-Status: Inappropriate [embedded specific] ---- - gcc/c-family/c.opt | 4 ++++ - gcc/cp/g++spec.c | 1 + - gcc/doc/invoke.texi | 32 +++++++++++++++++++++++++++++++- - gcc/gcc.c | 1 + - 4 files changed, 37 insertions(+), 1 deletion(-) - -diff --git a/gcc/c-family/c.opt b/gcc/c-family/c.opt -index f591b39be5a..2955fcea867 100644 ---- a/gcc/c-family/c.opt -+++ b/gcc/c-family/c.opt -@@ -1901,6 +1901,10 @@ nostdinc++ - C++ ObjC++ - Do not search standard system include directories for C++. - -+nostdlib++ -+Driver -+Do not link standard C++ runtime library -+ - o - C ObjC C++ ObjC++ Joined Separate - ; Documented in common.opt -diff --git a/gcc/cp/g++spec.c b/gcc/cp/g++spec.c -index 443a1746da3..e9b51be62ef 100644 ---- a/gcc/cp/g++spec.c -+++ b/gcc/cp/g++spec.c -@@ -137,6 +137,7 @@ lang_specific_driver (struct cl_decoded_option **in_decoded_options, - switch (decoded_options[i].opt_index) - { - case OPT_nostdlib: -+ case OPT_nostdlib__: - case OPT_nodefaultlibs: - library = -1; - break; -diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi -index fb228631a42..310ba8109ed 100644 ---- a/gcc/doc/invoke.texi -+++ b/gcc/doc/invoke.texi -@@ -212,6 +212,9 @@ in the following sections. - -fno-weak -nostdinc++ @gol - -fvisibility-inlines-hidden @gol - -fvisibility-ms-compat @gol -+-fvtable-verify=@r{[}std@r{|}preinit@r{|}none@r{]} @gol -+-fvtv-counts -fvtv-debug @gol -+-nostdlib++ @gol - -fext-numeric-literals @gol - -Wabi=@var{n} -Wabi-tag -Wconversion-null -Wctor-dtor-privacy @gol - -Wdelete-non-virtual-dtor -Wliteral-suffix -Wmultiple-inheritance @gol -@@ -510,7 +513,7 @@ Objective-C and Objective-C++ Dialects}. - -s -static -static-pie -static-libgcc -static-libstdc++ @gol - -static-libasan -static-libtsan -static-liblsan -static-libubsan @gol - -static-libmpx -static-libmpxwrappers @gol ---shared -shared-libgcc -symbolic @gol -+-shared -shared-libgcc -symbolic -nostdlib++ @gol - -T @var{script} -Wl,@var{option} -Xlinker @var{option} @gol - -u @var{symbol} -z @var{keyword}} - -@@ -12359,6 +12362,33 @@ library subroutines. - constructors are called; @pxref{Collect2,,@code{collect2}, gccint, - GNU Compiler Collection (GCC) Internals}.) - -+@item -nostdlib++ -+@opindex nostdlib++ -+Do not use the standard system C++ runtime libraries when linking. -+Only the libraries you specify will be passed to the linker. -+ -+@cindex @option{-lgcc}, use with @option{-nostdlib} -+@cindex @option{-nostdlib} and unresolved references -+@cindex unresolved references and @option{-nostdlib} -+@cindex @option{-lgcc}, use with @option{-nodefaultlibs} -+@cindex @option{-nodefaultlibs} and unresolved references -+@cindex unresolved references and @option{-nodefaultlibs} -+One of the standard libraries bypassed by @option{-nostdlib} and -+@option{-nodefaultlibs} is @file{libgcc.a}, a library of internal subroutines -+which GCC uses to overcome shortcomings of particular machines, or special -+needs for some languages. -+(@xref{Interface,,Interfacing to GCC Output,gccint,GNU Compiler -+Collection (GCC) Internals}, -+for more discussion of @file{libgcc.a}.) -+In most cases, you need @file{libgcc.a} even when you want to avoid -+other standard libraries. In other words, when you specify @option{-nostdlib} -+or @option{-nodefaultlibs} you should usually specify @option{-lgcc} as well. -+This ensures that you have no unresolved references to internal GCC -+library subroutines. -+(An example of such an internal subroutine is @code{__main}, used to ensure C++ -+constructors are called; @pxref{Collect2,,@code{collect2}, gccint, -+GNU Compiler Collection (GCC) Internals}.) -+ - @item -pie - @opindex pie - Produce a dynamically linked position independent executable on targets -diff --git a/gcc/gcc.c b/gcc/gcc.c -index 02b3cd39fc2..8cd27a5dad5 100644 ---- a/gcc/gcc.c -+++ b/gcc/gcc.c -@@ -1047,6 +1047,7 @@ proper position among the other output files. */ - %(mflib) " STACK_SPLIT_SPEC "\ - %{fprofile-arcs|fprofile-generate*|coverage:-lgcov} " SANITIZER_SPEC " \ - %{!nostdlib:%{!nodefaultlibs:%(link_ssp) %(link_gcc_c_sequence)}}\ -+ %{!nostdlib++:}\ - %{!nostdlib:%{!nostartfiles:%E}} %{T*} \n%(post_link) }}}}}}" - #endif - --- -2.21.0 - diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0007-COLLECT_GCC_OPTIONS.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0007-COLLECT_GCC_OPTIONS.patch deleted file mode 100644 index 8c7e72e1b..000000000 --- a/poky/meta/recipes-devtools/gcc/gcc-8.3/0007-COLLECT_GCC_OPTIONS.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 209e46f45382088caab54425b92b5dfc43ebb4fc Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Fri, 29 Mar 2013 09:16:28 +0400 -Subject: [PATCH 07/40] COLLECT_GCC_OPTIONS - -This patch adds --sysroot into COLLECT_GCC_OPTIONS which is used to -invoke collect2. - -Signed-off-by: Khem Raj - -Upstream-Status: Pending ---- - gcc/gcc.c | 9 +++++++++ - 1 file changed, 9 insertions(+) - -diff --git a/gcc/gcc.c b/gcc/gcc.c -index 8cd27a5dad5..d355d65583a 100644 ---- a/gcc/gcc.c -+++ b/gcc/gcc.c -@@ -4677,6 +4677,15 @@ set_collect_gcc_options (void) - sizeof ("COLLECT_GCC_OPTIONS=") - 1); - - first_time = TRUE; -+#ifdef HAVE_LD_SYSROOT -+ if (target_system_root_changed && target_system_root) -+ { -+ obstack_grow (&collect_obstack, "'--sysroot=", sizeof("'--sysroot=")-1); -+ obstack_grow (&collect_obstack, target_system_root,strlen(target_system_root)); -+ obstack_grow (&collect_obstack, "'", 1); -+ first_time = FALSE; -+ } -+#endif - for (i = 0; (int) i < n_switches; i++) - { - const char *const *args; --- -2.21.0 - diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0008-Use-the-defaults.h-in-B-instead-of-S-and-t-oe-in-B.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0008-Use-the-defaults.h-in-B-instead-of-S-and-t-oe-in-B.patch deleted file mode 100644 index f9632afec..000000000 --- a/poky/meta/recipes-devtools/gcc/gcc-8.3/0008-Use-the-defaults.h-in-B-instead-of-S-and-t-oe-in-B.patch +++ /dev/null @@ -1,96 +0,0 @@ -From 3bcbdf5ade54a72820ad7798119d0bbad4baf6ec Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Fri, 29 Mar 2013 09:17:25 +0400 -Subject: [PATCH 08/40] Use the defaults.h in ${B} instead of ${S}, and t-oe in - ${B} - -Use the defaults.h in ${B} instead of ${S}, and t-oe in ${B}, so that -the source can be shared between gcc-cross-initial, -gcc-cross-intermediate, gcc-cross, gcc-runtime, and also the sdk build. - -Signed-off-by: Khem Raj - -Upstream-Status: Pending - -While compiling gcc-crosssdk-initial-x86_64 on some host, there is -occasionally failure that test the existance of default.h doesn't -work, the reason is tm_include_list='** defaults.h' rather than -tm_include_list='** ./defaults.h' - -So we add the test condition for this situation. -Signed-off-by: Hongxu Jia ---- - gcc/Makefile.in | 2 +- - gcc/configure | 4 ++-- - gcc/configure.ac | 4 ++-- - gcc/mkconfig.sh | 4 ++-- - 4 files changed, 7 insertions(+), 7 deletions(-) - -diff --git a/gcc/Makefile.in b/gcc/Makefile.in -index 20bee0494b1..1367136bfac 100644 ---- a/gcc/Makefile.in -+++ b/gcc/Makefile.in -@@ -538,7 +538,7 @@ TARGET_SYSTEM_ROOT = @TARGET_SYSTEM_ROOT@ - TARGET_SYSTEM_ROOT_DEFINE = @TARGET_SYSTEM_ROOT_DEFINE@ - - xmake_file=@xmake_file@ --tmake_file=@tmake_file@ -+tmake_file=@tmake_file@ ./t-oe - TM_ENDIAN_CONFIG=@TM_ENDIAN_CONFIG@ - TM_MULTILIB_CONFIG=@TM_MULTILIB_CONFIG@ - TM_MULTILIB_EXCEPTIONS_CONFIG=@TM_MULTILIB_EXCEPTIONS_CONFIG@ -diff --git a/gcc/configure b/gcc/configure -index 0c9b8ac5f55..134c2c2f156 100755 ---- a/gcc/configure -+++ b/gcc/configure -@@ -12158,8 +12158,8 @@ for f in $tm_file; do - tm_include_list="${tm_include_list} $f" - ;; - defaults.h ) -- tm_file_list="${tm_file_list} \$(srcdir)/$f" -- tm_include_list="${tm_include_list} $f" -+ tm_file_list="${tm_file_list} ./$f" -+ tm_include_list="${tm_include_list} ./$f" - ;; - * ) - tm_file_list="${tm_file_list} \$(srcdir)/config/$f" -diff --git a/gcc/configure.ac b/gcc/configure.ac -index 53840363115..0c3c82e4ff7 100644 ---- a/gcc/configure.ac -+++ b/gcc/configure.ac -@@ -1922,8 +1922,8 @@ for f in $tm_file; do - tm_include_list="${tm_include_list} $f" - ;; - defaults.h ) -- tm_file_list="${tm_file_list} \$(srcdir)/$f" -- tm_include_list="${tm_include_list} $f" -+ tm_file_list="${tm_file_list} ./$f" -+ tm_include_list="${tm_include_list} ./$f" - ;; - * ) - tm_file_list="${tm_file_list} \$(srcdir)/config/$f" -diff --git a/gcc/mkconfig.sh b/gcc/mkconfig.sh -index 0f75c863c0b..68d8d6613cf 100644 ---- a/gcc/mkconfig.sh -+++ b/gcc/mkconfig.sh -@@ -77,7 +77,7 @@ if [ -n "$HEADERS" ]; then - if [ $# -ge 1 ]; then - echo '#ifdef IN_GCC' >> ${output}T - for file in "$@"; do -- if test x"$file" = x"defaults.h"; then -+ if test x"$file" = x"./defaults.h" -o x"$file" = x"defaults.h"; then - postpone_defaults_h="yes" - else - echo "# include \"$file\"" >> ${output}T -@@ -106,7 +106,7 @@ esac - - # If we postponed including defaults.h, add the #include now. - if test x"$postpone_defaults_h" = x"yes"; then -- echo "# include \"defaults.h\"" >> ${output}T -+ echo "# include \"./defaults.h\"" >> ${output}T - fi - - # Add multiple inclusion protection guard, part two. --- -2.21.0 - diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0009-fortran-cross-compile-hack.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0009-fortran-cross-compile-hack.patch deleted file mode 100644 index 50d895bfd..000000000 --- a/poky/meta/recipes-devtools/gcc/gcc-8.3/0009-fortran-cross-compile-hack.patch +++ /dev/null @@ -1,46 +0,0 @@ -From e654573352d28f160f379ee77e4067cf108714d0 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Fri, 29 Mar 2013 09:20:01 +0400 -Subject: [PATCH 09/40] fortran cross-compile hack. - -* Fortran would have searched for arm-angstrom-gnueabi-gfortran but would have used -used gfortan. For gcc_4.2.2.bb we want to use the gfortran compiler from our cross -directory. - -Signed-off-by: Khem Raj - -Upstream-Status: Inappropriate [embedded specific] ---- - libgfortran/configure | 2 +- - libgfortran/configure.ac | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/libgfortran/configure b/libgfortran/configure -index 91fce8fecd0..6747f86eb98 100755 ---- a/libgfortran/configure -+++ b/libgfortran/configure -@@ -12883,7 +12883,7 @@ esac - - # We need gfortran to compile parts of the library - #AC_PROG_FC(gfortran) --FC="$GFORTRAN" -+#FC="$GFORTRAN" - ac_ext=${ac_fc_srcext-f} - ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' - ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' -diff --git a/libgfortran/configure.ac b/libgfortran/configure.ac -index bf6d3634dda..9dbe43cc616 100644 ---- a/libgfortran/configure.ac -+++ b/libgfortran/configure.ac -@@ -250,7 +250,7 @@ AC_SUBST(enable_static) - - # We need gfortran to compile parts of the library - #AC_PROG_FC(gfortran) --FC="$GFORTRAN" -+#FC="$GFORTRAN" - AC_PROG_FC(gfortran) - - # extra LD Flags which are required for targets --- -2.21.0 - diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0010-cpp-honor-sysroot.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0010-cpp-honor-sysroot.patch deleted file mode 100644 index 037eacf43..000000000 --- a/poky/meta/recipes-devtools/gcc/gcc-8.3/0010-cpp-honor-sysroot.patch +++ /dev/null @@ -1,54 +0,0 @@ -From 2ae7af4eb70eff6aeda1fe96333ff50cfaa9d906 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Fri, 29 Mar 2013 09:22:00 +0400 -Subject: [PATCH 10/40] cpp: honor sysroot. - -Currently, if the gcc toolchain is relocated and installed from sstate, then you try and compile -preprocessed source (.i or .ii files), the compiler will try and access the builtin sysroot location -rather than the --sysroot option specified on the commandline. If access to that directory is -permission denied (unreadable), gcc will error. - -This happens when ccache is in use due to the fact it uses preprocessed source files. - -The fix below adds %I to the cpp-output spec macro so the default substitutions for -iprefix, --isystem, -isysroot happen and the correct sysroot is used. - -[YOCTO #2074] - -RP 2012/04/13 - -Signed-off-by: Khem Raj - -Upstream-Status: Pending ---- - gcc/cp/lang-specs.h | 2 +- - gcc/gcc.c | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/gcc/cp/lang-specs.h b/gcc/cp/lang-specs.h -index f0802b8915c..f324d299849 100644 ---- a/gcc/cp/lang-specs.h -+++ b/gcc/cp/lang-specs.h -@@ -64,5 +64,5 @@ along with GCC; see the file COPYING3. If not see - {".ii", "@c++-cpp-output", 0, 0, 0}, - {"@c++-cpp-output", - "%{!M:%{!MM:%{!E:\ -- cc1plus -fpreprocessed %i %(cc1_options) %2\ -+ cc1plus -fpreprocessed %i %I %(cc1_options) %2\ - %{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 0}, -diff --git a/gcc/gcc.c b/gcc/gcc.c -index d355d65583a..570cdc00034 100644 ---- a/gcc/gcc.c -+++ b/gcc/gcc.c -@@ -1343,7 +1343,7 @@ static const struct compiler default_compilers[] = - %W{o*:--output-pch=%*}}%V}}}}}}}", 0, 0, 0}, - {".i", "@cpp-output", 0, 0, 0}, - {"@cpp-output", -- "%{!M:%{!MM:%{!E:cc1 -fpreprocessed %i %(cc1_options) %{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 0}, -+ "%{!M:%{!MM:%{!E:cc1 -fpreprocessed %i %I %(cc1_options) %{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 0}, - {".s", "@assembler", 0, 0, 0}, - {"@assembler", - "%{!M:%{!MM:%{!E:%{!S:as %(asm_debug) %(asm_options) %i %A }}}}", 0, 0, 0}, --- -2.21.0 - diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0011-MIPS64-Default-to-N64-ABI.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0011-MIPS64-Default-to-N64-ABI.patch deleted file mode 100644 index c863cff93..000000000 --- a/poky/meta/recipes-devtools/gcc/gcc-8.3/0011-MIPS64-Default-to-N64-ABI.patch +++ /dev/null @@ -1,57 +0,0 @@ -From 1e1ea0eb55a594ac4cd7b838f74dec7405aae02b Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Fri, 29 Mar 2013 09:23:08 +0400 -Subject: [PATCH 11/40] MIPS64: Default to N64 ABI - -MIPS64 defaults to n32 ABI, this patch makes it -so that it defaults to N64 ABI - -Signed-off-by: Khem Raj - -Upstream-Status: Inappropriate [OE config specific] ---- - gcc/config.gcc | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - -diff --git a/gcc/config.gcc b/gcc/config.gcc -index 7af8e028104..fc7c91246ed 100644 ---- a/gcc/config.gcc -+++ b/gcc/config.gcc -@@ -2143,29 +2143,29 @@ mips*-*-linux*) # Linux MIPS, either endian. - default_mips_arch=mips32 - ;; - mips64el-st-linux-gnu) -- default_mips_abi=n32 -+ default_mips_abi=64 - tm_file="${tm_file} mips/st.h" - tmake_file="${tmake_file} mips/t-st" - enable_mips_multilibs="yes" - ;; - mips64octeon*-*-linux*) -- default_mips_abi=n32 -+ default_mips_abi=64 - tm_defines="${tm_defines} MIPS_CPU_STRING_DEFAULT=\\\"octeon\\\"" - target_cpu_default=MASK_SOFT_FLOAT_ABI - enable_mips_multilibs="yes" - ;; - mipsisa64r6*-*-linux*) -- default_mips_abi=n32 -+ default_mips_abi=64 - default_mips_arch=mips64r6 - enable_mips_multilibs="yes" - ;; - mipsisa64r2*-*-linux*) -- default_mips_abi=n32 -+ default_mips_abi=64 - default_mips_arch=mips64r2 - enable_mips_multilibs="yes" - ;; - mips64*-*-linux* | mipsisa64*-*-linux*) -- default_mips_abi=n32 -+ default_mips_abi=64 - enable_mips_multilibs="yes" - ;; - esac --- -2.21.0 - diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0012-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0012-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch deleted file mode 100644 index d3be10f20..000000000 --- a/poky/meta/recipes-devtools/gcc/gcc-8.3/0012-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch +++ /dev/null @@ -1,248 +0,0 @@ -From 6f8649936df3677109b8396f563c716ae8b237fe Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Fri, 29 Mar 2013 09:24:50 +0400 -Subject: [PATCH 12/40] Define GLIBC_DYNAMIC_LINKER and UCLIBC_DYNAMIC_LINKER - relative to SYSTEMLIBS_DIR - -This patch defines GLIBC_DYNAMIC_LINKER and UCLIBC_DYNAMIC_LINKER -relative to SYSTEMLIBS_DIR which can be set in generated headers -This breaks the assumption of hardcoded multilib in gcc -Change is only for the supported architectures in OE including -SH, sparc, alpha for possible future support (if any) - -Removes the do_headerfix task in metadata - -Signed-off-by: Khem Raj - -Upstream-Status: Inappropriate [OE configuration] ---- - gcc/config/alpha/linux-elf.h | 4 ++-- - gcc/config/arm/linux-eabi.h | 4 ++-- - gcc/config/arm/linux-elf.h | 2 +- - gcc/config/i386/linux.h | 2 +- - gcc/config/i386/linux64.h | 6 +++--- - gcc/config/linux.h | 8 ++++---- - gcc/config/mips/linux.h | 12 ++++++------ - gcc/config/riscv/linux.h | 2 +- - gcc/config/rs6000/linux64.h | 16 ++++++---------- - gcc/config/sh/linux.h | 2 +- - gcc/config/sparc/linux.h | 2 +- - gcc/config/sparc/linux64.h | 4 ++-- - 12 files changed, 30 insertions(+), 34 deletions(-) - -diff --git a/gcc/config/alpha/linux-elf.h b/gcc/config/alpha/linux-elf.h -index 36b74dc1993..02373578af8 100644 ---- a/gcc/config/alpha/linux-elf.h -+++ b/gcc/config/alpha/linux-elf.h -@@ -23,8 +23,8 @@ along with GCC; see the file COPYING3. If not see - #define EXTRA_SPECS \ - { "elf_dynamic_linker", ELF_DYNAMIC_LINKER }, - --#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2" --#define UCLIBC_DYNAMIC_LINKER "/lib/ld-uClibc.so.0" -+#define GLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-linux.so.2" -+#define UCLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-uClibc.so.0" - #if DEFAULT_LIBC == LIBC_UCLIBC - #define CHOOSE_DYNAMIC_LINKER(G, U) "%{mglibc:" G ";:" U "}" - #elif DEFAULT_LIBC == LIBC_GLIBC -diff --git a/gcc/config/arm/linux-eabi.h b/gcc/config/arm/linux-eabi.h -index 8585fde3d41..b3af68cac57 100644 ---- a/gcc/config/arm/linux-eabi.h -+++ b/gcc/config/arm/linux-eabi.h -@@ -62,8 +62,8 @@ - GLIBC_DYNAMIC_LINKER_DEFAULT and TARGET_DEFAULT_FLOAT_ABI. */ - - #undef GLIBC_DYNAMIC_LINKER --#define GLIBC_DYNAMIC_LINKER_SOFT_FLOAT "/lib/ld-linux.so.3" --#define GLIBC_DYNAMIC_LINKER_HARD_FLOAT "/lib/ld-linux-armhf.so.3" -+#define GLIBC_DYNAMIC_LINKER_SOFT_FLOAT SYSTEMLIBS_DIR "ld-linux.so.3" -+#define GLIBC_DYNAMIC_LINKER_HARD_FLOAT SYSTEMLIBS_DIR "ld-linux-armhf.so.3" - #define GLIBC_DYNAMIC_LINKER_DEFAULT GLIBC_DYNAMIC_LINKER_SOFT_FLOAT - - #define GLIBC_DYNAMIC_LINKER \ -diff --git a/gcc/config/arm/linux-elf.h b/gcc/config/arm/linux-elf.h -index cfcd9cb1a5c..a798e987ecb 100644 ---- a/gcc/config/arm/linux-elf.h -+++ b/gcc/config/arm/linux-elf.h -@@ -60,7 +60,7 @@ - - #define LIBGCC_SPEC "%{mfloat-abi=soft*:-lfloat} -lgcc" - --#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2" -+#define GLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-linux.so.2" - - #define LINUX_TARGET_LINK_SPEC "%{h*} \ - %{static:-Bstatic} \ -diff --git a/gcc/config/i386/linux.h b/gcc/config/i386/linux.h -index 69f97f15b0d..71bc31d9231 100644 ---- a/gcc/config/i386/linux.h -+++ b/gcc/config/i386/linux.h -@@ -20,7 +20,7 @@ along with GCC; see the file COPYING3. If not see - . */ - - #define GNU_USER_LINK_EMULATION "elf_i386" --#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2" -+#define GLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-linux.so.2" - - #undef MUSL_DYNAMIC_LINKER - #define MUSL_DYNAMIC_LINKER "/lib/ld-musl-i386.so.1" -diff --git a/gcc/config/i386/linux64.h b/gcc/config/i386/linux64.h -index f2d913e30ac..8725f33d8a5 100644 ---- a/gcc/config/i386/linux64.h -+++ b/gcc/config/i386/linux64.h -@@ -27,9 +27,9 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see - #define GNU_USER_LINK_EMULATION64 "elf_x86_64" - #define GNU_USER_LINK_EMULATIONX32 "elf32_x86_64" - --#define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2" --#define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux-x86-64.so.2" --#define GLIBC_DYNAMIC_LINKERX32 "/libx32/ld-linux-x32.so.2" -+#define GLIBC_DYNAMIC_LINKER32 SYSTEMLIBS_DIR "ld-linux.so.2" -+#define GLIBC_DYNAMIC_LINKER64 SYSTEMLIBS_DIR "ld-linux-x86-64.so.2" -+#define GLIBC_DYNAMIC_LINKERX32 SYSTEMLIBS_DIR "ld-linux-x32.so.2" - - #undef MUSL_DYNAMIC_LINKER32 - #define MUSL_DYNAMIC_LINKER32 "/lib/ld-musl-i386.so.1" -diff --git a/gcc/config/linux.h b/gcc/config/linux.h -index 2ea4ff92c1d..487b0c0923b 100644 ---- a/gcc/config/linux.h -+++ b/gcc/config/linux.h -@@ -81,10 +81,10 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see - GLIBC_DYNAMIC_LINKER must be defined for each target using them, or - GLIBC_DYNAMIC_LINKER32 and GLIBC_DYNAMIC_LINKER64 for targets - supporting both 32-bit and 64-bit compilation. */ --#define UCLIBC_DYNAMIC_LINKER "/lib/ld-uClibc.so.0" --#define UCLIBC_DYNAMIC_LINKER32 "/lib/ld-uClibc.so.0" --#define UCLIBC_DYNAMIC_LINKER64 "/lib/ld64-uClibc.so.0" --#define UCLIBC_DYNAMIC_LINKERX32 "/lib/ldx32-uClibc.so.0" -+#define UCLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-uClibc.so.0" -+#define UCLIBC_DYNAMIC_LINKER32 SYSTEMLIBS_DIR "ld-uClibc.so.0" -+#define UCLIBC_DYNAMIC_LINKER64 SYSTEMLIBS_DIR "ld64-uClibc.so.0" -+#define UCLIBC_DYNAMIC_LINKERX32 SYSTEMLIBS_DIR "ldx32-uClibc.so.0" - #define BIONIC_DYNAMIC_LINKER "/system/bin/linker" - #define BIONIC_DYNAMIC_LINKER32 "/system/bin/linker" - #define BIONIC_DYNAMIC_LINKER64 "/system/bin/linker64" -diff --git a/gcc/config/mips/linux.h b/gcc/config/mips/linux.h -index 2dfd0c18b90..12057c51b5e 100644 ---- a/gcc/config/mips/linux.h -+++ b/gcc/config/mips/linux.h -@@ -22,20 +22,20 @@ along with GCC; see the file COPYING3. If not see - #define GNU_USER_LINK_EMULATIONN32 "elf32%{EB:b}%{EL:l}tsmipn32" - - #define GLIBC_DYNAMIC_LINKER32 \ -- "%{mnan=2008:/lib/ld-linux-mipsn8.so.1;:/lib/ld.so.1}" -+ "%{mnan=2008:" SYSTEMLIBS_DIR "ld-linux-mipsn8.so.1;:" SYSTEMLIBS_DIR "ld.so.1}" - #define GLIBC_DYNAMIC_LINKER64 \ -- "%{mnan=2008:/lib64/ld-linux-mipsn8.so.1;:/lib64/ld.so.1}" -+ "%{mnan=2008:" SYSTEMLIBS_DIR "ld-linux-mipsn8.so.1;:" SYSTEMLIBS_DIR "ld.so.1}" - #define GLIBC_DYNAMIC_LINKERN32 \ -- "%{mnan=2008:/lib32/ld-linux-mipsn8.so.1;:/lib32/ld.so.1}" -+ "%{mnan=2008:" SYSTEMLIBS_DIR "ld-linux-mipsn8.so.1;:" SYSTEMLIBS_DIR "ld.so.1}" - - #undef UCLIBC_DYNAMIC_LINKER32 - #define UCLIBC_DYNAMIC_LINKER32 \ -- "%{mnan=2008:/lib/ld-uClibc-mipsn8.so.0;:/lib/ld-uClibc.so.0}" -+ "%{mnan=2008:" SYSTEMLIBS_DIR "ld-uClibc-mipsn8.so.0;:" SYSTEMLIBS_DIR "ld-uClibc.so.0}" - #undef UCLIBC_DYNAMIC_LINKER64 - #define UCLIBC_DYNAMIC_LINKER64 \ -- "%{mnan=2008:/lib/ld64-uClibc-mipsn8.so.0;:/lib/ld64-uClibc.so.0}" -+ "%{mnan=2008:" SYSTEMLIBS_DIR "ld64-uClibc-mipsn8.so.0;:" SYSTEMLIBS_DIR "ld64-uClibc.so.0}" - #define UCLIBC_DYNAMIC_LINKERN32 \ -- "%{mnan=2008:/lib32/ld-uClibc-mipsn8.so.0;:/lib32/ld-uClibc.so.0}" -+ "%{mnan=2008:" SYSTEMLIBS_DIR "ld-uClibc-mipsn8.so.0;:" SYSTEMLIBS_DIR "ld-uClibc.so.0}" - - #undef MUSL_DYNAMIC_LINKER32 - #define MUSL_DYNAMIC_LINKER32 \ -diff --git a/gcc/config/riscv/linux.h b/gcc/config/riscv/linux.h -index aa8a28d5d31..ebf9551c955 100644 ---- a/gcc/config/riscv/linux.h -+++ b/gcc/config/riscv/linux.h -@@ -22,7 +22,7 @@ along with GCC; see the file COPYING3. If not see - GNU_USER_TARGET_OS_CPP_BUILTINS(); \ - } while (0) - --#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux-riscv" XLEN_SPEC "-" ABI_SPEC ".so.1" -+#define GLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-linux-riscv" XLEN_SPEC "-" ABI_SPEC ".so.1" - - #define MUSL_ABI_SUFFIX \ - "%{mabi=ilp32:-sf}" \ -diff --git a/gcc/config/rs6000/linux64.h b/gcc/config/rs6000/linux64.h -index 44eab40a234..54aa8d957e7 100644 ---- a/gcc/config/rs6000/linux64.h -+++ b/gcc/config/rs6000/linux64.h -@@ -413,16 +413,11 @@ extern int dot_symbols; - #undef LINK_OS_DEFAULT_SPEC - #define LINK_OS_DEFAULT_SPEC "%(link_os_linux)" - --#define GLIBC_DYNAMIC_LINKER32 "%(dynamic_linker_prefix)/lib/ld.so.1" -- -+#define GLIBC_DYNAMIC_LINKER32 SYSTEMLIBS_DIR "ld.so.1" - #ifdef LINUX64_DEFAULT_ABI_ELFv2 --#define GLIBC_DYNAMIC_LINKER64 \ --"%{mabi=elfv1:%(dynamic_linker_prefix)/lib64/ld64.so.1;" \ --":%(dynamic_linker_prefix)/lib64/ld64.so.2}" -+#define GLIBC_DYNAMIC_LINKER64 "%{mabi=elfv1:" SYSTEMLIBS_DIR "ld64.so.1;:" SYSTEMLIBS_DIR "ld64.so.2}" - #else --#define GLIBC_DYNAMIC_LINKER64 \ --"%{mabi=elfv2:%(dynamic_linker_prefix)/lib64/ld64.so.2;" \ --":%(dynamic_linker_prefix)/lib64/ld64.so.1}" -+#define GLIBC_DYNAMIC_LINKER64 "%{mabi=elfv2:" SYSTEMLIBS_DIR "ld64.so.2;:" SYSTEMLIBS_DIR "ld64.so.1}" - #endif - - #define MUSL_DYNAMIC_LINKER32 \ -@@ -430,8 +425,9 @@ extern int dot_symbols; - #define MUSL_DYNAMIC_LINKER64 \ - "/lib/ld-musl-powerpc64" MUSL_DYNAMIC_LINKER_E "%{msoft-float:-sf}.so.1" - --#define UCLIBC_DYNAMIC_LINKER32 "/lib/ld-uClibc.so.0" --#define UCLIBC_DYNAMIC_LINKER64 "/lib/ld64-uClibc.so.0" -+#define UCLIBC_DYNAMIC_LINKER32 SYSTEMLIBS_DIR "ld-uClibc.so.0" -+#define UCLIBC_DYNAMIC_LINKER64 SYSTEMLIBS_DIR "ld64-uClibc.so.0" -+ - #if DEFAULT_LIBC == LIBC_UCLIBC - #define CHOOSE_DYNAMIC_LINKER(G, U, M) \ - "%{mglibc:" G ";:%{mmusl:" M ";:" U "}}" -diff --git a/gcc/config/sh/linux.h b/gcc/config/sh/linux.h -index 6d2ccd012ba..ec78a89ce15 100644 ---- a/gcc/config/sh/linux.h -+++ b/gcc/config/sh/linux.h -@@ -64,7 +64,7 @@ along with GCC; see the file COPYING3. If not see - "/lib/ld-musl-sh" MUSL_DYNAMIC_LINKER_E MUSL_DYNAMIC_LINKER_FP \ - "%{mfdpic:-fdpic}.so.1" - --#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2" -+#define GLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-linux.so.2" - - #undef SUBTARGET_LINK_EMUL_SUFFIX - #define SUBTARGET_LINK_EMUL_SUFFIX "%{mfdpic:_fd;:_linux}" -diff --git a/gcc/config/sparc/linux.h b/gcc/config/sparc/linux.h -index 9fb03af0fe9..401fddbbb22 100644 ---- a/gcc/config/sparc/linux.h -+++ b/gcc/config/sparc/linux.h -@@ -83,7 +83,7 @@ extern const char *host_detect_local_cpu (int argc, const char **argv); - When the -shared link option is used a final link is not being - done. */ - --#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2" -+#define GLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-linux.so.2" - - #undef LINK_SPEC - #define LINK_SPEC "-m elf32_sparc %{shared:-shared} \ -diff --git a/gcc/config/sparc/linux64.h b/gcc/config/sparc/linux64.h -index c1fe42165b7..26a79bfa2e3 100644 ---- a/gcc/config/sparc/linux64.h -+++ b/gcc/config/sparc/linux64.h -@@ -84,8 +84,8 @@ along with GCC; see the file COPYING3. If not see - When the -shared link option is used a final link is not being - done. */ - --#define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2" --#define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux.so.2" -+#define GLIBC_DYNAMIC_LINKER32 SYSTEMLIBS_DIR "ld-linux.so.2" -+#define GLIBC_DYNAMIC_LINKER64 SYSTEMLIBS_DIR "ld-linux.so.2" - - #ifdef SPARC_BI_ARCH - --- -2.21.0 - diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0013-gcc-Fix-argument-list-too-long-error.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0013-gcc-Fix-argument-list-too-long-error.patch deleted file mode 100644 index e9d2cac22..000000000 --- a/poky/meta/recipes-devtools/gcc/gcc-8.3/0013-gcc-Fix-argument-list-too-long-error.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 9e815965fbaa90134be0e777cfc2fbcfab16b674 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Fri, 29 Mar 2013 09:26:37 +0400 -Subject: [PATCH 13/40] gcc: Fix argument list too long error. - -There would be an "Argument list too long" error when the -build directory is longer than 200, this is caused by: - -headers=`echo $(PLUGIN_HEADERS) | tr ' ' '\012' | sort -u` - -The PLUGIN_HEADERS is too long before sort, so the "echo" can't handle -it, use the $(sort list) of GNU make which can handle the too long list -would fix the problem, the header would be short enough after sorted. -The "tr ' ' '\012'" was used for translating the space to "\n", the -$(sort list) doesn't need this. - -Signed-off-by: Robert Yang -Signed-off-by: Khem Raj - -Upstream-Status: Pending ---- - gcc/Makefile.in | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/gcc/Makefile.in b/gcc/Makefile.in -index 1367136bfac..71a8275c39f 100644 ---- a/gcc/Makefile.in -+++ b/gcc/Makefile.in -@@ -3538,7 +3538,7 @@ install-plugin: installdirs lang.install-plugin s-header-vars install-gengtype - # We keep the directory structure for files in config or c-family and .def - # files. All other files are flattened to a single directory. - $(mkinstalldirs) $(DESTDIR)$(plugin_includedir) -- headers=`echo $(PLUGIN_HEADERS) $$(cd $(srcdir); echo *.h *.def) | tr ' ' '\012' | sort -u`; \ -+ headers="$(sort $(PLUGIN_HEADERS) $$(cd $(srcdir); echo *.h *.def))"; \ - srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`; \ - for file in $$headers; do \ - if [ -f $$file ] ; then \ --- -2.21.0 - diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0014-Disable-sdt.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0014-Disable-sdt.patch deleted file mode 100644 index 2bc44515c..000000000 --- a/poky/meta/recipes-devtools/gcc/gcc-8.3/0014-Disable-sdt.patch +++ /dev/null @@ -1,113 +0,0 @@ -From 00c7a7fdd4b4aad9e57d8b541de17ad209b6cd06 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Fri, 29 Mar 2013 09:28:10 +0400 -Subject: [PATCH 14/40] Disable sdt. - -We don't list dtrace in DEPENDS so we shouldn't be depending on this header. -It may or may not exist from preivous builds though. To be determinstic, disable -sdt.h usage always. This avoids build failures if the header is removed after configure -but before libgcc is compiled for example. - -RP 2012/8/7 - -Signed-off-by: Khem Raj - -Disable sdt for libstdc++-v3. - -Signed-off-by: Robert Yang - -Upstream-Status: Inappropriate [hack] ---- - gcc/configure | 12 ++++++------ - gcc/configure.ac | 18 +++++++++--------- - libstdc++-v3/configure | 6 +++--- - libstdc++-v3/configure.ac | 2 +- - 4 files changed, 19 insertions(+), 19 deletions(-) - -diff --git a/gcc/configure b/gcc/configure -index 134c2c2f156..5111ec0aabb 100755 ---- a/gcc/configure -+++ b/gcc/configure -@@ -29282,12 +29282,12 @@ fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking sys/sdt.h in the target C library" >&5 - $as_echo_n "checking sys/sdt.h in the target C library... " >&6; } - have_sys_sdt_h=no --if test -f $target_header_dir/sys/sdt.h; then -- have_sys_sdt_h=yes -- --$as_echo "#define HAVE_SYS_SDT_H 1" >>confdefs.h -- --fi -+#if test -f $target_header_dir/sys/sdt.h; then -+# have_sys_sdt_h=yes -+# -+#$as_echo "#define HAVE_SYS_SDT_H 1" >>confdefs.h -+# -+#fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_sys_sdt_h" >&5 - $as_echo "$have_sys_sdt_h" >&6; } - -diff --git a/gcc/configure.ac b/gcc/configure.ac -index 0c3c82e4ff7..3e09af916fd 100644 ---- a/gcc/configure.ac -+++ b/gcc/configure.ac -@@ -5943,15 +5943,15 @@ fi - AC_SUBST([enable_default_ssp]) - - # Test for on the target. --GCC_TARGET_TEMPLATE([HAVE_SYS_SDT_H]) --AC_MSG_CHECKING(sys/sdt.h in the target C library) --have_sys_sdt_h=no --if test -f $target_header_dir/sys/sdt.h; then -- have_sys_sdt_h=yes -- AC_DEFINE(HAVE_SYS_SDT_H, 1, -- [Define if your target C library provides sys/sdt.h]) --fi --AC_MSG_RESULT($have_sys_sdt_h) -+#GCC_TARGET_TEMPLATE([HAVE_SYS_SDT_H]) -+#AC_MSG_CHECKING(sys/sdt.h in the target C library) -+#have_sys_sdt_h=no -+#if test -f $target_header_dir/sys/sdt.h; then -+# have_sys_sdt_h=yes -+# AC_DEFINE(HAVE_SYS_SDT_H, 1, -+# [Define if your target C library provides sys/sdt.h]) -+#fi -+#AC_MSG_RESULT($have_sys_sdt_h) - - # Check if TFmode long double should be used by default or not. - # Some glibc targets used DFmode long double, but with glibc 2.4 -diff --git a/libstdc++-v3/configure b/libstdc++-v3/configure -index 5535bfa2b5a..13d793f5059 100755 ---- a/libstdc++-v3/configure -+++ b/libstdc++-v3/configure -@@ -21786,11 +21786,11 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' - ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' - ac_compiler_gnu=$ac_cv_c_compiler_gnu - -- if test $glibcxx_cv_sys_sdt_h = yes; then -+# if test $glibcxx_cv_sys_sdt_h = yes; then - --$as_echo "#define HAVE_SYS_SDT_H 1" >>confdefs.h -+#$as_echo "#define HAVE_SYS_SDT_H 1" >>confdefs.h - -- fi -+# fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_sys_sdt_h" >&5 - $as_echo "$glibcxx_cv_sys_sdt_h" >&6; } - -diff --git a/libstdc++-v3/configure.ac b/libstdc++-v3/configure.ac -index 0ef96270c9c..afe55a1b215 100644 ---- a/libstdc++-v3/configure.ac -+++ b/libstdc++-v3/configure.ac -@@ -230,7 +230,7 @@ GLIBCXX_CHECK_SC_NPROCESSORS_ONLN - GLIBCXX_CHECK_SC_NPROC_ONLN - GLIBCXX_CHECK_PTHREADS_NUM_PROCESSORS_NP - GLIBCXX_CHECK_SYSCTL_HW_NCPU --GLIBCXX_CHECK_SDT_H -+#GLIBCXX_CHECK_SDT_H - - # Check for available headers. - AC_CHECK_HEADERS([endian.h execinfo.h float.h fp.h ieeefp.h inttypes.h \ --- -2.21.0 - diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0015-libtool.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0015-libtool.patch deleted file mode 100644 index 750f8a244..000000000 --- a/poky/meta/recipes-devtools/gcc/gcc-8.3/0015-libtool.patch +++ /dev/null @@ -1,42 +0,0 @@ -From 80f2b01b3f917cea08294328c8bbc51dadece4af Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Fri, 29 Mar 2013 09:29:11 +0400 -Subject: [PATCH 15/40] libtool - -libstdc++ from gcc-runtime gets created with -rpath=/usr/lib/../lib for qemux86-64 -when running on am x86_64 build host. - -This patch stops this speading to libdir in the libstdc++.la file within libtool. -Arguably, it shouldn't be passing this into libtool in the first place but -for now this resolves the nastiest problems this causes. - -func_normal_abspath would resolve an empty path to `pwd` so we need -to filter the zero case. - -RP 2012/8/24 - -Signed-off-by: Khem Raj - -Upstream-Status: Pending ---- - ltmain.sh | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/ltmain.sh b/ltmain.sh -index 9503ec85d70..0121fba707f 100644 ---- a/ltmain.sh -+++ b/ltmain.sh -@@ -6359,6 +6359,10 @@ func_mode_link () - func_warning "ignoring multiple \`-rpath's for a libtool library" - - install_libdir="$1" -+ if test -n "$install_libdir"; then -+ func_normal_abspath "$install_libdir" -+ install_libdir=$func_normal_abspath_result -+ fi - - oldlibs= - if test -z "$rpath"; then --- -2.21.0 - diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0016-gcc-armv4-pass-fix-v4bx-to-linker-to-support-EABI.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0016-gcc-armv4-pass-fix-v4bx-to-linker-to-support-EABI.patch deleted file mode 100644 index 9b1b4d4df..000000000 --- a/poky/meta/recipes-devtools/gcc/gcc-8.3/0016-gcc-armv4-pass-fix-v4bx-to-linker-to-support-EABI.patch +++ /dev/null @@ -1,43 +0,0 @@ -From a66ec1e382bf869749588f072a4a7c09039f2b3a Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Fri, 29 Mar 2013 09:30:32 +0400 -Subject: [PATCH 16/40] gcc: armv4: pass fix-v4bx to linker to support EABI. - -The LINK_SPEC for linux gets overwritten by linux-eabi.h which -means the value of TARGET_FIX_V4BX_SPEC gets lost and as a result -the option is not passed to linker when chosing march=armv4 -This patch redefines this in linux-eabi.h and reinserts it -for eabi defaulting toolchains. - -We might want to send it upstream. - -Signed-off-by: Khem Raj - -Upstream-Status: Pending ---- - gcc/config/arm/linux-eabi.h | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -diff --git a/gcc/config/arm/linux-eabi.h b/gcc/config/arm/linux-eabi.h -index b3af68cac57..330b6e13c5f 100644 ---- a/gcc/config/arm/linux-eabi.h -+++ b/gcc/config/arm/linux-eabi.h -@@ -88,10 +88,14 @@ - #define MUSL_DYNAMIC_LINKER \ - "/lib/ld-musl-arm" MUSL_DYNAMIC_LINKER_E "%{mfloat-abi=hard:hf}.so.1" - -+/* For armv4 we pass --fix-v4bx to linker to support EABI */ -+#undef TARGET_FIX_V4BX_SPEC -+#define TARGET_FIX_V4BX_SPEC "%{mcpu=arm8|mcpu=arm810|mcpu=strongarm*|march=armv4: --fix-v4bx}" -+ - /* At this point, bpabi.h will have clobbered LINK_SPEC. We want to - use the GNU/Linux version, not the generic BPABI version. */ - #undef LINK_SPEC --#define LINK_SPEC EABI_LINK_SPEC \ -+#define LINK_SPEC TARGET_FIX_V4BX_SPEC EABI_LINK_SPEC \ - LINUX_OR_ANDROID_LD (LINUX_TARGET_LINK_SPEC, \ - LINUX_TARGET_LINK_SPEC " " ANDROID_LINK_SPEC) - --- -2.21.0 - diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0017-Use-the-multilib-config-files-from-B-instead-of-usin.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0017-Use-the-multilib-config-files-from-B-instead-of-usin.patch deleted file mode 100644 index 382fecdbc..000000000 --- a/poky/meta/recipes-devtools/gcc/gcc-8.3/0017-Use-the-multilib-config-files-from-B-instead-of-usin.patch +++ /dev/null @@ -1,102 +0,0 @@ -From 624db734f656ad8cdf8b3cf3fc8e860b70c6c251 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Fri, 29 Mar 2013 09:33:04 +0400 -Subject: [PATCH 17/40] Use the multilib config files from ${B} instead of - using the ones from ${S} - -Use the multilib config files from ${B} instead of using the ones from ${S} -so that the source can be shared between gcc-cross-initial, -gcc-cross-intermediate, gcc-cross, gcc-runtime, and also the sdk build. - -Signed-off-by: Khem Raj -Signed-off-by: Constantin Musca - -Upstream-Status: Inappropriate [configuration] ---- - gcc/configure | 22 ++++++++++++++++++---- - gcc/configure.ac | 22 ++++++++++++++++++---- - 2 files changed, 36 insertions(+), 8 deletions(-) - -diff --git a/gcc/configure b/gcc/configure -index 5111ec0aabb..3d9dcbdc93d 100755 ---- a/gcc/configure -+++ b/gcc/configure -@@ -12138,10 +12138,20 @@ done - tmake_file_= - for f in ${tmake_file} - do -- if test -f ${srcdir}/config/$f -- then -- tmake_file_="${tmake_file_} \$(srcdir)/config/$f" -- fi -+ case $f in -+ */t-linux64 ) -+ if test -f ./config/$f -+ then -+ tmake_file_="${tmake_file_} ./config/$f" -+ fi -+ ;; -+ * ) -+ if test -f ${srcdir}/config/$f -+ then -+ tmake_file_="${tmake_file_} \$(srcdir)/config/$f" -+ fi -+ ;; -+ esac - done - tmake_file="${tmake_file_}" - -@@ -12152,6 +12162,10 @@ tm_file_list="options.h" - tm_include_list="options.h insn-constants.h" - for f in $tm_file; do - case $f in -+ */linux64.h ) -+ tm_file_list="${tm_file_list} ./config/$f" -+ tm_include_list="${tm_include_list} ./config/$f" -+ ;; - ./* ) - f=`echo $f | sed 's/^..//'` - tm_file_list="${tm_file_list} $f" -diff --git a/gcc/configure.ac b/gcc/configure.ac -index 3e09af916fd..e09c840b605 100644 ---- a/gcc/configure.ac -+++ b/gcc/configure.ac -@@ -1902,10 +1902,20 @@ done - tmake_file_= - for f in ${tmake_file} - do -- if test -f ${srcdir}/config/$f -- then -- tmake_file_="${tmake_file_} \$(srcdir)/config/$f" -- fi -+ case $f in -+ */t-linux64 ) -+ if test -f ./config/$f -+ then -+ tmake_file_="${tmake_file_} ./config/$f" -+ fi -+ ;; -+ * ) -+ if test -f ${srcdir}/config/$f -+ then -+ tmake_file_="${tmake_file_} \$(srcdir)/config/$f" -+ fi -+ ;; -+ esac - done - tmake_file="${tmake_file_}" - -@@ -1916,6 +1926,10 @@ tm_file_list="options.h" - tm_include_list="options.h insn-constants.h" - for f in $tm_file; do - case $f in -+ */linux64.h ) -+ tm_file_list="${tm_file_list} ./config/$f" -+ tm_include_list="${tm_include_list} ./config/$f" -+ ;; - ./* ) - f=`echo $f | sed 's/^..//'` - tm_file_list="${tm_file_list} $f" --- -2.21.0 - diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0018-Avoid-using-libdir-from-.la-which-usually-points-to-.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0018-Avoid-using-libdir-from-.la-which-usually-points-to-.patch deleted file mode 100644 index 20e77d6ea..000000000 --- a/poky/meta/recipes-devtools/gcc/gcc-8.3/0018-Avoid-using-libdir-from-.la-which-usually-points-to-.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 27cca95dcfeead8c52d292c4824ee96f178d6183 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Fri, 20 Feb 2015 09:39:38 +0000 -Subject: [PATCH 18/40] Avoid using libdir from .la which usually points to a - host path - -Upstream-Status: Inappropriate [embedded specific] - -Signed-off-by: Jonathan Liu -Signed-off-by: Khem Raj ---- - ltmain.sh | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/ltmain.sh b/ltmain.sh -index 0121fba707f..52bdbdb5f9c 100644 ---- a/ltmain.sh -+++ b/ltmain.sh -@@ -5628,6 +5628,9 @@ func_mode_link () - absdir="$abs_ladir" - libdir="$abs_ladir" - else -+ # Instead of using libdir from .la which usually points to a host path, -+ # use the path the .la is contained in. -+ libdir="$abs_ladir" - dir="$libdir" - absdir="$libdir" - fi --- -2.21.0 - diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0019-export-CPP.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0019-export-CPP.patch deleted file mode 100644 index 140c67a48..000000000 --- a/poky/meta/recipes-devtools/gcc/gcc-8.3/0019-export-CPP.patch +++ /dev/null @@ -1,53 +0,0 @@ -From a2936382da81aefa9b69c1fc625f6c706b7ea1d8 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Fri, 20 Feb 2015 09:40:59 +0000 -Subject: [PATCH 19/40] export CPP - -The OE environment sets and exports CPP as being the target gcc. When -building gcc-cross-canadian for a mingw targetted sdk, the following can be found -in build.x86_64-pokysdk-mingw32.i586-poky-linux/build-x86_64-linux/libiberty/config.log: - -configure:3641: checking for _FILE_OFFSET_BITS value needed for large files -configure:3666: gcc -c -isystem/media/build1/poky/build/tmp/sysroots/x86_64-linux/usr/include -O2 -pipe conftest.c >&5 -configure:3666: $? = 0 -configure:3698: result: no -configure:3786: checking how to run the C preprocessor -configure:3856: result: x86_64-pokysdk-mingw32-gcc -E --sysroot=/media/build1/poky/build/tmp/sysroots/x86_64-nativesdk-mingw32-pokysdk-mingw32 -configure:3876: x86_64-pokysdk-mingw32-gcc -E --sysroot=/media/build1/poky/build/tmp/sysroots/x86_64-nativesdk-mingw32-pokysdk-mingw32 conftest.c -configure:3876: $? = 0 - -Note this is a *build* target (in build-x86_64-linux) so it should be -using the host "gcc", not x86_64-pokysdk-mingw32-gcc. Since the mingw32 -headers are very different, using the wrong cpp is a real problem. It is leaking -into configure through the CPP variable. Ultimately this leads to build -failures related to not being able to include a process.h file for pem-unix.c. - -The fix is to ensure we export a sane CPP value into the build -environment when using build targets. We could define a CPP_FOR_BUILD value which may be -the version which needs to be upstreamed but for now, this fix is good enough to -avoid the problem. - -RP 22/08/2013 - -Upstream-Status: Pending - -Signed-off-by: Khem Raj ---- - Makefile.in | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/Makefile.in b/Makefile.in -index 38774f542a6..b426d4f9350 100644 ---- a/Makefile.in -+++ b/Makefile.in -@@ -149,6 +149,7 @@ BUILD_EXPORTS = \ - AR="$(AR_FOR_BUILD)"; export AR; \ - AS="$(AS_FOR_BUILD)"; export AS; \ - CC="$(CC_FOR_BUILD)"; export CC; \ -+ CPP="$(CC_FOR_BUILD) -E"; export CPP; \ - CFLAGS="$(CFLAGS_FOR_BUILD)"; export CFLAGS; \ - CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ - CXX="$(CXX_FOR_BUILD)"; export CXX; \ --- -2.21.0 - diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0020-Disable-the-MULTILIB_OSDIRNAMES-and-other-multilib-o.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0020-Disable-the-MULTILIB_OSDIRNAMES-and-other-multilib-o.patch deleted file mode 100644 index b22557eaf..000000000 --- a/poky/meta/recipes-devtools/gcc/gcc-8.3/0020-Disable-the-MULTILIB_OSDIRNAMES-and-other-multilib-o.patch +++ /dev/null @@ -1,42 +0,0 @@ -From d4326ab74a362b0fc83ed866f82c359389a36adc Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Fri, 20 Feb 2015 10:21:55 +0000 -Subject: [PATCH 20/40] Disable the MULTILIB_OSDIRNAMES and other multilib - options. - -Hard coding the MULTILIB_OSDIRNAMES with ../lib64 is causing problems on -systems where the libdir is NOT set to /lib64. This is allowed by the -ABI, as -long as the dynamic loader is present in /lib. - -We simply want to use the default rules in gcc to find and configure the -normal libdir. - -Upstream-Status: Inappropriate[OE-Specific] - -Signed-off-by: Mark Hatle -Signed-off-by: Khem Raj ---- - gcc/config/aarch64/t-aarch64-linux | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -diff --git a/gcc/config/aarch64/t-aarch64-linux b/gcc/config/aarch64/t-aarch64-linux -index b9897785a89..7d06f0d0edb 100644 ---- a/gcc/config/aarch64/t-aarch64-linux -+++ b/gcc/config/aarch64/t-aarch64-linux -@@ -21,8 +21,8 @@ - LIB1ASMSRC = aarch64/lib1funcs.asm - LIB1ASMFUNCS = _aarch64_sync_cache_range - --AARCH_BE = $(if $(findstring TARGET_BIG_ENDIAN_DEFAULT=1, $(tm_defines)),_be) --MULTILIB_OSDIRNAMES = mabi.lp64=../lib64$(call if_multiarch,:aarch64$(AARCH_BE)-linux-gnu) --MULTIARCH_DIRNAME = $(call if_multiarch,aarch64$(AARCH_BE)-linux-gnu) -+#AARCH_BE = $(if $(findstring TARGET_BIG_ENDIAN_DEFAULT=1, $(tm_defines)),_be) -+#MULTILIB_OSDIRNAMES = mabi.lp64=../lib64$(call if_multiarch,:aarch64$(AARCH_BE)-linux-gnu) -+#MULTIARCH_DIRNAME = $(call if_multiarch,aarch64$(AARCH_BE)-linux-gnu) - --MULTILIB_OSDIRNAMES += mabi.ilp32=../libilp32$(call if_multiarch,:aarch64$(AARCH_BE)-linux-gnu_ilp32) -+#MULTILIB_OSDIRNAMES += mabi.ilp32=../libilp32$(call if_multiarch,:aarch64$(AARCH_BE)-linux-gnu_ilp32) --- -2.21.0 - diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0021-Ensure-target-gcc-headers-can-be-included.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0021-Ensure-target-gcc-headers-can-be-included.patch deleted file mode 100644 index 58b4d1aa6..000000000 --- a/poky/meta/recipes-devtools/gcc/gcc-8.3/0021-Ensure-target-gcc-headers-can-be-included.patch +++ /dev/null @@ -1,98 +0,0 @@ -From 94cc995cee76a9d59204a900fcaa2afb2eaa75c2 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Fri, 20 Feb 2015 10:25:11 +0000 -Subject: [PATCH 21/40] Ensure target gcc headers can be included - -There are a few headers installed as part of the OpenEmbedded -gcc-runtime target (omp.h, ssp/*.h). Being installed from a recipe -built for the target architecture, these are within the target -sysroot and not cross/nativesdk; thus they weren't able to be -found by gcc with the existing search paths. Add support for -picking up these headers under the sysroot supplied on the gcc -command line in order to resolve this. - -Upstream-Status: Pending - -Signed-off-by: Paul Eggleton -Signed-off-by: Khem Raj ---- - gcc/Makefile.in | 2 ++ - gcc/cppdefault.c | 4 ++++ - gcc/defaults.h | 9 +++++++++ - gcc/gcc.c | 7 ------- - 4 files changed, 15 insertions(+), 7 deletions(-) - -diff --git a/gcc/Makefile.in b/gcc/Makefile.in -index 71a8275c39f..aa4adc3db24 100644 ---- a/gcc/Makefile.in -+++ b/gcc/Makefile.in -@@ -614,6 +614,7 @@ libexecdir = @libexecdir@ - - # Directory in which the compiler finds libraries etc. - libsubdir = $(libdir)/gcc/$(real_target_noncanonical)/$(version)$(accel_dir_suffix) -+libsubdir_target = $(target_noncanonical)/$(version) - # Directory in which the compiler finds executables - libexecsubdir = $(libexecdir)/gcc/$(real_target_noncanonical)/$(version)$(accel_dir_suffix) - # Directory in which all plugin resources are installed -@@ -2870,6 +2871,7 @@ CFLAGS-intl.o += -DLOCALEDIR=\"$(localedir)\" - - PREPROCESSOR_DEFINES = \ - -DGCC_INCLUDE_DIR=\"$(libsubdir)/include\" \ -+ -DGCC_INCLUDE_SUBDIR_TARGET=\"$(libsubdir_target)/include\" \ - -DFIXED_INCLUDE_DIR=\"$(libsubdir)/include-fixed\" \ - -DGPLUSPLUS_INCLUDE_DIR=\"$(gcc_gxx_include_dir)\" \ - -DGPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT=$(gcc_gxx_include_dir_add_sysroot) \ -diff --git a/gcc/cppdefault.c b/gcc/cppdefault.c -index b36a979d5ba..e2e187dedaf 100644 ---- a/gcc/cppdefault.c -+++ b/gcc/cppdefault.c -@@ -59,6 +59,10 @@ const struct default_include cpp_include_defaults[] - /* This is the dir for gcc's private headers. */ - { GCC_INCLUDE_DIR, "GCC", 0, 0, 0, 0 }, - #endif -+#ifdef GCC_INCLUDE_SUBDIR_TARGET -+ /* This is the dir for gcc's private headers under the specified sysroot. */ -+ { STANDARD_STARTFILE_PREFIX_2 GCC_INCLUDE_SUBDIR_TARGET, "GCC", 0, 0, 1, 0 }, -+#endif - #ifdef LOCAL_INCLUDE_DIR - /* /usr/local/include comes before the fixincluded header files. */ - { LOCAL_INCLUDE_DIR, 0, 0, 1, 1, 2 }, -diff --git a/gcc/defaults.h b/gcc/defaults.h -index 9035b333be8..5982bbda61d 100644 ---- a/gcc/defaults.h -+++ b/gcc/defaults.h -@@ -1455,4 +1455,13 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see - #define DWARF_GNAT_ENCODINGS_DEFAULT DWARF_GNAT_ENCODINGS_GDB - #endif - -+/* Default prefixes to attach to command names. */ -+ -+#ifndef STANDARD_STARTFILE_PREFIX_1 -+#define STANDARD_STARTFILE_PREFIX_1 "/lib/" -+#endif -+#ifndef STANDARD_STARTFILE_PREFIX_2 -+#define STANDARD_STARTFILE_PREFIX_2 "/usr/lib/" -+#endif -+ - #endif /* ! GCC_DEFAULTS_H */ -diff --git a/gcc/gcc.c b/gcc/gcc.c -index 570cdc00034..3fb64d453f1 100644 ---- a/gcc/gcc.c -+++ b/gcc/gcc.c -@@ -1464,13 +1464,6 @@ static const char *gcc_libexec_prefix; - - /* Default prefixes to attach to command names. */ - --#ifndef STANDARD_STARTFILE_PREFIX_1 --#define STANDARD_STARTFILE_PREFIX_1 "/lib/" --#endif --#ifndef STANDARD_STARTFILE_PREFIX_2 --#define STANDARD_STARTFILE_PREFIX_2 "/usr/lib/" --#endif -- - #ifdef CROSS_DIRECTORY_STRUCTURE /* Don't use these prefixes for a cross compiler. */ - #undef MD_EXEC_PREFIX - #undef MD_STARTFILE_PREFIX --- -2.22.1 - diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0022-gcc-4.8-won-t-build-with-disable-dependency-tracking.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0022-gcc-4.8-won-t-build-with-disable-dependency-tracking.patch deleted file mode 100644 index 6f0d3f11d..000000000 --- a/poky/meta/recipes-devtools/gcc/gcc-8.3/0022-gcc-4.8-won-t-build-with-disable-dependency-tracking.patch +++ /dev/null @@ -1,54 +0,0 @@ -From bc192f0a07ad819dee93446c5ef6895d9550d92d Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Fri, 20 Feb 2015 11:17:19 +0000 -Subject: [PATCH 22/40] gcc 4.8+ won't build with --disable-dependency-tracking - -since the *.Ppo files don't get created unless --enable-dependency-tracking is true. - -This patch ensures we only use those compiler options when its enabled. - -Upstream-Status: Submitted - -(Problem was already reported upstream, attached this patch there -http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55930) - -RP -2012/09/22 - -Signed-off-by: Khem Raj ---- - libatomic/Makefile.am | 3 ++- - libatomic/Makefile.in | 3 ++- - 2 files changed, 4 insertions(+), 2 deletions(-) - -diff --git a/libatomic/Makefile.am b/libatomic/Makefile.am -index 803b292cce5..b47842eb590 100644 ---- a/libatomic/Makefile.am -+++ b/libatomic/Makefile.am -@@ -101,7 +101,8 @@ PAT_S = $(word 3,$(PAT_SPLIT)) - IFUNC_DEF = -DIFUNC_ALT=$(PAT_S) - IFUNC_OPT = $(word $(PAT_S),$(IFUNC_OPTIONS)) - --M_DEPS = -MT $@ -MD -MP -MF $(DEPDIR)/$(@F).Ppo -+@AMDEP_TRUE@M_DEPS = -MT $@ -MD -MP -MF $(DEPDIR)/$(@F).Ppo -+@AMDEP_FALSE@M_DEPS = - M_SIZE = -DN=$(PAT_N) - M_IFUNC = $(if $(PAT_S),$(IFUNC_DEF) $(IFUNC_OPT)) - M_FILE = $(PAT_BASE)_n.c -diff --git a/libatomic/Makefile.in b/libatomic/Makefile.in -index c8f38be5835..4fab7cec3ea 100644 ---- a/libatomic/Makefile.in -+++ b/libatomic/Makefile.in -@@ -335,7 +335,8 @@ PAT_N = $(word 2,$(PAT_SPLIT)) - PAT_S = $(word 3,$(PAT_SPLIT)) - IFUNC_DEF = -DIFUNC_ALT=$(PAT_S) - IFUNC_OPT = $(word $(PAT_S),$(IFUNC_OPTIONS)) --M_DEPS = -MT $@ -MD -MP -MF $(DEPDIR)/$(@F).Ppo -+@AMDEP_TRUE@M_DEPS = -MT $@ -MD -MP -MF $(DEPDIR)/$(@F).Ppo -+@AMDEP_FALSE@M_DEPS = - M_SIZE = -DN=$(PAT_N) - M_IFUNC = $(if $(PAT_S),$(IFUNC_DEF) $(IFUNC_OPT)) - M_FILE = $(PAT_BASE)_n.c --- -2.21.0 - diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0023-Don-t-search-host-directory-during-relink-if-inst_pr.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0023-Don-t-search-host-directory-during-relink-if-inst_pr.patch deleted file mode 100644 index fe3f3436f..000000000 --- a/poky/meta/recipes-devtools/gcc/gcc-8.3/0023-Don-t-search-host-directory-during-relink-if-inst_pr.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 0409d2dd7322ecbed731cbe29b034fea43c5dddc Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Tue, 3 Mar 2015 08:21:19 +0000 -Subject: [PATCH 23/40] Don't search host directory during "relink" if - $inst_prefix is provided - -http://lists.gnu.org/archive/html/libtool-patches/2011-01/msg00026.html - -Upstream-Status: Submitted - -Signed-off-by: Khem Raj ---- - ltmain.sh | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -diff --git a/ltmain.sh b/ltmain.sh -index 52bdbdb5f9c..82bcec39f05 100644 ---- a/ltmain.sh -+++ b/ltmain.sh -@@ -6004,12 +6004,13 @@ func_mode_link () - fi - else - # We cannot seem to hardcode it, guess we'll fake it. -+ # Default if $libdir is not relative to the prefix: - add_dir="-L$libdir" -- # Try looking first in the location we're being installed to. -+ - if test -n "$inst_prefix_dir"; then - case $libdir in - [\\/]*) -- add_dir="$add_dir -L$inst_prefix_dir$libdir" -+ add_dir="-L$inst_prefix_dir$libdir" - ;; - esac - fi --- -2.21.0 - diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0024-Use-SYSTEMLIBS_DIR-replacement-instead-of-hardcoding.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0024-Use-SYSTEMLIBS_DIR-replacement-instead-of-hardcoding.patch deleted file mode 100644 index c388a0ad0..000000000 --- a/poky/meta/recipes-devtools/gcc/gcc-8.3/0024-Use-SYSTEMLIBS_DIR-replacement-instead-of-hardcoding.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 56e2e1fc2a27c4a5cc9b471d5d0af90bcb871bfa Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Tue, 28 Apr 2015 23:15:27 -0700 -Subject: [PATCH 24/40] Use SYSTEMLIBS_DIR replacement instead of hardcoding base_libdir - -Upstream-Status: Pending - -Signed-off-by: Khem Raj ---- - gcc/config/aarch64/aarch64-linux.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/gcc/config/aarch64/aarch64-linux.h b/gcc/config/aarch64/aarch64-linux.h -index bf1327e98cc..64436183bc8 100644 ---- a/gcc/config/aarch64/aarch64-linux.h -+++ b/gcc/config/aarch64/aarch64-linux.h -@@ -21,7 +21,7 @@ - #ifndef GCC_AARCH64_LINUX_H - #define GCC_AARCH64_LINUX_H - --#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux-aarch64%{mbig-endian:_be}%{mabi=ilp32:_ilp32}.so.1" -+#define GLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-linux-aarch64%{mbig-endian:_be}%{mabi=ilp32:_ilp32}.so.1" - - #undef MUSL_DYNAMIC_LINKER - #define MUSL_DYNAMIC_LINKER "/lib/ld-musl-aarch64%{mbig-endian:_be}%{mabi=ilp32:_ilp32}.so.1" --- -2.21.0 - diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0025-aarch64-Add-support-for-musl-ldso.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0025-aarch64-Add-support-for-musl-ldso.patch deleted file mode 100644 index 03f9725b8..000000000 --- a/poky/meta/recipes-devtools/gcc/gcc-8.3/0025-aarch64-Add-support-for-musl-ldso.patch +++ /dev/null @@ -1,28 +0,0 @@ -From b142e77e44e1acece6da54ccdc24c4da89cf4b99 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Tue, 28 Apr 2015 23:18:39 -0700 -Subject: [PATCH 25/40] aarch64: Add support for musl ldso - -Upstream-Status: Pending - -Signed-off-by: Khem Raj ---- - gcc/config/aarch64/aarch64-linux.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/gcc/config/aarch64/aarch64-linux.h b/gcc/config/aarch64/aarch64-linux.h -index 64436183bc8..ba156676026 100644 ---- a/gcc/config/aarch64/aarch64-linux.h -+++ b/gcc/config/aarch64/aarch64-linux.h -@@ -24,7 +24,7 @@ - #define GLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-linux-aarch64%{mbig-endian:_be}%{mabi=ilp32:_ilp32}.so.1" - - #undef MUSL_DYNAMIC_LINKER --#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-aarch64%{mbig-endian:_be}%{mabi=ilp32:_ilp32}.so.1" -+#define MUSL_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-musl-aarch64%{mbig-endian:_be}%{mabi=ilp32:_ilp32}.so.1" - - #undef ASAN_CC1_SPEC - #define ASAN_CC1_SPEC "%{%:sanitize(address):-funwind-tables}" --- -2.21.0 - diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0026-libcc1-fix-libcc1-s-install-path-and-rpath.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0026-libcc1-fix-libcc1-s-install-path-and-rpath.patch deleted file mode 100644 index 859173896..000000000 --- a/poky/meta/recipes-devtools/gcc/gcc-8.3/0026-libcc1-fix-libcc1-s-install-path-and-rpath.patch +++ /dev/null @@ -1,54 +0,0 @@ -From 3d4e53fc7cd71ce1181af8a5e9655398857af741 Mon Sep 17 00:00:00 2001 -From: Robert Yang -Date: Sun, 5 Jul 2015 20:25:18 -0700 -Subject: [PATCH 26/40] libcc1: fix libcc1's install path and rpath - -* Install libcc1.so and libcc1plugin.so into - $(libexecdir)/gcc/$(target_noncanonical)/$(gcc_version), as what we - had done to lto-plugin. -* Fix bad RPATH iussue: - gcc-5.2.0: package gcc-plugins contains bad RPATH /patht/to/tmp/sysroots/qemux86-64/usr/lib64/../lib64 in file - /path/to/gcc/5.2.0-r0/packages-split/gcc-plugins/usr/lib64/gcc/x86_64-poky-linux/5.2.0/plugin/libcc1plugin.so.0.0.0 - [rpaths] - -Upstream-Status: Inappropriate [OE configuration] - -Signed-off-by: Robert Yang ---- - libcc1/Makefile.am | 4 ++-- - libcc1/Makefile.in | 4 ++-- - 2 files changed, 4 insertions(+), 4 deletions(-) - -diff --git a/libcc1/Makefile.am b/libcc1/Makefile.am -index 6ecb66b4365..634cce3c2a9 100644 ---- a/libcc1/Makefile.am -+++ b/libcc1/Makefile.am -@@ -37,8 +37,8 @@ libiberty = $(if $(wildcard $(libiberty_noasan)),$(Wc)$(libiberty_noasan), \ - $(Wc)$(libiberty_normal))) - libiberty_dep = $(patsubst $(Wc)%,%,$(libiberty)) - --plugindir = $(libdir)/gcc/$(target_noncanonical)/$(gcc_version)/plugin --cc1libdir = $(libdir)/$(libsuffix) -+cc1libdir = $(libexecdir)/gcc/$(target_noncanonical)/$(gcc_version) -+plugindir = $(cc1libdir) - - if ENABLE_PLUGIN - plugin_LTLIBRARIES = libcc1plugin.la libcp1plugin.la -diff --git a/libcc1/Makefile.in b/libcc1/Makefile.in -index 47be10025ad..8d5481d87bd 100644 ---- a/libcc1/Makefile.in -+++ b/libcc1/Makefile.in -@@ -303,8 +303,8 @@ libiberty = $(if $(wildcard $(libiberty_noasan)),$(Wc)$(libiberty_noasan), \ - $(Wc)$(libiberty_normal))) - - libiberty_dep = $(patsubst $(Wc)%,%,$(libiberty)) --plugindir = $(libdir)/gcc/$(target_noncanonical)/$(gcc_version)/plugin --cc1libdir = $(libdir)/$(libsuffix) -+cc1libdir = $(libexecdir)/gcc/$(target_noncanonical)/$(gcc_version) -+plugindir = $(cc1libdir) - @ENABLE_PLUGIN_TRUE@plugin_LTLIBRARIES = libcc1plugin.la libcp1plugin.la - @ENABLE_PLUGIN_TRUE@cc1lib_LTLIBRARIES = libcc1.la - shared_source = callbacks.cc callbacks.hh connection.cc connection.hh \ --- -2.21.0 - diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0027-handle-sysroot-support-for-nativesdk-gcc.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0027-handle-sysroot-support-for-nativesdk-gcc.patch deleted file mode 100644 index 4b955de8a..000000000 --- a/poky/meta/recipes-devtools/gcc/gcc-8.3/0027-handle-sysroot-support-for-nativesdk-gcc.patch +++ /dev/null @@ -1,213 +0,0 @@ -From c033c1df11b692213d03db91d6cc145b4adedfac Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Mon, 7 Dec 2015 23:39:54 +0000 -Subject: [PATCH 27/40] handle sysroot support for nativesdk-gcc - -Being able to build a nativesdk gcc is useful, particularly in cases -where the host compiler may be of an incompatible version (or a 32 -bit compiler is needed). - -Sadly, building nativesdk-gcc is not straight forward. We install -nativesdk-gcc into a relocatable location and this means that its -library locations can change. "Normal" sysroot support doesn't help -in this case since the values of paths like "libdir" change, not just -base root directory of the system. - -In order to handle this we do two things: - -a) Add %r into spec file markup which can be used for injected paths - such as SYSTEMLIBS_DIR (see gcc_multilib_setup()). -b) Add other paths which need relocation into a .gccrelocprefix section - which the relocation code will notice and adjust automatically. - -Upstream-Status: Inappropriate -RP 2015/7/28 - -Signed-off-by: Khem Raj ---- - gcc/cppdefault.c | 50 +++++++++++++++++++++++++++++++++++------------- - gcc/cppdefault.h | 3 ++- - gcc/gcc.c | 20 +++++++++++++------ - 3 files changed, 53 insertions(+), 20 deletions(-) - -diff --git a/gcc/cppdefault.c b/gcc/cppdefault.c -index e2e187dedaf..2faba2b1d63 100644 ---- a/gcc/cppdefault.c -+++ b/gcc/cppdefault.c -@@ -35,6 +35,30 @@ - # undef CROSS_INCLUDE_DIR - #endif - -+static char GPLUSPLUS_INCLUDE_DIRVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = GPLUSPLUS_INCLUDE_DIR; -+static char GCC_INCLUDE_DIRVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = GCC_INCLUDE_DIR; -+static char GPLUSPLUS_TOOL_INCLUDE_DIRVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = GPLUSPLUS_TOOL_INCLUDE_DIR; -+static char GPLUSPLUS_BACKWARD_INCLUDE_DIRVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = GPLUSPLUS_BACKWARD_INCLUDE_DIR; -+static char STANDARD_STARTFILE_PREFIX_2VAR[4096] __attribute__ ((section (".gccrelocprefix"))) = STANDARD_STARTFILE_PREFIX_2 GCC_INCLUDE_SUBDIR_TARGET; -+#ifdef LOCAL_INCLUDE_DIR -+static char LOCAL_INCLUDE_DIRVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = LOCAL_INCLUDE_DIR; -+#endif -+#ifdef PREFIX_INCLUDE_DIR -+static char PREFIX_INCLUDE_DIRVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = PREFIX_INCLUDE_DIR; -+#endif -+#ifdef FIXED_INCLUDE_DIR -+static char FIXED_INCLUDE_DIRVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = FIXED_INCLUDE_DIR; -+#endif -+#ifdef CROSS_INCLUDE_DIR -+static char CROSS_INCLUDE_DIRVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = CROSS_INCLUDE_DIR; -+#endif -+#ifdef TOOL_INCLUDE_DIR -+static char TOOL_INCLUDE_DIRVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = TOOL_INCLUDE_DIR; -+#endif -+#ifdef NATIVE_SYSTEM_HEADER_DIR -+static char NATIVE_SYSTEM_HEADER_DIRVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = NATIVE_SYSTEM_HEADER_DIR; -+#endif -+ - const struct default_include cpp_include_defaults[] - #ifdef INCLUDE_DEFAULTS - = INCLUDE_DEFAULTS; -@@ -42,38 +66,38 @@ const struct default_include cpp_include_defaults[] - = { - #ifdef GPLUSPLUS_INCLUDE_DIR - /* Pick up GNU C++ generic include files. */ -- { GPLUSPLUS_INCLUDE_DIR, "G++", 1, 1, -+ { GPLUSPLUS_INCLUDE_DIRVAR, "G++", 1, 1, - GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT, 0 }, - #endif - #ifdef GPLUSPLUS_TOOL_INCLUDE_DIR - /* Pick up GNU C++ target-dependent include files. */ -- { GPLUSPLUS_TOOL_INCLUDE_DIR, "G++", 1, 1, -+ { GPLUSPLUS_TOOL_INCLUDE_DIRVAR, "G++", 1, 1, - GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT, 1 }, - #endif - #ifdef GPLUSPLUS_BACKWARD_INCLUDE_DIR - /* Pick up GNU C++ backward and deprecated include files. */ -- { GPLUSPLUS_BACKWARD_INCLUDE_DIR, "G++", 1, 1, -+ { GPLUSPLUS_BACKWARD_INCLUDE_DIRVAR, "G++", 1, 1, - GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT, 0 }, - #endif - #ifdef GCC_INCLUDE_DIR - /* This is the dir for gcc's private headers. */ -- { GCC_INCLUDE_DIR, "GCC", 0, 0, 0, 0 }, -+ { GCC_INCLUDE_DIRVAR, "GCC", 0, 0, 0, 0 }, - #endif - #ifdef GCC_INCLUDE_SUBDIR_TARGET - /* This is the dir for gcc's private headers under the specified sysroot. */ -- { STANDARD_STARTFILE_PREFIX_2 GCC_INCLUDE_SUBDIR_TARGET, "GCC", 0, 0, 1, 0 }, -+ { STANDARD_STARTFILE_PREFIX_2VAR, "GCC", 0, 0, 1, 0 }, - #endif - #ifdef LOCAL_INCLUDE_DIR - /* /usr/local/include comes before the fixincluded header files. */ -- { LOCAL_INCLUDE_DIR, 0, 0, 1, 1, 2 }, -- { LOCAL_INCLUDE_DIR, 0, 0, 1, 1, 0 }, -+ { LOCAL_INCLUDE_DIRVAR, 0, 0, 1, 1, 2 }, -+ { LOCAL_INCLUDE_DIRVAR, 0, 0, 1, 1, 0 }, - #endif - #ifdef PREFIX_INCLUDE_DIR -- { PREFIX_INCLUDE_DIR, 0, 0, 1, 0, 0 }, -+ { PREFIX_INCLUDE_DIRVAR, 0, 0, 1, 0, 0 }, - #endif - #ifdef FIXED_INCLUDE_DIR - /* This is the dir for fixincludes. */ -- { FIXED_INCLUDE_DIR, "GCC", 0, 0, 0, -+ { FIXED_INCLUDE_DIRVAR, "GCC", 0, 0, 0, - /* A multilib suffix needs adding if different multilibs use - different headers. */ - #ifdef SYSROOT_HEADERS_SUFFIX_SPEC -@@ -85,16 +109,16 @@ const struct default_include cpp_include_defaults[] - #endif - #ifdef CROSS_INCLUDE_DIR - /* One place the target system's headers might be. */ -- { CROSS_INCLUDE_DIR, "GCC", 0, 0, 0, 0 }, -+ { CROSS_INCLUDE_DIRVAR, "GCC", 0, 0, 0, 0 }, - #endif - #ifdef TOOL_INCLUDE_DIR - /* Another place the target system's headers might be. */ -- { TOOL_INCLUDE_DIR, "BINUTILS", 0, 1, 0, 0 }, -+ { TOOL_INCLUDE_DIRVAR, "BINUTILS", 0, 1, 0, 0 }, - #endif - #ifdef NATIVE_SYSTEM_HEADER_DIR - /* /usr/include comes dead last. */ -- { NATIVE_SYSTEM_HEADER_DIR, NATIVE_SYSTEM_HEADER_COMPONENT, 0, 0, 1, 2 }, -- { NATIVE_SYSTEM_HEADER_DIR, NATIVE_SYSTEM_HEADER_COMPONENT, 0, 0, 1, 0 }, -+ { NATIVE_SYSTEM_HEADER_DIRVAR, NATIVE_SYSTEM_HEADER_COMPONENT, 0, 0, 1, 2 }, -+ { NATIVE_SYSTEM_HEADER_DIRVAR, NATIVE_SYSTEM_HEADER_COMPONENT, 0, 0, 1, 0 }, - #endif - { 0, 0, 0, 0, 0, 0 } - }; -diff --git a/gcc/cppdefault.h b/gcc/cppdefault.h -index 4a0186d1cf2..29e5d9da0dc 100644 ---- a/gcc/cppdefault.h -+++ b/gcc/cppdefault.h -@@ -33,7 +33,8 @@ - - struct default_include - { -- const char *const fname; /* The name of the directory. */ -+ const char *fname; /* The name of the directory. */ -+ - const char *const component; /* The component containing the directory - (see update_path in prefix.c) */ - const char cplusplus; /* Only look here if we're compiling C++. */ -diff --git a/gcc/gcc.c b/gcc/gcc.c -index 3fb64d453f1..cd0c7fbe961 100644 ---- a/gcc/gcc.c -+++ b/gcc/gcc.c -@@ -248,6 +248,8 @@ FILE *report_times_to_file = NULL; - #endif - static const char *target_system_root = DEFAULT_TARGET_SYSTEM_ROOT; - -+static char target_relocatable_prefix[4096] __attribute__ ((section (".gccrelocprefix"))) = SYSTEMLIBS_DIR; -+ - /* Nonzero means pass the updated target_system_root to the compiler. */ - - static int target_system_root_changed; -@@ -519,6 +521,7 @@ or with constant text in a single argument. - %G process LIBGCC_SPEC as a spec. - %R Output the concatenation of target_system_root and - target_sysroot_suffix. -+ %r Output the base path target_relocatable_prefix - %S process STARTFILE_SPEC as a spec. A capital S is actually used here. - %E process ENDFILE_SPEC as a spec. A capital E is actually used here. - %C process CPP_SPEC as a spec. -@@ -1487,10 +1490,10 @@ static const char *gcc_libexec_prefix; - gcc_exec_prefix is set because, in that case, we know where the - compiler has been installed, and use paths relative to that - location instead. */ --static const char *const standard_exec_prefix = STANDARD_EXEC_PREFIX; --static const char *const standard_libexec_prefix = STANDARD_LIBEXEC_PREFIX; --static const char *const standard_bindir_prefix = STANDARD_BINDIR_PREFIX; --static const char *const standard_startfile_prefix = STANDARD_STARTFILE_PREFIX; -+static char standard_exec_prefix[4096] __attribute__ ((section (".gccrelocprefix"))) = STANDARD_EXEC_PREFIX; -+static char standard_libexec_prefix[4096] __attribute__ ((section (".gccrelocprefix"))) = STANDARD_LIBEXEC_PREFIX; -+static char standard_bindir_prefix[4096] __attribute__ ((section (".gccrelocprefix"))) = STANDARD_BINDIR_PREFIX; -+static char *const standard_startfile_prefix = STANDARD_STARTFILE_PREFIX; - - /* For native compilers, these are well-known paths containing - components that may be provided by the system. For cross -@@ -1498,9 +1501,9 @@ static const char *const standard_startfile_prefix = STANDARD_STARTFILE_PREFIX; - static const char *md_exec_prefix = MD_EXEC_PREFIX; - static const char *md_startfile_prefix = MD_STARTFILE_PREFIX; - static const char *md_startfile_prefix_1 = MD_STARTFILE_PREFIX_1; --static const char *const standard_startfile_prefix_1 -+static char standard_startfile_prefix_1[4096] __attribute__ ((section (".gccrelocprefix"))) - = STANDARD_STARTFILE_PREFIX_1; --static const char *const standard_startfile_prefix_2 -+static char standard_startfile_prefix_2[4096] __attribute__ ((section (".gccrelocprefix"))) - = STANDARD_STARTFILE_PREFIX_2; - - /* A relative path to be used in finding the location of tools -@@ -5849,6 +5852,11 @@ do_spec_1 (const char *spec, int inswitch, const char *soft_matched_part) - } - break; - -+ case 'r': -+ obstack_grow (&obstack, target_relocatable_prefix, -+ strlen (target_relocatable_prefix)); -+ break; -+ - case 'S': - value = do_spec_1 (startfile_spec, 0, NULL); - if (value != 0) --- -2.21.0 - diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0028-Search-target-sysroot-gcc-version-specific-dirs-with.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0028-Search-target-sysroot-gcc-version-specific-dirs-with.patch deleted file mode 100644 index 1b25d7808..000000000 --- a/poky/meta/recipes-devtools/gcc/gcc-8.3/0028-Search-target-sysroot-gcc-version-specific-dirs-with.patch +++ /dev/null @@ -1,102 +0,0 @@ -From 62240d4c725ea0b43abfb901ddad90e83e29a25c Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Mon, 7 Dec 2015 23:41:45 +0000 -Subject: [PATCH 28/40] Search target sysroot gcc version specific dirs with - multilib. - -We install the gcc libraries (such as crtbegin.p) into -//5.2.0/ -which is a default search path for GCC (aka multi_suffix in the -code below). is 'machine' in gcc's terminology. We use -these directories so that multiple gcc versions could in theory -co-exist on target. - -We only want to build one gcc-cross-canadian per arch and have this work -for all multilibs. can be handled by mapping the multilib - to the one used by gcc-cross-canadian, e.g. -mips64-polkmllib32-linux -is symlinked to by mips64-poky-linux. - -The default gcc search path in the target sysroot for a "lib64" mutlilib -is: - -/lib32/mips64-poky-linux/5.2.0/ -/lib32/../lib64/ -/usr/lib32/mips64-poky-linux/5.2.0/ -/usr/lib32/../lib64/ -/lib32/ -/usr/lib32/ - -which means that the lib32 crtbegin.o will be found and the lib64 ones -will not which leads to compiler failures. - -This patch injects a multilib version of that path first so the lib64 -binaries can be found first. With this change the search path becomes: - -/lib32/../lib64/mips64-poky-linux/5.2.0/ -/lib32/mips64-poky-linux/5.2.0/ -/lib32/../lib64/ -/usr/lib32/../lib64/mips64-poky-linux/5.2.0/ -/usr/lib32/mips64-poky-linux/5.2.0/ -/usr/lib32/../lib64/ -/lib32/ -/usr/lib32/ - -Upstream-Status: Pending -RP 2015/7/31 - -Signed-off-by: Khem Raj ---- - gcc/gcc.c | 29 ++++++++++++++++++++++++++++- - 1 file changed, 28 insertions(+), 1 deletion(-) - -diff --git a/gcc/gcc.c b/gcc/gcc.c -index cd0c7fbe961..f6f3aa077c8 100644 ---- a/gcc/gcc.c -+++ b/gcc/gcc.c -@@ -2527,7 +2527,7 @@ for_each_path (const struct path_prefix *paths, - if (path == NULL) - { - len = paths->max_len + extra_space + 1; -- len += MAX (MAX (suffix_len, multi_os_dir_len), multiarch_len); -+ len += MAX ((suffix_len + multi_os_dir_len), multiarch_len); - path = XNEWVEC (char, len); - } - -@@ -2539,6 +2539,33 @@ for_each_path (const struct path_prefix *paths, - /* Look first in MACHINE/VERSION subdirectory. */ - if (!skip_multi_dir) - { -+ if (!(pl->os_multilib ? skip_multi_os_dir : skip_multi_dir)) -+ { -+ const char *this_multi; -+ size_t this_multi_len; -+ -+ if (pl->os_multilib) -+ { -+ this_multi = multi_os_dir; -+ this_multi_len = multi_os_dir_len; -+ } -+ else -+ { -+ this_multi = multi_dir; -+ this_multi_len = multi_dir_len; -+ } -+ -+ /* Look in multilib MACHINE/VERSION subdirectory first */ -+ if (this_multi_len) -+ { -+ memcpy (path + len, this_multi, this_multi_len + 1); -+ memcpy (path + len + this_multi_len, multi_suffix, suffix_len + 1); -+ ret = callback (path, callback_info); -+ if (ret) -+ break; -+ } -+ } -+ - memcpy (path + len, multi_suffix, suffix_len + 1); - ret = callback (path, callback_info); - if (ret) --- -2.21.0 - diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0029-Fix-various-_FOR_BUILD-and-related-variables.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0029-Fix-various-_FOR_BUILD-and-related-variables.patch deleted file mode 100644 index 0c8bdb17d..000000000 --- a/poky/meta/recipes-devtools/gcc/gcc-8.3/0029-Fix-various-_FOR_BUILD-and-related-variables.patch +++ /dev/null @@ -1,137 +0,0 @@ -From 1377c738e31a1e1599cfab189485a9459f803e79 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Mon, 7 Dec 2015 23:42:45 +0000 -Subject: [PATCH 29/40] Fix various _FOR_BUILD and related variables - -When doing a FOR_BUILD thing, you have to override CFLAGS with -CFLAGS_FOR_BUILD. And if you use C++, you also have to override -CXXFLAGS with CXXFLAGS_FOR_BUILD. -Without this, when building for mingw, you end up trying to use -the mingw headers for a host build. - -The same goes for other variables as well, such as CPPFLAGS, -CPP, and GMPINC. - -Upstream-Status: Pending - -Signed-off-by: Peter Seebach -Signed-off-by: Mark Hatle -Signed-off-by: Khem Raj ---- - Makefile.in | 6 ++++++ - Makefile.tpl | 5 +++++ - gcc/Makefile.in | 2 +- - gcc/configure | 2 +- - gcc/configure.ac | 2 +- - 5 files changed, 14 insertions(+), 3 deletions(-) - -diff --git a/Makefile.in b/Makefile.in -index b426d4f9350..a2af9905cce 100644 ---- a/Makefile.in -+++ b/Makefile.in -@@ -152,6 +152,7 @@ BUILD_EXPORTS = \ - CPP="$(CC_FOR_BUILD) -E"; export CPP; \ - CFLAGS="$(CFLAGS_FOR_BUILD)"; export CFLAGS; \ - CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ -+ CPPFLAGS="$(CPPFLAGS_FOR_BUILD)"; export CPPFLAGS; \ - CXX="$(CXX_FOR_BUILD)"; export CXX; \ - CXXFLAGS="$(CXXFLAGS_FOR_BUILD)"; export CXXFLAGS; \ - GFORTRAN="$(GFORTRAN_FOR_BUILD)"; export GFORTRAN; \ -@@ -169,6 +170,9 @@ BUILD_EXPORTS = \ - # built for the build system to override those in BASE_FLAGS_TO_PASS. - EXTRA_BUILD_FLAGS = \ - CFLAGS="$(CFLAGS_FOR_BUILD)" \ -+ CXXFLAGS="$(CXXFLAGS_FOR_BUILD)" \ -+ CPP="$(CC_FOR_BUILD) -E" \ -+ CPPFLAGS="$(CPPFLAGS_FOR_BUILD)" \ - LDFLAGS="$(LDFLAGS_FOR_BUILD)" - - # This is the list of directories to built for the host system. -@@ -186,6 +190,7 @@ HOST_SUBDIR = @host_subdir@ - HOST_EXPORTS = \ - $(BASE_EXPORTS) \ - CC="$(CC)"; export CC; \ -+ CPP="$(CC) -E"; export CPP; \ - ADA_CFLAGS="$(ADA_CFLAGS)"; export ADA_CFLAGS; \ - CFLAGS="$(CFLAGS)"; export CFLAGS; \ - CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ -@@ -743,6 +748,7 @@ BASE_FLAGS_TO_PASS = \ - "CC_FOR_BUILD=$(CC_FOR_BUILD)" \ - "CFLAGS_FOR_BUILD=$(CFLAGS_FOR_BUILD)" \ - "CXX_FOR_BUILD=$(CXX_FOR_BUILD)" \ -+ "CXXFLAGS_FOR_BUILD=$(CXXFLAGS_FOR_BUILD)" \ - "EXPECT=$(EXPECT)" \ - "FLEX=$(FLEX)" \ - "INSTALL=$(INSTALL)" \ -diff --git a/Makefile.tpl b/Makefile.tpl -index 1f23b79b4b2..6c5652e811d 100644 ---- a/Makefile.tpl -+++ b/Makefile.tpl -@@ -154,6 +154,7 @@ BUILD_EXPORTS = \ - CC="$(CC_FOR_BUILD)"; export CC; \ - CFLAGS="$(CFLAGS_FOR_BUILD)"; export CFLAGS; \ - CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ -+ CPPFLAGS="$(CPPFLAGS_FOR_BUILD)"; export CPPFLAGS; \ - CXX="$(CXX_FOR_BUILD)"; export CXX; \ - CXXFLAGS="$(CXXFLAGS_FOR_BUILD)"; export CXXFLAGS; \ - GFORTRAN="$(GFORTRAN_FOR_BUILD)"; export GFORTRAN; \ -@@ -171,6 +172,9 @@ BUILD_EXPORTS = \ - # built for the build system to override those in BASE_FLAGS_TO_PASS. - EXTRA_BUILD_FLAGS = \ - CFLAGS="$(CFLAGS_FOR_BUILD)" \ -+ CXXFLAGS="$(CXXFLAGS_FOR_BUILD)" \ -+ CPP="$(CC_FOR_BUILD) -E" \ -+ CPPFLAGS="$(CPPFLAGS_FOR_BUILD)" \ - LDFLAGS="$(LDFLAGS_FOR_BUILD)" - - # This is the list of directories to built for the host system. -@@ -188,6 +192,7 @@ HOST_SUBDIR = @host_subdir@ - HOST_EXPORTS = \ - $(BASE_EXPORTS) \ - CC="$(CC)"; export CC; \ -+ CPP="$(CC) -E"; export CPP; \ - ADA_CFLAGS="$(ADA_CFLAGS)"; export ADA_CFLAGS; \ - CFLAGS="$(CFLAGS)"; export CFLAGS; \ - CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ -diff --git a/gcc/Makefile.in b/gcc/Makefile.in -index 5ae693fb06c..02ee0aa72f4 100644 ---- a/gcc/Makefile.in -+++ b/gcc/Makefile.in -@@ -801,7 +801,7 @@ BUILD_LDFLAGS=@BUILD_LDFLAGS@ - BUILD_NO_PIE_FLAG = @BUILD_NO_PIE_FLAG@ - BUILD_LDFLAGS += $(BUILD_NO_PIE_FLAG) - BUILD_CPPFLAGS= -I. -I$(@D) -I$(srcdir) -I$(srcdir)/$(@D) \ -- -I$(srcdir)/../include @INCINTL@ $(CPPINC) $(CPPFLAGS) -+ -I$(srcdir)/../include @INCINTL@ $(CPPINC) $(CPPFLAGS_FOR_BUILD) - - # Actual name to use when installing a native compiler. - GCC_INSTALL_NAME := $(shell echo gcc|sed '$(program_transform_name)') -diff --git a/gcc/configure b/gcc/configure -index 3d9dcbdc93d..aa127a4f6a4 100755 ---- a/gcc/configure -+++ b/gcc/configure -@@ -11797,7 +11797,7 @@ else - CC="${CC_FOR_BUILD}" CFLAGS="${CFLAGS_FOR_BUILD}" \ - CXX="${CXX_FOR_BUILD}" CXXFLAGS="${CXXFLAGS_FOR_BUILD}" \ - LD="${LD_FOR_BUILD}" LDFLAGS="${LDFLAGS_FOR_BUILD}" \ -- GMPINC="" CPPFLAGS="${CPPFLAGS} -DGENERATOR_FILE" \ -+ GMPINC="" CPPFLAGS="${CPPFLAGS_FOR_BUILD} -DGENERATOR_FILE" \ - ${realsrcdir}/configure \ - --enable-languages=${enable_languages-all} \ - --target=$target_alias --host=$build_alias --build=$build_alias -diff --git a/gcc/configure.ac b/gcc/configure.ac -index e09c840b605..18bf53c7e0a 100644 ---- a/gcc/configure.ac -+++ b/gcc/configure.ac -@@ -1708,7 +1708,7 @@ else - CC="${CC_FOR_BUILD}" CFLAGS="${CFLAGS_FOR_BUILD}" \ - CXX="${CXX_FOR_BUILD}" CXXFLAGS="${CXXFLAGS_FOR_BUILD}" \ - LD="${LD_FOR_BUILD}" LDFLAGS="${LDFLAGS_FOR_BUILD}" \ -- GMPINC="" CPPFLAGS="${CPPFLAGS} -DGENERATOR_FILE" \ -+ GMPINC="" CPPFLAGS="${CPPFLAGS_FOR_BUILD} -DGENERATOR_FILE" \ - ${realsrcdir}/configure \ - --enable-languages=${enable_languages-all} \ - --target=$target_alias --host=$build_alias --build=$build_alias --- -2.21.0 - diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0030-nios2-Define-MUSL_DYNAMIC_LINKER.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0030-nios2-Define-MUSL_DYNAMIC_LINKER.patch deleted file mode 100644 index 04e126c5c..000000000 --- a/poky/meta/recipes-devtools/gcc/gcc-8.3/0030-nios2-Define-MUSL_DYNAMIC_LINKER.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 75da3cc9ca2d3de8c2062f23bf4f72415741ef83 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Tue, 2 Feb 2016 10:26:10 -0800 -Subject: [PATCH 30/40] nios2: Define MUSL_DYNAMIC_LINKER - -Upstream-Status: Pending - -Signed-off-by: Marek Vasut -Signed-off-by: Khem Raj ---- - gcc/config/nios2/linux.h | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/gcc/config/nios2/linux.h b/gcc/config/nios2/linux.h -index 4729105626d..36181eb7b85 100644 ---- a/gcc/config/nios2/linux.h -+++ b/gcc/config/nios2/linux.h -@@ -30,6 +30,7 @@ - #define CPP_SPEC "%{posix:-D_POSIX_SOURCE} %{pthread:-D_REENTRANT}" - - #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux-nios2.so.1" -+#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-nios2.so.1" - - #undef LINK_SPEC - #define LINK_SPEC LINK_SPEC_ENDIAN \ --- -2.21.0 - diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0031-Add-ssp_nonshared-to-link-commandline-for-musl-targe.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0031-Add-ssp_nonshared-to-link-commandline-for-musl-targe.patch deleted file mode 100644 index 002cf2bec..000000000 --- a/poky/meta/recipes-devtools/gcc/gcc-8.3/0031-Add-ssp_nonshared-to-link-commandline-for-musl-targe.patch +++ /dev/null @@ -1,87 +0,0 @@ -From f715aeef294b85fa593ef69e6d0114cc7b15312b Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Tue, 27 Jun 2017 18:10:54 -0700 -Subject: [PATCH 31/40] Add ssp_nonshared to link commandline for musl targets - -when -fstack-protector options are enabled we need to -link with ssp_shared on musl since it does not provide -the __stack_chk_fail_local() so essentially it provides -libssp but not libssp_nonshared something like -TARGET_LIBC_PROVIDES_SSP_BUT_NOT_SSP_NONSHARED - where-as for glibc the needed symbols -are already present in libc_nonshared library therefore -we do not need any library helper on glibc based systems -but musl needs the libssp_noshared from gcc - -Upstream-Status: Pending - -Signed-off-by: Khem Raj ---- - gcc/config/linux.h | 7 +++++++ - gcc/config/rs6000/linux.h | 10 ++++++++++ - gcc/config/rs6000/linux64.h | 10 ++++++++++ - 3 files changed, 27 insertions(+) - -diff --git a/gcc/config/linux.h b/gcc/config/linux.h -index 487b0c0923b..4769d089538 100644 ---- a/gcc/config/linux.h -+++ b/gcc/config/linux.h -@@ -182,6 +182,13 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see - { GCC_INCLUDE_DIR, "GCC", 0, 1, 0, 0 }, \ - { 0, 0, 0, 0, 0, 0 } \ - } -+#ifdef TARGET_LIBC_PROVIDES_SSP -+#undef LINK_SSP_SPEC -+#define LINK_SSP_SPEC "%{fstack-protector|fstack-protector-all" \ -+ "|fstack-protector-strong|fstack-protector-explicit" \ -+ ":-lssp_nonshared}" -+#endif -+ - #endif - - #if (DEFAULT_LIBC == LIBC_UCLIBC) && defined (SINGLE_LIBC) /* uClinux */ -diff --git a/gcc/config/rs6000/linux.h b/gcc/config/rs6000/linux.h -index 01b40c762f6..e7c5e92215c 100644 ---- a/gcc/config/rs6000/linux.h -+++ b/gcc/config/rs6000/linux.h -@@ -92,6 +92,16 @@ - " -m elf32ppclinux") - #endif - -+/* link libssp_nonshared.a with musl */ -+#if DEFAULT_LIBC == LIBC_MUSL -+#ifdef TARGET_LIBC_PROVIDES_SSP -+#undef LINK_SSP_SPEC -+#define LINK_SSP_SPEC "%{fstack-protector|fstack-protector-all" \ -+ "|fstack-protector-strong|fstack-protector-explicit" \ -+ ":-lssp_nonshared}" -+#endif -+#endif -+ - #undef LINK_OS_LINUX_SPEC - #define LINK_OS_LINUX_SPEC LINK_OS_LINUX_EMUL " %{!shared: %{!static: \ - %{!static-pie: \ -diff --git a/gcc/config/rs6000/linux64.h b/gcc/config/rs6000/linux64.h -index 54aa8d957e7..619e113e2b8 100644 ---- a/gcc/config/rs6000/linux64.h -+++ b/gcc/config/rs6000/linux64.h -@@ -466,6 +466,16 @@ extern int dot_symbols; - " -m elf64ppc") - #endif - -+/* link libssp_nonshared.a with musl */ -+#if DEFAULT_LIBC == LIBC_MUSL -+#ifdef TARGET_LIBC_PROVIDES_SSP -+#undef LINK_SSP_SPEC -+#define LINK_SSP_SPEC "%{fstack-protector|fstack-protector-all" \ -+ "|fstack-protector-strong|fstack-protector-explicit" \ -+ ":-lssp_nonshared}" -+#endif -+#endif -+ - #define LINK_OS_LINUX_SPEC32 LINK_OS_LINUX_EMUL32 " %{!shared: %{!static: \ - %{!static-pie: \ - %{rdynamic:-export-dynamic} \ --- -2.21.0 - diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0032-libgcc-Add-knob-to-use-ldbl-128-on-ppc.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0032-libgcc-Add-knob-to-use-ldbl-128-on-ppc.patch deleted file mode 100644 index 025caba31..000000000 --- a/poky/meta/recipes-devtools/gcc/gcc-8.3/0032-libgcc-Add-knob-to-use-ldbl-128-on-ppc.patch +++ /dev/null @@ -1,125 +0,0 @@ -From 6dfbca78b8d253aecf9cbb5e68e04b8dd3d6a543 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Fri, 29 Apr 2016 20:03:28 +0000 -Subject: [PATCH 32/40] libgcc: Add knob to use ldbl-128 on ppc - -musl does not support ldbl 128 so we can not assume -that linux as a whole supports ldbl-128 bits, instead -act upon configure option passed to gcc and assume no -on musl and yes otherwise if no option is passed since -default behaviour is to assume ldbl128 it does not -change the defaults - -Upstream-Status: Pending - -Signed-off-by: Khem Raj ---- - libgcc/Makefile.in | 1 + - libgcc/config/rs6000/t-linux | 5 ++++- - libgcc/configure | 18 ++++++++++++++++++ - libgcc/configure.ac | 12 ++++++++++++ - 4 files changed, 35 insertions(+), 1 deletion(-) - mode change 100644 => 100755 libgcc/configure - -diff --git a/libgcc/Makefile.in b/libgcc/Makefile.in -index dd8cee99fd3..b5f478af382 100644 ---- a/libgcc/Makefile.in -+++ b/libgcc/Makefile.in -@@ -48,6 +48,7 @@ unwind_header = @unwind_header@ - md_unwind_header = @md_unwind_header@ - sfp_machine_header = @sfp_machine_header@ - thread_header = @thread_header@ -+with_ldbl128 = @with_ldbl128@ - - host_noncanonical = @host_noncanonical@ - real_host_noncanonical = @real_host_noncanonical@ -diff --git a/libgcc/config/rs6000/t-linux b/libgcc/config/rs6000/t-linux -index 4f6d4c4a4d2..c50dd94a2da 100644 ---- a/libgcc/config/rs6000/t-linux -+++ b/libgcc/config/rs6000/t-linux -@@ -1,3 +1,6 @@ - SHLIB_MAPFILES += $(srcdir)/config/rs6000/libgcc-glibc.ver - --HOST_LIBGCC2_CFLAGS += -mlong-double-128 -mno-minimal-toc -+ifeq ($(with_ldbl128),yes) -+HOST_LIBGCC2_CFLAGS += -mlong-double-128 -+endif -+HOST_LIBGCC2_CFLAGS += -mno-minimal-toc -diff --git a/libgcc/configure b/libgcc/configure -old mode 100644 -new mode 100755 -index b2f3f870844..ed806587c17 ---- a/libgcc/configure -+++ b/libgcc/configure -@@ -619,6 +619,7 @@ build_vendor - build_cpu - build - with_aix_soname -+with_ldbl128 - enable_vtable_verify - enable_shared - libgcc_topdir -@@ -668,6 +669,7 @@ with_cross_host - with_ld - enable_shared - enable_vtable_verify -+with_long_double_128 - with_aix_soname - enable_version_specific_runtime_libs - with_slibdir -@@ -1329,6 +1331,7 @@ Optional Packages: - --with-target-subdir=SUBDIR Configuring in a subdirectory for target - --with-cross-host=HOST Configuring with a cross compiler - --with-ld arrange to use the specified ld (full pathname) -+ --with-long-double-128 use 128-bit long double by default - --with-aix-soname=aix|svr4|both - shared library versioning (aka "SONAME") variant to - provide on AIX -@@ -2213,6 +2216,21 @@ fi - - - -+# Check whether --with-long-double-128 was given. -+if test "${with_long_double_128+set}" = set; then : -+ withval=$with_long_double_128; with_ldbl128="$with_long_double_128" -+else -+ case "${host}" in -+ power*-*-musl*) -+ with_ldbl128="no";; -+ *) with_ldbl128="yes";; -+ esac -+ -+fi -+ -+ -+ -+ - # Check whether --with-aix-soname was given. - if test "${with_aix_soname+set}" = set; then : - withval=$with_aix_soname; case "${host}:${enable_shared}" in -diff --git a/libgcc/configure.ac b/libgcc/configure.ac -index b59aa746afc..42220a263c5 100644 ---- a/libgcc/configure.ac -+++ b/libgcc/configure.ac -@@ -78,6 +78,18 @@ AC_ARG_ENABLE(vtable-verify, - [enable_vtable_verify=no]) - AC_SUBST(enable_vtable_verify) - -+AC_ARG_WITH(long-double-128, -+[AS_HELP_STRING([--with-long-double-128], -+ [use 128-bit long double by default])], -+ with_ldbl128="$with_long_double_128", -+[case "${host}" in -+ power*-*-musl*) -+ with_ldbl128="no";; -+ *) with_ldbl128="yes";; -+ esac -+]) -+AC_SUBST(with_ldbl128) -+ - AC_ARG_WITH(aix-soname, - [AS_HELP_STRING([--with-aix-soname=aix|svr4|both], - [shared library versioning (aka "SONAME") variant to provide on AIX])], --- -2.21.0 - diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0033-Link-libgcc-using-LDFLAGS-not-just-SHLIB_LDFLAGS.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0033-Link-libgcc-using-LDFLAGS-not-just-SHLIB_LDFLAGS.patch deleted file mode 100644 index 343f7aad1..000000000 --- a/poky/meta/recipes-devtools/gcc/gcc-8.3/0033-Link-libgcc-using-LDFLAGS-not-just-SHLIB_LDFLAGS.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 7e55147e8e609ace6f9eecd86a956636687671f0 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Wed, 4 May 2016 21:11:34 -0700 -Subject: [PATCH 33/40] Link libgcc using LDFLAGS, not just SHLIB_LDFLAGS - -Upstream-Status: Pending - -Signed-off-by: Christopher Larson -Signed-off-by: Khem Raj ---- - libgcc/config/t-slibgcc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/libgcc/config/t-slibgcc b/libgcc/config/t-slibgcc -index 7e60b621a2d..ea22ede3361 100644 ---- a/libgcc/config/t-slibgcc -+++ b/libgcc/config/t-slibgcc -@@ -32,7 +32,7 @@ SHLIB_INSTALL_SOLINK = $(LN_S) $(SHLIB_SONAME) \ - $(DESTDIR)$(slibdir)$(SHLIB_SLIBDIR_QUAL)/$(SHLIB_SOLINK) - - SHLIB_LINK = $(CC) $(LIBGCC2_CFLAGS) -shared -nodefaultlibs \ -- $(SHLIB_LDFLAGS) \ -+ $(LDFLAGS) $(SHLIB_LDFLAGS) \ - -o $(SHLIB_DIR)/$(SHLIB_SONAME).tmp @multilib_flags@ \ - $(SHLIB_OBJS) $(SHLIB_LC) && \ - rm -f $(SHLIB_DIR)/$(SHLIB_SOLINK) && \ --- -2.21.0 - diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0034-libgcc_s-Use-alias-for-__cpu_indicator_init-instead-.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0034-libgcc_s-Use-alias-for-__cpu_indicator_init-instead-.patch deleted file mode 100644 index 92224cc56..000000000 --- a/poky/meta/recipes-devtools/gcc/gcc-8.3/0034-libgcc_s-Use-alias-for-__cpu_indicator_init-instead-.patch +++ /dev/null @@ -1,85 +0,0 @@ -From 46ca51dd413330bb8425b06283e7667bfb507c3d Mon Sep 17 00:00:00 2001 -From: Szabolcs Nagy -Date: Sat, 24 Oct 2015 20:09:53 +0000 -Subject: [PATCH 34/40] libgcc_s: Use alias for __cpu_indicator_init instead of symver - -Adapter from - -https://gcc.gnu.org/ml/gcc-patches/2015-05/msg00899.html - -This fix was debated but hasnt been applied gcc upstream since -they expect musl to support '@' in symbol versioning which is -a sun/gnu versioning extention. This patch however avoids the -need for the '@' symbols at all - -libgcc/Changelog: - -2015-05-11 Szabolcs Nagy - - * config/i386/cpuinfo.c (__cpu_indicator_init_local): Add. - (__cpu_indicator_init@GCC_4.8.0, __cpu_model@GCC_4.8.0): Remove. - - * config/i386/t-linux (HOST_LIBGCC2_CFLAGS): Remove -DUSE_ELF_SYMVER. - -gcc/Changelog: - -2015-05-11 Szabolcs Nagy - - * config/i386/i386.c (ix86_expand_builtin): Make __builtin_cpu_init - call __cpu_indicator_init_local instead of __cpu_indicator_init. - -Upstream-Status: Pending - -Signed-off-by: Khem Raj ---- - gcc/config/i386/i386.c | 4 ++-- - libgcc/config/i386/cpuinfo.c | 6 +++--- - libgcc/config/i386/t-linux | 2 +- - 3 files changed, 6 insertions(+), 6 deletions(-) - -diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c -index a88a29b51e6..6f3f5187970 100644 ---- a/gcc/config/i386/i386.c -+++ b/gcc/config/i386/i386.c -@@ -36555,10 +36555,10 @@ ix86_expand_builtin (tree exp, rtx target, rtx subtarget, - { - case IX86_BUILTIN_CPU_INIT: - { -- /* Make it call __cpu_indicator_init in libgcc. */ -+ /* Make it call __cpu_indicator_init_local in libgcc.a. */ - tree call_expr, fndecl, type; - type = build_function_type_list (integer_type_node, NULL_TREE); -- fndecl = build_fn_decl ("__cpu_indicator_init", type); -+ fndecl = build_fn_decl ("__cpu_indicator_init_local", type); - call_expr = build_call_expr (fndecl, 0); - return expand_expr (call_expr, target, mode, EXPAND_NORMAL); - } -diff --git a/libgcc/config/i386/cpuinfo.c b/libgcc/config/i386/cpuinfo.c -index d1853d5515b..864150c9249 100644 ---- a/libgcc/config/i386/cpuinfo.c -+++ b/libgcc/config/i386/cpuinfo.c -@@ -485,7 +485,7 @@ __cpu_indicator_init (void) - return 0; - } - --#if defined SHARED && defined USE_ELF_SYMVER --__asm__ (".symver __cpu_indicator_init, __cpu_indicator_init@GCC_4.8.0"); --__asm__ (".symver __cpu_model, __cpu_model@GCC_4.8.0"); -+#ifndef SHARED -+int __cpu_indicator_init_local (void) -+ __attribute__ ((weak, alias ("__cpu_indicator_init"))); - #endif -diff --git a/libgcc/config/i386/t-linux b/libgcc/config/i386/t-linux -index 8506a635790..564296f788e 100644 ---- a/libgcc/config/i386/t-linux -+++ b/libgcc/config/i386/t-linux -@@ -3,5 +3,5 @@ - # t-slibgcc-elf-ver and t-linux - SHLIB_MAPFILES = libgcc-std.ver $(srcdir)/config/i386/libgcc-glibc.ver - --HOST_LIBGCC2_CFLAGS += -mlong-double-80 -DUSE_ELF_SYMVER $(CET_FLAGS) -+HOST_LIBGCC2_CFLAGS += -mlong-double-80 $(CET_FLAGS) - CRTSTUFF_T_CFLAGS += $(CET_FLAGS) --- -2.21.0 - diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0035-sync-gcc-stddef.h-with-musl.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0035-sync-gcc-stddef.h-with-musl.patch deleted file mode 100644 index 6ecd6e972..000000000 --- a/poky/meta/recipes-devtools/gcc/gcc-8.3/0035-sync-gcc-stddef.h-with-musl.patch +++ /dev/null @@ -1,91 +0,0 @@ -From 38d401fb6ab555d09f4a9a677721dde0743876e1 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Fri, 3 Feb 2017 12:56:00 -0800 -Subject: [PATCH 35/40] sync gcc stddef.h with musl - -musl defines ptrdiff_t size_t and wchar_t -so dont define them here if musl is definining them - -Upstream-Status: Pending - -Signed-off-by: Khem Raj ---- - gcc/ginclude/stddef.h | 9 +++++++++ - 1 file changed, 9 insertions(+) - -diff --git a/gcc/ginclude/stddef.h b/gcc/ginclude/stddef.h -index 31b96a7e5e1..438a3ce7c56 100644 ---- a/gcc/ginclude/stddef.h -+++ b/gcc/ginclude/stddef.h -@@ -134,6 +134,7 @@ _TYPE_wchar_t; - #ifndef ___int_ptrdiff_t_h - #ifndef _GCC_PTRDIFF_T - #ifndef _PTRDIFF_T_DECLARED /* DragonFly */ -+#ifndef __DEFINED_ptrdiff_t /* musl */ - #define _PTRDIFF_T - #define _T_PTRDIFF_ - #define _T_PTRDIFF -@@ -143,10 +144,12 @@ _TYPE_wchar_t; - #define ___int_ptrdiff_t_h - #define _GCC_PTRDIFF_T - #define _PTRDIFF_T_DECLARED -+#define __DEFINED_ptrdiff_t /* musl */ - #ifndef __PTRDIFF_TYPE__ - #define __PTRDIFF_TYPE__ long int - #endif - typedef __PTRDIFF_TYPE__ ptrdiff_t; -+#endif /* __DEFINED_ptrdiff_t */ - #endif /* _PTRDIFF_T_DECLARED */ - #endif /* _GCC_PTRDIFF_T */ - #endif /* ___int_ptrdiff_t_h */ -@@ -184,6 +187,7 @@ typedef __PTRDIFF_TYPE__ ptrdiff_t; - #ifndef _GCC_SIZE_T - #ifndef _SIZET_ - #ifndef __size_t -+#ifndef __DEFINED_size_t /* musl */ - #define __size_t__ /* BeOS */ - #define __SIZE_T__ /* Cray Unicos/Mk */ - #define _SIZE_T -@@ -200,6 +204,7 @@ typedef __PTRDIFF_TYPE__ ptrdiff_t; - #define ___int_size_t_h - #define _GCC_SIZE_T - #define _SIZET_ -+#define __DEFINED_size_t /* musl */ - #if (defined (__FreeBSD__) && (__FreeBSD__ >= 5)) \ - || defined(__DragonFly__) \ - || defined(__FreeBSD_kernel__) -@@ -235,6 +240,7 @@ typedef long ssize_t; - #endif /* _SIZE_T */ - #endif /* __SIZE_T__ */ - #endif /* __size_t__ */ -+#endif /* __DEFINED_size_t */ - #undef __need_size_t - #endif /* _STDDEF_H or __need_size_t. */ - -@@ -264,6 +270,7 @@ typedef long ssize_t; - #ifndef ___int_wchar_t_h - #ifndef __INT_WCHAR_T_H - #ifndef _GCC_WCHAR_T -+#ifndef __DEFINED_wchar_t /* musl */ - #define __wchar_t__ /* BeOS */ - #define __WCHAR_T__ /* Cray Unicos/Mk */ - #define _WCHAR_T -@@ -279,6 +286,7 @@ typedef long ssize_t; - #define __INT_WCHAR_T_H - #define _GCC_WCHAR_T - #define _WCHAR_T_DECLARED -+#define __DEFINED_wchar_t /* musl */ - - /* On BSD/386 1.1, at least, machine/ansi.h defines _BSD_WCHAR_T_ - instead of _WCHAR_T_, and _BSD_RUNE_T_ (which, unlike the other -@@ -344,6 +352,7 @@ typedef __WCHAR_TYPE__ wchar_t; - #endif - #endif /* __WCHAR_T__ */ - #endif /* __wchar_t__ */ -+#endif /* __DEFINED_wchar_t musl */ - #undef __need_wchar_t - #endif /* _STDDEF_H or __need_wchar_t. */ - --- -2.21.0 - diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0036-fix-segmentation-fault-in-precompiled-header-generat.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0036-fix-segmentation-fault-in-precompiled-header-generat.patch deleted file mode 100644 index c4ce5db55..000000000 --- a/poky/meta/recipes-devtools/gcc/gcc-8.3/0036-fix-segmentation-fault-in-precompiled-header-generat.patch +++ /dev/null @@ -1,60 +0,0 @@ -From a9bb29a4e9b478f9b126e483467ce9031c33fe4f Mon Sep 17 00:00:00 2001 -From: Juro Bystricky -Date: Mon, 19 Mar 2018 22:31:20 -0700 -Subject: [PATCH 36/40] fix segmentation fault in precompiled header generation - -Prevent a segmentation fault which occurs when using incorrect -structure trying to access name of some named operators, such as -CPP_NOT, CPP_AND etc. "token->val.node.spelling" cannot be used in -those cases, as is may not be initialized at all. - -[YOCTO #11738] - -Upstream-Status: Pending - -Signed-off-by: Juro Bystricky -Signed-off-by: Khem Raj ---- - libcpp/lex.c | 26 +++++++++++++++++++++----- - 1 file changed, 21 insertions(+), 5 deletions(-) - -diff --git a/libcpp/lex.c b/libcpp/lex.c -index 37c365a3560..63480048db6 100644 ---- a/libcpp/lex.c -+++ b/libcpp/lex.c -@@ -3279,11 +3279,27 @@ cpp_spell_token (cpp_reader *pfile, const cpp_token *token, - spell_ident: - case SPELL_IDENT: - if (forstring) -- { -- memcpy (buffer, NODE_NAME (token->val.node.spelling), -- NODE_LEN (token->val.node.spelling)); -- buffer += NODE_LEN (token->val.node.spelling); -- } -+ { -+ if (token->type == CPP_NAME) -+ { -+ memcpy (buffer, NODE_NAME (token->val.node.spelling), -+ NODE_LEN (token->val.node.spelling)); -+ buffer += NODE_LEN (token->val.node.spelling); -+ break; -+ } -+ /* NAMED_OP, cannot use node.spelling */ -+ if (token->flags & NAMED_OP) -+ { -+ const char *str = cpp_named_operator2name (token->type); -+ if (str) -+ { -+ size_t len = strlen(str); -+ memcpy(buffer, str, len); -+ buffer += len; -+ } -+ break; -+ } -+ } - else - buffer = _cpp_spell_ident_ucns (buffer, token->val.node.node); - break; --- -2.21.0 - diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0037-Fix-for-testsuite-failure.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0037-Fix-for-testsuite-failure.patch deleted file mode 100644 index 70999dd45..000000000 --- a/poky/meta/recipes-devtools/gcc/gcc-8.3/0037-Fix-for-testsuite-failure.patch +++ /dev/null @@ -1,258 +0,0 @@ -From 1e5c1ef34d92b4157e1a24ca743d45f3a7375a5e Mon Sep 17 00:00:00 2001 -From: RAGHUNATH LOLUR -Date: Wed, 6 Dec 2017 22:52:26 -0800 -Subject: [PATCH 37/40] Fix for testsuite failure - -2017-11-16 Raghunath Lolur - - * gcc.dg/pr56275.c: If SSE is disabled, ensure that - "-mfpmath" is not set to use SSE. Set "-mfpmath=387". - * gcc.dg/pr68306.c: Likewise - * gcc.dg/pr68306-2.c: Likewise - * gcc.dg/pr68306-3.c: Likewise - * gcc.dg/pr69634.c: Likewise - * gcc.target/i386/amd64-abi-1.c: Likewise - * gcc.target/i386/funcspec-6.c: Likewise - * gcc.target/i386/interrupt-387-err-1.c: Likewise - * gcc.target/i386/isa-14.c: Likewise - * gcc.target/i386/pr44948-2b.c: Likewise - * gcc.target/i386/pr53425-1.c: Likewise - * gcc.target/i386/pr53425-2.c: Likewise - * gcc.target/i386/pr55247.c: Likewise - * gcc.target/i386/pr59644.c: Likewise - * gcc.target/i386/pr62120.c: Likewise - * gcc.target/i386/pr70467-1.c: Likewise - * gcc.target/i386/warn-vect-op-1.c: Likewise - -If -Wall, -Werror are used during compilation various test cases fail -to compile. - -If SSE is disabled, be sure to -mfpmath=387 to resolve this. - -This patch removes the changes to Changelog from the original patch. -This will help us avoid conflicts. - -Upstream-Status: Pending - -Signed-off-by: Mark Hatle ---- - gcc/testsuite/gcc.dg/pr56275.c | 2 +- - gcc/testsuite/gcc.dg/pr68306-2.c | 2 +- - gcc/testsuite/gcc.dg/pr68306-3.c | 2 +- - gcc/testsuite/gcc.dg/pr68306.c | 2 +- - gcc/testsuite/gcc.dg/pr69634.c | 2 +- - gcc/testsuite/gcc.target/i386/amd64-abi-1.c | 2 +- - gcc/testsuite/gcc.target/i386/funcspec-6.c | 1 + - gcc/testsuite/gcc.target/i386/interrupt-387-err-1.c | 2 +- - gcc/testsuite/gcc.target/i386/isa-14.c | 2 +- - gcc/testsuite/gcc.target/i386/pr44948-2b.c | 2 +- - gcc/testsuite/gcc.target/i386/pr53425-1.c | 2 +- - gcc/testsuite/gcc.target/i386/pr53425-2.c | 2 +- - gcc/testsuite/gcc.target/i386/pr55247.c | 2 +- - gcc/testsuite/gcc.target/i386/pr59644.c | 2 +- - gcc/testsuite/gcc.target/i386/pr62120.c | 2 +- - gcc/testsuite/gcc.target/i386/pr70467-1.c | 2 +- - gcc/testsuite/gcc.target/i386/warn-vect-op-1.c | 2 +- - 17 files changed, 17 insertions(+), 16 deletions(-) - -diff --git a/gcc/testsuite/gcc.dg/pr56275.c b/gcc/testsuite/gcc.dg/pr56275.c -index b901bb2b199..a4f6c95e1a1 100644 ---- a/gcc/testsuite/gcc.dg/pr56275.c -+++ b/gcc/testsuite/gcc.dg/pr56275.c -@@ -1,6 +1,6 @@ - /* { dg-do compile } */ - /* { dg-options "-O2" } */ --/* { dg-additional-options "-mno-sse" { target { i?86-*-* x86_64-*-* } } } */ -+/* { dg-additional-options "-mno-sse -mfpmath=387" { target { i?86-*-* x86_64-*-* } } } */ - - typedef long long v2tw __attribute__ ((vector_size (2 * sizeof (long long)))); - -diff --git a/gcc/testsuite/gcc.dg/pr68306-2.c b/gcc/testsuite/gcc.dg/pr68306-2.c -index 4672ebe7987..2a368c484b6 100644 ---- a/gcc/testsuite/gcc.dg/pr68306-2.c -+++ b/gcc/testsuite/gcc.dg/pr68306-2.c -@@ -1,6 +1,6 @@ - /* { dg-do compile } */ - /* { dg-options "-O3" } */ --/* { dg-additional-options "-mno-sse -mno-mmx" { target i?86-*-* x86_64-*-* } } */ -+/* { dg-additional-options "-mno-sse -mno-mmx -mfpmath=387" { target i?86-*-* x86_64-*-* } } */ - - struct { - int tz_minuteswest; -diff --git a/gcc/testsuite/gcc.dg/pr68306-3.c b/gcc/testsuite/gcc.dg/pr68306-3.c -index f5a8c102cf8..df3390c64c2 100644 ---- a/gcc/testsuite/gcc.dg/pr68306-3.c -+++ b/gcc/testsuite/gcc.dg/pr68306-3.c -@@ -1,6 +1,6 @@ - /* { dg-do compile } */ - /* { dg-options "-O3" } */ --/* { dg-additional-options "-mno-sse -mno-mmx" { target i?86-*-* x86_64-*-* } } */ -+/* { dg-additional-options "-mno-sse -mno-mmx -mfpmath=387" { target i?86-*-* x86_64-*-* } } */ - /* { dg-additional-options "-mno-altivec -mno-vsx" { target powerpc*-*-* } } */ - - extern void fn2(); -diff --git a/gcc/testsuite/gcc.dg/pr68306.c b/gcc/testsuite/gcc.dg/pr68306.c -index 54e5b40f221..0813389e2c1 100644 ---- a/gcc/testsuite/gcc.dg/pr68306.c -+++ b/gcc/testsuite/gcc.dg/pr68306.c -@@ -1,6 +1,6 @@ - /* { dg-do compile } */ - /* { dg-options "-O3" } */ --/* { dg-additional-options "-mno-sse -mno-mmx" { target i?86-*-* x86_64-*-* } } */ -+/* { dg-additional-options "-mno-sse -mno-mmx -mfpmath=387" { target i?86-*-* x86_64-*-* } } */ - - enum powerpc_pmc_type { PPC_PMC_IBM }; - struct { -diff --git a/gcc/testsuite/gcc.dg/pr69634.c b/gcc/testsuite/gcc.dg/pr69634.c -index 60a56149463..bcc23f9ccd6 100644 ---- a/gcc/testsuite/gcc.dg/pr69634.c -+++ b/gcc/testsuite/gcc.dg/pr69634.c -@@ -1,6 +1,6 @@ - /* { dg-do compile } */ - /* { dg-options "-O2 -fno-dce -fschedule-insns -fno-tree-vrp -fcompare-debug -Wno-psabi" } */ --/* { dg-additional-options "-mno-sse" { target i?86-*-* x86_64-*-* } } */ -+/* { dg-additional-options "-mno-sse -mfpmath=387" { target i?86-*-* x86_64-*-* } } */ - /* { dg-require-effective-target scheduling } */ - - typedef unsigned short u16; -diff --git a/gcc/testsuite/gcc.target/i386/amd64-abi-1.c b/gcc/testsuite/gcc.target/i386/amd64-abi-1.c -index 69fde57bf06..7f1f1c03edf 100644 ---- a/gcc/testsuite/gcc.target/i386/amd64-abi-1.c -+++ b/gcc/testsuite/gcc.target/i386/amd64-abi-1.c -@@ -1,5 +1,5 @@ - /* { dg-do compile { target { ! ia32 } } } */ --/* { dg-options "-mno-sse" } */ -+/* { dg-options "-mno-sse -mfpmath=387" } */ - /* { dg-additional-options "-mabi=sysv" { target *-*-mingw* } } */ - - double foo(void) { return 0; } /* { dg-error "SSE disabled" } */ -diff --git a/gcc/testsuite/gcc.target/i386/funcspec-6.c b/gcc/testsuite/gcc.target/i386/funcspec-6.c -index ea896b7ebfd..bf15569b826 100644 ---- a/gcc/testsuite/gcc.target/i386/funcspec-6.c -+++ b/gcc/testsuite/gcc.target/i386/funcspec-6.c -@@ -1,6 +1,7 @@ - /* Test whether all of the 64-bit function specific options are accepted - without error. */ - /* { dg-do compile { target { ! ia32 } } } */ -+/* { dg-additional-options "-mfpmath=387" } */ - - #include "funcspec-56.inc" - -diff --git a/gcc/testsuite/gcc.target/i386/interrupt-387-err-1.c b/gcc/testsuite/gcc.target/i386/interrupt-387-err-1.c -index 3fbdc881dda..6b4d9d1252a 100644 ---- a/gcc/testsuite/gcc.target/i386/interrupt-387-err-1.c -+++ b/gcc/testsuite/gcc.target/i386/interrupt-387-err-1.c -@@ -1,5 +1,5 @@ - /* { dg-do compile } */ --/* { dg-options "-O2 -mgeneral-regs-only -mno-cld -mno-iamcu -m80387" } */ -+/* { dg-options "-O2 -mgeneral-regs-only -mno-cld -mno-iamcu -m80387 -mfpmath=387" } */ - - typedef unsigned int uword_t __attribute__ ((mode (__word__))); - -diff --git a/gcc/testsuite/gcc.target/i386/isa-14.c b/gcc/testsuite/gcc.target/i386/isa-14.c -index 5d49e6e77fe..1de2db92bdd 100644 ---- a/gcc/testsuite/gcc.target/i386/isa-14.c -+++ b/gcc/testsuite/gcc.target/i386/isa-14.c -@@ -1,5 +1,5 @@ - /* { dg-do run } */ --/* { dg-options "-march=x86-64 -msse4a -mfma4 -mno-sse" } */ -+/* { dg-options "-march=x86-64 -msse4a -mfma4 -mno-sse -mfpmath=387" } */ - - extern void abort (void); - -diff --git a/gcc/testsuite/gcc.target/i386/pr44948-2b.c b/gcc/testsuite/gcc.target/i386/pr44948-2b.c -index fa1769b62fb..f79fb12726f 100644 ---- a/gcc/testsuite/gcc.target/i386/pr44948-2b.c -+++ b/gcc/testsuite/gcc.target/i386/pr44948-2b.c -@@ -1,5 +1,5 @@ - /* { dg-do compile } */ --/* { dg-options "-O -mno-sse -Wno-psabi -mtune=generic" } */ -+/* { dg-options "-O -mno-sse -Wno-psabi -mtune=generic -mfpmath=387" } */ - - struct A - { -diff --git a/gcc/testsuite/gcc.target/i386/pr53425-1.c b/gcc/testsuite/gcc.target/i386/pr53425-1.c -index 2e89ff7d81d..6339bf6b736 100644 ---- a/gcc/testsuite/gcc.target/i386/pr53425-1.c -+++ b/gcc/testsuite/gcc.target/i386/pr53425-1.c -@@ -1,6 +1,6 @@ - /* PR target/53425 */ - /* { dg-do compile { target { ! ia32 } } } */ --/* { dg-options "-O2 -mno-sse" } */ -+/* { dg-options "-O2 -mno-sse -mfpmath=387" } */ - /* { dg-skip-if "no SSE vector" { x86_64-*-mingw* } } */ - - typedef double __v2df __attribute__ ((__vector_size__ (16))); -diff --git a/gcc/testsuite/gcc.target/i386/pr53425-2.c b/gcc/testsuite/gcc.target/i386/pr53425-2.c -index 61f6283dbe9..2c5a55f0ac3 100644 ---- a/gcc/testsuite/gcc.target/i386/pr53425-2.c -+++ b/gcc/testsuite/gcc.target/i386/pr53425-2.c -@@ -1,6 +1,6 @@ - /* PR target/53425 */ - /* { dg-do compile { target { ! ia32 } } } */ --/* { dg-options "-O2 -mno-sse" } */ -+/* { dg-options "-O2 -mno-sse -mfpmath=387" } */ - /* { dg-skip-if "no SSE vector" { x86_64-*-mingw* } } */ - - typedef float __v2sf __attribute__ ((__vector_size__ (8))); -diff --git a/gcc/testsuite/gcc.target/i386/pr55247.c b/gcc/testsuite/gcc.target/i386/pr55247.c -index 23366d0909d..9810e3abb76 100644 ---- a/gcc/testsuite/gcc.target/i386/pr55247.c -+++ b/gcc/testsuite/gcc.target/i386/pr55247.c -@@ -1,6 +1,6 @@ - /* { dg-do compile { target { ! ia32 } } } */ - /* { dg-require-effective-target maybe_x32 } */ --/* { dg-options "-O2 -mno-sse -mno-mmx -mx32 -maddress-mode=long" } */ -+/* { dg-options "-O2 -mno-sse -mno-mmx -mx32 -maddress-mode=long -mfpmath=387" } */ - - typedef unsigned int uint32_t; - typedef uint32_t Elf32_Word; -diff --git a/gcc/testsuite/gcc.target/i386/pr59644.c b/gcc/testsuite/gcc.target/i386/pr59644.c -index 96006b3e338..4287e4538bf 100644 ---- a/gcc/testsuite/gcc.target/i386/pr59644.c -+++ b/gcc/testsuite/gcc.target/i386/pr59644.c -@@ -1,6 +1,6 @@ - /* PR target/59644 */ - /* { dg-do run { target lp64 } } */ --/* { dg-options "-O2 -ffreestanding -mno-sse -mpreferred-stack-boundary=3 -maccumulate-outgoing-args -mno-red-zone" } */ -+/* { dg-options "-O2 -ffreestanding -mno-sse -mpreferred-stack-boundary=3 -maccumulate-outgoing-args -mno-red-zone -mfpmath=387" } */ - - /* This test uses __builtin_trap () instead of e.g. abort, - because due to -mpreferred-stack-boundary=3 it should not call -diff --git a/gcc/testsuite/gcc.target/i386/pr62120.c b/gcc/testsuite/gcc.target/i386/pr62120.c -index bfb8c4703eb..ed04cf181f3 100644 ---- a/gcc/testsuite/gcc.target/i386/pr62120.c -+++ b/gcc/testsuite/gcc.target/i386/pr62120.c -@@ -1,5 +1,5 @@ - /* { dg-do compile } */ --/* { dg-options "-mno-sse" } */ -+/* { dg-options "-mno-sse -mfpmath=387" } */ - - void foo () - { -diff --git a/gcc/testsuite/gcc.target/i386/pr70467-1.c b/gcc/testsuite/gcc.target/i386/pr70467-1.c -index 4e112c88d07..bcfb396a68d 100644 ---- a/gcc/testsuite/gcc.target/i386/pr70467-1.c -+++ b/gcc/testsuite/gcc.target/i386/pr70467-1.c -@@ -1,6 +1,6 @@ - /* PR rtl-optimization/70467 */ - /* { dg-do compile } */ --/* { dg-options "-O2 -mno-sse" } */ -+/* { dg-options "-O2 -mno-sse -mfpmath=387" } */ - - void foo (unsigned long long *); - -diff --git a/gcc/testsuite/gcc.target/i386/warn-vect-op-1.c b/gcc/testsuite/gcc.target/i386/warn-vect-op-1.c -index 6cda1534311..26e37f5b8ba 100644 ---- a/gcc/testsuite/gcc.target/i386/warn-vect-op-1.c -+++ b/gcc/testsuite/gcc.target/i386/warn-vect-op-1.c -@@ -1,5 +1,5 @@ - /* { dg-do compile { target { ! ia32 } } } */ --/* { dg-options "-mno-sse -Wvector-operation-performance" } */ -+/* { dg-options "-mno-sse -Wvector-operation-performance -mfpmath=387" } */ - #define vector(elcount, type) \ - __attribute__((vector_size((elcount)*sizeof(type)))) type - --- -2.21.0 - diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0038-Re-introduce-spe-commandline-options.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0038-Re-introduce-spe-commandline-options.patch deleted file mode 100644 index 8de8892b8..000000000 --- a/poky/meta/recipes-devtools/gcc/gcc-8.3/0038-Re-introduce-spe-commandline-options.patch +++ /dev/null @@ -1,41 +0,0 @@ -From f0bea96434ac478c3cff8c29dd97cccfac5b35e3 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Wed, 6 Jun 2018 12:10:22 -0700 -Subject: [PATCH 38/40] Re-introduce spe commandline options - -This should ensure that we keep accepting -spe options - -Upstream-Status: Inappropriate [SPE port is removed from rs600 port] - -Signed-off-by: Khem Raj ---- - gcc/config/rs6000/rs6000.opt | 12 ++++++++++++ - 1 file changed, 12 insertions(+) - -diff --git a/gcc/config/rs6000/rs6000.opt b/gcc/config/rs6000/rs6000.opt -index ace8a477550..d6a8f825d88 100644 ---- a/gcc/config/rs6000/rs6000.opt -+++ b/gcc/config/rs6000/rs6000.opt -@@ -365,6 +365,18 @@ mdebug= - Target RejectNegative Joined - -mdebug= Enable debug output. - -+mspe -+Target Var(rs6000_spe) Save -+Generate SPE SIMD instructions on E500. -+ -+mabi=spe -+Target RejectNegative Var(rs6000_spe_abi) Save -+Use the SPE ABI extensions. -+ -+mabi=no-spe -+Target RejectNegative Var(rs6000_spe_abi, 0) -+Do not use the SPE ABI extensions. -+ - mabi=altivec - Target RejectNegative Var(rs6000_altivec_abi) Save - Use the AltiVec ABI extensions. --- -2.21.0 - diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0039-riscv-Disable-multilib-for-OE.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0039-riscv-Disable-multilib-for-OE.patch deleted file mode 100644 index f7b222e81..000000000 --- a/poky/meta/recipes-devtools/gcc/gcc-8.3/0039-riscv-Disable-multilib-for-OE.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 24f74444c00c6c9bf076fb002614ebf6dec31f1a Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Fri, 28 Dec 2018 09:59:53 -0800 -Subject: [PATCH 39/40] riscv: Disable multilib for OE - -Upstream-Status: Inappropriate [OE-Specific] - -Signed-off-by: Khem Raj ---- - gcc/config/riscv/t-linux | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -diff --git a/gcc/config/riscv/t-linux b/gcc/config/riscv/t-linux -index 216d2776a18..e4d817621fc 100644 ---- a/gcc/config/riscv/t-linux -+++ b/gcc/config/riscv/t-linux -@@ -1,3 +1,5 @@ - # Only XLEN and ABI affect Linux multilib dir names, e.g. /lib32/ilp32d/ --MULTILIB_DIRNAMES := $(patsubst rv32%,lib32,$(patsubst rv64%,lib64,$(MULTILIB_DIRNAMES))) --MULTILIB_OSDIRNAMES := $(patsubst lib%,../lib%,$(MULTILIB_DIRNAMES)) -+#MULTILIB_DIRNAMES := $(patsubst rv32%,lib32,$(patsubst rv64%,lib64,$(MULTILIB_DIRNAMES))) -+MULTILIB_DIRNAMES := . . -+#MULTILIB_OSDIRNAMES := $(patsubst lib%,../lib%,$(MULTILIB_DIRNAMES)) -+MULTILIB_OSDIRNAMES := ../$(shell basename $(base_libdir)) ../$(shell basename $(base_libdir)) --- -2.21.0 - diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0040-powerpc-powerpc64-Add-support-for-musl-ldso.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0040-powerpc-powerpc64-Add-support-for-musl-ldso.patch deleted file mode 100644 index 9fba16377..000000000 --- a/poky/meta/recipes-devtools/gcc/gcc-8.3/0040-powerpc-powerpc64-Add-support-for-musl-ldso.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 4bd0a3866f302725cb4eddcaddaeece64900c42f Mon Sep 17 00:00:00 2001 -From: Serhey Popovych -Date: Tue, 11 Dec 2018 02:30:50 -0500 -Subject: [PATCH 40/40] powerpc/powerpc64: Add support for musl ldso - -Upstream-Status: Inappropriate [OE-Specific] - -Signed-off-by: Serhey Popovych ---- - gcc/config/rs6000/linux64.h | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/gcc/config/rs6000/linux64.h b/gcc/config/rs6000/linux64.h -index 619e113e2b8..ee8b44f9374 100644 ---- a/gcc/config/rs6000/linux64.h -+++ b/gcc/config/rs6000/linux64.h -@@ -421,9 +421,9 @@ extern int dot_symbols; - #endif - - #define MUSL_DYNAMIC_LINKER32 \ -- "/lib/ld-musl-powerpc" MUSL_DYNAMIC_LINKER_E "%{msoft-float:-sf}.so.1" -+ SYSTEMLIBS_DIR "ld-musl-powerpc" MUSL_DYNAMIC_LINKER_E "%{msoft-float:-sf}.so.1" - #define MUSL_DYNAMIC_LINKER64 \ -- "/lib/ld-musl-powerpc64" MUSL_DYNAMIC_LINKER_E "%{msoft-float:-sf}.so.1" -+ SYSTEMLIBS_DIR "ld-musl-powerpc64" MUSL_DYNAMIC_LINKER_E "%{msoft-float:-sf}.so.1" - - #define UCLIBC_DYNAMIC_LINKER32 SYSTEMLIBS_DIR "ld-uClibc.so.0" - #define UCLIBC_DYNAMIC_LINKER64 SYSTEMLIBS_DIR "ld64-uClibc.so.0" --- -2.21.0 - diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0041-Add-a-recursion-limit-to-libiberty-s-demangling-code.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0041-Add-a-recursion-limit-to-libiberty-s-demangling-code.patch deleted file mode 100644 index f3303b685..000000000 --- a/poky/meta/recipes-devtools/gcc/gcc-8.3/0041-Add-a-recursion-limit-to-libiberty-s-demangling-code.patch +++ /dev/null @@ -1,325 +0,0 @@ -From e1744e11b1c2b36f91a8847b61bafb8c5e7407ae Mon Sep 17 00:00:00 2001 -From: nickc -Date: Fri, 7 Dec 2018 10:33:30 +0000 -Subject: [PATCH] Add a recursion limit to libiberty's demangling code. The - limit is enabled by default, but can be disabled via a new demangling option. - -include * demangle.h (DMGL_NO_RECURSE_LIMIT): Define. - (DEMANGLE_RECURSION_LIMIT): Define - - PR 87681 - PR 87675 - PR 87636 - PR 87350 - PR 87335 -libiberty * cp-demangle.h (struct d_info): Add recursion_level field. - * cp-demangle.c (d_function_type): Add recursion counter. - If the recursion limit is reached and the check is not disabled, - then return with a failure result. - (cplus_demangle_init_info): Initialise the recursion_level field. - (d_demangle_callback): If the recursion limit is enabled, check - for a mangled string that is so long that there is not enough - stack space for the local arrays. - * cplus-dem.c (struct work): Add recursion_level field. - (squangle_mop_up): Set the numb and numk fields to zero. - (work_stuff_copy_to_from): Handle the case where a btypevec or - ktypevec field is NULL. - (demangle_nested_args): Add recursion counter. If - the recursion limit is not disabled and reached, return with a - failure result. - -git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@266886 138bc75d-0d04-0410-961f-82ee72b054a4 - -CVE: CVE-2018-18484 -Upstream-Status: Backport [https://github.com/gcc-mirror/gcc/commit/03e51746ed98d9106803f6009ebd71ea670ad3b9] -Signed-off-by: Anuj Mittal ---- - include/ChangeLog | 5 +++++ - include/demangle.h | 11 +++++++++++ - libiberty/ChangeLog | 23 ++++++++++++++++++++++ - libiberty/cp-demangle.c | 51 ++++++++++++++++++++++++++++++++++++++----------- - libiberty/cp-demangle.h | 3 +++ - libiberty/cplus-dem.c | 37 +++++++++++++++++++++++++++++++++-- - 6 files changed, 117 insertions(+), 13 deletions(-) - -diff --git a/include/ChangeLog b/include/ChangeLog -index 02ab336..88b0648 100644 ---- a/include/ChangeLog -+++ b/include/ChangeLog -@@ -2,6 +2,11 @@ - - * GCC 8.3.0 released. - -+2018-12-07 Nick Clifton -+ -+ * demangle.h (DMGL_NO_RECURSE_LIMIT): Define. -+ (DEMANGLE_RECURSION_LIMIT): Define -+ - 2018-07-26 Release Manager - - * GCC 8.2.0 released. -diff --git a/include/demangle.h b/include/demangle.h -index b8d57cf..9bb8a19 100644 ---- a/include/demangle.h -+++ b/include/demangle.h -@@ -68,6 +68,17 @@ extern "C" { - /* If none of these are set, use 'current_demangling_style' as the default. */ - #define DMGL_STYLE_MASK (DMGL_AUTO|DMGL_GNU|DMGL_LUCID|DMGL_ARM|DMGL_HP|DMGL_EDG|DMGL_GNU_V3|DMGL_JAVA|DMGL_GNAT|DMGL_DLANG|DMGL_RUST) - -+/* Disable a limit on the depth of recursion in mangled strings. -+ Note if this limit is disabled then stack exhaustion is possible when -+ demangling pathologically complicated strings. Bug reports about stack -+ exhaustion when the option is enabled will be rejected. */ -+#define DMGL_NO_RECURSE_LIMIT (1 << 18) -+ -+/* If DMGL_NO_RECURSE_LIMIT is not enabled, then this is the value used as -+ the maximum depth of recursion allowed. It should be enough for any -+ real-world mangled name. */ -+#define DEMANGLE_RECURSION_LIMIT 1024 -+ - /* Enumeration of possible demangling styles. - - Lucid and ARM styles are still kept logically distinct, even though -diff --git a/libiberty/ChangeLog b/libiberty/ChangeLog -index 1dd05da..2f77038 100644 ---- a/libiberty/ChangeLog -+++ b/libiberty/ChangeLog -@@ -9,6 +9,29 @@ - (simple_object_copy_lto_debug_sections): Create file in binary - mode. - -+2018-12-07 Nick Clifton -+ -+ PR 87681 -+ PR 87675 -+ PR 87636 -+ PR 87350 -+ PR 87335 -+ * cp-demangle.h (struct d_info): Add recursion_level field. -+ * cp-demangle.c (d_function_type): Add recursion counter. -+ If the recursion limit is reached and the check is not disabled, -+ then return with a failure result. -+ (cplus_demangle_init_info): Initialise the recursion_level field. -+ (d_demangle_callback): If the recursion limit is enabled, check -+ for a mangled string that is so long that there is not enough -+ stack space for the local arrays. -+ * cplus-dem.c (struct work): Add recursion_level field. -+ (squangle_mop_up): Set the numb and numk fields to zero. -+ (work_stuff_copy_to_from): Handle the case where a btypevec or -+ ktypevec field is NULL. -+ (demangle_nested_args): Add recursion counter. If -+ the recursion limit is not disabled and reached, return with a -+ failure result. -+ - 2018-07-26 Release Manager - - * GCC 8.2.0 released. -diff --git a/libiberty/cp-demangle.c b/libiberty/cp-demangle.c -index 3f2a097..c374e46 100644 ---- a/libiberty/cp-demangle.c -+++ b/libiberty/cp-demangle.c -@@ -2843,21 +2843,35 @@ d_ref_qualifier (struct d_info *di, struct demangle_component *sub) - static struct demangle_component * - d_function_type (struct d_info *di) - { -- struct demangle_component *ret; -+ struct demangle_component *ret = NULL; - -- if (! d_check_char (di, 'F')) -- return NULL; -- if (d_peek_char (di) == 'Y') -+ if ((di->options & DMGL_NO_RECURSE_LIMIT) == 0) - { -- /* Function has C linkage. We don't print this information. -- FIXME: We should print it in verbose mode. */ -- d_advance (di, 1); -+ if (di->recursion_level > DEMANGLE_RECURSION_LIMIT) -+ /* FIXME: There ought to be a way to report -+ that the recursion limit has been reached. */ -+ return NULL; -+ -+ di->recursion_level ++; - } -- ret = d_bare_function_type (di, 1); -- ret = d_ref_qualifier (di, ret); - -- if (! d_check_char (di, 'E')) -- return NULL; -+ if (d_check_char (di, 'F')) -+ { -+ if (d_peek_char (di) == 'Y') -+ { -+ /* Function has C linkage. We don't print this information. -+ FIXME: We should print it in verbose mode. */ -+ d_advance (di, 1); -+ } -+ ret = d_bare_function_type (di, 1); -+ ret = d_ref_qualifier (di, ret); -+ -+ if (! d_check_char (di, 'E')) -+ ret = NULL; -+ } -+ -+ if ((di->options & DMGL_NO_RECURSE_LIMIT) == 0) -+ di->recursion_level --; - return ret; - } - -@@ -6188,6 +6202,7 @@ cplus_demangle_init_info (const char *mangled, int options, size_t len, - di->expansion = 0; - di->is_expression = 0; - di->is_conversion = 0; -+ di->recursion_level = 0; - } - - /* Internal implementation for the demangler. If MANGLED is a g++ v3 ABI -@@ -6227,6 +6242,20 @@ d_demangle_callback (const char *mangled, int options, - - cplus_demangle_init_info (mangled, options, strlen (mangled), &di); - -+ /* PR 87675 - Check for a mangled string that is so long -+ that we do not have enough stack space to demangle it. */ -+ if (((options & DMGL_NO_RECURSE_LIMIT) == 0) -+ /* This check is a bit arbitrary, since what we really want to do is to -+ compare the sizes of the di.comps and di.subs arrays against the -+ amount of stack space remaining. But there is no portable way to do -+ this, so instead we use the recursion limit as a guide to the maximum -+ size of the arrays. */ -+ && (unsigned long) di.num_comps > DEMANGLE_RECURSION_LIMIT) -+ { -+ /* FIXME: We need a way to indicate that a stack limit has been reached. */ -+ return 0; -+ } -+ - { - #ifdef CP_DYNAMIC_ARRAYS - __extension__ struct demangle_component comps[di.num_comps]; -diff --git a/libiberty/cp-demangle.h b/libiberty/cp-demangle.h -index 51b8a24..d87a830 100644 ---- a/libiberty/cp-demangle.h -+++ b/libiberty/cp-demangle.h -@@ -122,6 +122,9 @@ struct d_info - /* Non-zero if we are parsing the type operand of a conversion - operator, but not when in an expression. */ - int is_conversion; -+ /* If DMGL_NO_RECURSE_LIMIT is not active then this is set to -+ the current recursion level. */ -+ unsigned int recursion_level; - }; - - /* To avoid running past the ending '\0', don't: -diff --git a/libiberty/cplus-dem.c b/libiberty/cplus-dem.c -index 6d58bd8..8b9646f 100644 ---- a/libiberty/cplus-dem.c -+++ b/libiberty/cplus-dem.c -@@ -146,6 +146,7 @@ struct work_stuff - int *proctypevec; /* Indices of currently processed remembered typevecs. */ - int proctypevec_size; - int nproctypes; -+ unsigned int recursion_level; - }; - - #define PRINT_ANSI_QUALIFIERS (work -> options & DMGL_ANSI) -@@ -1292,12 +1293,14 @@ squangle_mop_up (struct work_stuff *work) - free ((char *) work -> btypevec); - work->btypevec = NULL; - work->bsize = 0; -+ work->numb = 0; - } - if (work -> ktypevec != NULL) - { - free ((char *) work -> ktypevec); - work->ktypevec = NULL; - work->ksize = 0; -+ work->numk = 0; - } - } - -@@ -1331,8 +1334,15 @@ work_stuff_copy_to_from (struct work_stuff *to, struct work_stuff *from) - - for (i = 0; i < from->numk; i++) - { -- int len = strlen (from->ktypevec[i]) + 1; -+ int len; -+ -+ if (from->ktypevec[i] == NULL) -+ { -+ to->ktypevec[i] = NULL; -+ continue; -+ } - -+ len = strlen (from->ktypevec[i]) + 1; - to->ktypevec[i] = XNEWVEC (char, len); - memcpy (to->ktypevec[i], from->ktypevec[i], len); - } -@@ -1342,8 +1352,15 @@ work_stuff_copy_to_from (struct work_stuff *to, struct work_stuff *from) - - for (i = 0; i < from->numb; i++) - { -- int len = strlen (from->btypevec[i]) + 1; -+ int len; -+ -+ if (from->btypevec[i] == NULL) -+ { -+ to->btypevec[i] = NULL; -+ continue; -+ } - -+ len = strlen (from->btypevec[i]) + 1; - to->btypevec[i] = XNEWVEC (char , len); - memcpy (to->btypevec[i], from->btypevec[i], len); - } -@@ -1401,6 +1418,7 @@ delete_non_B_K_work_stuff (struct work_stuff *work) - - free ((char*) work->tmpl_argvec); - work->tmpl_argvec = NULL; -+ work->ntmpl_args = 0; - } - if (work->previous_argument) - { -@@ -4477,6 +4495,7 @@ remember_Btype (struct work_stuff *work, const char *start, - } - - /* Lose all the info related to B and K type codes. */ -+ - static void - forget_B_and_K_types (struct work_stuff *work) - { -@@ -4502,6 +4521,7 @@ forget_B_and_K_types (struct work_stuff *work) - } - } - } -+ - /* Forget the remembered types, but not the type vector itself. */ - - static void -@@ -4696,6 +4716,16 @@ demangle_nested_args (struct work_stuff *work, const char **mangled, - int result; - int saved_nrepeats; - -+ if ((work->options & DMGL_NO_RECURSE_LIMIT) == 0) -+ { -+ if (work->recursion_level > DEMANGLE_RECURSION_LIMIT) -+ /* FIXME: There ought to be a way to report -+ that the recursion limit has been reached. */ -+ return 0; -+ -+ work->recursion_level ++; -+ } -+ - /* The G++ name-mangling algorithm does not remember types on nested - argument lists, unless -fsquangling is used, and in that case the - type vector updated by remember_type is not used. So, we turn -@@ -4722,6 +4752,9 @@ demangle_nested_args (struct work_stuff *work, const char **mangled, - --work->forgetting_types; - work->nrepeats = saved_nrepeats; - -+ if ((work->options & DMGL_NO_RECURSE_LIMIT) == 0) -+ --work->recursion_level; -+ - return result; - } - --- -2.7.4 - 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 deleted file mode 100644 index d9b5d39b7..000000000 --- a/poky/meta/recipes-devtools/gcc/gcc-8.3/0042-PR-debug-86964.patch +++ /dev/null @@ -1,94 +0,0 @@ -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 deleted file mode 100644 index f15207f58..000000000 --- a/poky/meta/recipes-devtools/gcc/gcc-8.3/0043-PR85434-Prevent-spilling-of-stack-protector-guard-s-.patch +++ /dev/null @@ -1,813 +0,0 @@ -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-8.3/CVE-2019-14250.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/CVE-2019-14250.patch new file mode 100644 index 000000000..e327684e1 --- /dev/null +++ b/poky/meta/recipes-devtools/gcc/gcc-8.3/CVE-2019-14250.patch @@ -0,0 +1,44 @@ +From a4f1b58eb48b349a5f353bc69c30be553506d33b Mon Sep 17 00:00:00 2001 +From: rguenth +Date: Thu, 25 Jul 2019 10:48:26 +0000 +Subject: [PATCH] 2019-07-25 Richard Biener + + PR lto/90924 + Backport from mainline + 2019-07-12 Ren Kimura + + * simple-object-elf.c (simple_object_elf_match): Check zero value + shstrndx. + + +git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-8-branch@273794 138bc75d-0d04-0410-961f-82ee72b054a4 + +Upstream-Status: Backport +Affectes: < 9.2 +CVE: CVE-2019-14250 +Dropped changelog +Signed-off-by: Armin Kuster + +--- + libiberty/simple-object-elf.c | 8 ++++++++ + 2 files changed, 17 insertions(+) + +Index: gcc-8.2.0/libiberty/simple-object-elf.c +=================================================================== +--- gcc-8.2.0.orig/libiberty/simple-object-elf.c ++++ gcc-8.2.0/libiberty/simple-object-elf.c +@@ -549,6 +549,14 @@ simple_object_elf_match (unsigned char h + return NULL; + } + ++ if (eor->shstrndx == 0) ++ { ++ *errmsg = "invalid ELF shstrndx == 0"; ++ *err = 0; ++ XDELETE (eor); ++ return NULL; ++ } ++ + return (void *) eor; + } + diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.2.inc b/poky/meta/recipes-devtools/gcc/gcc-9.2.inc index 1c3e200da..01d3bf0f3 100644 --- a/poky/meta/recipes-devtools/gcc/gcc-9.2.inc +++ b/poky/meta/recipes-devtools/gcc/gcc-9.2.inc @@ -64,6 +64,7 @@ SRC_URI = "\ file://0034-fix-segmentation-fault-in-precompiled-header-generat.patch \ file://0035-Fix-for-testsuite-failure.patch \ file://0036-Re-introduce-spe-commandline-options.patch \ + file://CVE-2019-14250.patch \ " S = "${TMPDIR}/work-shared/gcc-${PV}-${PR}/gcc-${PV}" SRC_URI[md5sum] = "3818ad8600447f05349098232c2ddc78" diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.2/0011-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch b/poky/meta/recipes-devtools/gcc/gcc-9.2/0011-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch index 21908bce9..66fb24d4c 100644 --- a/poky/meta/recipes-devtools/gcc/gcc-9.2/0011-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch +++ b/poky/meta/recipes-devtools/gcc/gcc-9.2/0011-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch @@ -1,7 +1,7 @@ -From a93743732b2125aebd9a6d65e999d7506b01d6b3 Mon Sep 17 00:00:00 2001 +From 72fc3975bcd720b2f8040fa87cd23d3db4c5975a Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Fri, 29 Mar 2013 09:24:50 +0400 -Subject: [PATCH 11/36] Define GLIBC_DYNAMIC_LINKER and UCLIBC_DYNAMIC_LINKER +Subject: [PATCH] Define GLIBC_DYNAMIC_LINKER and UCLIBC_DYNAMIC_LINKER relative to SYSTEMLIBS_DIR This patch defines GLIBC_DYNAMIC_LINKER and UCLIBC_DYNAMIC_LINKER @@ -23,11 +23,12 @@ Upstream-Status: Inappropriate [OE configuration] gcc/config/i386/linux64.h | 6 +++--- gcc/config/linux.h | 8 ++++---- gcc/config/mips/linux.h | 12 ++++++------ + gcc/config/riscv/linux.h | 2 +- gcc/config/rs6000/linux64.h | 15 +++++---------- gcc/config/sh/linux.h | 2 +- gcc/config/sparc/linux.h | 2 +- gcc/config/sparc/linux64.h | 4 ++-- - 11 files changed, 28 insertions(+), 33 deletions(-) + 12 files changed, 29 insertions(+), 34 deletions(-) diff --git a/gcc/config/alpha/linux-elf.h b/gcc/config/alpha/linux-elf.h index 824861befec..6afacce3292 100644 @@ -152,6 +153,19 @@ index 6f79ac9c01a..25de96f9561 100644 #undef MUSL_DYNAMIC_LINKER32 #define MUSL_DYNAMIC_LINKER32 \ +diff --git a/gcc/config/riscv/linux.h b/gcc/config/riscv/linux.h +index 58dd18b89f3..112ba9cd764 100644 +--- a/gcc/config/riscv/linux.h ++++ b/gcc/config/riscv/linux.h +@@ -22,7 +22,7 @@ along with GCC; see the file COPYING3. If not see + GNU_USER_TARGET_OS_CPP_BUILTINS(); \ + } while (0) + +-#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux-riscv" XLEN_SPEC "-" ABI_SPEC ".so.1" ++#define GLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-linux-riscv" XLEN_SPEC "-" ABI_SPEC ".so.1" + + #define MUSL_ABI_SUFFIX \ + "%{mabi=ilp32:-sf}" \ diff --git a/gcc/config/rs6000/linux64.h b/gcc/config/rs6000/linux64.h index 9946d3fed94..45a9a7cae59 100644 --- a/gcc/config/rs6000/linux64.h @@ -227,6 +241,3 @@ index 789d1df4bd5..b920c680fb1 100644 #ifdef SPARC_BI_ARCH --- -2.22.1 - diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.2/0019-Ensure-target-gcc-headers-can-be-included.patch b/poky/meta/recipes-devtools/gcc/gcc-9.2/0019-Ensure-target-gcc-headers-can-be-included.patch index af0ea5c60..53f9e99d0 100644 --- a/poky/meta/recipes-devtools/gcc/gcc-9.2/0019-Ensure-target-gcc-headers-can-be-included.patch +++ b/poky/meta/recipes-devtools/gcc/gcc-9.2/0019-Ensure-target-gcc-headers-can-be-included.patch @@ -22,8 +22,6 @@ Signed-off-by: Khem Raj gcc/gcc.c | 7 ------- 4 files changed, 15 insertions(+), 7 deletions(-) -diff --git a/gcc/Makefile.in b/gcc/Makefile.in -index 0064a282488..98d1488171f 100644 --- a/gcc/Makefile.in +++ b/gcc/Makefile.in @@ -618,6 +618,7 @@ libexecdir = @libexecdir@ @@ -34,7 +32,7 @@ index 0064a282488..98d1488171f 100644 # Directory in which the compiler finds executables libexecsubdir = $(libexecdir)/gcc/$(real_target_noncanonical)/$(version)$(accel_dir_suffix) # Directory in which all plugin resources are installed -@@ -2866,6 +2867,7 @@ CFLAGS-intl.o += -DLOCALEDIR=\"$(localedir)\" +@@ -2866,6 +2867,7 @@ CFLAGS-intl.o += -DLOCALEDIR=\"$(localed PREPROCESSOR_DEFINES = \ -DGCC_INCLUDE_DIR=\"$(libsubdir)/include\" \ @@ -42,11 +40,9 @@ index 0064a282488..98d1488171f 100644 -DFIXED_INCLUDE_DIR=\"$(libsubdir)/include-fixed\" \ -DGPLUSPLUS_INCLUDE_DIR=\"$(gcc_gxx_include_dir)\" \ -DGPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT=$(gcc_gxx_include_dir_add_sysroot) \ -diff --git a/gcc/cppdefault.c b/gcc/cppdefault.c -index c4796385643..980e2bd47a7 100644 --- a/gcc/cppdefault.c +++ b/gcc/cppdefault.c -@@ -59,6 +59,10 @@ const struct default_include cpp_include_defaults[] +@@ -59,6 +59,10 @@ const struct default_include cpp_include /* This is the dir for gcc's private headers. */ { GCC_INCLUDE_DIR, "GCC", 0, 0, 0, 0 }, #endif @@ -57,42 +53,3 @@ index c4796385643..980e2bd47a7 100644 #ifdef LOCAL_INCLUDE_DIR /* /usr/local/include comes before the fixincluded header files. */ { LOCAL_INCLUDE_DIR, 0, 0, 1, 1, 2 }, -diff --git a/gcc/defaults.h b/gcc/defaults.h -index b7534256119..41ca579b267 100644 ---- a/gcc/defaults.h -+++ b/gcc/defaults.h -@@ -1459,4 +1459,13 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see - #define DWARF_GNAT_ENCODINGS_DEFAULT DWARF_GNAT_ENCODINGS_GDB - #endif - -+/* Default prefixes to attach to command names. */ -+ -+#ifndef STANDARD_STARTFILE_PREFIX_1 -+#define STANDARD_STARTFILE_PREFIX_1 "/lib/" -+#endif -+#ifndef STANDARD_STARTFILE_PREFIX_2 -+#define STANDARD_STARTFILE_PREFIX_2 "/usr/lib/" -+#endif -+ - #endif /* ! GCC_DEFAULTS_H */ -diff --git a/gcc/gcc.c b/gcc/gcc.c -index 4e7c45b268c..1a3704b2763 100644 ---- a/gcc/gcc.c -+++ b/gcc/gcc.c -@@ -1470,13 +1470,6 @@ static const char *gcc_libexec_prefix; - - /* Default prefixes to attach to command names. */ - --#ifndef STANDARD_STARTFILE_PREFIX_1 --#define STANDARD_STARTFILE_PREFIX_1 "/lib/" --#endif --#ifndef STANDARD_STARTFILE_PREFIX_2 --#define STANDARD_STARTFILE_PREFIX_2 "/usr/lib/" --#endif -- - #ifdef CROSS_DIRECTORY_STRUCTURE /* Don't use these prefixes for a cross compiler. */ - #undef MD_EXEC_PREFIX - #undef MD_STARTFILE_PREFIX --- -2.22.1 - diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.2/0030-libgcc-Add-knob-to-use-ldbl-128-on-ppc.patch b/poky/meta/recipes-devtools/gcc/gcc-9.2/0030-libgcc-Add-knob-to-use-ldbl-128-on-ppc.patch index f5769bc8e..38eab5a08 100644 --- a/poky/meta/recipes-devtools/gcc/gcc-9.2/0030-libgcc-Add-knob-to-use-ldbl-128-on-ppc.patch +++ b/poky/meta/recipes-devtools/gcc/gcc-9.2/0030-libgcc-Add-knob-to-use-ldbl-128-on-ppc.patch @@ -1,125 +1,79 @@ -From baab61ae3938ee2fa9ec03a20793508516a46dae Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Fri, 29 Apr 2016 20:03:28 +0000 -Subject: [PATCH 30/36] libgcc: Add knob to use ldbl-128 on ppc - -musl does not support ldbl 128 so we can not assume -that linux as a whole supports ldbl-128 bits, instead -act upon configure option passed to gcc and assume no -on musl and yes otherwise if no option is passed since -default behaviour is to assume ldbl128 it does not -change the defaults +From 47467f3ab0fb2f2fcede81060fe8bb339d0909eb Mon Sep 17 00:00:00 2001 +From: Szabolcs Nagy +Date: Wed, 28 Feb 2018 00:54:05 +0000 +Subject: [PATCH 10/12] ldbl128 config Upstream-Status: Pending Signed-off-by: Khem Raj --- - libgcc/Makefile.in | 1 + - libgcc/config/rs6000/t-linux | 5 ++++- - libgcc/configure | 18 ++++++++++++++++++ - libgcc/configure.ac | 12 ++++++++++++ - 4 files changed, 35 insertions(+), 1 deletion(-) - mode change 100644 => 100755 libgcc/configure + gcc/configure | 13 +++++++++++++ + gcc/configure.ac | 16 ++++++++++++++-- + 2 files changed, 27 insertions(+), 2 deletions(-) -diff --git a/libgcc/Makefile.in b/libgcc/Makefile.in -index ea390a5bbea..114c7876304 100644 ---- a/libgcc/Makefile.in -+++ b/libgcc/Makefile.in -@@ -50,6 +50,7 @@ unwind_header = @unwind_header@ - md_unwind_header = @md_unwind_header@ - sfp_machine_header = @sfp_machine_header@ - thread_header = @thread_header@ -+with_ldbl128 = @with_ldbl128@ - - host_noncanonical = @host_noncanonical@ - real_host_noncanonical = @real_host_noncanonical@ -diff --git a/libgcc/config/rs6000/t-linux b/libgcc/config/rs6000/t-linux -index 4f6d4c4a4d2..c50dd94a2da 100644 ---- a/libgcc/config/rs6000/t-linux -+++ b/libgcc/config/rs6000/t-linux -@@ -1,3 +1,6 @@ - SHLIB_MAPFILES += $(srcdir)/config/rs6000/libgcc-glibc.ver - --HOST_LIBGCC2_CFLAGS += -mlong-double-128 -mno-minimal-toc -+ifeq ($(with_ldbl128),yes) -+HOST_LIBGCC2_CFLAGS += -mlong-double-128 -+endif -+HOST_LIBGCC2_CFLAGS += -mno-minimal-toc -diff --git a/libgcc/configure b/libgcc/configure -old mode 100644 -new mode 100755 -index 36dbbc1f699..b5dd5c34e2a ---- a/libgcc/configure -+++ b/libgcc/configure -@@ -651,6 +651,7 @@ build_vendor - build_cpu - build - with_aix_soname -+with_ldbl128 - enable_vtable_verify - enable_gcov - enable_shared -@@ -702,6 +703,7 @@ with_ld - enable_shared - enable_gcov - enable_vtable_verify -+with_long_double_128 - with_aix_soname - enable_version_specific_runtime_libs - with_slibdir -@@ -1363,6 +1365,7 @@ Optional Packages: - --with-target-subdir=SUBDIR Configuring in a subdirectory for target - --with-cross-host=HOST Configuring with a cross compiler - --with-ld arrange to use the specified ld (full pathname) -+ --with-long-double-128 use 128-bit long double by default - --with-aix-soname=aix|svr4|both - shared library versioning (aka "SONAME") variant to - provide on AIX -@@ -2268,6 +2271,21 @@ fi - - +diff --git a/gcc/configure b/gcc/configure +index 6121e163259..07ff8597d48 100755 +--- a/gcc/configure ++++ b/gcc/configure +@@ -29309,6 +29309,15 @@ if test "${with_long_double_128+set}" = set; then : + withval=$with_long_double_128; gcc_cv_target_ldbl128="$with_long_double_128" + else -+# Check whether --with-long-double-128 was given. -+if test "${with_long_double_128+set}" = set; then : -+ withval=$with_long_double_128; with_ldbl128="$with_long_double_128" -+else -+ case "${host}" in -+ power*-*-musl*) -+ with_ldbl128="no";; -+ *) with_ldbl128="yes";; -+ esac -+ -+fi -+ ++ case "$target" in ++ s390*-*-linux-musl*) ++ gcc_cv_target_ldbl128=yes ++ ;; ++ powerpc*-*-linux-musl*) ++ gcc_cv_target_ldbl128=no ++ ;; ++ *) + + if test $glibc_version_major -gt 2 \ + || ( test $glibc_version_major -eq 2 && test $glibc_version_minor -ge 4 ); then : + gcc_cv_target_ldbl128=yes +@@ -29320,6 +29329,10 @@ else + && gcc_cv_target_ldbl128=yes + + fi + ++ ;; ++ esac + - # Check whether --with-aix-soname was given. - if test "${with_aix_soname+set}" = set; then : - withval=$with_aix_soname; case "${host}:${enable_shared}" in -diff --git a/libgcc/configure.ac b/libgcc/configure.ac -index 8e96cafdf8b..9247856bf24 100644 ---- a/libgcc/configure.ac -+++ b/libgcc/configure.ac -@@ -82,6 +82,18 @@ AC_ARG_ENABLE(vtable-verify, - [enable_vtable_verify=no]) - AC_SUBST(enable_vtable_verify) + fi -+AC_ARG_WITH(long-double-128, -+[AS_HELP_STRING([--with-long-double-128], -+ [use 128-bit long double by default])], -+ with_ldbl128="$with_long_double_128", -+[case "${host}" in -+ power*-*-musl*) -+ with_ldbl128="no";; -+ *) with_ldbl128="yes";; -+ esac -+]) -+AC_SUBST(with_ldbl128) -+ - AC_ARG_WITH(aix-soname, - [AS_HELP_STRING([--with-aix-soname=aix|svr4|both], - [shared library versioning (aka "SONAME") variant to provide on AIX])], + ;; +diff --git a/gcc/configure.ac b/gcc/configure.ac +index b066cc609e1..6c15ed898c0 100644 +--- a/gcc/configure.ac ++++ b/gcc/configure.ac +@@ -5971,13 +5971,25 @@ case "$target" in + AC_ARG_WITH(long-double-128, + [AS_HELP_STRING([--with-long-double-128], + [use 128-bit long double by default])], +- gcc_cv_target_ldbl128="$with_long_double_128", ++ gcc_cv_target_ldbl128="$with_long_double_128", [ ++ case "$target" in ++ s390*-*-linux-musl*) ++ gcc_cv_target_ldbl128=yes ++ ;; ++ powerpc*-*-linux-musl*) ++ gcc_cv_target_ldbl128=no ++ ;; ++ *)] + [GCC_GLIBC_VERSION_GTE_IFELSE([2], [4], [gcc_cv_target_ldbl128=yes], [ + [gcc_cv_target_ldbl128=no + grep '^[ ]*#[ ]*define[ ][ ]*__LONG_DOUBLE_MATH_OPTIONAL' \ + $target_header_dir/bits/wordsize.h > /dev/null 2>&1 \ + && gcc_cv_target_ldbl128=yes +- ]])]) ++ ]])] ++ [ ++ ;; ++ esac ++ ]) + ;; + esac + if test x$gcc_cv_target_ldbl128 = xyes; then -- -2.22.1 +2.17.1 diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.2/CVE-2019-14250.patch b/poky/meta/recipes-devtools/gcc/gcc-9.2/CVE-2019-14250.patch new file mode 100644 index 000000000..65ea34558 --- /dev/null +++ b/poky/meta/recipes-devtools/gcc/gcc-9.2/CVE-2019-14250.patch @@ -0,0 +1,44 @@ +From 517b211a3d78366ca8d5929f580e8ca72fd2c004 Mon Sep 17 00:00:00 2001 +From: rguenth +Date: Thu, 25 Jul 2019 10:46:54 +0000 +Subject: [PATCH] 2019-07-25 Richard Biener + + PR lto/90924 + Backport from mainline + 2019-07-12 Ren Kimura + + * simple-object-elf.c (simple_object_elf_match): Check zero value + shstrndx. + + +git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-9-branch@273793 138bc75d-0d04-0410-961f-82ee72b054a4 + +Upstream-Status: Backport +Affectes: < 9.2 +CVE: CVE-2019-14250 +Dropped changelog +Signed-off-by: Armin Kuster + +--- + libiberty/simple-object-elf.c | 8 ++++++++ + 2 files changed, 17 insertions(+) + +Index: gcc-9.2.0/libiberty/simple-object-elf.c +=================================================================== +--- gcc-9.2.0.orig/libiberty/simple-object-elf.c ++++ gcc-9.2.0/libiberty/simple-object-elf.c +@@ -557,6 +557,14 @@ simple_object_elf_match (unsigned char h + return NULL; + } + ++ if (eor->shstrndx == 0) ++ { ++ *errmsg = "invalid ELF shstrndx == 0"; ++ *err = 0; ++ XDELETE (eor); ++ return NULL; ++ } ++ + return (void *) eor; + } + diff --git a/poky/meta/recipes-devtools/gcc/gcc-common.inc b/poky/meta/recipes-devtools/gcc/gcc-common.inc index 96334e54b..44cba287f 100644 --- a/poky/meta/recipes-devtools/gcc/gcc-common.inc +++ b/poky/meta/recipes-devtools/gcc/gcc-common.inc @@ -17,7 +17,7 @@ python extract_stashed_builddir () { src = d.expand("${COMPONENTS_DIR}/${BUILD_ARCH}/gcc-stashed-builddir-${TARGET_SYS}") dest = d.getVar("B") oe.path.copyhardlinktree(src, dest) - staging_processfixme([src + "/fixmepath"], dest, dest, dest, d) + staging_processfixme([src + "/fixmepath"], dest, d.getVar("RECIPE_SYSROOT"), d.getVar("RECIPE_SYSROOT_NATIVE"), d) } def get_gcc_float_setting(bb, d): @@ -41,13 +41,6 @@ def get_gcc_ppc_plt_settings(bb, d): return "--enable-secureplt" return "" -def get_long_double_setting(bb, d): - if d.getVar('TRANSLATED_TARGET_ARCH') in [ 'powerpc', 'powerpc64' ] and d.getVar('TCLIBC') in [ 'glibc' ]: - return "--with-long-double-128" - else: - return "--without-long-double-128 libgcc_cv_powerpc_float128=no" - return "" - def get_gcc_multiarch_setting(bb, d): target_arch = d.getVar('TRANSLATED_TARGET_ARCH') multiarch_options = { diff --git a/poky/meta/recipes-devtools/gcc/gcc-configure-common.inc b/poky/meta/recipes-devtools/gcc/gcc-configure-common.inc index b6f2ca541..24ba8ce75 100644 --- a/poky/meta/recipes-devtools/gcc/gcc-configure-common.inc +++ b/poky/meta/recipes-devtools/gcc/gcc-configure-common.inc @@ -36,7 +36,6 @@ EXTRA_OECONF = "\ ${EXTRA_OECONF_PATHS} \ ${@get_gcc_mips_plt_setting(bb, d)} \ ${@get_gcc_ppc_plt_settings(bb, d)} \ - ${@get_long_double_setting(bb, d)} \ ${@get_gcc_multiarch_setting(bb, d)} \ " diff --git a/poky/meta/recipes-devtools/gcc/gcc-cross-canadian_8.3.bb b/poky/meta/recipes-devtools/gcc/gcc-cross-canadian_8.3.bb deleted file mode 100644 index bf53c5cd7..000000000 --- a/poky/meta/recipes-devtools/gcc/gcc-cross-canadian_8.3.bb +++ /dev/null @@ -1,5 +0,0 @@ -require recipes-devtools/gcc/gcc-${PV}.inc -require gcc-cross-canadian.inc - - - diff --git a/poky/meta/recipes-devtools/gcc/gcc-cross.inc b/poky/meta/recipes-devtools/gcc/gcc-cross.inc index 6222c2e8c..95af6d89a 100644 --- a/poky/meta/recipes-devtools/gcc/gcc-cross.inc +++ b/poky/meta/recipes-devtools/gcc/gcc-cross.inc @@ -196,6 +196,8 @@ do_install () { # We use libiberty from binutils find ${D}${exec_prefix}/lib -name libiberty.a | xargs rm -f find ${D}${exec_prefix}/lib -name libiberty.h | xargs rm -f + + find ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/include-fixed -type f -not -name "README" -not -name limits.h -not -name syslimits.h | xargs rm -f } do_package[noexec] = "1" @@ -210,6 +212,9 @@ do_gcc_stash_builddir[cleandirs] = "${BUILDDIRSTASH}" do_gcc_stash_builddir () { dest=${BUILDDIRSTASH} hardlinkdir . $dest + # Makefile does move-if-change which can end up with 'timestamp' as file contents so break links to those files + rm $dest/gcc/include/*.h + cp gcc/include/*.h $dest/gcc/include/ } addtask do_gcc_stash_builddir after do_compile before do_install SSTATETASKS += "do_gcc_stash_builddir" diff --git a/poky/meta/recipes-devtools/gcc/gcc-cross_8.3.bb b/poky/meta/recipes-devtools/gcc/gcc-cross_8.3.bb deleted file mode 100644 index b43cca0c5..000000000 --- a/poky/meta/recipes-devtools/gcc/gcc-cross_8.3.bb +++ /dev/null @@ -1,3 +0,0 @@ -require recipes-devtools/gcc/gcc-${PV}.inc -require gcc-cross.inc - diff --git a/poky/meta/recipes-devtools/gcc/gcc-crosssdk_8.3.bb b/poky/meta/recipes-devtools/gcc/gcc-crosssdk_8.3.bb deleted file mode 100644 index 40a6c4fef..000000000 --- a/poky/meta/recipes-devtools/gcc/gcc-crosssdk_8.3.bb +++ /dev/null @@ -1,2 +0,0 @@ -require recipes-devtools/gcc/gcc-cross_${PV}.bb -require gcc-crosssdk.inc diff --git a/poky/meta/recipes-devtools/gcc/gcc-runtime.inc b/poky/meta/recipes-devtools/gcc/gcc-runtime.inc index 22c1d78dd..2da3c02ef 100644 --- a/poky/meta/recipes-devtools/gcc/gcc-runtime.inc +++ b/poky/meta/recipes-devtools/gcc/gcc-runtime.inc @@ -277,3 +277,45 @@ FILES_libitm-dev = "\ SUMMARY_libitm-dev = "GNU transactional memory support library - development files" FILES_libitm-staticdev = "${libdir}/libitm.a" SUMMARY_libitm-staticdev = "GNU transactional memory support library - static development files" + +require gcc-testsuite.inc + +EXTRA_OEMAKE_prepend_task-check = "${PARALLEL_MAKE} " + +MAKE_CHECK_TARGETS ??= "check-gcc ${@" ".join("check-target-" + i for i in d.getVar("RUNTIMETARGET").split())}" +# prettyprinters and xmethods require gdb tooling +MAKE_CHECK_IGNORE ??= "prettyprinters.exp xmethods.exp" +MAKE_CHECK_RUNTESTFLAGS ??= "${MAKE_CHECK_BOARDARGS} --ignore '${MAKE_CHECK_IGNORE}'" + +# specific host and target dependencies required for test suite running +do_check[depends] += "dejagnu-native:do_populate_sysroot expect-native:do_populate_sysroot" +do_check[depends] += "virtual/libc:do_populate_sysroot" +# only depend on qemu if targeting linux user execution +do_check[depends] += "${@'qemu-native:do_populate_sysroot' if "user" in d.getVar('TOOLCHAIN_TEST_TARGET') else ''}" +# extend the recipe sysroot to include the built libraries (for qemu usermode) +do_check[prefuncs] += "extend_recipe_sysroot" +do_check[prefuncs] += "check_prepare" +do_check[dirs] = "${WORKDIR}/dejagnu ${B}" +do_check[nostamp] = "1" +do_check() { + export DEJAGNU="${WORKDIR}/dejagnu/site.exp" + + # HACK: this works around the configure setting CXX with -nostd* args + sed -i 's/-nostdinc++ -nostdlib++//g' $(find ${B} -name testsuite_flags | head -1) + # HACK: this works around the de-stashing changes to configargs.h, as well as recipe-sysroot changing the content + sed -i '/static const char configuration_arguments/d' ${B}/gcc/configargs.h + ${CC} -v 2>&1 | grep "^Configured with:" | \ + sed 's/Configured with: \(.*\)/static const char configuration_arguments[] = "\1";/g' >> ${B}/gcc/configargs.h + + if [ "${TOOLCHAIN_TEST_TARGET}" = "user" ]; then + # qemu user has issues allocating large amounts of memory + export G_SLICE=always-malloc + # no test should need more that 10G of memory, this prevents tests like pthread7-rope from leaking memory + ulimit -m 4194304 + ulimit -v 10485760 + fi + + oe_runmake -i ${MAKE_CHECK_TARGETS} RUNTESTFLAGS="${MAKE_CHECK_RUNTESTFLAGS}" +} +addtask check after do_compile do_populate_sysroot + diff --git a/poky/meta/recipes-devtools/gcc/gcc-runtime_8.3.bb b/poky/meta/recipes-devtools/gcc/gcc-runtime_8.3.bb deleted file mode 100644 index dd430b57e..000000000 --- a/poky/meta/recipes-devtools/gcc/gcc-runtime_8.3.bb +++ /dev/null @@ -1,2 +0,0 @@ -require recipes-devtools/gcc/gcc-${PV}.inc -require gcc-runtime.inc diff --git a/poky/meta/recipes-devtools/gcc/gcc-sanitizers_8.3.bb b/poky/meta/recipes-devtools/gcc/gcc-sanitizers_8.3.bb deleted file mode 100644 index f3c705811..000000000 --- a/poky/meta/recipes-devtools/gcc/gcc-sanitizers_8.3.bb +++ /dev/null @@ -1,7 +0,0 @@ -require recipes-devtools/gcc/gcc-${PV}.inc -require gcc-sanitizers.inc - -# Building with thumb enabled on armv4t armv5t fails with -# sanitizer_linux.s:5749: Error: lo register required -- `ldr ip,[sp],#8' -ARM_INSTRUCTION_SET_armv4 = "arm" -ARM_INSTRUCTION_SET_armv5 = "arm" diff --git a/poky/meta/recipes-devtools/gcc/gcc-source_8.3.bb b/poky/meta/recipes-devtools/gcc/gcc-source_8.3.bb deleted file mode 100644 index b890fa33e..000000000 --- a/poky/meta/recipes-devtools/gcc/gcc-source_8.3.bb +++ /dev/null @@ -1,4 +0,0 @@ -require recipes-devtools/gcc/gcc-${PV}.inc -require recipes-devtools/gcc/gcc-source.inc - -EXCLUDE_FROM_WORLD = "1" diff --git a/poky/meta/recipes-devtools/gcc/gcc-testsuite.inc b/poky/meta/recipes-devtools/gcc/gcc-testsuite.inc new file mode 100644 index 000000000..f68fec58e --- /dev/null +++ b/poky/meta/recipes-devtools/gcc/gcc-testsuite.inc @@ -0,0 +1,107 @@ +inherit qemu + +TOOLCHAIN_TEST_TARGET ??= "user" +TOOLCHAIN_TEST_HOST ??= "localhost" +TOOLCHAIN_TEST_HOST_USER ??= "root" +TOOLCHAIN_TEST_HOST_PORT ??= "2222" + +MAKE_CHECK_BOARDFLAGS ??= "" +MAKE_CHECK_BOARDARGS ??= "--target_board=${TOOLCHAIN_TEST_TARGET}${MAKE_CHECK_BOARDFLAGS}" + +python () { + # Provide the targets compiler args via targets options. This allows dejagnu to + # correctly mark incompatible tests as UNSUPPORTED (e.g. needs soft-float + # but running on hard-float target). + # + # These options are called "multilib_flags" within the gcc test suite. Most + # architectures handle these options in a sensible way such that tests that + # are incompatible with the provided multilib are marked as UNSUPPORTED. + # + # Note: multilib flags are added to the compile command after the args + # provided by any test (through dg-options), CFLAGS_FOR_TARGET is always + # added to the compile command before any other args but is not interpted + # as options like multilib flags. + # + # i686, x86-64 and aarch64 are special, since most toolchains built for + # these targets don't do multilib the tests do not get correctly marked as + # UNSUPPORTED. More importantly the test suite itself does not handle + # overriding the multilib flags where it could (like other archs do). As + # such do not pass the target compiler args for these targets. + args = d.getVar("TUNE_CCARGS").split() + if d.getVar("TUNE_ARCH") in ["i686", "x86_64", "aarch64"]: + args = [] + d.setVar("MAKE_CHECK_BOARDFLAGS", ("/" + "/".join(args)) if len(args) != 0 else "") +} + +python check_prepare() { + def generate_qemu_linux_user_config(d): + content = [] + content.append('load_generic_config "sim"') + content.append('load_base_board_description "basic-sim"') + content.append('process_multilib_options ""') + + # qemu args + qemu_binary = qemu_target_binary(d) + if not qemu_binary: + bb.fatal("Missing target qemu linux-user binary") + + args = [] + # QEMU_OPTIONS is not always valid due to -cross recipe + args += ["-r", d.getVar("OLDEST_KERNEL")] + # enable all valid instructions, since the test suite itself does not + # limit itself to the target cpu options. + # - valid for x86*, powerpc, arm, arm64 + if qemu_binary.lstrip("qemu-") in ["x86_64", "i386", "ppc", "arm", "aarch64"]: + args += ["-cpu", "max"] + + sysroot = d.getVar("RECIPE_SYSROOT") + args += ["-L", sysroot] + # lib paths are static here instead of using $libdir since this is used by a -cross recipe + libpaths = [sysroot + "/usr/lib", sysroot + "/lib"] + args += ["-E", "LD_LIBRARY_PATH={0}".format(":".join(libpaths))] + + content.append('set_board_info is_simulator 1') + content.append('set_board_info sim "{0}"'.format(qemu_binary)) + content.append('set_board_info sim,options "{0}"'.format(" ".join(args))) + + # target build/test config + content.append('set_board_info target_install {%s}' % d.getVar("TARGET_SYS")) + content.append('set_board_info ldscript ""') + #content.append('set_board_info needs_status_wrapper 1') # qemu-linux-user return codes work, and abort works fine + content.append('set_board_info gcc,stack_size 16834') + content.append('set_board_info gdb,nosignals 1') + content.append('set_board_info gcc,timeout 60') + + return "\n".join(content) + + def generate_remote_ssh_linux_config(d): + content = [] + content.append('load_generic_config "unix"') + content.append('process_multilib_options ""') + content.append("set_board_info hostname {0}".format(d.getVar("TOOLCHAIN_TEST_HOST"))) + content.append("set_board_info username {0}".format(d.getVar("TOOLCHAIN_TEST_HOST_USER"))) + + port = d.getVar("TOOLCHAIN_TEST_HOST_PORT") + content.append("set_board_info rsh_prog \"/usr/bin/ssh -p {0} -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no\"".format(port)) + content.append("set_board_info rcp_prog \"/usr/bin/scp -P {0} -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no\"".format(port)) + + return "\n".join(content) + + dejagnudir = d.expand("${WORKDIR}/dejagnu") + if not os.path.isdir(dejagnudir): + os.makedirs(dejagnudir) + + # write out target qemu board config + with open(os.path.join(dejagnudir, "user.exp"), "w") as f: + f.write(generate_qemu_linux_user_config(d)) + + # write out target ssh board config + with open(os.path.join(dejagnudir, "ssh.exp"), "w") as f: + f.write(generate_remote_ssh_linux_config(d)) + + # generate site.exp to provide boards + with open(os.path.join(dejagnudir, "site.exp"), "w") as f: + f.write("lappend boards_dir {0}\n".format(dejagnudir)) + f.write("set CFLAGS_FOR_TARGET \"{0}\"\n".format(d.getVar("TOOLCHAIN_OPTIONS"))) +} + diff --git a/poky/meta/recipes-devtools/gcc/gcc_8.3.bb b/poky/meta/recipes-devtools/gcc/gcc_8.3.bb deleted file mode 100644 index 7d9359058..000000000 --- a/poky/meta/recipes-devtools/gcc/gcc_8.3.bb +++ /dev/null @@ -1,14 +0,0 @@ -require recipes-devtools/gcc/gcc-${PV}.inc -require gcc-target.inc - -# Building with thumb enabled on armv4t armv5t fails with -# | gcc-4.8.1-r0/gcc-4.8.1/gcc/cp/decl.c:7438:(.text.unlikely+0x2fa): relocation truncated to fit: R_ARM_THM_CALL against symbol `fancy_abort(char const*, int, char const*)' defined in .glue_7 section in linker stubs -# | gcc-4.8.1-r0/gcc-4.8.1/gcc/cp/decl.c:7442:(.text.unlikely+0x318): additional relocation overflows omitted from the output -ARM_INSTRUCTION_SET_armv4 = "arm" -ARM_INSTRUCTION_SET_armv5 = "arm" - -ARMFPARCHEXT_armv6 = "${@'+fp' if d.getVar('TARGET_FPU') == 'hard' else ''}" -ARMFPARCHEXT_armv7a = "${@'+fp' if d.getVar('TARGET_FPU') == 'hard' else ''}" -ARMFPARCHEXT_armv7ve = "${@'+fp' if d.getVar('TARGET_FPU') == 'hard' else ''}" - -BBCLASSEXTEND = "nativesdk" diff --git a/poky/meta/recipes-devtools/gcc/libgcc-initial_8.3.bb b/poky/meta/recipes-devtools/gcc/libgcc-initial_8.3.bb deleted file mode 100644 index 0c698c26e..000000000 --- a/poky/meta/recipes-devtools/gcc/libgcc-initial_8.3.bb +++ /dev/null @@ -1,5 +0,0 @@ -require recipes-devtools/gcc/gcc-${PV}.inc -require libgcc-initial.inc - -# Building with thumb enabled on armv6t fails -ARM_INSTRUCTION_SET_armv6 = "arm" diff --git a/poky/meta/recipes-devtools/gcc/libgcc_8.3.bb b/poky/meta/recipes-devtools/gcc/libgcc_8.3.bb deleted file mode 100644 index ea210a113..000000000 --- a/poky/meta/recipes-devtools/gcc/libgcc_8.3.bb +++ /dev/null @@ -1,5 +0,0 @@ -require recipes-devtools/gcc/gcc-${PV}.inc -require libgcc.inc - -# Building with thumb enabled on armv6t fails -ARM_INSTRUCTION_SET_armv6 = "arm" diff --git a/poky/meta/recipes-devtools/gcc/libgfortran_8.3.bb b/poky/meta/recipes-devtools/gcc/libgfortran_8.3.bb deleted file mode 100644 index 71dd8b4bd..000000000 --- a/poky/meta/recipes-devtools/gcc/libgfortran_8.3.bb +++ /dev/null @@ -1,3 +0,0 @@ -require recipes-devtools/gcc/gcc-${PV}.inc -require libgfortran.inc - diff --git a/poky/meta/recipes-devtools/go/go-1.12.inc b/poky/meta/recipes-devtools/go/go-1.12.inc index 3f23f06f0..39157ff88 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 = ".6" +GO_MINOR = ".9" 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] = "48a4141fc718dd742d106431294f08bf" -SRC_URI[main.sha256sum] = "c96c5ccc7455638ae1a8b7498a030fe653731c8391c5f8e79590bce72f92b4ca" +SRC_URI[main.md5sum] = "6132109d4050da349eadc9f7b0304ef4" +SRC_URI[main.sha256sum] = "ab0e56ed9c4732a653ed22e232652709afbf573e710f56a07f7fdeca578d62fc" 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 deleted file mode 100644 index a4d631f8e..000000000 --- a/poky/meta/recipes-devtools/go/go-dep_0.5.0.bb +++ /dev/null @@ -1,25 +0,0 @@ -SUMMARY = "Dependency management tool for Golang" -HOMEPAGE = "https://github.com/golang/dep" -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://src/${GO_IMPORT}/LICENSE;md5=1bad315647751fab0007812f70d42c0d" - -GO_IMPORT = "github.com/golang/dep" -SRC_URI = "git://${GO_IMPORT} \ - file://0001-Add-support-for-mips-mips64.patch;patchdir=src/github.com/golang/dep \ - " - -# Points to 0.5.0 tag -SRCREV = "224a564abe296670b692fe08bb63a3e4c4ad7978" - -inherit go - -GO_INSTALL = "${GO_IMPORT}/cmd/dep" - -RDEPENDS_${PN}-dev += "bash" - -BBCLASSEXTEND = "native nativesdk" - -# 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" -PTEST_ENABLED_mips64 = "0" diff --git a/poky/meta/recipes-devtools/go/go-dep_0.5.4.bb b/poky/meta/recipes-devtools/go/go-dep_0.5.4.bb new file mode 100644 index 000000000..ead87870e --- /dev/null +++ b/poky/meta/recipes-devtools/go/go-dep_0.5.4.bb @@ -0,0 +1,24 @@ +SUMMARY = "Dependency management tool for Golang" +HOMEPAGE = "https://github.com/golang/dep" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://src/${GO_IMPORT}/LICENSE;md5=1bad315647751fab0007812f70d42c0d" + +GO_IMPORT = "github.com/golang/dep" +SRC_URI = "git://${GO_IMPORT} \ + file://0001-Add-support-for-mips-mips64.patch;patchdir=src/github.com/golang/dep \ + " + +SRCREV = "1f7c19e5f52f49ffb9f956f64c010be14683468b" + +inherit go + +GO_INSTALL = "${GO_IMPORT}/cmd/dep" + +RDEPENDS_${PN}-dev += "bash" + +BBCLASSEXTEND = "native nativesdk" + +# 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" +PTEST_ENABLED_mips64 = "0" diff --git a/poky/meta/recipes-devtools/help2man/help2man-native_1.47.10.bb b/poky/meta/recipes-devtools/help2man/help2man-native_1.47.10.bb deleted file mode 100644 index 5feaeea13..000000000 --- a/poky/meta/recipes-devtools/help2man/help2man-native_1.47.10.bb +++ /dev/null @@ -1,24 +0,0 @@ -SUMMARY = "Program for creating simple man pages" -SECTION = "devel" -LICENSE = "GPLv3" -LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" -DEPENDS = "autoconf-native automake-native" - -SRC_URI = "${GNU_MIRROR}/${BPN}/${BPN}-${PV}.tar.xz" -SRC_URI[md5sum] = "0d70833650a552e0af742882ba84f2ee" -SRC_URI[sha256sum] = "f371cbfd63f879065422b58fa6b81e21870cd791ef6e11d4528608204aa4dcfb" - -inherit autotools native - -EXTRA_OECONF = "--disable-nls" - -# We don't want to reconfigure things as it would require 'perlnative' to be -# used. -do_configure() { - oe_runconf -} - -do_install_append () { - # Make sure we use /usr/bin/env perl - sed -i -e "1s:#!.*:#! /usr/bin/env perl:" ${D}${bindir}/help2man -} diff --git a/poky/meta/recipes-devtools/help2man/help2man-native_1.47.11.bb b/poky/meta/recipes-devtools/help2man/help2man-native_1.47.11.bb new file mode 100644 index 000000000..a60e85189 --- /dev/null +++ b/poky/meta/recipes-devtools/help2man/help2man-native_1.47.11.bb @@ -0,0 +1,24 @@ +SUMMARY = "Program for creating simple man pages" +SECTION = "devel" +LICENSE = "GPLv3" +LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" +DEPENDS = "autoconf-native automake-native" + +SRC_URI = "${GNU_MIRROR}/${BPN}/${BPN}-${PV}.tar.xz" +SRC_URI[md5sum] = "dd322adcaede5bd5eaed075ff8971bc1" +SRC_URI[sha256sum] = "5985b257f86304c8791842c0c807a37541d0d6807ee973000cf8a3fe6ad47b88" + +inherit autotools native + +EXTRA_OECONF = "--disable-nls" + +# We don't want to reconfigure things as it would require 'perlnative' to be +# used. +do_configure() { + oe_runconf +} + +do_install_append () { + # Make sure we use /usr/bin/env perl + sed -i -e "1s:#!.*:#! /usr/bin/env perl:" ${D}${bindir}/help2man +} diff --git a/poky/meta/recipes-devtools/libedit/libedit/0001-readline.c-fix-cannot-get-history.patch b/poky/meta/recipes-devtools/libedit/libedit/0001-readline.c-fix-cannot-get-history.patch new file mode 100644 index 000000000..7e54ac97e --- /dev/null +++ b/poky/meta/recipes-devtools/libedit/libedit/0001-readline.c-fix-cannot-get-history.patch @@ -0,0 +1,34 @@ +From ef1fa9bef497d9491a51017f3cad0135a23bb0b4 Mon Sep 17 00:00:00 2001 +From: Changqing Li +Date: Tue, 20 Aug 2019 17:33:15 +0800 +Subject: [PATCH] readline.c: fix cannot get history + +if history_offset not increate when add history, +it will make current history event not align with offset, +and cannot get history correctly. + +Upstream-Status: Submitted [tech-userlevel@NetBSD.org] + +Signed-off-by: Changqing Li +--- + src/readline.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/src/readline.c b/src/readline.c +index 43ac5bd..54b0548 100644 +--- a/src/readline.c ++++ b/src/readline.c +@@ -1476,7 +1476,10 @@ add_history(const char *line) + if (ev.num == history_length) + history_base++; + else ++ { ++ history_offset++; + history_length = ev.num; ++ } + return 0; + } + +-- +2.7.4 + diff --git a/poky/meta/recipes-devtools/libedit/libedit_20190324-3.1.bb b/poky/meta/recipes-devtools/libedit/libedit_20190324-3.1.bb index 6a599ebca..25667ccce 100644 --- a/poky/meta/recipes-devtools/libedit/libedit_20190324-3.1.bb +++ b/poky/meta/recipes-devtools/libedit/libedit_20190324-3.1.bb @@ -10,10 +10,9 @@ DEPENDS = "ncurses" inherit autotools -# upstream site does not allow wget's User-Agent -FETCHCMD_wget += "-U bitbake" SRC_URI = "http://www.thrysoee.dk/editline/${BP}.tar.gz \ file://stdc-predef.patch \ + file://0001-readline.c-fix-cannot-get-history.patch \ " SRC_URI[md5sum] = "bec755c8044ad84b752dfe49a0b371d8" SRC_URI[sha256sum] = "ac8f0f51c1cf65492e4d1e3ed2be360bda41e54633444666422fbf393bba1bae" diff --git a/poky/meta/recipes-devtools/llvm/llvm_git.bb b/poky/meta/recipes-devtools/llvm/llvm_git.bb index 35ad3ced3..08b19a33e 100644 --- a/poky/meta/recipes-devtools/llvm/llvm_git.bb +++ b/poky/meta/recipes-devtools/llvm/llvm_git.bb @@ -71,7 +71,7 @@ EXTRA_OECMAKE += "-DLLVM_ENABLE_ASSERTIONS=OFF \ -DLLVM_OPTIMIZED_TABLEGEN=ON \ -DLLVM_TARGETS_TO_BUILD='${LLVM_TARGETS}' \ -DLLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN=ON \ - -DPYTHON_EXECUTABLE=${HOSTTOOLS_DIR}/python2 \ + -DPYTHON_EXECUTABLE=${HOSTTOOLS_DIR}/python3 \ -G Ninja" EXTRA_OECMAKE_append_class-target = "\ diff --git a/poky/meta/recipes-devtools/meson/meson.inc b/poky/meta/recipes-devtools/meson/meson.inc index 14e5f8a61..6de109de7 100644 --- a/poky/meta/recipes-devtools/meson/meson.inc +++ b/poky/meta/recipes-devtools/meson/meson.inc @@ -16,10 +16,9 @@ SRC_URI = "https://github.com/mesonbuild/meson/releases/download/${PV}/meson-${P file://0001-mesonbuild-environment.py-check-environment-for-vari.patch \ file://0001-modules-python.py-do-not-substitute-python-s-install.patch \ file://vala-cross-compile.patch \ - file://0001-Fix-missing-return-statements-that-are-seen-with-Wer.patch \ " -SRC_URI[sha256sum] = "f27b7a60f339ba66fe4b8f81f0d1072e090a08eabbd6aa287683b2c2b9dd2d82" -SRC_URI[md5sum] = "48787e391ec5c052799a3dd491f73909" +SRC_URI[sha256sum] = "23688f0fc90be623d98e80e1defeea92bbb7103bf9336a5f5b9865d36e892d76" +SRC_URI[md5sum] = "d46c4a8e3cfd27f90e2c6fe4a69e574b" SRC_URI_append_class-native = " \ file://0001-Make-CPU-family-warnings-fatal.patch \ diff --git a/poky/meta/recipes-devtools/meson/meson/0001-Fix-missing-return-statements-that-are-seen-with-Wer.patch b/poky/meta/recipes-devtools/meson/meson/0001-Fix-missing-return-statements-that-are-seen-with-Wer.patch deleted file mode 100644 index 16c6d9076..000000000 --- a/poky/meta/recipes-devtools/meson/meson/0001-Fix-missing-return-statements-that-are-seen-with-Wer.patch +++ /dev/null @@ -1,100 +0,0 @@ -From 15f44be1c7f71cb0a8c6863917acbbc301c621fe Mon Sep 17 00:00:00 2001 -From: Martin Liska -Date: Mon, 15 Jul 2019 10:06:17 +0200 -Subject: [PATCH] Fix missing return statements that are seen with - -Werror=return-type. - -Error example: - -Code: - - #include - int main () { - /* If it's not defined as a macro, try to use as a symbol */ - #ifndef LC_MESSAGES - LC_MESSAGES; - #endif - } -Compiler stdout: - -Compiler stderr: - In file included from /usr/include/locale.h:25, - from /tmp/tmpep_i4iwg/testfile.c:2: -/usr/include/features.h:382:4: warning: #warning _FORTIFY_SOURCE -requires compiling with optimization (-O) [-Wcpp] - 382 | # warning _FORTIFY_SOURCE requires compiling with optimization -(-O) - | ^~~~~~~ -/tmp/tmpep_i4iwg/testfile.c: In function 'main': -/tmp/tmpep_i4iwg/testfile.c:8:9: error: control reaches end of non-void -function [-Werror=return-type] - 8 | } - | ^ -cc1: some warnings being treated as errors - -Upstream-Status: Backport -Signed-off-by: Martin Jansa ---- - mesonbuild/compilers/c.py | 1 + - mesonbuild/compilers/clike.py | 5 +++++ - 2 files changed, 6 insertions(+) - -diff --git a/mesonbuild/compilers/c.py b/mesonbuild/compilers/c.py -index 3b58a076..9ef92077 100644 ---- a/mesonbuild/compilers/c.py -+++ b/mesonbuild/compilers/c.py -@@ -70,6 +70,7 @@ class CCompiler(CLikeCompiler, Compiler): - #ifndef {symbol} - {symbol}; - #endif -+ return 0; - }}''' - return self.compiles(t.format(**fargs), env, extra_args=extra_args, - dependencies=dependencies) -diff --git a/mesonbuild/compilers/clike.py b/mesonbuild/compilers/clike.py -index 83f67591..f9cbeabd 100644 ---- a/mesonbuild/compilers/clike.py -+++ b/mesonbuild/compilers/clike.py -@@ -375,6 +375,7 @@ class CLikeCompiler: - #ifndef {symbol} - {symbol}; - #endif -+ return 0; - }}''' - return self.compiles(t.format(**fargs), env, extra_args=extra_args, - dependencies=dependencies) -@@ -554,6 +555,7 @@ class CLikeCompiler: - {prefix} - int main(int argc, char **argv) {{ - {type} something; -+ return 0; - }}''' - if not self.compiles(t.format(**fargs), env, extra_args=extra_args, - dependencies=dependencies)[0]: -@@ -589,6 +591,7 @@ class CLikeCompiler: - {prefix} - int main(int argc, char **argv) {{ - {type} something; -+ return 0; - }}''' - if not self.compiles(t.format(**fargs), env, extra_args=extra_args, - dependencies=dependencies)[0]: -@@ -667,6 +670,7 @@ class CLikeCompiler: - #include - int main(int argc, char *argv[]) {{ - printf ("{fmt}", {cast} {f}()); -+ return 0; - }}'''.format(**fargs) - res = self.run(code, env, extra_args=extra_args, dependencies=dependencies) - if not res.compiled: -@@ -819,6 +823,7 @@ class CLikeCompiler: - #error "No definition for __builtin_{func} found in the prefix" - #endif - #endif -+ return 0; - }}''' - return self.links(t.format(**fargs), env, extra_args=extra_args, - dependencies=dependencies) --- -2.17.1 - diff --git a/poky/meta/recipes-devtools/meson/meson_0.51.1.bb b/poky/meta/recipes-devtools/meson/meson_0.51.1.bb deleted file mode 100644 index de9b905c1..000000000 --- a/poky/meta/recipes-devtools/meson/meson_0.51.1.bb +++ /dev/null @@ -1,4 +0,0 @@ -include meson.inc - -BBCLASSEXTEND = "native" - diff --git a/poky/meta/recipes-devtools/meson/meson_0.51.2.bb b/poky/meta/recipes-devtools/meson/meson_0.51.2.bb new file mode 100644 index 000000000..de9b905c1 --- /dev/null +++ b/poky/meta/recipes-devtools/meson/meson_0.51.2.bb @@ -0,0 +1,4 @@ +include meson.inc + +BBCLASSEXTEND = "native" + diff --git a/poky/meta/recipes-devtools/meson/nativesdk-meson_0.51.1.bb b/poky/meta/recipes-devtools/meson/nativesdk-meson_0.51.1.bb deleted file mode 100644 index 1756f342c..000000000 --- a/poky/meta/recipes-devtools/meson/nativesdk-meson_0.51.1.bb +++ /dev/null @@ -1,66 +0,0 @@ -include meson.inc - -inherit nativesdk -inherit siteinfo - -SRC_URI += "file://meson-setup.py \ - file://meson-wrapper" - -def meson_endian(prefix, d): - arch, os = d.getVar(prefix + "_ARCH"), d.getVar(prefix + "_OS") - sitedata = siteinfo_data_for_machine(arch, os, d) - if "endian-little" in sitedata: - return "little" - elif "endian-big" in sitedata: - return "big" - else: - bb.fatal("Cannot determine endianism for %s-%s" % (arch, os)) - -# The cross file logic is similar but not identical to that in meson.bbclass, -# since it's generating for an SDK rather than a cross-compile. Important -# differences are: -# - We can't set vars like CC, CXX, etc. yet because they will be filled in with -# real paths by meson-setup.sh when the SDK is extracted. -# - Some overrides aren't needed, since the SDK injects paths that take care of -# them. -do_install_append() { - install -d ${D}${datadir}/meson - cat >${D}${datadir}/meson/meson.cross.template <${D}${datadir}/meson/meson.cross.template < --- diff --git a/poky/meta/recipes-devtools/patch/patch/0001-Don-t-leak-temporary-file-on-failed-multi-file-ed.patch b/poky/meta/recipes-devtools/patch/patch/0001-Don-t-leak-temporary-file-on-failed-multi-file-ed.patch index d6a219a1b..8ffffef47 100644 --- a/poky/meta/recipes-devtools/patch/patch/0001-Don-t-leak-temporary-file-on-failed-multi-file-ed.patch +++ b/poky/meta/recipes-devtools/patch/patch/0001-Don-t-leak-temporary-file-on-failed-multi-file-ed.patch @@ -17,6 +17,7 @@ https://savannah.gnu.org/bugs/index.php?53820 Fixes: 123eaff0d5d1 ("Fix arbitrary command execution in ed-style patches (CVE-2018-1000156)") Fixes: 19599883ffb6 ("Don't leak temporary file on failed ed-style patch") +CVE: CVE-2018-1000156 Upstream-Status: Backport [http://git.savannah.gnu.org/cgit/patch.git/commit/?id=369dcccdfa6336e5a873d6d63705cfbe04c55727] Signed-off-by: Anuj Mittal --- diff --git a/poky/meta/recipes-devtools/prelink/prelink_git.bb b/poky/meta/recipes-devtools/prelink/prelink_git.bb index b1261d594..f0946de2c 100644 --- a/poky/meta/recipes-devtools/prelink/prelink_git.bb +++ b/poky/meta/recipes-devtools/prelink/prelink_git.bb @@ -36,6 +36,9 @@ SRC_URI = "git://git.yoctoproject.org/prelink-cross.git;branch=cross_prelink_sta " UPSTREAM_CHECK_COMMITS = "1" +# error: error.h: No such file or directory +COMPATIBLE_HOST_libc-musl = 'null' + TARGET_OS_ORIG := "${TARGET_OS}" OVERRIDES_append = ":${TARGET_OS_ORIG}" diff --git a/poky/meta/recipes-devtools/pseudo/files/0001-maketables-wrappers-use-Python-3.patch b/poky/meta/recipes-devtools/pseudo/files/0001-maketables-wrappers-use-Python-3.patch new file mode 100644 index 000000000..b2dbdad27 --- /dev/null +++ b/poky/meta/recipes-devtools/pseudo/files/0001-maketables-wrappers-use-Python-3.patch @@ -0,0 +1,34 @@ +From dbd34b1b2af8fbf44a0d5c37abe3448405819823 Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin +Date: Wed, 28 Aug 2019 19:20:29 +0200 +Subject: [PATCH] maketables/wrappers: use Python 3 + +Changelog indicates they should be compatible. + +Upstream-Status: Pending +Signed-off-by: Alexander Kanavin +--- + maketables | 2 +- + makewrappers | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/maketables b/maketables +index a211772..52285e2 100755 +--- a/maketables ++++ b/maketables +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + # + # Copyright (c) 2008-2010, 2013 Wind River Systems, Inc. + # +diff --git a/makewrappers b/makewrappers +index e84607d..b34f7eb 100755 +--- a/makewrappers ++++ b/makewrappers +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + # + # Copyright (c) 2008-2011,2013 Wind River Systems, Inc. + # diff --git a/poky/meta/recipes-devtools/pseudo/pseudo_git.bb b/poky/meta/recipes-devtools/pseudo/pseudo_git.bb index 6cf711e4c..78500e1cc 100644 --- a/poky/meta/recipes-devtools/pseudo/pseudo_git.bb +++ b/poky/meta/recipes-devtools/pseudo/pseudo_git.bb @@ -6,9 +6,12 @@ SRC_URI = "git://git.yoctoproject.org/pseudo \ file://fallback-group \ file://moreretries.patch \ file://toomanyfiles.patch \ + file://0001-maketables-wrappers-use-Python-3.patch \ " SRCREV = "060058bb29f70b244e685b3c704eb0641b736f73" S = "${WORKDIR}/git" PV = "1.9.0+git${SRCPV}" +# error: use of undeclared identifier '_STAT_VER' +COMPATIBLE_HOST_libc-musl = 'null' diff --git a/poky/meta/recipes-devtools/python-numpy/files/0001-Don-t-search-usr-and-so-on-for-libraries-by-default-.patch b/poky/meta/recipes-devtools/python-numpy/files/0001-Don-t-search-usr-and-so-on-for-libraries-by-default-.patch index 8fe0d1a27..98a970583 100644 --- a/poky/meta/recipes-devtools/python-numpy/files/0001-Don-t-search-usr-and-so-on-for-libraries-by-default-.patch +++ b/poky/meta/recipes-devtools/python-numpy/files/0001-Don-t-search-usr-and-so-on-for-libraries-by-default-.patch @@ -1,4 +1,4 @@ -From c14554c7e2fff8dd559dfb41e7dd11392c6f85e3 Mon Sep 17 00:00:00 2001 +From 672a75c8417ce08db9e31fc415ec445479231d5a Mon Sep 17 00:00:00 2001 From: Alexander Kanavin Date: Thu, 10 Dec 2015 13:20:30 +0200 Subject: [PATCH] Don't search /usr and so on for libraries by default to @@ -10,14 +10,14 @@ Signed-off-by: Ross Burton Signed-off-by: Alexander Kanavin --- - numpy/distutils/system_info.py | 50 ++++------------------------------ - 1 file changed, 6 insertions(+), 44 deletions(-) + numpy/distutils/system_info.py | 42 ++++------------------------------ + 1 file changed, 5 insertions(+), 37 deletions(-) diff --git a/numpy/distutils/system_info.py b/numpy/distutils/system_info.py -index 2424943..bf56a6d 100644 +index ba2b1f4..f94dce1 100644 --- a/numpy/distutils/system_info.py +++ b/numpy/distutils/system_info.py -@@ -274,51 +274,13 @@ if sys.platform == 'win32': +@@ -278,45 +278,13 @@ if sys.platform == 'win32': add_system_root(os.path.join(conda_dir, 'Library')) else: @@ -45,31 +45,24 @@ index 2424943..bf56a6d 100644 - default_x11_include_dirs.extend(['/usr/lib/X11/include', - '/usr/include/X11']) - -- import subprocess as sp -- tmp = None -- try: -- # Explicitly open/close file to avoid ResourceWarning when -- # tests are run in debug mode Python 3. -- tmp = open(os.devnull, 'w') -- p = sp.Popen(["gcc", "-print-multiarch"], stdout=sp.PIPE, -- stderr=tmp) -- except (OSError, DistutilsError): -- # OSError if gcc is not installed, or SandboxViolation (DistutilsError -- # subclass) if an old setuptools bug is triggered (see gh-3160). -- pass -- else: -- triplet = str(p.communicate()[0].decode().strip()) -- if p.returncode == 0: -- # gcc supports the "-print-multiarch" option -- default_x11_lib_dirs += [os.path.join("/usr/lib/", triplet)] -- default_lib_dirs += [os.path.join("/usr/lib/", triplet)] -- finally: -- if tmp is not None: -- tmp.close() +- with open(os.devnull, 'w') as tmp: +- try: +- p = subprocess.Popen(["gcc", "-print-multiarch"], stdout=subprocess.PIPE, +- stderr=tmp) +- except (OSError, DistutilsError): +- # OSError if gcc is not installed, or SandboxViolation (DistutilsError +- # subclass) if an old setuptools bug is triggered (see gh-3160). +- pass +- else: +- triplet = str(p.communicate()[0].decode().strip()) +- if p.returncode == 0: +- # gcc supports the "-print-multiarch" option +- default_x11_lib_dirs += [os.path.join("/usr/lib/", triplet)] +- default_lib_dirs += [os.path.join("/usr/lib/", triplet)] + default_lib_dirs = libpaths(['/deadir/lib'], platform_bits) + default_include_dirs = ['/deaddir/include'] + default_src_dirs = ['.', '/deaddir/src'] -+ + + default_x11_lib_dirs = libpaths(['/deaddir/lib'], platform_bits) + default_x11_include_dirs = ['/deaddir/include'] diff --git a/poky/meta/recipes-devtools/python-numpy/files/0001-numpy-random-setup.py-remove-the-detection-of-x86-ta.patch b/poky/meta/recipes-devtools/python-numpy/files/0001-numpy-random-setup.py-remove-the-detection-of-x86-ta.patch new file mode 100644 index 000000000..ebb2a6f9d --- /dev/null +++ b/poky/meta/recipes-devtools/python-numpy/files/0001-numpy-random-setup.py-remove-the-detection-of-x86-ta.patch @@ -0,0 +1,32 @@ +From b881e0b2ba9cf1a4aa351a1c1ea90b1e1776ce21 Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin +Date: Mon, 12 Aug 2019 15:37:36 +0200 +Subject: [PATCH] numpy/random/setup.py: remove the detection of x86 targets + via uname() + +This was badly breaking compilation for ARM targets (and possibly +other non-x86 targets); if -msse2 is desirable for x86 builds it has +to be passed through another channel. + +Upstream-Status: Inappropriate [oe-core specific] +Signed-off-by: Alexander Kanavin +--- + numpy/random/setup.py | 5 ----- + 1 file changed, 5 deletions(-) + +diff --git a/numpy/random/setup.py b/numpy/random/setup.py +index a1bf3b8..60fb534 100644 +--- a/numpy/random/setup.py ++++ b/numpy/random/setup.py +@@ -49,11 +49,6 @@ def configuration(parent_package='', top_path=None): + elif not is_msvc: + # Some bit generators require c99 + EXTRA_COMPILE_ARGS += ['-std=c99'] +- INTEL_LIKE = any([val in k.lower() for k in platform.uname() +- for val in ('x86', 'i686', 'i386', 'amd64')]) +- if INTEL_LIKE: +- # Assumes GCC or GCC-like compiler +- EXTRA_COMPILE_ARGS += ['-msse2'] + + # Use legacy integer variable sizes + LEGACY_DEFS = [('NP_RANDOM_LEGACY', '1')] diff --git a/poky/meta/recipes-devtools/python-numpy/python-numpy.inc b/poky/meta/recipes-devtools/python-numpy/python-numpy.inc index 43c3053cd..a12e72f96 100644 --- a/poky/meta/recipes-devtools/python-numpy/python-numpy.inc +++ b/poky/meta/recipes-devtools/python-numpy/python-numpy.inc @@ -1,7 +1,7 @@ SUMMARY = "A sophisticated Numeric Processing Package for Python" SECTION = "devel/python" -LICENSE = "BSD-3-Clause & BSD-2-Clause & PSF & Apache-2.0 & BSD" -LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=d26bde5432613cce2334b93985576231" +LICENSE = "BSD-3-Clause & BSD-2-Clause & PSF & Apache-2.0 & BSD & MIT" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=1a32aba007a415aa8a1c708a0e2b86a1" SRCNAME = "numpy" @@ -9,13 +9,17 @@ SRC_URI = "https://github.com/${SRCNAME}/${SRCNAME}/releases/download/v${PV}/${S file://0001-Don-t-search-usr-and-so-on-for-libraries-by-default-.patch \ file://0001-npy_cpu-Add-riscv-support.patch \ ${CONFIGFILESURI} \ + file://0001-numpy-random-setup.py-remove-the-detection-of-x86-ta.patch \ " -SRC_URI[md5sum] = "0886e5b5017f08f2b7a624c0b5931e61" -SRC_URI[sha256sum] = "adf063a3f87ab89393f5eea0eb903293b112fa0a308e8c594a75ffa585d81d4f" +SRC_URI[md5sum] = "c48b2ad785f82cdfe28c907ce35e2a71" +SRC_URI[sha256sum] = "47b7b6145e7ba5918ce26be25999b6d4b35cf9fbfdf46b7da50090ffdb020445" UPSTREAM_CHECK_URI = "https://github.com/numpy/numpy/releases" UPSTREAM_CHECK_REGEX = "(?P\d+(\.\d+)+)\.tar" +# Needed for building with gcc 4.x from centos 7 +CFLAGS_append_class-native = " -std=c99" + CONFIGFILESURI ?= "" CONFIGFILESURI_aarch64 = " \ @@ -109,6 +113,7 @@ RDEPENDS_${PN} = "${PYTHON_PN}-unittest \ ${PYTHON_PN}-compression \ ${PYTHON_PN}-ctypes \ ${PYTHON_PN}-threading \ + ${PYTHON_PN}-multiprocessing \ " RDEPENDS_${PN}_class-native = "" diff --git a/poky/meta/recipes-devtools/python-numpy/python3-numpy_1.16.3.bb b/poky/meta/recipes-devtools/python-numpy/python3-numpy_1.16.3.bb deleted file mode 100644 index d388e88d2..000000000 --- a/poky/meta/recipes-devtools/python-numpy/python3-numpy_1.16.3.bb +++ /dev/null @@ -1,3 +0,0 @@ -inherit setuptools3 -require python-numpy.inc - diff --git a/poky/meta/recipes-devtools/python-numpy/python3-numpy_1.17.0.bb b/poky/meta/recipes-devtools/python-numpy/python3-numpy_1.17.0.bb new file mode 100644 index 000000000..d388e88d2 --- /dev/null +++ b/poky/meta/recipes-devtools/python-numpy/python3-numpy_1.17.0.bb @@ -0,0 +1,3 @@ +inherit setuptools3 +require python-numpy.inc + diff --git a/poky/meta/recipes-devtools/python/python-testtools.inc b/poky/meta/recipes-devtools/python/python-testtools.inc index 1011c98a3..d0b2e46d7 100644 --- a/poky/meta/recipes-devtools/python/python-testtools.inc +++ b/poky/meta/recipes-devtools/python/python-testtools.inc @@ -19,6 +19,7 @@ DEPENDS += " \ " RDEPENDS_${PN} += "\ + ${PYTHON_PN}-doctest \ ${PYTHON_PN}-extras \ ${PYTHON_PN}-pbr \ ${PYTHON_PN}-six \ diff --git a/poky/meta/recipes-devtools/python/python.inc b/poky/meta/recipes-devtools/python/python.inc index 70481002b..1462b779e 100644 --- a/poky/meta/recipes-devtools/python/python.inc +++ b/poky/meta/recipes-devtools/python/python.inc @@ -37,7 +37,6 @@ EXTRA_OECONF = "\ --enable-shared \ --enable-ipv6=${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', 'yes', 'no', d)} \ ac_cv_header_bluetooth_bluetooth_h=no ac_cv_header_bluetooth_h=no \ - ${PYTHONLSBOPTS} \ " do_configure_prepend() { diff --git a/poky/meta/recipes-devtools/python/python3-dbus_1.2.10.bb b/poky/meta/recipes-devtools/python/python3-dbus_1.2.10.bb new file mode 100644 index 000000000..8892d0fb4 --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-dbus_1.2.10.bb @@ -0,0 +1,26 @@ +SUMMARY = "Python bindings for the DBus inter-process communication system" +SECTION = "devel/python" +HOMEPAGE = "http://www.freedesktop.org/Software/dbus" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=b03240518994df6d8c974675675e5ca4" +DEPENDS = "expat dbus glib-2.0 virtual/libintl" + +SRC_URI = "http://dbus.freedesktop.org/releases/dbus-python/dbus-python-${PV}.tar.gz \ +" + +SRC_URI[md5sum] = "5d21d5ae6423f0e41caa3400af44edac" +SRC_URI[sha256sum] = "d4332bbd4a0054fa4010b259c293b84d461bbd9d7a8ef528157d151c0398d886" +S = "${WORKDIR}/dbus-python-${PV}" + +inherit distutils3-base autotools pkgconfig + +# documentation needs python3-sphinx, which is not in oe-core or meta-python for now +# change to use PACKAGECONFIG when python3-sphinx is added to oe-core +EXTRA_OECONF += "--disable-documentation" + + +RDEPENDS_${PN} = "python3-io python3-logging python3-stringold python3-threading python3-xml" + +FILES_${PN}-dev += "${libdir}/pkgconfig" + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/python/python3-dbus_1.2.8.bb b/poky/meta/recipes-devtools/python/python3-dbus_1.2.8.bb deleted file mode 100644 index 2fb1eae96..000000000 --- a/poky/meta/recipes-devtools/python/python3-dbus_1.2.8.bb +++ /dev/null @@ -1,26 +0,0 @@ -SUMMARY = "Python bindings for the DBus inter-process communication system" -SECTION = "devel/python" -HOMEPAGE = "http://www.freedesktop.org/Software/dbus" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://COPYING;md5=b03240518994df6d8c974675675e5ca4" -DEPENDS = "expat dbus glib-2.0 virtual/libintl" - -SRC_URI = "http://dbus.freedesktop.org/releases/dbus-python/dbus-python-${PV}.tar.gz \ -" - -SRC_URI[md5sum] = "7379db774c10904f27e7e2743d90fb43" -SRC_URI[sha256sum] = "abf12bbb765e300bf8e2a1b2f32f85949eab06998dbda127952c31cb63957b6f" -S = "${WORKDIR}/dbus-python-${PV}" - -inherit distutils3-base autotools pkgconfig - -# documentation needs python3-sphinx, which is not in oe-core or meta-python for now -# change to use PACKAGECONFIG when python3-sphinx is added to oe-core -EXTRA_OECONF += "--disable-documentation" - - -RDEPENDS_${PN} = "python3-io python3-logging python3-stringold python3-threading python3-xml" - -FILES_${PN}-dev += "${libdir}/pkgconfig" - -BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/python/python3-git_3.0.0.bb b/poky/meta/recipes-devtools/python/python3-git_3.0.0.bb deleted file mode 100644 index b6c837cdf..000000000 --- a/poky/meta/recipes-devtools/python/python3-git_3.0.0.bb +++ /dev/null @@ -1,33 +0,0 @@ -SUMMARY = "Python library used to interact with Git repositories" -DESCRIPTION = "GitPython provides object model read and write access to \ -a git repository. Access repository information conveniently, alter the \ -index directly, handle remotes, or go down to low-level object database \ -access with big-files support." -HOMEPAGE = "http://github.com/gitpython-developers/GitPython" -SECTION = "devel/python" -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=8b8d26c37c1d5a04f9b0186edbebc183" - -PYPI_PACKAGE = "GitPython" - -inherit pypi setuptools3 - -SRC_URI[md5sum] = "9412ae9665fd29328f2afc6df887ae81" -SRC_URI[sha256sum] = "629867ebf609cef21bb9d849039e281e25963fb7d714a2f6bacc1ecce4800293" - -DEPENDS += " ${PYTHON_PN}-gitdb" - -RDEPENDS_${PN} += " \ - ${PYTHON_PN}-datetime \ - ${PYTHON_PN}-gitdb \ - ${PYTHON_PN}-io \ - ${PYTHON_PN}-logging \ - ${PYTHON_PN}-math \ - ${PYTHON_PN}-netclient \ - ${PYTHON_PN}-stringold \ - ${PYTHON_PN}-unittest \ - ${PYTHON_PN}-unixadmin \ - git \ -" - -BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/python/python3-git_3.0.2.bb b/poky/meta/recipes-devtools/python/python3-git_3.0.2.bb new file mode 100644 index 000000000..9dd753db4 --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-git_3.0.2.bb @@ -0,0 +1,33 @@ +SUMMARY = "Python library used to interact with Git repositories" +DESCRIPTION = "GitPython provides object model read and write access to \ +a git repository. Access repository information conveniently, alter the \ +index directly, handle remotes, or go down to low-level object database \ +access with big-files support." +HOMEPAGE = "http://github.com/gitpython-developers/GitPython" +SECTION = "devel/python" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=8b8d26c37c1d5a04f9b0186edbebc183" + +PYPI_PACKAGE = "GitPython" + +inherit pypi setuptools3 + +SRC_URI[md5sum] = "ccec14a5c9f18702406122983d80032c" +SRC_URI[sha256sum] = "d2f4945f8260f6981d724f5957bc076398ada55cb5d25aaee10108bcdc894100" + +DEPENDS += " ${PYTHON_PN}-gitdb" + +RDEPENDS_${PN} += " \ + ${PYTHON_PN}-datetime \ + ${PYTHON_PN}-gitdb \ + ${PYTHON_PN}-io \ + ${PYTHON_PN}-logging \ + ${PYTHON_PN}-math \ + ${PYTHON_PN}-netclient \ + ${PYTHON_PN}-stringold \ + ${PYTHON_PN}-unittest \ + ${PYTHON_PN}-unixadmin \ + git \ +" + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/python/python3-pbr_5.4.2.bb b/poky/meta/recipes-devtools/python/python3-pbr_5.4.2.bb deleted file mode 100644 index d59e744e6..000000000 --- a/poky/meta/recipes-devtools/python/python3-pbr_5.4.2.bb +++ /dev/null @@ -1,5 +0,0 @@ -inherit setuptools3 -require python-pbr.inc - -SRC_URI[md5sum] = "ea90e1118a0132da752d45e68d10b2b8" -SRC_URI[sha256sum] = "9b321c204a88d8ab5082699469f52cc94c5da45c51f114113d01b3d993c24cdf" diff --git a/poky/meta/recipes-devtools/python/python3-pbr_5.4.3.bb b/poky/meta/recipes-devtools/python/python3-pbr_5.4.3.bb new file mode 100644 index 000000000..e7835e7a9 --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-pbr_5.4.3.bb @@ -0,0 +1,5 @@ +inherit setuptools3 +require python-pbr.inc + +SRC_URI[md5sum] = "477d2aa285ad97250a172b199f4060b7" +SRC_URI[sha256sum] = "2c8e420cd4ed4cec4e7999ee47409e876af575d4c35a45840d59e8b5f3155ab8" diff --git a/poky/meta/recipes-devtools/python/python3-pip_19.2.2.bb b/poky/meta/recipes-devtools/python/python3-pip_19.2.2.bb deleted file mode 100644 index faafbc157..000000000 --- a/poky/meta/recipes-devtools/python/python3-pip_19.2.2.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] = "2ba0a3b76d39ccd90ca22bfa82fc635f" -SRC_URI[sha256sum] = "e05103825871e210d50a44c7e448587b0ed99dd775d3ef586304c58f40224a53" - -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.2.3.bb b/poky/meta/recipes-devtools/python/python3-pip_19.2.3.bb new file mode 100644 index 000000000..aa7253d3f --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-pip_19.2.3.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] = "f417444c66a0db1a82c8d9d2283a2f95" +SRC_URI[sha256sum] = "e7a31f147974362e6c82d84b91c7f2bdf57e4d3163d3d454e6c3e71944d67135" + +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/python3-manifest.json b/poky/meta/recipes-devtools/python/python3/python3-manifest.json index ec28c2dbb..8e94305af 100644 --- a/poky/meta/recipes-devtools/python/python3/python3-manifest.json +++ b/poky/meta/recipes-devtools/python/python3/python3-manifest.json @@ -115,7 +115,7 @@ "cached": [] }, "asyncio": { - "summary": "Python Asynchronous I/", + "summary": "Python Asynchronous I/O", "rdepends": [ "core", "io", diff --git a/poky/meta/recipes-devtools/python/python3_3.7.4.bb b/poky/meta/recipes-devtools/python/python3_3.7.4.bb index 80c9b2919..14119c33f 100644 --- a/poky/meta/recipes-devtools/python/python3_3.7.4.bb +++ b/poky/meta/recipes-devtools/python/python3_3.7.4.bb @@ -310,7 +310,7 @@ INSANE_SKIP_${PN}-dev += "dev-elf" # catch all the rest (unsorted) PACKAGES += "${PN}-misc" -RDEPENDS_${PN}-misc += "python3-core python3-email python3-codecs" +RDEPENDS_${PN}-misc += "python3-core python3-email python3-codecs python3-pydoc python3-pickle" RDEPENDS_${PN}-modules_append_class-target = " python3-misc" RDEPENDS_${PN}-modules_append_class-nativesdk = " python3-misc" FILES_${PN}-misc = "${libdir}/python${PYTHON_MAJMIN} ${libdir}/python${PYTHON_MAJMIN}/lib-dynload" diff --git a/poky/meta/recipes-devtools/qemu/qemu.inc b/poky/meta/recipes-devtools/qemu/qemu.inc index d2dd2bc9c..241f9dbec 100644 --- a/poky/meta/recipes-devtools/qemu/qemu.inc +++ b/poky/meta/recipes-devtools/qemu/qemu.inc @@ -22,6 +22,7 @@ SRC_URI = "https://download.qemu.org/${BPN}-${PV}.tar.xz \ file://0007-apic-fixup-fallthrough-to-PIC.patch \ file://0008-linux-user-Fix-webkitgtk-hangs-on-32-bit-x86-target.patch \ file://0009-Fix-webkitgtk-builds.patch \ + file://0010-configure-Add-pkg-config-handling-for-libgcrypt.patch \ " UPSTREAM_CHECK_REGEX = "qemu-(?P\d+(\.\d+)+)\.tar" @@ -131,7 +132,7 @@ PACKAGECONFIG[xen] = "--enable-xen,--disable-xen,xen,xen-libxenstore xen-libxenc PACKAGECONFIG[vnc-sasl] = "--enable-vnc --enable-vnc-sasl,--disable-vnc-sasl,cyrus-sasl," PACKAGECONFIG[vnc-jpeg] = "--enable-vnc --enable-vnc-jpeg,--disable-vnc-jpeg,jpeg," PACKAGECONFIG[vnc-png] = "--enable-vnc --enable-vnc-png,--disable-vnc-png,libpng," -PACKAGECONFIG[libcurl] = "--enable-curl,--disable-curl,libcurl," +PACKAGECONFIG[libcurl] = "--enable-curl,--disable-curl,curl," PACKAGECONFIG[nss] = "--enable-smartcard,--disable-smartcard,nss," PACKAGECONFIG[curses] = "--enable-curses,--disable-curses,ncurses," PACKAGECONFIG[gtk+] = "--enable-gtk,--disable-gtk,gtk+3 gettext-native" diff --git a/poky/meta/recipes-devtools/qemu/qemu/0010-configure-Add-pkg-config-handling-for-libgcrypt.patch b/poky/meta/recipes-devtools/qemu/qemu/0010-configure-Add-pkg-config-handling-for-libgcrypt.patch new file mode 100644 index 000000000..a8ab7daa4 --- /dev/null +++ b/poky/meta/recipes-devtools/qemu/qemu/0010-configure-Add-pkg-config-handling-for-libgcrypt.patch @@ -0,0 +1,93 @@ +From 5214dd4461f2090ef0965b4d2518f49927d61cbc Mon Sep 17 00:00:00 2001 +From: He Zhe +Date: Wed, 28 Aug 2019 19:56:28 +0800 +Subject: [Qemu-devel] [PATCH] configure: Add pkg-config handling for libgcrypt + +libgcrypt may also be controlled by pkg-config, this patch adds pkg-config +handling for libgcrypt. + +Upstream-Status: Denied [https://lists.nongnu.org/archive/html/qemu-devel/2019-08/msg06333.html] + +Signed-off-by: He Zhe +--- + configure | 48 ++++++++++++++++++++++++++++++++++++++++-------- + 1 file changed, 40 insertions(+), 8 deletions(-) + +diff --git a/configure b/configure +index e44e454..0f362a7 100755 +--- a/configure ++++ b/configure +@@ -2875,6 +2875,30 @@ has_libgcrypt() { + return 0 + } + ++has_libgcrypt_pkgconfig() { ++ if ! has $pkg_config ; then ++ return 1 ++ fi ++ ++ if ! $pkg_config --list-all | grep libgcrypt > /dev/null 2>&1 ; then ++ return 1 ++ fi ++ ++ if test -n "$cross_prefix" ; then ++ host=$($pkg_config --variable=host libgcrypt) ++ if test "${host%-gnu}-" != "${cross_prefix%-gnu}" ; then ++ print_error "host($host) does not match cross_prefix($cross_prefix)" ++ return 1 ++ fi ++ fi ++ ++ if ! $pkg_config --atleast-version=1.5.0 libgcrypt ; then ++ print_error "libgcrypt version is $($pkg_config --modversion libgcrypt)" ++ return 1 ++ fi ++ ++ return 0 ++} + + if test "$nettle" != "no"; then + pass="no" +@@ -2902,7 +2926,14 @@ fi + + if test "$gcrypt" != "no"; then + pass="no" +- if has_libgcrypt; then ++ if has_libgcrypt_pkgconfig; then ++ gcrypt_cflags=$($pkg_config --cflags libgcrypt) ++ if test "$static" = "yes" ; then ++ gcrypt_libs=$($pkg_config --libs --static libgcrypt) ++ else ++ gcrypt_libs=$($pkg_config --libs libgcrypt) ++ fi ++ elif has_libgcrypt; then + gcrypt_cflags=$(libgcrypt-config --cflags) + gcrypt_libs=$(libgcrypt-config --libs) + # Debian has removed -lgpg-error from libgcrypt-config +@@ -2912,15 +2943,16 @@ if test "$gcrypt" != "no"; then + then + gcrypt_libs="$gcrypt_libs -lgpg-error" + fi ++ fi + +- # Link test to make sure the given libraries work (e.g for static). +- write_c_skeleton +- if compile_prog "" "$gcrypt_libs" ; then +- LIBS="$gcrypt_libs $LIBS" +- QEMU_CFLAGS="$QEMU_CFLAGS $gcrypt_cflags" +- pass="yes" +- fi ++ # Link test to make sure the given libraries work (e.g for static). ++ write_c_skeleton ++ if compile_prog "" "$gcrypt_libs" ; then ++ LIBS="$gcrypt_libs $LIBS" ++ QEMU_CFLAGS="$QEMU_CFLAGS $gcrypt_cflags" ++ pass="yes" + fi ++ + if test "$pass" = "yes"; then + gcrypt="yes" + cat > $TMPC << EOF +-- +2.7.4 + diff --git a/poky/meta/recipes-devtools/qemu/qemu_4.1.0.bb b/poky/meta/recipes-devtools/qemu/qemu_4.1.0.bb index 76776098d..f0c1daabe 100644 --- a/poky/meta/recipes-devtools/qemu/qemu_4.1.0.bb +++ b/poky/meta/recipes-devtools/qemu/qemu_4.1.0.bb @@ -2,6 +2,10 @@ BBCLASSEXTEND = "nativesdk" require qemu.inc +# error: a parameter list without types is only allowed in a function definition +# void (*_function)(sigval_t); +COMPATIBLE_HOST_libc-musl = 'null' + DEPENDS = "glib-2.0 zlib pixman bison-native" RDEPENDS_${PN}_class-target += "bash" diff --git a/poky/meta/recipes-devtools/rpm/files/0001-mono-find-provides-requires-do-not-use-monodis-from-.patch b/poky/meta/recipes-devtools/rpm/files/0001-mono-find-provides-requires-do-not-use-monodis-from-.patch new file mode 100644 index 000000000..24aa4c7ff --- /dev/null +++ b/poky/meta/recipes-devtools/rpm/files/0001-mono-find-provides-requires-do-not-use-monodis-from-.patch @@ -0,0 +1,58 @@ +From 43fbc3f53302a395463e8450ac81c53f623eec3f Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin +Date: Tue, 27 Aug 2019 17:42:34 +0200 +Subject: [PATCH] mono-find-provides/requires: do not use monodis from the host + +There was a host contamination issue here: if monodis was installed +on the host, do_package would use that to resolve dependencies +of mono libraries (and often fail in that). Without monodis, +no dependencies are resolved, which is seemingly how things +are supposed to work. + +Upstream-Status: Inappropriate [oe-core specific] +Signed-off-by: Alexander Kanavin +--- + scripts/mono-find-provides | 8 ++++---- + scripts/mono-find-requires | 8 ++++---- + 2 files changed, 8 insertions(+), 8 deletions(-) + +diff --git a/scripts/mono-find-provides b/scripts/mono-find-provides +index 9348457d3..b28872ffb 100644 +--- a/scripts/mono-find-provides ++++ b/scripts/mono-find-provides +@@ -18,11 +18,11 @@ monolist=($(printf "%s\n" "${filelist[@]}" | grep -E "\\.(exe|dll)\$")) + build_bindir="$2/usr/bin" + build_libdir="$2$3" + +-if [ -x $build_bindir/monodis ]; then +- monodis="$build_bindir/monodis" ++if [ -x $build_bindir/monodis.bogus ]; then ++ monodis="$build_bindir/monodis.bogus" + export LD_LIBRARY_PATH=$build_libdir${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH} +-elif [ -x /usr/bin/monodis ]; then +- monodis="/usr/bin/monodis" ++elif [ -x /usr/bin/monodis.bogus ]; then ++ monodis="/usr/bin/monodis.bogus" + else + exit 0; + fi +diff --git a/scripts/mono-find-requires b/scripts/mono-find-requires +index ea58cae48..d270169e1 100644 +--- a/scripts/mono-find-requires ++++ b/scripts/mono-find-requires +@@ -18,11 +18,11 @@ monolist=($(printf "%s\n" "${filelist[@]}" | grep -E "\\.(exe|dll)\$")) + build_bindir="$2/usr/bin" + build_libdir="$2$3" + +-if [ -x $build_bindir/monodis ]; then +- monodis="$build_bindir/monodis" ++if [ -x $build_bindir/monodis.bogus ]; then ++ monodis="$build_bindir/monodis.bogus" + export LD_LIBRARY_PATH=$build_libdir${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH} +-elif [ -x /usr/bin/monodis ]; then +- monodis="/usr/bin/monodis" ++elif [ -x /usr/bin/monodis.bogus ]; then ++ monodis="/usr/bin/monodis.bogus" + else + exit 0; + fi diff --git a/poky/meta/recipes-devtools/rpm/rpm_4.14.2.1.bb b/poky/meta/recipes-devtools/rpm/rpm_4.14.2.1.bb index 063f4269a..c37330eb4 100644 --- a/poky/meta/recipes-devtools/rpm/rpm_4.14.2.1.bb +++ b/poky/meta/recipes-devtools/rpm/rpm_4.14.2.1.bb @@ -41,6 +41,7 @@ SRC_URI = "git://github.com/rpm-software-management/rpm;branch=rpm-4.14.x \ file://0001-perl-disable-auto-reqs.patch \ file://0001-rpm-rpmio.c-restrict-virtual-memory-usage-if-limit-s.patch \ file://0016-rpmscript.c-change-logging-level-around-scriptlets-t.patch \ + file://0001-mono-find-provides-requires-do-not-use-monodis-from-.patch \ " PE = "1" diff --git a/poky/meta/recipes-devtools/subversion/subversion/subversion-1.12.0-apr_1.7.0_fix-1.patch b/poky/meta/recipes-devtools/subversion/subversion/subversion-1.12.0-apr_1.7.0_fix-1.patch deleted file mode 100644 index f0edd5fe8..000000000 --- a/poky/meta/recipes-devtools/subversion/subversion/subversion-1.12.0-apr_1.7.0_fix-1.patch +++ /dev/null @@ -1,107 +0,0 @@ -From b147803553237654f8268e831dee8fed4989ad3b Mon Sep 17 00:00:00 2001 -From: Hongxu Jia -Date: Sat, 11 May 2019 14:46:39 +0800 -Subject: [PATCH] Submitted By: Pierre Labastie (pierre dot labastie at neuf - dot fr) Date: 2019-04-17 Initial Package Version: 1.11.1 Origin: Upstream - revision 1857391 Upstream Status: Committed Description: Get rid of - apr_int64_t format string check in swig py configure. - -This check relied on APR implementation details and broke with APR 1.7.0. -Rather than trying to guess a perfect format string to use, just use the -largest possible format and cast the argument accordingly. - -Should fix build against APR 1.7.0 and later. - -Suggested by: brane - -* build/ac-macros/swig.m4: Remove code related to SVN_APR_INT64_T_PYCFMT. - -* subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c - (svn_swig_py_client_blame_receiver_func): Stop relying on the - SVN_APR_INT64_T_PYCFMT constant from configure. Use "L" and - acast to PY_LONG_LONG instead. - -Upstream-Status: Backport [www.linuxfromscratch.org/patches/blfs/svn/subversion-1.12.0-apr_1.7.0_fix-1.patch] - -Signed-off-by: Hongxu Jia ---- - build/ac-macros/swig.m4 | 35 ---------------------- - .../swig/python/libsvn_swig_py/swigutil_py.c | 9 +++--- - 2 files changed, 4 insertions(+), 40 deletions(-) - -diff --git a/build/ac-macros/swig.m4 b/build/ac-macros/swig.m4 -index 55501fb..2963872 100644 ---- a/build/ac-macros/swig.m4 -+++ b/build/ac-macros/swig.m4 -@@ -128,41 +128,6 @@ AC_DEFUN(SVN_FIND_SWIG, - ac_cv_python_libs="`$PYTHON ${abs_srcdir}/build/get-py-info.py --libs`" - ]) - SWIG_PY_LIBS="`SVN_REMOVE_STANDARD_LIB_DIRS($ac_cv_python_libs)`" -- -- dnl Sun Forte adds an extra space before substituting APR_INT64_T_FMT -- dnl gcc-2.95 adds an extra space after substituting APR_INT64_T_FMT -- dnl thus the egrep patterns have a + in them. -- SVN_PYCFMT_SAVE_CPPFLAGS="$CPPFLAGS" -- CPPFLAGS="$CPPFLAGS $SVN_APR_INCLUDES" -- AC_CACHE_CHECK([for apr_int64_t Python/C API format string], -- [svn_cv_pycfmt_apr_int64_t], [ -- if test "x$svn_cv_pycfmt_apr_int64_t" = "x"; then -- AC_EGREP_CPP([MaTcHtHiS +\"lld\" +EnDeNd], -- [#include -- MaTcHtHiS APR_INT64_T_FMT EnDeNd], -- [svn_cv_pycfmt_apr_int64_t="L"]) -- fi -- if test "x$svn_cv_pycfmt_apr_int64_t" = "x"; then -- AC_EGREP_CPP([MaTcHtHiS +\"ld\" +EnDeNd],r -- [#include -- MaTcHtHiS APR_INT64_T_FMT EnDeNd], -- [svn_cv_pycfmt_apr_int64_t="l"]) -- fi -- if test "x$svn_cv_pycfmt_apr_int64_t" = "x"; then -- AC_EGREP_CPP([MaTcHtHiS +\"d\" +EnDeNd], -- [#include -- MaTcHtHiS APR_INT64_T_FMT EnDeNd], -- [svn_cv_pycfmt_apr_int64_t="i"]) -- fi -- ]) -- CPPFLAGS="$SVN_PYCFMT_SAVE_CPPFLAGS" -- if test "x$svn_cv_pycfmt_apr_int64_t" = "x"; then -- AC_MSG_ERROR([failed to recognize APR_INT64_T_FMT on this platform]) -- fi -- AC_DEFINE_UNQUOTED([SVN_APR_INT64_T_PYCFMT], -- ["$svn_cv_pycfmt_apr_int64_t"], -- [Define to the Python/C API format character suitable] -- [ for apr_int64_t]) - fi - - if test "$PERL" != "none"; then -diff --git a/subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c b/subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c -index 2c90a6a..abe5a2a 100644 ---- a/subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c -+++ b/subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c -@@ -46,7 +46,7 @@ - #include "svn_mergeinfo.h" - #include "svn_types.h" - --#include "svn_private_config.h" /* for SVN_APR_INT64_T_PYCFMT */ -+#include "svn_private_config.h" - - #include "swig_python_external_runtime.swg" - #include "swigutil_py.h" -@@ -3394,10 +3394,9 @@ svn_error_t *svn_swig_py_client_blame_receiver_func(void *baton, - svn_swig_py_acquire_py_lock(); - - if ((result = PyObject_CallFunction(receiver, -- (char *) -- (SVN_APR_INT64_T_PYCFMT "lsssO&"), -- line_no, revision, author, date, line, -- make_ob_pool, pool)) == NULL) -+ (char *)"LlsssO&", -+ (PY_LONG_LONG)line_no, revision, author, -+ date, line, make_ob_pool, pool)) == NULL) - { - err = callback_exception_error(); - } --- -2.7.4 - diff --git a/poky/meta/recipes-devtools/subversion/subversion_1.12.0.bb b/poky/meta/recipes-devtools/subversion/subversion_1.12.0.bb deleted file mode 100644 index f1ac1dcfd..000000000 --- a/poky/meta/recipes-devtools/subversion/subversion_1.12.0.bb +++ /dev/null @@ -1,62 +0,0 @@ -SUMMARY = "Subversion (svn) version control system client" -HOMEPAGE = "http://subversion.apache.org" -SECTION = "console/network" -LICENSE = "Apache-2 & MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=6487ae7094d359fa90fb9c4096e52e2b" - -DEPENDS = "apr-util serf sqlite3 file lz4" -DEPENDS_append_class-native = " file-replacement-native" - -SRC_URI = "${APACHE_MIRROR}/${BPN}/${BPN}-${PV}.tar.bz2 \ - file://disable_macos.patch \ - file://0001-Fix-libtool-name-in-configure.ac.patch \ - file://serfmacro.patch \ - file://subversion-1.12.0-apr_1.7.0_fix-1.patch \ - " - -SRC_URI[md5sum] = "be4f5c0b1b38a5d82bd6d16a16ff1346" -SRC_URI[sha256sum] = "7fae7c73d8a007c107c0ae5eb372bc0bb013dbfe966fcd5c59cd5a195a5e2edf" - -inherit autotools pkgconfig gettext - -CVE_PRODUCT = "apache:subversion" - -PACKAGECONFIG ?= "" - -PACKAGECONFIG[boost] = "--with-boost=${RECIPE_SYSROOT}${exec_prefix},--without-boost,boost" -PACKAGECONFIG[sasl] = "--with-sasl,--without-sasl,cyrus-sasl" -PACKAGECONFIG[gnome-keyring] = "--with-gnome-keyring,--without-gnome-keyring,glib-2.0 gnome-keyring" - -EXTRA_OECONF = " \ - --with-apr=${STAGING_BINDIR_CROSS} \ - --with-apr-util=${STAGING_BINDIR_CROSS} \ - --without-apxs \ - --without-berkeley-db \ - --without-swig \ - --disable-keychain \ - --with-utf8proc=internal \ - ac_cv_path_RUBY=none \ -" - -acpaths = "-I build/ -I build/ac-macros/" - -CPPFLAGS += "-P" -BUILD_CPPFLAGS += "-P" - -do_configure_prepend () { - rm -f ${S}/libtool - rm -f ${S}/build/libtool.m4 ${S}/build/ltmain.sh ${S}/build/ltoptions.m4 ${S}/build/ltsugar.m4 ${S}/build/ltversion.m4 ${S}/build/lt~obsolete.m4 - rm -f ${S}/aclocal.m4 - sed -i -e 's:with_sasl="/usr/local":with_sasl="${STAGING_DIR}":' ${S}/build/ac-macros/sasl.m4 -} - -#| x86_64-linux-libtool: install: warning: `/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-qa-logrotate/build/build/tmp/work/x86_64-linux/subversion-native/1.8.9-r0/build/subversion/libsvn_ra_local/libsvn_ra_local-1.la' has not been installed in `/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-qa-logrotate/build/build/tmp/sysroots/x86_64-linux/usr/lib'| x86_64-linux-libtool: install: warning: `/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-qa-logrotate/build/build/tmp/work/x86_64-linux/subversion-native/1.8.9-r0/build/subversion/libsvn_repos/libsvn_repos-1.la' has not been installed in `/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-qa-logrotate/build/build/tmp/sysroots/x86_64-linux/usr/lib'| /usr/bin/ld: cannot find -lsvn_delta-1| collect2: ld returned 1 exit status| x86_64-linux-libtool: install: warning: `/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-qa-logrotate/build/build/tmp/work/x86_64-linux/subversion-native/1.8.9-r0/build/subversion/libsvn_ra_svn/libsvn_ra_svn-1.la' has not been installed in `/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-qa-logrotate/build/build/tmp/sysroots/x86_64-linux/usr/lib'| x86_64-linux-libtool: install: warning: `/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-qa-logrotate/build/build/tmp/work/x86_64-linux/subversion-native/1.8.9-r0/build/subversion/libsvn_ra_serf/libsvn_ra_serf-1.la' has not been installed in `/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-qa-logrotate/build/build/tmp/sysroots/x86_64-linux/usr/lib' -#| x86_64-linux-libtool: install: error: relink `libsvn_ra_serf-1.la' with the above command before installing it -#| x86_64-linux-libtool: install: warning: `../../subversion/libsvn_repos/libsvn_repos-1.la' has not been installed in `/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-qa-logrotate/build/build/tmp/sysroots/x86_64-linux/usr/lib' -#| /home/pokybuild/yocto-autobuilder/yocto-worker/nightly-qa-logrotate/build/build/tmp/work/x86_64-linux/subversion-native/1.8.9-r0/subversion-1.8.9/build-outputs.mk:1090: recipe for target 'install-serf-lib' failed -#| make: *** [install-serf-lib] Error 1 -PARALLEL_MAKEINST = "" - -RDEPENDS_${PN} = "serf" - -BBCLASSEXTEND = "native" diff --git a/poky/meta/recipes-devtools/subversion/subversion_1.12.2.bb b/poky/meta/recipes-devtools/subversion/subversion_1.12.2.bb new file mode 100644 index 000000000..4ffa1c584 --- /dev/null +++ b/poky/meta/recipes-devtools/subversion/subversion_1.12.2.bb @@ -0,0 +1,61 @@ +SUMMARY = "Subversion (svn) version control system client" +HOMEPAGE = "http://subversion.apache.org" +SECTION = "console/network" +LICENSE = "Apache-2 & MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=6487ae7094d359fa90fb9c4096e52e2b" + +DEPENDS = "apr-util serf sqlite3 file lz4" +DEPENDS_append_class-native = " file-replacement-native" + +SRC_URI = "${APACHE_MIRROR}/${BPN}/${BPN}-${PV}.tar.bz2 \ + file://disable_macos.patch \ + file://0001-Fix-libtool-name-in-configure.ac.patch \ + file://serfmacro.patch \ + " + +SRC_URI[md5sum] = "1ff249f848f834ded88536543e031975" +SRC_URI[sha256sum] = "3bd0b5c8e4c5175263dc9a92fd9aef94ce917e80af034f26fe5c45fde7e0f771" + +inherit autotools pkgconfig gettext + +CVE_PRODUCT = "apache:subversion" + +PACKAGECONFIG ?= "" + +PACKAGECONFIG[boost] = "--with-boost=${RECIPE_SYSROOT}${exec_prefix},--without-boost,boost" +PACKAGECONFIG[sasl] = "--with-sasl,--without-sasl,cyrus-sasl" +PACKAGECONFIG[gnome-keyring] = "--with-gnome-keyring,--without-gnome-keyring,glib-2.0 gnome-keyring" + +EXTRA_OECONF = " \ + --with-apr=${STAGING_BINDIR_CROSS} \ + --with-apr-util=${STAGING_BINDIR_CROSS} \ + --without-apxs \ + --without-berkeley-db \ + --without-swig \ + --disable-keychain \ + --with-utf8proc=internal \ + ac_cv_path_RUBY=none \ +" + +acpaths = "-I build/ -I build/ac-macros/" + +CPPFLAGS += "-P" +BUILD_CPPFLAGS += "-P" + +do_configure_prepend () { + rm -f ${S}/libtool + rm -f ${S}/build/libtool.m4 ${S}/build/ltmain.sh ${S}/build/ltoptions.m4 ${S}/build/ltsugar.m4 ${S}/build/ltversion.m4 ${S}/build/lt~obsolete.m4 + rm -f ${S}/aclocal.m4 + sed -i -e 's:with_sasl="/usr/local":with_sasl="${STAGING_DIR}":' ${S}/build/ac-macros/sasl.m4 +} + +#| x86_64-linux-libtool: install: warning: `/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-qa-logrotate/build/build/tmp/work/x86_64-linux/subversion-native/1.8.9-r0/build/subversion/libsvn_ra_local/libsvn_ra_local-1.la' has not been installed in `/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-qa-logrotate/build/build/tmp/sysroots/x86_64-linux/usr/lib'| x86_64-linux-libtool: install: warning: `/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-qa-logrotate/build/build/tmp/work/x86_64-linux/subversion-native/1.8.9-r0/build/subversion/libsvn_repos/libsvn_repos-1.la' has not been installed in `/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-qa-logrotate/build/build/tmp/sysroots/x86_64-linux/usr/lib'| /usr/bin/ld: cannot find -lsvn_delta-1| collect2: ld returned 1 exit status| x86_64-linux-libtool: install: warning: `/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-qa-logrotate/build/build/tmp/work/x86_64-linux/subversion-native/1.8.9-r0/build/subversion/libsvn_ra_svn/libsvn_ra_svn-1.la' has not been installed in `/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-qa-logrotate/build/build/tmp/sysroots/x86_64-linux/usr/lib'| x86_64-linux-libtool: install: warning: `/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-qa-logrotate/build/build/tmp/work/x86_64-linux/subversion-native/1.8.9-r0/build/subversion/libsvn_ra_serf/libsvn_ra_serf-1.la' has not been installed in `/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-qa-logrotate/build/build/tmp/sysroots/x86_64-linux/usr/lib' +#| x86_64-linux-libtool: install: error: relink `libsvn_ra_serf-1.la' with the above command before installing it +#| x86_64-linux-libtool: install: warning: `../../subversion/libsvn_repos/libsvn_repos-1.la' has not been installed in `/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-qa-logrotate/build/build/tmp/sysroots/x86_64-linux/usr/lib' +#| /home/pokybuild/yocto-autobuilder/yocto-worker/nightly-qa-logrotate/build/build/tmp/work/x86_64-linux/subversion-native/1.8.9-r0/subversion-1.8.9/build-outputs.mk:1090: recipe for target 'install-serf-lib' failed +#| make: *** [install-serf-lib] Error 1 +PARALLEL_MAKEINST = "" + +RDEPENDS_${PN} = "serf" + +BBCLASSEXTEND = "native" diff --git a/poky/meta/recipes-devtools/systemd-bootchart/systemd-bootchart_233.bb b/poky/meta/recipes-devtools/systemd-bootchart/systemd-bootchart_233.bb index 1ae21b1fb..b0433e0e9 100644 --- a/poky/meta/recipes-devtools/systemd-bootchart/systemd-bootchart_233.bb +++ b/poky/meta/recipes-devtools/systemd-bootchart/systemd-bootchart_233.bb @@ -33,5 +33,5 @@ do_configure_prepend() { FILES_${PN} += "${systemd_unitdir}/systemd-bootchart" -EXTRA_OECONF = " --with-rootprefix=${base_prefix} \ +EXTRA_OECONF = " --with-rootprefix=${root_prefix} \ --with-rootlibdir=${base_libdir}" diff --git a/poky/meta/recipes-extended/cups/cups.inc b/poky/meta/recipes-extended/cups/cups.inc index 46fb2dded..e303f3424 100644 --- a/poky/meta/recipes-extended/cups/cups.inc +++ b/poky/meta/recipes-extended/cups/cups.inc @@ -67,7 +67,7 @@ do_install () { # Remove /var/run from package as cupsd will populate it on startup rm -fr ${D}/${localstatedir}/run - rmdir ${D}/${libdir}/${BPN}/driver + rmdir ${D}/${libexecdir}/${BPN}/driver # Fix the pam configuration file permissions if ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'true', 'false', d)}; then diff --git a/poky/meta/recipes-extended/cups/cups/cups_serverbin.patch b/poky/meta/recipes-extended/cups/cups/cups_serverbin.patch index f7b44a7bc..85c6af107 100644 --- a/poky/meta/recipes-extended/cups/cups/cups_serverbin.patch +++ b/poky/meta/recipes-extended/cups/cups/cups_serverbin.patch @@ -4,6 +4,12 @@ e.g. ppc64 where base libdir is lib64 this does not go well Signed-off-by: Khem Raj Upstream-Status: Inappropriate [OE config specific] +Update on 20190904: +Redefine CUPS_SERVERBIN to "$libexecdir/cups" which solves file confliction +when multilib is enabled. + +Signed-off-by: Kai Kang + Index: cups-1.4.6/config-scripts/cups-directories.m4 =================================================================== --- cups-1.4.6.orig/config-scripts/cups-directories.m4 2009-04-12 16:04:51.000000000 -0700 @@ -13,7 +19,7 @@ Index: cups-1.4.6/config-scripts/cups-directories.m4 # All others INSTALL_SYSV="install-sysv" - CUPS_SERVERBIN="$exec_prefix/lib/cups" -+ CUPS_SERVERBIN="$libdir/cups" ++ CUPS_SERVERBIN="$libexecdir/cups" ;; esac @@ -26,7 +32,7 @@ Index: cups-1.4.6/configure # All others INSTALL_SYSV="install-sysv" - CUPS_SERVERBIN="$exec_prefix/lib/cups" -+ CUPS_SERVERBIN="$libdir/cups" ++ CUPS_SERVERBIN="$libexecdir/cups" ;; esac diff --git a/poky/meta/recipes-extended/diffutils/diffutils/0001-Skip-strip-trailing-cr-test-case.patch b/poky/meta/recipes-extended/diffutils/diffutils/0001-Skip-strip-trailing-cr-test-case.patch new file mode 100644 index 000000000..aac1c4346 --- /dev/null +++ b/poky/meta/recipes-extended/diffutils/diffutils/0001-Skip-strip-trailing-cr-test-case.patch @@ -0,0 +1,35 @@ +From bd7fb8be2ae2d75347cf7733302d5093046ffa85 Mon Sep 17 00:00:00 2001 +From: Peiran Hong +Date: Thu, 5 Sep 2019 15:42:22 -0400 +Subject: [PATCH] Skip strip-trailing-cr test case + +Skip the test "strip-trailing-cr" since it requires valgrind to +work, but valgrind is considered too heavy-weight for diffutils +package. + +Upstream-Status: Inappropriate [embedded specific] + +Signed-off-by: Peiran Hong +--- + tests/Makefile.am | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/tests/Makefile.am b/tests/Makefile.am +index 83a7c9d..04d51b5 100644 +--- a/tests/Makefile.am ++++ b/tests/Makefile.am +@@ -21,8 +21,10 @@ TESTS = \ + stdin \ + strcoll-0-names \ + filename-quoting \ +- strip-trailing-cr \ + colors ++# Skipping this test since it requires valgrind ++# and thus is too heavy for diffutils package ++# strip-trailing-cr + + XFAIL_TESTS = large-subopt + +-- +2.21.0 + diff --git a/poky/meta/recipes-extended/diffutils/diffutils_3.7.bb b/poky/meta/recipes-extended/diffutils/diffutils_3.7.bb index 7daeee351..8111ae606 100644 --- a/poky/meta/recipes-extended/diffutils/diffutils_3.7.bb +++ b/poky/meta/recipes-extended/diffutils/diffutils_3.7.bb @@ -5,6 +5,7 @@ require diffutils.inc SRC_URI = "${GNU_MIRROR}/diffutils/diffutils-${PV}.tar.xz \ file://run-ptest \ + file://0001-Skip-strip-trailing-cr-test-case.patch \ " SRC_URI[md5sum] = "4824adc0e95dbbf11dfbdfaad6a1e461" @@ -17,7 +18,7 @@ acpaths = "-I ./m4" inherit ptest -RDEPENDS_${PN}-ptest += "make" +RDEPENDS_${PN}-ptest += "make perl" do_install_ptest() { t=${D}${PTEST_PATH} diff --git a/poky/meta/recipes-extended/gzip/gzip_1.10.bb b/poky/meta/recipes-extended/gzip/gzip_1.10.bb index 5ab99d0b1..50dad7bf5 100644 --- a/poky/meta/recipes-extended/gzip/gzip_1.10.bb +++ b/poky/meta/recipes-extended/gzip/gzip_1.10.bb @@ -14,7 +14,7 @@ PROVIDES_append_class-native = " gzip-replacement-native" RDEPENDS_${PN}-ptest += "make perl perl-ptest grep diffutils" -BBCLASSEXTEND = "native" +BBCLASSEXTEND = "native nativesdk" inherit ptest diff --git a/poky/meta/recipes-extended/images/core-image-lsb-dev.bb b/poky/meta/recipes-extended/images/core-image-lsb-dev.bb deleted file mode 100644 index d2dc9e2b5..000000000 --- a/poky/meta/recipes-extended/images/core-image-lsb-dev.bb +++ /dev/null @@ -1,7 +0,0 @@ -require core-image-lsb.bb - -DESCRIPTION = "Basic image without X support suitable for development work. It \ -can be used for customization and implementations that conform to Linux \ -Standard Base (LSB)." - -IMAGE_FEATURES += "dev-pkgs" diff --git a/poky/meta/recipes-extended/images/core-image-lsb-sdk.bb b/poky/meta/recipes-extended/images/core-image-lsb-sdk.bb deleted file mode 100644 index a3d602edd..000000000 --- a/poky/meta/recipes-extended/images/core-image-lsb-sdk.bb +++ /dev/null @@ -1,12 +0,0 @@ -require core-image-lsb.bb - -DESCRIPTION = "Basic image without X support suitable for Linux Standard Base \ -(LSB) implementations. It includes the full meta-toolchain, plus development \ -headers and libraries to form a standalone SDK." - -IMAGE_FEATURES += "tools-sdk dev-pkgs tools-debug eclipse-debug tools-profile tools-testapps debug-tweaks" - -IMAGE_INSTALL += "kernel-devsrc" - -# Reduce this to try and keep below the 4GB image size for now -IMAGE_OVERHEAD_FACTOR = "1.2" diff --git a/poky/meta/recipes-extended/images/core-image-lsb.bb b/poky/meta/recipes-extended/images/core-image-lsb.bb deleted file mode 100644 index ab61c6e6d..000000000 --- a/poky/meta/recipes-extended/images/core-image-lsb.bb +++ /dev/null @@ -1,14 +0,0 @@ -DESCRIPTION = "An image containing packages that are required to conform \ -to the Linux Standard Base (LSB) specification." - -IMAGE_FEATURES += "splash ssh-server-openssh hwcodecs package-management" - -IMAGE_INSTALL = "\ - ${CORE_IMAGE_BASE_INSTALL} \ - packagegroup-core-full-cmdline \ - packagegroup-core-lsb \ - " - -inherit core-image distro_features_check - -REQUIRED_DISTRO_FEATURES = "pam" diff --git a/poky/meta/recipes-extended/iputils/iputils/ai_canonidn.patch b/poky/meta/recipes-extended/iputils/iputils/ai_canonidn.patch deleted file mode 100644 index cd91267b7..000000000 --- a/poky/meta/recipes-extended/iputils/iputils/ai_canonidn.patch +++ /dev/null @@ -1,58 +0,0 @@ -From 714e2b458c151c5bdfe93647445cd00dd8e36fff Mon Sep 17 00:00:00 2001 -From: Petr Vorel -Date: Sat, 21 Jul 2018 17:46:14 +0200 -Subject: [PATCH] ping: Fix AI_CANONIDN usage on some systems - -Upstream-Status: Backport -Signed-off-by: Ross Burton - -Commit 99f67db used AI_CANONIDN in a way, which broke compilation on -systems where AI_CANONIDN is not defined in netdb.h (e.g. glibc < 2.3.4, -alternative libcs that don't support IDN: e.g. current musl 1.1.19 and -uClibc-ng 1.0.30) when not using the system libidn2. - -Fixes: 99f67db ping: Fix ping name encoded using ACE on C locale - -Reported-by: Nicholas Fish -Signed-off-by: Petr Vorel - ---- - ping.c | 2 +- - ping.h | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/ping.c b/ping.c -index 733477f..b241815 100644 ---- a/ping.c -+++ b/ping.c -@@ -207,9 +207,9 @@ main(int argc, char **argv) - - #ifdef USE_IDN - setlocale(LC_ALL, ""); --#endif - if (!strcmp(setlocale(LC_ALL, NULL), "C")) - hints.ai_flags &= ~ AI_CANONIDN; -+#endif - - /* Support being called using `ping4` or `ping6` symlinks */ - if (argv[0][strlen(argv[0])-1] == '4') -diff --git a/ping.h b/ping.h -index 3e09685..8a0c4ef 100644 ---- a/ping.h -+++ b/ping.h -@@ -28,7 +28,6 @@ - #include - #include - #include --#include - - #ifdef CAPABILITIES - #include -@@ -36,6 +35,7 @@ - #endif - - #ifdef USE_IDN -+#include - #include - #define getaddrinfo_flags (AI_CANONNAME | AI_IDN | AI_CANONIDN) - #define getnameinfo_flags NI_IDN diff --git a/poky/meta/recipes-extended/iputils/iputils/install.patch b/poky/meta/recipes-extended/iputils/iputils/install.patch deleted file mode 100644 index abfefd7a5..000000000 --- a/poky/meta/recipes-extended/iputils/iputils/install.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 5c8c3b04d73304679340f893636e87691992053b Mon Sep 17 00:00:00 2001 -From: Ross Burton -Date: Mon, 23 Jul 2018 14:21:03 +0100 -Subject: [PATCH] Add install - -Add a simple install rule so that we always install the binaries that were built. - -Upstream-Status: Inappropriate -Signed-off-by: Ross Burton - ---- - Makefile | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/Makefile b/Makefile -index 17fc5c9..e0c2784 100644 ---- a/Makefile -+++ b/Makefile -@@ -231,3 +231,7 @@ rpm: - @$(RPMBUILD) -ta --define 'current yes' $(RPMTMP)/iputils.tar.bz2 - @rm -f $(RPMTMP)/iputils.tar.bz2 - -+install: -+ for t in $(TARGETS); do \ -+ install -D $$t $(DESTDIR)$(bindir)/$$t; \ -+ done diff --git a/poky/meta/recipes-extended/iputils/iputils_s20180629.bb b/poky/meta/recipes-extended/iputils/iputils_s20180629.bb deleted file mode 100644 index eff44be1b..000000000 --- a/poky/meta/recipes-extended/iputils/iputils_s20180629.bb +++ /dev/null @@ -1,61 +0,0 @@ -SUMMARY = "Network monitoring tools" -DESCRIPTION = "Utilities for the IP protocol, including traceroute6, \ -tracepath, tracepath6, ping, ping6 and arping." -HOMEPAGE = "https://github.com/iputils/iputils" -SECTION = "console/network" - -LICENSE = "BSD & GPLv2+" - -LIC_FILES_CHKSUM = "file://LICENSE;md5=b792e38abdc59f766a3153908f23e766 \ - file://LICENSE.BSD3;md5=0f00d99239d922ffd13cabef83b33444 \ - file://LICENSE.GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263" - -DEPENDS = "gnutls libcap libgcrypt" - -SRC_URI = "git://github.com/iputils/iputils \ - file://ai_canonidn.patch \ - file://install.patch" -SRCREV = "f6aac8dbe3f8c45c53424854a3312bdd8cdd58d3" - -S = "${WORKDIR}/git" - -UPSTREAM_CHECK_GITTAGREGEX = "(?Ps\d+)" - -EXTRA_OEMAKE = "-e MAKEFLAGS=" - -PACKAGECONFIG ??= "" -PACKAGECONFIG[libidn] = "USE_IDN=yes,USE_IDN=no,libidn2" - -do_compile () { - oe_runmake 'CC=${CC} -D_GNU_SOURCE' VPATH="${STAGING_LIBDIR}:${STAGING_DIR_HOST}/${base_libdir}" ${PACKAGECONFIG_CONFARGS} all -} - -do_install() { - oe_runmake DESTDIR=${D} bindir=${base_bindir} install - for b in ping traceroute6 clockdiff; do - chmod u+s ${D}${base_bindir}/$b - done -} - -inherit update-alternatives - -ALTERNATIVE_PRIORITY = "100" - -ALTERNATIVE_${PN}-ping = "ping" -ALTERNATIVE_LINK_NAME[ping] = "${base_bindir}/ping" - -SPLITPKGS = "${PN}-ping ${PN}-arping ${PN}-tracepath ${PN}-traceroute6 ${PN}-clockdiff ${PN}-tftpd ${PN}-rarpd ${PN}-rdisc" -PACKAGES += "${SPLITPKGS}" - -ALLOW_EMPTY_${PN} = "1" -RDEPENDS_${PN} += "${SPLITPKGS}" - -FILES_${PN} = "" -FILES_${PN}-ping = "${base_bindir}/ping.${BPN}" -FILES_${PN}-arping = "${base_bindir}/arping" -FILES_${PN}-tracepath = "${base_bindir}/tracepath" -FILES_${PN}-traceroute6 = "${base_bindir}/traceroute6" -FILES_${PN}-clockdiff = "${base_bindir}/clockdiff" -FILES_${PN}-tftpd = "${base_bindir}/tftpd" -FILES_${PN}-rarpd = "${base_bindir}/rarpd" -FILES_${PN}-rdisc = "${base_bindir}/rdisc" diff --git a/poky/meta/recipes-extended/iputils/iputils_s20190709.bb b/poky/meta/recipes-extended/iputils/iputils_s20190709.bb new file mode 100644 index 000000000..d8f2470d0 --- /dev/null +++ b/poky/meta/recipes-extended/iputils/iputils_s20190709.bb @@ -0,0 +1,55 @@ +SUMMARY = "Network monitoring tools" +DESCRIPTION = "Utilities for the IP protocol, including traceroute6, \ +tracepath, tracepath6, ping, ping6 and arping." +HOMEPAGE = "https://github.com/iputils/iputils" +SECTION = "console/network" + +LICENSE = "BSD & GPLv2+" + +LIC_FILES_CHKSUM = "file://LICENSE;md5=55aa8c9fcad0691cef0ecd420361e390" + +DEPENDS = "gnutls" + +SRC_URI = "git://github.com/iputils/iputils" +SRCREV = "13e00847176aa23683d68fce1d17ffb523510946" + +S = "${WORKDIR}/git" + +UPSTREAM_CHECK_GITTAGREGEX = "(?Ps\d+)" + +PACKAGECONFIG ??= "libcap libgcrypt rarpd traceroute6" +PACKAGECONFIG[libcap] = "-DUSE_CAP=true, -DUSE_CAP=false, libcap" +PACKAGECONFIG[libgcrypt] = "-DUSE_CRYPTO=gcrypt, -DUSE_CRYPTO=none, libgcrypt" +PACKAGECONFIG[libidn] = "-DUSE_IDN=true, -DUSE_IDN=false, libidn2" +PACKAGECONFIG[gettext] = "-DUSE_GETTEXT=true, -DUSE_GETTEXT=false, gettext" +PACKAGECONFIG[rarpd] = "-DBUILD_RARPD=true,-DBUILD_RARPD=false," +PACKAGECONFIG[traceroute6] = "-DBUILD_TRACEROUTE6=true,-DBUILD_TRACEROUTE6=false," +PACKAGECONFIG[docs] = "-DBUILD_HTML_MANS=true -DBUILD_MANS=true,-DBUILD_HTML_MANS=false -DBUILD_MANS=false, libxslt" + +inherit meson update-alternatives + +EXTRA_OEMESON += "--prefix=${root_prefix}/" + +ALTERNATIVE_PRIORITY = "100" + +ALTERNATIVE_${PN}-ping = "ping" +ALTERNATIVE_LINK_NAME[ping] = "${base_bindir}/ping" + +SPLITPKGS = "${PN}-ping ${PN}-arping ${PN}-tracepath ${PN}-traceroute6 ${PN}-clockdiff ${PN}-tftpd ${PN}-rarpd ${PN}-rdisc ${PN}-ninfod" +PACKAGES += "${SPLITPKGS}" + +ALLOW_EMPTY_${PN} = "1" +ALLOW_EMPTY_${PN}-rarpd = "1" +ALLOW_EMPTY_${PN}-traceroute6 = "1" +RDEPENDS_${PN} += "${SPLITPKGS}" + +FILES_${PN} = "" +FILES_${PN}-ping = "${base_bindir}/ping.${BPN}" +FILES_${PN}-arping = "${base_bindir}/arping" +FILES_${PN}-tracepath = "${base_bindir}/tracepath" +FILES_${PN}-traceroute6 = "${base_bindir}/traceroute6" +FILES_${PN}-clockdiff = "${base_bindir}/clockdiff" +FILES_${PN}-tftpd = "${base_bindir}/tftpd" +FILES_${PN}-rarpd = "${base_sbindir}/rarpd" +FILES_${PN}-rdisc = "${base_sbindir}/rdisc" +FILES_${PN}-ninfod = "${base_sbindir}/ninfod ${sysconfdir}/init.d/ninfod.sh" diff --git a/poky/meta/recipes-extended/libarchive/libarchive/CVE-2018-1000877.patch b/poky/meta/recipes-extended/libarchive/libarchive/CVE-2018-1000877.patch deleted file mode 100644 index ce638370b..000000000 --- a/poky/meta/recipes-extended/libarchive/libarchive/CVE-2018-1000877.patch +++ /dev/null @@ -1,38 +0,0 @@ -CVE: CVE-2018-1000877 -Upstream-Status: Backport -Signed-off-by: Ross Burton - -From 021efa522ad729ff0f5806c4ce53e4a6cc1daa31 Mon Sep 17 00:00:00 2001 -From: Daniel Axtens -Date: Tue, 20 Nov 2018 17:56:29 +1100 -Subject: [PATCH] Avoid a double-free when a window size of 0 is specified - -new_size can be 0 with a malicious or corrupted RAR archive. - -realloc(area, 0) is equivalent to free(area), so the region would -be free()d here and the free()d again in the cleanup function. - -Found with a setup running AFL, afl-rb, and qsym. ---- - libarchive/archive_read_support_format_rar.c | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git a/libarchive/archive_read_support_format_rar.c b/libarchive/archive_read_support_format_rar.c -index 23452222..6f419c27 100644 ---- a/libarchive/archive_read_support_format_rar.c -+++ b/libarchive/archive_read_support_format_rar.c -@@ -2300,6 +2300,11 @@ parse_codes(struct archive_read *a) - new_size = DICTIONARY_MAX_SIZE; - else - new_size = rar_fls((unsigned int)rar->unp_size) << 1; -+ if (new_size == 0) { -+ archive_set_error(&a->archive, ARCHIVE_ERRNO_FILE_FORMAT, -+ "Zero window size is invalid."); -+ return (ARCHIVE_FATAL); -+ } - new_window = realloc(rar->lzss.window, new_size); - if (new_window == NULL) { - archive_set_error(&a->archive, ENOMEM, --- -2.20.0 - diff --git a/poky/meta/recipes-extended/libarchive/libarchive/CVE-2018-1000878.patch b/poky/meta/recipes-extended/libarchive/libarchive/CVE-2018-1000878.patch deleted file mode 100644 index 7468fd3c9..000000000 --- a/poky/meta/recipes-extended/libarchive/libarchive/CVE-2018-1000878.patch +++ /dev/null @@ -1,79 +0,0 @@ -CVE: CVE-2018-1000878 -Upstream-Status: Backport -Signed-off-by: Ross Burton - -From bfcfe6f04ed20db2504db8a254d1f40a1d84eb28 Mon Sep 17 00:00:00 2001 -From: Daniel Axtens -Date: Tue, 4 Dec 2018 00:55:22 +1100 -Subject: [PATCH] rar: file split across multi-part archives must match - -Fuzzing uncovered some UAF and memory overrun bugs where a file in a -single file archive reported that it was split across multiple -volumes. This was caused by ppmd7 operations calling -rar_br_fillup. This would invoke rar_read_ahead, which would in some -situations invoke archive_read_format_rar_read_header. That would -check the new file name against the old file name, and if they didn't -match up it would free the ppmd7 buffer and allocate a new -one. However, because the ppmd7 decoder wasn't actually done with the -buffer, it would continue to used the freed buffer. Both reads and -writes to the freed region can be observed. - -This is quite tricky to solve: once the buffer has been freed it is -too late, as the ppmd7 decoder functions almost universally assume -success - there's no way for ppmd_read to signal error, nor are there -good ways for functions like Range_Normalise to propagate them. So we -can't detect after the fact that we're in an invalid state - e.g. by -checking rar->cursor, we have to prevent ourselves from ever ending up -there. So, when we are in the dangerous part or rar_read_ahead that -assumes a valid split, we set a flag force read_header to either go -down the path for split files or bail. This means that the ppmd7 -decoder keeps a valid buffer and just runs out of data. - -Found with a combination of AFL, afl-rb and qsym. ---- - libarchive/archive_read_support_format_rar.c | 9 +++++++++ - 1 file changed, 9 insertions(+) - -diff --git a/libarchive/archive_read_support_format_rar.c b/libarchive/archive_read_support_format_rar.c -index 6f419c27..a8cc5c94 100644 ---- a/libarchive/archive_read_support_format_rar.c -+++ b/libarchive/archive_read_support_format_rar.c -@@ -258,6 +258,7 @@ struct rar - struct data_block_offsets *dbo; - unsigned int cursor; - unsigned int nodes; -+ char filename_must_match; - - /* LZSS members */ - struct huffman_code maincode; -@@ -1560,6 +1561,12 @@ read_header(struct archive_read *a, struct archive_entry *entry, - } - return ret; - } -+ else if (rar->filename_must_match) -+ { -+ archive_set_error(&a->archive, ARCHIVE_ERRNO_FILE_FORMAT, -+ "Mismatch of file parts split across multi-volume archive"); -+ return (ARCHIVE_FATAL); -+ } - - rar->filename_save = (char*)realloc(rar->filename_save, - filename_size + 1); -@@ -2933,12 +2940,14 @@ rar_read_ahead(struct archive_read *a, size_t min, ssize_t *avail) - else if (*avail == 0 && rar->main_flags & MHD_VOLUME && - rar->file_flags & FHD_SPLIT_AFTER) - { -+ rar->filename_must_match = 1; - ret = archive_read_format_rar_read_header(a, a->entry); - if (ret == (ARCHIVE_EOF)) - { - rar->has_endarc_header = 1; - ret = archive_read_format_rar_read_header(a, a->entry); - } -+ rar->filename_must_match = 0; - if (ret != (ARCHIVE_OK)) - return NULL; - return rar_read_ahead(a, min, avail); --- -2.20.0 - diff --git a/poky/meta/recipes-extended/libarchive/libarchive/CVE-2018-1000879.patch b/poky/meta/recipes-extended/libarchive/libarchive/CVE-2018-1000879.patch deleted file mode 100644 index 9f25932a1..000000000 --- a/poky/meta/recipes-extended/libarchive/libarchive/CVE-2018-1000879.patch +++ /dev/null @@ -1,50 +0,0 @@ -CVE: CVE-2018-1000879 -Upstream-Status: Backport -Signed-off-by: Ross Burton - -From 15bf44fd2c1ad0e3fd87048b3fcc90c4dcff1175 Mon Sep 17 00:00:00 2001 -From: Daniel Axtens -Date: Tue, 4 Dec 2018 14:29:42 +1100 -Subject: [PATCH] Skip 0-length ACL fields - -Currently, it is possible to create an archive that crashes bsdtar -with a malformed ACL: - -Program received signal SIGSEGV, Segmentation fault. -archive_acl_from_text_l (acl=, text=0x7e2e92 "", want_type=, sc=) at libarchive/archive_acl.c:1726 -1726 switch (*s) { -(gdb) p n -$1 = 1 -(gdb) p field[n] -$2 = {start = 0x0, end = 0x0} - -Stop this by checking that the length is not zero before beginning -the switch statement. - -I am pretty sure this is the bug mentioned in the qsym paper [1], -and I was able to replicate it with a qsym + AFL + afl-rb setup. - -[1] https://www.usenix.org/conference/usenixsecurity18/presentation/yun ---- - libarchive/archive_acl.c | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git a/libarchive/archive_acl.c b/libarchive/archive_acl.c -index 512beee1..7beeee86 100644 ---- a/libarchive/archive_acl.c -+++ b/libarchive/archive_acl.c -@@ -1723,6 +1723,11 @@ archive_acl_from_text_l(struct archive_acl *acl, const char *text, - st = field[n].start + 1; - len = field[n].end - field[n].start; - -+ if (len == 0) { -+ ret = ARCHIVE_WARN; -+ continue; -+ } -+ - switch (*s) { - case 'u': - if (len == 1 || (len == 4 --- -2.20.0 - diff --git a/poky/meta/recipes-extended/libarchive/libarchive/CVE-2018-1000880.patch b/poky/meta/recipes-extended/libarchive/libarchive/CVE-2018-1000880.patch deleted file mode 100644 index bc264a124..000000000 --- a/poky/meta/recipes-extended/libarchive/libarchive/CVE-2018-1000880.patch +++ /dev/null @@ -1,44 +0,0 @@ -CVE: CVE-2018-1000880 -Upstream-Status: Backport -Signed-off-by: Ross Burton - -From 9c84b7426660c09c18cc349f6d70b5f8168b5680 Mon Sep 17 00:00:00 2001 -From: Daniel Axtens -Date: Tue, 4 Dec 2018 16:33:42 +1100 -Subject: [PATCH] warc: consume data once read - -The warc decoder only used read ahead, it wouldn't actually consume -data that had previously been printed. This means that if you specify -an invalid content length, it will just reprint the same data over -and over and over again until it hits the desired length. - -This means that a WARC resource with e.g. -Content-Length: 666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666665 -but only a few hundred bytes of data, causes a quasi-infinite loop. - -Consume data in subsequent calls to _warc_read. - -Found with an AFL + afl-rb + qsym setup. ---- - libarchive/archive_read_support_format_warc.c | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git a/libarchive/archive_read_support_format_warc.c b/libarchive/archive_read_support_format_warc.c -index e8753853..e8fc8428 100644 ---- a/libarchive/archive_read_support_format_warc.c -+++ b/libarchive/archive_read_support_format_warc.c -@@ -386,6 +386,11 @@ _warc_read(struct archive_read *a, const void **buf, size_t *bsz, int64_t *off) - return (ARCHIVE_EOF); - } - -+ if (w->unconsumed) { -+ __archive_read_consume(a, w->unconsumed); -+ w->unconsumed = 0U; -+ } -+ - rab = __archive_read_ahead(a, 1U, &nrd); - if (nrd < 0) { - *bsz = 0U; --- -2.20.0 - diff --git a/poky/meta/recipes-extended/libarchive/libarchive/CVE-2019-1000019.patch b/poky/meta/recipes-extended/libarchive/libarchive/CVE-2019-1000019.patch deleted file mode 100644 index 7f39893c2..000000000 --- a/poky/meta/recipes-extended/libarchive/libarchive/CVE-2019-1000019.patch +++ /dev/null @@ -1,59 +0,0 @@ -CVE: CVE-2019-1000019 -Upstream-Status: Backport -Signed-off-by: Ross Burton - -From 65a23f5dbee4497064e9bb467f81138a62b0dae1 Mon Sep 17 00:00:00 2001 -From: Daniel Axtens -Date: Tue, 1 Jan 2019 16:01:40 +1100 -Subject: [PATCH 2/2] 7zip: fix crash when parsing certain archives - -Fuzzing with CRCs disabled revealed that a call to get_uncompressed_data() -would sometimes fail to return at least 'minimum' bytes. This can cause -the crc32() invocation in header_bytes to read off into invalid memory. - -A specially crafted archive can use this to cause a crash. - -An ASAN trace is below, but ASAN is not required - an uninstrumented -binary will also crash. - -==7719==ERROR: AddressSanitizer: SEGV on unknown address 0x631000040000 (pc 0x7fbdb3b3ec1d bp 0x7ffe77a51310 sp 0x7ffe77a51150 T0) -==7719==The signal is caused by a READ memory access. - #0 0x7fbdb3b3ec1c in crc32_z (/lib/x86_64-linux-gnu/libz.so.1+0x2c1c) - #1 0x84f5eb in header_bytes (/tmp/libarchive/bsdtar+0x84f5eb) - #2 0x856156 in read_Header (/tmp/libarchive/bsdtar+0x856156) - #3 0x84e134 in slurp_central_directory (/tmp/libarchive/bsdtar+0x84e134) - #4 0x849690 in archive_read_format_7zip_read_header (/tmp/libarchive/bsdtar+0x849690) - #5 0x5713b7 in _archive_read_next_header2 (/tmp/libarchive/bsdtar+0x5713b7) - #6 0x570e63 in _archive_read_next_header (/tmp/libarchive/bsdtar+0x570e63) - #7 0x6f08bd in archive_read_next_header (/tmp/libarchive/bsdtar+0x6f08bd) - #8 0x52373f in read_archive (/tmp/libarchive/bsdtar+0x52373f) - #9 0x5257be in tar_mode_x (/tmp/libarchive/bsdtar+0x5257be) - #10 0x51daeb in main (/tmp/libarchive/bsdtar+0x51daeb) - #11 0x7fbdb27cab96 in __libc_start_main /build/glibc-OTsEL5/glibc-2.27/csu/../csu/libc-start.c:310 - #12 0x41dd09 in _start (/tmp/libarchive/bsdtar+0x41dd09) - -This was primarly done with afl and FairFuzz. Some early corpus entries -may have been generated by qsym. ---- - libarchive/archive_read_support_format_7zip.c | 8 +------- - 1 file changed, 1 insertion(+), 7 deletions(-) - -diff --git a/libarchive/archive_read_support_format_7zip.c b/libarchive/archive_read_support_format_7zip.c -index bccbf8966..b6d1505d3 100644 ---- a/libarchive/archive_read_support_format_7zip.c -+++ b/libarchive/archive_read_support_format_7zip.c -@@ -2964,13 +2964,7 @@ get_uncompressed_data(struct archive_read *a, const void **buff, size_t size, - if (zip->codec == _7Z_COPY && zip->codec2 == (unsigned long)-1) { - /* Copy mode. */ - -- /* -- * Note: '1' here is a performance optimization. -- * Recall that the decompression layer returns a count of -- * available bytes; asking for more than that forces the -- * decompressor to combine reads by copying data. -- */ -- *buff = __archive_read_ahead(a, 1, &bytes_avail); -+ *buff = __archive_read_ahead(a, minimum, &bytes_avail); - if (bytes_avail <= 0) { - archive_set_error(&a->archive, - ARCHIVE_ERRNO_FILE_FORMAT, diff --git a/poky/meta/recipes-extended/libarchive/libarchive/CVE-2019-1000020.patch b/poky/meta/recipes-extended/libarchive/libarchive/CVE-2019-1000020.patch deleted file mode 100644 index 25a76fdcd..000000000 --- a/poky/meta/recipes-extended/libarchive/libarchive/CVE-2019-1000020.patch +++ /dev/null @@ -1,61 +0,0 @@ -CVE: CVE-2019-1000020 -Upstream-Status: Backport -Signed-off-by: Ross Burton - -From 8312eaa576014cd9b965012af51bc1f967b12423 Mon Sep 17 00:00:00 2001 -From: Daniel Axtens -Date: Tue, 1 Jan 2019 17:10:49 +1100 -Subject: [PATCH 1/2] iso9660: Fail when expected Rockridge extensions is - missing - -A corrupted or malicious ISO9660 image can cause read_CE() to loop -forever. - -read_CE() calls parse_rockridge(), expecting a Rockridge extension -to be read. However, parse_rockridge() is structured as a while -loop starting with a sanity check, and if the sanity check fails -before the loop has run, the function returns ARCHIVE_OK without -advancing the position in the file. This causes read_CE() to retry -indefinitely. - -Make parse_rockridge() return ARCHIVE_WARN if it didn't read an -extension. As someone with no real knowledge of the format, this -seems more apt than ARCHIVE_FATAL, but both the call-sites escalate -it to a fatal error immediately anyway. - -Found with a combination of AFL, afl-rb (FairFuzz) and qsym. ---- - libarchive/archive_read_support_format_iso9660.c | 11 ++++++++++- - 1 file changed, 10 insertions(+), 1 deletion(-) - -diff --git a/libarchive/archive_read_support_format_iso9660.c b/libarchive/archive_read_support_format_iso9660.c -index 28acfefbb..bad8f1dfe 100644 ---- a/libarchive/archive_read_support_format_iso9660.c -+++ b/libarchive/archive_read_support_format_iso9660.c -@@ -2102,6 +2102,7 @@ parse_rockridge(struct archive_read *a, struct file_info *file, - const unsigned char *p, const unsigned char *end) - { - struct iso9660 *iso9660; -+ int entry_seen = 0; - - iso9660 = (struct iso9660 *)(a->format->data); - -@@ -2257,8 +2258,16 @@ parse_rockridge(struct archive_read *a, struct file_info *file, - } - - p += p[2]; -+ entry_seen = 1; -+ } -+ -+ if (entry_seen) -+ return (ARCHIVE_OK); -+ else { -+ archive_set_error(&a->archive, ARCHIVE_ERRNO_FILE_FORMAT, -+ "Tried to parse Rockridge extensions, but none found"); -+ return (ARCHIVE_WARN); - } -- return (ARCHIVE_OK); - } - - static int - diff --git a/poky/meta/recipes-extended/libarchive/libarchive/bug1066.patch b/poky/meta/recipes-extended/libarchive/libarchive/bug1066.patch deleted file mode 100644 index 0a662b57b..000000000 --- a/poky/meta/recipes-extended/libarchive/libarchive/bug1066.patch +++ /dev/null @@ -1,54 +0,0 @@ -libarchive-3.3.3: Fix bug1066 - -[No upstream tracking] -- https://github.com/libarchive/libarchive/pull/1066 - -archive_write_set_format_*.c: fix out of bounds read on empty string () filename -for guntar, pax and v7tar - -There is an out of bounds read flaw in the archive_write_gnutar_header, -archive_write_pax_header and archive_write_v7tar_header functions which -could leds to cause a denial of service. - -Upstream-Status: Backport [https://github.com/libarchive/libarchive/commit/c246ec5d058a3f70a2d3fb765f92fe9db77b25df] -Bug: 1066 -Signed-off-by: Andrej Valek - -diff --git a/libarchive/archive_write_set_format_gnutar.c b/libarchive/archive_write_set_format_gnutar.c -index 2d858c9..1966c53 100644 ---- a/libarchive/archive_write_set_format_gnutar.c -+++ b/libarchive/archive_write_set_format_gnutar.c -@@ -339,7 +339,7 @@ archive_write_gnutar_header(struct archive_write *a, - * case getting WCS failed. On POSIX, this is a - * normal operation. - */ -- if (p != NULL && p[strlen(p) - 1] != '/') { -+ if (p != NULL && p[0] != '\0' && p[strlen(p) - 1] != '/') { - struct archive_string as; - - archive_string_init(&as); -diff --git a/libarchive/archive_write_set_format_pax.c b/libarchive/archive_write_set_format_pax.c -index 6a301ac..4cfa8ff 100644 ---- a/libarchive/archive_write_set_format_pax.c -+++ b/libarchive/archive_write_set_format_pax.c -@@ -660,7 +660,7 @@ archive_write_pax_header(struct archive_write *a, - * case getting WCS failed. On POSIX, this is a - * normal operation. - */ -- if (p != NULL && p[strlen(p) - 1] != '/') { -+ if (p != NULL && p[0] != '\0' && p[strlen(p) - 1] != '/') { - struct archive_string as; - - archive_string_init(&as); -diff --git a/libarchive/archive_write_set_format_v7tar.c b/libarchive/archive_write_set_format_v7tar.c -index 62b1522..53c0db0 100644 ---- a/libarchive/archive_write_set_format_v7tar.c -+++ b/libarchive/archive_write_set_format_v7tar.c -@@ -284,7 +284,7 @@ archive_write_v7tar_header(struct archive_write *a, struct archive_entry *entry) - * case getting WCS failed. On POSIX, this is a - * normal operation. - */ -- if (p != NULL && p[strlen(p) - 1] != '/') { -+ if (p != NULL && p[0] != '\0' && p[strlen(p) - 1] != '/') { - struct archive_string as; - - archive_string_init(&as); diff --git a/poky/meta/recipes-extended/libarchive/libarchive/non-recursive-extract-and-list.patch b/poky/meta/recipes-extended/libarchive/libarchive/non-recursive-extract-and-list.patch deleted file mode 100644 index cd7be5127..000000000 --- a/poky/meta/recipes-extended/libarchive/libarchive/non-recursive-extract-and-list.patch +++ /dev/null @@ -1,153 +0,0 @@ -From 47f7566f6829c2b14e21bbbba699916de4998c72 Mon Sep 17 00:00:00 2001 -From: Patrick Ohly -Date: Mon, 24 Oct 2016 12:54:48 +0200 -Subject: [PATCH 1/1] non-recursive extract and list - -Sometimes it makes sense to extract or list a directory contained in -an archive without also doing the same for the content of the -directory, i.e. allowing -n (= --no-recursion) in combination with the -x and t modes. - -bsdtar uses the match functionality in libarchive to track include -matches. A new libarchive API call -archive_match_include_directories_recursively() gets introduced to -influence the matching behavior, with the default behavior as before. - -Non-recursive matching can be achieved by anchoring the path match at -both start and end. Asking for a directory which itself isn't in the -archive when in non-recursive mode is an error and handled by the -existing mechanism for tracking unused inclusion entries. - -Upstream-Status: Submitted [https://github.com/libarchive/libarchive/pull/812] - -Signed-off-by: Patrick Ohly - ---- - libarchive/archive.h | 2 ++ - libarchive/archive_match.c | 30 +++++++++++++++++++++++++++++- - tar/bsdtar.1 | 3 +-- - tar/bsdtar.c | 12 ++++++++++-- - 4 files changed, 42 insertions(+), 5 deletions(-) - -diff --git a/libarchive/archive.h b/libarchive/archive.h -index 32710201..59fb4aa6 100644 ---- a/libarchive/archive.h -+++ b/libarchive/archive.h -@@ -1093,6 +1093,8 @@ __LA_DECL int archive_match_excluded(struct archive *, - */ - __LA_DECL int archive_match_path_excluded(struct archive *, - struct archive_entry *); -+/* Control recursive inclusion of directory content when directory is included. Default on. */ -+__LA_DECL int archive_match_include_directories_recursively(struct archive *, int _enabled); - /* Add exclusion pathname pattern. */ - __LA_DECL int archive_match_exclude_pattern(struct archive *, const char *); - __LA_DECL int archive_match_exclude_pattern_w(struct archive *, -diff --git a/libarchive/archive_match.c b/libarchive/archive_match.c -index be72066e..bb6a3407 100644 ---- a/libarchive/archive_match.c -+++ b/libarchive/archive_match.c -@@ -93,6 +93,9 @@ struct archive_match { - /* exclusion/inclusion set flag. */ - int setflag; - -+ /* Recursively include directory content? */ -+ int recursive_include; -+ - /* - * Matching filename patterns. - */ -@@ -223,6 +226,7 @@ archive_match_new(void) - return (NULL); - a->archive.magic = ARCHIVE_MATCH_MAGIC; - a->archive.state = ARCHIVE_STATE_NEW; -+ a->recursive_include = 1; - match_list_init(&(a->inclusions)); - match_list_init(&(a->exclusions)); - __archive_rb_tree_init(&(a->exclusion_tree), &rb_ops_mbs); -@@ -471,6 +475,28 @@ archive_match_path_excluded(struct archive *_a, - } - - /* -+ * When recursive inclusion of directory content is enabled, -+ * an inclusion pattern that matches a directory will also -+ * include everything beneath that directory. Enabled by default. -+ * -+ * For compatibility with GNU tar, exclusion patterns always -+ * match if a subset of the full patch matches (i.e., they are -+ * are not rooted at the beginning of the path) and thus there -+ * is no corresponding non-recursive exclusion mode. -+ */ -+int -+archive_match_include_directories_recursively(struct archive *_a, int _enabled) -+{ -+ struct archive_match *a; -+ -+ archive_check_magic(_a, ARCHIVE_MATCH_MAGIC, -+ ARCHIVE_STATE_NEW, "archive_match_include_directories_recursively"); -+ a = (struct archive_match *)_a; -+ a->recursive_include = _enabled; -+ return (ARCHIVE_OK); -+} -+ -+/* - * Utility functions to get statistic information for inclusion patterns. - */ - int -@@ -781,7 +807,9 @@ static int - match_path_inclusion(struct archive_match *a, struct match *m, - int mbs, const void *pn) - { -- int flag = PATHMATCH_NO_ANCHOR_END; -+ int flag = a->recursive_include ? -+ PATHMATCH_NO_ANCHOR_END : /* Prefix match is good enough. */ -+ 0; /* Full match required. */ - int r; - - if (mbs) { -diff --git a/tar/bsdtar.1 b/tar/bsdtar.1 -index 132e1145..1dd2a847 100644 ---- a/tar/bsdtar.1 -+++ b/tar/bsdtar.1 -@@ -386,8 +386,7 @@ and the default behavior in c, r, and u modes or if - .Nm - is run in x mode as root. - .It Fl n , Fl Fl norecurse , Fl Fl no-recursion --(c, r, u modes only) --Do not recursively archive the contents of directories. -+Do not recursively archive (c, r, u), extract (x) or list (t) the contents of directories. - .It Fl Fl newer Ar date - (c, r, u modes only) - Only include files and directories newer than the specified date. -diff --git a/tar/bsdtar.c b/tar/bsdtar.c -index 11dedbf9..d014cc3e 100644 ---- a/tar/bsdtar.c -+++ b/tar/bsdtar.c -@@ -794,8 +794,6 @@ main(int argc, char **argv) - break; - } - } -- if (bsdtar->flags & OPTFLAG_NO_SUBDIRS) -- only_mode(bsdtar, "-n", "cru"); - if (bsdtar->flags & OPTFLAG_STDOUT) - only_mode(bsdtar, "-O", "xt"); - if (bsdtar->flags & OPTFLAG_UNLINK_FIRST) -@@ -845,6 +843,16 @@ main(int argc, char **argv) - only_mode(bsdtar, buff, "cru"); - } - -+ /* -+ * When creating an archive from a directory tree, the directory -+ * walking code will already avoid entering directories when -+ * recursive inclusion of directory content is disabled, therefore -+ * changing the matching behavior has no effect for creation modes. -+ * It is relevant for extraction or listing. -+ */ -+ archive_match_include_directories_recursively(bsdtar->matching, -+ !(bsdtar->flags & OPTFLAG_NO_SUBDIRS)); -+ - /* Filename "-" implies stdio. */ - if (strcmp(bsdtar->filename, "-") == 0) - bsdtar->filename = NULL; --- -2.11.0 - diff --git a/poky/meta/recipes-extended/libarchive/libarchive_3.3.3.bb b/poky/meta/recipes-extended/libarchive/libarchive_3.3.3.bb deleted file mode 100644 index af5ca6529..000000000 --- a/poky/meta/recipes-extended/libarchive/libarchive_3.3.3.bb +++ /dev/null @@ -1,75 +0,0 @@ -SUMMARY = "Support for reading various archive formats" -DESCRIPTION = "C library and command-line tools for reading and writing tar, cpio, zip, ISO, and other archive formats" -HOMEPAGE = "http://www.libarchive.org/" -SECTION = "devel" -LICENSE = "BSD" -LIC_FILES_CHKSUM = "file://COPYING;md5=ed99aca006bc346974bb745a35336425" - -DEPENDS = "e2fsprogs-native" - -PACKAGECONFIG ?= "zlib bz2 xz lzo" - -PACKAGECONFIG_append_class-target = "\ - libxml2 \ - ${@bb.utils.filter('DISTRO_FEATURES', 'acl xattr', d)} \ -" - -DEPENDS_BZIP2 = "bzip2-replacement-native" -DEPENDS_BZIP2_class-target = "bzip2" - -PACKAGECONFIG[acl] = "--enable-acl,--disable-acl,acl," -PACKAGECONFIG[xattr] = "--enable-xattr,--disable-xattr,attr," -PACKAGECONFIG[zlib] = "--with-zlib,--without-zlib,zlib," -PACKAGECONFIG[bz2] = "--with-bz2lib,--without-bz2lib,${DEPENDS_BZIP2}," -PACKAGECONFIG[xz] = "--with-lzma,--without-lzma,xz," -PACKAGECONFIG[openssl] = "--with-openssl,--without-openssl,openssl," -PACKAGECONFIG[libxml2] = "--with-xml2,--without-xml2,libxml2," -PACKAGECONFIG[expat] = "--with-expat,--without-expat,expat," -PACKAGECONFIG[lzo] = "--with-lzo2,--without-lzo2,lzo," -PACKAGECONFIG[nettle] = "--with-nettle,--without-nettle,nettle," -PACKAGECONFIG[lz4] = "--with-lz4,--without-lz4,lz4," - -EXTRA_OECONF += "--enable-largefile" - -SRC_URI = "http://libarchive.org/downloads/libarchive-${PV}.tar.gz \ - file://non-recursive-extract-and-list.patch \ - file://bug1066.patch \ - file://CVE-2018-1000877.patch \ - file://CVE-2018-1000878.patch \ - file://CVE-2018-1000879.patch \ - file://CVE-2018-1000880.patch \ - file://CVE-2019-1000019.patch \ - file://CVE-2019-1000020.patch \ -" - -SRC_URI[md5sum] = "4038e366ca5b659dae3efcc744e72120" -SRC_URI[sha256sum] = "ba7eb1781c9fbbae178c4c6bad1c6eb08edab9a1496c64833d1715d022b30e2e" - -inherit autotools update-alternatives pkgconfig - -CPPFLAGS += "-I${WORKDIR}/extra-includes" - -do_configure[cleandirs] += "${WORKDIR}/extra-includes" -do_configure_prepend() { - # We just need the headers for some type constants, so no need to - # build all of e2fsprogs for the target - cp -R ${STAGING_INCDIR_NATIVE}/ext2fs ${WORKDIR}/extra-includes/ -} - -ALTERNATIVE_PRIORITY = "80" - -PACKAGES =+ "bsdtar" -FILES_bsdtar = "${bindir}/bsdtar" - -ALTERNATIVE_bsdtar = "tar" -ALTERNATIVE_LINK_NAME[tar] = "${base_bindir}/tar" -ALTERNATIVE_TARGET[tar] = "${bindir}/bsdtar" - -PACKAGES =+ "bsdcpio" -FILES_bsdcpio = "${bindir}/bsdcpio" - -ALTERNATIVE_bsdcpio = "cpio" -ALTERNATIVE_LINK_NAME[cpio] = "${base_bindir}/cpio" -ALTERNATIVE_TARGET[cpio] = "${bindir}/bsdcpio" - -BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-extended/libarchive/libarchive_3.4.0.bb b/poky/meta/recipes-extended/libarchive/libarchive_3.4.0.bb new file mode 100644 index 000000000..c789cd44d --- /dev/null +++ b/poky/meta/recipes-extended/libarchive/libarchive_3.4.0.bb @@ -0,0 +1,67 @@ +SUMMARY = "Support for reading various archive formats" +DESCRIPTION = "C library and command-line tools for reading and writing tar, cpio, zip, ISO, and other archive formats" +HOMEPAGE = "http://www.libarchive.org/" +SECTION = "devel" +LICENSE = "BSD" +LIC_FILES_CHKSUM = "file://COPYING;md5=fe01f5e02b1f0cc934d593a7b0ddceb6" + +DEPENDS = "e2fsprogs-native" + +PACKAGECONFIG ?= "zlib bz2 xz lzo" + +PACKAGECONFIG_append_class-target = "\ + libxml2 \ + ${@bb.utils.filter('DISTRO_FEATURES', 'acl xattr', d)} \ +" + +DEPENDS_BZIP2 = "bzip2-replacement-native" +DEPENDS_BZIP2_class-target = "bzip2" + +PACKAGECONFIG[acl] = "--enable-acl,--disable-acl,acl," +PACKAGECONFIG[xattr] = "--enable-xattr,--disable-xattr,attr," +PACKAGECONFIG[zlib] = "--with-zlib,--without-zlib,zlib," +PACKAGECONFIG[bz2] = "--with-bz2lib,--without-bz2lib,${DEPENDS_BZIP2}," +PACKAGECONFIG[xz] = "--with-lzma,--without-lzma,xz," +PACKAGECONFIG[openssl] = "--with-openssl,--without-openssl,openssl," +PACKAGECONFIG[libxml2] = "--with-xml2,--without-xml2,libxml2," +PACKAGECONFIG[expat] = "--with-expat,--without-expat,expat," +PACKAGECONFIG[lzo] = "--with-lzo2,--without-lzo2,lzo," +PACKAGECONFIG[nettle] = "--with-nettle,--without-nettle,nettle," +PACKAGECONFIG[lz4] = "--with-lz4,--without-lz4,lz4," + +EXTRA_OECONF += "--enable-largefile" + +SRC_URI = "http://libarchive.org/downloads/libarchive-${PV}.tar.gz \ +" + +SRC_URI[md5sum] = "6046396255bd7cf6d0f6603a9bda39ac" +SRC_URI[sha256sum] = "8643d50ed40c759f5412a3af4e353cffbce4fdf3b5cf321cb72cacf06b2d825e" + +inherit autotools update-alternatives pkgconfig + +CPPFLAGS += "-I${WORKDIR}/extra-includes" + +do_configure[cleandirs] += "${WORKDIR}/extra-includes" +do_configure_prepend() { + # We just need the headers for some type constants, so no need to + # build all of e2fsprogs for the target + cp -R ${STAGING_INCDIR_NATIVE}/ext2fs ${WORKDIR}/extra-includes/ +} + +ALTERNATIVE_PRIORITY = "80" + +PACKAGES =+ "bsdtar" +FILES_bsdtar = "${bindir}/bsdtar" + +ALTERNATIVE_bsdtar = "tar" +ALTERNATIVE_LINK_NAME[tar] = "${base_bindir}/tar" +ALTERNATIVE_TARGET[tar] = "${bindir}/bsdtar" + +PACKAGES =+ "bsdcpio" +FILES_bsdcpio = "${bindir}/bsdcpio" + +ALTERNATIVE_bsdcpio = "cpio" +ALTERNATIVE_LINK_NAME[cpio] = "${base_bindir}/cpio" +ALTERNATIVE_TARGET[cpio] = "${bindir}/bsdcpio" + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-extended/libsolv/libsolv_0.7.5.bb b/poky/meta/recipes-extended/libsolv/libsolv_0.7.5.bb deleted file mode 100644 index 80ce76b45..000000000 --- a/poky/meta/recipes-extended/libsolv/libsolv_0.7.5.bb +++ /dev/null @@ -1,31 +0,0 @@ -SUMMARY = "Library for solving packages and reading repositories" -HOMEPAGE = "https://github.com/openSUSE/libsolv" -BUGTRACKER = "https://github.com/openSUSE/libsolv/issues" -SECTION = "devel" -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE.BSD;md5=62272bd11c97396d4aaf1c41bc11f7d8" - -DEPENDS = "expat zlib" - -SRC_URI = "git://github.com/openSUSE/libsolv.git \ -" - -SRCREV = "2cab7ea00d08390374b25b11d969f3740c4660f4" - -UPSTREAM_CHECK_GITTAGREGEX = "(?P\d+(\.\d+)+)" - -S = "${WORKDIR}/git" - -inherit cmake - -PACKAGECONFIG ??= "rpm" -PACKAGECONFIG[rpm] = "-DENABLE_RPMMD=ON -DENABLE_RPMDB=ON,,rpm" - -EXTRA_OECMAKE = "-DMULTI_SEMANTICS=ON -DENABLE_COMPLEX_DEPS=ON" - -PACKAGES =+ "${PN}-tools ${PN}ext" - -FILES_${PN}-tools = "${bindir}/*" -FILES_${PN}ext = "${libdir}/${PN}ext.so.*" - -BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-extended/libsolv/libsolv_0.7.6.bb b/poky/meta/recipes-extended/libsolv/libsolv_0.7.6.bb new file mode 100644 index 000000000..3df899308 --- /dev/null +++ b/poky/meta/recipes-extended/libsolv/libsolv_0.7.6.bb @@ -0,0 +1,31 @@ +SUMMARY = "Library for solving packages and reading repositories" +HOMEPAGE = "https://github.com/openSUSE/libsolv" +BUGTRACKER = "https://github.com/openSUSE/libsolv/issues" +SECTION = "devel" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE.BSD;md5=62272bd11c97396d4aaf1c41bc11f7d8" + +DEPENDS = "expat zlib" + +SRC_URI = "git://github.com/openSUSE/libsolv.git \ +" + +SRCREV = "17ce4bc4fb52a0b32964f3b7d491c18177980be1" + +UPSTREAM_CHECK_GITTAGREGEX = "(?P\d+(\.\d+)+)" + +S = "${WORKDIR}/git" + +inherit cmake + +PACKAGECONFIG ??= "rpm" +PACKAGECONFIG[rpm] = "-DENABLE_RPMMD=ON -DENABLE_RPMDB=ON,,rpm" + +EXTRA_OECMAKE = "-DMULTI_SEMANTICS=ON -DENABLE_COMPLEX_DEPS=ON" + +PACKAGES =+ "${PN}-tools ${PN}ext" + +FILES_${PN}-tools = "${bindir}/*" +FILES_${PN}ext = "${libdir}/${PN}ext.so.*" + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-extended/lighttpd/lighttpd_1.4.54.bb b/poky/meta/recipes-extended/lighttpd/lighttpd_1.4.54.bb index ba1a2c54b..72990d02e 100644 --- a/poky/meta/recipes-extended/lighttpd/lighttpd_1.4.54.bb +++ b/poky/meta/recipes-extended/lighttpd/lighttpd_1.4.54.bb @@ -44,7 +44,7 @@ PACKAGECONFIG[webdav-props] = "--with-webdav-props,--without-webdav-props,libxml PACKAGECONFIG[webdav-locks] = "--with-webdav-locks,--without-webdav-locks,util-linux" PACKAGECONFIG[gdbm] = "--with-gdbm,--without-gdbm,gdbm" PACKAGECONFIG[memcache] = "--with-memcached,--without-memcached,libmemcached" -PACKAGECONFIG[lua] = "--with-lua,--without-lua,lua5.1" +PACKAGECONFIG[lua] = "--with-lua,--without-lua,lua" EXTRA_OECONF += "--enable-lfs" diff --git a/poky/meta/recipes-extended/logrotate/logrotate_3.15.0.bb b/poky/meta/recipes-extended/logrotate/logrotate_3.15.0.bb deleted file mode 100644 index 0f3da2b94..000000000 --- a/poky/meta/recipes-extended/logrotate/logrotate_3.15.0.bb +++ /dev/null @@ -1,99 +0,0 @@ -SUMMARY = "Rotates, compresses, removes and mails system log files" -SECTION = "console/utils" -HOMEPAGE = "https://github.com/logrotate/logrotate/issues" -LICENSE = "GPLv2" - -# TODO: Document coreutils dependency. Why not RDEPENDS? Why not busybox? - -DEPENDS="coreutils popt" - -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" - -# When updating logrotate to latest upstream, SRC_URI should point to -# a proper release tarball from https://github.com/logrotate/logrotate/releases -# and we have to take the snapshot for now because there is no such -# tarball available for 3.9.1. - -S = "${WORKDIR}/${BPN}-${PV}" - -UPSTREAM_CHECK_URI = "https://github.com/${BPN}/${BPN}/releases" -UPSTREAM_CHECK_REGEX = "logrotate-(?P\d+(\.\d+)+).tar" - -SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/${PV}/${BP}.tar.xz \ - file://act-as-mv-when-rotate.patch \ - file://update-the-manual.patch \ - file://disable-check-different-filesystems.patch \ - " - -SRC_URI[md5sum] = "320046f0b9fc38337e8827d4c5a866a0" -SRC_URI[sha256sum] = "313612c4776a305393454c874ef590d8acf84c9ffa648717731dfe902284ff8f" - -PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'acl selinux', d)}" - -PACKAGECONFIG[acl] = ",,acl" -PACKAGECONFIG[selinux] = ",,libselinux" - -CONFFILES_${PN} += "${localstatedir}/lib/logrotate.status \ - ${sysconfdir}/logrotate.conf \ - ${sysconfdir}/logrotate.d/btmp \ - ${sysconfdir}/logrotate.d/wtmp" - -# If RPM_OPT_FLAGS is unset, it adds -g itself rather than obeying our -# optimization variables, so use it rather than EXTRA_CFLAGS. -EXTRA_OEMAKE = "\ - LFS= \ - OS_NAME='${OS_NAME}' \ - 'CC=${CC}' \ - 'RPM_OPT_FLAGS=${CFLAGS}' \ - 'EXTRA_LDFLAGS=${LDFLAGS}' \ - ${@bb.utils.contains('PACKAGECONFIG', 'acl', 'WITH_ACL=yes', '', d)} \ - ${@bb.utils.contains('PACKAGECONFIG', 'selinux', 'WITH_SELINUX=yes', '', d)} \ -" - -# OS_NAME in the makefile defaults to `uname -s`. The behavior for -# freebsd/netbsd is questionable, so leave it as Linux, which only sets -# INSTALL=install and BASEDIR=/usr. -OS_NAME = "Linux" - -inherit autotools systemd - -SYSTEMD_SERVICE_${PN} = "\ - ${BPN}.service \ - ${BPN}.timer \ -" - -LOGROTATE_OPTIONS ?= "" - -LOGROTATE_SYSTEMD_TIMER_BASIS ?= "daily" -LOGROTATE_SYSTEMD_TIMER_ACCURACY ?= "12h" -LOGROTATE_SYSTEMD_TIMER_PERSISTENT ?= "true" - -do_install(){ - oe_runmake install DESTDIR=${D} PREFIX=${D} MANDIR=${mandir} - mkdir -p ${D}${sysconfdir}/logrotate.d - mkdir -p ${D}${localstatedir}/lib - install -p -m 644 ${S}/examples/logrotate.conf ${D}${sysconfdir}/logrotate.conf - install -p -m 644 ${S}/examples/btmp ${D}${sysconfdir}/logrotate.d/btmp - install -p -m 644 ${S}/examples/wtmp ${D}${sysconfdir}/logrotate.d/wtmp - touch ${D}${localstatedir}/lib/logrotate.status - - if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then - install -d ${D}${systemd_system_unitdir} - install -m 0644 ${S}/examples/logrotate.service ${D}${systemd_system_unitdir}/logrotate.service - install -m 0644 ${S}/examples/logrotate.timer ${D}${systemd_system_unitdir}/logrotate.timer - [ -z "${LOGROTATE_OPTIONS}" ] || - sed -ri \ - -e 's|(ExecStart=.*/logrotate.*)$|\1 ${LOGROTATE_OPTIONS}|g' \ - ${D}${systemd_system_unitdir}/logrotate.service - sed -ri \ - -e 's|(OnCalendar=).*$|\1${LOGROTATE_SYSTEMD_TIMER_BASIS}|g' \ - -e 's|(AccuracySec=).*$|\1${LOGROTATE_SYSTEMD_TIMER_ACCURACY}|g' \ - -e 's|(Persistent=).*$|\1${LOGROTATE_SYSTEMD_TIMER_PERSISTENT}|g' \ - ${D}${systemd_system_unitdir}/logrotate.timer - fi - - if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then - mkdir -p ${D}${sysconfdir}/cron.daily - install -p -m 0755 ${S}/examples/logrotate.cron ${D}${sysconfdir}/cron.daily/logrotate - fi -} diff --git a/poky/meta/recipes-extended/logrotate/logrotate_3.15.1.bb b/poky/meta/recipes-extended/logrotate/logrotate_3.15.1.bb new file mode 100644 index 000000000..7c7d51b39 --- /dev/null +++ b/poky/meta/recipes-extended/logrotate/logrotate_3.15.1.bb @@ -0,0 +1,99 @@ +SUMMARY = "Rotates, compresses, removes and mails system log files" +SECTION = "console/utils" +HOMEPAGE = "https://github.com/logrotate/logrotate/issues" +LICENSE = "GPLv2" + +# TODO: Document coreutils dependency. Why not RDEPENDS? Why not busybox? + +DEPENDS="coreutils popt" + +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +# When updating logrotate to latest upstream, SRC_URI should point to +# a proper release tarball from https://github.com/logrotate/logrotate/releases +# and we have to take the snapshot for now because there is no such +# tarball available for 3.9.1. + +S = "${WORKDIR}/${BPN}-${PV}" + +UPSTREAM_CHECK_URI = "https://github.com/${BPN}/${BPN}/releases" +UPSTREAM_CHECK_REGEX = "logrotate-(?P\d+(\.\d+)+).tar" + +SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/${PV}/${BP}.tar.xz \ + file://act-as-mv-when-rotate.patch \ + file://update-the-manual.patch \ + file://disable-check-different-filesystems.patch \ + " + +SRC_URI[md5sum] = "afe109afea749c306ff489203fde6beb" +SRC_URI[sha256sum] = "491fec9e89f1372f02a0ab66579aa2e9d63cac5178dfa672c204c88e693a908b" + +PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'acl selinux', d)}" + +PACKAGECONFIG[acl] = ",,acl" +PACKAGECONFIG[selinux] = ",,libselinux" + +CONFFILES_${PN} += "${localstatedir}/lib/logrotate.status \ + ${sysconfdir}/logrotate.conf \ + ${sysconfdir}/logrotate.d/btmp \ + ${sysconfdir}/logrotate.d/wtmp" + +# If RPM_OPT_FLAGS is unset, it adds -g itself rather than obeying our +# optimization variables, so use it rather than EXTRA_CFLAGS. +EXTRA_OEMAKE = "\ + LFS= \ + OS_NAME='${OS_NAME}' \ + 'CC=${CC}' \ + 'RPM_OPT_FLAGS=${CFLAGS}' \ + 'EXTRA_LDFLAGS=${LDFLAGS}' \ + ${@bb.utils.contains('PACKAGECONFIG', 'acl', 'WITH_ACL=yes', '', d)} \ + ${@bb.utils.contains('PACKAGECONFIG', 'selinux', 'WITH_SELINUX=yes', '', d)} \ +" + +# OS_NAME in the makefile defaults to `uname -s`. The behavior for +# freebsd/netbsd is questionable, so leave it as Linux, which only sets +# INSTALL=install and BASEDIR=/usr. +OS_NAME = "Linux" + +inherit autotools systemd + +SYSTEMD_SERVICE_${PN} = "\ + ${BPN}.service \ + ${BPN}.timer \ +" + +LOGROTATE_OPTIONS ?= "" + +LOGROTATE_SYSTEMD_TIMER_BASIS ?= "daily" +LOGROTATE_SYSTEMD_TIMER_ACCURACY ?= "12h" +LOGROTATE_SYSTEMD_TIMER_PERSISTENT ?= "true" + +do_install(){ + oe_runmake install DESTDIR=${D} PREFIX=${D} MANDIR=${mandir} + mkdir -p ${D}${sysconfdir}/logrotate.d + mkdir -p ${D}${localstatedir}/lib + install -p -m 644 ${S}/examples/logrotate.conf ${D}${sysconfdir}/logrotate.conf + install -p -m 644 ${S}/examples/btmp ${D}${sysconfdir}/logrotate.d/btmp + install -p -m 644 ${S}/examples/wtmp ${D}${sysconfdir}/logrotate.d/wtmp + touch ${D}${localstatedir}/lib/logrotate.status + + if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then + install -d ${D}${systemd_system_unitdir} + install -m 0644 ${S}/examples/logrotate.service ${D}${systemd_system_unitdir}/logrotate.service + install -m 0644 ${S}/examples/logrotate.timer ${D}${systemd_system_unitdir}/logrotate.timer + [ -z "${LOGROTATE_OPTIONS}" ] || + sed -ri \ + -e 's|(ExecStart=.*/logrotate.*)$|\1 ${LOGROTATE_OPTIONS}|g' \ + ${D}${systemd_system_unitdir}/logrotate.service + sed -ri \ + -e 's|(OnCalendar=).*$|\1${LOGROTATE_SYSTEMD_TIMER_BASIS}|g' \ + -e 's|(AccuracySec=).*$|\1${LOGROTATE_SYSTEMD_TIMER_ACCURACY}|g' \ + -e 's|(Persistent=).*$|\1${LOGROTATE_SYSTEMD_TIMER_PERSISTENT}|g' \ + ${D}${systemd_system_unitdir}/logrotate.timer + fi + + if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then + mkdir -p ${D}${sysconfdir}/cron.daily + install -p -m 0755 ${S}/examples/logrotate.cron ${D}${sysconfdir}/cron.daily/logrotate + fi +} diff --git a/poky/meta/recipes-extended/lsb/lsb-release/0001-fix-lsb_release-to-work-with-busybox-head-and-find.patch b/poky/meta/recipes-extended/lsb/lsb-release/0001-fix-lsb_release-to-work-with-busybox-head-and-find.patch new file mode 100644 index 000000000..017575206 --- /dev/null +++ b/poky/meta/recipes-extended/lsb/lsb-release/0001-fix-lsb_release-to-work-with-busybox-head-and-find.patch @@ -0,0 +1,38 @@ +From cba901945c5a6da9586550498f8e3787c57c3098 Mon Sep 17 00:00:00 2001 +From: Athanasios Oikonomou +Date: Fri, 17 Feb 2017 21:04:04 +0200 +Subject: [PATCH] fix lsb_release to work with busybox head and find + +Upstream-Status: Inappropriate [oe-core specific] +Signed-off-by: Athanasios Oikonomou + +diff --git a/lsb_release b/lsb_release +index e7d6024..233b8c1 100755 +--- a/lsb_release ++++ b/lsb_release +@@ -209,7 +209,7 @@ EASE ($DISTRIB_CODENAME)" + || [ -n "$(echo $DISTRIB_DESCRIPTION | \ + sed -e "s/.*$DESCSTR_DELI.*//")" ] + then +- TMP_DISTRIB_DESC=$(head -1 $FILENAME 2>/dev/null) ++ TMP_DISTRIB_DESC=$(head -n 1 $FILENAME 2>/dev/null) + [ -z "$DISTRIB_DESCRIPTION" ] \ + && DISTRIB_DESCRIPTION=$TMP_DISTRIB_DESC + else +@@ -249,10 +249,10 @@ GetDistribInfo() { + then + CHECKFIRST=$(find $INFO_ROOT/ -maxdepth 1 \ + -name \*$INFO_DISTRIB_SUFFIX \ +- -and ! -name $INFO_LSB_FILE \ +- -and -type f \ ++ -type f \ + 2>/dev/null \ +- | head -1 ) # keep one of the files found (if many) ++ | grep -v $INFO_LSB_FILE \ ++ | head -n 1 ) # keep one of the files found (if many) + fi + InitDistribInfo $CHECKFIRST + fi +-- +2.1.4 + diff --git a/poky/meta/recipes-extended/lsb/lsb-release_1.4.bb b/poky/meta/recipes-extended/lsb/lsb-release_1.4.bb new file mode 100644 index 000000000..52e30267f --- /dev/null +++ b/poky/meta/recipes-extended/lsb/lsb-release_1.4.bb @@ -0,0 +1,36 @@ +SUMMARY = "lsb_release support for OpenEmbedded" +SECTION = "console/utils" +HOMEPAGE = "http://prdownloads.sourceforge.net/lsb" +LICENSE = "GPLv2+" + +# lsb_release needs getopt +RDEPENDS_${PN} += "${VIRTUAL-RUNTIME_getopt}" + +LIC_FILES_CHKSUM = "file://README;md5=12da544b1a3a5a1795a21160b49471cf" + +SRC_URI = "${SOURCEFORGE_MIRROR}/project/lsb/lsb_release/1.4/lsb-release-1.4.tar.gz \ + file://0001-fix-lsb_release-to-work-with-busybox-head-and-find.patch \ + " + +SRC_URI[md5sum] = "30537ef5a01e0ca94b7b8eb6a36bb1e4" +SRC_URI[sha256sum] = "99321288f8d62e7a1d485b7c6bdccf06766fb8ca603c6195806e4457fdf17172" + +UPSTREAM_CHECK_URI = "http://sourceforge.net/projects/lsb/files/lsb_release/" +UPSTREAM_CHECK_REGEX = "/lsb_release/(?P(\d+[\.\-_]*)+)/" + +CLEANBROKEN = "1" + +do_install() { + oe_runmake install prefix=${D}${root_prefix} mandir=${D}${datadir}/man/ DESTDIR=${D} + + mkdir -p ${D}${sysconfdir}/lsb-release.d + + echo "DISTRIB_ID=${DISTRO}" >> ${D}${sysconfdir}/lsb-release + echo "DISTRIB_RELEASE=${DISTRO_VERSION}" >> ${D}${sysconfdir}/lsb-release + if [ -n "${DISTRO_CODENAME}" ]; then + echo "DISTRIB_CODENAME=${DISTRO_CODENAME}" >> ${D}${sysconfdir}/lsb-release + fi + echo "DISTRIB_DESCRIPTION=\"${DISTRO_NAME} ${DISTRO_VERSION}\"" >> ${D}${sysconfdir}/lsb-release +} + +FILES_${PN} += "${base_libdir}" diff --git a/poky/meta/recipes-extended/lsb/lsb/0001-fix-lsb_release-to-work-with-busybox-head-and-find.patch b/poky/meta/recipes-extended/lsb/lsb/0001-fix-lsb_release-to-work-with-busybox-head-and-find.patch deleted file mode 100644 index 017575206..000000000 --- a/poky/meta/recipes-extended/lsb/lsb/0001-fix-lsb_release-to-work-with-busybox-head-and-find.patch +++ /dev/null @@ -1,38 +0,0 @@ -From cba901945c5a6da9586550498f8e3787c57c3098 Mon Sep 17 00:00:00 2001 -From: Athanasios Oikonomou -Date: Fri, 17 Feb 2017 21:04:04 +0200 -Subject: [PATCH] fix lsb_release to work with busybox head and find - -Upstream-Status: Inappropriate [oe-core specific] -Signed-off-by: Athanasios Oikonomou - -diff --git a/lsb_release b/lsb_release -index e7d6024..233b8c1 100755 ---- a/lsb_release -+++ b/lsb_release -@@ -209,7 +209,7 @@ EASE ($DISTRIB_CODENAME)" - || [ -n "$(echo $DISTRIB_DESCRIPTION | \ - sed -e "s/.*$DESCSTR_DELI.*//")" ] - then -- TMP_DISTRIB_DESC=$(head -1 $FILENAME 2>/dev/null) -+ TMP_DISTRIB_DESC=$(head -n 1 $FILENAME 2>/dev/null) - [ -z "$DISTRIB_DESCRIPTION" ] \ - && DISTRIB_DESCRIPTION=$TMP_DISTRIB_DESC - else -@@ -249,10 +249,10 @@ GetDistribInfo() { - then - CHECKFIRST=$(find $INFO_ROOT/ -maxdepth 1 \ - -name \*$INFO_DISTRIB_SUFFIX \ -- -and ! -name $INFO_LSB_FILE \ -- -and -type f \ -+ -type f \ - 2>/dev/null \ -- | head -1 ) # keep one of the files found (if many) -+ | grep -v $INFO_LSB_FILE \ -+ | head -n 1 ) # keep one of the files found (if many) - fi - InitDistribInfo $CHECKFIRST - fi --- -2.1.4 - diff --git a/poky/meta/recipes-extended/lsb/lsb/init-functions b/poky/meta/recipes-extended/lsb/lsb/init-functions deleted file mode 100755 index 7c1dce24c..000000000 --- a/poky/meta/recipes-extended/lsb/lsb/init-functions +++ /dev/null @@ -1,44 +0,0 @@ -#!/bin/sh - -# LSB initscript functions, as defined in the LSB Spec 1.1.0 -# -# Lawrence Lim - Tue, 26 June 2007 -# Updated to the latest LSB 3.1 spec -# http://refspecs.freestandards.org/LSB_3.1.0/LSB-Core-generic/LSB-Core-generic_lines.txt - -start_daemon () { - /etc/core-lsb/lsb_start_daemon "$@" -} - -killproc () { - /etc/core-lsb/lsb_killproc "$@" -} - -pidofproc () { - /etc/core-lsb/lsb_pidofproc "$@" -} - -log_success_msg () { - /etc/core-lsb/lsb_log_message success "$@" -} - -log_failure_msg () { - /etc/core-lsb/lsb_log_message failure "$@" -} - -log_warning_msg () { - /etc/core-lsb/lsb_log_message warning "$@" -} - -# int log_begin_message (char *message) -log_begin_msg () { - if [ -z "$1" ]; then - return 1 - fi - echo " * $@" -} - - -log_end_msg () { - /etc/core-lsb/lsb_log_message end "$@" -} diff --git a/poky/meta/recipes-extended/lsb/lsb/lsb_killproc b/poky/meta/recipes-extended/lsb/lsb/lsb_killproc deleted file mode 100755 index 866c1a9c6..000000000 --- a/poky/meta/recipes-extended/lsb/lsb/lsb_killproc +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/sh - -. /etc/init.d/functions - -LSB=LSB-1.1 killproc $* -exit $? diff --git a/poky/meta/recipes-extended/lsb/lsb/lsb_log_message b/poky/meta/recipes-extended/lsb/lsb/lsb_log_message deleted file mode 100755 index 10343b081..000000000 --- a/poky/meta/recipes-extended/lsb/lsb/lsb_log_message +++ /dev/null @@ -1,27 +0,0 @@ -#!/bin/sh - -. /etc/init.d/functions - -ACTION=$1 -shift - -case "$ACTION" in - success) - echo -n $* - success "$*" - echo - ;; - failure) - echo -n $* - failure "$*" - echo - ;; - warning) - echo -n $* - warning "$*" - echo - ;; - *) - ;; -esac -exit 0 diff --git a/poky/meta/recipes-extended/lsb/lsb/lsb_pidofproc b/poky/meta/recipes-extended/lsb/lsb/lsb_pidofproc deleted file mode 100755 index 6d1fd0f24..000000000 --- a/poky/meta/recipes-extended/lsb/lsb/lsb_pidofproc +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/sh - -. /etc/init.d/functions - -pidofproc $* -exit $? diff --git a/poky/meta/recipes-extended/lsb/lsb/lsb_start_daemon b/poky/meta/recipes-extended/lsb/lsb/lsb_start_daemon deleted file mode 100755 index de62c2344..000000000 --- a/poky/meta/recipes-extended/lsb/lsb/lsb_start_daemon +++ /dev/null @@ -1,45 +0,0 @@ -#!/bin/sh - -. /etc/init.d/functions - -nice= -force= -pidfile= -user= -check= -RETVAL= -while [ "$1" != "${1##[-+]}" ]; do - case $1 in - -f) - force="--force" - shift - ;; - -n) - nice=$2 - shift 2 - ;; - -p) - pidfile="--pidfile $2" - shift 2 - ;; - -u) - user="--user $2" - shift 2 - ;; - -c) - check="--check $2" - shift 2 - ;; - *) - echo "Unknown Option $1" - echo "Options are:" - echo "-f" - echo "-p {pidfile}" - echo "-n [+/-nicelevel]" - echo "-u {user}" - echo "-c {base}" - exit 1;; - esac -done -LSB=LSB-1.1 daemon ${force:-} ${nice:-} ${pidfile:-} ${user:-} ${check:-} $* -exit $? diff --git a/poky/meta/recipes-extended/lsb/lsb_5.0.bb b/poky/meta/recipes-extended/lsb/lsb_5.0.bb deleted file mode 100644 index d1de33400..000000000 --- a/poky/meta/recipes-extended/lsb/lsb_5.0.bb +++ /dev/null @@ -1,136 +0,0 @@ -SUMMARY = "LSB support for OpenEmbedded" -SECTION = "console/utils" -HOMEPAGE = "http://prdownloads.sourceforge.net/lsb" -LICENSE = "GPLv2+" - -LSB_CORE = "lsb-core-${TARGET_ARCH}" -LSB_CORE_x86 = "lsb-core-ia32" -LSB_CORE_x86-64 = "lsb-core-amd64" -RPROVIDES_${PN} += "${LSB_CORE}" - -# lsb_release needs getopt, lsbinitscripts -RDEPENDS_${PN} += "${VIRTUAL-RUNTIME_getopt} lsbinitscripts" - -LIC_FILES_CHKSUM = "file://README;md5=12da544b1a3a5a1795a21160b49471cf" - -SRC_URI = "${SOURCEFORGE_MIRROR}/project/lsb/lsb_release/1.4/lsb-release-1.4.tar.gz \ - file://0001-fix-lsb_release-to-work-with-busybox-head-and-find.patch \ - file://init-functions \ - file://lsb_killproc \ - file://lsb_log_message \ - file://lsb_pidofproc \ - file://lsb_start_daemon \ - " -UPSTREAM_VERSION_UNKNOWN = "1" - -SRC_URI[md5sum] = "30537ef5a01e0ca94b7b8eb6a36bb1e4" -SRC_URI[sha256sum] = "99321288f8d62e7a1d485b7c6bdccf06766fb8ca603c6195806e4457fdf17172" - -UPSTREAM_CHECK_URI = "http://sourceforge.net/projects/lsb/files/lsb_release/" -UPSTREAM_CHECK_REGEX = "/lsb_release/(?P(\d+[\.\-_]*)+)/" - -S = "${WORKDIR}/lsb-release-1.4" - -CLEANBROKEN = "1" - -do_install() { - oe_runmake install prefix=${D}${root_prefix} mandir=${D}${datadir}/man/ DESTDIR=${D} - - # these two dirs are needed by package lsb-dist-checker - mkdir -p ${D}${sysconfdir}/opt - mkdir -p ${D}${localstatedir}/opt - - mkdir -p ${D}${base_libdir} - mkdir -p ${D}${sysconfdir}/lsb-release.d - printf "LSB_VERSION=\"core-5.0-noarch:" > ${D}${sysconfdir}/lsb-release - - if [ "${TARGET_ARCH}" = "i586" ] || [ "${TARGET_ARCH}" = "i686" ]; then - printf "core-5.0-ia32" >> ${D}${sysconfdir}/lsb-release - else - printf "core-5.0-${TARGET_ARCH}" >> ${D}${sysconfdir}/lsb-release - fi - echo "\"" >> ${D}${sysconfdir}/lsb-release - echo "DISTRIB_ID=${DISTRO}" >> ${D}${sysconfdir}/lsb-release - echo "DISTRIB_RELEASE=${DISTRO_VERSION}" >> ${D}${sysconfdir}/lsb-release - if [ -n "${DISTRO_CODENAME}" ]; then - echo "DISTRIB_CODENAME=${DISTRO_CODENAME}" >> ${D}${sysconfdir}/lsb-release - fi - echo "DISTRIB_DESCRIPTION=\"${DISTRO_NAME} ${DISTRO_VERSION}\"" >> ${D}${sysconfdir}/lsb-release - - if [ "${TARGET_ARCH}" = "i586" ] || [ "${TARGET_ARCH}" = "i686" ]; then - mkdir -p ${D}${sysconfdir}/lsb-release.d - touch ${D}${sysconfdir}/lsb-release.d/graphics-${PV}-noarch - touch ${D}${sysconfdir}/lsb-release.d/desktop-${PV}-noarch - touch ${D}${sysconfdir}/lsb-release.d/graphics-${PV}-ia32 - touch ${D}${sysconfdir}/lsb-release.d/desktop-${PV}-ia32 - elif [ "${TARGET_ARCH}" = "x86_64" ]; then - touch ${D}${sysconfdir}/lsb-release.d/graphics-${PV}-noarch - touch ${D}${sysconfdir}/lsb-release.d/graphics-${PV}-amd64 - touch ${D}${sysconfdir}/lsb-release.d/desktop-${PV}-amd64 - fi - if [ "${TARGET_ARCH}" = "powerpc" ]; then - touch ${D}${sysconfdir}/lsb-release.d/graphics-${PV}-noarch - touch ${D}${sysconfdir}/lsb-release.d/graphics-${PV}-ppc32 - touch ${D}${sysconfdir}/lsb-release.d/desktop-${PV}-ppc32 - elif [ "${TARGET_ARCH}" = "powerpc64" ]; then - touch ${D}${sysconfdir}/lsb-release.d/graphics-${PV}-noarch - touch ${D}${sysconfdir}/lsb-release.d/graphics-${PV}-ppc64 - touch ${D}${sysconfdir}/lsb-release.d/desktop-${PV}-ppc64 - fi -} - -do_install_append() { - install -d ${D}${sysconfdir}/core-lsb - for i in lsb_killproc lsb_log_message lsb_pidofproc lsb_start_daemon - do - install -m 0755 ${WORKDIR}/$i ${D}${sysconfdir}/core-lsb - done - - install -d ${D}${nonarch_base_libdir}/lsb - install -m 0755 ${WORKDIR}/init-functions ${D}${nonarch_base_libdir}/lsb - - # create links for LSB test - if [ -e ${sbindir}/chkconfig ]; then - if [ "${nonarch_base_libdir}" != "${nonarch_libdir}" ] ; then - install -d ${D}${nonarch_libdir}/lsb - fi - ln -sf ${sbindir}/chkconfig ${D}${nonarch_libdir}/lsb/install_initd - ln -sf ${sbindir}/chkconfig ${D}${nonarch_libdir}/lsb/remove_initd - fi - - if [ "${TARGET_ARCH}" = "x86_64" ]; then - # don't symlink if usrmerge is in DISTRO_FEATURES as it manages the symlink - if ${@bb.utils.contains('DISTRO_FEATURES','usrmerge','false','true',d)} && \ - [ "${base_libdir}" != "${base_prefix}/lib64" ]; then - lnr ${D}${base_libdir} ${D}${base_prefix}/lib64 - fi - cd ${D}${base_libdir} - ln -sf ld-linux-x86-64.so.2 ld-lsb-x86-64.so.2 - ln -sf ld-linux-x86-64.so.2 ld-lsb-x86-64.so.3 - fi - if [ "${TARGET_ARCH}" = "i586" ] || [ "${TARGET_ARCH}" = "i686" ]; then - cd ${D}${base_libdir} - ln -sf ld-linux.so.2 ld-lsb.so.2 - ln -sf ld-linux.so.2 ld-lsb.so.3 - fi - - if [ "${TARGET_ARCH}" = "powerpc64" ]; then - if [ "${base_libdir}" != "${base_prefix}/lib64" ]; then - lnr ${D}${base_libdir} ${D}${base_prefix}/lib64 - fi - cd ${D}${base_libdir} - ln -sf ld64.so.1 ld-lsb-ppc64.so.2 - ln -sf ld64.so.1 ld-lsb-ppc64.so.3 - fi - if [ "${TARGET_ARCH}" = "powerpc" ]; then - cd ${D}${base_libdir} - ln -sf ld.so.1 ld-lsb-ppc32.so.2 - ln -sf ld.so.1 ld-lsb-ppc32.so.3 - fi -} - -FILES_${PN} += "${@'${base_prefix}/lib64' if d.getVar('TARGET_ARCH') == ('x86_64' or 'powerpc64') and '${base_libdir}' != '${base_prefix}/lib64' else ''} \ - ${base_libdir} \ - ${nonarch_libdir}/lsb \ - ${nonarch_base_libdir}/lsb/* \ - " diff --git a/poky/meta/recipes-extended/lsb/lsbinitscripts/0001-functions-avoid-exit-1-which-causes-init-scripts-to-.patch b/poky/meta/recipes-extended/lsb/lsbinitscripts/0001-functions-avoid-exit-1-which-causes-init-scripts-to-.patch deleted file mode 100644 index c0076453f..000000000 --- a/poky/meta/recipes-extended/lsb/lsbinitscripts/0001-functions-avoid-exit-1-which-causes-init-scripts-to-.patch +++ /dev/null @@ -1,21 +0,0 @@ -Upstream-Status: Pending - -Subject: functions: avoid exit 1 which causes init scripts to fail - -Signed-off-by: Chen Qi ---- - rc.d/init.d/functions | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -Index: initscripts-9.72/rc.d/init.d/functions -=================================================================== ---- initscripts-9.72.orig/rc.d/init.d/functions -+++ initscripts-9.72/rc.d/init.d/functions -@@ -686,6 +686,6 @@ if [ "$_use_systemctl" = "1" ]; then - fi - fi - --strstr "$(cat /proc/cmdline)" "rc.debug" && set -x -+strstr "$(cat /proc/cmdline)" "rc.debug" && set -x || true - return 0 - diff --git a/poky/meta/recipes-extended/lsb/lsbinitscripts/functions.patch b/poky/meta/recipes-extended/lsb/lsbinitscripts/functions.patch deleted file mode 100644 index e912daa70..000000000 --- a/poky/meta/recipes-extended/lsb/lsbinitscripts/functions.patch +++ /dev/null @@ -1,33 +0,0 @@ -From e46b056282c8420f096d5c34d78c00f816788784 Mon Sep 17 00:00:00 2001 -From: Fan Xin -Date: Mon, 5 Jun 2017 16:26:47 +0900 -Subject: [PATCH 1/2] Upstream-Status: Inappropriate [configuration] - -Signed-off-by: Xiaofeng Yan -Signed-off-by: Saul Wold - -Rebase on 9.72 - -Signed-off-by: Fan Xin -Upstream-Status: Pending - ---- - rc.d/init.d/functions | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/rc.d/init.d/functions b/rc.d/init.d/functions -index 2e3da964..1a204dec 100644 ---- a/rc.d/init.d/functions -+++ b/rc.d/init.d/functions -@@ -59,7 +59,7 @@ systemctl_redirect () { - [ -z "${COLUMNS:-}" ] && COLUMNS=80 - - if [ -z "${CONSOLETYPE:-}" ]; then -- if [ -c "/dev/stderr" ] && [ -r "/dev/stderr" ]; then -+ if [ -c "/dev/stderr" ] && [ -r "/dev/stderr" ] && [ -e /sbin/consoletype ]; then - CONSOLETYPE="$(/sbin/consoletype < /dev/stderr 2>/dev/null)" - else - CONSOLETYPE="serial" --- -2.15.1 - diff --git a/poky/meta/recipes-extended/lsb/lsbinitscripts_9.79.bb b/poky/meta/recipes-extended/lsb/lsbinitscripts_9.79.bb deleted file mode 100644 index 6d3fcf13d..000000000 --- a/poky/meta/recipes-extended/lsb/lsbinitscripts_9.79.bb +++ /dev/null @@ -1,31 +0,0 @@ -SUMMARY = "SysV init scripts which are only used in an LSB image" -HOMEPAGE = "https://wiki.debian.org/LSBInitScripts" -SECTION = "base" -LICENSE = "GPLv2" - -RPROVIDES_${PN} += "initd-functions" -RDEPENDS_${PN} += "util-linux" -RCONFLICTS_${PN} = "initscripts-functions" - -LIC_FILES_CHKSUM = "file://COPYING;md5=ebf4e8b49780ab187d51bd26aaa022c6" - -S = "${WORKDIR}/git" -SRC_URI = "git://github.com/fedora-sysv/initscripts \ - file://functions.patch \ - file://0001-functions-avoid-exit-1-which-causes-init-scripts-to-.patch \ - " -SRCREV = "a51c1b4f7dcf55b568b2ee4c2b18078849943469" -UPSTREAM_CHECK_GITTAGREGEX = "^(?P\d+(\.\d+)+)" - -SRC_URI[md5sum] = "d6c798f40dceb117e12126d94cb25a9a" -SRC_URI[sha256sum] = "1793677bdd1f7ee4cb00878ce43346196374f848a4c8e4559e086040fc7487db" - -# Since we are only taking the patched version of functions, no need to -# configure or compile anything so do not execute these -do_configure[noexec] = "1" -do_compile[noexec] = "1" - -do_install(){ - install -d ${D}${sysconfdir}/init.d/ - install -m 0644 ${S}/rc.d/init.d/functions ${D}${sysconfdir}/init.d/functions -} diff --git a/poky/meta/recipes-extended/lsb/lsbtest/LSB_Test.sh b/poky/meta/recipes-extended/lsb/lsbtest/LSB_Test.sh deleted file mode 100644 index 073e247a5..000000000 --- a/poky/meta/recipes-extended/lsb/lsbtest/LSB_Test.sh +++ /dev/null @@ -1,525 +0,0 @@ -#!/bin/sh - -# Copyright (C) 2012 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 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, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - -WORK_DIR="/opt/lsb-test" - -if [ `id -u` -ne 0 ] -then - cat << EOF - In order to install and run LSB testsuite, you need administrator privileges. - You are currently running this script as an unprivileged user. - -EOF - exit 1 -fi - -ARCH=`uname -m` -if [ ${ARCH} != "i686" ] && [ ${ARCH} != "x86_64" ] && [ ${ARCH} != "ppc" ] && [ ${ARCH} != "ppc64" ] -then - echo "Error: Unsupported architecture" - exit 1 -fi - -which rpm -if [ $? -ne 0 ] -then - echo "No rpm command found" - exit 1 -fi - -RET=0 - -cd ${WORK_DIR} || exit 1 -# Step 1: Download the LSB Packages -echo "" -echo "Download LSB packages..." -echo "" - -if [ ! -e ./packages_list ] -then - echo "Error: Could not find packages list" >&2 - exit 1 -fi - -. ./packages_list - -PACKAGES_DIR="/var/opt/lsb/test/manager/packages/ftp.linuxfoundation.org/pub/lsb" - -BASE_PACKAGES_DIR="${PACKAGES_DIR}/base/released-all/binary" -RUNTIME_BASE_PACKAGES_DIR="${PACKAGES_DIR}/test_suites/released-all/binary/runtime" -RUNTIME_PACKAGES_DIR="${PACKAGES_DIR}/test_suites/${LSB_RELEASE}/binary/runtime" -APP_PACKAGES_DIR="${PACKAGES_DIR}/app-battery/${LSB_RELEASE}/${LSB_ARCH}" -APP_TESTFILES_DIR="${PACKAGES_DIR}/app-battery/tests" -SNAPSHOTS_TESTFILES_DIR="${PACKAGES_DIR}/snapshots/appbat/tests" - -if [ ! -d ${PACKAGES_DIR} ] -then - mkdir -p ${PACKAGES_DIR} -fi - -if [ ! -d ${BASE_PACKAGES_DIR} ] -then - mkdir -p ${BASE_PACKAGES_DIR} -fi - -if [ ! -d ${RUNTIME_BASE_PACKAGES_DIR} ] -then - mkdir -p ${RUNTIME_BASE_PACKAGES_DIR} -fi - -if [ ! -d ${RUNTIME_PACKAGES_DIR} ] -then - mkdir -p ${RUNTIME_PACKAGES_DIR} -fi - -if [ ! -d ${APP_PACKAGES_DIR} ] -then - mkdir -p ${APP_PACKAGES_DIR} -fi - -if [ ! -d ${APP_TESTFILES_DIR} ] -then - mkdir -p ${APP_TESTFILES_DIR} -fi - -# Official download server list. You can replace them with your own server. -SERVER_IPADDR="140.211.169.28" -SERVER_NAME="ftp.linuxfoundation.org" - -if ! `grep -F -q "${SERVER_NAME}" /etc/hosts`; then - echo "${SERVER_IPADDR} ${SERVER_NAME} ${SERVER_NAME}" >> /etc/hosts -fi - -#ping -c 5 ${SERVER_NAME} -#if [ $? -ne 0 ] -#then -# echo "The server: ${SERVER_NAME} is unreachable" -# exit 1 -#fi - -SERVER1="\ - http://${SERVER_NAME}/pub/lsb/base/released-all/binary" -SERVER2="\ - http://${SERVER_NAME}/pub/lsb/test_suites/released-all/binary/runtime" -SERVER3="\ - http://${SERVER_NAME}/pub/lsb/test_suites/${LSB_RELEASE}/binary/runtime" -SERVER4="\ - http://${SERVER_NAME}/pub/lsb/app-battery/${LSB_RELEASE}/${LSB_ARCH}" -SERVER5="\ - http://${SERVER_NAME}/pub/lsb/app-battery/tests" - -# We using "curl" as a download tool, "wget" is an alternative. -CURL=`which curl` -WGET=`which wget` -if [ ! -z ${CURL} ] -then - DOWNLOAD_CMD="${CURL} -R -L -f --retry 3 --retry-delay 4 --connect-timeout 180 --compressed -C - -o" -elif [ ! -z ${WGET} ] -then - DOWNLOAD_CMD="${WGET} -c -t 5 -O" -else - echo "Can not find a download tool, please install curl or wget." - exit 1 -fi - -cd ${BASE_PACKAGES_DIR} -for pkg in ${BASE_PACKAGES_LIST}; do - if [ ! -f ${pkg} ] - then - #${DOWNLOAD_CMD} ${pkg}".#part" ${SERVER1}/${pkg} > /dev/null 2>&1 - ${DOWNLOAD_CMD} ${pkg}".#part" ${SERVER1}/${pkg} - if [ $? -eq 0 ] - then - mv -f ${pkg}".#part" ${pkg} - echo "Download ${pkg} successfully." - else - echo "Download ${pkg} failed." - RET=1 - fi - fi -done - -cd ${RUNTIME_BASE_PACKAGES_DIR} -for pkg in ${RUNTIME_BASE_PACKAGES_LIST}; do - if [ ! -f ${pkg} ] - then - #${DOWNLOAD_CMD} ${pkg}".#part" ${SERVER2}/${pkg} > /dev/null 2>&1 - ${DOWNLOAD_CMD} ${pkg}".#part" ${SERVER2}/${pkg} - if [ $? -eq 0 ] - then - mv -f ${pkg}".#part" ${pkg} - echo "Download ${pkg} successfully." - else - echo "Download ${pkg} failed." - RET=1 - fi - fi -done - -cd ${RUNTIME_PACKAGES_DIR} -for pkg in ${RUNTIME_PACKAGES_LIST}; do - if [ ! -f ${pkg} ] - then - #${DOWNLOAD_CMD} ${pkg}".#part" ${SERVER3}/${pkg} > /dev/null 2>&1 - ${DOWNLOAD_CMD} ${pkg}".#part" ${SERVER3}/${pkg} - if [ $? -eq 0 ] - then - mv -f ${pkg}".#part" ${pkg} - echo "Download ${pkg} successfully." - else - echo "Download ${pkg} failed." - RET=1 - fi - fi -done - -cd ${APP_PACKAGES_DIR} -for pkg in ${APP_PACKAGES_LIST}; do - if [ ! -f ${pkg} ] - then - #${DOWNLOAD_CMD} ${pkg}".#part" ${SERVER4}/${pkg} > /dev/null 2>&1 - ${DOWNLOAD_CMD} ${pkg}".#part" ${SERVER4}/${pkg} - if [ $? -eq 0 ] - then - mv -f ${pkg}".#part" ${pkg} - echo "Download ${pkg} successfully." - else - echo "Download ${pkg} failed." - RET=1 - fi - fi -done - -cd ${APP_TESTFILES_DIR} -for pkg in ${APP_TESTFILES_LIST}; do - if [ ! -f ${pkg} ] - then - #${DOWNLOAD_CMD} ${pkg}".#part" ${SERVER5}/${pkg} > /dev/null 2>&1 - ${DOWNLOAD_CMD} ${pkg}".#part" ${SERVER5}/${pkg} - if [ $? -eq 0 ] - then - mv -f ${pkg}".#part" ${pkg} - echo "Download ${pkg} successfully." - else - echo "Download ${pkg} failed." - RET=1 - fi - fi -done - -if [ ${RET} -ne 0 ] -then - echo "Download some packages failed. Please download them again." - exit 1 -fi - -# Step 2: Install the LSB Packages -echo "" -echo "Install LSB packages..." -echo "" - -# Kill lighttpd -ps aux | grep "lighttpd" | grep -v -q "grep" -if [ $? -eq 0 ] -then - killall lighttpd >/dev/null 2>&1 -fi - -# Start avahi-daemon -ps aux | grep "avahi-daemon" | grep -v -q "grep" -if [ $? -ne 0 ] -then - /etc/init.d/avahi-daemon start >/dev/null 2>&1 -fi - -LSB_START_CMD="/opt/lsb/test/manager/bin/dist-checker-start.pl" -LSB_STOP_CMD="/opt/lsb/test/manager/bin/dist-checker-stop.pl" - -PLATFORM_FILE="/etc/rpm/platform" - -RPM_INSTALL_CMD="rpm --quiet --nodeps --replacepkgs --nosignature -i --ignoreos" -RPM_INSTALL_CMD_NOSCRIPTS="rpm --quiet --nodeps --replacepkgs --noscripts --nosignature -i --ignoreos" - -# If the lsb has been started, stop it first. -if [ -x ${LSB_STOP_CMD} ] -then - ${LSB_STOP_CMD} -fi - -if [ ! -d /etc/rpm ] -then - mkdir -p /etc/rpm -fi - -if [ ! -f ${PLATFORM_FILE} ] -then - touch ${PLATFORM_FILE} -fi - -if ! `grep -F -q "noarch-suse" ${PLATFORM_FILE}`; then - if [ ${ARCH} = i686 ];then - echo "i486-suse" >> ${PLATFORM_FILE} - echo "i486-noarch" >> ${PLATFORM_FILE} - echo "i486-pc" >> ${PLATFORM_FILE} - echo "noarch-suse" >> ${PLATFORM_FILE} - elif [ ${ARCH} = x86_64 ]; then - echo "i486-suse" >> ${PLATFORM_FILE} - echo "i486-noarch" >> ${PLATFORM_FILE} - echo "i486-pc" >> ${PLATFORM_FILE} - echo "i486-.*-linux.*" >> ${PLATFORM_FILE} - echo "noarch-suse" >> ${PLATFORM_FILE} - echo "${ARCH}-suse" >> ${PLATFORM_FILE} - echo "${ARCH}-noarch" >> ${PLATFORM_FILE} - echo "${ARCH}-pc" >> ${PLATFORM_FILE} - else - echo "${ARCH}-suse" >> ${PLATFORM_FILE} - echo "${ARCH}-noarch" >> ${PLATFORM_FILE} - echo "${ARCH}-pc" >> ${PLATFORM_FILE} - echo "noarch-suse" >> ${PLATFORM_FILE} - fi -fi - -if [ -d ${BASE_PACKAGES_DIR} ] -then - cd ${BASE_PACKAGES_DIR} - for pkg in ${BASE_PACKAGES_LIST} - do - rpm --quiet -q ${pkg%\.*} - if [ $? -ne 0 ]; then - $RPM_INSTALL_CMD ${pkg} - fi - done -fi - -if [ -d ${RUNTIME_BASE_PACKAGES_DIR} ] -then - cd ${RUNTIME_BASE_PACKAGES_DIR} - for pkg in ${RUNTIME_BASE_PACKAGES_LIST} - do - rpm --quiet -q ${pkg%\.*} - if [ $? -ne 0 ]; then - $RPM_INSTALL_CMD ${pkg} - fi - done -fi - -if [ -d ${RUNTIME_PACKAGES_DIR} ] -then - cd ${RUNTIME_PACKAGES_DIR} - for pkg in ${RUNTIME_PACKAGES_LIST} - do - rpm --quiet -q ${pkg%\.*} - if [ $? -ne 0 ]; then - $RPM_INSTALL_CMD ${pkg} - fi - done -fi - -if [ -d ${APP_PACKAGES_DIR} ] -then - cd ${APP_PACKAGES_DIR} - for pkg in ${APP_PACKAGES_LIST} - do - echo "${pkg}" | grep -q "apache\|xpdf" - if [ $? -eq 0 ] - then - rpm --quiet -q ${pkg%\.*} - if [ $? -ne 0 ]; then - $RPM_INSTALL_CMD_NOSCRIPTS ${pkg} - fi - else - rpm --quiet -q ${pkg%\.*} - if [ $? -ne 0 ]; then - $RPM_INSTALL_CMD ${pkg} - fi - fi - done -fi - -if [ ! -d ${SNAPSHOTS_TESTFILES_DIR} ] -then - mkdir -p ${SNAPSHOTS_TESTFILES_DIR} -fi - -if [ -d ${APP_TESTFILES_DIR} ] -then - cd ${APP_TESTFILES_DIR} - for pkg in ${APP_TESTFILES_LIST} - do - cp -f ${pkg} ${SNAPSHOTS_TESTFILES_DIR} - done -fi - -cd ${WORK_DIR} - -# Step 3: Set environment -echo "" -echo "Set environment..." -echo "" - -check () -{ - if [ $? -eq 0 ] - then - echo "PASS" - else - echo "FAIL" - exit 1 - fi -} - -echo "" -echo "---------------------------------" -echo "Create the Dirnames on target" - -if [ ! -d /etc/rpm/sysinfo ] -then - mkdir -p /etc/rpm/sysinfo -fi - -cat > /etc/rpm/sysinfo/Dirnames << EOF -/etc/opt/lsb -/home/tet/LSB.tools -/opt/lsb-tet3-lite/lib/ksh -/opt/lsb-tet3-lite/lib/perl -/opt/lsb-tet3-lite/lib/posix_sh -/opt/lsb-tet3-lite/lib/tet3 -/opt/lsb-tet3-lite/lib/xpg3sh -/opt/lsb/appbat/lib/python2.4/site-packages/qm -/opt/lsb/appbat/lib/python2.4/site-packages/qm/external -/opt/lsb/appbat/lib/python2.4/site-packages/qm/external/DocumentTemplate -/opt/lsb/appbat/lib/python2.4/site-packages/qm/test -/opt/lsb/appbat/lib/python2.4/site-packages/qm/test/classes -/opt/lsb/appbat/lib/python2.4/site-packages/qm/test/web -/opt/lsb/test/doc -/opt/lsb/test/lib -/opt/lsb/test/qm/diagnostics -/opt/lsb/test/qm/doc -/opt/lsb/test/qm/doc/test/html -/opt/lsb/test/qm/doc/test/print -/opt/lsb/test/qm/dtml -/opt/lsb/test/qm/dtml/test -/opt/lsb/test/qm/messages/test -/opt/lsb/test/qm/tutorial/test/tdb -/opt/lsb/test/qm/tutorial/test/tdb/QMTest -/opt/lsb/test/qm/web -/opt/lsb/test/qm/web/images -/opt/lsb/test/qm/web/stylesheets -/opt/lsb/test/qm/xml -/opt/lsb/test/share -/usr/share/doc/lsb-runtime-test -/var/opt/lsb -/opt/lsb/test/desktop -/opt/lsb/test/desktop/fontconfig -/opt/lsb/test/desktop/freetype -/opt/lsb/test/desktop/gtkvts -/opt/lsb/test/desktop/libpng -/opt/lsb/test/desktop/xft -/opt/lsb/test/desktop/xml -/opt/lsb/test/desktop/xrender - - -EOF - -if [ -f /etc/rpm/sysinfo/Dirnames ] -then - echo "Success to creat Dirnames file" -else - echo "Fail to creat Dirnames file" -fi - -[ -x /sbin/ldconfig ] && { -echo "" -echo "---------------------------------" -echo "Update cache" -/sbin/ldconfig -check; -} - -# Check loop device -if [ ! -b /dev/loop0 ] -then - insmod /lib/modules/`uname -r`/kernel/drivers/block/loop.ko - if [ $? != 0 ];then - echo "Insmod loop.ko failed." - fi -fi - -# Resolve localhost -LOCALHOST=`hostname` -if ! `grep -F -q "$LOCALHOST" /etc/hosts`; then - echo "127.0.0.1 $LOCALHOST" >> /etc/hosts -fi - -# Workaround to add part of locales for LSB test -localedef -i de_DE -f ISO-8859-1 de_DE -localedef -i de_DE -f ISO-8859-15 de_DE.ISO-8859-15 -localedef -i de_DE -f UTF-8 de_DE.UTF-8 -localedef -i de_DE@euro -f ISO-8859-15 de_DE@euro -localedef -i en_HK -f ISO-8859-1 en_HK -localedef -i en_PH -f ISO-8859-1 en_PH -localedef -i en_US -f ISO-8859-15 en_US.ISO-8859-15 -localedef -i en_US -f ISO-8859-1 en_US.ISO-8859-1 -localedef -i en_US -f ISO-8859-1 en_US -localedef -i en_US -f UTF-8 en_US.UTF-8 -localedef -i en_US -f ISO-8859-1 en_US.ISO8859-1 -localedef -i es_MX -f ISO-8859-1 es_MX -localedef -i fr_FR -f ISO-8859-1 fr_FR -localedef -i it_IT -f ISO-8859-1 it_IT -localedef -i ja_JP -f EUC-JP ja_JP.eucjp -localedef -i se_NO -f UTF-8 se_NO.UTF-8 -localedef -i ta_IN -f UTF-8 ta_IN -localedef -i es_ES -f ISO-8859-1 es_ES -localedef -i fr_FR@euro -f ISO-8859-1 fr_FR@euro -localedef -i is_IS -f UTF-8 is_IS.UTF-8 -localedef -i zh_TW -f BIG5 zh_TW.BIG5 -localedef -i en_US -f ISO-8859-15 en_US.ISO-8859-15 - -echo "" -echo "Installation done!" -echo "" - -# Step 4: Start LSB test -if [ -x ${LSB_START_CMD} ] -then - ${LSB_START_CMD} -fi - -echo "---------------------------------" -echo "Run all the certification version of LSB Tests" -echo "---------------------------------" - -LSB_DIST_CHECKER="/opt/lsb/test/manager/utils/dist-checker.pl" -SESSION="${WORK_DIR}/session" -if [ ! -e ${SESSION} ] -then - echo "Error: Could not find session file." - echo "You must run LSB test from webbrower." - exit 1 -fi - -if [ -x ${LSB_DIST_CHECKER} ] -then - ${LSB_DIST_CHECKER} -v2 -f ${SESSION} - check -fi - -echo "" -echo "LSB test complete. Please check the log file in /var/opt/lsb/test/manager/results/" -echo "" - diff --git a/poky/meta/recipes-extended/lsb/lsbtest/packages_list b/poky/meta/recipes-extended/lsb/lsbtest/packages_list deleted file mode 100644 index 1a6c11699..000000000 --- a/poky/meta/recipes-extended/lsb/lsbtest/packages_list +++ /dev/null @@ -1,49 +0,0 @@ -LSB_RELEASE="released-5.0" -LSB_ARCH="lsbarch" - -BASE_PACKAGES_LIST="lsb-setup-5.0.0-2.noarch.rpm" - -RUNTIME_BASE_PACKAGES_LIST="lsb-dist-checker-5.0.0.1-1.targetarch.rpm \ - lsb-tet3-lite-3.7-27.lsb5.targetarch.rpm \ - lsb-tet3-lite-devel-3.7-27.lsb5.targetarch.rpm \ - lsb-xvfb-1.2.0-22.targetarch.rpm \ - " - -RUNTIME_PACKAGES_LIST="lsb-cmdchk-5.0.3-1.targetarch.rpm \ - lsb-libchk-5.0.3-1.targetarch.rpm \ - lsb-qm-2.2-1.lsb5.targetarch.rpm \ - lsb-task-dist-testkit-5.0.0-2.noarch.rpm \ - lsb-test-core-5.0.1-1.targetarch.rpm \ - lsb-test-cpp-t2c-5.0.0-1.targetarch.rpm \ - lsb-test-desktop-5.0.0-1.targetarch.rpm \ - lsb-test-desktop-t2c-5.0.0-1.targetarch.rpm \ - lsb-test-libstdcpp-4.1.0-22.lsb1.targetarch.rpm \ - lsb-test-olver-core-5.0.0-1.targetarch.rpm \ - lsb-test-perl-5.0.2-1.noarch.rpm \ - lsb-test-printing-5.0.1-1.targetarch.rpm \ - lsb-test-python-5.0.0-1.targetarch.rpm \ - lsb-test-qt4-azov-5.0.0-1.targetarch.rpm \ - lsb-test-xts5-5.1.5-47.lsb5.targetarch.rpm \ - lsb-test-alsa-t2c-5.1.91-4.targetarch.rpm \ - lsb-test-core-t2c-5.0.1-1.targetarch.rpm \ - lsb-test-xml2-azov-5.0.0-1.targetarch.rpm \ - " - -APP_PACKAGES_LIST="lsb-python-2.4.6-10.lsb5.targetarch.rpm \ - lsb-apache-2.2.19-5.lsb5.targetarch.rpm \ - lsb-tcl-8.5.9-21.lsb5.targetarch.rpm \ - lsb-expect-5.43.0-21.lsb5.targetarch.rpm \ - lsb-groff-1.20.1-9.lsb5.targetarch.rpm \ - lsb-raptor-1.4.21-4.lsb5.targetarch.rpm \ - lsb-xpdf-1.01-17.lsb5.targetarch.rpm \ - lsb-samba-3.5.9-5.lsb5.targetarch.rpm \ - lsb-rsync-3.0.8-3.lsb5.targetarch.rpm \ - " - -APP_TESTFILES_LIST="expect-tests.tar \ - tcl-tests.tar \ - raptor-tests.tar \ - test1.pdf \ - test2.pdf \ - " - diff --git a/poky/meta/recipes-extended/lsb/lsbtest/session b/poky/meta/recipes-extended/lsb/lsbtest/session deleted file mode 100644 index 4d47e40f7..000000000 --- a/poky/meta/recipes-extended/lsb/lsbtest/session +++ /dev/null @@ -1,176 +0,0 @@ -[GENERAL] -VERBOSE_LEVEL: 1 -ARCHITECTURE: targetarch -USE_INTERNET: 1 -STD_VERSION: LSB 5.0 -STD_PROFILE: no -[cmdchk] -RUN: 1 -VERSION: local|* - -[libchk] -RUN: 1 -VERSION: local|* - -[alsa-t2c] -RUN: 1 -VERSION: local|* - -[alsa-t2c|local|*] -AUTOREPLY_TESTSUITE_DIR: /opt/lsb/test/alsa-t2c -AUTOREPLY_RESULTS_DIR: /opt/lsb/test/alsa-t2c/results - -[core] -RUN: 1 -VERSION: local|* - -[core|local|*] -AUTOREPLY_PROVIDES_BASH: n -AUTOREPLY_TESTRUN_PATH: /home/tet/test_sets -AUTOREPLY_PERSON: Automated -AUTOREPLY_KERNEL_NAME: vmlinuz -AUTOREPLY_INSTALL_LSBPAM_CONF: y -AUTOREPLY_PROVIDES_C_SHELL: n -AUTOREPLY_ORGANISATION: N/A -AUTOREPLY_SET_PASS_MIN_DAYS: y -AUTOREPLY_PROVIDES_SYSV_INIT: -AUTOREPLY_ISNTALL_DEVS: y -AUTOREPLY_SUPPORTS_FILE_CMD: y -AUTOREPLY_TEST_SYSTEM: Distribution Checker -AUTOREPLY_TESTSUITE_DIR: /opt/lsb/test/core/tet/test_sets -AUTOREPLY_SUPPORTS_NLS: n -AUTOREPLY_SUPPORTS_PROCESS_ACCOUNTING: n -AUTOREPLY_PATH_TO_RC.D: -AUTOREPLY_ALLOWS_MAKEDEV: n -AUTOREPLY_RESULTS_DIR: /opt/lsb/test/core/tet/test_sets/results - -[core-t2c] -RUN: 1 -VERSION: local|* - -[core-t2c|local|*] -AUTOREPLY_TESTSUITE_DIR: /opt/lsb/test/core-t2c -AUTOREPLY_RESULTS_DIR: /opt/lsb/test/core-t2c/results - -[cpp-t2c] -RUN: 1 -VERSION: local|* - -[cpp-t2c|local|*] -AUTOREPLY_TESTSUITE_DIR: /opt/lsb/test/cpp-t2c -AUTOREPLY_RESULTS_DIR: /opt/lsb/test/cpp-t2c/results - -[desktop] -RUN: 1 -VERSION: local|* - -[desktop|local|*] -AUTOREPLY_DESKTOP_ENVIRONMENT: [default] -AUTOREPLY_PERSON: Automated -AUTOREPLY_X_CLIENT_HOSTNAME: -AUTOREPLY_TEST_SYSTEM: Distribution Checker -AUTOREPLY_TESTSUITE_DIR: /opt/lsb/test/desktop -AUTOREPLY_X11_FONT_PATH: [default] -AUTOREPLY_SHOW_SUMMARY_REPORT: -AUTOREPLY_ORGANISATION: N/A -AUTOREPLY_XVFB_DISPLAY: [default] - -[desktop-t2c] -RUN: 1 -VERSION: local|* - -[desktop-t2c|local|*] -AUTOREPLY_TESTSUITE_DIR: /opt/lsb/test/desktop-t2c -AUTOREPLY_RESULTS_DIR: /opt/lsb/test/desktop-t2c/results - -[libstdcpp] -RUN: 1 -VERSION: local|* - -[libstdcpp|local|*] -AUTOREPLY_TEST_SYSTEM: Distribution Checker -AUTOREPLY_PERSON: Automated -AUTOREPLY_TESTSUITE_DIR: /opt/lsb/test/libstdcpp_4.1.0 -AUTOREPLY_ORGANISATION: N/A -AUTOREPLY_GNU_TRIPLET: - -[olver] -RUN: 1 -VERSION: local|* - -[olver|local|*] -AUTOREPLY_TESTSUITE_DIR: /opt/lsb/test/olver-core -AUTOREPLY_RESULTS_DIR: /var/opt/lsb/test/olver-core - -[perl] -RUN: 1 -VERSION: local|* - -[perl|local|*] -AUTOREPLY_TESTSUITE_DIR: /opt/lsb/test/perl -AUTOREPLY_RESULTS_DIR: /opt/lsb/test/perl/results - -[printing] -RUN: 1 -VERSION: local|* - -[printing|local|*] -AUTOREPLY_TESTSUITE_DIR: /opt/lsb/test/printing -AUTOREPLY_RESULTS_DIR: /opt/lsb/test/printing/results - -[python] -RUN: 1 -VERSION: local|* - -[python|local|*] -AUTOREPLY_TESTSUITE_DIR: /opt/lsb/test/python -AUTOREPLY_RESULTS_DIR: /opt/lsb/test/python/results - -[xml2-azov] -RUN: 1 -VERSION: local|* - -[xts5] -RUN: 1 -VERSION: local|* - -[xts5|local|*] -AUTOREPLY_XT_FONTPATH_GOOD: [default] -AUTOREPLY_TESTSUITE_DIR: /opt/lsb/test/xts5 -AUTOREPLY_XVFB_DISPLAY: [default] -AUTOREPLY_RESULTS_DIR: /opt/lsb/test/xts5/xts5/results -AUTOREPLY_XT_FONTPATH: [default] -AUTOREPLY_X_CLIENT_HOSTNAME: - -[apache] -RUN: 1 -VERSION: local|* - -[expect] -RUN: 1 -VERSION: local|* - -[groff] -RUN: 1 -VERSION: local|* - -[raptor] -RUN: 1 -VERSION: local|* - -[rsync] -RUN: 1 -VERSION: local|* - -[samba] -RUN: 1 -VERSION: local|* - -[tcl] -RUN: 1 -VERSION: local|* - -[xpdf] -RUN: 1 -VERSION: local|* - diff --git a/poky/meta/recipes-extended/lsb/lsbtest_1.0.bb b/poky/meta/recipes-extended/lsb/lsbtest_1.0.bb deleted file mode 100644 index a90c023d5..000000000 --- a/poky/meta/recipes-extended/lsb/lsbtest_1.0.bb +++ /dev/null @@ -1,49 +0,0 @@ -SUMMARY = "Automates Linux Standard Base (LSB) tests" -HOMEPAGE = "https://wiki.debian.org/LSBInitScripts" -SECTION = "console/utils" -LICENSE = "GPLv2" -PR = "r3" - -LIC_FILES_CHKSUM = "file://LSB_Test.sh;beginline=3;endline=16;md5=7063bb54b04719df0716b513447f4fc0" - -SRC_URI = "file://LSB_Test.sh \ - file://packages_list \ - file://session \ - " -RDEPENDS_${PN} = "lsb rpm" - -S = "${WORKDIR}" - -do_install() { - install -d ${D}/opt/lsb-test - install -m 0755 ${S}/LSB_Test.sh ${D}/opt/lsb-test/LSB_Test.sh - install -m 0644 ${S}/packages_list ${D}/opt/lsb-test/packages_list - install -m 0644 ${S}/session ${D}/opt/lsb-test/session - if [ "${TARGET_ARCH}" = "i586" ] || [ "${TARGET_ARCH}" = "i686" ];then - sed -i -e 's/lsbarch/ia32/g' -e 's/targetarch/i486/g' ${D}/opt/lsb-test/packages_list - sed -i -e 's/targetarch/x86/g' ${D}/opt/lsb-test/session - fi - if [ "${TARGET_ARCH}" = "x86_64" ];then - sed -i -e 's/lsbarch/amd64/g' -e 's/targetarch/x86_64/g' ${D}/opt/lsb-test/packages_list - sed -i -e 's/targetarch/x86-64/g' ${D}/opt/lsb-test/session - fi - if [ "${TARGET_ARCH}" = "powerpc" ];then - sed -i -e 's/lsbarch/ppc32/g' -e 's/targetarch/ppc/g' ${D}/opt/lsb-test/packages_list - sed -i -e 's/targetarch/PPC32/g' ${D}/opt/lsb-test/session - fi - - # For a ppc64 target. the default userspace is 32b. - # Therefore, only change the lsbarch and targetarch - # in the package_list when MLIB=lib64 is being used. - # Otherwise, by default, the ppc32 LSB packages - # will be downloaded by LSB_Test.sh - if [ "${TARGET_ARCH}" = "powerpc64" ];then - if [ "${PN}" != "${BPN}" ];then - sed -i -e 's/lsbarch/ppc64/g' -e 's/targetarch/ppc64/g' ${D}/opt/lsb-test/packages_list - sed -i -e 's/targetarch/PPC64/g' ${D}/opt/lsb-test/session - fi - fi -} - -FILES_${PN} += "/opt/lsb-test/* \ - " diff --git a/poky/meta/recipes-extended/ltp/ltp/0001-cve-meltdown.c-Fix-kernel-symbol-finding.patch b/poky/meta/recipes-extended/ltp/ltp/0001-cve-meltdown.c-Fix-kernel-symbol-finding.patch new file mode 100644 index 000000000..94f6f5a15 --- /dev/null +++ b/poky/meta/recipes-extended/ltp/ltp/0001-cve-meltdown.c-Fix-kernel-symbol-finding.patch @@ -0,0 +1,81 @@ +From fbeda82f440a0098be42dd668cbc47212a86ab48 Mon Sep 17 00:00:00 2001 +From: He Zhe +Date: Wed, 21 Aug 2019 16:27:24 +0800 +Subject: [PATCH] cve/meltdown.c: Fix kernel symbol finding + +meltdown case fails as below. +safe_file_ops.c:219: BROK: Expected 3 conversions got 2 at meltdown.c:272 + +find_kernel_symbol is defined to try twice with each of /proc/kallsyms and +/boot/System.map-%s. Currently if the symbol is not found in /proc/kallsyms, +when kernel option CONFIG_KALLSYMS_ALL is disabled, it would stop the case +immediately due to SAFE_FILE_LINES_SCANF. + +This patch turns to use FILE_LINES_SCANF to give find_kernel_symbol second +chance. + +[jstancek] Fix also condition introduced in 7709d2ae92ea, even if + /proc/kallsyms is disabled, we still want to try System.map. + +Signed-off-by: He Zhe +Signed-off-by: Jan Stancek + +Upstream-Status: Backport +[https://github.com/linux-test-project/ltp/commit/c2049b5c874bc071f8185bffb5fd7dcb042d9ec8] + +Remove the hunk for upstream 7709d2ae92ea ("cve/meltdown.c: abort the test if kallsyms was not enabled") +that has been covered by this patch. + +Signed-off-by: He Zhe +--- + testcases/cve/meltdown.c | 13 ++++++++++--- + 1 file changed, 10 insertions(+), 3 deletions(-) + +diff --git a/testcases/cve/meltdown.c b/testcases/cve/meltdown.c +index a53ea9b..22651a6 100644 +--- a/testcases/cve/meltdown.c ++++ b/testcases/cve/meltdown.c +@@ -267,9 +267,15 @@ find_symbol_in_file(const char *filename, const char *symname) + int ret, read; + char fmt[strlen(symname) + 64]; + ++ tst_res(TINFO, "Looking for %s in %s", symname, filename); ++ if (access(filename, F_OK) == -1) { ++ tst_res(TINFO, "%s not available", filename); ++ return 0; ++ } ++ + sprintf(fmt, "%%lx %%c %s%%c", symname); + +- ret = SAFE_FILE_LINES_SCANF(filename, fmt, &addr, &type, &read); ++ ret = FILE_LINES_SCANF(filename, fmt, &addr, &type, &read); + if (ret) + return 0; + +@@ -287,13 +293,11 @@ find_kernel_symbol(const char *name) + if (addr) + return addr; + +- tst_res(TINFO, "not found '%s' in /proc/kallsyms", name); + if (uname(&utsname) < 0) + tst_brk(TBROK | TERRNO, "uname"); + + sprintf(systemmap, "/boot/System.map-%s", utsname.release); + +- tst_res(TINFO, "looking in '%s'\n", systemmap); + addr = find_symbol_in_file(systemmap, name); + return addr; + } +@@ -308,6 +312,9 @@ static void setup(void) + saved_cmdline_addr = find_kernel_symbol("saved_command_line"); + tst_res(TINFO, "&saved_command_line == 0x%lx", saved_cmdline_addr); + ++ if (!saved_cmdline_addr) ++ tst_brk(TCONF, "saved_command_line not found"); ++ + spec_fd = SAFE_OPEN("/proc/cmdline", O_RDONLY); + + memset(target_array, 1, sizeof(target_array)); +-- +2.7.4 + diff --git a/poky/meta/recipes-extended/ltp/ltp/0001-syscall-rt_sigtimedwait01-Fix-wrong-sigset-length-fo.patch b/poky/meta/recipes-extended/ltp/ltp/0001-syscall-rt_sigtimedwait01-Fix-wrong-sigset-length-fo.patch new file mode 100644 index 000000000..0e56c0825 --- /dev/null +++ b/poky/meta/recipes-extended/ltp/ltp/0001-syscall-rt_sigtimedwait01-Fix-wrong-sigset-length-fo.patch @@ -0,0 +1,46 @@ +From a5046625eaeed2d3fba456c3ba84c6c141c2ad7c Mon Sep 17 00:00:00 2001 +From: He Zhe +Date: Thu, 29 Aug 2019 21:09:46 +0800 +Subject: [PATCH] syscall/rt_sigtimedwait01: Fix wrong sigset length for MIPS + +rt_sigtimedwait01 fails as follow on MIPS arches +rt_sigtimedwait01 1 TFAIL : .../sigwaitinfo01.c:58: test_empty_set +(.../sigwaitinfo01.c: 148): Unexpected failure: +TEST_ERRNO=EINVAL(22): Invalid argument + +As this case purposely bypasses glibc, it should align with the size of kernel +definition of sigset_t which is different from other arches. +https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/mips/include/uapi/asm/signal.h#n15 + +This patch turns to use _NSIG which is always right for all arches. + +Upstream-Status: Backport [a5046625eaeed2d3fba456c3ba84c6c141c2ad7c] + +Suggested-by: Jan Stancek +Acked-by: Jan Stancek +Acked-by: Cyril Hrubis +Signed-off-by: He Zhe +Signed-off-by: Petr Vorel +--- + testcases/kernel/syscalls/sigwaitinfo/sigwaitinfo01.c | 5 ++--- + 1 file changed, 2 insertions(+), 3 deletions(-) + +diff --git a/testcases/kernel/syscalls/sigwaitinfo/sigwaitinfo01.c b/testcases/kernel/syscalls/sigwaitinfo/sigwaitinfo01.c +index 5a32ce1..6a30c27 100644 +--- a/testcases/kernel/syscalls/sigwaitinfo/sigwaitinfo01.c ++++ b/testcases/kernel/syscalls/sigwaitinfo/sigwaitinfo01.c +@@ -128,9 +128,8 @@ static int my_sigtimedwait(const sigset_t * set, siginfo_t * info, + static int my_rt_sigtimedwait(const sigset_t * set, siginfo_t * info, + struct timespec *timeout) + { +- +- /* The last argument is (number_of_signals)/(bits_per_byte), which are 64 and 8, resp. */ +- return ltp_syscall(__NR_rt_sigtimedwait, set, info, timeout, 8); ++ /* _NSIG is always the right number of bits of signal map for all arches */ ++ return ltp_syscall(__NR_rt_sigtimedwait, set, info, timeout, _NSIG/8); + } + #endif + +-- +2.7.4 + diff --git a/poky/meta/recipes-extended/ltp/ltp/0001-testcases-use-python3-everywhere-to-run-python-scrip.patch b/poky/meta/recipes-extended/ltp/ltp/0001-testcases-use-python3-everywhere-to-run-python-scrip.patch new file mode 100644 index 000000000..f4f87f38a --- /dev/null +++ b/poky/meta/recipes-extended/ltp/ltp/0001-testcases-use-python3-everywhere-to-run-python-scrip.patch @@ -0,0 +1,161 @@ +From 0463d793566772a606255957915f99d166d5740c Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin +Date: Wed, 28 Aug 2019 18:30:23 +0200 +Subject: [PATCH] testcases: use python3 everywhere to run python scripts + +The scripts themselves have #!/usr/bin/python3 in them, +so I trust they are already py3-compatible. + +Upstream-Status: Pending +Signed-off-by: Alexander Kanavin +--- + testcases/kernel/power_management/runpwtests05.sh | 2 +- + .../power_management/runpwtests_exclusive01.sh | 2 +- + .../power_management/runpwtests_exclusive02.sh | 2 +- + .../power_management/runpwtests_exclusive03.sh | 2 +- + .../power_management/runpwtests_exclusive04.sh | 2 +- + .../power_management/runpwtests_exclusive05.sh | 2 +- + testcases/network/nfsv4/acl/runtest | 14 +++++++------- + testcases/realtime/func/pi-tests/run_auto.sh | 6 +++--- + 8 files changed, 16 insertions(+), 16 deletions(-) + +diff --git a/testcases/kernel/power_management/runpwtests05.sh b/testcases/kernel/power_management/runpwtests05.sh +index 8a7d0f6e0..43e234d01 100755 +--- a/testcases/kernel/power_management/runpwtests05.sh ++++ b/testcases/kernel/power_management/runpwtests05.sh +@@ -35,7 +35,7 @@ else + max_sched_smt=1 + fi + +-tst_test_cmds python ++tst_test_cmds python3 + + if ! grep sched_debug -qw /proc/cmdline ; then + tst_brkm TCONF "Kernel cmdline parameter 'sched_debug' needed," \ +diff --git a/testcases/kernel/power_management/runpwtests_exclusive01.sh b/testcases/kernel/power_management/runpwtests_exclusive01.sh +index ec78319e2..9fefcbf6e 100755 +--- a/testcases/kernel/power_management/runpwtests_exclusive01.sh ++++ b/testcases/kernel/power_management/runpwtests_exclusive01.sh +@@ -35,7 +35,7 @@ else + max_sched_smt=1 + fi + +-tst_test_cmds python ++tst_test_cmds python3 + + hyper_threaded=$(is_hyper_threaded) + multi_socket=$(is_multi_socket) +diff --git a/testcases/kernel/power_management/runpwtests_exclusive02.sh b/testcases/kernel/power_management/runpwtests_exclusive02.sh +index e107fce35..2cd0ecb05 100755 +--- a/testcases/kernel/power_management/runpwtests_exclusive02.sh ++++ b/testcases/kernel/power_management/runpwtests_exclusive02.sh +@@ -33,7 +33,7 @@ else + max_sched_smt=1 + fi + +-tst_test_cmds python ++tst_test_cmds python3 + + hyper_threaded=$(is_hyper_threaded) + multi_socket=$(is_multi_socket) +diff --git a/testcases/kernel/power_management/runpwtests_exclusive03.sh b/testcases/kernel/power_management/runpwtests_exclusive03.sh +index 490344bb3..ab3a5d11d 100755 +--- a/testcases/kernel/power_management/runpwtests_exclusive03.sh ++++ b/testcases/kernel/power_management/runpwtests_exclusive03.sh +@@ -35,7 +35,7 @@ else + max_sched_smt=1 + fi + +-tst_test_cmds python ++tst_test_cmds python3 + + hyper_threaded=$(is_hyper_threaded) + multi_socket=$(is_multi_socket) +diff --git a/testcases/kernel/power_management/runpwtests_exclusive04.sh b/testcases/kernel/power_management/runpwtests_exclusive04.sh +index 978ca02ae..438ef603f 100755 +--- a/testcases/kernel/power_management/runpwtests_exclusive04.sh ++++ b/testcases/kernel/power_management/runpwtests_exclusive04.sh +@@ -27,7 +27,7 @@ export TST_TOTAL=2 + # Checking test environment + check_kervel_arch + +-tst_test_cmds python ++tst_test_cmds python3 + + hyper_threaded=$(is_hyper_threaded) + multi_socket=$(is_multi_socket) +diff --git a/testcases/kernel/power_management/runpwtests_exclusive05.sh b/testcases/kernel/power_management/runpwtests_exclusive05.sh +index a0dad5834..3a9afdbf2 100755 +--- a/testcases/kernel/power_management/runpwtests_exclusive05.sh ++++ b/testcases/kernel/power_management/runpwtests_exclusive05.sh +@@ -35,7 +35,7 @@ else + max_sched_smt=1 + fi + +-tst_test_cmds python ++tst_test_cmds python3 + + hyper_threaded=$(is_hyper_threaded) + multi_socket=$(is_multi_socket) +diff --git a/testcases/network/nfsv4/acl/runtest b/testcases/network/nfsv4/acl/runtest +index d2e1b4c49..a859e85bc 100755 +--- a/testcases/network/nfsv4/acl/runtest ++++ b/testcases/network/nfsv4/acl/runtest +@@ -22,7 +22,7 @@ do + done + + # creation of users on the remote machine (removed only at the end of the tests) +-rsh -n $REMOTEHOST python $PWD/create_users.py -u 50 -g 50 ++rsh -n $REMOTEHOST python3 $PWD/create_users.py -u 50 -g 50 + + echo "Starting ACL testing" + +@@ -51,19 +51,19 @@ echo "Basic tests finished" + + echo "LONG ACL TEST" + echo "creating necessary users and groups" +-python create_users.py -u 50 -g 50 ++python3 create_users.py -u 50 -g 50 + echo "creating necessary users and groups on the remote host" + mkdir $NFSMNTDIR/lacl-testdir +-python test_long_acl.py -l $MAXLENGTH -p $NFSMNTDIR/lacl-testdir ++python3 test_long_acl.py -l $MAXLENGTH -p $NFSMNTDIR/lacl-testdir + rm -rf $NFSMNTDIR/lacl-testdir + echo "Long ACL test OK with $MAXLENGTH entries" + echo "ACL STRESSING TEST" +-python setacl_stress.py -n 100 -u $USER_NB -g $GRP_NB -f $FILE_NB -p $NFSMNTDIR ++python3 setacl_stress.py -n 100 -u $USER_NB -g $GRP_NB -f $FILE_NB -p $NFSMNTDIR + + # remove local an remote users +-python cleanusers.py +-python cleangroups.py +-rsh -n $REMOTEHOST python $PWD/cleanusers.py ++python3 cleanusers.py ++python3 cleangroups.py ++rsh -n $REMOTEHOST python3 $PWD/cleanusers.py + + echo "Test OK" + +diff --git a/testcases/realtime/func/pi-tests/run_auto.sh b/testcases/realtime/func/pi-tests/run_auto.sh +index d13026049..277988568 100755 +--- a/testcases/realtime/func/pi-tests/run_auto.sh ++++ b/testcases/realtime/func/pi-tests/run_auto.sh +@@ -15,15 +15,15 @@ $SCRIPTS_DIR/run_c_files.sh $profile testpi-0 + + export LOG_FILE="$LOG_DIR/$LOG_FORMAT-testpi-1.log" + $SCRIPTS_DIR/run_c_files.sh $profile testpi-1 +-PYTHONPATH=../../ python parse-testpi1.py $LOG_FILE 2>&1 | tee -a $LOG_FILE ++PYTHONPATH=../../ python3 parse-testpi1.py $LOG_FILE 2>&1 | tee -a $LOG_FILE + + export LOG_FILE="$LOG_DIR/$LOG_FORMAT-testpi-2.log" + $SCRIPTS_DIR/run_c_files.sh $profile testpi-2 +-PYTHONPATH=../../ python parse-testpi2.py $LOG_FILE 2>&1 | tee -a $LOG_FILE ++PYTHONPATH=../../ python3 parse-testpi2.py $LOG_FILE 2>&1 | tee -a $LOG_FILE + + export LOG_FILE="$LOG_DIR/$LOG_FORMAT-testpi-4.log" + $SCRIPTS_DIR/run_c_files.sh $profile testpi-4 +-PYTHONPATH=../../ python parse-testpi1.py $LOG_FILE 2>&1 | tee -a $LOG_FILE ++PYTHONPATH=../../ python3 parse-testpi1.py $LOG_FILE 2>&1 | tee -a $LOG_FILE + + + export LOG_FILE="" diff --git a/poky/meta/recipes-extended/ltp/ltp_20190517.bb b/poky/meta/recipes-extended/ltp/ltp_20190517.bb index b0e2f969c..e9a588f49 100644 --- a/poky/meta/recipes-extended/ltp/ltp_20190517.bb +++ b/poky/meta/recipes-extended/ltp/ltp_20190517.bb @@ -45,6 +45,9 @@ SRC_URI = "git://github.com/linux-test-project/ltp.git \ file://0002-check-for-RES_USE_INET6-during-configure.patch \ file://0001-syscalls-tgkill03-wait-for-defunct-tid-to-get-detach.patch \ file://0001-ustat02-Fix-EFAULT-in-32bit-compatibility-mode.patch \ + file://0001-cve-meltdown.c-Fix-kernel-symbol-finding.patch \ + file://0001-testcases-use-python3-everywhere-to-run-python-scrip.patch \ + file://0001-syscall-rt_sigtimedwait01-Fix-wrong-sigset-length-fo.patch \ " S = "${WORKDIR}/git" @@ -96,7 +99,7 @@ RDEPENDS_${PN} = "\ libaio \ logrotate \ perl \ - python-core \ + python3-core \ procps \ quota \ unzip \ diff --git a/poky/meta/recipes-extended/man-db/man-db_2.8.6.1.bb b/poky/meta/recipes-extended/man-db/man-db_2.8.6.1.bb deleted file mode 100644 index ec9eb8385..000000000 --- a/poky/meta/recipes-extended/man-db/man-db_2.8.6.1.bb +++ /dev/null @@ -1,59 +0,0 @@ -SUMMARY = "An implementation of the standard Unix documentation system accessed using the man command" -HOMEPAGE = "http://man-db.nongnu.org/" -LICENSE = "LGPLv2.1 & GPLv2" -LIC_FILES_CHKSUM = "file://docs/COPYING.LIB;md5=a6f89e2100d9b6cdffcea4f398e37343 \ - file://docs/COPYING;md5=eb723b61539feef013de476e68b5c50a" - -SRC_URI = "${SAVANNAH_NONGNU_MIRROR}/man-db/man-db-${PV}.tar.xz \ - file://99_mandb \ - file://man_db.conf-avoid-multilib-install-file-conflict.patch" -SRC_URI[md5sum] = "22e82fe1127f4ca95de7100168a927d1" -SRC_URI[sha256sum] = "2c77a2bb9dbf06f72417a6f63063e204888a22a5020ff77334d304d55f813a28" - -DEPENDS = "libpipeline gdbm groff-native base-passwd" -RDEPENDS_${PN} += "base-passwd" - -# | /usr/src/debug/man-db/2.8.0-r0/man-db-2.8.0/src/whatis.c:939: undefined reference to `_nl_msg_cat_cntr' -USE_NLS_libc-musl = "no" - -inherit gettext pkgconfig autotools systemd - -EXTRA_OECONF = "--with-pager=less" -EXTRA_AUTORECONF += "-I ${S}/gl/m4" - -do_install() { - autotools_do_install - - if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then - install -d ${D}/etc/default/volatiles - install -m 0644 ${WORKDIR}/99_mandb ${D}/etc/default/volatiles - fi -} - -do_install_append_libc-musl() { - rm -f ${D}${libdir}/charset.alias -} - -FILES_${PN} += "${prefix}/lib/tmpfiles.d" - -FILES_${PN}-dev += "${libdir}/man-db/libman.so ${libdir}/${BPN}/libmandb.so" - -RDEPENDS_${PN} += "groff" -RRECOMMENDS_${PN} += "less" -RPROVIDES_${PN} += " man" - -def compress_pkg(d): - if bb.utils.contains("INHERIT", "compress_doc", True, False, d): - compress = d.getVar("DOC_COMPRESS") - if compress == "gz": - return "gzip" - elif compress == "bz2": - return "bzip2" - elif compress == "xz": - return "xz" - return "" - -RDEPENDS_${PN} += "${@compress_pkg(d)}" - -SYSTEMD_SERVICE_${PN} = "man-db.timer man-db.service" -SYSTEMD_AUTO_ENABLE ?= "disable" diff --git a/poky/meta/recipes-extended/man-db/man-db_2.8.7.bb b/poky/meta/recipes-extended/man-db/man-db_2.8.7.bb new file mode 100644 index 000000000..083b2374a --- /dev/null +++ b/poky/meta/recipes-extended/man-db/man-db_2.8.7.bb @@ -0,0 +1,59 @@ +SUMMARY = "An implementation of the standard Unix documentation system accessed using the man command" +HOMEPAGE = "http://man-db.nongnu.org/" +LICENSE = "LGPLv2.1 & GPLv2" +LIC_FILES_CHKSUM = "file://docs/COPYING.LIB;md5=a6f89e2100d9b6cdffcea4f398e37343 \ + file://docs/COPYING;md5=eb723b61539feef013de476e68b5c50a" + +SRC_URI = "${SAVANNAH_NONGNU_MIRROR}/man-db/man-db-${PV}.tar.xz \ + file://99_mandb \ + file://man_db.conf-avoid-multilib-install-file-conflict.patch" +SRC_URI[md5sum] = "ec0b23c8314a1654c4d059b2c18ce43d" +SRC_URI[sha256sum] = "b9cd5bb996305d08bfe9e1114edc30b4c97be807093b88af8033ed1cf9beb326" + +DEPENDS = "libpipeline gdbm groff-native base-passwd" +RDEPENDS_${PN} += "base-passwd" + +# | /usr/src/debug/man-db/2.8.0-r0/man-db-2.8.0/src/whatis.c:939: undefined reference to `_nl_msg_cat_cntr' +USE_NLS_libc-musl = "no" + +inherit gettext pkgconfig autotools systemd + +EXTRA_OECONF = "--with-pager=less --with-systemdsystemunitdir=${systemd_unitdir}/system" +EXTRA_AUTORECONF += "-I ${S}/gl/m4" + +do_install() { + autotools_do_install + + if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then + install -d ${D}/etc/default/volatiles + install -m 0644 ${WORKDIR}/99_mandb ${D}/etc/default/volatiles + fi +} + +do_install_append_libc-musl() { + rm -f ${D}${libdir}/charset.alias +} + +FILES_${PN} += "${prefix}/lib/tmpfiles.d" + +FILES_${PN}-dev += "${libdir}/man-db/libman.so ${libdir}/${BPN}/libmandb.so" + +RDEPENDS_${PN} += "groff" +RRECOMMENDS_${PN} += "less" +RPROVIDES_${PN} += " man" + +def compress_pkg(d): + if bb.utils.contains("INHERIT", "compress_doc", True, False, d): + compress = d.getVar("DOC_COMPRESS") + if compress == "gz": + return "gzip" + elif compress == "bz2": + return "bzip2" + elif compress == "xz": + return "xz" + return "" + +RDEPENDS_${PN} += "${@compress_pkg(d)}" + +SYSTEMD_SERVICE_${PN} = "man-db.timer man-db.service" +SYSTEMD_AUTO_ENABLE ?= "disable" diff --git a/poky/meta/recipes-extended/mdadm/files/0001-mdadm-skip-test-11spare-migration.patch b/poky/meta/recipes-extended/mdadm/files/0001-mdadm-skip-test-11spare-migration.patch new file mode 100644 index 000000000..3a192cc95 --- /dev/null +++ b/poky/meta/recipes-extended/mdadm/files/0001-mdadm-skip-test-11spare-migration.patch @@ -0,0 +1,43 @@ +From 1b83afa7c3121f819e72ea74883f8b6d61d6548e Mon Sep 17 00:00:00 2001 +From: Changqing Li +Date: Fri, 6 Sep 2019 10:59:02 +0800 +Subject: [PATCH] mdadm: skip test 11spare-migration + +11spare-migration is a test series to check mdadm Monitor migrates spares +according to rules in /etc/mdadm.conf defined by POLICY lines. + +[snip] +for scan in no yes; do + for platform in 1.2 imsm; do + try + done +done +[snip] + +"try" includes near 20 sub testcase, so there are nearly 80 subcases need to run, +so it will take long time than ptest-runner timeout limit, skip it as workaround. + +Upstream-Status: Inappropriate[oe-specific] + +Signed-off-by: Changqing Li +--- + test | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/test b/test +index 711a3c7..880dd1d 100755 +--- a/test ++++ b/test +@@ -272,6 +272,9 @@ main() { + else + for script in $testdir/$prefix $testdir/$prefix*[^~] + do ++ if [ $script == "$testdir/11spare-migration" ];then ++ continue ++ fi + do_test $script + done + fi +-- +2.7.4 + diff --git a/poky/meta/recipes-extended/mdadm/mdadm_4.1.bb b/poky/meta/recipes-extended/mdadm/mdadm_4.1.bb index 74c94f6ec..639382e13 100644 --- a/poky/meta/recipes-extended/mdadm/mdadm_4.1.bb +++ b/poky/meta/recipes-extended/mdadm/mdadm_4.1.bb @@ -22,7 +22,9 @@ SRC_URI = "${KERNELORG_MIRROR}/linux/utils/raid/mdadm/${BPN}-${PV}.tar.xz \ file://mdadm.init \ file://0001-mdadm-add-option-y-for-use-syslog-to-recive-event-re.patch \ file://include_sysmacros.patch \ + file://0001-mdadm-skip-test-11spare-migration.patch \ " + SRC_URI[md5sum] = "51bf3651bd73a06c413a2f964f299598" SRC_URI[sha256sum] = "ab7688842908d3583a704d491956f31324c3a5fc9f6a04653cb75d19f1934f4a" diff --git a/poky/meta/recipes-extended/packagegroups/packagegroup-core-lsb.bb b/poky/meta/recipes-extended/packagegroups/packagegroup-core-lsb.bb deleted file mode 100644 index a821fd8bf..000000000 --- a/poky/meta/recipes-extended/packagegroups/packagegroup-core-lsb.bb +++ /dev/null @@ -1,240 +0,0 @@ -# -# Copyright (C) 2010 Intel Corporation -# - -SUMMARY = "Linux Standard Base (LSB)" -DESCRIPTION = "Packages required to satisfy the Linux Standard Base (LSB) specification" -PR = "r10" - -inherit packagegroup distro_features_check - -# The libxt, libxtst and others require x11 in DISTRO_FEATURES -REQUIRED_DISTRO_FEATURES = "x11" - -# libglu needs virtual/libgl, which requires opengl in DISTRO_FEATURES -REQUIRED_DISTRO_FEATURES += "opengl" - -# libpam, pam-plugin-wheel requires pam in DISTRO_FEATURES -REQUIRED_DISTRO_FEATURES += "pam" - -# -# We will skip parsing this packagegeoup for non-glibc systems -# -python __anonymous () { - if d.getVar('TCLIBC') != "glibc": - raise bb.parse.SkipRecipe("incompatible with %s C library" % - d.getVar('TCLIBC')) -} - -PACKAGES = "\ - packagegroup-core-lsb \ - packagegroup-core-sys-extended \ - packagegroup-core-db \ - packagegroup-core-perl \ - packagegroup-core-python \ - packagegroup-core-tcl \ - packagegroup-core-lsb-misc \ - packagegroup-core-lsb-core \ - packagegroup-core-lsb-perl \ - packagegroup-core-lsb-python \ - packagegroup-core-lsb-desktop \ - packagegroup-core-lsb-runtime-add \ - " - - -RDEPENDS_packagegroup-core-lsb = "\ - packagegroup-core-sys-extended \ - packagegroup-core-db \ - packagegroup-core-perl \ - packagegroup-core-python \ - packagegroup-core-tcl \ - packagegroup-core-lsb-misc \ - packagegroup-core-lsb-core \ - packagegroup-core-lsb-perl \ - packagegroup-core-lsb-python \ - packagegroup-core-lsb-desktop \ - packagegroup-core-lsb-runtime-add \ - " - - -RDEPENDS_packagegroup-core-sys-extended = "\ - curl \ - dhcp-client \ - hdparm \ - lighttpd \ - libaio \ - lrzsz \ - lzo \ - mc \ - mc-fish \ - mc-helpers \ - mc-helpers-perl \ - mdadm \ - minicom \ - parted \ - quota \ - screen \ - setserial \ - sysstat \ - ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '', 'udev-extraconf', d)} \ - unzip \ - watchdog \ - wget \ - which \ - xinetd \ - zip \ - " - -RDEPENDS_packagegroup-core-db = "\ - db \ - sqlite3 \ - " - -RDEPENDS_packagegroup-core-perl = "\ - gdbm \ - perl \ - zlib \ - " - - -RDEPENDS_packagegroup-core-python = "\ - expat \ - gdbm \ - gmp \ - ncurses \ - openssl \ - python \ - readline \ - zip \ - " - -RDEPENDS_packagegroup-core-tcl = "\ - tcl \ - " - -# Miscellaneous packages required by LSB (or LSB tests) -RDEPENDS_packagegroup-core-lsb-misc = "\ - chkconfig \ - gettext \ - gettext-runtime \ - groff \ - lsbinitscripts \ - lsbtest \ - lsof \ - strace \ - libusb1 \ - usbutils \ - rpm \ - " - -SUMMARY_packagegroup-core-lsb-core = "LSB Core" -DESCRIPTION_packagegroup-core-lsb-core = "Packages required to support commands/libraries \ - specified in the LSB Core specification" -RDEPENDS_packagegroup-core-lsb-core = "\ - at \ - bash \ - bc \ - binutils \ - binutils-symlinks \ - bzip2 \ - coreutils \ - cpio \ - cronie \ - cups \ - diffutils \ - ed \ - glibc-utils \ - elfutils \ - file \ - findutils \ - fontconfig-utils \ - foomatic-filters \ - gawk \ - ghostscript \ - grep \ - gzip \ - localedef \ - lsb \ - m4 \ - make \ - man \ - man-pages \ - msmtp \ - patch \ - procps \ - psmisc \ - sed \ - shadow \ - tar \ - time \ - util-linux \ - xdg-utils \ - \ - glibc \ - libgcc \ - libpam \ - libxml2 \ - ncurses \ - zlib \ - nspr \ - nss \ -" - -SUMMARY_packagegroup-core-lsb-perl = "LSB Runtime Languages (Perl)" -DESCRIPTION_packagegroup-core-lsb-perl = "Packages required to support libraries \ - specified in the LSB Runtime languages specification (Perl parts)" -RDEPENDS_packagegroup-core-lsb-perl = "\ - perl \ - perl-modules \ - perl-misc \ - perl-pod \ - perl-dev \ - perl-doc \ -" - -SUMMARY_packagegroup-core-lsb-python = "LSB Runtime Languages (Python)" -DESCRIPTION_packagegroup-core-lsb-python = "Packages required to support libraries \ - specified in the LSB Runtime languages specification (Python parts)" -RDEPENDS_packagegroup-core-lsb-python = "\ - python \ - python-modules \ - python-misc \ -" - -SUMMARY_packagegroup-core-lsb-desktop = "LSB Desktop" -DESCRIPTION_packagegroup-core-lsb-desktop = "Packages required to support libraries \ - specified in the LSB Desktop specification" -RDEPENDS_packagegroup-core-lsb-desktop = "\ - libxt \ - libxxf86vm \ - libdrm \ - libglu \ - libxi \ - libxtst \ - libx11-locale \ - xorg-minimal-fonts \ - gdk-pixbuf-loader-ico \ - gdk-pixbuf-loader-bmp \ - gdk-pixbuf-loader-ani \ - gdk-pixbuf-xlib \ - liberation-fonts \ - alsa-lib \ -" - -RDEPENDS_packagegroup-core-lsb-runtime-add = "\ - ldd \ - pam-plugin-wheel \ - e2fsprogs-mke2fs \ - mkfontdir \ - liburi-perl \ - libxml-parser-perl \ - libxml-perl \ - libxml-sax-perl \ - glibc-localedatas \ - glibc-gconvs \ - glibc-charmaps \ - glibc-binaries \ - glibc-localedata-posix \ - glibc-extra-nss \ - glibc-pcprofile \ -" diff --git a/poky/meta/recipes-extended/sysstat/sysstat.inc b/poky/meta/recipes-extended/sysstat/sysstat.inc index 592cbf457..5a7d2114c 100644 --- a/poky/meta/recipes-extended/sysstat/sysstat.inc +++ b/poky/meta/recipes-extended/sysstat/sysstat.inc @@ -4,7 +4,7 @@ HOMEPAGE = "http://sebastien.godard.pagesperso-orange.fr/" LICENSE = "GPLv2+" SECTION = "console/utils" -SRC_URI = "http://pagesperso-orange.fr/sebastien.godard/sysstat-${PV}.tar.xz \ +SRC_URI = "http://pagesperso-orange.fr/sebastien.godard/${BP}.tar.xz \ file://99_sysstat \ file://sysstat.service \ " @@ -29,7 +29,7 @@ SYSTEMD_SERVICE_${PN} = "sysstat.service" SYSTEMD_AUTO_ENABLE = "enable" do_configure_prepend() { - export sa_lib_dir=${libdir}/sa + export sa_lib_dir=${libexecdir}/sa } do_install() { diff --git a/poky/meta/recipes-extended/sysstat/sysstat_12.1.3.bb b/poky/meta/recipes-extended/sysstat/sysstat_12.1.3.bb deleted file mode 100644 index 5daf3f45f..000000000 --- a/poky/meta/recipes-extended/sysstat/sysstat_12.1.3.bb +++ /dev/null @@ -1,8 +0,0 @@ -require sysstat.inc - -LIC_FILES_CHKSUM = "file://COPYING;md5=a23a74b3f4caf9616230789d94217acb" - -SRC_URI += "file://0001-Include-needed-headers-explicitly.patch" - -SRC_URI[md5sum] = "0f9b73f60aba6fd49de346bc384902c3" -SRC_URI[sha256sum] = "55498bf82755ba9fed3e7df61fd26f8f50dd3e7b3b229c731029a4c8ab51a1aa" diff --git a/poky/meta/recipes-extended/sysstat/sysstat_12.1.6.bb b/poky/meta/recipes-extended/sysstat/sysstat_12.1.6.bb new file mode 100644 index 000000000..8cf8c36d9 --- /dev/null +++ b/poky/meta/recipes-extended/sysstat/sysstat_12.1.6.bb @@ -0,0 +1,8 @@ +require sysstat.inc + +LIC_FILES_CHKSUM = "file://COPYING;md5=a23a74b3f4caf9616230789d94217acb" + +SRC_URI += "file://0001-Include-needed-headers-explicitly.patch" + +SRC_URI[md5sum] = "d8e3bbb9c873dd370f6d33664e326570" +SRC_URI[sha256sum] = "f752f3c406153a6fc446496f1102872505ace3f0931d975c1d664c81ec09f129" diff --git a/poky/meta/recipes-extended/texinfo/texinfo_6.5.bb b/poky/meta/recipes-extended/texinfo/texinfo_6.5.bb index f966457f8..50eae77ad 100644 --- a/poky/meta/recipes-extended/texinfo/texinfo_6.5.bb +++ b/poky/meta/recipes-extended/texinfo/texinfo_6.5.bb @@ -42,7 +42,9 @@ SRC_URI[sha256sum] = "d34272e4042c46186ddcd66bd5d980c0ca14ff734444686ccf8131f6ec tex_texinfo = "texmf/tex/texinfo" -inherit gettext autotools +inherit gettext autotools multilib_script + +MULTILIB_SCRIPTS = "${PN}:${bindir}/texi2any" EXTRA_AUTORECONF += "-I ${S}/gnulib/m4" diff --git a/poky/meta/recipes-gnome/libsecret/libsecret_0.18.8.bb b/poky/meta/recipes-gnome/libsecret/libsecret_0.18.8.bb deleted file mode 100644 index 4af47fede..000000000 --- a/poky/meta/recipes-gnome/libsecret/libsecret_0.18.8.bb +++ /dev/null @@ -1,22 +0,0 @@ -SUMMARY = "libsecret is a library for storing and retrieving passwords and other secrets" -LICENSE = "LGPLv2.1" -LIC_FILES_CHKSUM = "file://COPYING;md5=23c2a5e0106b99d75238986559bb5fc6" - -inherit gnomebase gtk-doc vala gobject-introspection manpages - -DEPENDS += "glib-2.0 libgcrypt gettext-native" - -PACKAGECONFIG[manpages] = "--enable-manpages, --disable-manpages, libxslt-native xmlto-native" - -SRC_URI[archive.md5sum] = "fee403988442f497f3c1dfe7b128869c" -SRC_URI[archive.sha256sum] = "3bfa889d260e0dbabcf5b9967f2aae12edcd2ddc9adc365de7a5cc840c311d15" - -# http://errors.yoctoproject.org/Errors/Details/20228/ -ARM_INSTRUCTION_SET_armv4 = "arm" -ARM_INSTRUCTION_SET_armv5 = "arm" -ARM_INSTRUCTION_SET_armv6 = "arm" - -# vapigen.m4 bundled with the tarball does not yet have our cross-compilation fixes -do_configure_prepend() { - rm -f ${S}/build/m4/vapigen.m4 -} diff --git a/poky/meta/recipes-gnome/libsecret/libsecret_0.19.0.bb b/poky/meta/recipes-gnome/libsecret/libsecret_0.19.0.bb new file mode 100644 index 000000000..7da8e9008 --- /dev/null +++ b/poky/meta/recipes-gnome/libsecret/libsecret_0.19.0.bb @@ -0,0 +1,22 @@ +SUMMARY = "libsecret is a library for storing and retrieving passwords and other secrets" +LICENSE = "LGPLv2.1" +LIC_FILES_CHKSUM = "file://COPYING;md5=23c2a5e0106b99d75238986559bb5fc6" + +inherit gnomebase gtk-doc vala gobject-introspection manpages + +DEPENDS += "glib-2.0 libgcrypt gettext-native" + +PACKAGECONFIG[manpages] = "--enable-manpages, --disable-manpages, libxslt-native xmlto-native" + +SRC_URI[archive.md5sum] = "483d293e73e7257c6d9fc18579b0e1ea" +SRC_URI[archive.sha256sum] = "8049b09a4e737911aa647e50aee3d06b5db7aa902608ca43a0dd10d83e1d67f9" + +# http://errors.yoctoproject.org/Errors/Details/20228/ +ARM_INSTRUCTION_SET_armv4 = "arm" +ARM_INSTRUCTION_SET_armv5 = "arm" +ARM_INSTRUCTION_SET_armv6 = "arm" + +# vapigen.m4 bundled with the tarball does not yet have our cross-compilation fixes +do_configure_prepend() { + rm -f ${S}/build/m4/vapigen.m4 +} diff --git a/poky/meta/recipes-graphics/eglinfo/eglinfo-fb_1.0.0.bb b/poky/meta/recipes-graphics/eglinfo/eglinfo-fb_1.0.0.bb deleted file mode 100644 index cccdd2073..000000000 --- a/poky/meta/recipes-graphics/eglinfo/eglinfo-fb_1.0.0.bb +++ /dev/null @@ -1,7 +0,0 @@ -EGLINFO_PLATFORM ?= "fb" -EGLINFO_BINARY_NAME ?= "eglinfo-fb" - -require eglinfo.inc - -SUMMARY += "(Framebuffer version)" -CXXFLAGS += "-DMESA_EGL_NO_X11_HEADERS=1" diff --git a/poky/meta/recipes-graphics/eglinfo/eglinfo-wayland_1.0.0.bb b/poky/meta/recipes-graphics/eglinfo/eglinfo-wayland_1.0.0.bb deleted file mode 100644 index 87a131aa7..000000000 --- a/poky/meta/recipes-graphics/eglinfo/eglinfo-wayland_1.0.0.bb +++ /dev/null @@ -1,13 +0,0 @@ -EGLINFO_PLATFORM ?= "wayland" -EGLINFO_BINARY_NAME ?= "eglinfo-wayland" - -require eglinfo.inc - -DEPENDS += "wayland" - -inherit distro_features_check - -# depends on wayland -REQUIRED_DISTRO_FEATURES += "wayland" - -SUMMARY += "(Wayland version)" diff --git a/poky/meta/recipes-graphics/eglinfo/eglinfo-x11_1.0.0.bb b/poky/meta/recipes-graphics/eglinfo/eglinfo-x11_1.0.0.bb deleted file mode 100644 index 48ab8805d..000000000 --- a/poky/meta/recipes-graphics/eglinfo/eglinfo-x11_1.0.0.bb +++ /dev/null @@ -1,13 +0,0 @@ -EGLINFO_PLATFORM ?= "x11" -EGLINFO_BINARY_NAME ?= "eglinfo-x11" - -require eglinfo.inc - -DEPENDS += "virtual/libx11" - -inherit distro_features_check - -# depends on virtual/libx11 -REQUIRED_DISTRO_FEATURES += "x11" - -SUMMARY += "(X11 version)" diff --git a/poky/meta/recipes-graphics/eglinfo/eglinfo.inc b/poky/meta/recipes-graphics/eglinfo/eglinfo.inc deleted file mode 100644 index 6dcb0c5a1..000000000 --- a/poky/meta/recipes-graphics/eglinfo/eglinfo.inc +++ /dev/null @@ -1,38 +0,0 @@ -SUMMARY = "Utility for printing information EGL and its client APIs (OpenGL, OpenGL ES, OpenVG)" -SECTION = "graphics" -LICENSE = "Zlib" -HOMEPAGE = "https://github.com/dv1/eglinfo" -LIC_FILES_CHKSUM = "file://LICENSE;md5=8d4f33bc3add976f7dfae85dab66f03c" - -DEPENDS = "virtual/egl" - -SRC_URI = "git://github.com/dv1/eglinfo.git;branch=master \ - file://waf \ - file://0001-Add-STAGING_INCDIR-to-searchpath-for-egl-headers.patch \ - file://0001-Check-for-libegl-using-pkg-config.patch \ - " -SRCREV = "223817ee37988042db7873cfb5b2e899dfe35c10" - -CVE_PRODUCT = "eglinfo" - -S = "${WORKDIR}/git" - -inherit waf distro_features_check pkgconfig -# depends on virtual/egl -REQUIRED_DISTRO_FEATURES ?= "opengl" - -# BSP layers should add .bbappend files for the -x11 and -fb .bb recipes, which -# append the respective EGL/OpenGLES/OpenVG libraries to DEPENDS and set -# EGL_DEVICE as appropriate. -EGLINFO_DEVICE ?= "generic" - -EXTRA_OECONF = "--platform=${EGLINFO_PLATFORM} \ - --device=${EGLINFO_DEVICE} \ - --sysroot ${STAGING_DIR_TARGET}" - -do_configure_prepend() { - install -D -m 0755 ${WORKDIR}/waf ${S}/waf -} -do_install_append() { - mv ${D}/${bindir}/eglinfo ${D}/${bindir}/${EGLINFO_BINARY_NAME} -} diff --git a/poky/meta/recipes-graphics/eglinfo/files/0001-Add-STAGING_INCDIR-to-searchpath-for-egl-headers.patch b/poky/meta/recipes-graphics/eglinfo/files/0001-Add-STAGING_INCDIR-to-searchpath-for-egl-headers.patch deleted file mode 100644 index 61327eb36..000000000 --- a/poky/meta/recipes-graphics/eglinfo/files/0001-Add-STAGING_INCDIR-to-searchpath-for-egl-headers.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 99a5784d33ad5e0e6fa00338d2732cbccad7661c Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Wed, 13 Jan 2016 16:08:22 -0800 -Subject: [PATCH] Add STAGING_INCDIR to searchpath for egl headers - -bcm_host.h is in standard includedir in sysroot -add that to header search paths. - -Signed-off-by: Khem Raj ---- -Upstream-Status: Submitted - - wscript | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/wscript b/wscript -index 195e247..0f6ec53 100644 ---- a/wscript -+++ b/wscript -@@ -177,9 +177,10 @@ def configure_raspberrypi_device(conf, platform): - conf.check_cxx(mandatory = 1, lib = ['GLESv2', 'EGL', 'bcm_host'], uselib_store = 'EGL') - import os - sysroot = conf.options.sysroot + conf.options.prefix -+ std_include_path = os.path.join(sysroot, 'include') - vcos_pthread_path = os.path.join(sysroot, 'include/interface/vcos/pthreads') - vcms_host_path = os.path.join(sysroot, 'include/interface/vmcs_host/linux') -- if not conf.check_cxx(mandatory = 0, header_name = ['vcos_platform_types.h', 'EGL/egl.h', 'bcm_host.h'], includes = [vcos_pthread_path, vcms_host_path], uselib_store = 'EGL'): -+ if not conf.check_cxx(mandatory = 0, header_name = ['vcos_platform_types.h', 'EGL/egl.h', 'bcm_host.h'], includes = [vcos_pthread_path, vcms_host_path, std_include_path], uselib_store = 'EGL'): - conf.fatal('Check if --prefix and --sysroot are set correctly.') - conf.env['WITH_APIS'] = [] - if check_gles2(conf): --- -2.19.1 diff --git a/poky/meta/recipes-graphics/eglinfo/files/0001-Check-for-libegl-using-pkg-config.patch b/poky/meta/recipes-graphics/eglinfo/files/0001-Check-for-libegl-using-pkg-config.patch deleted file mode 100644 index 572c8014c..000000000 --- a/poky/meta/recipes-graphics/eglinfo/files/0001-Check-for-libegl-using-pkg-config.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 17f5d2f574236f8c3459f9efadef2f0f6220a4dd Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Mon, 13 Aug 2018 15:46:53 -0700 -Subject: [PATCH] Check for libegl using pkg-config - -Upstream-Status: Pending -Signed-off-by: Khem Raj -[Roman: patch has been rebased to 223817ee3798 ("Add Wayland support") - trivial merge conflicts resolved] -Signed-off-by: Roman Stratiienko ---- - wscript | 7 +------ - 1 file changed, 1 insertion(+), 6 deletions(-) - -diff --git a/wscript b/wscript -index 0f6ec53..401f62e 100644 ---- a/wscript -+++ b/wscript -@@ -174,14 +174,9 @@ def configure_raspberrypi_device(conf, platform): - else: - conf.fatal('Unsupported Raspberry Pi platform "%s"' % platform) - return -- conf.check_cxx(mandatory = 1, lib = ['GLESv2', 'EGL', 'bcm_host'], uselib_store = 'EGL') -+ conf.check_cfg(package='egl', args='--libs --cflags') - import os - sysroot = conf.options.sysroot + conf.options.prefix -- std_include_path = os.path.join(sysroot, 'include') -- vcos_pthread_path = os.path.join(sysroot, 'include/interface/vcos/pthreads') -- vcms_host_path = os.path.join(sysroot, 'include/interface/vmcs_host/linux') -- if not conf.check_cxx(mandatory = 0, header_name = ['vcos_platform_types.h', 'EGL/egl.h', 'bcm_host.h'], includes = [vcos_pthread_path, vcms_host_path, std_include_path], uselib_store = 'EGL'): -- conf.fatal('Check if --prefix and --sysroot are set correctly.') - conf.env['WITH_APIS'] = [] - if check_gles2(conf): - conf.env['WITH_APIS'] += ['GLES1', 'GLES2'] --- -2.19.1 diff --git a/poky/meta/recipes-graphics/eglinfo/files/waf b/poky/meta/recipes-graphics/eglinfo/files/waf deleted file mode 100755 index 04ddd9f63..000000000 --- a/poky/meta/recipes-graphics/eglinfo/files/waf +++ /dev/null @@ -1,169 +0,0 @@ -#!/usr/bin/env python -# encoding: latin-1 -# Thomas Nagy, 2005-2018 -# -""" -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - -1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - -3. The name of the author may not be used to endorse or promote products - derived from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR -IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, -INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, -STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING -IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -""" - -import os, sys, inspect - -VERSION="2.0.11" -REVISION="41b69b45f8aa445dce066a4aec3cdb75" -GIT="fe03c6fa470f0bc3c086baafed8c6b4b6d28a245" -INSTALL='' -C1='#4' -C2='#*' -C3='#)' -cwd = os.getcwd() -join = os.path.join - - -WAF='waf' -def b(x): - return x -if sys.hexversion>0x300000f: - WAF='waf3' - def b(x): - return x.encode() - -def err(m): - print(('\033[91mError: %s\033[0m' % m)) - sys.exit(1) - -def unpack_wafdir(dir, src): - f = open(src,'rb') - c = 'corrupt archive (%d)' - while 1: - line = f.readline() - if not line: err('run waf-light from a folder containing waflib') - if line == b('#==>\n'): - txt = f.readline() - if not txt: err(c % 1) - if f.readline() != b('#<==\n'): err(c % 2) - break - if not txt: err(c % 3) - txt = txt[1:-1].replace(b(C1), b('\n')).replace(b(C2), b('\r')).replace(b(C3), b('\x00')) - - import shutil, tarfile - try: shutil.rmtree(dir) - except OSError: pass - try: - for x in ('Tools', 'extras'): - os.makedirs(join(dir, 'waflib', x)) - except OSError: - err("Cannot unpack waf lib into %s\nMove waf in a writable directory" % dir) - - os.chdir(dir) - tmp = 't.gz' - t = open(tmp,'wb') - try: t.write(txt) - finally: t.close() - - try: - t = tarfile.open(tmp) - except: - try: - os.system('gzip -d t.gz') - t = tarfile.open('t') - tmp = 't' - except: - os.chdir(cwd) - try: shutil.rmtree(dir) - except OSError: pass - err("Waf cannot be unpacked, check that bzip2 support is present") - - try: - for x in t: t.extract(x) - finally: - t.close() - - for x in ('Tools', 'extras'): - os.chmod(join('waflib',x), 493) - - if sys.hexversion<0x300000f: - sys.path = [join(dir, 'waflib')] + sys.path - import fixpy2 - fixpy2.fixdir(dir) - - os.remove(tmp) - os.chdir(cwd) - - try: dir = unicode(dir, 'mbcs') - except: pass - try: - from ctypes import windll - windll.kernel32.SetFileAttributesW(dir, 2) - except: - pass - -def test(dir): - try: - os.stat(join(dir, 'waflib')) - return os.path.abspath(dir) - except OSError: - pass - -def find_lib(): - src = os.path.abspath(inspect.getfile(inspect.getmodule(err))) - base, name = os.path.split(src) - - #devs use $WAFDIR - w=test(os.environ.get('WAFDIR', '')) - if w: return w - - #waf-light - if name.endswith('waf-light'): - w = test(base) - if w: return w - err('waf-light requires waflib -> export WAFDIR=/folder') - - dirname = '%s-%s-%s' % (WAF, VERSION, REVISION) - for i in (INSTALL,'/usr','/usr/local','/opt'): - w = test(i + '/lib/' + dirname) - if w: return w - - #waf-local - dir = join(base, (sys.platform != 'win32' and '.' or '') + dirname) - w = test(dir) - if w: return w - - #unpack - unpack_wafdir(dir, src) - return dir - -wafdir = find_lib() -sys.path.insert(0, wafdir) - -if __name__ == '__main__': - - from waflib import Scripting - Scripting.waf_entry_point(cwd, VERSION, wafdir) - -#==> -#[tmp-waf-2.0.11.tar#)kcƱ0ܯ`#) Z/iu$>q$?ӴGfq( &o#)6i4n#\n`^Nÿ/|G?z?~W_-jPt*ڔ?u.d0.n|u7d~y]VBʷޜ<;ϫn6TujQ=|x3&Ë<~8U漢M`2@iu+OY3-e\dqy[vE>toɴLuBϽV$Q*n:[TvX.R˞UrX-#*3ô4|~ y_oW"~}x,l5U%>.JAYvy +'/ˆUFٸIaMqY3 =NHS!9:*IEyVUbYe[#)JB$#47{ƱZ1`Ƞ|{\5>\d<SdMA  ` n rS*%+ǜrPUKM̌7/B34Ll:*<ӶΪ(l#4g^o#)U6~ZfR;[bMȪj%fAqIXr.QJjdo<4;Y6l9g8oV^~E¢׎ݙ)6[Uf~ wUd:j?m+|44VX}}jH67#*Cwv:?.h! S#*mHmH&ey\Ѿ9p0ͯua l|Ր;*ٴ}\[dJ%VGﴕy?{fO̽x[}Ol31 5]1^?[?gQ-r矲,>r\ )S>#*l>jQMb]0[ʧtV-a9Xf:o2[+>zbxJU|PM5IyvC#*=`|BbvNNɧYs]{MOY>}1;5_!ڶf6 Nؽm-?r+ujƒ4o#)ki6ZJ>#)XlUZq_GQ"{Ah]w҆ 7 q}a<_y}am/jٟ!͹\L'٘Lq!7]/vP)/8G /ĿT6}H ?^Sx P+xza$nYk)u!_Qoq}N{j1*YK8OeKt?y"q5eO^º̀OYp$[w|&ϸsy=/^+nqpM,>_G/啰_˃W 8GNGTo% b 8X»!(:I;iޭ.ޝ{D`g{݇iyߍ jJuHsdYp6[9H(ko `0*em r>Llio{GQ<1@ wG霥Nygo|-dE޿Ĵ9Ro񣬠gVzK4Rb)N7o1(˲Q#)e:ex_'?̻.fHwQ[$(sC,J#)9??$(yw,1me&gaBOyss^MLЄJywE}煮-ee.xamIjV&໥#4=AJ]x:C%ca;[~TvHr=ʁ(V2EIx81b1v&Y#@%I!L7_qDn -g2>źsujU'rӉ[u%.Ma5#*?}{߾<9XQC˜cz;(;͂wAVyR_>Eׯ~?Yp^L`_O5Y?lXWͤۈ*e-#4. `] A>Q4BkHcƓKT}_) ,4>!#!SƟ-'PãshR0 RɝyمTer dlw>"'в(kȆxAC5%CNHD=͉V0}?9{yzQ"%V"0H?#)xw5٠Aq#٠^uC|J2X դ#4Msb3{lzSO[^QR':[t1@R'ONzgwr]⠸|}JEN5LTWrdC偀T-p|0(1(ߦAH]*=)q92b&#)vk*f:-0( #)+rL#V+)`]C~#*r(ϱ#J4^z.#)!pM#4&&[(b)#4Nd#)/?l.LR!H>ҽ=9-9=>yzd)#qG! Pzw'MPK׮e|CX5&X.S0dEү"5D#3a'y+!'wKUq_'o u屣<` 5G MveCف$uxu܋lp5%d\u2;!n:l(QF_@[v$#* V(#?|y/!~e;`/3ly0̓#)VN#)'mR~-EOhjey]&yj'e.}&vC.?2 .l!zMQwDYw\^;)/N&Mf-lgC';0fQf4S8E64xo9f']zoK #*0YD#4Q/U#4_4@yc?(7%dMFpkͮU6nuQ?a޶[odӌ.͖'Kou((n;F&t/׉P4'Ͼcc)ݥV>8QD#*]Z=Ьi95̕6=-GYZdn}!sڷGa`C}bp͂ !Ew ]#4 l>ɅK5jێ#*܅6؝6>nngʠ@lIJ/E`1YH4ڑ2LI"8Lt'SdPIђP,%!>ARD&RQ&d"Ϡ"3:-/EfK)@ve6vsoWV]C Fj^yd^kYT5Ve;Jq@%ˇs7ʈM]n|S.kٌRtym_ u=mG\?7s&"^b` PY",kF;ͨD`TJ{QU Є')Ey?$;F(ZE޽ɀ2E[.qKшhNA%NQG3)]fM#_r3QCYV]#ug#)\gGw6kGҢRSoh׀Sc~8D""6fq:m9r%*EX^83I+j?zpZbs^}D""dxOj.g#tAc#) EV+ sɐDd kyz?m4>#?۰^ҝ_i)/Tlܡѣӏw<:/jX4NP>HX_>ꏳAWr͍`N:_?{q&=۳<]UbA?\}aQ*/κo#*Py1itk:X#)3o,/ *RyL[:ɰ^4< j/\#)eÑoRъ}#g'7TI߃P>ˁh}˗ȻWLsH~{pL ݁QA2p.-rwpnQ;Kރ):Sa']#DYd@`3 $m6lnY2v/!RG0!@N씀*FK(r#))aPd;n3 #)#*C^ؿzusrCۅrEMYS#)j"9+[i*K#4q+4izRRb-+H,FmyY>_#)K]TSť W=3 Ͱ=knHSŁvݜVތ s3$#)YBgEr8BIro#*msUwkge}\. rl:1v`geU"X[pka0ͭMȎɻW7d;#9 Hk#*71mu>=]..%2#*͙mv֏=LkQUƪ+"D" C]d~m݂[4(bc6.!quYa70gnXݥc3aiR )=/UBj9-C  8]|OsuTV4wW#4,AhD kHG$C2qaMwndGniRJq4>Rci#4 9LA)U۔ ,gn ^#4Ah@#*U`.%g9ƻG1pNEÄ pL7>@@!n*5i\^e) _'Fl~fU"2.NXueO..H"y놉1` aՓMAGf|Dkve41#ϷP|`am";|zkTKL8Y j%JѼT7yb<]7E3:F<-h< _^т[e(MKћ7&;eZ`2=RbIzp+w}A7^Ο#)CxN},M= " Hq6 .-#*p8}~#4W-HZyfSSr:ZŨBDLm#ٍpIGDwukZV-CB3V+F+H#)I49W!pp46r)hA(823F&%MǬd>~Dsn@pI9t-:$x VL2x#qE~|g siA =%Yv0sNbG9RoLI>ˆ4["pjY{DWȚëҐJ(1\D@ëY>݀uF$Pm0-E$W#*N&BAL-AQ2`M P<^S#*|&/F-9ɽD8C#)lb@_LrsI{:e^ -JYivkd5u+gbGT&|cipcA8N%@+xvKd :q"[ާe’U :|O2]޲&T3l[QS\O}W-S+ôL5)6h8pyaex$HndlN! ͂fU"BN"BQdliy(v?;g-3%LǠܞev\vRYV/sidtL&0eN-X<FRAٝT+y} tˮvsm@ #4ZDĤ,Ek=;.J]C WPV^!x7Ӽ BjʞXTRƒඬD}YN:Ýbo#*8m̵;]HkĶŖ{J2m%+He#*&N#4qmr]|{^zc2iTo9Ӷ4 oF5FL#4~ ju8פՔÓ!쯁J2RRqia{Bf|Q%#~rkC̸ܵ#*콓j@: l[$;I}oV͓稥I['MjW^?nv?1$~f0(#*@-Ы9dk%{VQMDSdSIq I༎$f|9ÜLwC7ĸڍZW/[bc}9*(emX5:!2^XCmP%qSMuj#)W(ĵ#*[,QbG)t)5N`/h#*6 $Wlw#)MA7N?Ӑ( .|6^M(Lt}*w.󖤓!!?uH^VnTѰڨ4<fv*W}ﭷЯ#@s.S(o1F(Ud-{3t;3ZxbpC#*SdK`ޣ~~6memQ'Y?s؞\h7im)V5:\ݕ?h"J&tmZCw;2~-$C0FƉEK[p$V;s!#4%6#)IFx\\>- bؼle6ׯ4jJJ| #*~W/?{͏חl~Ni*FqWt7\)o]d͕ĺn7Ik_1] s#4 #)+c#)#sӷՋaǷdnq#*"+Xxg-5B8&ɂڨ}Eq4taN3mlk_*+E&q$ d=җ Pra֥j!.#4Sݚ+>BX5uHs򷭕6*Hn(6#*!ҁNA #~j R1#)w,ZyvŭcwQSE0qpU#4K&-Lйwm(,@HW~}25wy|p؈?y^p CŹ ZUF!@#*Q||/H_~n>;7UK#qBwNLtTvϻ{UYib.&QK?4$\_CIuu`\6;帔~X+S%rmi3HǚB&6du"PcB=u#d͎ $rQh[.m"PyZwL{B#4RlG~JN_7OR#k\X.a#)7Aܚk'i\b#)r )5P*!*ٳ"-eަ|▕rpwzz{ڥmRK=ًbH!e1wxxcH ,/Dr ]s5(.bݖwv7o]V6LqNu ;+п3Ud$D; k#EG#*H[cM=lY`?`Ɣڼg6bvY+m]1uni5m1-eϟ=8}Ml/EQSՀS2+ "8ept8әz ^pnn('aomf*ю^1 #)#*&:#WJcrf;z؄hzPó^Bb4$mx[2 Dal7kfXL۔$VqEI)R".rQJ.1Ъ3q.:p=HV}fNᆭ"*J7pJm*FZ0q hTzHoFwxBr#)'X3MDMp]u#_!l.v= VJ3%R6쑍.!ig;9mW˓7'BՃCYHZO+N Q $`]6 ]C{# qO7&ۀ0w! Y0 BX!uKB{vo?'[k=bڢI{ͮكg/O(^ӫ6;i֬TeJo &>Cs'ٚhIMhAQ8 <} exnH<-cHvk){\oqK[\b9ɻIwz7'6vw`L/Ǵ6M#*'㊏>[ۇҕ8`-,\KcRpPrץ Ͼ@94d5=)`sےM2Q1f&ۘdn1_Dj4Ѕ⚚%5%WSS֪n Quܭ"m5Vʈ \B!;-u,'dp;KnT1LdVU-TBi0?$ޛQq!oxsr2d[1H!G ڀ<8d f?(:jȨQC| A5@.oǦt9vDǵZrqiLO1U=o7B!#)_N 5,o?FN};c#4,pη*1鱍E`ZZoɶWztDkm',#*LJf6?돛$GWa$8d5#)M qBmr}C~cblB#|7Z')]LN@'`sǞ]fds7}6j#:1&yRh#4<1cg\F:X~]#)m&׊Vb^Mkq̈́jfRTĦMPj湺BGu <̀RĘv{d,Ez鰺X5o }Jlڊ7N'#n<>R㮘M$8l>0KGr N#*r7D.tQҏѱZ}: F$85#* >_!TMVZ^qzYWYrIP坰*I:O>Y~wT <̯"U '58Λv̚5P[jײ=w#ݰk75Ԏ(;zE~Y ffY$3֑oD@J`S)#)}>\s_&j#4[h+;;q7շI20q{#)7[&KIAFL0GI/CX.ik^^tPL<#*o#*2o]*YlPҒ1(P4t)bv$xjg|jײF28la4AGZyU˚5װ1[ gc$k86nnߣ{Gc<6>JȻ^n߾2IxT.)`לGW*4r[a cu>Ic#)I4s-|"zCٌ(CkT7FePͨʧPޠn.dT;#A^w#*P b'KN5Ɨ` 1{p'ͦa_ N]@( #*Έ iɫ\JӲ>y*pGlP#*Lֆc*cv%E]>--.4V/#)a8kؕiK#q%o qr9N@[~;0I)e+٦Du4k"G.^No1$#)~~Ee=Ɵ.6,Hߋ3؃7WR I88abeZ''8x )}vDZ$`JH^f!,qer2MB90Տ?zum`d|Rx#)V"/Oĺo +Hae8rl>` ']:RЦ Dk#3z:k*oO7?K<~/oKoSgwǢ^~"_?5~#)v[JoL~>/rr9Ξ??_,ag!e/W2|6ʲ4~9WkG[CBT~u)?~D5ܛJ|H9FX'#*vz{q!G+s"m#)z]ုSoRۯx*nw@>t~>>V#*Z1IQ{w z`rAP2<_'׎1q뻸=@n1M؅wvEueMs]2#):־˟w_E-sUV̙*ٹ+v{p)h_Q'GE~g_w`)רô0D32NlFdn*̖<跻w lw0iA; hkD׌hϡN P#wf:cBNv>@EQTF&;[iZNL$Ϡc,%Ԣ@|wRyZ Ɋ$> 3$#?XȈa1fV6F ;%)U!HH۝BsE%21aNRa [!,`Pk&&m)U+%k+g[(L_8_=bԿOQ(Y'COfΟOέ=g+xJBf?4 Efh6PGnJ䙝@]m z0*3b;DhN#)7m%N-:bmkZZMSǒtJR]'YfěQ;yiEo([ԜIHfuHZ#)QX&xG])aPd:g(_(i|Ļ:WfL,)43Wrm0P;cl5OѮ#)͙7W\ijjE&Wk]-eX[In^yI^mWGdtÄۍ#*nmFyysU;,ߚyIѦюʭxm42%*+iAgYhxsT5rK$6 5Y8fH=!nޜ=䍢930};E6%Y᪊9ILsW9C㞳F#ڹz.VKS ᪓>Yגo2/>9t nYaP*8QSSL0Q8z tC[jEC4_a 4 m-5\1zªc^ODHxk2c657k۠y#*N(]I͚kF3mὔ#)xCE8ɎY,糵X_H++i#0s̟s%W|Wg PXPϯ]~ +k$IjI( -Ä)C,Bʡbܥ.a()5ALJ^)#*E{CO!I\EANC -TDn«G9DZ?XR QX݁5[l缀׍a=}2$َ%M a:m~w 6|RFGV3خhk5:iF9D#f^݀IozMEȅZm}5ܺ!] ]x,ⲲpֹאSq#/>FYP8vRiK#Ur#)$afIG1zx^P`uk:qdO;RA$c] ta傝\bÍ't:άe#*F [Ǐb ܊}ѥF@!ԚQ'ܵu;Ɉ}`%#*w^PS+PƸOoXP'APx6RĪ]l75Ni~Э! r?r; ^Ш_èbۍ:0Ǜ!&F^m?$\TZ}cddmq+uq^"i~ƺ>Śj1|dڝlǛ+MΪa<TZz>fOO*W”"?ThHf]YT<@M=]K՘/I?q5laeĝ:#)B~#)h#*w!f4۾ قG C#4_x{MNmahھWUz% w(ICWRd-q5={7A(Mԫ 8y^7Ț:vygdp)E$eL8$Zq/>Xoء[7CEqc#4'#)ߞ*#*Ln{rPU1]$q_ѧɾT]ZX|Ovl=\1]AQF> YL#ǶN1A%wOOyd)_Ҷ[;ctc5> є8qr3L޺B?HT̹6xjR#4VσKN-2a$NJ|k2 "'U+s$/&iFX#4'+H #L(8$o߯-H0$'O>yGw5/q~8F[%i:yx֬@#)+Syr`bRd~_:voj̡@$6\|#)qN:Cނ.c!d$#*V"-!'C߻xH#)#4E -OtP]'Ί'$4skvx&g#)G!jLPG#*-<j^0u&""yvE/pctTO88!L/zUra >"eRxHCჩ&p?(qV@4J1E'VMHa?V[ZHu(.=C8oǹ|򕴙<2̰,NTC?y~ d&Ut#4o}M_| ,t~.C{>^@#)C.ɌoD uV",X.hMrhd=,6_?r>+MK j.*QK%t(ɘƒ0b ћkQ}hϯZyIb'}?%zcdȕ!j}Kei/eɹkrYj*A # o*v)}f۞3>(҉m<%{ADDԘ#&TЕ!REolQU̥̬ԣ\$Jۆ]w'vDryY'šF%x a#4x3wn֣9^tA7X< `mC,՟5!Ikf9g#Fֻ#fz5rc FapLxԤ66^C*!b$O_gd#)|_x>6as2ȆgbxRILO!T`k9iFWbqE[~G?[ՊFBx|qOy8.uG_S`VdzN~I5}_ʼn`M;f'2ͿFԼf :,`P<ډ1$8t dW9ɶo3rPPBe/.O[zJ0s$T-QxO$S4H7#* >}VɾHb\$uck ]E&Rf#*^{ *p.(#4՘9{TSہ ZlUAv-`J2BlZ+gnHfQdXĺͪ#4>3Oimfn{f@R=#)hlUc|%#)$/$jһŊ֠5dk.(#4Nq=gM-~?(rf"tO&ҫ4U>c/v#*?k mXUNƉ^|m'mr/Yiszf5 *Dh]_.#)XP'd8ޘ됍}~XlTL+[ ZcBWҼ m?3$}JMFcK<=Zs9OH`,!1L ܱѹ$;,+96lb>pru1'#*KA`q-tB" :`Id3qo=ww\ a3 fC\ I~~TxxXpy/qW:;^LgC|X 8d&\t=%@QYQ8|16f"c5=rHsx"u9:m&1g]88ɗo^^߼8=ygO('p o^|ƒ#LkԍcM{yXۣqN71&Wͭߌb8g2C޾9?~'<I0s]4ֳhQ;sWQc>#)@VxKY';2-);W(qN`]w9]U8[4IwDJz_U_/5qz/ B4nV3;oQinqxm#)ѹl뉫"'{D[Dy}̇loowȖqu#)j.l^|tGKDtP~`g Y#*-=JD|l֨cnp.>{/|__ys?~?w~!G`5B'er|L/ W޶)|s#)a ŠbMȪWd8|g|VK,r~O>#oofͭ=M)P_:̫P{HFLIKm"wn{u\Ybo`u@*m=&w|rz|VYDZh6Q<&6CLW3xA#)H#*ՐhF)#Jv,DJޗLOkzG{|=kXfEG2i#4Uw#*IzSE2Q]US ˇt56H#*t#*3p16L\at{rVy0\쌂d:>6Og#TK1pC(j|k,^H 0.xtyкݮACmx eĪi$uT#4أO'h}|e`5pFs^do.b;D*!|w~ c7z㶣;oQ89,^Lc8Meֻ,"<\Z#)#*>>&hz]dZzT *Myleb2ϪPhbѠBL[0 @ ^r+KAu,ps6]r.s P UB2qiC8 #m )_9lm.(_@t2#*C[`670-OzPoz{˕C}AA1)Z#4dX {JcS.Ιc ܖ2}0}7 vF# H8Wd^j;Wvʝޣ1RF@j󰬆2О;a)0_)fjy`ͭr;WtJ"" + +ɻ =M#*<’vtCN`xY[1VinE״;߽{,8{b},Իw;h]m87pubqXJF/Y$O@`1JAu o-R&<{>#)+bԹ8h)ҮtM {%z|ZDsǞhk4) ]]' wW s6+q7 bQ"IR3<藯cn^,,ُ^#)צ{m01C951G$Y+ApBmD۴" oo't=uNh#4,%n$oQ.wf0oK3}L_3wYw d?4=y Yb^9&sx 22xcߧDL>~h_MUliqpE".&4.x38Q =b=qD:h~C »c:}y<{N^,'S`KMΔ*BRۍՊNt2LVM#4Z7& @7St?ҫlHW$X zйN;vӓIzsǗ;B.@n&*1/H|ZZChc\MzHwo50%SWVeBEN`(gCbцI6\.e|lnz5R]񦑸{8}EX@q/ɼJRI46΋=B(*f)lT"lFpJQu*L[#)#*A6-{P˙x6ѻdKv#h f]+T`#)6ҹ'rC(]X[!8(w$u5Je8E9py%7sc Pk+J~2}JC~lqJn]~b2#4עA9$}Fjb$#*rg9@BN1 勠~SMp L({Юrm{.t t#*`aq);#)hxgD:ts8}m `,Qǯ"Fv_#)E-fyJSj/J'ָ?˰As\{4/Woȅ[0aMeN+K[V~ Z6m](Z+~u"$wGA@K)@&J s!PN#Jrnؼ{.pU>; sW$G#)}f-0ְ+f0AԢD#*4v1# u->3}\o#4t@-#nw}}#)Vj>-@zOUi}cyX!TiOJp{8;L'r],//Q#4tjP^u m]q'i(ƃHr^뭢ҪXj=5ggǯ^[ȣ Aq yoX߻3 =༥m7=ȕB̥d;kjqQ'U""Շl]ޔG QU#47/HRGEuT:bV<#|2+uꕵ4-<)fKfjJyNVxF":~ #(y r."J;#4cFuiQ"փ6[#*Ƴ5ݑ؇8$u-uaTݬ{܇&^S^tw~kx`1To4N9}ry=)#*k k+Z6+9=wt{B- i2},ڻn5}|q5nD`]\ ;wffZӁ{ L+6P6$;T#4f,Evڞg@|*N1vgo_dtc/tΚd~h[rжJQnJƚ#4miӝ-}a,YKKp.(ۧhRVd;B ~~#)7_\:r#wMI3IDX-RSz(PO$N77:}#)oVATyDieԃ:|"Ywa+(D|B@"ѐqt{ nε礉n6J4P 9Y:P)7.A_kB7RsgBR_$5a Wj#)(K>v«cdiԮZD(%:}MYF_È41Db2oҠ8Hr]\o^:)2;҃b*I5͒D@)G#ԛh$NHM!}#4Huyܰ~Sjw:X·Wh=I6E1\r#)$^ƞʇ n!]엔֝S#ڊ $k#4$(q&cCŰ(#45dpxbPpHLrxȊj5"ו#YIp&B{'lN!S3_h V.aݰlH6->UC2VML>"u#)2-75"s0E#4sB8q7"g&񞋚3mϊFjbŊl>NHUOyэPQ4 qn}N}FY"mK.W?qFaSRwo$<:1TAy3lJ)*xb><ýVcMt^yPPD@5x`F͵mqm 9=xv]UJ bHX*;мŕ-#4T:l,t',~|铺Ǔ'; -hi__G~Iw]7o:gɽ'b怯ΘMK]/T;K!蔲Ty+a?$|A.j=ؾN$y7˗N^ !xf摉ȫ<6T㓦xΈ'&qC]ػ#*QξnjoyYRv?GeBs'CFɜ+/Ĵi٪*!3(;Z¹m%2К8hYtg"ϞB#*@yFvsku|01(`+o#*A{w>;#*_dez6C'hwu1AgYq8/X3vnh+dy0d]xxFY#8jsm5:1SȤi#*}KR8L#*h 1QPmB#s#4qG{]#4RR52c"q)'o. W3o#4é%ԵǢwftx_'}>+SsR&U^W'(Mݲ!X:O)!·Ȩ\x=kM*̂v%s|=ѣc`ـ=Dp@ 8qeM+nm nHj͵ճ[@'Vu'Zo2-7XO[GAkKyMԡO9~񁬸#)zL2+W!ҜHG9msZćV#*M;9D*>;bv]=݋k]2EJܔabW Z 0f^Hj8ŭD|u8 ~/ _HM+DoR#)(".B}T#u"`!#4broKz{u> Ѥ{%bIUs,cHBZfr+'O=yϿO? DoɅm曓d˳3@09<aOϏ_}yz<<v$?}kxmxճoʐ~}v#)8=)#)zyy~뗯ӷ_b)UoqXq{5Kl.Fu1A"$੃7+Jw$!١Kg 3L@gFS׺ "4VPeȾoB3*i#~FY@Mjn|jIW0Ѥ]ijàsb4=THBuh ?c>GG4Aڃd;Z 4X:>;1~cL5ǺaP?>{s=ҔicQ\eIi &(-EqЂ#*$Y+*TN9acB)eQ$j b؅ˡ`lƤTh~2%/{mP}FJ#*{v:*79$7#W,J+dN#*ɦTR'ɠ$IL.hXSvfI}Vd! UM4MDƜ#4(l0m|uYTP#*w:q)[$q!C#41N1~3=NiOxc"oUG8: M#) )wdpoxޔ:s(̠BBi0WePT/KI"~KaiD# ݉ӯ$T'a_HQ1'S6薖wp1TzZUT¹ދ]$64boB1IIrn;>wϪOʞn2L5̀çPÔms|R,$qb%+CVt*qo_ t#4ِ11* V#)5їk lR譄m =Q 4DF[#*&JF$:& t2>c}mo}HoD~P0ƛ᧾ݖ[M/S:rʃt=#)FMOvˎIA{CG7k}#47јA8YΎ OǐVPm5w]=gOY_~9p1G@N&:qxiSKKԘRvDPPEwQ`|XKuFaNj3dg^IlkoTñ;LM=KeQ@e|FAЪ]85I׭HDfUlb\Ճ.=IP҉_/c(!S@^(+mp-Q&{wķ~ Fl߻ܪX9dO"HLZhF5fC#\.rWZ#):+? tYS jblmzhjy!.+<6 ,KI#*@5c'A+'mQק٢8r\tt8#*.ejL5*1e;)ȱ'g.a#4a_WA3WeNQ"Alq.R%`v Z5.5E)4wmK}3GɆmzr6St]S1vefcݦhq0vCnbHϢMA8KЏqG+Z]qO|je]W{HR#*\a`*!]jG)F-uW%cR/kljZ*N\ 8O`(}C`rOZ'!UګJzALA-aP!ݔa7J(1ϐwWgyQ`ikV1i~CZ%#).F7#)3Nc٠>p4x ya V3 ʌCXj#nB ӃF5d902#*guA#>۪+NB UqtMh=jiViND1 vCєNE:܎h9q F\!`=H&4iH#4l7:nbFKތ9լ"_-m2f/FWܕt[ôPY9nմJm8 ؃DuT|wOi.0Vx@XN,7w2PSi#)h/#*soDR*\a6Sk}z=vX܈/Q#)~NS^65@C1!/v#41Wɚ*Yy:L !HPN/Cf::Qg~el)Hw|yja Gy]H_D@́wsn }<8==LO4N\Gr4% K'V:`'41wF|-WKT=Ӎ2@|>Aey%t i/\]CZ6Z=ZP=4PEK=u;ΣS:Xg/On6ŏ>2C[6)gZuQ|/>.0CAD :s ON8d8Ă?>Y>J3X!ؔ1Y.PEME04].Rzv0ANdTw"qDVH.|x #1вFA J!_T6&D:;c.Ɛ3ku'}g׷иQ5dB°trq#*v&B4apL]\^iuMR !eM)HJ^ _1k<4,!1P)T#)Rw"rW)ZkU#4itꔽQp#*`ilտH}+Qp*EsC 9clqBmob=5pqMnvLa8${tcQH]?xɩB#)/ż@ibTdָZ%Q(dԣ/4 Q0XH{+5T(贀 [c&Ihq#4IuX#*ۀGd゙^؇Eߑ.X>JEH(=iPݮxKdzn_K^WunUnxVo\{*}_y'#*gWƶ(ewӸv6@?_v@.1ITjP`#4UnB@pf=ά}@Ώ7wN."~o0>>^DKEd)OT#*NmRk~l_6<#*LI9!xw"Q|)' {^7CEqo0R:Ne`/-cǔ#)eWFg|! gX#*ΠI$ k =R#4v:[,9C%)4b0jazE IWyd6;=Hiy4ϼd`SU͵(I뤪B>^$*TH8E4ݲdco=4q؁EjIPKqZӒ(J]ES z] RCh0.#WRf.^=@9c!bQxzݷ0O 4X9c$B1`:X?3ruZE Xg&EwhG,!n`;_ *LtS~.i4HR2-@a6N/Q`xI_Ds, F%g YS-HJ/#4+fN+<@Bփc0[!{Xh \;Y6̠Io;_/۟}UP$TȌSHuDT^qNY\vիAl |K|^`2[kIHaT40ʖq̖6jra& ޼3?kEuF!>9#*Q>@]>t*"뎱0:%|ӼtM#KޥylmO,Y&e>hNᐳe`8&f[H Vu+͗s)!w5"z랕 V,+b8}ROGE?̺ӿgV#/E/;hP UUJP0Gi$ڢNC#;Sw#)0KP*5S,)žq, AɥU}8В1'S8GئsŻF#*)_u0]r\cx>v#sr U=Ƃӡ;ۇuQA|\Tcq"$(fen]=<TG$}+_`D{x9=>vo`YT)q gʯ /p-o4s@Y[%ɰ-=|2YU]zbZgy6j1n;YJ\'9#4#4:#*P-*>/KVݟdZg#4x` #)Bm>XkuzJ'=J3Pp oHwa v1)1Ӱj<#IC:=NV.`a6B!uXn[)9-+J QwY>ýBaYvMB:paji#4W5_ZI|1&9)v|`ɍ;lip\Cwg8Jws;CÎoIFJcjei(" R{YɵhIzbtM,LieA/"]n<@URFLAߢAi6k$k'so]gZWgxiXɸ,-&4Q';.<@I\-p8z)n#AYO]mdξ"ncX3JO>)/fvf:hꩠ`2RuٗEc:`ndU8`2żm5#lr!E7 }}J,Az48H/Wpxѱ}Ѫ\l;-EH¨itZiC^FP ?J"Pȃ#HC&?tҠMzWv*ZVk#*s,aR>_\͜#*O =vR4J7M]\?Fr gfNv6MgYx9gq!oEU#423g|eDY VՃZE<(5šGelyO<.kݒLpځ;[C>If2y#*ZAYKQ#4m#C{"'"مK;2js]jS1xI~]Te2u$;H#)U' V5r0 ò#*rU8ڈ7oWl{1Nu4ʟt\T}T}{.]x"SDOu7/-+!V hn}O\~. D\Wcߓ NK]ɬsEy_#*bXU:++yV#4r"cDCxy]>1 %5mePgw#׿G(! î/\۪^sߔ4wu6nXEH>sQ}Pȫž߱SSpfrpP2R#s"uIkW\BŨʼnbcqn R v($l#*DuM*(amnxJj%E-ۻr1<Ի#*x1Yjo˯_x?޳d1reBjGmgKhRAY=msW0׃I#M 8īWO\p~*g+\ I{(~iLD+di_ǧn]v@#*֙f#*I6\ZĶSJSgCrԈٟ)zެ,#F*(q͗ +bd?]w L_GOw_;>{ }N56WGH򁣵LY|NK=7mm5k~gg[xxΧ۟f';>,5^|yl5^~~w56>D;Cq%AxݛBzyZHwirxQƟ;p7yo6Bfh_T!>Bz}ĮG˭7R0s^᤿f|}~xkߧۍ/}#*[`M(?FUN]m9j#4+X4yQoLfmr!.A|׊1|_xI+N&%4$P84\]~+`F] ]fM?=#*SvTdNnsCՊNfxVkmQ4pNVWy?DIUl7ĽUxWN''*j]}C4c&j'P]CnT#4Lk'*RǤHHzI@-S bZ~hС^;ܬKO]=3ZV=-)*&1z?,eIT>&idx->ᤫi0HxyZ=~W痺C;~eF cj Dm mLo,HpvBh U^̳qkЬuС{Kw z\S':-@<%F;iY^U!/dVބ9!jnAAK#*0bዬdI~r#!\>us/XjP:{<.a~b97ҽhvfjS1Qb;E׌w#GDC2 ʆTeYL*ols M"#XH+ JPM'<#4k!fVB@It6CAy(YS:j1B(^>xLmf|\d79Cf*G4'WDn˭hrPY"gǦFb'Y("q΂;Y#4;U.U|a\@'i(oMp'EWQ?u:}%l2ȿb#)R~s9ꆗ/O" G5`ݸ!YwVh?:hGg׻v6>^Ml۽F.ݐG+ eȊ$JB[\/S܁*2C6cJf0Dj#g+M+c;rF6*7/m#)d\}g< m6oi9 k:Eo#*vRO.UZs#*vW<9[8܋UUX=~ca2a]ՊDlEըIFo#)t~Z#ڄQ`F%jҸ#-H'Y/''ptDS?Ski3=LRm* <NJ98_ ; 2'(E^ 'W#4(ZWڙQHGZ6ݞc[W|ֽ6iA?Zb_#)*S?^efUL]aw]T `KgT[ȲCdPҼFns0`%r"/>IPUD`\fs+.^TAޜY>xEFdYs[kEVswA#)_հѝa6ɬ39GoYC āVӯ\k0tHf}p{Wc1=hdJ#4n+=*) I] ٹdߜ79%vx;V`X-o #)Ёxe6-`np]%,=*`Wdi v?漞7[#O("5'l%J>NaH.# V8H95[[#4};Z&brX: "^× ֑8%eRXwr[ӌuL|RFAn<~[=+uMy G=ijopoDhA#d݁'Hu̢qs3?jTt܌M!r,}yz i"V1%\T>L&Ƌja >#*#T=OΓwa{yGC@ZU8#*lҝŘ-P&g+tLD> #*ʪ#*荛=%Ur|$8&;Kv*C@/J@C}'vʋ8D@5x-6m#B^qKB*FѩLW^rz~4#4HVaCq1t%,2+qZ<.!#)/S h L;|m:XU0iG$h$<^|lʬ:v6oW:L@VƆ#4\-DqLWlvPXgA/s#4r Ǝٿ!L;m8d Qr-U9xd68W^e93,UKE"CNͭwu#|2=EbEb'S$ƜZK6aڝr1@]j؜eD1^H)Łg$ ,DImQ%8Jv_8sz9}("E%F@үea拉;fSGwRFeUaːR#)hsfveBջvs^gJ@qfS>gfy챚bprvDZ0c?ӵ~s#4N;[[o(<=[M{>a,F;E{!.jaIh4fMl7Oe_03#$3)H#)#*rn77<&}Yڊ1EۈGhbX4E pSHp">]v(#*2#4^Z" -!{0&WMY, #4)M#42١ 1WH/uHǘ)ZYVjT|#*"m!mȔ\yvFم΅ӎSQa8UZ1XK%T2CXlA$oOGo01B(Y1^.KܜH/~DMxn>\ˆaEh#4/&N+)K]WRWa*C.1:r8Qk`):d62]iVCbve̛!!"aG"]TʍExSBVǃ+dDUzL /4qrV:vHw@] +>QCT-5$/ߒEqX-ihCEZmIm㘄FƁ,m6uu$M(]L1W#=FϥX:?zS"4J D@4KDUٸ]IS%r845w>.KK(Q>U^{T0Ϥ]dT y`aٶa>l4sɨZ\#)sm8F\#*MfND7"=/ww[ 6zcsS{_-Sr `UBkH|P^YtW}pѩ8J(ok *(TWċ22U\QSb"S[Np%x܁#*(' kyyYo\Wr+jgBWm|8(]㖡MUcUWw#)[Kզ1,pH(R`Z198Qfu_ӂߪuXR坅HG$ZD%6l^G#?ΖG"5)}D󪫣֗'lNǡ.N.p eu1~%WDF8ԏ6}9>UҺecyBt/'( j<¬4|(qors)6FASq8E/=u7#a]NEm-#*7Udw淣`|Uj7W-`|,~Nz+~#enIwwq|K{TbHB av2yC#)5< #*$4}}9Ь |_0&jvZ6+ZlI+BP+:Qs-=֩OOn0qyߕ`&]#4U3N8ݷ=Be uUżGlZ^&#)kŠeN|C|XAC]i{d$~N؏vȨ z8s^ O`+vR^Kzȷq~$ v} Vf bK,!Rz#*"#)ma-lQ1%5.9YܡS^,::BrTn@Rϸ2+'itYnH6-U܂WZSnۺ*Oǽ!Gx5eo7 C0@\ 4E)+7=kqB BA7 \յTzh.&|Ĩ LA8gSk~1TSpzo_8͓Uc IO=!UrTxF/NN;t@.w;[՛:T5#4l&m;&c>;g] kM;3mf%gsih]=yd;#4FeIWEb`.,E9"=V|װLVli?^w !Q쪭g}@b.!R{dm(o H0Y\(lvaW,-ӖKy՝%T#4NcQcFƁir26g#T{ӄFxew:Ia#)nrwKozDՇOy*Lߢ_#4.=c%;ЈohxX#4VU`c٫9)|(A[Lh*wk68@_Uw::kp*r #)´#*Ө$BcFX&aka#4y#)C#4/pB:e3UGϜ7!*9#)CZ/:v8'\c ƻwzxBn*惞$#,>#(9ukad*#49Ql!B]y+2өGko|^#4iۓ)]t,s4H*GjN3_%,#4P,(}X7_r?^;Kھᕆ)gu{m~CfWׁy{糝Ow>?NgY2]D(xmf8GQ do͞jٱ+ ɑ^iLB|ip6-ɚ%;$ KBu%;:t:x+;]F/n\7[8_oۡ@8 ߽_!$<&bG;'D?]܎˷_Frxk?Q#*zBa|#)';$4 ;x CgL CĹ& _|zi͇apit2/߰$#)嵊jXfso18+[ 7)M#*fDĻBA&#VҔ8gcEbt1G;(0Qr19gyٝ|{k OnT;M!wWZܨ;y8` >jQY{tҵƣ?h1͠?Dnw)vh3e4#*@;7pmQ*.duNh2GJ}b]$o4$UM g'I@hC\z:#4/$#*f0J$Va|X?[E1ӀCuv#)y Ȫ~w{nK% K4y;-ɦ$ShN!w3x ؽ |qɬG'_%yr__F0qgJ HB`*k7t~@*_jӭgB~(nM>k9p3 ֔N뎓~۽bTQ;XaqI>wrѴNSV)Z<:>_.{q5uu^_~=^9媷VCu/n MZ/ᰵ}j}{|7f6ɖMI:$|{|\^Xy#*:''oYj_y=Co_\9@W9Br8H$ńM_yyA~ ][ sl,Ƨ}Onv#)7X"YH|Ix@4G|Aq2^ml],G$Em\u c%š;HfN=UBvNr(?D6y#A_^aa#)nČ' 7uͪ}ERߝ*;O?+O|9gkVY \+΄b;za,J#F+i=J&(;s>^-@|cA(nhˣƿ*Jw'{ |TlΏ#pSYnӺ=,$X=ٝ1(P>M9`'^w#4'>;#4h ٰ.S=RTH#* 7QdP$6^}A-)6'_co?l>YI/߾Aq+=8#)a`$(XX%={+gE+P/y26/5|HFwt1‚hMV" 'Ko#ed(C敠s"0%7S+%l*$[b'|)񀳡K"I0QBxԻB/mV7 zoGγgO?߃`Y$ a#*w>wgw""[jJ;]H xe6F,!FD̿7Z@ݕh?Fz%D@q{vg+#*õ~6zs#4%hZl&cwwT헞#4&`S nUwXASͲᤇǛD:LCVkn\99GCJ#4bՏi|: hܬ#4楪Oy\2osQl&A]Eսz`0#)x$7)]#)&e_kJ?ye;G4e/=׀_S#4iGϐbrh^{U#43~Q\J>Bi+b@Lci mA9[\9#)w*O}]JDp+xBL%!.V%{ݜ˙pYB9H׾Z¿}#DiNKң@d8^E8H3֯~F#4Hb9w| e]';g &(P+4V TeCM䝠4PSa!L}82_~6;Nje ;㝒ˠU"-]F"jEl%o F6TU&n#4H$3 W%Z'*&iN Xǻ,Z ږVx諷_#'\Xgl4b<>H)1NeN!V&vpRȫ,VGm#NTeUQݠknL7}Niy>I3N>*Y59g;&^f~ sU4ȋ`f4pql֙W vSpAXw\blx *&Z/^\74JGx]4jo_p *Ǘnȑ |PtO @zi0 .Bַm$Q 5g櫮~mm\(<Ӫ gM1FqMCDvy6inWmlLvDdAtLgk rP5nAͦWjӝ*T#*TG$ 0`hފza$z@yC4ŸmU0Kkj,<]Z6k[#*ŶFF9mElIs*DLtou[VXi~a8&|q~>Xb(ڗko~-Zxhla3DO *HyK2#)w<3jGF!dluddC2?"XV? InOttj Z.G!:1PwDf˺3Nm)ƿZť\)1,c<ΎQ~ъ0z]tbm҅4 v?t>4'ee}z8GOiSՠ Ys䝶ϓ89wKy -([iSWũM7{_cRڊXΪDݝSTXQT7EsSoJSO$iY\+^zG#4*nITU?ky^'!hTUؔ^|GGdI"L=ך$ͣC1}|G0뢃{% %H|#)uEK{e5=!h+FV5/XD8.(4`jb<{#*vHq-OElʦTcSڑnL>#*V%Pb8' LZ1j#`}޾oy>JP( L<9B-5*8]EI˧Ϟ}1[[r:pG5̉p#4k$nOFtI%Q~y4ǧS#4&X|<8VlKac{us4 E#)f#*ze76{^ bI3pܐ#47yԋ$:׼j2+%\+8a#4b+yX~}}`o$WwbHoшި'w1pHݽJT,)+X–$QOAP2}'NDyncN&/U%#4! DUFG 斮YEN2Ӗ].V#*o *8Pf!ݕώ3+2@~gv.pPv}l`t8;.d<W2&5JtFu]) gLeWh#*cYN)=h0|Ϻx:W_q/n{_LYI/|7}v|gwt֒ rԥ"GR.[Yv,p* rE3૓r~5j@X#*=2V#Hѫ&W TѻwN: ;e`) Gb 36mDŽw]XXK<"T>=:Y{8#)բ&xYPj04B%-}#)XMCA0R4ojz瀚ܗVC#4*+8xszq8pIA4N2+ woqx8F#42)HXuZF7EG2&iEsCoTugŸϛ&̤N a[PYҢBVF%leI-9S_Mv[@55KhkjU]7C5C\ݭ&ӷǾ*0p&{ƵпuW'hc{U{AVINjr2fJБP6Jݻ7/݇#4+ҁ_߇V9n$GĢ' F$9ݑnd1C>qqlEso%r}ƻPșmDI;(0:nw>݈ !;=i ~BWK66Z>,CP;KQ',k~7`tAQsDĈ_7!/_Ԁ5cM<xާA߳FE6mNg=H?#*M1`G&"^nG?9B'c #4$g[pИUsڝaOM0Nj Э98C -y<#)/d%3|x#)l#)󷿳՜M{~3|Ԙ%:K-ug},`M\gp3(-x|A/?5s_o ?ZLxđ Bs(GSWu~_A@=v}7!MƈuQt{Ib=#)zϷ߼z4T[ߜe&͛ -7.7 ǣ)Ja>5y3wq#4݌ܱ7*!tt_H1A\v޻l.aRn#)}wgv<W<=nEgOQ9mԇ8ϟ۠KGv8n!M2lDo#iC)NX*]MJeaS&`4`B:Ru9-|J{k8#*gX 4B';[`1r|Z*јb ކ M&a >K}[ = VzW$1 }<6F +hLzsTzB `xڮMS"p׃dt/UDk@7Hh4z~\ku8Îz"n[|pNIBwxы_Ɠ4Y(Q)<ܨX;sWĪhV)+׺җYW~H#)hj1OrBHk1h#Z&ƮwTg$[⻣/.jȾؔ!6*C_; W]Q+̀`p#4_Ab{~TCҝJ~ Е(mma;xzTU2eGI؟;n{#)YsM"3 e}#4sMp&KnX-9kbgPmZoaNDǥAqyW2Ą#gQ.J4$ fK6agsoh؄<p~ػ҅joҨ8x#4Ŏ&v[aNxjW?0um9\ IysB\TWޠԽ|#^aDŘg0PzO@@Id)C& y+[!El4lmmOYrҜ7`7!_pʆ$z#*:s&[_'Y_IOWcG ҆%$k.R̐wjK) τzQ]:n*+breu%W^1?%SiE)Ui_KQk?=5Yim8T6Oil)ϧUy#4%j20ZwVq-vt;Nee^LH ]wx,?J^v`eZ3uM&5.<cilxq &^/shxN#*׽ E6x6b-.^@/F#4v//E>Eb̪wz|<8ZjZ-tpUQTqf cѕ5nU-76f%Ќ߬,`ͽtJ˼Ac3O=wNL/{"_Ͳi6~_;o?xrͳOvp:9vЛMxoI瓓×f(@~*ݫUR~R#4`R]*ln5(h;b_=eaNjI(XTִE Vģ dladr01Kt<L>2&̗aϛqN7> N"q|L"wH,8/B3䨢*5nЁBw.'5h&YrKUNXY$9߯_2Uw* j\xƁ.Z''m[injZVsZ{l(x'}?|LHpA/ڠb̪#O"q\zJ,W6~k;hiJhidUJ,{D^ia#47IOAg,=N}mV#)KJs- [e6h.JwnD4\OTz|A6J=SHWa)>RߨJJ]ғtx8F%{$k'WIsx;rtIL: -Wz]R9-rBIpRelyPxjIKDPRYIH'+:QbݸpEHEwbE?[_D)ćW.HmO䖿%ٔ l'8Q9ȣ%F!ʲ۱pu35$9<4,SNylD~C^PpzZ-?i'"[H fro'[q,vT4,l9֐.NI$gM5w?Su ̲t;g5.:JΏaVu+NkfoDt䟀>-;A#hLlF{eB7hqDک6czfr9,'̗;X#*zԎ۲>ݶeRhedwrbaQC#4#f)p$@/vGgns_?kwam4xyAq<+/ ueIqE8Lyg ?-k{@UQ7zZR8y'`xA̐myBbR[*ygEB=:u 7;G=thI/{@S&nm'$hprP9AAD|>ƛQ|2>y?(*E5#ǧ ÿ?{i: `hөmҦzy'c͢lا=ݘE<J'Ig5~v"M?8o"1ka+k_Z?B띷J+6zAXhx]4۬Lي.&mMSd9{gyw(j7{ٟdf#8˚"TM(b}ֆ DWhZc)a.ٍ"8ey64Kc3$K鮅Rg\Yd%=foθ$)ԩLPnqFRhL PBfKaXF)|~TB:[(C6A2k^tgc3a܇`#)孔-}ZI]r#*Qƺ-rnBՃ L0ʜ)N$iI;љ`T- =SUR'ⶕ}IBc|E#).fZXCe#4#c+e #*!2ABtt .߰H޼M6į;&B>$Cu#)qo!]늢hc.>I%dyC O_,n5/:{c#Q8L5o bJ1Dﻃ  z6_xw\#*+@Mb&bшM}콎2ʅo8̄}\Ȧ"rC.bhۋ8*q`o6٩?LfWpF`DN&zx3S3!IB“O0^"#*A,}LٴeFHǵu*=5E˗QE?{Ƒ#*#*b.h ;g `] <#)ZHX<[o{{m_i|vnL}07 #4@Fhq QU}Jn:oL(ÇGζ-Y嫃}Y"J 4h%B }~|q!H@5_I"P \'o2#4|e,{aRҐFwȟ*ibV)-! iapp:Ą:;9&#*a5w3G^yl!6+5qu\ɓ*ݮ>9-'.!|Q}}BG糐g`vR#*F{kFQ|ƈ&M_=[qُB{IP|2=gc '4Wb]W#4ۦ'6[Ҏg7Q-ͨ\ЅgECHM.A}26dLƨ{SmZze &=8I]p`w8nuNBj6x'PrM#wm$bb#*hw}4ѵP!T`?>o=~^#41c_9;N{N,R n[у\b)N4rԾDw"grVXtW+itt>>Kgzx$Np"u^Xh0Px3O\\?Ύ_q'uwy>#)_Mp=/;(Ž#&7#4}kMg}twjPѽ,3]Mdp?Hݯ+MWTtDSָ|QID*)82]`,(&0:.B3 ښ{$ǽt,XDovI#*t#4 #+e<>gV qd`@W"ꊏj*2;9bkkbfmը1j(ἶ%qBVpH1kʰS}oUElIh/& I|$8fsѳMq$+Qg%V;aNM>pܛ#O^\!eGVk)mg*&]4\5Qe$,% 1+SzR.֨eRΫ\'NnOw]O lMb?%u˚PPqju{$7{5#)&d|.e$.Y)u`&)IqWc:ěP#)'>?"ߺQu,}՜PvΩy:J; `:. $/ {(]CuV^XTUuh:(ScW JiOwp@67}<ـ?_??./bߐ҄ |)aȗ+*yb_'oo`&_F9B2Yx{ uaIZߊ'?Lᎀ}31zVX:>B;;e}jN}!|uwv#+=]zPP|Qҏ$1Y1~R}}tVR2P$~>E#*D2,>#*/wreS}aHÿlt1KuM6~i;#4iNJ?~ߣ_/?e*#)?>vXTj\5PrwLpϒ^;KBC"l;E#)rl%:&d##)9~ʫa;~.tI}r*7G"$؞Bk#*e>?іRhr/ >ׯMNnY%ּC-R&]foah3fpe(Ԫ'*LnTU=H]Rя/VӄgTrRQɉ1P&gB ?5w]J~.?YǍtBϒ0\Yq>E@Wg?,(d#*Hޅ'q|:Ig!?k?MB_}1VSvz~F/(,MԯbwLVʁ͂4GlfyZGLJEԌ t)}A@N߭FRH9_ƺ76O'vX#4"ȂufNuB%xȫGb#)=vz}[|}Ҩ~sԢ|#4!zBK+zC,[BUٌUyh7U+lmF3#4j U*tԡYm]y"_B#*h ӓ"MyFcgg/p3~.&cD&h`aWY¤zM#)Gw<=Lj Ȃ FϒGO%!eap@3eTCf0EZ%n*wsq_iĽ#*l$EIbhOX {i#Gڐš!nsX eJLW -QGԝ%n uSQE7]mf 9ej~^Hԑ]zsv!VjOfyԨq`ZI?p2b7OW$2z< ek5+-c=bkf39u˓S>Aa'?=0:8oL^Nj>M?Nnލ2Һ "D6#4_#4$o-S!.,F0Ƣegr_lOh ;tm },8#Yh%]%zI-uyA,*"Fes#4Ƭ{Sg˒\bkNrRAd3Z b,#ʧ縦=WsR#4&s\^W{7D > @V3嗋gye89`<߹3\B0MH+tYAo+: &55Y0r,Y6Z7T%00l&,SڬYt#6,GzNH4HVM!87ꣀjbvp[ՐcE`OI~MaHnjOq{G5zĻS' ϗ*yn9&NMDzBL+r&#) ,쩨J#^r|t{ xʵո*guQc!٪aUMJfE .^ M{]]OI/ػ^&z\3{AˣuxP2e=Z#*(02ܻlӨQ#4Y$Í == `?7^*qN>&ңͭfXe+wE"2y6+]" mX є z gvP*Fv'W|uҤ3|klItJ.v92j(?o% ,{gh5KU8Y>-92c sjrmkr]ZTvhp]jӂZUtTdA%.p}m:.Nٵ:M.K/N[^>qv˓Pu:yQ5+ӱ#4}?$o$sr{T6:s[;mPA̽3^E&4tsvyI~4ezemaӓ ~)l=(?09ns4+"HK:GL N w5k ̢=-#)iQ'[Î1,+MKvO,J{$ܬޒG - ;2Ȝ"UD誤≙S I3A\xX|$=[\Dl8* u5Gcc3+DdBwlʺ*OI}h#*7Zcs/ͷo~݈jz oď>W}^y=4H$ӐQu/`cThfx *X5Yoڝa9E٧=MD͹eFAsL[#m6@+=ioúz'K;'Bq,n_w;/#4f)m~Cٳ9`vK{I@ZIJYeg:zl#Q#*I3^u#&-Oj[[""ܬYyۡ} X 2:It?Z^䨸5 }}}H4Svk%Gߐ"c~C EVrZ%#*!=UU;O = cxo4`Jch@Q鹈KK (JZ#*m56}aj>4WSUoǮd3NkDp5As+3y#4n+f)gǔ@ɣx87/cẸ-^i.tߛapi$>a3L"Qʻݎyu/ƾ6u>Ȭnl:+>t;GD@FbΛC|.iu=dmpu#4E<CPUh W SbN#4 FQ٥7x.1lJ']^O\!Mf~s'B|NdO#4>G` zy^y5}R3gJ`Bk\<6W6aBƩY?cj%!.=<||9qeM>G˄>f{鮭3<%ϬW#4h]k،R6#_Z#)P/Nm#)ŕ:RpjŪ#*㣔Yxְ"Z޸jTE}?K|z8Fi moѽnQ';GkTJG;/UE^^:؟#*%j;s!p}=BKR#T~9׷~&J 4AӾ7ܡ^jKwH#* k><D4=L5Dٵ-b#4)0h[\\ -4ڏȘ0=6r鷏]_?ʐA@ĒI2a==~^kk!4#k#*%KIvo~džz XuFO favL4YEH&~Nm7#*Ĥnc(<0zx yD>X7l] ~&-/kA9n>j0}FWUK:d-M_v}f}\oa"-MBC{< `OXPKA#4J:j;ʃCڟ9:VeVyLY:""K`{Ilulcטu|_[#iQ! E2_D&T? Z&9ҏhJjbgi|#ȃ}Bo 51@i-L`%?)񎇈!#45/\Fmj+:AbGԩst,Zq,VV#)o^m[6:~å4WT$,2zNgLAN.ksk~ *Cf8hְ$.~"]GB*_${_?f2UBy7#)A`٬#*88?PP ^% b'(-s_C|E?~x?Ky+Gddeear#Τd)i1M4QwVՙR#)TܳԱ:,N<MnƭLaa`AN#*ڒאJWK2P@4m¥厪 bWɯ<=?8i^W_7쪟.[@7{PA,@bqP[#)vk] jg=mz[\$Xsս :*,ΤdZVT#*2:$fGNkL+#PV3#E ai2pddܧ$־'`OO޴,M,ڎdUL߉`plF18! BN-M#,FYNP||oͲ)|l/cҀ,M2.O^,%V *IE$|AuhM hc?68#* kVT]/U&N4)Vք* UrVxE{v7,n@C/·5ZN6MtOWvi{ܺhvnUDfn46N_.gc>)¥4P[im7nN9K;I/:G8y)!ԄnpUk`z4ͦr膗,M;oLe0D]WW߇|Q#*v\jqږp3?I|Ėu[U6\ qZʲ;y7Ǫ8"07/iěԭp&/x#4#*. ]mr ܣ8HYNQf.G7;M3;ס٤%d0u*"n|i_ZqV!%Gv=l &IjbƳG$ :۝M{c.0Csp7sZBsag#u;qk 1:.iܲj28cѸ7@[3iCO nJh4NKkOY]w[x8#4d䪍E_>\톫5*eH``ǎҢE%(3 aEE*(? OvUxWՏdEM9zuY|έMvɗ'qa)z}6 ylf9D0A#4 $ g#)U-$qk(($K)axSC]j>݀nTjf[1L > B33H`d#4p $/Y90*+Jr_iY]3wxyχNp.U&JqX ڗmJg޻IMUJ8:KW|MM; W)I1Q ο[dr_k}zq +jŴp:)@[e!AGV9 0ZnoWď|C؀whߣǏ7|A rp ^!у})v#^wl#4߷fcĮ8=zuZIuBX#*ۉ .]ˣy XCK"s;u)f_FriMD{eƥQu7/'W&Z:&#*B:ԉj+/q rLir%N}GagR8I@֡Q&"?%: Q9#) tNʳTl֋3l`kHYmo,YLB=&͡0i( ]94UqOѺa$̒L#A*0C@!GHo^SU׽hH /o_S2u HvH)hX5njur)]w,tyB\09/ `w_ڹ#[bWywm۱#4@Yi[0sV">,/I!͋!ѵ~cᬩm͋xf.L&۴FF(pnҨC΂"j/w[^OJŷ {'i\q qIRםMm:^cٌۮKRddrXh~܏qk1~^绉ķBydw5"]DWxsnǪx"+9DvTIф+#)BT9O<&(깣o퉥_s[II/Uկ$s,{362d#4+y$Ӱ=U씅8 #4/ 8X\%CN~b )M{лH<`< boДPbHP9S?S|VCRMwN>*i),ԜaYc<8@ ӵXI7aTڛR'4#*rN3.Lu+:*=#)ʤD_1M]2v:̬\U3h$qdMHٜr93g&o˩(3]V& Ԟs|Ff&ȋ9CeW%[;r"Ϋmnk(ttg>Q R@- :-=J46+aVX#*Ԫ#)㙲k:!gbaZ6sj.!LFL ;?88,GH_NE$YPC`Һk,G!#mb5 0Mg(RrW圴#4Rnj.^~\&3!Ћa ,C6W+fiwq5hQ#4;B瞾󢌢%ٵr'[Qmzm#A͍f[I?K̞jreߓ☙zFZ6u+8OV8Pbݹ"ZZwة>mBRb\-3ct;i㼻A֨ݹn_INVY֕SS+ɡ72Ir86>V-?FxN \hE<]Dʟv*KMtIeieDJ22p)nypAi#ihogjh}n,?Wy{h6#ݣ1)8O:$Zg,,GWT-S>JԔt]#*k?ē4ucxRjiʭYUwڜ([mLK-R2c{Č~:z"#*#*_#ьCk6ل۔QP|s{a #4wD>W;uYI˵0ϯִ'#*]l]uUe8%.M6S‰<:)a?i%G˔{6/8p4~!!#4rß`\1y]b݄ Ml/nUkŴ4n֌ o&4ƂyIQE˾*4#*R(.[IzA۬Běk|n>R8gW<|`k]A $¤2Ni>"B7,CGN3xԋ̢YTCXkG#4[޹bmE7#vZZtHzʃoFJAp &MT#*[O8g8YKSOoڰj&Ѫ]]NNص;L3Ak'd&3v>)4_$kQ#*FW]+*pm4o^S?~ۛz-%4w#4 #*39#*QSb&ޘwMIGy1I XPY7ܻ,m  W*t+؅`_5S``bv@,a?m~'rx no:7!=>Ks=vh[iwUT7YbJwnJw?os?]hw1ףx4̯DZy%#)8O675XZ-sS^[R++q@ex #4UrULGO\gi-+5 ~~9:|l#4eci: CO[{/޴O^l$`֜=A#4f֪&5oj_\6*V/wNZgG--3jV+18|E!Z]#43h ?L'&xNL(`1(~ٽ=_7kjGk͋_d!0\+HS7I#)PßO_~utzyt#4=?OAϸ]$9|MApp+|lwZ;ǯhf[J?H[ =mIkMo7a#4_L?jS0b 7O7J8ӍodGLPh.\%anS[%[/~0!W}E_? PK;)"gg!AZ,~X {3q&(NcE# #+ao߆ñ]GKb\Krp56 y)L9-Y 5죻{ڣ!\޶F-gJSqR*ueq!>3Tr09#TnG[MV{_gp?CL%x(mNx8ȝLtTyM#*,$C+P˚, oNH T0Zp=aimIuh , I.jzܧ_GaS4g,{ ѽeS2;r#4v%ǖg+qWQV.m+*MIv~dFzyVAz-Ssq~m;u{OS7geWZv}1nߤp˭)v5Tw#4鬬O/ ƤZM7!'kՉ}ZLZ=ND'sbjEILOg6QYͲVnz1hQlN\Q_=&;93|hb"?0:3=z>E폮bik| AiP_.YI4$2ʿp)D:hW5u#U/)XLٝ[j #)y127P$vS) i¦wn+gg?^]Ε;]_O|r%4"M`9kOrJLȼrZx3DTX%󛄠MTgJ+;]#)l"*WI)4ӒvRw}M>|躎 L%4rS&X斶:60}gZu~`!ypyW׶_~bi0;w) t<SJXEӒ2,AUKRs]E5JG,GB4I\U~~a OV,Y?ҾY?v!Zqpk*_Zoޭ\Yq ?u͘w[l[G64q-d]hMoJ#*ܻitQ:Ȱv`"6Ko2TM#)%;17(+YG~FFadsܤ@,SNnӯKzfgi<}k:)'&ݔV ckr޴%ՙU Fm|v#*N,\(Sf6'Z?J̰ 8{hj8 lXP?s#*:m0Ln͔J]7ք@D#4`q/qU/o(^@.ذu(OLqfkȵ4-UU%'}dL/cE~Hjk[oLރjݖN%bČdT䄈@yj#*CL-2nGmvg/,*y {<^gھ[pq#/붇aFec|mGevmى7{G&Xޅ`mZy:NP%rXgW}gd|.,!d615ln[Y}XFTOőet %判1u%NRmA`l!T1l v9rk%&@f¥ޞuLKs6a|M `6qBZd|Y1}Jgoh}Tv= م0LFr8E/0aWa_F_#4`|rLow]Ŀ+@pvq|$f- l~Yzmb`QUY)2egflCՙD R 1JLlY_!eWҪ NKc\WPk#4`7=JA8%©$!rPoIpnբL&#48L}d"`wdg綀QnTUtp.qpŁPz'\JD(V+4^Aw3= ߣc\j޼M3F'Q_͞!2M,,ݵ4?J-#4Wg;}{dCdf+`$,#*@.pҺ2QHklq&IZ{=d@\-}.DfjW"j),,rB`^;/Y /9b&8Tӛф02qEO<+t';ʑ?!=* ̮P1Īɻ`L(ٽZ„$ܖ5l6٠MBp;Cq+0,l\UNKCL3#4"WjpDMVBK຋/kIKr lg3BUxR v@kyS$P$t@Z)hm5#4|!s\N;; T\s<M#4W##45C$._'Ġ@2޵kmI@Et\@SƦT *x4l܋@}tuRPRqyE/kI+aib#i4H#N{Drp.UFҀɊqCчJO;]HvXepB*r++jT[pBcL<8h? +Jʡ8SO7- US$ޙ)]1I\ݪm]hīn2n< ,4sex1qW:?K/*aT}/J|n<!ߡH翅祭࿈{(7`Rr=вbYr]vat-ˡ 'U}'f #4n5SFhD|l9#4!.Uۦٵ{DN#)iU"%g(*sm^Ǻ18nb^ZCyK!}ڪFD:-Z5[BaI`Ye "jޠ`8>y 70#=gJHf`O08>o@W׼R$xMޝ<,} LDW٬]hй@s?E)c˳?&Baxk`sMNM&uh@M~uY]{#VڏIi`B&m0DaQo0t6+YnݖfE 9Ry1F.,^sa&qtm2X#4IjZQ 0K\/*+_SloYDfC%fxp-(14a؞Y#)+OOB5JD0/Q辦j)Ϳ[ gl嵠 f-Л#*N\Ƥ&?H]+I \ܸ - `dNp#4mښ*zKXMa7ZqFBH"'d^#4"+a_N. G7xk#es0E)P0//6Ob36 U򮣆NuP+jN#k s̨C˜2ܴ⁔*xdɿBf (9)eR;n5IL#)FG&NYhKP@i$Whg\*ac NE@V3z:#4_7c)CH+&ei*#4/%i#4VVvւ@tΜuG1Ą;bԝDwIb2UvYFX攨)`wn;#4[='r|?u#4;aQ+()(N;c{WRbh"ݗhG6xmV38 W,@l$)wQrIkI,P|}uI:>!1(-!<;t!ʐ\-lZ*%mKᖗ] QY=qm`j/_Za1:#4>Rei}SoK8D_F^gBTAߵ5#*[?try 1:! jA.Q\]`˭`g'O~ RtIg?T轝d"oGDC@Rl UȓjDzWf>'-]5´Bvi=̞1rd,mHmB.O#ҁ>>>[0@c_$0yH3Zigq˳$#\Ke , cya=*u_f'pWB> It lϩM> &'b;{I-?,QC'B lH[60VYDˆ)1keЩK5|Aa4O=>8`-nצs;;Ơ4AREkٌW#4Ⱋ? ɛ#*pvv1&*P]lB^p?SKO{?C7ue <ϓK~ CP!DxeǗ`۵kϵ~ z[or^#e8y^c?g)B"@%A;Ăvʜ:!RXaưml2?6[~AGSNkj8!E?`5M|tֱz.Oŏ3y#)J ^Yk}1g1+gt֘(V< f:%4<;R׭VoЛ OdӘYFz0wǠxw;[?yuzW|u {~D^ ]Bhqz3R5ҿ;C&pԲբ>.Ej;gAA4T/J%t]`5ie+˜eSj/T5Y\!|"Y{=2npf5#)Q-.I4&m/z7*Nq(2BpQ!4waSkCg6WeW%c{K~CGQQĄ#*4EBUIۦ8#)enE%/A#WjkC"D,2ꭢ2INGg-XuڃMZA}{H_}0W;;{Tmsd0/GET:/N`J־~?Q|SU_GVLGqvGRbܣAgȨ=#*_P:i:hfbn\IJ_\=sǨ ƅx;/Htij.Gz!#Ch5ãoqGm˛'o+(]@ft;72o#7lY9[TTBG֍=h%@>$'J1tMÛŁ5!(V{6tmkm&6Lcs`~Lo藑֠TQ(R:ʑ^:҂XGXF-{ͅj#4aC%g*a Zs'r`e5XG^>Jǻ~,N8 ޷y&: J#*~#)~CVN!|=1ֱVʦuQ7_"!ن u lP[szs´,=ESaP2fuIili jꆱhϞYC~LA@1PX1sE%> i Xbs1hSh9UV16ի^TNT9Y C}U丧jr` a#)qh=\ڶ`u0#4O"4GKɕD}ul" H yN;9LSWL$k֐ 5Sȏ;w]f"#40+ݥVhop9>y/-}P/&UP]~/Ma4h;CMϭF#4ZǛJ%j`ExyFɗȶNS#* τʸfn&s)M#|c'þ!toyں?9ܒB~{khg 6}#*zD;*Ҿ?5 R:ӣ 0LT+W*Z^RQ3'OŖHj#*]RP#4ϫr|K%=(ص#49`a[sB,^ĭe YQg=fQ׷O~EqpM.8.XHSJ#)ŢSz#ǹ;3%#*)o?{t6 mBhFfїU2 lR5ʪvv^1fE`pUB/rR5Dlҩ2>VȚ`0i.JH'ᚦ1#4KS#4-f:+ yHȰW-:_ΎP넻`nʗG{ HJ!xj/FbSQ(C.#4%RcLDݲ$XUL ĚЙ| T&J}~߹uy]֮s3FE7??}K=.+m'<8$6{|]t>ǼZA vFi-cA_f.8#*{?Mz~.9> {܃._A(D5LwR{,V#4ٌH<~DһgN[/D ɔ^o x:(c2|o-K[r ;a$dogtT#F|hlNEN7pA~xZ&CaerLO(6ʣ?HCN9TvoS'7Q,gB(2Q!0gO.&0gF}BC:;{x#fye~vd=_!+_ݭNN'B7; ;DaR{cE%b j6`&+;~8ZO{pZ3ء#449;9tLy(ܴ;ܜb5B.JVQیƅlCΧW%[;e݉ejE`&b'֌S!$BӛsR>{SR| khq3[Pf$-.)e+ Ա.fK""d_&]#4lSnm5U䀆Y˺1Tvw~i흣׭ݽャ7:>ywƏ v錣nrW4B% b^01#4.i4bt0Ͱ/XZ v>cg%ObW=1:ZVdk#)rJpnjR^TŪṓ$+#4!&}EñD+rz:q6jۻ4:H,̤޹P0>}A_a)[f"))_`@DR̚2?'"'clȼ$h4ե A1%8&TSsJ/nygt8i?"K%WuC[1 ZbfR*jRP9EaօZ`t8MRj;->0/\ Vq,hQ">F!qDxWgn\3 l 5':눇3N#4҈Td-^+ә"{l8JX^=\pzyƳ#4$qջ9c`)˽|toxs]'0H>zEUe [K."²Ӯ8Yx.6!,h!-+p}r["%7kN\{ Vmڦ/McP&%C q--G#) {Bq| KQ``pߎ{ӟOv*I!k|2( 2 "$گvast _a݀Ts[܅ L𨾂=G4a.BoLj_).,'zXowΕ#*bDGwe@,^3dKϚv]ђpZ39p,N0$a]U2"jl=jFe#*Ǐ}.#*<쫙 YL##4^nt&k^H9Jl#*EvZ/GKާQlI'F-[ZV~t9)i*ɪ~ch;|fBEiA#4m0Hy'5(RtsLMIo(^4Rzl b $c9#*8 G #*sYʅvi1Ci:5; E:]wߔ dN$ỳ}A$j}#tD)XneA^u^6 0Nݑ'AD膭_SgE;kTW.i H)(Y^ K##'^1}$O,Wt6J;p?vJ>?؏N#E lD6GMɎj.f5,Q:Jzpt;)5/ ;#4#eHoT#*#ᰈs?7ITf ?nXSYL\JV+W|m.n{ŏd$c_@,VVz,vˇ;ieqVHӣpa_}۟%I%O2yJzD<7`;]:f| ,043F q&@-9Y?)LĶMʇ'y1ݦu{co""f!Q]Qgjlޘ/_vh"gI@_8R#4#4 @p W¼\=41 9pl/v_l1j~3o˦Ě l1BU;l;#*Lp,Qtp#*<4ov^zf;6/CAYHf#*yCYDSW*{MfdשpAΦ*AG?v>g:rpe0h'$j\5{#)P^Ykr/ HއPp^ɠᖗ;#*q6ۄTl?]%&JoKи#4ÔS4+ף 9Nqj͖B4#)#4P.yD~r6S9y{`+b05_)=TFW,i&)#*5'Fnboh#4!&=RU/P%r"cP? ׏$l'S֐ԼtCN'{,v#)#4"&mҾEpn;NIgԫ ~$;[%iJ$UZNÎblp;|\_nK{Wiblwen#)S#5O1#4LlKr79u#*?nH聯ΩsTNWP՜&ufi4ߡ.[qM\ɰ>fPeDaEJ7hs)VH[s }ˌ#*dɉ:~t[8h5Tѡ7#*\NVDB7W1Ulwz5dm`|`bO|z+o{C6s S:XfBPL|zAF07YBd/|^`!n^ ij4Y#4:/$~)^(W#*"c1R7n]sz)O+Aٌ#*q&v.XoC4D[VVRK\*#45ɀMBD/p눚b$OL]-”k6|u/Rgq>wO޴v|&?(N5P|Cn_DZfp3^%sJO09u,k:E|7i-Ү4~`{76۴TV_#4߭ks-ZTz\47y˼~ oJ3 ZRB!D{r|M$ l(N.!6kcn&&Tih-`^AO-0"w.h3#)m#).-awX7ypA!.!YD\#*\?Q[TO)݊B$dmMق'P'g#* sYzg8짲tK:I :Ȥb)/ȺLM*_-? XLF9?d2puodwmLBEU5M9񐇼40iݣ8pFQm#&4vs~YZf \"96aj>&3HnjenC ƾU8haX~ɦ7HX}Vt9{ Cs#)=PX#*#_}7l!IHysd__ sοpPK&1/0lg]AnĖjIEӝNǀ9FÑ5XlF{p e5 ?#*wæz0 Xzo(G2$\_yk] d#)@oN;"P)O\zj>r"]rT q?v` %x?Js0IsN8~rZ: 9EoVz6 &B@WRPi爼R,&4JЏK+p:#4^+E"蟺k_{=`H]bf8JNnOK+_ۙF~:爫YJ:D*%6λ #*WswNU=S1!*\t\-a0-ׇLA\F\SBaRk-P0de՚9m$tV Pu{.#47H2jI%vt6B=ջMXT ;Tmׯ50ϳ3iU92g?f-2jtqg*^|fD>ϏNoZt/(?8{ye%}b+2?"92ȼ`|Ibp% r}[z#*7͍O~}1W~}3н9@@#ނ"SRMh%+ ʫó=9{sP+8}sz2XfA?vjM1|{=<98@zw]zLƖQ "ʳӻg;$Q F1Yl"C#O)2q@]Kir@/l/#);;>#*<=ғ'j\r}k=[OadH;_;p`S@ ,OjɪhB2sFPɽاm5  \quqVjBzFƘ)%rC^q8M)i!5;pp0a׻v蔮HY-/V+fwպ`EscP v EG46ѴOPm\0A+"ЛB9ׯm^42|}=4{HU{ˋ#)K9#4q#4vp9y#),QԞm` ٖ"EZg#y~?Yox[y!Lt?}]ˏwÐv%&{#4?`M[ -P6Ci^+|$kmM)PqEtpGbч1OZ$xIjOjH|T҉=H)?DwOgGm"+7 S^݃ym \Òvz Kv G^&ۥϏһnLZdJr(ffRW]"rG5-3+&F_ [39`u͍ hKmuvAQ` ${6[f!7yiͬ0\+tDV%ВP08P^"=VB4[{׍EGM{$AȉϿ=ة9HJP,s.\ys.X#4'JQWL,L(4):NT^4k0&<ApW{i#y^MfeI#)Vx"Kc2=^y66Ro} {۷t椳+G#44扝aݿOPZs?~8K#GEg߇}n5K85&6 {':#*`IپmO!^"n|´Pj EMrߣhes|ܺtcݰv[Zzձ!(D"0;BVްi%s<jݮ._uTmAEdIX nqqFf %<"juԞs+mqQj*|_ձ A#ؔs -z#42CtÕ"#)HF=Q#)E;󣓳äUU2dIa#) vKo%!gtT5s}Q#4a=`KipY9J;U*UɁK*[&!%H axQ @k@:ʗYgjcn"eA{m<|]AWK1F[,NT})1#4;7A,t?AcNn:Tr aNgо v+Yo)JH%/I#*p&s?4hZbgk;[wK{u>RN\#݌QXچGhwɍcqet'j[Ȯȱ)kQ\?Agt76Thg kQM(r'1O<3w3Wm/}f'62O7'a}:[]YoB.\l?g {E!HM4#G}73Tx}"],DsKk~71qJ֤+rï &=7>x%k4uzQq4]k%gr b[n(P^C1ެCcPLj؅/,6[6^+jNcHzѸz}vWyIg%{?(e3Hw4яMRBޫhKW lh.Qwc>GfHHHl1ø  exMԱYLyN̰bMNlV~^X+#*^2m^Z #3(_g`{L4qRgD;#),z6sD\)eMl)7J4#*ly ;eղHȒ%S/~Ti I`C8LlC_8eK"Po#*PbŅd=dž\j{E>'>یqBNPs0CP4Ƀ""՗`"2L63؎eʇt*AxrmuM/Q!=Y T@/:aѴa+'-πl@(Jz#4m7ͽK<-U|r4X8NzUDZ%)5ME +FLNIqW [/,h<2S]??~z/kij7D ݝ4p~ s: rO(\u3aڭNcL6dOM}N c~#4Ƞǰ|?WB}AP|a>kE!#s"tC|Z^ӵoĜEGo='Gxo1R_k|Bӝ{1lb'/骑\Lg1転c1* %G#}C) S% )=ԷzmEJ.R:u]RYTr.TNӽR2YhZLDvHF)8@#!qdU:vThTZvBBDNjV#4ܖJ8nlWw柏f}KzQ`x9}8=|?Xw#.JcBwCw0n'wX//xӃ]@;b%\+a5V_a#4wmp(q}uti%ikܜ) ܼB#*0Lcl,%Т4,%'qTd/m9_zK;WJ_-o@Wu;Cot"W,XL}GѸqo*+/dΧ?ʗݣûgowvߝܽ9{{pmtulAn쿼;w{^)޲褺sZ#4hF_yRQA1y4{i5B(v=.5 T70J )4i#` פqy*8ш"فN<>jZ.vZ2\^Me̷P=>P@[O9u41"Êv+Ώ<.>RڒGW8ƒ {6|}y* IYva^1#*lȏegy[ЪoArH4OnAr]a(J$LT[i]"I46Pf2"O-[\9>Lc0%l?{Ǜ'_?*EG-ef(aeC ܥ!j[1h%!PaDEM%q PݤBʄ6'T(IF7`&iF*i{EtmJ7Qg%kE @LƅL$dK#_esdON%Nak͋zwW@&4Uz3.݁<XUΤ OvvNO>Є>|赆)2zk仁ʏ尣vg-&iܝN\X:PD.Nt# ))9m9ڥnkF-{DJ8L gQa!/fس'G |GUYBqY $nOfiͰU$xJF7{x m"5ZK)2u`q+p"?}c4/Q4AvuF 9מh4#)Y/,}& Us WR6Ft #Zń zHWtee%Z>hӬ%A. Ⱥ\L9iƃPf-lu~Q>#4Got5`s՘_T#4\ 3>t"A n=cUGg؍_ʂؑ_%(Y⨢KMgܕ#rf7[V]<ÿ ЉœfVB:\TbʸiZu u[#*Y[B?#=ig϶f岽0 #*^ -1#){#)#*v=#!GLd 1p*|Oy+f>Cǥ^3;}*{՗^Nb{uz¯]S}?vr,RGpj~#)%I-=%2HyQgBc2ܺ?.d]ɛ.QPpл.}ZŹ#$&k)H;Z?7]ffj#*7lShיxç]{~e#)YyY=88)e$'I++IVS$a"ކf#)oɢ) 'mPyc#%88,,.]}}?GYƦULQ)N&f.`Z7I~[j> ,_0`7/GDoʃ1")pRUz"TSl?U T_x*l[%'"yCm#)^E \b˪Y|8 Ӆj>w׸dVl'N1!L-נ-#@_6]^DS}*!#)$$3URwY~(>h:~NbȤS,ؕP#){p#4 C ܬ y0i,[Zw,mF2#*~a=h3;ϳ=XrkZbSeVl]UѦ#*q`og8'?#4:<~ŃuC:ZRO;盛pe8Gn^zf )KOAU|6tj·zKU:ƷI1Q6C\-^wIUQ[\R ZI!|9VJ*c3~7{{:kS'B:EiL[Ʊ28rW|s:yzx+QOdҪ\m#* ҰӉ'yߙ=(MXvjJ~\{S5?نt:IUuQ3P}"[QS% (7RDPUBU&T@J/_=7IΰX0Yj3+>z괊;;= sFf~F80S>{uaUe bpoY#4ҲKn^CS}V}~OӯLnݮOv1'O9v%W{ɽJcn)/hCޞtuoՔح7Ui_4[Yu=yq~{=~tOL$;v7wvd󄳡^ߝng6S#45δ[7& "2q{D֑o `.(Ʋ_M"#*]I%~#)@_|T573$AA׮Z2D#FN&= 8dry郲^9#*$IYY{q$'s(>XjcOKSxl1pOK -ZH" r+e[L"=J¿pxiu5#*L?8*`79%[EcNƍfѼFolN3 &Y&`E\ղ4. }qi"am墏'#*:iO3(éR@ŊD'eLcqZ/ Ԫ*{-힉aT}]X5yR_uM;i;"yxԝԝ*w.D45M:^p6DyuZRD|A`c꿹Z#)È;Mp!f\#4uZ/#4F71痁ŋxDi|^b6Ȳ6#4drρNW@N9'>tfKxfYSqqrPayd^iQ~(#4Y@rfRӒHOY.gO΀w<껚Z&?9QsyXUmуs#4ĕ)PZRq}2͚CxmMuڍ SMY9zso*Zz1F:Ci.7Aq]4/Mf_BިWa*+ ?!3:OeSO91IXunDM[+춚pR6b ॠ;/oTX/1`X6k3VKߖ:dr9]!caYK)#YUT  H#*qb;Ѭa`1TOVH&ˆ6+ n%'i`сܛ^#)_(&(pݭ\1=@?;I!BԢzխ9EˣH?%~#4$K˜Kg~nq=f(LZX#*`314cELp:hU<Z#{lCYi fy(8:mi:x/_tk]{Ck֒y#*abc)(:UT](.S:oy{j2u:A#4HPW ddy A9:O3u["phioEe+B#22 "vn]CzIARbH2 rd2_3=ywkg=#)$kȝm?Sʑ3B..%A#)F:^Ϟ{S{Za.D)k;ؕkװ-+q ?l=huJ86BZkua&Idtv!;?;gx"#*=D¥SjE1[$HcXـ6JZ#ܑh8,S,XY+-_k\yjkuT%¼PW%U@$a~/]iQ"Rd{L]_ɋR-˞-`K9/Gx-¦CPh4<'d)kڞvƏ΍6')31K#*#)ʩsr83Ԣ:.!ĤՅ )nF"qW#4-\Ƈ%tV)R/#*d1*-f#4P_Z4<7ٌZR7jZ#4\ҏ1c+TX'%#4ۚvzZAG=$P5cA5oRrc@uH*9ebEJq{BcrLNni}CO὞:NBr9ȋnes.!uyB5[)R}mCi5$4|,>xwBʓD<}s?=rI{4Mq7A\L;ΆV FG#* ?Q5iD>O/ҠcqjYhc T;P5RhNLΊ$kri"xvqSCg"Cr8e&-tA #E3hx3'?xEwn1Hp:IQwLwn;'~:hA%#΅H|%1u1i)O`[9gXBj*]el|4ެW:qW  #**ɺ}?yPdO4vuR㖍[+;adڃ&&wި:PTG(5, *NJiq&J=\^d`42 B};~MC{ĭ8lx 0*:\A'<51!έ.2c'h~Y>ʭ?#4^7嵺-v8E]xmludBƂYxa(a z6{tR{#S]/w>o2iEՍ#*$j=/xׯ1AQU= \|Y#*b) #)hL,J߉fMrjT| lSF&dZ#*cKOp"YhTPn5n/~dXǢ?(%G#^{xf@%$M_A_ 3|GG5Rli~⹱?Or"#*iDkaC^@pS]@ό-{ȁeobH#)+j6Ut=d'>9::$x/}đ[\,@Tszgkğ%!D%!)-iJ9&OzTYnsTۊux6䕌'A8dga7i7Z YrGD񫀷HF~ɚ I#:EbJd`jţ%y@u'k:GV?߹0 I{%`kp1u*я~# vJ6] ǫoMX, _N9Tf6)e@Gy<#*#H)a~k)%D>*$@zm5jW$'#)ưm1wΎ-0$#*ؔf[S-l 9B -[$SBr=,u4l[@n^4^&k91SkMu:ǓzZnԷ !nGDcN{j[ RiYCU?We9IQr(֜.0S.7¨64~So>d!Uk}ĺ9gf#JGTsΝʾ&[BTwuhd#4x957"nogoq&ot}YfQ bIAfԘf7!>G0zef+ !՗BԭLa i&אGΤ? ׇqW帻w <83'|2YNvVqtY:Ӆi4c u 'tU0Zqr~ӊۯv.v{VsHu0s9[@z'_#4"8BˬU=d[ s:"r_ayN<rc?w_n; 5׍v#*ct(W.7I 7 w#*_Bh>wFÌUpcA!m pqJQ1 `:ܤHW'*٘cJ-XFh6|5$ȫ\)W)SLc6J>oaDꙮq7vxo eI=TsvF+;\G#5sy#"Qjbh9 evz;ޒ[{]X+wT$icUtIYY%2SaĉqTXBuFo̩dN`p)EĀ}@eu^ d++)Q#DPh7AM"1'@E;vs%kuJ@(#)7,H#4ֲ&&(yzy])*ذR=rJ\sVݢEi;P)a#*٫tXNP/BhĴ,ĴA'ȧx<,Fm.$xr\/koDJ]8 ՏU|#*G=Rtk׽9x$5~S[3ڝ\ȬY5zN6v/#ԡ%yw3Qtol5EP'|v{67?K/]c{2`˞F zlʭ5A2 c fVA5fM;{*MkQI#4*MjS_#)l:J Lr|];@Y9E²l,4A g HuFp ~z8=Eg*Ge(ًfS)[F"ы[Yӥ*垔h;2-H.OǔR_}H'qth'=v3j Y=B; ; *NoiǏ7ap灬@"m#)AߝVsrZC#):!@|q ۔DoB||`ʁe wQbYxm uK Cb*3N_8FFxI8?Oի9V]wgVc~$+a?(jFT$j\db?:jb'!l0#4ѓek+mܟ;66T2Ii}#4a|9; $׎#LtOxw8RRW^)@ڽ4~"ueQjל\o5j؞G5Vך3ǙLѿiEZa/d"\fI8M$mN$W<`j2Tj`!MaM6U[Z#*UX#L#*ĀX7NbI#9݊%Z+O#N~fD۷׮FЈF+@Bm|34uJϸV#*uC:I Q\57ۚ=(j\e CW$ʌANY=ފ6+~e(s6}a۝'V_*\ޤs;%<ӻ)rZrpoD W\ҽG@&:ё-A8n ~>I:)2v @g9q8~[{;0Dfm5v%l[qsz'W^|bLZ ʾL/䶺r\-i?rvy\D;!Q ^CZ塭 PuE[%0 9epAEhs7x$W6#*jaR3P|&Y %?zVcG^F󛮅`kyAE#4{s)J1ȱ"ny#*imǖbх8cw6>a$\e,dNW}>4s[H)/;1/⼼}C2cˍbs^nZFw0]t~&Nޝ頩TH;U)RSd>XJ{D!#*!wܶE~zPxW;b#)&t(^ LrVY6ׇ<7);iO*$P%w94LJ)gԉfiB*ki]GՕPZbk>u_{ݪ!w}ޅu. Csϻ9sFO62?O7<+|RQk>~$ xwNwm8_s>%CuDsӑ-ޅTONjgM/`}Vu#)\yG #)ڭv1cёjgnSŇnL@z;MYW3o|O>[BLŇ⡫o1D' ,#*Ux@v8\tM'ąvL\xmgL}`wjD=:fE/Cdz>$$_qb#*9:rA}Zɺ5-y#*On`1tn\kr4fL=)B{VA[ƛ~ 48oo+PDۨ"5] F7d@ kl^&dG?ޣú?<:I3S#)?<8<ӻ;wZ2q2»?UmZjzfFok~g\GSw)b }-";8tM?:3dHlLS%C&&GPʱ#)gmm|c@*~Y.(paayoq#*zdҰ(=8GsOnP. `a;A8^ byc#,`tUYcp9 `!M]RB:"r삠%ST^39k1'YĶBbK"i޶՘80!bIGuJo1ihH>:?O|1b0#)M_/'|z$/!,es_̽l4Wi)^Bq#*:rnu2ve!/_ BeOBkFO)BMRB:n(CM2b$rc:y%ݒ/#4ZsZ4΍v90ŭi ,M?l|#rח#*\jƃ +>r q {#>/}_Ay+3A,/VxP偕1'WA?Agz #*eG3FG |<.'x!C1%*c8&֎nPC*jAw`aW)kG贈4\r0LΤFS޶kρ=!8Y.~s3МS̹ۡ*n$QxdI Kj_썻7C,|D[?S{l5ǓZ?W+C5|?w/=쟞mqGT/01#*r&(A!̭3H-ou{b8(Ƞd!ƿl6W?OʐNݘd"#*|Lqr0XtOЉdKZ+4ҺF/UUwEZ@ҵ ZLBmYj|t|_ʵ?]G|ãNꢣ`2Kf!=iԃ-w#)(NǼsB#4tlmFp#)6>cDũ%HΦ=ґIDfjܚOb;&(fqtXBR5[ت 4}nԙd:AvAk4L3opI@&<~C܊FВK7ZYvE2oojx4iZTENJO1rQllNjd"@FNn_,R-<,b"#*aG?٨ j#*<iu'Z79U?Ut w1JI/x)}Ş?ȫ`h4EV]$ggJ G\!Nfx/dddM 9|b]FVT !t.!`2۔Uځ?-k=\Cxms ݵCetL[Ɂ.0rmEЮp4:RBDtuR@ce,*9;#^5*yHcYv d/P/9r S@9NR [.|#*d !9QRHD@#)q.Hd#)Eys_*7B*KZPr<:7F%_349'*Rz?q^옣T7Jw8N =D}P\V,3@M_:fy1vae_U}bt ']aԸD:q,Rn*8T{ lYDbKɑĿNi#4v) ';>?yT4K|k#1K#*iUfj)W0^-X<TD3@0KY?:=&MiC3ڶwk#IKUh#vۉt+*”zdj!D0!ӄщ#)6)g/#*NNS|VkrO%/ߤ=7|m0 `ZOWtu(sDAUm8A༆!X/z}%8h7wY%FY0i0ZP5 -A>.YҗJM@64d h|rd_,#*u|V.;j_LUR΂rLNk>9z{|F?\ I!sB*d:eZH#47;nLg.| Nz".+#)s*s6#)%"Bm' BMT$|!s(,ԎAp| [Yl}x Yv{OX \!/L[?AQ{F6YC#*qx:7gp\K4~9v#)$I[f[S[ sŢ+SX#*]_x6'I=?72pF3hB]9NAdfAӅXCh-KV-sukHE(YӞM+V.AȭCiW.ۖsd^qd(y@nIĨ Ρ~ ř([KҿFߚŹ/b"|,Tj^sMn_EjV\& s)]zL3܉į9XI6loΰh,)AJejs%9х~:~#)P ޜDꋵ bAG5:m1ƄLvh9:.FêIjzIQt+$<4#I*L;#)q~5?<~wvo]ھ<=c*SRMLmMS/j#*1l6BdhT`u#n;۹DG/*oS&ZoTnj:V1}L4CƍoJP vb {5l:AS]HD' CHW&ANqRRq猿5T=>u#)E ?4R7lGw8M#)ʢ%}0LUG9Ki2uf\FHۊN)k L#J#4e#31#$SMVAE5%^α1xk$M֞hőT0.Ur-ubq#*ze7ݴ+ڒ<,n@Ө#*`a%bffJsT{WxzNqh;=AQ]6#xyGzjj+&\+HK Sf;J̈Wgɒ8Oz׿9Շ&z#)=(')xx qEdq OIl9WDv|44{#*yq5=C!fws,( 72["f Vʛ =Q+UJcHesv{F&qZa\ܤɭ{̑c,xShEeR]⺊΢TSocPf}vVWY/.?l\<,υ.$w }|'|̈́J#ɼ;-'k(\2ÌZxoI'$ŴnĽ~?fw|sj6#4=.O"#NGi_ouJU`[_<|\|(qOxf.v3.^/&2Q#4MɅ-#` eFNU͉DI\!'߹e[7NnDGIL&kѵvŠb#=@/XxF‹AnyC0y3p^ss^W[&#y&RQ8)܌TbjUA VP*&mˏTgMtn:iE2/ywUwOv s?#47TƋ27aN񐟿Z>Wq͝"3jٱGN;O'nG psH} l"7Qͺ#*Z͛z}'$Zt#*WVp }sj*r@9)fIHB+ck1#)S6zMt+2 ̕HߥZQ)+.9yt_#4SۉwM~a^wၺnr_ݎ4VrqC| ɘU(^E9{T0,_Z}}\j(o$&"<`)N6CAC8ĺGz7#)~g HT.螃Y =;{&?g8{+=tMugzD<ƶ~[1xWں"r7#P#9LXN!ZMퟡ7lm圀~όk]zpq__c'#)-AwCkwaHZbI,k1u Ia=))+1u'fޕJ{\=9|+G&~B*mQ893R3Uۅ,Βhke)L#*@: zSW̕PN",.?`BoH^y0 xe7Fi|۝c-ܞ'^^YQA퀋}$R5dj740_\ "i˚Ywfc6s$19Q$BSZ8)B|MZ(k2K񁶐u50О7iq`yV,p΋7b}O#ls΃o.\EA"P*ɰ"[;LG0I;P˱X)s3vd tA}R?9JgHؚĨ[f-#) 菰ֳO_FD=̷w.(cTM/jo=M']9 NzN`hڴvV,L*yRb4oy/3'dr^ԹDR_;tJɢ$?{`#he#4`#*I7e7qOAsHu9VM5>gD?M4` ڶ;w#hӁl^JZU"8۫.HخvN*=5#)ȿhN\dTFeQ m6+bZݱuMCNOvP"5tun?hgd*V_tbnA+!! {*WƜj+[9f+rvov۹I{<#))$`x\Tynn":ztyK(^*&,6^l`aM㵵ʋW|e܇=?~l଴r")뽣TJj# :wGbT^{䗂pw6^/4`$M:L2[ w{|00{6r?߽_8:#G l~a<4dxӑ=A;<:F8.u4оj϶a;;W`i] WvIu!jyk5U۔'][-a0Zc7lL 󊳤TjBqVNJ+NԛnasBUoZb7u`d^K_;h9^%uytAz|9c~X=_?]|W޾+CJt[wQt7w?Dw[w΃_?"$oG_.!+u?$L&cM+N&"6y9^Ny0GpDtד+3)bhⱸ݊`EH(x;=~+Iޙ|T"7G@󍏧fMTIpYּe^>mo#DЧ9_4?6)VPKjW6#*;3ڤ%Ս;_6H`TY:pk[MV#)mcp`6YGÚ#*Nr阘e#8FZ{>4.qI'0xVܨ3 ~lrsSgNʁ,79ܩlv~eü `卐 X3@M궹Z=xI<9[MT̴1i,I #$ȲׂYEEQ,~N<.IG1͕IDb&1W~%"D#4,w¬96H<윀&DhK&#aAvi^bAb#%\RYぃ˓PzrYg; aRbwJ[GzjFx&T*Z .O(zYCk#:Ι#*6z#4buhx\ EtY.Y b1Rj͜6&=V#4@E0a=6u|o 'v a.>Y@K#4#)Q#4Jзof^;#)(I) \/3 Pj&f2KDz&]0#*+.ﺬea0,jbsgj6G7.V*ICmnM1 ?g@k3z:Kva'o2aFiXĹZ-8`#)g떭x<'sGE1wbKjd=$j6m;u],邮Cב,Ep-68`J%&(v4m/ l+ݞT \$#)2E󟬛S{3\sRu=l60h^W ñZ7I30^a?n _劔!հsW%6Ή`g&i=eش7'Vܐa'{-HvQ`{7^ʼn*+c6pB\eb[#)%k3)x`s2$qՖQX]W;|Q m#0'UgݖhhPz]]hP)ª~#ZgD aX#4(T,)-=1«Qݯ1v۠*1A"j^.B0a. BERobip4gu M㛴ԸWC^խ'2RB#b'F%EH<qJDVbp{LOS>8*G ֩'oiPi%D׷vPxH>8#)՜é$Z6IxeV-7+D䈴[:t(ƩfGZ#4 G,8z#4] O=Vs$^1Tm;B ^ۑf:NQ?b;sb55k*ה⚧Q|G.n%qLjQo|*b@ݍ|{wMeD`E;9pBS{i jcY†qnU*$9<_?#)v/<⫊?U9/<1\4 Jv`<(M ,l¸7#*Zs֘>|JaVbqcx'gҞezt}GNՔjJg*+Z[:=)㳧R4Dru]s6prhpi#*k)-OKx6POV/c'0ýռiգY޸M3^ J|GZc2 fqUCZxi5׺l~#;H7#j]:zR]Umڦ@@i=琺'uxbK c1|&7J8[R_*-⇳o_g޾yrrPkԏ`[[f!jVdܰEbKnY<IgW3eV1H՗l+XNJnP#)(ZQ7w:O&y߄?w:9z@挽{65gfh?>%!!*A:upp*_e(a3bDRa𚂣G(#*_3KCG`aXk}4#*n~#)GŅ&9e\9HQ7{|["L%WP$opm /Q!`iXQ,"荄KnW 2R\ 2#*UJyQO^25T,jjvx$_x#5wq&C?35mq벪?>񅠟z{.I&xa20׼PjȸJyzy|W#*y }cO'+[@I`N~[!U& aA#)N/o[{@'8G6-qIoftX^NI"y}$]=xԃ$ ~/e#4(U7&fpLOϩ{<k 0-E#*িΣ<ǹ%ꯖ!$tMhh7gjY̋jrZ R&үl֌P0FwPV9S$F[#4J6"42F)l>[,@n`TM<ΰlIԹm^xQ>tXl:&4,g sN7|nee$ oΈH#*HKclccj[i^e`DA7+o5ڎ5ҕ!8aGV2U!U+R\#4H>f|9P-x^3{h gڕ/r$4m!K>᲌EY#*P#*ʀ}O{0ef>qF_W#8MYgt-buew=kO. st0Y[tX&K#}8+N[!id=4l#42c4TP3X rbIĹ#c`1J{eY;P]Gio޲R |NnNaГByq3YL(v:5 M5!GUR<Ă V 9s-/hl]˩;A𥉉k` r,.o]݃?~v=rr.bnZ&WaY>"$HhOTbi 4#)mX2h"B6AK=Fv.+;J:^7tAhH!EQm&sF MBd=6[E!+f-ww'^ d_JjL6M*>qkVb+RCeF2sx''G9λҲ$ⲲugpqV 3vx?ߍww㯿(<9>9=Qm}Vz#)N>2jw,z H/6PGGY--? c&2co-^ h񋳔sPx #4xj&hmYEڼcK̾}#*}#)|bwiO3~W 9&%\1Cϲ4<7=de#4a5ŀ pI#4U!߸'DB$! yo~8{#A !ܐ#4_1i1Ȧ_WpH}#4#Ez5v!+|7[Y\q9t@~{~1~DAxfx=|X=4?>/>3a㓯OW%80 ?L˓/'_U/0#4Mv%uZ]A1!)~$/j:͋?YYD>aJNf8_be7\}*u^vQ7?#)wdbǏ@B,ul̻d3G)MT1f|̛t7[A b wՐ.8!o36Á%,(,< |a^y0#*HGPoaAs]q>(IE&ey(4pJE:=&B핣#)h=^0h74d3 CT'#)%}B#)wu2\"Q%3#){nӵ"xc7 .`94PD~DS.$ȋ>g|ݬn&h#)jmt=&I^imTLQ2]F%XM& E -seׂZ:QR"I!RNUy ~H^rf_X!30?ֈE:HP"jNµ&jbŇ#*Yf 7lWWRetͮ ~1m=qm-#)[<ڕ!g#)%LAua;,VEҒx\CnWCj@5PszU PԔ@1:H~>dQ}W4U*E?d`.!#*|C7UnMyI #41|HPFX~ɋZlbAg#4IS(}*@~MZ(#4ʃRݚrr%oۂŠ _uż),XxXW]4Ma^{æɮ̰]!#4B@7黅Vr@b&?MѺ_D4v#*P*!̈pY!\nC^RpK񬈩lو#)T=iMԮ1:67YR6CSMW$#;{o#"Z* E&*:~M@cR] 2v .M%`gZSP)½7%!J~m*]s9r?^CY8 'IH;ˡI"#* @&g6i,؛d1_lDkD௣?,#)` \#4$%9ؔKq/"qe~-D'Ӈ^4zjoTuMPlBY~A#tx$mT5\XDSkS]0)|O^ZRg# fi#"|22b2^|Ug[ *4](BcqǣTASTxcUjz$~cҋYm)aɯ B$=I|)Ou<΁X6#)Z, U늏֗~tX Q~'j`ft纟7W՚#*RM<,WF >q #)ݸ0~$CRH>f)h>pG< X`ZX#*dvgY6bmwdǺ6fT* xW&U5 ·|ll6]"zJy$'S% TyLa%/x` icJeP'`F6h 8# Ö˸;/#4Ύ$h#** uW. SaNy[,{Ҁ=))љڷ>ZV\ 34Ji#4~ڸ9$*dgGm;M~]͖9jANJ$v2`kONgZIzICZZ±2k#)ܯS2NNЭKIә*#stnUaHY崏BXO7p{]z1f)]1#)#*c4"9'[$g1|5s#.~Tƽc(k2w_l@^Hœ,0S+)k!`p(/c]~~ϐM{,-l@ĚL0K0<}㳐Asx9<sx9<sx9<sx9<O~._k#)#) -#<== diff --git a/poky/meta/recipes-graphics/harfbuzz/harfbuzz_2.5.3.bb b/poky/meta/recipes-graphics/harfbuzz/harfbuzz_2.5.3.bb deleted file mode 100644 index a90ff5225..000000000 --- a/poky/meta/recipes-graphics/harfbuzz/harfbuzz_2.5.3.bb +++ /dev/null @@ -1,39 +0,0 @@ -SUMMARY = "Text shaping library" -DESCRIPTION = "HarfBuzz is an OpenType text shaping engine." -HOMEPAGE = "http://www.freedesktop.org/wiki/Software/HarfBuzz" -BUGTRACKER = "https://bugs.freedesktop.org/enter_bug.cgi?product=HarfBuzz" -SECTION = "libs" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://COPYING;md5=e11f5c3149cdec4bb309babb020b32b9 \ - file://src/hb-ucd.cc;md5=343f1797944de49ab2b5f5cf3126d3f2" - -DEPENDS = "glib-2.0 cairo fontconfig freetype" - -SRC_URI = "http://www.freedesktop.org/software/harfbuzz/release/${BP}.tar.xz" -SRC_URI[md5sum] = "29a310e74a90b4e4f6d62f3e74a571e5" -SRC_URI[sha256sum] = "fed00dc797b7ba3ca943225f0a854baaed4c1640fff8a31d455cd3b5caec855c" - -inherit autotools pkgconfig lib_package gtk-doc - -PACKAGECONFIG ??= "icu" -PACKAGECONFIG[icu] = "--with-icu,--without-icu,icu" - -EXTRA_OECONF = " \ - --with-cairo \ - --with-fontconfig \ - --with-freetype \ - --with-glib \ - --without-graphite2 \ -" - -PACKAGES =+ "${PN}-icu ${PN}-icu-dev" - -LEAD_SONAME = "libharfbuzz.so" - -FILES_${PN}-icu = "${libdir}/libharfbuzz-icu.so.*" -FILES_${PN}-icu-dev = "${libdir}/libharfbuzz-icu.la \ - ${libdir}/libharfbuzz-icu.so \ - ${libdir}/pkgconfig/harfbuzz-icu.pc \ -" - -BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-graphics/harfbuzz/harfbuzz_2.6.1.bb b/poky/meta/recipes-graphics/harfbuzz/harfbuzz_2.6.1.bb new file mode 100644 index 000000000..b0f565b9b --- /dev/null +++ b/poky/meta/recipes-graphics/harfbuzz/harfbuzz_2.6.1.bb @@ -0,0 +1,39 @@ +SUMMARY = "Text shaping library" +DESCRIPTION = "HarfBuzz is an OpenType text shaping engine." +HOMEPAGE = "http://www.freedesktop.org/wiki/Software/HarfBuzz" +BUGTRACKER = "https://bugs.freedesktop.org/enter_bug.cgi?product=HarfBuzz" +SECTION = "libs" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=e11f5c3149cdec4bb309babb020b32b9 \ + file://src/hb-ucd.cc;beginline=1;endline=15;md5=29d4dcb6410429195df67efe3382d8bc" + +DEPENDS = "glib-2.0 cairo fontconfig freetype" + +SRC_URI = "http://www.freedesktop.org/software/harfbuzz/release/${BP}.tar.xz" +SRC_URI[md5sum] = "89b758a2eb14d56a94406cf914b62388" +SRC_URI[sha256sum] = "c651fb3faaa338aeb280726837c2384064cdc17ef40539228d88a1260960844f" + +inherit autotools pkgconfig lib_package gtk-doc + +PACKAGECONFIG ??= "icu" +PACKAGECONFIG[icu] = "--with-icu,--without-icu,icu" +PACKAGECONFIG[graphite] = "--with-graphite2,--without-graphite2,graphite2" + +EXTRA_OECONF = " \ + --with-cairo \ + --with-fontconfig \ + --with-freetype \ + --with-glib \ +" + +PACKAGES =+ "${PN}-icu ${PN}-icu-dev" + +LEAD_SONAME = "libharfbuzz.so" + +FILES_${PN}-icu = "${libdir}/libharfbuzz-icu.so.*" +FILES_${PN}-icu-dev = "${libdir}/libharfbuzz-icu.la \ + ${libdir}/libharfbuzz-icu.so \ + ${libdir}/pkgconfig/harfbuzz-icu.pc \ +" + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-graphics/images/core-image-clutter.bb b/poky/meta/recipes-graphics/images/core-image-clutter.bb index b0f25cf1b..a59446102 100644 --- a/poky/meta/recipes-graphics/images/core-image-clutter.bb +++ b/poky/meta/recipes-graphics/images/core-image-clutter.bb @@ -11,3 +11,5 @@ IMAGE_INSTALL = "\ " inherit core-image + +QB_MEM = '${@bb.utils.contains("DISTRO_FEATURES", "opengl", "-m 512", "-m 256", d)}' diff --git a/poky/meta/recipes-graphics/images/core-image-x11.bb b/poky/meta/recipes-graphics/images/core-image-x11.bb index 8455bb8ca..cd5374949 100644 --- a/poky/meta/recipes-graphics/images/core-image-x11.bb +++ b/poky/meta/recipes-graphics/images/core-image-x11.bb @@ -7,3 +7,5 @@ LICENSE = "MIT" inherit core-image distro_features_check REQUIRED_DISTRO_FEATURES = "x11" + +QB_MEM = '${@bb.utils.contains("DISTRO_FEATURES", "opengl", "-m 512", "-m 256", d)}' diff --git a/poky/meta/recipes-graphics/jpeg/libjpeg-turbo_2.0.2.bb b/poky/meta/recipes-graphics/jpeg/libjpeg-turbo_2.0.2.bb deleted file mode 100644 index e1df754b7..000000000 --- a/poky/meta/recipes-graphics/jpeg/libjpeg-turbo_2.0.2.bb +++ /dev/null @@ -1,57 +0,0 @@ -SUMMARY = "Hardware accelerated JPEG compression/decompression library" -DESCRIPTION = "libjpeg-turbo is a derivative of libjpeg that uses SIMD instructions (MMX, SSE2, NEON) to accelerate baseline JPEG compression and decompression" -HOMEPAGE = "http://libjpeg-turbo.org/" - -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://cdjpeg.h;endline=13;md5=8184bcc7c4ac7b9edc6a7bc00f231d0b \ - file://jpeglib.h;endline=16;md5=7ea97dc83b0f59052ee837e61ef0e08f \ - file://djpeg.c;endline=11;md5=c59e19811c006cb38f82d6477134d314 \ -" -DEPENDS_append_x86-64_class-target = " nasm-native" -DEPENDS_append_x86_class-target = " nasm-native" - -SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}-${PV}.tar.gz \ - file://0001-libjpeg-turbo-fix-package_qa-error.patch \ - " - -SRC_URI[md5sum] = "79f76fbfb0c6109631332762d10e16d2" -SRC_URI[sha256sum] = "acb8599fe5399af114287ee5907aea4456f8f2c1cc96d26c28aebfdf5ee82fed" -UPSTREAM_CHECK_URI = "http://sourceforge.net/projects/libjpeg-turbo/files/" -UPSTREAM_CHECK_REGEX = "/libjpeg-turbo/files/(?P(\d+[\.\-_]*)+)/" - -PE= "1" - -# Drop-in replacement for jpeg -PROVIDES = "jpeg" -RPROVIDES_${PN} += "jpeg" -RREPLACES_${PN} += "jpeg" -RCONFLICTS_${PN} += "jpeg" - -inherit cmake pkgconfig - -# Add nasm-native dependency consistently for all build arches is hard -EXTRA_OECMAKE_append_class-native = " -DWITH_SIMD=False" -EXTRA_OECMAKE_append_class-nativesdk = " -DWITH_SIMD=False" - -# Work around missing x32 ABI support -EXTRA_OECMAKE_append_class-target = " ${@bb.utils.contains("TUNE_FEATURES", "mx32", "-DWITH_SIMD=False", "", d)}" - -# Work around missing non-floating point ABI support in MIPS -EXTRA_OECMAKE_append_class-target = " ${@bb.utils.contains("MIPSPKGSFX_FPU", "-nf", "-DWITH_SIMD=False", "", d)}" - -# Provide a workaround if Altivec unit is not present in PPC -EXTRA_OECMAKE_append_class-target_powerpc = " ${@bb.utils.contains("TUNE_FEATURES", "altivec", "", "-DWITH_SIMD=False", d)}" -EXTRA_OECMAKE_append_class-target_powerpc64 = " ${@bb.utils.contains("TUNE_FEATURES", "altivec", "", "-DWITH_SIMD=False", d)}" - -DEBUG_OPTIMIZATION_append_armv4 = " ${@bb.utils.contains('TUNE_CCARGS', '-mthumb', '-fomit-frame-pointer', '', d)}" -DEBUG_OPTIMIZATION_append_armv5 = " ${@bb.utils.contains('TUNE_CCARGS', '-mthumb', '-fomit-frame-pointer', '', d)}" - -PACKAGES =+ "jpeg-tools libturbojpeg" - -DESCRIPTION_jpeg-tools = "The jpeg-tools package includes client programs to access libjpeg functionality. These tools allow for the compression, decompression, transformation and display of JPEG files and benchmarking of the libjpeg library." -FILES_jpeg-tools = "${bindir}/*" - -DESCRIPTION_libturbojpeg = "A SIMD-accelerated JPEG codec which provides only TurboJPEG APIs" -FILES_libturbojpeg = "${libdir}/libturbojpeg.so.*" - -BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-graphics/jpeg/libjpeg-turbo_2.0.3.bb b/poky/meta/recipes-graphics/jpeg/libjpeg-turbo_2.0.3.bb new file mode 100644 index 000000000..1cf854de6 --- /dev/null +++ b/poky/meta/recipes-graphics/jpeg/libjpeg-turbo_2.0.3.bb @@ -0,0 +1,57 @@ +SUMMARY = "Hardware accelerated JPEG compression/decompression library" +DESCRIPTION = "libjpeg-turbo is a derivative of libjpeg that uses SIMD instructions (MMX, SSE2, NEON) to accelerate baseline JPEG compression and decompression" +HOMEPAGE = "http://libjpeg-turbo.org/" + +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://cdjpeg.h;endline=13;md5=8184bcc7c4ac7b9edc6a7bc00f231d0b \ + file://jpeglib.h;endline=16;md5=7ea97dc83b0f59052ee837e61ef0e08f \ + file://djpeg.c;endline=11;md5=c59e19811c006cb38f82d6477134d314 \ +" +DEPENDS_append_x86-64_class-target = " nasm-native" +DEPENDS_append_x86_class-target = " nasm-native" + +SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}-${PV}.tar.gz \ + file://0001-libjpeg-turbo-fix-package_qa-error.patch \ + " + +SRC_URI[md5sum] = "bd07fddf26f9def7bab02739eb655116" +SRC_URI[sha256sum] = "4246de500544d4ee408ee57048aa4aadc6f165fc17f141da87669f20ed3241b7" +UPSTREAM_CHECK_URI = "http://sourceforge.net/projects/libjpeg-turbo/files/" +UPSTREAM_CHECK_REGEX = "/libjpeg-turbo/files/(?P(\d+[\.\-_]*)+)/" + +PE= "1" + +# Drop-in replacement for jpeg +PROVIDES = "jpeg" +RPROVIDES_${PN} += "jpeg" +RREPLACES_${PN} += "jpeg" +RCONFLICTS_${PN} += "jpeg" + +inherit cmake pkgconfig + +# Add nasm-native dependency consistently for all build arches is hard +EXTRA_OECMAKE_append_class-native = " -DWITH_SIMD=False" +EXTRA_OECMAKE_append_class-nativesdk = " -DWITH_SIMD=False" + +# Work around missing x32 ABI support +EXTRA_OECMAKE_append_class-target = " ${@bb.utils.contains("TUNE_FEATURES", "mx32", "-DWITH_SIMD=False", "", d)}" + +# Work around missing non-floating point ABI support in MIPS +EXTRA_OECMAKE_append_class-target = " ${@bb.utils.contains("MIPSPKGSFX_FPU", "-nf", "-DWITH_SIMD=False", "", d)}" + +# Provide a workaround if Altivec unit is not present in PPC +EXTRA_OECMAKE_append_class-target_powerpc = " ${@bb.utils.contains("TUNE_FEATURES", "altivec", "", "-DWITH_SIMD=False", d)}" +EXTRA_OECMAKE_append_class-target_powerpc64 = " ${@bb.utils.contains("TUNE_FEATURES", "altivec", "", "-DWITH_SIMD=False", d)}" + +DEBUG_OPTIMIZATION_append_armv4 = " ${@bb.utils.contains('TUNE_CCARGS', '-mthumb', '-fomit-frame-pointer', '', d)}" +DEBUG_OPTIMIZATION_append_armv5 = " ${@bb.utils.contains('TUNE_CCARGS', '-mthumb', '-fomit-frame-pointer', '', d)}" + +PACKAGES =+ "jpeg-tools libturbojpeg" + +DESCRIPTION_jpeg-tools = "The jpeg-tools package includes client programs to access libjpeg functionality. These tools allow for the compression, decompression, transformation and display of JPEG files and benchmarking of the libjpeg library." +FILES_jpeg-tools = "${bindir}/*" + +DESCRIPTION_libturbojpeg = "A SIMD-accelerated JPEG codec which provides only TurboJPEG APIs" +FILES_libturbojpeg = "${libdir}/libturbojpeg.so.*" + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-graphics/libepoxy/libepoxy_1.5.3.bb b/poky/meta/recipes-graphics/libepoxy/libepoxy_1.5.3.bb index dd706a960..c8d1650c6 100644 --- a/poky/meta/recipes-graphics/libepoxy/libepoxy_1.5.3.bb +++ b/poky/meta/recipes-graphics/libepoxy/libepoxy_1.5.3.bb @@ -23,8 +23,8 @@ PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)} egl" EXTRA_OEMESON += "-Dtests=false" -PACKAGECONFIG_class-native = "egl" -PACKAGECONFIG_class-nativesdk = "egl" +PACKAGECONFIG_class-native = "egl x11" +PACKAGECONFIG_class-nativesdk = "egl x11" BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-graphics/mesa/mesa.inc b/poky/meta/recipes-graphics/mesa/mesa.inc index fcd19884f..f916e553c 100644 --- a/poky/meta/recipes-graphics/mesa/mesa.inc +++ b/poky/meta/recipes-graphics/mesa/mesa.inc @@ -98,6 +98,9 @@ PACKAGECONFIG[vc4] = "" PACKAGECONFIG[v3d] = "" GALLIUMDRIVERS = "swrast" +# gallium swrast was found to crash Xorg on startup in x32 qemu +GALLIUMDRIVERS_x86-x32 = "" + GALLIUMDRIVERS_append ="${@bb.utils.contains('PACKAGECONFIG', 'etnaviv', ',etnaviv', '', d)}" GALLIUMDRIVERS_append ="${@bb.utils.contains('PACKAGECONFIG', 'kmsro', ',kmsro', '', d)}" GALLIUMDRIVERS_append ="${@bb.utils.contains('PACKAGECONFIG', 'vc4', ',vc4', '', d)}" @@ -122,6 +125,9 @@ PACKAGECONFIG[xa] = "-Dgallium-xa=true, -Dgallium-xa=false" PACKAGECONFIG[lima] = "" GALLIUMDRIVERS_append ="${@bb.utils.contains('PACKAGECONFIG', 'lima', ',lima', '', d)}" +PACKAGECONFIG[panfrost] = "" +GALLIUMDRIVERS_append ="${@bb.utils.contains('PACKAGECONFIG', 'panfrost', ',panfrost', '', d)}" + OSMESA = "${@bb.utils.contains('PACKAGECONFIG', 'gallium', 'gallium', 'classic', d)}" PACKAGECONFIG[osmesa] = "-Dosmesa=${OSMESA},-Dosmesa=none" diff --git a/poky/meta/recipes-graphics/pango/pango_1.44.5.bb b/poky/meta/recipes-graphics/pango/pango_1.44.5.bb deleted file mode 100644 index a143723c7..000000000 --- a/poky/meta/recipes-graphics/pango/pango_1.44.5.bb +++ /dev/null @@ -1,45 +0,0 @@ -SUMMARY = "Framework for layout and rendering of internationalized text" -DESCRIPTION = "Pango is a library for laying out and rendering of text, \ -with an emphasis on internationalization. Pango can be used anywhere \ -that text layout is needed, though most of the work on Pango so far has \ -been done in the context of the GTK+ widget toolkit. Pango forms the \ -core of text and font handling for GTK+-2.x." -HOMEPAGE = "http://www.pango.org/" -BUGTRACKER = "http://bugzilla.gnome.org" -SECTION = "libs" -LICENSE = "LGPLv2.0+" - -LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7" - -GNOMEBASEBUILDCLASS = "meson" - -inherit gnomebase gtk-doc ptest-gnome upstream-version-is-even gobject-introspection - -SRC_URI += "file://run-ptest" -SRC_URI[archive.md5sum] = "b6bf689e3ce4f46b0fd887b64c850ea1" -SRC_URI[archive.sha256sum] = "8527dfcbeedb4390149b6f94620c0fa64e26046ab85042c2a7556438847d7fc1" - -DEPENDS = "glib-2.0 glib-2.0-native fontconfig freetype virtual/libiconv cairo harfbuzz fribidi" - -PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)} \ - ${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)}" - -PACKAGECONFIG[x11] = ",,virtual/libx11 libxft" -PACKAGECONFIG[tests] = "-Dinstall-tests=true, -Dinstall-tests=false" - -GTKDOC_MESON_OPTION = "gtk_doc" -GIR_MESON_OPTION = 'introspection' - -LEAD_SONAME = "libpango-1.0*" -LIBV = "1.8.0" - -FILES_${PN} = "${bindir}/* ${libdir}/libpango*${SOLIBS}" -FILES_${PN}-dev += "${libdir}/pango/${LIBV}/modules/*.la" - -RDEPENDS_${PN}-ptest += "cantarell-fonts" -RDEPENDS_${PN}-ptest_append_libc-glibc = " locale-base-en-us" - -RPROVIDES_${PN} += "pango-modules pango-module-indic-lang \ - pango-module-basic-fc pango-module-arabic-lang" - -BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-graphics/pango/pango_1.44.6.bb b/poky/meta/recipes-graphics/pango/pango_1.44.6.bb new file mode 100644 index 000000000..882eada7a --- /dev/null +++ b/poky/meta/recipes-graphics/pango/pango_1.44.6.bb @@ -0,0 +1,46 @@ +SUMMARY = "Framework for layout and rendering of internationalized text" +DESCRIPTION = "Pango is a library for laying out and rendering of text, \ +with an emphasis on internationalization. Pango can be used anywhere \ +that text layout is needed, though most of the work on Pango so far has \ +been done in the context of the GTK+ widget toolkit. Pango forms the \ +core of text and font handling for GTK+-2.x." +HOMEPAGE = "http://www.pango.org/" +BUGTRACKER = "http://bugzilla.gnome.org" +SECTION = "libs" +LICENSE = "LGPLv2.0+" + +LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7" + +GNOMEBASEBUILDCLASS = "meson" + +inherit gnomebase gtk-doc ptest-gnome upstream-version-is-even gobject-introspection + +SRC_URI += "file://run-ptest" +SRC_URI[archive.md5sum] = "db0a3243ba33e02aaa775412f8e5f412" +SRC_URI[archive.sha256sum] = "3e1e41ba838737e200611ff001e3b304c2ca4cdbba63d200a20db0b0ddc0f86c" + +DEPENDS = "glib-2.0 glib-2.0-native fontconfig freetype virtual/libiconv cairo harfbuzz fribidi" + +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)} \ + ${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)}" + +PACKAGECONFIG[x11] = ",,virtual/libx11 libxft" +PACKAGECONFIG[tests] = "-Dinstall-tests=true, -Dinstall-tests=false" +PACKAGECONFIG[thai] = ",,libthai" + +GTKDOC_MESON_OPTION = "gtk_doc" +GIR_MESON_OPTION = 'introspection' + +LEAD_SONAME = "libpango-1.0*" +LIBV = "1.8.0" + +FILES_${PN} = "${bindir}/* ${libdir}/libpango*${SOLIBS}" +FILES_${PN}-dev += "${libdir}/pango/${LIBV}/modules/*.la" + +RDEPENDS_${PN}-ptest += "cantarell-fonts" +RDEPENDS_${PN}-ptest_append_libc-glibc = " locale-base-en-us" + +RPROVIDES_${PN} += "pango-modules pango-module-indic-lang \ + pango-module-basic-fc pango-module-arabic-lang" + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-graphics/virglrenderer/virglrenderer/0001-Makefile.am-explicitly-link-with-libdrm.patch b/poky/meta/recipes-graphics/virglrenderer/virglrenderer/0001-Makefile.am-explicitly-link-with-libdrm.patch deleted file mode 100644 index aa8d81484..000000000 --- a/poky/meta/recipes-graphics/virglrenderer/virglrenderer/0001-Makefile.am-explicitly-link-with-libdrm.patch +++ /dev/null @@ -1,31 +0,0 @@ -From d61f7073b8ce159d21811b291c22b273b040c330 Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin -Date: Tue, 12 Feb 2019 12:04:52 +0100 -Subject: [PATCH] Makefile.am: explicitly link with libdrm - -Otherwise, a failure happens with gold linker: - -../src/.libs/libvirglrenderer.so: error: undefined reference to 'drmPrimeHandleToFD' - -https://errors.yoctoproject.org/Errors/Details/222046/ - -Upstream-Status: Accepted [https://gitlab.freedesktop.org/virgl/virglrenderer/merge_requests/153] -Signed-off-by: Alexander Kanavin ---- - src/Makefile.am | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/src/Makefile.am b/src/Makefile.am -index 9a0a44e..9b668c8 100644 ---- a/src/Makefile.am -+++ b/src/Makefile.am -@@ -1,5 +1,6 @@ - SUBDIRS := gallium/auxiliary - AM_LDFLAGS = -lm \ -+ $(LIBDRM_LIBS) \ - $(GBM_LIBS) \ - $(EPOXY_LIBS) \ - $(X11_LIBS) \ --- -2.17.1 - diff --git a/poky/meta/recipes-graphics/virglrenderer/virglrenderer/0001-vtest-add-missing-includes.patch b/poky/meta/recipes-graphics/virglrenderer/virglrenderer/0001-vtest-add-missing-includes.patch deleted file mode 100644 index 2b4ffa932..000000000 --- a/poky/meta/recipes-graphics/virglrenderer/virglrenderer/0001-vtest-add-missing-includes.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 05c5c5f43fbffb3317bd9da27d414890d2ef493c Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin -Date: Fri, 18 Jan 2019 13:47:23 +0100 -Subject: [PATCH] vtest: add missing includes - -This fixes build failures with musl C library - -Upstream-Status: Accepted [https://gitlab.freedesktop.org/virgl/virglrenderer/merge_requests/125] -Signed-off-by: Alexander Kanavin ---- - vtest/util.c | 1 + - vtest/vtest_server.c | 1 + - 2 files changed, 2 insertions(+) - -diff --git a/vtest/util.c b/vtest/util.c -index 0d3c78f..c605253 100644 ---- a/vtest/util.c -+++ b/vtest/util.c -@@ -26,6 +26,7 @@ - #include - #include - #include -+#include - - int vtest_wait_for_fd_read(int fd) - { -diff --git a/vtest/vtest_server.c b/vtest/vtest_server.c -index bc6c95f..010721f 100644 ---- a/vtest/vtest_server.c -+++ b/vtest/vtest_server.c -@@ -31,6 +31,7 @@ - #include - #include - #include -+#include - - #include "util.h" - #include "vtest.h" diff --git a/poky/meta/recipes-graphics/virglrenderer/virglrenderer_0.7.0.bb b/poky/meta/recipes-graphics/virglrenderer/virglrenderer_0.7.0.bb deleted file mode 100644 index 818d5b630..000000000 --- a/poky/meta/recipes-graphics/virglrenderer/virglrenderer_0.7.0.bb +++ /dev/null @@ -1,23 +0,0 @@ -SUMMARY = "VirGL virtual OpenGL renderer" -HOMEPAGE = "https://virgil3d.github.io/" - -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://COPYING;md5=c81c08eeefd9418fca8f88309a76db10" - -DEPENDS = "libdrm mesa libepoxy" -SRCREV = "402c228861c9893f64cffbbcb4cb23044b8c721c" -SRC_URI = "git://anongit.freedesktop.org/virglrenderer \ - file://0001-vtest-add-missing-includes.patch \ - file://0001-Makefile.am-explicitly-link-with-libdrm.patch \ - file://0001-gallium-Expand-libc-check-to-be-platform-OS-check.patch \ - " - -S = "${WORKDIR}/git" - -inherit autotools pkgconfig distro_features_check - -BBCLASSEXTEND = "native nativesdk" - -REQUIRED_DISTRO_FEATURES = "opengl" -REQUIRED_DISTRO_FEATURES_class-native = "" -REQUIRED_DISTRO_FEATURES_class-nativesdk = "" diff --git a/poky/meta/recipes-graphics/virglrenderer/virglrenderer_0.8.0.bb b/poky/meta/recipes-graphics/virglrenderer/virglrenderer_0.8.0.bb new file mode 100644 index 000000000..d2b11c103 --- /dev/null +++ b/poky/meta/recipes-graphics/virglrenderer/virglrenderer_0.8.0.bb @@ -0,0 +1,21 @@ +SUMMARY = "VirGL virtual OpenGL renderer" +HOMEPAGE = "https://virgil3d.github.io/" + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=c81c08eeefd9418fca8f88309a76db10" + +DEPENDS = "libdrm mesa libepoxy" +SRCREV = "48cc96c9aebb9d0164830a157efc8916f08f00c0" +SRC_URI = "git://anongit.freedesktop.org/virglrenderer \ + file://0001-gallium-Expand-libc-check-to-be-platform-OS-check.patch \ + " + +S = "${WORKDIR}/git" + +inherit autotools pkgconfig distro_features_check + +BBCLASSEXTEND = "native nativesdk" + +REQUIRED_DISTRO_FEATURES = "opengl" +REQUIRED_DISTRO_FEATURES_class-native = "" +REQUIRED_DISTRO_FEATURES_class-nativesdk = "" diff --git a/poky/meta/recipes-graphics/wayland/weston/0001-make-error-portable.patch b/poky/meta/recipes-graphics/wayland/weston/0001-make-error-portable.patch deleted file mode 100644 index acea9dbc3..000000000 --- a/poky/meta/recipes-graphics/wayland/weston/0001-make-error-portable.patch +++ /dev/null @@ -1,80 +0,0 @@ -From c4677e155736062e75687f1a655732c8902e912b Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Fri, 29 May 2015 20:56:00 -0700 -Subject: [PATCH] make error() portable - -error() is not posix but gnu extension so may not be available on all -kind of systemsi e.g. musl. - -Upstream-Status: Submitted - -Signed-off-by: Khem Raj -Signed-off-by: Ming Liu ---- - libweston/weston-error.h | 20 ++++++++++++++++++++ - libweston/weston-launch.c | 2 +- - meson.build | 1 + - 3 files changed, 22 insertions(+), 1 deletion(-) - create mode 100644 libweston/weston-error.h - -diff --git a/libweston/weston-error.h b/libweston/weston-error.h -new file mode 100644 -index 0000000..2089d02 ---- /dev/null -+++ b/libweston/weston-error.h -@@ -0,0 +1,20 @@ -+#ifndef _WESTON_ERROR_H -+#define _WESTON_ERROR_H -+ -+#if defined(HAVE_ERROR_H) -+#include -+#else -+#include -+#include -+#define _weston_error(S, E, F, ...) do { \ -+ if (E) \ -+ err(S, F ": %s", ##__VA_ARGS__, strerror(E)); \ -+ else \ -+ err(S, F, ##__VA_ARGS__); \ -+} while(0) -+ -+#define error _weston_error -+#endif -+ -+#endif -+ -diff --git a/libweston/weston-launch.c b/libweston/weston-launch.c -index bf73e0d..9064439 100644 ---- a/libweston/weston-launch.c -+++ b/libweston/weston-launch.c -@@ -33,7 +33,6 @@ - #include - #include - --#include - #include - - #include -@@ -59,6 +58,7 @@ - #endif - - #include "weston-launch.h" -+#include "weston-error.h" - - #define DRM_MAJOR 226 - -diff --git a/meson.build b/meson.build -index 2155b7b..baa52d9 100644 ---- a/meson.build -+++ b/meson.build -@@ -94,6 +94,7 @@ foreach func : optional_libc_funcs - endforeach - - optional_system_headers = [ -+ 'error.h', - 'linux/sync_file.h' - ] - foreach hdr : optional_system_headers --- -2.7.4 - diff --git a/poky/meta/recipes-graphics/wayland/weston/0001-weston-launch-Provide-a-default-version-that-doesn-t.patch b/poky/meta/recipes-graphics/wayland/weston/0001-weston-launch-Provide-a-default-version-that-doesn-t.patch index 81cc02537..e50845b17 100644 --- a/poky/meta/recipes-graphics/wayland/weston/0001-weston-launch-Provide-a-default-version-that-doesn-t.patch +++ b/poky/meta/recipes-graphics/wayland/weston/0001-weston-launch-Provide-a-default-version-that-doesn-t.patch @@ -1,4 +1,4 @@ -From 7d2fea61a95e9498b5a19c8cffcb2ab5631d5685 Mon Sep 17 00:00:00 2001 +From 682b7d79a7b81ec8e38760381104b24ad549e8c0 Mon Sep 17 00:00:00 2001 From: Tom Hochstein Date: Wed, 22 Feb 2017 15:53:30 +0200 Subject: [PATCH] weston-launch: Provide a default version that doesn't require @@ -18,16 +18,16 @@ Signed-off-by: Denys Dmytriyenko Signed-off-by: Ming Liu --- libweston/meson.build | 16 ++++++++++++---- - libweston/weston-launch.c | 20 ++++++++++++++++++++ + libweston/weston-launch.c | 21 +++++++++++++++++++++ meson_options.txt | 7 +++++++ - 3 files changed, 39 insertions(+), 4 deletions(-) + 3 files changed, 40 insertions(+), 4 deletions(-) diff --git a/libweston/meson.build b/libweston/meson.build -index 33ab970..32f495a 100644 +index d8d3fc0..326683f 100644 --- a/libweston/meson.build +++ b/libweston/meson.build -@@ -472,16 +472,24 @@ if get_option('renderer-gl') - endif +@@ -199,16 +199,24 @@ dep_vertex_clipping = declare_dependency( + ) if get_option('weston-launch') - dep_pam = cc.find_library('pam') @@ -56,7 +56,7 @@ index 33ab970..32f495a 100644 install: true ) diff --git a/libweston/weston-launch.c b/libweston/weston-launch.c -index 9064439..c6abe92 100644 +index 4962bd6..fc531c5 100644 --- a/libweston/weston-launch.c +++ b/libweston/weston-launch.c @@ -51,7 +51,9 @@ @@ -69,7 +69,7 @@ index 9064439..c6abe92 100644 #ifdef HAVE_SYSTEMD_LOGIN #include -@@ -101,8 +103,10 @@ drmSetMaster(int drm_fd) +@@ -100,8 +102,10 @@ drmSetMaster(int drm_fd) #endif struct weston_launch { @@ -80,7 +80,7 @@ index 9064439..c6abe92 100644 int tty; int ttynr; int sock[2]; -@@ -191,6 +195,7 @@ weston_launch_allowed(struct weston_launch *wl) +@@ -192,6 +196,7 @@ weston_launch_allowed(struct weston_launch *wl) return false; } @@ -88,7 +88,7 @@ index 9064439..c6abe92 100644 static int pam_conversation_fn(int msg_count, const struct pam_message **messages, -@@ -231,6 +236,7 @@ setup_pam(struct weston_launch *wl) +@@ -232,6 +237,7 @@ setup_pam(struct weston_launch *wl) return 0; } @@ -96,7 +96,7 @@ index 9064439..c6abe92 100644 static int setup_launcher_socket(struct weston_launch *wl) -@@ -424,6 +430,7 @@ quit(struct weston_launch *wl, int status) +@@ -431,6 +437,7 @@ quit(struct weston_launch *wl, int status) close(wl->signalfd); close(wl->sock[0]); @@ -104,7 +104,7 @@ index 9064439..c6abe92 100644 if (wl->new_user) { err = pam_close_session(wl->ph, 0); if (err) -@@ -431,6 +438,7 @@ quit(struct weston_launch *wl, int status) +@@ -438,6 +445,7 @@ quit(struct weston_launch *wl, int status) err, pam_strerror(wl->ph, err)); pam_end(wl->ph, err); } @@ -112,7 +112,7 @@ index 9064439..c6abe92 100644 if (ioctl(wl->tty, KDSKBMUTE, 0) && ioctl(wl->tty, KDSKBMODE, wl->kb_mode)) -@@ -610,6 +618,7 @@ setup_session(struct weston_launch *wl, char **child_argv) +@@ -660,6 +668,7 @@ setup_session(struct weston_launch *wl, char **child_argv) setenv("HOME", wl->pw->pw_dir, 1); setenv("SHELL", wl->pw->pw_shell, 1); @@ -120,7 +120,7 @@ index 9064439..c6abe92 100644 env = pam_getenvlist(wl->ph); if (env) { for (i = 0; env[i]; ++i) { -@@ -618,6 +627,7 @@ setup_session(struct weston_launch *wl, char **child_argv) +@@ -668,6 +677,7 @@ setup_session(struct weston_launch *wl, char **child_argv) } free(env); } @@ -128,7 +128,7 @@ index 9064439..c6abe92 100644 /* * We open a new session, so it makes sense -@@ -685,8 +695,10 @@ static void +@@ -739,8 +749,10 @@ static void help(const char *name) { fprintf(stderr, "Usage: %s [args...] [-- [weston args..]]\n", name); @@ -139,7 +139,7 @@ index 9064439..c6abe92 100644 fprintf(stderr, " -t, --tty Start session on alternative tty,\n" " e.g. -t /dev/tty4, requires -u option.\n"); fprintf(stderr, " -v, --verbose Be verbose\n"); -@@ -700,7 +712,9 @@ main(int argc, char *argv[]) +@@ -754,7 +766,9 @@ main(int argc, char *argv[]) int i, c; char *tty = NULL; struct option opts[] = { @@ -149,21 +149,24 @@ index 9064439..c6abe92 100644 { "tty", required_argument, NULL, 't' }, { "verbose", no_argument, NULL, 'v' }, { "help", no_argument, NULL, 'h' }, -@@ -712,9 +726,13 @@ main(int argc, char *argv[]) +@@ -766,11 +780,16 @@ main(int argc, char *argv[]) while ((c = getopt_long(argc, argv, "u:t:vh", opts, &i)) != -1) { switch (c) { case 'u': +#ifdef HAVE_PAM wl.new_user = optarg; - if (getuid() != 0) - error(1, 0, "Permission denied. -u allowed for root only"); + if (getuid() != 0) { + fprintf(stderr, "weston: Permission denied. -u allowed for root only\n"); + exit(EXIT_FAILURE); + } +#else -+ error(1, 0, "-u is unsupported in this weston-launch build"); ++ fprintf(stderr, "weston: -u is unsupported in this weston-launch build\n"); ++ exit(EXIT_FAILURE); +#endif break; case 't': tty = optarg; -@@ -755,8 +773,10 @@ main(int argc, char *argv[]) +@@ -822,8 +841,10 @@ main(int argc, char *argv[]) if (setup_tty(&wl, tty) < 0) exit(EXIT_FAILURE); @@ -175,7 +178,7 @@ index 9064439..c6abe92 100644 if (setup_launcher_socket(&wl) < 0) exit(EXIT_FAILURE); diff --git a/meson_options.txt b/meson_options.txt -index 0e1d183..9a5c3d5 100644 +index d5bf1d5..254eb2b 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -73,6 +73,13 @@ option( diff --git a/poky/meta/recipes-graphics/wayland/weston_6.0.1.bb b/poky/meta/recipes-graphics/wayland/weston_6.0.1.bb deleted file mode 100644 index fe8f1b8c3..000000000 --- a/poky/meta/recipes-graphics/wayland/weston_6.0.1.bb +++ /dev/null @@ -1,112 +0,0 @@ -SUMMARY = "Weston, a Wayland compositor" -DESCRIPTION = "Weston is the reference implementation of a Wayland compositor" -HOMEPAGE = "http://wayland.freedesktop.org" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://COPYING;md5=d79ee9e66bb0f95d3386a7acae780b70 \ - file://libweston/compositor.c;endline=27;md5=6c53bbbd99273f4f7c4affa855c33c0a" - -SRC_URI = "https://wayland.freedesktop.org/releases/${BPN}-${PV}.tar.xz \ - file://weston.png \ - file://weston.desktop \ - file://xwayland.weston-start \ - file://0001-make-error-portable.patch \ - file://0001-weston-launch-Provide-a-default-version-that-doesn-t.patch \ -" -SRC_URI[md5sum] = "e7b10710ef1eac82258f97bfd41fe534" -SRC_URI[sha256sum] = "bf2f6d5aae2e11cabb6bd69a76bcf9edb084f8c3e14ca769bea7234a513155b4" - -UPSTREAM_CHECK_URI = "https://wayland.freedesktop.org/releases.html" - -inherit meson pkgconfig useradd distro_features_check -# depends on virtual/egl -REQUIRED_DISTRO_FEATURES = "opengl" - -DEPENDS = "libxkbcommon gdk-pixbuf pixman cairo glib-2.0 jpeg" -DEPENDS += "wayland wayland-protocols libinput virtual/egl pango wayland-native" - -WESTON_MAJOR_VERSION = "${@'.'.join(d.getVar('PV').split('.')[0:1])}" - -EXTRA_OEMESON += "-Dbackend-default=auto -Dbackend-rdp=false" - -PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'kms fbdev wayland egl', '', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'x11 wayland', 'xwayland', '', d)} \ - ${@bb.utils.filter('DISTRO_FEATURES', 'pam systemd x11', d)} \ - ${@bb.utils.contains_any('DISTRO_FEATURES', 'wayland x11', '', 'headless', d)} \ - clients launch" -# -# Compositor choices -# -# Weston on KMS -PACKAGECONFIG[kms] = "-Dbackend-drm=true,-Dbackend-drm=false,drm udev virtual/mesa virtual/libgbm mtdev" -# Weston on Wayland (nested Weston) -PACKAGECONFIG[wayland] = "-Dbackend-wayland=true,-Dbackend-wayland=false,virtual/mesa" -# Weston on X11 -PACKAGECONFIG[x11] = "-Dbackend-x11=true,-Dbackend-x11=false,virtual/libx11 libxcb libxcb libxcursor cairo" -# Headless Weston -PACKAGECONFIG[headless] = "-Dbackend-headless=true,-Dbackend-headless=false" -# Weston on framebuffer -PACKAGECONFIG[fbdev] = "-Dbackend-fbdev=true,-Dbackend-fbdev=false,udev mtdev" -# weston-launch -PACKAGECONFIG[launch] = "-Dweston-launch=true,-Dweston-launch=false,drm" -# VA-API desktop recorder -PACKAGECONFIG[vaapi] = "-Dbackend-drm-screencast-vaapi=true,-Dbackend-drm-screencast-vaapi=false,libva" -# Weston with EGL support -PACKAGECONFIG[egl] = "-Drenderer-gl=true,-Drenderer-gl=false,virtual/egl" -# Weston with lcms support -PACKAGECONFIG[lcms] = "-Dcolor-management-lcms=true,-Dcolor-management-lcms=false,lcms" -# Weston with webp support -PACKAGECONFIG[webp] = "-Dimage-webp=true,-Dimage-webp=false,libwebp" -# Weston with systemd-login support -PACKAGECONFIG[systemd] = "-Dsystemd=true -Dlauncher-logind=true,-Dsystemd=false -Dlauncher-logind=false,systemd dbus" -# Weston with Xwayland support (requires X11 and Wayland) -PACKAGECONFIG[xwayland] = "-Dxwayland=true,-Dxwayland=false" -# colord CMS support -PACKAGECONFIG[colord] = "-Dcolor-management-colord=true,-Dcolor-management-colord=false,colord" -# Clients support -PACKAGECONFIG[clients] = "-Dsimple-clients=all -Ddemo-clients=true,-Dsimple-clients= -Ddemo-clients=false" -# Virtual remote output with GStreamer on DRM backend -PACKAGECONFIG[remoting] = "-Dremoting=true,-Dremoting=false,gstreamer-1.0" -# Weston with PAM support -PACKAGECONFIG[pam] = "-Dpam=true,-Dpam=false,libpam" - -do_install_append() { - # Weston doesn't need the .la files to load modules, so wipe them - rm -f ${D}/${libdir}/libweston-${WESTON_MAJOR_VERSION}/*.la - - # If X11, ship a desktop file to launch it - if [ "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}" ]; then - install -d ${D}${datadir}/applications - install ${WORKDIR}/weston.desktop ${D}${datadir}/applications - - install -d ${D}${datadir}/icons/hicolor/48x48/apps - install ${WORKDIR}/weston.png ${D}${datadir}/icons/hicolor/48x48/apps - fi - - if [ "${@bb.utils.contains('PACKAGECONFIG', 'xwayland', 'yes', 'no', d)}" = "yes" ]; then - install -Dm 644 ${WORKDIR}/xwayland.weston-start ${D}${datadir}/weston-start/xwayland - fi - - if [ "${@bb.utils.contains('PACKAGECONFIG', 'launch', 'yes', 'no', d)}" = "yes" ]; then - chmod u+s ${D}${bindir}/weston-launch - fi -} - -PACKAGES += "${@bb.utils.contains('PACKAGECONFIG', 'xwayland', '${PN}-xwayland', '', d)} \ - libweston-${WESTON_MAJOR_VERSION} ${PN}-examples" - -FILES_${PN} = "${bindir}/weston ${bindir}/weston-terminal ${bindir}/weston-info ${bindir}/weston-launch ${bindir}/wcap-decode ${libexecdir} ${libdir}/${BPN}/*.so ${datadir}" - -FILES_libweston-${WESTON_MAJOR_VERSION} = "${libdir}/lib*${SOLIBS} ${libdir}/libweston-${WESTON_MAJOR_VERSION}/*.so" -SUMMARY_libweston-${WESTON_MAJOR_VERSION} = "Helper library for implementing 'wayland window managers'." - -FILES_${PN}-examples = "${bindir}/*" - -FILES_${PN}-xwayland = "${libdir}/libweston-${WESTON_MAJOR_VERSION}/xwayland.so" -RDEPENDS_${PN}-xwayland += "xserver-xorg-xwayland" - -RDEPENDS_${PN} += "xkeyboard-config" -RRECOMMENDS_${PN} = "weston-conf liberation-fonts" -RRECOMMENDS_${PN}-dev += "wayland-protocols" - -USERADD_PACKAGES = "${PN}" -GROUPADD_PARAM_${PN} = "--system weston-launch" diff --git a/poky/meta/recipes-graphics/wayland/weston_7.0.0.bb b/poky/meta/recipes-graphics/wayland/weston_7.0.0.bb new file mode 100644 index 000000000..5d2a9336f --- /dev/null +++ b/poky/meta/recipes-graphics/wayland/weston_7.0.0.bb @@ -0,0 +1,111 @@ +SUMMARY = "Weston, a Wayland compositor" +DESCRIPTION = "Weston is the reference implementation of a Wayland compositor" +HOMEPAGE = "http://wayland.freedesktop.org" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=d79ee9e66bb0f95d3386a7acae780b70 \ + file://libweston/compositor.c;endline=27;md5=6c53bbbd99273f4f7c4affa855c33c0a" + +SRC_URI = "https://wayland.freedesktop.org/releases/${BPN}-${PV}.tar.xz \ + file://weston.png \ + file://weston.desktop \ + file://xwayland.weston-start \ + file://0001-weston-launch-Provide-a-default-version-that-doesn-t.patch \ +" +SRC_URI[md5sum] = "cbfda483bc2501d0831af3f33c707850" +SRC_URI[sha256sum] = "a00a6d207b6a45f95f4401c604772a307c3767e5e2beecf3d879110c43909a64" + +UPSTREAM_CHECK_URI = "https://wayland.freedesktop.org/releases.html" + +inherit meson pkgconfig useradd distro_features_check +# depends on virtual/egl +REQUIRED_DISTRO_FEATURES = "opengl" + +DEPENDS = "libxkbcommon gdk-pixbuf pixman cairo glib-2.0 jpeg" +DEPENDS += "wayland wayland-protocols libinput virtual/egl pango wayland-native" + +WESTON_MAJOR_VERSION = "${@'.'.join(d.getVar('PV').split('.')[0:1])}" + +EXTRA_OEMESON += "-Dbackend-default=auto -Dbackend-rdp=false -Dpipewire=false" + +PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'kms fbdev wayland egl', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'x11 wayland', 'xwayland', '', d)} \ + ${@bb.utils.filter('DISTRO_FEATURES', 'pam systemd x11', d)} \ + ${@bb.utils.contains_any('DISTRO_FEATURES', 'wayland x11', '', 'headless', d)} \ + clients launch" +# +# Compositor choices +# +# Weston on KMS +PACKAGECONFIG[kms] = "-Dbackend-drm=true,-Dbackend-drm=false,drm udev virtual/mesa virtual/libgbm mtdev" +# Weston on Wayland (nested Weston) +PACKAGECONFIG[wayland] = "-Dbackend-wayland=true,-Dbackend-wayland=false,virtual/mesa" +# Weston on X11 +PACKAGECONFIG[x11] = "-Dbackend-x11=true,-Dbackend-x11=false,virtual/libx11 libxcb libxcb libxcursor cairo" +# Headless Weston +PACKAGECONFIG[headless] = "-Dbackend-headless=true,-Dbackend-headless=false" +# Weston on framebuffer +PACKAGECONFIG[fbdev] = "-Dbackend-fbdev=true,-Dbackend-fbdev=false,udev mtdev" +# weston-launch +PACKAGECONFIG[launch] = "-Dweston-launch=true,-Dweston-launch=false,drm" +# VA-API desktop recorder +PACKAGECONFIG[vaapi] = "-Dbackend-drm-screencast-vaapi=true,-Dbackend-drm-screencast-vaapi=false,libva" +# Weston with EGL support +PACKAGECONFIG[egl] = "-Drenderer-gl=true,-Drenderer-gl=false,virtual/egl" +# Weston with lcms support +PACKAGECONFIG[lcms] = "-Dcolor-management-lcms=true,-Dcolor-management-lcms=false,lcms" +# Weston with webp support +PACKAGECONFIG[webp] = "-Dimage-webp=true,-Dimage-webp=false,libwebp" +# Weston with systemd-login support +PACKAGECONFIG[systemd] = "-Dsystemd=true -Dlauncher-logind=true,-Dsystemd=false -Dlauncher-logind=false,systemd dbus" +# Weston with Xwayland support (requires X11 and Wayland) +PACKAGECONFIG[xwayland] = "-Dxwayland=true,-Dxwayland=false" +# colord CMS support +PACKAGECONFIG[colord] = "-Dcolor-management-colord=true,-Dcolor-management-colord=false,colord" +# Clients support +PACKAGECONFIG[clients] = "-Dsimple-clients=all -Ddemo-clients=true,-Dsimple-clients= -Ddemo-clients=false" +# Virtual remote output with GStreamer on DRM backend +PACKAGECONFIG[remoting] = "-Dremoting=true,-Dremoting=false,gstreamer-1.0" +# Weston with PAM support +PACKAGECONFIG[pam] = "-Dpam=true,-Dpam=false,libpam" + +do_install_append() { + # Weston doesn't need the .la files to load modules, so wipe them + rm -f ${D}/${libdir}/libweston-${WESTON_MAJOR_VERSION}/*.la + + # If X11, ship a desktop file to launch it + if [ "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}" ]; then + install -d ${D}${datadir}/applications + install ${WORKDIR}/weston.desktop ${D}${datadir}/applications + + install -d ${D}${datadir}/icons/hicolor/48x48/apps + install ${WORKDIR}/weston.png ${D}${datadir}/icons/hicolor/48x48/apps + fi + + if [ "${@bb.utils.contains('PACKAGECONFIG', 'xwayland', 'yes', 'no', d)}" = "yes" ]; then + install -Dm 644 ${WORKDIR}/xwayland.weston-start ${D}${datadir}/weston-start/xwayland + fi + + if [ "${@bb.utils.contains('PACKAGECONFIG', 'launch', 'yes', 'no', d)}" = "yes" ]; then + chmod u+s ${D}${bindir}/weston-launch + fi +} + +PACKAGES += "${@bb.utils.contains('PACKAGECONFIG', 'xwayland', '${PN}-xwayland', '', d)} \ + libweston-${WESTON_MAJOR_VERSION} ${PN}-examples" + +FILES_${PN} = "${bindir}/weston ${bindir}/weston-terminal ${bindir}/weston-info ${bindir}/weston-launch ${bindir}/wcap-decode ${libexecdir} ${libdir}/${BPN}/*.so ${datadir}" + +FILES_libweston-${WESTON_MAJOR_VERSION} = "${libdir}/lib*${SOLIBS} ${libdir}/libweston-${WESTON_MAJOR_VERSION}/*.so" +SUMMARY_libweston-${WESTON_MAJOR_VERSION} = "Helper library for implementing 'wayland window managers'." + +FILES_${PN}-examples = "${bindir}/*" + +FILES_${PN}-xwayland = "${libdir}/libweston-${WESTON_MAJOR_VERSION}/xwayland.so" +RDEPENDS_${PN}-xwayland += "xserver-xorg-xwayland" + +RDEPENDS_${PN} += "xkeyboard-config" +RRECOMMENDS_${PN} = "weston-conf liberation-fonts" +RRECOMMENDS_${PN}-dev += "wayland-protocols" + +USERADD_PACKAGES = "${PN}" +GROUPADD_PARAM_${PN} = "--system weston-launch" diff --git a/poky/meta/recipes-kernel/dtc/dtc_1.5.0.bb b/poky/meta/recipes-kernel/dtc/dtc_1.5.0.bb deleted file mode 100644 index a9c131706..000000000 --- a/poky/meta/recipes-kernel/dtc/dtc_1.5.0.bb +++ /dev/null @@ -1,10 +0,0 @@ -require dtc.inc - -LIC_FILES_CHKSUM = "file://GPL;md5=94d55d512a9ba36caa9b7df079bae19f \ - file://libfdt/libfdt.h;beginline=3;endline=52;md5=fb360963151f8ec2d6c06b055bcbb68c" - -SRCREV = "d37f6b20107e952064e3f77e9d6915a9c09d10a6" - -S = "${WORKDIR}/git" - -BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-kernel/dtc/dtc_1.5.1.bb b/poky/meta/recipes-kernel/dtc/dtc_1.5.1.bb new file mode 100644 index 000000000..9df8a06d4 --- /dev/null +++ b/poky/meta/recipes-kernel/dtc/dtc_1.5.1.bb @@ -0,0 +1,10 @@ +require dtc.inc + +LIC_FILES_CHKSUM = "file://GPL;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ + file://libfdt/libfdt.h;beginline=4;endline=7;md5=05bb357cfb75cae7d2b01d2ee8d76407" + +SRCREV = "60e0db3d65a1218b0d5a29474e769f28a18e3ca6" + +S = "${WORKDIR}/git" + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-kernel/linux-libc-headers/linux-libc-headers/0001-arm64-sve-uapi-asm-ptrace.h-should-not-depend-on-uap.patch b/poky/meta/recipes-kernel/linux-libc-headers/linux-libc-headers/0001-arm64-sve-uapi-asm-ptrace.h-should-not-depend-on-uap.patch deleted file mode 100644 index 5ea46e959..000000000 --- a/poky/meta/recipes-kernel/linux-libc-headers/linux-libc-headers/0001-arm64-sve-uapi-asm-ptrace.h-should-not-depend-on-uap.patch +++ /dev/null @@ -1,62 +0,0 @@ -From 35341ca0614ab13e1ef34ad4f29a39e15ef31fa8 Mon Sep 17 00:00:00 2001 -From: Anisse Astier -Date: Mon, 17 Jun 2019 15:22:22 +0200 -Subject: [PATCH] arm64/sve: should not depend on - - -Pulling linux/prctl.h into asm/ptrace.h in the arm64 UAPI headers causes -userspace build issues for any program (e.g. strace and qemu) that -includes both and when using musl libc: - - | error: redefinition of 'struct prctl_mm_map' - | struct prctl_mm_map { - -See https://github.com/foundriesio/meta-lmp/commit/6d4a106e191b5d79c41b9ac78fd321316d3013c0 -for a public example of people working around this issue. - -Although it's a bit grotty, fix this breakage by duplicating the prctl -constant definitions. Since these are part of the kernel ABI, they -cannot be changed in future and so it's not the end of the world to have -them open-coded. - -Fixes: 43d4da2c45b2 ("arm64/sve: ptrace and ELF coredump support") - -Upstream-Status: Backport [https://github.com/torvalds/linux/commit/35341ca0614ab13e1ef34ad4f29a39e15ef31fa8] -Cc: stable@vger.kernel.org -Acked-by: Dave Martin -Signed-off-by: Anisse Astier -Signed-off-by: Will Deacon ---- - arch/arm64/include/uapi/asm/ptrace.h | 8 +++----- - 1 file changed, 3 insertions(+), 5 deletions(-) - -diff --git a/arch/arm64/include/uapi/asm/ptrace.h b/arch/arm64/include/uapi/asm/ptrace.h -index 97c53203150b..e932284993d4 100644 ---- a/arch/arm64/include/uapi/asm/ptrace.h -+++ b/arch/arm64/include/uapi/asm/ptrace.h -@@ -65,8 +65,6 @@ - - #ifndef __ASSEMBLY__ - --#include -- - /* - * User structures for general purpose, floating point and debug registers. - */ -@@ -113,10 +111,10 @@ struct user_sve_header { - - /* - * Common SVE_PT_* flags: -- * These must be kept in sync with prctl interface in -+ * These must be kept in sync with prctl interface in - */ --#define SVE_PT_VL_INHERIT (PR_SVE_VL_INHERIT >> 16) --#define SVE_PT_VL_ONEXEC (PR_SVE_SET_VL_ONEXEC >> 16) -+#define SVE_PT_VL_INHERIT ((1 << 17) /* PR_SVE_VL_INHERIT */ >> 16) -+#define SVE_PT_VL_ONEXEC ((1 << 18) /* PR_SVE_SET_VL_ONEXEC */ >> 16) - - - /* --- -2.22.0 - diff --git a/poky/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_5.0.bb b/poky/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_5.0.bb deleted file mode 100644 index 473688d95..000000000 --- a/poky/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_5.0.bb +++ /dev/null @@ -1,19 +0,0 @@ -require linux-libc-headers.inc - -SRC_URI_append_libc-musl = "\ - file://0001-libc-compat.h-fix-some-issues-arising-from-in6.h.patch \ - file://0002-libc-compat.h-prevent-redefinition-of-struct-ethhdr.patch \ - file://0003-remove-inclusion-of-sysinfo.h-in-kernel.h.patch \ - file://0001-libc-compat.h-musl-_does_-define-IFF_LOWER_UP-DORMAN.patch \ - file://0001-if_ether-move-muslc-ethhdr-protection-to-uapi-file.patch \ - file://0001-include-linux-stddef.h-in-swab.h-uapi-header.patch \ - " - -SRC_URI_append = "\ - file://0001-scripts-Use-fixed-input-and-output-files-instead-of-.patch \ - file://0001-kbuild-install_headers.sh-Strip-_UAPI-from-if-define.patch \ - file://0001-arm64-sve-uapi-asm-ptrace.h-should-not-depend-on-uap.patch \ -" - -SRC_URI[md5sum] = "7381ce8aac80a01448e065ce795c19c0" -SRC_URI[sha256sum] = "437b141a6499159f5a7282d5eb4b2be055f8e862ccce44d7464e8759c31a2e43" diff --git a/poky/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_5.2.bb b/poky/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_5.2.bb new file mode 100644 index 000000000..9d18df76c --- /dev/null +++ b/poky/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_5.2.bb @@ -0,0 +1,18 @@ +require linux-libc-headers.inc + +SRC_URI_append_libc-musl = "\ + file://0001-libc-compat.h-fix-some-issues-arising-from-in6.h.patch \ + file://0002-libc-compat.h-prevent-redefinition-of-struct-ethhdr.patch \ + file://0003-remove-inclusion-of-sysinfo.h-in-kernel.h.patch \ + file://0001-libc-compat.h-musl-_does_-define-IFF_LOWER_UP-DORMAN.patch \ + file://0001-if_ether-move-muslc-ethhdr-protection-to-uapi-file.patch \ + file://0001-include-linux-stddef.h-in-swab.h-uapi-header.patch \ + " + +SRC_URI_append = "\ + file://0001-scripts-Use-fixed-input-and-output-files-instead-of-.patch \ + file://0001-kbuild-install_headers.sh-Strip-_UAPI-from-if-define.patch \ +" + +SRC_URI[md5sum] = "ddf994de00d7b18395886dd9b30b9262" +SRC_URI[sha256sum] = "54ad66f672e1a831b574f5e704e8a05f1e6180a8245d4bdd811208a6cb0ac1e7" diff --git a/poky/meta/recipes-kernel/linux/kernel-devsrc.bb b/poky/meta/recipes-kernel/linux/kernel-devsrc.bb index 3900489ac..b68d945a8 100644 --- a/poky/meta/recipes-kernel/linux/kernel-devsrc.bb +++ b/poky/meta/recipes-kernel/linux/kernel-devsrc.bb @@ -141,7 +141,7 @@ do_install() { # arch/arm64/include/asm/opcodes.h references arch/arm cp -a --parents arch/arm/include/asm/opcodes.h $kerneldir/build/ - cp -a --parents arch/arm64/kernel/vdso/gettimeofday.S $kerneldir/build/ + cp -a --parents arch/arm64/kernel/vdso/*gettimeofday.* $kerneldir/build/ cp -a --parents arch/arm64/kernel/vdso/sigreturn.S $kerneldir/build/ cp -a --parents arch/arm64/kernel/vdso/note.S $kerneldir/build/ cp -a --parents arch/arm64/kernel/vdso/gen_vdso_offsets.sh $kerneldir/build/ @@ -179,6 +179,8 @@ do_install() { cp -a include $kerneldir/build + cp -a --parents lib/vdso/* $kerneldir/build/ 2>/dev/null || : + cp -a --parents tools/include/tools/le_byteshift.h $kerneldir/build/ cp -a --parents tools/include/tools/be_byteshift.h $kerneldir/build/ @@ -240,6 +242,15 @@ do_install() { # Copy .config to include/config/auto.conf so "make prepare" is unnecessary. cp $kerneldir/build/.config $kerneldir/build/include/config/auto.conf + # make the scripts python3 safe. We won't be running these, and if they are + # left as /usr/bin/python rootfs assembly will fail, since we only have python3 + # in the RDEPENDS (and the python3 package does not include /usr/bin/python) + for ss in $(find $kerneldir/build/scripts -type f -name '*'); do + sed -i 's,/usr/bin/python2,/usr/bin/env python3,' "$ss" + sed -i 's,/usr/bin/env python2,/usr/bin/env python3,' "$ss" + sed -i 's,/usr/bin/python,/usr/bin/env python3,' "$ss" + done + chown -R root:root ${D} } @@ -249,7 +260,7 @@ do_install[lockfiles] = "${TMPDIR}/kernel-scripts.lock" FILES_${PN} = "${KERNEL_BUILD_ROOT} ${KERNEL_SRC_PATH}" FILES_${PN}-dbg += "${KERNEL_BUILD_ROOT}*/build/scripts/*/.debug/*" -RDEPENDS_${PN} = "bc python flex bison ${TCLIBC}-utils" +RDEPENDS_${PN} = "bc python3 flex bison ${TCLIBC}-utils" # 4.15+ needs these next two RDEPENDS RDEPENDS_${PN} += "openssl-dev util-linux" # and x86 needs a bit more for 4.15+ diff --git a/poky/meta/recipes-kernel/linux/linux-dtb.inc b/poky/meta/recipes-kernel/linux/linux-dtb.inc deleted file mode 100644 index f1912775c..000000000 --- a/poky/meta/recipes-kernel/linux/linux-dtb.inc +++ /dev/null @@ -1,3 +0,0 @@ -python() { - bb.warn("You are using the linux-dtb.inc which is deprecated. You can safely remove it as the Device Tree support is automatically enabled when KERNEL_DEVICETREE is set.") -} diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-dev.bb b/poky/meta/recipes-kernel/linux/linux-yocto-dev.bb index 2268faf51..163f28056 100644 --- a/poky/meta/recipes-kernel/linux/linux-yocto-dev.bb +++ b/poky/meta/recipes-kernel/linux/linux-yocto-dev.bb @@ -39,7 +39,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814" DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}" DEPENDS += "openssl-native util-linux-native" -COMPATIBLE_MACHINE = "(qemuarm|qemux86|qemuppc|qemumips|qemumips64|qemux86-64)" +COMPATIBLE_MACHINE = "(qemuarm|qemux86|qemuppc|qemumips|qemumips64|qemux86-64|qemuriscv64)" KERNEL_DEVICETREE_qemuarmv5 = "versatile-pb.dtb" 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 deleted file mode 100644 index 22f3bf195..000000000 --- a/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.0.bb +++ /dev/null @@ -1,44 +0,0 @@ -KBRANCH ?= "v5.0/standard/preempt-rt/base" - -require recipes-kernel/linux/linux-yocto.inc - -# Skip processing of this recipe if it is not explicitly specified as the -# PREFERRED_PROVIDER for virtual/kernel. This avoids errors when trying -# to build multiple virtual/kernel providers, e.g. as dependency of -# core-image-rt-sdk, core-image-rt. -python () { - if d.getVar("KERNEL_PACKAGE_NAME") == "kernel" and d.getVar("PREFERRED_PROVIDER_virtual/kernel") != "linux-yocto-rt": - raise bb.parse.SkipRecipe("Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-rt to enable it") -} - -SRCREV_machine ?= "e6cb812b5532630b6fc6dfd7778d57a4907d3180" -SRCREV_meta ?= "7f6e97c357746382d4339e7e0463637e715acd4b" - -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.19" - -LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814" - -DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}" -DEPENDS += "openssl-native util-linux-native" - -PV = "${LINUX_VERSION}+git${SRCPV}" - -KMETA = "kernel-meta" -KCONF_BSP_AUDIT_LEVEL = "2" - -LINUX_KERNEL_TYPE = "preempt-rt" - -COMPATIBLE_MACHINE = "(qemux86|qemux86-64|qemuarm|qemuarmv5|qemuarm64|qemuppc|qemumips)" - -KERNEL_DEVICETREE_qemuarmv5 = "versatile-pb.dtb" - -# Functionality flags -KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc features/taskstats/taskstats.scc" -KERNEL_FEATURES_append = " ${KERNEL_EXTRA_FEATURES}" -KERNEL_FEATURES_append_qemuall=" cfg/virtio.scc features/drm-bochs/drm-bochs.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.2.bb b/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.2.bb new file mode 100644 index 000000000..cf5142cf8 --- /dev/null +++ b/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.2.bb @@ -0,0 +1,44 @@ +KBRANCH ?= "v5.2/standard/preempt-rt/base" + +require recipes-kernel/linux/linux-yocto.inc + +# Skip processing of this recipe if it is not explicitly specified as the +# PREFERRED_PROVIDER for virtual/kernel. This avoids errors when trying +# to build multiple virtual/kernel providers, e.g. as dependency of +# core-image-rt-sdk, core-image-rt. +python () { + if d.getVar("KERNEL_PACKAGE_NAME") == "kernel" and d.getVar("PREFERRED_PROVIDER_virtual/kernel") != "linux-yocto-rt": + raise bb.parse.SkipRecipe("Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-rt to enable it") +} + +SRCREV_machine ?= "c6eb169e914def00c37cc2917486c637d800d404" +SRCREV_meta ?= "a36c82128d9ccec878d1c0c4542b87d6cf5e9a7c" + +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.2;destsuffix=${KMETA}" + +LINUX_VERSION ?= "5.2.10" + +LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814" + +DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}" +DEPENDS += "openssl-native util-linux-native" + +PV = "${LINUX_VERSION}+git${SRCPV}" + +KMETA = "kernel-meta" +KCONF_BSP_AUDIT_LEVEL = "2" + +LINUX_KERNEL_TYPE = "preempt-rt" + +COMPATIBLE_MACHINE = "(qemux86|qemux86-64|qemuarm|qemuarmv5|qemuarm64|qemuppc|qemumips)" + +KERNEL_DEVICETREE_qemuarmv5 = "versatile-pb.dtb" + +# Functionality flags +KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc features/taskstats/taskstats.scc" +KERNEL_FEATURES_append = " ${KERNEL_EXTRA_FEATURES}" +KERNEL_FEATURES_append_qemuall=" cfg/virtio.scc features/drm-bochs/drm-bochs.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_5.0.bb b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.0.bb deleted file mode 100644 index 33672c6d4..000000000 --- a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.0.bb +++ /dev/null @@ -1,32 +0,0 @@ -KBRANCH ?= "v5.0/standard/tiny/base" -KBRANCH_qemuarm ?= "v5.0/standard/tiny/arm-versatile-926ejs" - -LINUX_KERNEL_TYPE = "tiny" -KCONFIG_MODE = "--allnoconfig" - -require recipes-kernel/linux/linux-yocto.inc - -LINUX_VERSION ?= "5.0.19" -LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814" - -DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}" -DEPENDS += "openssl-native util-linux-native" - -KMETA = "kernel-meta" -KCONF_BSP_AUDIT_LEVEL = "2" - -SRCREV_machine_qemuarm ?= "b9001287984b0066814c8739f38d629de73739b7" -SRCREV_machine ?= "55dd15336b7301b686a0c183f5372b49c1003d03" -SRCREV_meta ?= "7f6e97c357746382d4339e7e0463637e715acd4b" - -PV = "${LINUX_VERSION}+git${SRCPV}" - -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}" - -COMPATIBLE_MACHINE = "qemux86|qemux86-64|qemuarm|qemuarmv5" - -# Functionality flags -KERNEL_FEATURES = "" - -KERNEL_DEVICETREE_qemuarmv5 = "versatile-pb.dtb" diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.2.bb b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.2.bb new file mode 100644 index 000000000..c2193c0c7 --- /dev/null +++ b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.2.bb @@ -0,0 +1,32 @@ +KBRANCH ?= "v5.2/standard/tiny/base" +KBRANCH_qemuarm ?= "v5.2/standard/tiny/arm-versatile-926ejs" + +LINUX_KERNEL_TYPE = "tiny" +KCONFIG_MODE = "--allnoconfig" + +require recipes-kernel/linux/linux-yocto.inc + +LINUX_VERSION ?= "5.2.10" +LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814" + +DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}" +DEPENDS += "openssl-native util-linux-native" + +KMETA = "kernel-meta" +KCONF_BSP_AUDIT_LEVEL = "2" + +SRCREV_machine_qemuarm ?= "94d03154067049b417526f46429729d4ba1e09b7" +SRCREV_machine ?= "8d8bf56b2373bfdb1a9702b96a0e91e6706f62d4" +SRCREV_meta ?= "a36c82128d9ccec878d1c0c4542b87d6cf5e9a7c" + +PV = "${LINUX_VERSION}+git${SRCPV}" + +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.2;destsuffix=${KMETA}" + +COMPATIBLE_MACHINE = "qemux86|qemux86-64|qemuarm|qemuarmv5" + +# Functionality flags +KERNEL_FEATURES = "" + +KERNEL_DEVICETREE_qemuarmv5 = "versatile-pb.dtb" diff --git a/poky/meta/recipes-kernel/linux/linux-yocto_5.0.bb b/poky/meta/recipes-kernel/linux/linux-yocto_5.0.bb deleted file mode 100644 index 887e88e08..000000000 --- a/poky/meta/recipes-kernel/linux/linux-yocto_5.0.bb +++ /dev/null @@ -1,54 +0,0 @@ -KBRANCH ?= "v5.0/standard/base" - -require recipes-kernel/linux/linux-yocto.inc - -# board specific branches -KBRANCH_qemuarm ?= "v5.0/standard/arm-versatile-926ejs" -KBRANCH_qemuarm64 ?= "v5.0/standard/qemuarm64" -KBRANCH_qemumips ?= "v5.0/standard/mti-malta32" -KBRANCH_qemuppc ?= "v5.0/standard/qemuppc" -KBRANCH_qemuriscv64 ?= "v5.0/standard/base" -KBRANCH_qemux86 ?= "v5.0/standard/base" -KBRANCH_qemux86-64 ?= "v5.0/standard/base" -KBRANCH_qemumips64 ?= "v5.0/standard/mti-malta64" - -SRCREV_machine_qemuarm ?= "d1ed980ad989252d42386c8bc63b2f5f11985ea4" -SRCREV_machine_qemuarm64 ?= "55dd15336b7301b686a0c183f5372b49c1003d03" -SRCREV_machine_qemumips ?= "1520e78195e64f27be46a46a8d6711c8470fb083" -SRCREV_machine_qemuppc ?= "55dd15336b7301b686a0c183f5372b49c1003d03" -SRCREV_machine_qemuriscv64 ?= "00638cdd8f92869a0f89ebe3289fdbd856ba9458" -SRCREV_machine_qemux86 ?= "55dd15336b7301b686a0c183f5372b49c1003d03" -SRCREV_machine_qemux86-64 ?= "55dd15336b7301b686a0c183f5372b49c1003d03" -SRCREV_machine_qemumips64 ?= "9d4105b32cf123a861bc754377d2f2e156278a7e" -SRCREV_machine ?= "55dd15336b7301b686a0c183f5372b49c1003d03" -SRCREV_meta ?= "7f6e97c357746382d4339e7e0463637e715acd4b" - -# remap qemuarm to qemuarma15 for the 5.0 kernel -# KMACHINE_qemuarm ?= "qemuarma15" - -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-5.0;destsuffix=${KMETA}" - -LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814" -LINUX_VERSION ?= "5.0.19" - -DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}" -DEPENDS += "openssl-native util-linux-native" - -PV = "${LINUX_VERSION}+git${SRCPV}" - -KMETA = "kernel-meta" -KCONF_BSP_AUDIT_LEVEL = "2" - -KERNEL_DEVICETREE_qemuarmv5 = "versatile-pb.dtb" - -COMPATIBLE_MACHINE = "qemuarm|qemuarmv5|qemuarm64|qemux86|qemuppc|qemumips|qemumips64|qemux86-64|qemuriscv64" - -# Functionality flags -KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc" -KERNEL_FEATURES_append = " ${KERNEL_EXTRA_FEATURES}" -KERNEL_FEATURES_append_qemuall=" cfg/virtio.scc features/drm-bochs/drm-bochs.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.2.bb b/poky/meta/recipes-kernel/linux/linux-yocto_5.2.bb new file mode 100644 index 000000000..9a75f1781 --- /dev/null +++ b/poky/meta/recipes-kernel/linux/linux-yocto_5.2.bb @@ -0,0 +1,54 @@ +KBRANCH ?= "v5.2/standard/base" + +require recipes-kernel/linux/linux-yocto.inc + +# board specific branches +KBRANCH_qemuarm ?= "v5.2/standard/arm-versatile-926ejs" +KBRANCH_qemuarm64 ?= "v5.2/standard/qemuarm64" +KBRANCH_qemumips ?= "v5.2/standard/mti-malta32" +KBRANCH_qemuppc ?= "v5.2/standard/qemuppc" +KBRANCH_qemuriscv64 ?= "v5.2/standard/base" +KBRANCH_qemux86 ?= "v5.2/standard/base" +KBRANCH_qemux86-64 ?= "v5.2/standard/base" +KBRANCH_qemumips64 ?= "v5.2/standard/mti-malta64" + +SRCREV_machine_qemuarm ?= "d329dc7256dfef66dedb604cafea5b5685c57f9d" +SRCREV_machine_qemuarm64 ?= "8d8bf56b2373bfdb1a9702b96a0e91e6706f62d4" +SRCREV_machine_qemumips ?= "6a46b8261433131ea99e5725d3fd75969004617c" +SRCREV_machine_qemuppc ?= "8d8bf56b2373bfdb1a9702b96a0e91e6706f62d4" +SRCREV_machine_qemuriscv64 ?= "8d8bf56b2373bfdb1a9702b96a0e91e6706f62d4" +SRCREV_machine_qemux86 ?= "8d8bf56b2373bfdb1a9702b96a0e91e6706f62d4" +SRCREV_machine_qemux86-64 ?= "8d8bf56b2373bfdb1a9702b96a0e91e6706f62d4" +SRCREV_machine_qemumips64 ?= "06bd563009ffc480befa0d116faed18e63785739" +SRCREV_machine ?= "8d8bf56b2373bfdb1a9702b96a0e91e6706f62d4" +SRCREV_meta ?= "a36c82128d9ccec878d1c0c4542b87d6cf5e9a7c" + +# remap qemuarm to qemuarma15 for the 5.2 kernel +# KMACHINE_qemuarm ?= "qemuarma15" + +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-5.2;destsuffix=${KMETA}" + +LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814" +LINUX_VERSION ?= "5.2.10" + +DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}" +DEPENDS += "openssl-native util-linux-native" + +PV = "${LINUX_VERSION}+git${SRCPV}" + +KMETA = "kernel-meta" +KCONF_BSP_AUDIT_LEVEL = "2" + +KERNEL_DEVICETREE_qemuarmv5 = "versatile-pb.dtb" + +COMPATIBLE_MACHINE = "qemuarm|qemuarmv5|qemuarm64|qemux86|qemuppc|qemumips|qemumips64|qemux86-64|qemuriscv64" + +# Functionality flags +KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc" +KERNEL_FEATURES_append = " ${KERNEL_EXTRA_FEATURES}" +KERNEL_FEATURES_append_qemuall=" cfg/virtio.scc features/drm-bochs/drm-bochs.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/perf/perf.bb b/poky/meta/recipes-kernel/perf/perf.bb index 4e603f1a3..7f00df0f8 100644 --- a/poky/meta/recipes-kernel/perf/perf.bb +++ b/poky/meta/recipes-kernel/perf/perf.bb @@ -13,7 +13,7 @@ PR = "r9" PACKAGECONFIG ??= "scripting tui libunwind" PACKAGECONFIG[dwarf] = ",NO_DWARF=1" -PACKAGECONFIG[scripting] = ",NO_LIBPERL=1 NO_LIBPYTHON=1,perl python" +PACKAGECONFIG[scripting] = ",NO_LIBPERL=1 NO_LIBPYTHON=1,perl python3" # gui support was added with kernel 3.6.35 # since 3.10 libnewt was replaced by slang # to cover a wide range of kernel we add both dependencies @@ -44,8 +44,8 @@ PROVIDES = "virtual/perf" inherit linux-kernel-base kernel-arch manpages # needed for building the tools/perf Python bindings -inherit ${@bb.utils.contains('PACKAGECONFIG', 'scripting', 'pythonnative', '', d)} -inherit python-dir +inherit ${@bb.utils.contains('PACKAGECONFIG', 'scripting', 'python3native', '', d)} +inherit python3-dir export PYTHON_SITEPACKAGES_DIR #kernel 3.1+ supports WERROR to disable warnings as errors @@ -94,6 +94,7 @@ EXTRA_OEMAKE += "\ 'sharedir=${@os.path.relpath(datadir, prefix)}' \ 'mandir=${@os.path.relpath(mandir, prefix)}' \ 'infodir=${@os.path.relpath(infodir, prefix)}' \ + ${@bb.utils.contains('PACKAGECONFIG', 'scripting', 'PYTHON=python3 PYTHON_CONFIG=python3-config', '', d)} \ " # During do_configure, we might run a 'make clean'. That often breaks @@ -132,7 +133,7 @@ do_install() { oe_runmake install # we are checking for this make target to be compatible with older perf versions if ${@bb.utils.contains('PACKAGECONFIG', 'scripting', 'true', 'false', d)} && grep -q install-python_ext ${S}/tools/perf/Makefile*; then - oe_runmake DESTDIR=${D} install-python_ext + oe_runmake DESTDIR=${D} install-python_ext fi } @@ -232,13 +233,19 @@ do_configure_prepend () { fi # use /usr/bin/env instead of version specific python - for s in `find ${S}/tools/perf/scripts/python/ -name '*.py'`; do - sed -i 's,/usr/bin/python2,/usr/bin/env python,' "${s}" + for s in `find ${S}/tools/perf/ -name '*.py'`; do + sed -i 's,/usr/bin/python,/usr/bin/env python3,' "${s}" + sed -i 's,/usr/bin/python2,/usr/bin/env python3,' "${s}" + sed -i 's,/usr/bin/env python2,/usr/bin/env python3,' "${s}" done # unistd.h can be out of sync between libc-headers and the captured version in the perf source # so we copy it from the sysroot unistd.h to the perf unistd.h install -D -m0644 ${STAGING_INCDIR}/asm-generic/unistd.h ${S}/tools/include/uapi/asm-generic/unistd.h + install -D -m0644 ${STAGING_INCDIR}/asm-generic/unistd.h ${S}/include/uapi/asm-generic/unistd.h + + # bits.h can have the same issuen as unistd.h, so we make the tools variant take precedence + install -D -m0644 ${S}/tools/include/linux/bits.h ${S}/include/linux/bits.h } python do_package_prepend() { @@ -252,9 +259,9 @@ PACKAGES =+ "${PN}-archive ${PN}-tests ${PN}-perl ${PN}-python" RDEPENDS_${PN} += "elfutils bash" RDEPENDS_${PN}-archive =+ "bash" -RDEPENDS_${PN}-python =+ "bash python python-modules ${@bb.utils.contains('PACKAGECONFIG', 'audit', 'audit-python', '', d)}" +RDEPENDS_${PN}-python =+ "bash python3 python3-modules ${@bb.utils.contains('PACKAGECONFIG', 'audit', 'audit-python3', '', d)}" RDEPENDS_${PN}-perl =+ "bash perl perl-modules" -RDEPENDS_${PN}-tests =+ "python" +RDEPENDS_${PN}-tests =+ "python3" RSUGGESTS_SCRIPTING = "${@bb.utils.contains('PACKAGECONFIG', 'scripting', '${PN}-perl ${PN}-python', '',d)}" RSUGGESTS_${PN} += "${PN}-archive ${PN}-tests ${RSUGGESTS_SCRIPTING}" diff --git a/poky/meta/recipes-kernel/systemtap/systemtap/configure-allow-to-disable-libvirt.patch b/poky/meta/recipes-kernel/systemtap/systemtap/configure-allow-to-disable-libvirt.patch deleted file mode 100644 index b4f2fbc06..000000000 --- a/poky/meta/recipes-kernel/systemtap/systemtap/configure-allow-to-disable-libvirt.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 5eb10d90af9178edb65e6091ae939d1b5b19bb78 Mon Sep 17 00:00:00 2001 -From: Wenzong Fan -Date: Tue, 23 Sep 2014 04:47:10 -0400 -Subject: [PATCH] systemtap: allow to disable libvirt - -Upstream-Status: Pending - -Signed-off-by: Wenzong Fan ---- - configure.ac | 13 +++++++++---- - 1 file changed, 9 insertions(+), 4 deletions(-) - -diff --git a/configure.ac b/configure.ac -index a631ae7..cb4885b 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -525,10 +525,15 @@ dnl Check for the libvirt and libxml2 devel packages - - dnl We require libvirt >= 1.0.2 because stapvirt relies on the - dnl virDomainOpenChannel function, which was implemented in 1.0.2. --PKG_CHECK_MODULES([libvirt], [libvirt >= 1.0.2], [ -- have_libvirt=yes -- AC_DEFINE([HAVE_LIBVIRT],[1],[Define to 1 if libvirt development libraries are installed]) -- ], [have_libvirt=no]) -+AC_ARG_ENABLE([libvirt], -+ AS_HELP_STRING([--disable-libvirt], [Do not use libvirt even if present])) -+ -+if test "$enable_libvirt" != no; then -+ PKG_CHECK_MODULES([libvirt], [libvirt >= 1.0.2], [ -+ have_libvirt=yes -+ AC_DEFINE([HAVE_LIBVIRT],[1],[Define to 1 if libvirt development libraries are installed]) -+ ], [have_libvirt=no]) -+fi - AM_CONDITIONAL([HAVE_LIBVIRT], [test "${have_libvirt}" = "yes"]) - PKG_CHECK_MODULES([libxml2], [libxml-2.0], [ - have_libxml2=yes --- -1.7.9.5 - diff --git a/poky/meta/recipes-kernel/systemtap/systemtap/monitor-option.patch b/poky/meta/recipes-kernel/systemtap/systemtap/monitor-option.patch deleted file mode 100644 index 9313a5aba..000000000 --- a/poky/meta/recipes-kernel/systemtap/systemtap/monitor-option.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 93fc4744fedf6fc593ee656968da97f7b1862ada Mon Sep 17 00:00:00 2001 -From: Ross Burton -Date: Tue, 4 Oct 2016 16:37:53 +0100 -Subject: [PATCH 4/6] systemtap: rationalise dependencies - -Add an option to explicitly disable the monitor (and therefore the dependency on -json-c and ncurses). - -Upstream-Status: Pending -Signed-off-by: Ross Burton - ---- - configure.ac | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -Index: git/configure.ac -=================================================================== ---- git.orig/configure.ac -+++ git/configure.ac -@@ -766,13 +766,16 @@ dnl We want either (or both) python prob - AM_CONDITIONAL([HAVE_PYTHON_PROBES], - [test "x$have_python2_support" = "xyes" -o "x$have_python3_support" = "xyes"]) - -+AC_ARG_ENABLE([monitor], AS_HELP_STRING([--disable-monitor],[Disable monitor])) -+if test "$enable_monitor" != "no"; then - dnl Check for presence of json-c and ncurses for use in monitor mode - PKG_CHECK_MODULES([jsonc], [json-c >= 0.11], [have_jsonc=yes], [have_jsonc=no]) - PKG_CHECK_MODULES([ncurses], [ncurses], [have_ncurses=yes], [have_ncurses=no]) --AM_CONDITIONAL([HAVE_MONITOR_LIBS], [test "${have_jsonc}" == "yes" -a "${have_ncurses}" == "yes"]) - if test "${have_jsonc}" == "yes" -a "${have_ncurses}" == yes; then - AC_DEFINE([HAVE_MONITOR_LIBS],[1],[Define to 1 if json-c and ncurses libraries are installed]) - fi -+fi -+AM_CONDITIONAL([HAVE_MONITOR_LIBS], [test "${have_jsonc}" == "yes" -a "${have_ncurses}" == "yes" -a "$enable_monitor" != "no"]) - - AC_CACHE_CHECK([for assembler .section "?" flags support], stap_cv_sectionq, [ - old_CFLAGS="$CFLAGS" diff --git a/poky/meta/recipes-kernel/systemtap/systemtap/no-msgfmt-check.patch b/poky/meta/recipes-kernel/systemtap/systemtap/no-msgfmt-check.patch deleted file mode 100644 index 2c860b19e..000000000 --- a/poky/meta/recipes-kernel/systemtap/systemtap/no-msgfmt-check.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 43f1b04449bb1cf7e0092263f1c2a25f3fca08ef Mon Sep 17 00:00:00 2001 -From: Ross Burton -Date: Tue, 8 Nov 2016 23:07:41 +0000 -Subject: [PATCH 5/6] systemtap: remove explicit msgfmt check - -There is no need to explicitly check that msgfmt was found as the gettext macros -handle this for us if NLS is enabled. - -Upstream-Status: Pending -Signed-off-by: Ross Burton - ---- - configure.ac | 4 ---- - 1 file changed, 4 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 2ea9b3cbf..95417f59c 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -36,10 +36,6 @@ AC_CHECK_FUNCS(openat) - AM_GNU_GETTEXT(external) - AM_GNU_GETTEXT_VERSION([0.19.4]) - --if test "x$GMSGFMT" = "x:"; then -- AC_MSG_ERROR([missing gnu /usr/bin/msgfmt]) --fi -- - # We want the 'PYTHON' varible to be python version 2. We also want - # our custom 'PYTHON3' varible to be python version 3. - # --- -2.11.0 - diff --git a/poky/meta/recipes-kernel/systemtap/systemtap/x32_abi_time.patch b/poky/meta/recipes-kernel/systemtap/systemtap/x32_abi_time.patch deleted file mode 100644 index 28a7eae40..000000000 --- a/poky/meta/recipes-kernel/systemtap/systemtap/x32_abi_time.patch +++ /dev/null @@ -1,34 +0,0 @@ -Fix time_t print because in x32 ABI is long long int instead of long int. - -Upstream-Status: Pending - -Signed-off-by: Aníbal Limón - -diff --git a/cache.cxx b/cache.cxx -index 3546b30..19c77ca 100644 ---- a/cache.cxx -+++ b/cache.cxx -@@ -294,7 +294,11 @@ clean_cache(systemtap_session& s) - { - //interval not passed, don't continue - if (s.verbose > 1) -+#if defined(__x86_64__) && defined (__ILP32__) -+ clog << _F("Cache cleaning skipped, interval not reached %lld s / %lu s.", -+#else - clog << _F("Cache cleaning skipped, interval not reached %lu s / %lu s.", -+#endif - (current_time.tv_sec-sb.st_mtime), cache_clean_interval) << endl; - return; - } -@@ -302,7 +306,11 @@ clean_cache(systemtap_session& s) - { - //interval reached, continue - if (s.verbose > 1) -+#if defined(__x86_64__) && defined (__ILP32__) -+ clog << _F("Cleaning cache, interval reached %lld s > %lu s.", -+#else - clog << _F("Cleaning cache, interval reached %lu s > %lu s.", -+#endif - (current_time.tv_sec-sb.st_mtime), cache_clean_interval) << endl; - } - diff --git a/poky/meta/recipes-kernel/systemtap/systemtap_git.inc b/poky/meta/recipes-kernel/systemtap/systemtap_git.inc index c5348b320..abb2b3743 100644 --- a/poky/meta/recipes-kernel/systemtap/systemtap_git.inc +++ b/poky/meta/recipes-kernel/systemtap/systemtap_git.inc @@ -1,13 +1,9 @@ LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" -SRCREV = "984d6d1696ed06626b07cb65ab55d6ae0ece1131" -PV = "4.1" +SRCREV = "57c9aca9f1ff32a6add10e02ecd33b7314fad499" +PV = "4.1+git${SRCPV}" SRC_URI = "git://sourceware.org/git/systemtap.git \ - file://configure-allow-to-disable-libvirt.patch \ - file://x32_abi_time.patch \ - file://monitor-option.patch \ - file://no-msgfmt-check.patch \ file://0001-Do-not-let-configure-write-a-python-location-into-th.patch \ file://0001-Install-python-modules-to-correct-library-dir.patch \ file://0001-staprun-stapbpf-don-t-support-installing-a-non-root.patch \ diff --git a/poky/meta/recipes-multimedia/flac/flac/CVE-2017-6888.patch b/poky/meta/recipes-multimedia/flac/flac/CVE-2017-6888.patch deleted file mode 100644 index f01791680..000000000 --- a/poky/meta/recipes-multimedia/flac/flac/CVE-2017-6888.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 43ecb6431077ff54e9df27f71737e6e96d6c039f Mon Sep 17 00:00:00 2001 -From: Changqing Li -Date: Tue, 21 Aug 2018 14:46:43 +0800 -Subject: [PATCH] From 5f47b63e9c971e6391590caf00a0f2a5ed612e67 Mon Sep 17 - 00:00:00 2001 From: Erik de Castro Lopo Date: Sat, 8 - Apr 2017 18:34:49 +1000 Subject: [PATCH] stream_decoder.c: Fix a memory leak - -Leak reported by Secunia Research. - -Upstream-Status: Backport[https://git.xiph.org/?p=flac.git;a=commit; - h=4f47b63e9c971e6391590caf00a0f2a5ed612e67] - -Update patch to version 1.3.2 -CVE: CVE-2017-6888 - -Signed-off-by: Changqing Li ---- - src/libFLAC/stream_decoder.c | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/src/libFLAC/stream_decoder.c b/src/libFLAC/stream_decoder.c -index d364b0c..ebf93da 100644 ---- a/src/libFLAC/stream_decoder.c -+++ b/src/libFLAC/stream_decoder.c -@@ -1759,6 +1759,9 @@ FLAC__bool read_metadata_vorbiscomment_(FLAC__StreamDecoder *decoder, FLAC__Stre - } - memset (obj->comments[i].entry, 0, obj->comments[i].length) ; - if (!FLAC__bitreader_read_byte_block_aligned_no_crc(decoder->private_->input, obj->comments[i].entry, obj->comments[i].length)) { -+ /* Current i-th entry is bad, so we delete it. */\ -+ free (obj->comments[i].entry) ; -+ obj->comments[i].entry = NULL ; - obj->num_comments = i; - goto skip; - } --- -2.7.4 - diff --git a/poky/meta/recipes-multimedia/flac/flac_1.3.2.bb b/poky/meta/recipes-multimedia/flac/flac_1.3.2.bb deleted file mode 100644 index e8599f6ba..000000000 --- a/poky/meta/recipes-multimedia/flac/flac_1.3.2.bb +++ /dev/null @@ -1,46 +0,0 @@ -SUMMARY = "Free Lossless Audio Codec" -DESCRIPTION = "FLAC stands for Free Lossless Audio Codec, a lossless audio compression format." -HOMEPAGE = "https://xiph.org/flac/" -BUGTRACKER = "http://sourceforge.net/p/flac/bugs/" -SECTION = "libs" -LICENSE = "GFDL-1.2 & GPLv2+ & LGPLv2.1+ & BSD" -LIC_FILES_CHKSUM = "file://COPYING.FDL;md5=ad1419ecc56e060eccf8184a87c4285f \ - file://src/Makefile.am;beginline=1;endline=17;md5=09501c864f89dfc7ead65553129817ca \ - file://COPYING.GPL;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ - file://src/flac/main.c;beginline=1;endline=18;md5=09777e2934947a36f13568d0beb81199 \ - file://COPYING.LGPL;md5=fbc093901857fcd118f065f900982c24 \ - file://src/plugin_common/all.h;beginline=1;endline=18;md5=f56cb4ba9a3bc9ec6102e8df03215271 \ - file://COPYING.Xiph;md5=b59c1b6d7fc0fb7965f821a3d36505e3 \ - file://include/FLAC/all.h;beginline=65;endline=70;md5=64474f2b22e9e77b28d8b8b25c983a48" -DEPENDS = "libogg" - -SRC_URI = "http://downloads.xiph.org/releases/flac/${BP}.tar.xz \ - file://CVE-2017-6888.patch " - - -SRC_URI[md5sum] = "454f1bfa3f93cc708098d7890d0499bd" -SRC_URI[sha256sum] = "91cfc3ed61dc40f47f050a109b08610667d73477af6ef36dcad31c31a4a8d53f" - -CVE_PRODUCT = "libflac flac" - -inherit autotools gettext - -EXTRA_OECONF = "--disable-oggtest \ - --with-ogg-libraries=${STAGING_LIBDIR} \ - --with-ogg-includes=${STAGING_INCDIR} \ - --disable-xmms-plugin \ - --without-libiconv-prefix \ - ac_cv_prog_NASM="" \ - " - -EXTRA_OECONF += "${@bb.utils.contains("TUNE_FEATURES", "altivec", " --enable-altivec", " --disable-altivec", d)}" -EXTRA_OECONF += "${@bb.utils.contains("TUNE_FEATURES", "core2", " --enable-sse", "", d)}" -EXTRA_OECONF += "${@bb.utils.contains("TUNE_FEATURES", "corei7", " --enable-sse", "", d)}" - -PACKAGES += "libflac libflac++ liboggflac liboggflac++" -FILES_${PN} = "${bindir}/*" -FILES_libflac = "${libdir}/libFLAC.so.*" -FILES_libflac++ = "${libdir}/libFLAC++.so.*" -FILES_liboggflac = "${libdir}/libOggFLAC.so.*" -FILES_liboggflac++ = "${libdir}/libOggFLAC++.so.*" - diff --git a/poky/meta/recipes-multimedia/flac/flac_1.3.3.bb b/poky/meta/recipes-multimedia/flac/flac_1.3.3.bb new file mode 100644 index 000000000..fea2be1f6 --- /dev/null +++ b/poky/meta/recipes-multimedia/flac/flac_1.3.3.bb @@ -0,0 +1,45 @@ +SUMMARY = "Free Lossless Audio Codec" +DESCRIPTION = "FLAC stands for Free Lossless Audio Codec, a lossless audio compression format." +HOMEPAGE = "https://xiph.org/flac/" +BUGTRACKER = "http://sourceforge.net/p/flac/bugs/" +SECTION = "libs" +LICENSE = "GFDL-1.2 & GPLv2+ & LGPLv2.1+ & BSD" +LIC_FILES_CHKSUM = "file://COPYING.FDL;md5=ad1419ecc56e060eccf8184a87c4285f \ + file://src/Makefile.am;beginline=1;endline=17;md5=09501c864f89dfc7ead65553129817ca \ + file://COPYING.GPL;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ + file://src/flac/main.c;beginline=1;endline=18;md5=09777e2934947a36f13568d0beb81199 \ + file://COPYING.LGPL;md5=fbc093901857fcd118f065f900982c24 \ + file://src/plugin_common/all.h;beginline=1;endline=18;md5=f56cb4ba9a3bc9ec6102e8df03215271 \ + file://COPYING.Xiph;md5=b59c1b6d7fc0fb7965f821a3d36505e3 \ + file://include/FLAC/all.h;beginline=65;endline=70;md5=64474f2b22e9e77b28d8b8b25c983a48" +DEPENDS = "libogg" + +SRC_URI = "http://downloads.xiph.org/releases/flac/${BP}.tar.xz \ +" + +SRC_URI[md5sum] = "26703ed2858c1fc9ffc05136d13daa69" +SRC_URI[sha256sum] = "213e82bd716c9de6db2f98bcadbc4c24c7e2efe8c75939a1a84e28539c4e1748" + +CVE_PRODUCT = "libflac flac" + +inherit autotools gettext + +EXTRA_OECONF = "--disable-oggtest \ + --with-ogg-libraries=${STAGING_LIBDIR} \ + --with-ogg-includes=${STAGING_INCDIR} \ + --disable-xmms-plugin \ + --without-libiconv-prefix \ + ac_cv_prog_NASM="" \ + " + +EXTRA_OECONF += "${@bb.utils.contains("TUNE_FEATURES", "altivec", " --enable-altivec", " --disable-altivec", d)}" +EXTRA_OECONF += "${@bb.utils.contains("TUNE_FEATURES", "core2", " --enable-sse", "", d)}" +EXTRA_OECONF += "${@bb.utils.contains("TUNE_FEATURES", "corei7", " --enable-sse", "", d)}" + +PACKAGES += "libflac libflac++ liboggflac liboggflac++" +FILES_${PN} = "${bindir}/*" +FILES_libflac = "${libdir}/libFLAC.so.*" +FILES_libflac++ = "${libdir}/libFLAC++.so.*" +FILES_liboggflac = "${libdir}/libOggFLAC.so.*" +FILES_liboggflac++ = "${libdir}/libOggFLAC++.so.*" + diff --git a/poky/meta/recipes-multimedia/libogg/libogg_1.3.3.bb b/poky/meta/recipes-multimedia/libogg/libogg_1.3.3.bb deleted file mode 100644 index 8d88f1f9f..000000000 --- a/poky/meta/recipes-multimedia/libogg/libogg_1.3.3.bb +++ /dev/null @@ -1,17 +0,0 @@ -SUMMARY = "Ogg bitstream and framing libary" -DESCRIPTION = "libogg is the bitstream and framing library \ -for the Ogg project. It provides functions which are \ -necessary to codec libraries like libvorbis." -HOMEPAGE = "http://xiph.org/" -BUGTRACKER = "https://trac.xiph.org/newticket" -SECTION = "libs" -LICENSE = "BSD" -LIC_FILES_CHKSUM = "file://COPYING;md5=db1b7a668b2a6f47b2af88fb008ad555 \ - file://include/ogg/ogg.h;beginline=1;endline=11;md5=eda812856f13a3b1326eb8f020cc3b0b" - -SRC_URI = "http://downloads.xiph.org/releases/ogg/${BP}.tar.xz" - -SRC_URI[md5sum] = "87ed742047f065046eb6c36745d871b8" -SRC_URI[sha256sum] = "4f3fc6178a533d392064f14776b23c397ed4b9f48f5de297aba73b643f955c08" - -inherit autotools pkgconfig diff --git a/poky/meta/recipes-multimedia/libogg/libogg_1.3.4.bb b/poky/meta/recipes-multimedia/libogg/libogg_1.3.4.bb new file mode 100644 index 000000000..8ca001079 --- /dev/null +++ b/poky/meta/recipes-multimedia/libogg/libogg_1.3.4.bb @@ -0,0 +1,17 @@ +SUMMARY = "Ogg bitstream and framing libary" +DESCRIPTION = "libogg is the bitstream and framing library \ +for the Ogg project. It provides functions which are \ +necessary to codec libraries like libvorbis." +HOMEPAGE = "http://xiph.org/" +BUGTRACKER = "https://trac.xiph.org/newticket" +SECTION = "libs" +LICENSE = "BSD" +LIC_FILES_CHKSUM = "file://COPYING;md5=db1b7a668b2a6f47b2af88fb008ad555 \ + file://include/ogg/ogg.h;beginline=1;endline=11;md5=eda812856f13a3b1326eb8f020cc3b0b" + +SRC_URI = "http://downloads.xiph.org/releases/ogg/${BP}.tar.xz" + +SRC_URI[md5sum] = "eadef24aad6e3e8379ba0d14971fd64a" +SRC_URI[sha256sum] = "c163bc12bc300c401b6aa35907ac682671ea376f13ae0969a220f7ddf71893fe" + +inherit autotools pkgconfig diff --git a/poky/meta/recipes-rt/rt-tests/rt-tests_1.1.bb b/poky/meta/recipes-rt/rt-tests/rt-tests_1.1.bb index b673cd784..5aa0aa10c 100644 --- a/poky/meta/recipes-rt/rt-tests/rt-tests_1.1.bb +++ b/poky/meta/recipes-rt/rt-tests/rt-tests_1.1.bb @@ -14,6 +14,10 @@ SRC_URI += " \ file://run-ptest \ file://rt_bmark.py \ " + +# rt-tests needs PI mutex support in libc +COMPATIBLE_HOST_libc-musl = 'null' + # Do not install hwlatdetect EXTRA_OEMAKE += "PYLIB=''" diff --git a/poky/meta/recipes-sato/images/core-image-sato.bb b/poky/meta/recipes-sato/images/core-image-sato.bb index b89795028..673106eb6 100644 --- a/poky/meta/recipes-sato/images/core-image-sato.bb +++ b/poky/meta/recipes-sato/images/core-image-sato.bb @@ -10,3 +10,6 @@ inherit core-image TOOLCHAIN_HOST_TASK_append = " nativesdk-intltool nativesdk-glib-2.0" TOOLCHAIN_HOST_TASK_remove_task-populate-sdk-ext = " nativesdk-intltool nativesdk-glib-2.0" + +QB_MEM = '${@bb.utils.contains("DISTRO_FEATURES", "opengl", "-m 512", "-m 256", d)}' +QB_MEM_qemumips = "-m 256" diff --git a/poky/meta/recipes-sato/webkit/webkitgtk/0001-Tweak-gtkdoc-settings-so-that-gtkdoc-generation-work.patch b/poky/meta/recipes-sato/webkit/webkitgtk/0001-Tweak-gtkdoc-settings-so-that-gtkdoc-generation-work.patch index 664cea9c7..e7c668c04 100644 --- a/poky/meta/recipes-sato/webkit/webkitgtk/0001-Tweak-gtkdoc-settings-so-that-gtkdoc-generation-work.patch +++ b/poky/meta/recipes-sato/webkit/webkitgtk/0001-Tweak-gtkdoc-settings-so-that-gtkdoc-generation-work.patch @@ -1,4 +1,4 @@ -From d3796ad1a19233ee5d3492a5560d7ede882f89cf Mon Sep 17 00:00:00 2001 +From 4b5e02212a31b82fc9b3becad90542274816fc29 Mon Sep 17 00:00:00 2001 From: Alexander Kanavin Date: Thu, 11 Aug 2016 17:13:51 +0300 Subject: [PATCH] Tweak gtkdoc settings so that gtkdoc generation works under @@ -17,23 +17,23 @@ Signed-off-by: Alexander Kanavin 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Source/cmake/GtkDoc.cmake b/Source/cmake/GtkDoc.cmake -index 2ee05550..6cb6313d 100644 +index b0fb31ca..6cb6313d 100644 --- a/Source/cmake/GtkDoc.cmake +++ b/Source/cmake/GtkDoc.cmake @@ -4,7 +4,7 @@ macro(ADD_GTKDOC_GENERATOR _stamp_name _extra_args) add_custom_command( OUTPUT "${CMAKE_BINARY_DIR}/${_stamp_name}" DEPENDS ${DocumentationDependencies} -- COMMAND ${CMAKE_COMMAND} -E env "CC=${CMAKE_C_COMPILER}" "CFLAGS=${CMAKE_C_FLAGS} -Wno-unused-parameter" ${CMAKE_SOURCE_DIR}/Tools/gtkdoc/generate-gtkdoc ${_extra_args} +- COMMAND ${CMAKE_COMMAND} -E env "CC=${CMAKE_C_COMPILER}" "CFLAGS=${CMAKE_C_FLAGS} -Wno-unused-parameter" "LDFLAGS=${CMAKE_EXE_LINKER_FLAGS}" ${CMAKE_SOURCE_DIR}/Tools/gtkdoc/generate-gtkdoc ${_extra_args} + COMMAND ${CMAKE_COMMAND} -E env "CC=${CMAKE_C_COMPILER}" "CFLAGS=${CMAKE_C_FLAGS} -Wno-unused-parameter" "LD=${CMAKE_C_COMPILER}" "LDFLAGS=${CMAKE_C_LINK_FLAGS}" "RUN=${CMAKE_BINARY_DIR}/gtkdoc-qemuwrapper" ${CMAKE_SOURCE_DIR}/Tools/gtkdoc/generate-gtkdoc ${_extra_args} COMMAND touch ${_stamp_name} WORKING_DIRECTORY "${CMAKE_BINARY_DIR}" VERBATIM diff --git a/Tools/gtkdoc/gtkdoc.py b/Tools/gtkdoc/gtkdoc.py -index 81ee8cdc..3e11c2f0 100644 +index 054cafa1..416de7d1 100644 --- a/Tools/gtkdoc/gtkdoc.py +++ b/Tools/gtkdoc/gtkdoc.py -@@ -317,9 +317,9 @@ class GTKDoc(object): +@@ -320,9 +320,9 @@ class GTKDoc(object): additional_ldflags = '%s %s' % (additional_ldflags, arg) ldflags = ' "-L%s" %s ' % (self.library_path, additional_ldflags) + ldflags current_ld_library_path = env.get('LD_LIBRARY_PATH') diff --git a/poky/meta/recipes-sato/webkit/webkitgtk/0001-Unreviewed-fix-build-failure-https-bugs.webkit.org-s.patch b/poky/meta/recipes-sato/webkit/webkitgtk/0001-Unreviewed-fix-build-failure-https-bugs.webkit.org-s.patch deleted file mode 100644 index e550a0d45..000000000 --- a/poky/meta/recipes-sato/webkit/webkitgtk/0001-Unreviewed-fix-build-failure-https-bugs.webkit.org-s.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 4bc241539246f7a17d07357257ab47cb96bc4b69 Mon Sep 17 00:00:00 2001 -From: "ysuzuki@apple.com" -Date: Thu, 18 Apr 2019 07:30:18 +0000 -Subject: [PATCH] Unreviewed, fix build failure - https://bugs.webkit.org/show_bug.cgi?id=195938 - -Including . - -* bmalloc/AvailableMemory.cpp: - -git-svn-id: http://svn.webkit.org/repository/webkit/trunk@244422 268f45cc-cd09-0410-ab3c-d52691b4dbfc - -Upstream-Status: Backport [https://github.com/WebKit/webkit/commit/84c111dc0d83b5acf60706ef49bc2f5e91112471] -Signed-off-by: Khem Raj ---- - Source/bmalloc/bmalloc/AvailableMemory.cpp | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/Source/bmalloc/bmalloc/AvailableMemory.cpp b/Source/bmalloc/bmalloc/AvailableMemory.cpp -index 595889fe..b72000d5 100644 ---- a/Source/bmalloc/bmalloc/AvailableMemory.cpp -+++ b/Source/bmalloc/bmalloc/AvailableMemory.cpp -@@ -32,6 +32,7 @@ - #include "PerProcess.h" - #include "Scavenger.h" - #include "Sizes.h" -+#include - #include - #if BOS(DARWIN) - #if BPLATFORM(IOS_FAMILY) --- -2.22.0 - diff --git a/poky/meta/recipes-sato/webkit/webkitgtk_2.24.3.bb b/poky/meta/recipes-sato/webkit/webkitgtk_2.24.3.bb deleted file mode 100644 index 0e5ee5ba0..000000000 --- a/poky/meta/recipes-sato/webkit/webkitgtk_2.24.3.bb +++ /dev/null @@ -1,131 +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://0001-gstreamer-add-a-missing-format-string.patch \ - file://0001-Unreviewed-fix-build-failure-https-bugs.webkit.org-s.patch \ - " - -SRC_URI[md5sum] = "e2a5bbd09a217eba096a2d1562143e35" -SRC_URI[sha256sum] = "940d746d7e82c357222feb5b3f44c4b201e81df7d81ddca5ca2bf3ae0acf6c51" - -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 " - -EXTRA_OECMAKE_append_mipsarchn32 = " -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 -DENABLE_C_LOOP=ON " - -# 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.4.bb b/poky/meta/recipes-sato/webkit/webkitgtk_2.24.4.bb new file mode 100644 index 000000000..8c695ce9e --- /dev/null +++ b/poky/meta/recipes-sato/webkit/webkitgtk_2.24.4.bb @@ -0,0 +1,130 @@ +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://0001-gstreamer-add-a-missing-format-string.patch \ + " + +SRC_URI[md5sum] = "c214963d8c0e7d83460da04a0d8dda87" +SRC_URI[sha256sum] = "8668b129c026624ec226a4cccf4995f9d26f3e88fc28ab75b0e965f3c32b7dd8" + +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 python3` \ + " + +# 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 " + +EXTRA_OECMAKE_append_mipsarchn32 = " -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 -DENABLE_C_LOOP=ON " + +# 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/boost/bjam-native_1.69.0.bb b/poky/meta/recipes-support/boost/bjam-native_1.69.0.bb deleted file mode 100644 index 94f96e62d..000000000 --- a/poky/meta/recipes-support/boost/bjam-native_1.69.0.bb +++ /dev/null @@ -1,19 +0,0 @@ -require boost-${PV}.inc - -SUMMARY = "Portable Boost.Jam build tool for boost" -SECTION = "devel" - -inherit native - -SRC_URI += "file://bjam-native-build-bjam.debug.patch \ -" - -do_compile() { - ./bootstrap.sh --with-toolset=gcc -} - -do_install() { - install -d ${D}${bindir}/ - # install unstripped version for bjam - install -c -m 755 bjam.debug ${D}${bindir}/bjam -} diff --git a/poky/meta/recipes-support/boost/bjam-native_1.71.0.bb b/poky/meta/recipes-support/boost/bjam-native_1.71.0.bb new file mode 100644 index 000000000..d843eb038 --- /dev/null +++ b/poky/meta/recipes-support/boost/bjam-native_1.71.0.bb @@ -0,0 +1,20 @@ +require boost-${PV}.inc + +SUMMARY = "Portable Boost.Jam build tool for boost" +SECTION = "devel" + +inherit native + +SRC_URI += "file://0001-Build-debug-version-of-bjam.patch \ + file://0001-build.sh-use-DNDEBUG-also-in-debug-builds.patch \ + " + +do_compile() { + ./bootstrap.sh --with-toolset=gcc +} + +do_install() { + install -d ${D}${bindir}/ + # install unstripped version for bjam + install -c -m 755 b2 ${D}${bindir}/bjam +} diff --git a/poky/meta/recipes-support/boost/boost-1.69.0.inc b/poky/meta/recipes-support/boost/boost-1.69.0.inc deleted file mode 100644 index 923436b1e..000000000 --- a/poky/meta/recipes-support/boost/boost-1.69.0.inc +++ /dev/null @@ -1,21 +0,0 @@ -# The Boost web site provides free peer-reviewed portable -# C++ source libraries. The emphasis is on libraries which -# work well with the C++ Standard Library. The libraries are -# intended to be widely useful, and are in regular use by -# thousands of programmers across a broad spectrum of applications. -HOMEPAGE = "http://www.boost.org/" -LICENSE = "BSL-1.0 & MIT & Python-2.0" -LIC_FILES_CHKSUM = "file://LICENSE_1_0.txt;md5=e4224ccaecb14d942c71d31bef20d78c" - -BOOST_VER = "${@"_".join(d.getVar("PV").split("."))}" -BOOST_MAJ = "${@"_".join(d.getVar("PV").split(".")[0:2])}" -BOOST_P = "boost_${BOOST_VER}" - -SRC_URI = "${SOURCEFORGE_MIRROR}/project/boost/boost/${PV}/${BOOST_P}.tar.bz2" -SRC_URI[md5sum] = "a1332494397bf48332cb152abfefcec2" -SRC_URI[sha256sum] = "8f32d4617390d1c2d16f26a27ab60d97807b35440d45891fa340fc2648b04406" - -UPSTREAM_CHECK_URI = "http://www.boost.org/users/download/" -UPSTREAM_CHECK_REGEX = "boostorg/release/(?P.*)/source/" - -S = "${WORKDIR}/${BOOST_P}" diff --git a/poky/meta/recipes-support/boost/boost-1.71.0.inc b/poky/meta/recipes-support/boost/boost-1.71.0.inc new file mode 100644 index 000000000..7164d0f1c --- /dev/null +++ b/poky/meta/recipes-support/boost/boost-1.71.0.inc @@ -0,0 +1,21 @@ +# The Boost web site provides free peer-reviewed portable +# C++ source libraries. The emphasis is on libraries which +# work well with the C++ Standard Library. The libraries are +# intended to be widely useful, and are in regular use by +# thousands of programmers across a broad spectrum of applications. +HOMEPAGE = "http://www.boost.org/" +LICENSE = "BSL-1.0 & MIT & Python-2.0" +LIC_FILES_CHKSUM = "file://LICENSE_1_0.txt;md5=e4224ccaecb14d942c71d31bef20d78c" + +BOOST_VER = "${@"_".join(d.getVar("PV").split("."))}" +BOOST_MAJ = "${@"_".join(d.getVar("PV").split(".")[0:2])}" +BOOST_P = "boost_${BOOST_VER}" + +SRC_URI = "https://dl.bintray.com/boostorg/release/${PV}/source/${BOOST_P}.tar.bz2" +SRC_URI[md5sum] = "4cdf9b5c2dc01fb2b7b733d5af30e558" +SRC_URI[sha256sum] = "d73a8da01e8bf8c7eda40b4c84915071a8c8a0df4a6734537ddde4a8580524ee" + +UPSTREAM_CHECK_URI = "http://www.boost.org/users/download/" +UPSTREAM_CHECK_REGEX = "boostorg/release/(?P.*)/source/" + +S = "${WORKDIR}/${BOOST_P}" diff --git a/poky/meta/recipes-support/boost/boost.inc b/poky/meta/recipes-support/boost/boost.inc index f38554165..e15dce4e1 100644 --- a/poky/meta/recipes-support/boost/boost.inc +++ b/poky/meta/recipes-support/boost/boost.inc @@ -83,7 +83,7 @@ FILES_boost-test = "${libdir}/libboost_prg_exec_monitor*.so.* \ # -dev last to pick up the remaining stuff PACKAGES += "${PN}-dev ${PN}-staticdev" -FILES_${PN}-dev = "${includedir} ${libdir}/libboost_*.so" +FILES_${PN}-dev = "${includedir} ${libdir}/libboost_*.so ${libdir}/cmake" FILES_${PN}-staticdev = "${libdir}/libboost_*.a" # "boost" is a metapackage which pulls in all boost librabries diff --git a/poky/meta/recipes-support/boost/boost/0001-Don-t-set-up-arch-instruction-set-flags-we-do-that-o.patch b/poky/meta/recipes-support/boost/boost/0001-Don-t-set-up-arch-instruction-set-flags-we-do-that-o.patch index 8944cb37b..68d6e6417 100644 --- a/poky/meta/recipes-support/boost/boost/0001-Don-t-set-up-arch-instruction-set-flags-we-do-that-o.patch +++ b/poky/meta/recipes-support/boost/boost/0001-Don-t-set-up-arch-instruction-set-flags-we-do-that-o.patch @@ -1,4 +1,4 @@ -From 3e4eb02eb5951058bc6f8dffbf049eb189df8291 Mon Sep 17 00:00:00 2001 +From f4d3fad43d67808d71325ba0df1457555b9a0086 Mon Sep 17 00:00:00 2001 From: Alexander Kanavin Date: Tue, 18 Dec 2018 15:42:57 +0100 Subject: [PATCH] Don't set up arch/instruction-set flags, we do that ourselves @@ -6,15 +6,16 @@ Subject: [PATCH] Don't set up arch/instruction-set flags, we do that ourselves Upstream-Status: Inappropriate Signed-off-by: Christopher Larson Signed-off-by: Alexander Kanavin + --- - tools/build/src/tools/gcc.jam | 128 ---------------------------------- - 1 file changed, 128 deletions(-) + tools/build/src/tools/gcc.jam | 132 ---------------------------------- + 1 file changed, 132 deletions(-) diff --git a/tools/build/src/tools/gcc.jam b/tools/build/src/tools/gcc.jam -index c57c773f..28618fb1 100644 +index b9bb9cf2a..c7e3cf3fe 100644 --- a/tools/build/src/tools/gcc.jam +++ b/tools/build/src/tools/gcc.jam -@@ -1152,131 +1152,3 @@ local rule cpu-flags ( toolset variable : architecture : instruction-set + : +@@ -1180,135 +1180,3 @@ local rule cpu-flags ( toolset variable : architecture : instruction-set + : $(architecture)/$(instruction-set) : $(values) ; } @@ -144,5 +145,9 @@ index c57c773f..28618fb1 100644 -cpu-flags gcc OPTIONS : power : rios2 : -mcpu=rios2 ; -cpu-flags gcc OPTIONS : power : rsc : -mcpu=rsc ; -cpu-flags gcc OPTIONS : power : rs64a : -mcpu=rs64 ; +-cpu-flags gcc OPTIONS : s390x : z196 : -march=z196 ; +-cpu-flags gcc OPTIONS : s390x : zEC12 : -march=zEC12 ; +-cpu-flags gcc OPTIONS : s390x : z13 : -march=z13 ; +-cpu-flags gcc OPTIONS : s390x : z14 : -march=z14 ; -# AIX variant of RS/6000 & PowerPC -toolset.flags gcc AROPTIONS 64/aix : "-X64" ; diff --git a/poky/meta/recipes-support/boost/boost_1.69.0.bb b/poky/meta/recipes-support/boost/boost_1.69.0.bb deleted file mode 100644 index 324b46f16..000000000 --- a/poky/meta/recipes-support/boost/boost_1.69.0.bb +++ /dev/null @@ -1,9 +0,0 @@ -require boost-${PV}.inc -require boost.inc - -SRC_URI += "file://arm-intrinsics.patch \ - file://boost-CVE-2012-2677.patch \ - file://boost-math-disable-pch-for-gcc.patch \ - file://0001-Apply-boost-1.62.0-no-forced-flags.patch.patch \ - file://0001-Don-t-set-up-arch-instruction-set-flags-we-do-that-o.patch \ - " diff --git a/poky/meta/recipes-support/boost/boost_1.71.0.bb b/poky/meta/recipes-support/boost/boost_1.71.0.bb new file mode 100644 index 000000000..324b46f16 --- /dev/null +++ b/poky/meta/recipes-support/boost/boost_1.71.0.bb @@ -0,0 +1,9 @@ +require boost-${PV}.inc +require boost.inc + +SRC_URI += "file://arm-intrinsics.patch \ + file://boost-CVE-2012-2677.patch \ + file://boost-math-disable-pch-for-gcc.patch \ + file://0001-Apply-boost-1.62.0-no-forced-flags.patch.patch \ + file://0001-Don-t-set-up-arch-instruction-set-flags-we-do-that-o.patch \ + " diff --git a/poky/meta/recipes-support/boost/files/0001-Build-debug-version-of-bjam.patch b/poky/meta/recipes-support/boost/files/0001-Build-debug-version-of-bjam.patch new file mode 100644 index 000000000..c6dcee915 --- /dev/null +++ b/poky/meta/recipes-support/boost/files/0001-Build-debug-version-of-bjam.patch @@ -0,0 +1,38 @@ +From 19c117c3d1388654da484e26afb3fb6c3e4181a9 Mon Sep 17 00:00:00 2001 +From: Daniel Klauer +Date: Tue, 30 Jul 2019 11:39:09 +0200 +Subject: [PATCH] Build debug version of bjam + +bjam is stripped by default, this causes QA warning while stripping it +from do_populate_sysroot(): + + WARNING: File '.../tmp/sysroots/x86_64-linux/usr/bin/bjam' \ + from bjam-native was already stripped, \ + this will prevent future debugging! + +The JAM scripts allow to build unstripped version with '--debug'. Just +build and install the bjam.debug to stop bjam from being stripped in +compile step. + +Upstream-Status: Inappropriate [configuration] +Signed-off-by: Alexander Kanavin +--- + bootstrap.sh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/bootstrap.sh b/bootstrap.sh +index ca0b08d58..87f38dcf2 100755 +--- a/bootstrap.sh ++++ b/bootstrap.sh +@@ -223,7 +223,7 @@ rm -f config.log + if test "x$BJAM" = x; then + $ECHO -n "Building Boost.Build engine with toolset $TOOLSET... " + pwd=`pwd` +- (cd "$my_dir/tools/build/src/engine" && ./build.sh "$TOOLSET") > bootstrap.log 2>&1 ++ (cd "$my_dir/tools/build/src/engine" && ./build.sh "$TOOLSET" --debug) > bootstrap.log 2>&1 + if [ $? -ne 0 ]; then + echo + echo "Failed to build Boost.Build build engine" +-- +2.17.1 + diff --git a/poky/meta/recipes-support/boost/files/0001-build.sh-use-DNDEBUG-also-in-debug-builds.patch b/poky/meta/recipes-support/boost/files/0001-build.sh-use-DNDEBUG-also-in-debug-builds.patch new file mode 100644 index 000000000..4c6ef2ed8 --- /dev/null +++ b/poky/meta/recipes-support/boost/files/0001-build.sh-use-DNDEBUG-also-in-debug-builds.patch @@ -0,0 +1,27 @@ +From 2afd025997a57794ce24e07e914b461dfea6ba5f Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin +Date: Mon, 26 Aug 2019 16:04:16 +0200 +Subject: [PATCH] build.sh: use -DNDEBUG also in debug builds + +Without it, there is a significant performance regression +when running 'bjam install'. + +Upstream-Status: Inappropriate [configuration] +Signed-off-by: Alexander Kanavin +--- + tools/build/src/engine/build.sh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/tools/build/src/engine/build.sh b/tools/build/src/engine/build.sh +index a1e4cd335..64e0a4c80 100755 +--- a/tools/build/src/engine/build.sh ++++ b/tools/build/src/engine/build.sh +@@ -436,7 +436,7 @@ case $B2_OS in + ;; + esac + +-if check_debug_build "$@" ; then B2_CXXFLAGS="${B2_CXXFLAGS_DEBUG}" ++if check_debug_build "$@" ; then B2_CXXFLAGS="${B2_CXXFLAGS_DEBUG} -DNDEBUG" + else B2_CXXFLAGS="${B2_CXXFLAGS_RELEASE} -DNDEBUG" + fi + echo_run ${B2_CXX} ${CXXFLAGS} ${B2_CXXFLAGS} ${B2_SOURCES} -o b2 diff --git a/poky/meta/recipes-support/boost/files/bjam-native-build-bjam.debug.patch b/poky/meta/recipes-support/boost/files/bjam-native-build-bjam.debug.patch deleted file mode 100644 index 9f8b7eac0..000000000 --- a/poky/meta/recipes-support/boost/files/bjam-native-build-bjam.debug.patch +++ /dev/null @@ -1,50 +0,0 @@ -From 619ada314ab26c0c9cbfe5702cd9c0caa8f6415a Mon Sep 17 00:00:00 2001 -From: Wenzong Fan -Date: Mon, 3 Aug 2015 17:12:33 +0800 -Subject: [PATCH] bjam-native: build bjam.debug - -bjam is stripped by default, this causes QA warning while stripping it -from do_populate_sysroot(): - - WARNING: File '.../tmp/sysroots/x86_64-linux/usr/bin/bjam' \ - from bjam-native was already stripped, \ - this will prevent future debugging! - -The JAM scripts allow to build unstripped version with '--debug'. Just -build and install the bjam.debug to stop bjam from being stripped in -compile step. - -Upstream-Status: Inappropriate [configuration] - -Signed-off-by: Wenzong Fan ---- - bootstrap.sh | 1 + - tools/build/src/engine/build.sh | 2 +- - 2 files changed, 2 insertions(+), 1 deletion(-) - -diff --git a/bootstrap.sh b/bootstrap.sh -index 98cf88b..54690aa 100755 ---- a/bootstrap.sh -+++ b/bootstrap.sh -@@ -228,6 +228,7 @@ if test "x$BJAM" = x; then - echo "tools/build/src/engine/$arch/b2" - cp "$BJAM" . - cp "$my_dir/tools/build/src/engine/$arch/bjam" . -+ cp "$my_dir/tools/build/src/engine/${arch}.debug/bjam" bjam.debug - - fi - -diff --git a/tools/build/src/engine/build.sh b/tools/build/src/engine/build.sh -index 6dbc706..c69fdc7 100755 ---- a/tools/build/src/engine/build.sh -+++ b/tools/build/src/engine/build.sh -@@ -312,5 +312,5 @@ if test -x "./bootstrap/jam0" ; then - if test "${BJAM_UPDATE}" != "update" ; then - echo_run ./bootstrap/jam0 -f build.jam --toolset=$BOOST_JAM_TOOLSET "--toolset-root=$BOOST_JAM_TOOLSET_ROOT" "$@" clean - fi -- echo_run ./bootstrap/jam0 -f build.jam --toolset=$BOOST_JAM_TOOLSET "--toolset-root=$BOOST_JAM_TOOLSET_ROOT" "$@" -+ echo_run ./bootstrap/jam0 -f build.jam --toolset=$BOOST_JAM_TOOLSET "--toolset-root=$BOOST_JAM_TOOLSET_ROOT" "$@" --debug - fi --- -1.9.1 - diff --git a/poky/meta/recipes-support/ca-certificates/ca-certificates/0001-certdata2pem.py-use-python3.patch b/poky/meta/recipes-support/ca-certificates/ca-certificates/0001-certdata2pem.py-use-python3.patch new file mode 100644 index 000000000..aa2c85ff4 --- /dev/null +++ b/poky/meta/recipes-support/ca-certificates/ca-certificates/0001-certdata2pem.py-use-python3.patch @@ -0,0 +1,37 @@ +From b6d18ca77f131cdcaa10d0eaa9d303399767edf6 Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin +Date: Wed, 28 Aug 2019 19:18:14 +0200 +Subject: [PATCH] certdata2pem.py: use python3 + +Comments in that file imply it is already py3 compatible. + +Upstream-Status: Pending +Signed-off-by: Alexander Kanavin +--- + mozilla/Makefile | 2 +- + mozilla/certdata2pem.py | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/mozilla/Makefile b/mozilla/Makefile +index 6f46118..f98877c 100644 +--- a/mozilla/Makefile ++++ b/mozilla/Makefile +@@ -3,7 +3,7 @@ + # + + all: +- python certdata2pem.py ++ python3 certdata2pem.py + + clean: + -rm -f *.crt +diff --git a/mozilla/certdata2pem.py b/mozilla/certdata2pem.py +index 0b02b2a..7d796f1 100644 +--- a/mozilla/certdata2pem.py ++++ b/mozilla/certdata2pem.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/python ++#!/usr/bin/python3 + # vim:set et sw=4: + # + # certdata2pem.py - splits certdata.txt into multiple files 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 efd9eaa71..ce3cb217a 100644 --- a/poky/meta/recipes-support/ca-certificates/ca-certificates_20190110.bb +++ b/poky/meta/recipes-support/ca-certificates/ca-certificates_20190110.bb @@ -23,6 +23,7 @@ SRC_URI = "git://salsa.debian.org/debian/ca-certificates.git;protocol=https \ file://default-sysroot.patch \ file://sbindir.patch \ file://0003-update-ca-certificates-use-relative-symlinks-from-ET.patch \ + file://0001-certdata2pem.py-use-python3.patch \ " S = "${WORKDIR}/git" @@ -53,7 +54,7 @@ do_install () { echo "# Lines starting with ! will remove certificate on next update" echo "#" find ${D}${datadir}/ca-certificates -type f -name '*.crt' | \ - sed 's,^${D}${datadir}/ca-certificates/,,' + sed 's,^${D}${datadir}/ca-certificates/,,' | sort } >${D}${sysconfdir}/ca-certificates.conf } diff --git a/poky/meta/recipes-support/libbsd/libbsd/0001-flopen-Add-missing-fcntl.h-include.patch b/poky/meta/recipes-support/libbsd/libbsd/0001-flopen-Add-missing-fcntl.h-include.patch deleted file mode 100644 index 8abb876c7..000000000 --- a/poky/meta/recipes-support/libbsd/libbsd/0001-flopen-Add-missing-fcntl.h-include.patch +++ /dev/null @@ -1,46 +0,0 @@ -From 13c32916b4baab58d93940d57fea9ff0777f1931 Mon Sep 17 00:00:00 2001 -From: Baruch Siach -Date: Tue, 5 Jun 2018 19:21:46 +0300 -Subject: [PATCH] flopen: Add missing include -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Commit 993828d84ee (Add flopenat() function from FreeBSD) dropped the -fcntl.h header. This breaks the build with musl libc: - -flopen.c: In function ‘vflopenat’: -flopen.c:60:14: error: ‘O_CREAT’ undeclared (first use in this function) - if (flags & O_CREAT) { - ^~~~~~~ - -Restore the fcntl.h header include to fix the build. - -Fixes: commit 993828d84eed0468c6c15b2818e534e6b134b8e4 -Submitted-also-by: parazyd -Signed-off-by: Baruch Siach -Signed-off-by: Guillem Jover - -Upstream-Status: Backport -[https://gitlab.freedesktop.org/libbsd/libbsd/commit/13c32916b4baab58d93940d57fea9ff0777f1931] - -Signed-off-by: Yi Zhao ---- - src/flopen.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/src/flopen.c b/src/flopen.c -index b9972c9..ff20d07 100644 ---- a/src/flopen.c -+++ b/src/flopen.c -@@ -32,6 +32,7 @@ - #include - - #include -+#include - #include - #include - --- -2.7.4 - diff --git a/poky/meta/recipes-support/libbsd/libbsd_0.10.0.bb b/poky/meta/recipes-support/libbsd/libbsd_0.10.0.bb new file mode 100644 index 000000000..eaf244a3b --- /dev/null +++ b/poky/meta/recipes-support/libbsd/libbsd_0.10.0.bb @@ -0,0 +1,41 @@ +# Copyright (C) 2013 Khem Raj +# Released under the MIT license (see COPYING.MIT for the terms) + +SUMMARY = "Library of utility functions from BSD systems" +DESCRIPTION = "This library provides useful functions commonly found on BSD systems, \ + and lacking on others like GNU systems, thus making it easier to port \ + projects with strong BSD origins, without needing to embed the same \ + code over and over again on each project." + +HOMEPAGE = "http://libbsd.freedesktop.org/wiki/" +# There seems to be more licenses used in the code, I don't think we want to list them all here, complete list: +# OE @ ~/projects/libbsd $ grep ^License: COPYING | sort -u +# License: BSD-2-clause +# License: BSD-2-clause-NetBSD +# License: BSD-2-clause-author +# License: BSD-2-clause-verbatim +# License: BSD-3-clause +# License: BSD-3-clause-author +# License: BSD-3-clause-John-Birrell +# License: BSD-3-clause-Regents +# License: BSD-4-clause-Christopher-G-Demetriou +# License: BSD-4-clause-Niels-Provos +# License: BSD-5-clause-Peter-Wemm +# License: Beerware +# License: Expat +# License: ISC +# License: ISC-Original +# License: public-domain +# License: public-domain-Colin-Plumb +LICENSE = "BSD-4-Clause & ISC & PD" +LIC_FILES_CHKSUM = "file://COPYING;md5=2120be0173469a06ed185b688e0e1ae0" +SECTION = "libs" + +SRC_URI = "http://libbsd.freedesktop.org/releases/${BPN}-${PV}.tar.xz" + +SRC_URI[md5sum] = "ead96d240d02faa5b921c0aa50c812b5" +SRC_URI[sha256sum] = "34b8adc726883d0e85b3118fa13605e179a62b31ba51f676136ecb2d0bc1a887" + +inherit autotools pkgconfig + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-support/libbsd/libbsd_0.9.1.bb b/poky/meta/recipes-support/libbsd/libbsd_0.9.1.bb deleted file mode 100644 index 2b75cdf95..000000000 --- a/poky/meta/recipes-support/libbsd/libbsd_0.9.1.bb +++ /dev/null @@ -1,44 +0,0 @@ -# Copyright (C) 2013 Khem Raj -# Released under the MIT license (see COPYING.MIT for the terms) - -SUMMARY = "Library of utility functions from BSD systems" -DESCRIPTION = "This library provides useful functions commonly found on BSD systems, \ - and lacking on others like GNU systems, thus making it easier to port \ - projects with strong BSD origins, without needing to embed the same \ - code over and over again on each project." - -HOMEPAGE = "http://libbsd.freedesktop.org/wiki/" -# There seems to be more licenses used in the code, I don't think we want to list them all here, complete list: -# OE @ ~/projects/libbsd $ grep ^License: COPYING | sort -u -# License: BSD-2-clause -# License: BSD-2-clause-NetBSD -# License: BSD-2-clause-author -# License: BSD-2-clause-verbatim -# License: BSD-3-clause -# License: BSD-3-clause-author -# License: BSD-3-clause-John-Birrell -# License: BSD-3-clause-Regents -# License: BSD-4-clause-Christopher-G-Demetriou -# License: BSD-4-clause-Niels-Provos -# License: BSD-5-clause-Peter-Wemm -# License: Beerware -# License: Expat -# License: ISC -# License: ISC-Original -# License: public-domain -# License: public-domain-Colin-Plumb -LICENSE = "BSD-4-Clause & ISC & PD" -LIC_FILES_CHKSUM = "file://COPYING;md5=b552602fda69e34c753d26de383f33c5" -SECTION = "libs" - -SRC_URI = " \ - http://libbsd.freedesktop.org/releases/${BPN}-${PV}.tar.xz \ - file://0001-flopen-Add-missing-fcntl.h-include.patch \ -" - -SRC_URI[md5sum] = "a74b80c4143afa032c90226a4518fffe" -SRC_URI[sha256sum] = "56d835742327d69faccd16955a60b6dcf30684a8da518c4eca0ac713b9e0a7a4" - -inherit autotools pkgconfig - -BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-support/libevdev/libevdev_1.7.0.bb b/poky/meta/recipes-support/libevdev/libevdev_1.7.0.bb deleted file mode 100644 index abd6f386b..000000000 --- a/poky/meta/recipes-support/libevdev/libevdev_1.7.0.bb +++ /dev/null @@ -1,14 +0,0 @@ -SUMMARY = "Wrapper library for evdev devices" -HOMEPAGE = "http://www.freedesktop.org/wiki/Software/libevdev/" -SECTION = "libs" - -LICENSE = "MIT-X" -LIC_FILES_CHKSUM = "file://COPYING;md5=75aae0d38feea6fda97ca381cb9132eb \ - file://libevdev/libevdev.h;endline=21;md5=7ff4f0b5113252c2f1a828e0bbad98d1" - -SRC_URI = "http://www.freedesktop.org/software/libevdev/${BP}.tar.xz" - -SRC_URI[md5sum] = "fabe87d8d7d7f7cdb4a26e5dc99fc517" -SRC_URI[sha256sum] = "11dbe1f2b1d03a51f3e9a196757a75c3a999042ce34cf1fdc00a2363e5a2e369" - -inherit autotools pkgconfig diff --git a/poky/meta/recipes-support/libevdev/libevdev_1.8.0.bb b/poky/meta/recipes-support/libevdev/libevdev_1.8.0.bb new file mode 100644 index 000000000..84274987d --- /dev/null +++ b/poky/meta/recipes-support/libevdev/libevdev_1.8.0.bb @@ -0,0 +1,13 @@ +SUMMARY = "Wrapper library for evdev devices" +HOMEPAGE = "http://www.freedesktop.org/wiki/Software/libevdev/" +SECTION = "libs" + +LICENSE = "MIT-X" +LIC_FILES_CHKSUM = "file://COPYING;md5=75aae0d38feea6fda97ca381cb9132eb \ + file://libevdev/libevdev.h;endline=21;md5=7ff4f0b5113252c2f1a828e0bbad98d1" + +SRC_URI = "http://www.freedesktop.org/software/libevdev/${BP}.tar.xz" +SRC_URI[md5sum] = "879631080be18526737e33b63d848039" +SRC_URI[sha256sum] = "20d3cae4efd277f485abdf8f2a7c46588e539998b5a08c2c4d368218379d4211" + +inherit autotools pkgconfig diff --git a/poky/meta/recipes-support/libevent/libevent/run-ptest b/poky/meta/recipes-support/libevent/libevent/run-ptest index 0241851c7..080806dea 100644 --- a/poky/meta/recipes-support/libevent/libevent/run-ptest +++ b/poky/meta/recipes-support/libevent/libevent/run-ptest @@ -1,18 +1,28 @@ #!/bin/sh -fail=0 +# run-ptest - 'ptest' test infrastructure shell script that +# wraps the libevent test scripts +# +# Trevor Gamblin +############################################################### +LIBEVENTLIB=@libdir@/libevent +LOG="${LIBEVENTLIB}/ptest/libevent_ptest_$(date +%Y%m%d-%H%M%S).log" + +cd ${LIBEVENTLIB}/ptest + for test in ./test/* do - $test - if [ $? -ne 0 ] - then - fail=1 - fi + $test 2>&1| sed -e '/OK/ s/^/PASS: / ; /FAILED/ s/^/FAIL: / ; /SKIPPED/ s/^/SKIP: / ; /DISABLED/ s/^/SKIP: /' | cut -f1,2 -d ':' | tee -a ${LOG} done -if [ $fail -eq 0 ] -then - echo "PASS: libevent" -else - echo "FAIL: libevent" -fi +passed=`grep PASS ${LOG}|wc -l` +failed=`grep FAIL ${LOG}|wc -l` +skipped=`grep -E SKIP ${LOG}|wc -l` +all=$((passed + failed + skipped)) + +( echo "=== Test Summary ===" + echo "TOTAL: ${all}" + echo "PASSED: ${passed}" + echo "FAILED: ${failed}" + echo "SKIPPED: ${skipped}" +) | tee -a ${LOG} diff --git a/poky/meta/recipes-support/libevent/libevent_2.1.11.bb b/poky/meta/recipes-support/libevent/libevent_2.1.11.bb index 1e18f0ab2..f005ab8bd 100644 --- a/poky/meta/recipes-support/libevent/libevent_2.1.11.bb +++ b/poky/meta/recipes-support/libevent/libevent_2.1.11.bb @@ -43,4 +43,7 @@ do_install_ptest() { do install -m 0755 $file ${D}${PTEST_PATH}/test done + + # handle multilib + sed -i s:@libdir@:${libdir}:g ${D}${PTEST_PATH}/run-ptest } diff --git a/poky/meta/recipes-support/libffi/libffi/0001-Fixed-missed-ifndef-for-__mips_soft_float.patch b/poky/meta/recipes-support/libffi/libffi/0001-Fixed-missed-ifndef-for-__mips_soft_float.patch new file mode 100644 index 000000000..00a30a355 --- /dev/null +++ b/poky/meta/recipes-support/libffi/libffi/0001-Fixed-missed-ifndef-for-__mips_soft_float.patch @@ -0,0 +1,31 @@ +From 4149a7627a998731cc246d3f58a36808745d04c8 Mon Sep 17 00:00:00 2001 +From: Carl Hurd +Date: Wed, 18 Jul 2018 09:04:32 -0400 +Subject: [PATCH] Fixed missed #ifndef for __mips_soft_float + +Signed-off-by: Peter Kjellerstedt +--- +Upstream-Status: Submitted [https://github.com/libffi/libffi/pull/442] + + src/mips/o32.S | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/src/mips/o32.S b/src/mips/o32.S +index 44e74cb..799139b 100644 +--- a/src/mips/o32.S ++++ b/src/mips/o32.S +@@ -282,9 +282,11 @@ $LCFI12: + li $13, 1 # FFI_O32 + bne $16, $13, 1f # Skip fp save if FFI_O32_SOFT_FLOAT + ++#ifndef __mips_soft_float + # Store all possible float/double registers. + s.d $f12, FA_0_0_OFF2($fp) + s.d $f14, FA_1_0_OFF2($fp) ++#endif + 1: + # prepare arguments for ffi_closure_mips_inner_O32 + REG_L a0, 4($15) # cif +-- +2.21.0 + diff --git a/poky/meta/recipes-support/libffi/libffi_3.3~rc0.bb b/poky/meta/recipes-support/libffi/libffi_3.3~rc0.bb index dadde0b2a..8acb699d4 100644 --- a/poky/meta/recipes-support/libffi/libffi_3.3~rc0.bb +++ b/poky/meta/recipes-support/libffi/libffi_3.3~rc0.bb @@ -12,9 +12,13 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=3610bb17683a0089ed64055416b2ae1b" SRC_URI = "https://github.com/libffi/libffi/releases/download/v3.3-rc0/libffi-3.3-rc0.tar.gz \ file://not-win32.patch \ + file://0001-Fixed-missed-ifndef-for-__mips_soft_float.patch \ " SRC_URI[md5sum] = "8d2a82a78faf10a5e53c27d986e8f04e" SRC_URI[sha256sum] = "403d67aabf1c05157855ea2b1d9950263fb6316536c8c333f5b9ab1eb2f20ecf" +UPSTREAM_CHECK_URI = "https://github.com/libffi/libffi/releases/" +UPSTREAM_CHECK_REGEX = "libffi-(?P\d+(\.\d+)+)\.tar" +UPSTREAM_VERSION_UNKNOWN = "1" EXTRA_OECONF += "--disable-builddir" EXTRA_OEMAKE_class-target = "LIBTOOLFLAGS='--tag=CC'" diff --git a/poky/meta/recipes-support/libgpg-error/libgpg-error/libgpg-error-1.36-gawk5-support.patch b/poky/meta/recipes-support/libgpg-error/libgpg-error/libgpg-error-1.36-gawk5-support.patch new file mode 100644 index 000000000..b936d1143 --- /dev/null +++ b/poky/meta/recipes-support/libgpg-error/libgpg-error/libgpg-error-1.36-gawk5-support.patch @@ -0,0 +1,144 @@ +Upstream-Status: Backport [https://dev.gnupg.org/T4459] +Signed-off-by: Khem Raj + +From 7865041c77f4f7005282f10f9b6666b19072fbdf Mon Sep 17 00:00:00 2001 +From: NIIBE Yutaka +Date: Mon, 15 Apr 2019 15:10:44 +0900 +Subject: [PATCH] awk: Prepare for Gawk 5.0. + +* src/Makefile.am: Use pkg_namespace (instead of namespace). +* src/mkerrnos.awk: Likewise. +* lang/cl/mkerrcodes.awk: Don't escape # in regexp. +* src/mkerrcodes.awk, src/mkerrcodes1.awk, src/mkerrcodes2.awk: Ditto. + +-- + +In Gawk 5.0, regexp routines are replaced by Gnulib implementation, +which only allows escaping specific characters. + +GnuPG-bug-id: 4459 +Reported-by: Marius Schamschula +Signed-off-by: NIIBE Yutaka +--- + lang/cl/mkerrcodes.awk | 2 +- + src/Makefile.am | 2 +- + src/mkerrcodes.awk | 2 +- + src/mkerrcodes1.awk | 2 +- + src/mkerrcodes2.awk | 2 +- + src/mkerrnos.awk | 2 +- + src/mkstrtable.awk | 10 +++++----- + 7 files changed, 11 insertions(+), 11 deletions(-) + +--- a/lang/cl/mkerrcodes.awk ++++ b/lang/cl/mkerrcodes.awk +@@ -122,7 +122,7 @@ header { + } + + !header { +- sub (/\#.+/, ""); ++ sub (/#.+/, ""); + sub (/[ ]+$/, ""); # Strip trailing space and tab characters. + + if (/^$/) +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -293,7 +293,7 @@ code-from-errno.h: mkerrcodes$(EXEEXT_FO + + errnos-sym.h: Makefile mkstrtable.awk errnos.in + $(AWK) -f $(srcdir)/mkstrtable.awk -v textidx=2 -v nogettext=1 \ +- -v prefix=GPG_ERR_ -v namespace=errnos_ \ ++ -v prefix=GPG_ERR_ -v pkg_namespace=errnos_ \ + $(srcdir)/errnos.in >$@ + + +--- a/src/mkerrcodes.awk ++++ b/src/mkerrcodes.awk +@@ -85,7 +85,7 @@ header { + } + + !header { +- sub (/\#.+/, ""); ++ sub (/#.+/, ""); + sub (/[ ]+$/, ""); # Strip trailing space and tab characters. + + if (/^$/) +--- a/src/mkerrcodes1.awk ++++ b/src/mkerrcodes1.awk +@@ -81,7 +81,7 @@ header { + } + + !header { +- sub (/\#.+/, ""); ++ sub (/#.+/, ""); + sub (/[ ]+$/, ""); # Strip trailing space and tab characters. + + if (/^$/) +--- a/src/mkerrcodes2.awk ++++ b/src/mkerrcodes2.awk +@@ -91,7 +91,7 @@ header { + } + + !header { +- sub (/\#.+/, ""); ++ sub (/#.+/, ""); + sub (/[ ]+$/, ""); # Strip trailing space and tab characters. + + if (/^$/) +--- a/src/mkerrnos.awk ++++ b/src/mkerrnos.awk +@@ -83,7 +83,7 @@ header { + } + + !header { +- sub (/\#.+/, ""); ++ sub (/#.+/, ""); + sub (/[ ]+$/, ""); # Strip trailing space and tab characters. + + if (/^$/) +--- a/src/mkstrtable.awk ++++ b/src/mkstrtable.awk +@@ -77,7 +77,7 @@ + # + # The variable prefix can be used to prepend a string to each message. + # +-# The variable namespace can be used to prepend a string to each ++# The variable pkg_namespace can be used to prepend a string to each + # variable and macro name. + + BEGIN { +@@ -102,7 +102,7 @@ header { + print "/* The purpose of this complex string table is to produce"; + print " optimal code with a minimum of relocations. */"; + print ""; +- print "static const char " namespace "msgstr[] = "; ++ print "static const char " pkg_namespace "msgstr[] = "; + header = 0; + } + else +@@ -110,7 +110,7 @@ header { + } + + !header { +- sub (/\#.+/, ""); ++ sub (/#.+/, ""); + sub (/[ ]+$/, ""); # Strip trailing space and tab characters. + + if (/^$/) +@@ -150,7 +150,7 @@ END { + else + print " gettext_noop (\"" last_msgstr "\");"; + print ""; +- print "static const int " namespace "msgidx[] ="; ++ print "static const int " pkg_namespace "msgidx[] ="; + print " {"; + for (i = 0; i < coded_msgs; i++) + print " " pos[i] ","; +@@ -158,7 +158,7 @@ END { + print " };"; + print ""; + print "static GPG_ERR_INLINE int"; +- print namespace "msgidxof (int code)"; ++ print pkg_namespace "msgidxof (int code)"; + print "{"; + print " return (0 ? 0"; + diff --git a/poky/meta/recipes-support/libgpg-error/libgpg-error_1.36.bb b/poky/meta/recipes-support/libgpg-error/libgpg-error_1.36.bb index 2db544a12..b11ab0548 100644 --- a/poky/meta/recipes-support/libgpg-error/libgpg-error_1.36.bb +++ b/poky/meta/recipes-support/libgpg-error/libgpg-error_1.36.bb @@ -14,6 +14,7 @@ SECTION = "libs" UPSTREAM_CHECK_URI = "https://gnupg.org/download/index.html" SRC_URI = "${GNUPG_MIRROR}/libgpg-error/libgpg-error-${PV}.tar.bz2 \ file://pkgconfig.patch \ + file://libgpg-error-1.36-gawk5-support.patch \ " SRC_URI[md5sum] = "eff437f397e858a9127b76c0d87fa5ed" diff --git a/poky/meta/recipes-support/libnl/libnl/0001-PATCH-fix-libnl-3.4.0-musl-compile-problem.patch b/poky/meta/recipes-support/libnl/libnl/0001-PATCH-fix-libnl-3.4.0-musl-compile-problem.patch deleted file mode 100644 index b20a29962..000000000 --- a/poky/meta/recipes-support/libnl/libnl/0001-PATCH-fix-libnl-3.4.0-musl-compile-problem.patch +++ /dev/null @@ -1,38 +0,0 @@ -Subject: [PATCH] fix libnl-3.4.0 musl compile problem -Avoid in6_addr redefinition - -Upstream-Status: Pending - -Signed-off-by: Huang Qiyu ---- - include/linux-private/linux/if_bridge.h | 1 - - include/linux-private/linux/ipv6.h | 1 - - 2 files changed, 2 deletions(-) - -diff --git a/include/linux-private/linux/if_bridge.h b/include/linux-private/linux/if_bridge.h -index f24050b..8f7490c 100644 ---- a/include/linux-private/linux/if_bridge.h -+++ b/include/linux-private/linux/if_bridge.h -@@ -15,7 +15,6 @@ - - #include - #include --#include - - #define SYSFS_BRIDGE_ATTR "bridge" - #define SYSFS_BRIDGE_FDB "brforward" -diff --git a/include/linux-private/linux/ipv6.h b/include/linux-private/linux/ipv6.h -index e05e684..f16349d 100644 ---- a/include/linux-private/linux/ipv6.h -+++ b/include/linux-private/linux/ipv6.h -@@ -2,7 +2,6 @@ - #define _IPV6_H - - #include --#include - - /* The latest drafts declared increase in minimal mtu up to 1280. */ - --- -2.7.4 - diff --git a/poky/meta/recipes-support/libnl/libnl/fix-pc-file.patch b/poky/meta/recipes-support/libnl/libnl/fix-pc-file.patch deleted file mode 100644 index fe8b833a1..000000000 --- a/poky/meta/recipes-support/libnl/libnl/fix-pc-file.patch +++ /dev/null @@ -1,17 +0,0 @@ -Upstream-Status: Pending - -Some packages are asking only for libnl-2.0, but expects to get also -libnl-genl, libnl-nf libnl-route, easiest way to fix them is here. - -Signed-off-by: Martin Jansa -Index: libnl-3.2.14/libnl-3.0.pc.in -=================================================================== ---- libnl-3.2.14.orig/libnl-3.0.pc.in -+++ libnl-3.2.14/libnl-3.0.pc.in -@@ -6,5 +6,5 @@ includedir=@includedir@ - Name: libnl - Description: Convenience library for netlink sockets - Version: @PACKAGE_VERSION@ --Libs: -L${libdir} -lnl-@MAJ_VERSION@ -+Libs: -L${libdir} -lnl-@MAJ_VERSION@ -lnl-genl-@MAJ_VERSION@ -lnl-nf-@MAJ_VERSION@ -lnl-route-@MAJ_VERSION@ - Cflags: -I${includedir}/libnl@MAJ_VERSION@ diff --git a/poky/meta/recipes-support/libnl/libnl_3.4.0.bb b/poky/meta/recipes-support/libnl/libnl_3.4.0.bb deleted file mode 100644 index 90dc644be..000000000 --- a/poky/meta/recipes-support/libnl/libnl_3.4.0.bb +++ /dev/null @@ -1,46 +0,0 @@ -SUMMARY = "A library for applications dealing with netlink sockets" -HOMEPAGE = "http://www.infradead.org/~tgr/libnl/" -SECTION = "libs/network" - -PE = "1" - -LICENSE = "LGPLv2.1" -LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" - -DEPENDS = "flex-native bison-native" - -SRC_URI = "https://github.com/thom311/${BPN}/releases/download/${BPN}${@d.getVar('PV').replace('.','_')}/${BP}.tar.gz \ - file://fix-pc-file.patch \ - file://0001-PATCH-fix-libnl-3.4.0-musl-compile-problem.patch \ -" - -UPSTREAM_CHECK_URI = "https://github.com/thom311/${BPN}/releases" - -SRC_URI[md5sum] = "8f71910c03db363b41e2ea62057a4311" -SRC_URI[sha256sum] = "b7287637ae71c6db6f89e1422c995f0407ff2fe50cecd61a312b6a9b0921f5bf" - -inherit autotools pkgconfig - -FILES_${PN} = "${libdir}/libnl-3.so.* \ - ${libdir}/libnl.so.* \ - ${sysconfdir}" -RREPLACES_${PN} = "libnl2" -RCONFLICTS_${PN} = "libnl2" -FILES_${PN}-dev += "${libdir}/libnl/cli/*/*.la" -FILES_${PN}-staticdev += "${libdir}/libnl/cli/*/*.a" - -PACKAGES += "${PN}-cli ${PN}-genl ${PN}-idiag ${PN}-nf ${PN}-route ${PN}-xfrm" -FILES_${PN}-cli = "${libdir}/libnl-cli-3.so.* \ - ${libdir}/libnl/cli/*/*.so \ - ${bindir}/genl-ctrl-list \ - ${bindir}/idiag-socket-details \ - ${bindir}/nf-* \ - ${bindir}/nl-*" -FILES_${PN}-genl = "${libdir}/libnl-genl-3.so.* \ - ${libdir}/libnl-genl.so.*" -FILES_${PN}-idiag = "${libdir}/libnl-idiag-3.so.*" -FILES_${PN}-nf = "${libdir}/libnl-nf-3.so.*" -FILES_${PN}-route = "${libdir}/libnl-route-3.so.*" -FILES_${PN}-xfrm = "${libdir}/libnl-xfrm-3.so.*" -RREPLACES_${PN}-genl = "libnl-genl2" -RCONFLICTS_${PN}-genl = "libnl-genl2" diff --git a/poky/meta/recipes-support/libnl/libnl_3.5.0.bb b/poky/meta/recipes-support/libnl/libnl_3.5.0.bb new file mode 100644 index 000000000..c0609c4d9 --- /dev/null +++ b/poky/meta/recipes-support/libnl/libnl_3.5.0.bb @@ -0,0 +1,42 @@ +SUMMARY = "A library for applications dealing with netlink sockets" +HOMEPAGE = "http://www.infradead.org/~tgr/libnl/" +SECTION = "libs/network" + +PE = "1" + +LICENSE = "LGPLv2.1" +LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" + +DEPENDS = "flex-native bison-native" + +SRC_URI = "https://github.com/thom311/${BPN}/releases/download/${BPN}${@d.getVar('PV').replace('.','_')}/${BP}.tar.gz" +SRC_URI[md5sum] = "74ba57b1b1d6f9f92268aa8141d8e8e4" +SRC_URI[sha256sum] = "352133ec9545da76f77e70ccb48c9d7e5324d67f6474744647a7ed382b5e05fa" + +UPSTREAM_CHECK_URI = "https://github.com/thom311/${BPN}/releases" + +inherit autotools pkgconfig + +FILES_${PN} = "${libdir}/libnl-3.so.* \ + ${libdir}/libnl.so.* \ + ${sysconfdir}" +RREPLACES_${PN} = "libnl2" +RCONFLICTS_${PN} = "libnl2" +FILES_${PN}-dev += "${libdir}/libnl/cli/*/*.la" +FILES_${PN}-staticdev += "${libdir}/libnl/cli/*/*.a" + +PACKAGES += "${PN}-cli ${PN}-genl ${PN}-idiag ${PN}-nf ${PN}-route ${PN}-xfrm" +FILES_${PN}-cli = "${libdir}/libnl-cli-3.so.* \ + ${libdir}/libnl/cli/*/*.so \ + ${bindir}/genl-ctrl-list \ + ${bindir}/idiag-socket-details \ + ${bindir}/nf-* \ + ${bindir}/nl-*" +FILES_${PN}-genl = "${libdir}/libnl-genl-3.so.* \ + ${libdir}/libnl-genl.so.*" +FILES_${PN}-idiag = "${libdir}/libnl-idiag-3.so.*" +FILES_${PN}-nf = "${libdir}/libnl-nf-3.so.*" +FILES_${PN}-route = "${libdir}/libnl-route-3.so.*" +FILES_${PN}-xfrm = "${libdir}/libnl-xfrm-3.so.*" +RREPLACES_${PN}-genl = "libnl-genl2" +RCONFLICTS_${PN}-genl = "libnl-genl2" diff --git a/poky/meta/recipes-support/libpsl/libpsl/0001-Makefile.am-use-PYTHON-when-invoking-psl-make-dafsa.patch b/poky/meta/recipes-support/libpsl/libpsl/0001-Makefile.am-use-PYTHON-when-invoking-psl-make-dafsa.patch new file mode 100644 index 000000000..6d6ccf4d2 --- /dev/null +++ b/poky/meta/recipes-support/libpsl/libpsl/0001-Makefile.am-use-PYTHON-when-invoking-psl-make-dafsa.patch @@ -0,0 +1,50 @@ +From a0e6f0ec9dc6dd1db1c03f7f273cc16cb3af5561 Mon Sep 17 00:00:00 2001 +From: Ross Burton +Date: Thu, 11 Jul 2019 17:47:11 +0100 +Subject: [PATCH] Makefile.am: use PYTHON when invoking psl-make-dafsa + +In an environment where only Python 3 is installed, configure.ac finds and sets +PYTHON=python3 correctly but src/psl-make-dafsa is called directly, so the hashbang of +`#!/usr/bin/env python` is used which doesn't exist. + +Fix this by explicitly running $(PYTHON) when using the tool. + +Upstream-Status: Backport [https://github.com/rockdaboot/libpsl/commit/b4fec5d0ddb70fc4f5360eb14f2f5c5e91194333] +Signed-off-by: Alexander Kanavin +--- + src/Makefile.am | 2 +- + tests/Makefile.am | 4 ++-- + 2 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/src/Makefile.am b/src/Makefile.am +index f9c0a3d..a05ea05 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -19,7 +19,7 @@ libpsl_la_LDFLAGS = -no-undefined -version-info $(LIBPSL_SO_VERSION) + # Build rule for suffix_dafsa.c + # PSL_FILE can be set by ./configure --with-psl-file=[PATH] + suffixes_dafsa.h: $(PSL_FILE) $(srcdir)/psl-make-dafsa +- $(srcdir)/psl-make-dafsa --output-format=cxx+ "$(PSL_FILE)" suffixes_dafsa.h ++ $(PYTHON) $(srcdir)/psl-make-dafsa --output-format=cxx+ "$(PSL_FILE)" suffixes_dafsa.h + + EXTRA_DIST = psl-make-dafsa LICENSE.chromium + +diff --git a/tests/Makefile.am b/tests/Makefile.am +index 8b29b61..28a9a0b 100644 +--- a/tests/Makefile.am ++++ b/tests/Makefile.am +@@ -34,9 +34,9 @@ TESTS = $(PSL_TESTS) + # check-local target works in parallel to the tests, so the test suite will likely fail + BUILT_SOURCES = psl.dafsa psl_ascii.dafsa + psl.dafsa: $(top_srcdir)/list/public_suffix_list.dat +- $(top_srcdir)/src/psl-make-dafsa --output-format=binary "$(PSL_FILE)" psl.dafsa ++ $(PYTHON) $(top_srcdir)/src/psl-make-dafsa --output-format=binary "$(PSL_FILE)" psl.dafsa + psl_ascii.dafsa: $(top_srcdir)/list/public_suffix_list.dat +- $(top_srcdir)/src/psl-make-dafsa --output-format=binary --encoding=ascii "$(PSL_FILE)" psl_ascii.dafsa ++ $(PYTHON) $(top_srcdir)/src/psl-make-dafsa --output-format=binary --encoding=ascii "$(PSL_FILE)" psl_ascii.dafsa + + clean-local: + rm -f psl.dafsa psl_ascii.dafsa +-- +2.17.1 + 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 fc2417fc2..9831b4b94 100644 --- a/poky/meta/recipes-support/libpsl/libpsl_0.21.0.bb +++ b/poky/meta/recipes-support/libpsl/libpsl_0.21.0.bb @@ -6,6 +6,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=5437030d9e4fbe7267ced058ddb8a7f5 \ SRC_URI = "https://github.com/rockdaboot/${BPN}/releases/download/${BP}/${BP}.tar.gz \ file://0001-gtk-doc-do-not-include-tree_index.sgml.patch \ + file://0001-Makefile.am-use-PYTHON-when-invoking-psl-make-dafsa.patch \ " SRC_URI[md5sum] = "171e96d887709e36a57f4ee627bf82d2" SRC_URI[sha256sum] = "41bd1c75a375b85c337b59783f5deb93dbb443fb0a52d257f403df7bd653ee12" diff --git a/poky/meta/recipes-support/sqlite/sqlite3.inc b/poky/meta/recipes-support/sqlite/sqlite3.inc index 7cf23d044..4af1e09e8 100644 --- a/poky/meta/recipes-support/sqlite/sqlite3.inc +++ b/poky/meta/recipes-support/sqlite/sqlite3.inc @@ -19,7 +19,7 @@ UPSTREAM_CHECK_REGEX = "releaselog/(?P(\d+[\.\-_]*)+)\.html" CVE_PRODUCT = "sqlite" -inherit autotools pkgconfig +inherit autotools pkgconfig siteinfo # enable those which are enabled by default in configure PACKAGECONFIG ?= "fts4 fts5 json1 rtree dyn_ext" @@ -47,10 +47,14 @@ EXTRA_OECONF = " \ CFLAGS_append = " -fPIC" # pread() is in POSIX.1-2001 so any reasonable system must surely support it -CFLAGS += "-DUSE_PREAD" +CFLAGS_append = " -DUSE_PREAD" # Provide column meta-data API -CFLAGS += "-DSQLITE_ENABLE_COLUMN_METADATA" +CFLAGS_append = " -DSQLITE_ENABLE_COLUMN_METADATA" + +# Unless SQLITE_BYTEORDER is predefined, the code falls back to build time +# huristics, which are not always correct +CFLAGS_append = " ${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'le', '-DSQLITE_BYTEORDER=1234', '-DSQLITE_BYTEORDER=4321', d)}" PACKAGES = "lib${BPN} lib${BPN}-dev lib${BPN}-doc ${PN}-dbg lib${BPN}-staticdev ${PN}" diff --git a/poky/meta/recipes.txt b/poky/meta/recipes.txt index 9e178d6ce..fb2c25014 100644 --- a/poky/meta/recipes.txt +++ b/poky/meta/recipes.txt @@ -3,11 +3,10 @@ recipes-connectivity - Libraries and applications related to communication with recipes-core - What's needed to build a basic working Linux image including commonly used dependencies recipes-devtools - Tools primarily used by the build system (but can also be used on targets) recipes-extended - Applications which whilst not essential add features compared to the alternatives in - core. May be needed for full tool functionality or LSB compliance. + core. May be needed for full tool functionality. recipes-gnome - All things related to the GTK+ application framework recipes-graphics - X and other graphically related system libraries recipes-kernel - The kernel and generic applications/libraries with strong kernel dependencies -recipes-lsb4 - Recipes added for the sole purpose of supporting the Linux Standard Base (LSB) 4.x recipes-multimedia - Codecs and support utilties for audio, images and video recipes-rt - Provides package and image recipes for using and testing the PREEMPT_RT kernel recipes-sato - The Sato demo/reference UI/UX, its associated apps and configuration diff --git a/poky/scripts/lib/checklayer/cases/common.py b/poky/scripts/lib/checklayer/cases/common.py index 8ffe028b3..b82304e36 100644 --- a/poky/scripts/lib/checklayer/cases/common.py +++ b/poky/scripts/lib/checklayer/cases/common.py @@ -12,7 +12,7 @@ from checklayer.case import OECheckLayerTestCase class CommonCheckLayer(OECheckLayerTestCase): def test_readme(self): # The top-level README file may have a suffix (like README.rst or README.txt). - readme_files = glob.glob(os.path.join(self.tc.layer['path'], 'README*')) + readme_files = glob.glob(os.path.join(self.tc.layer['path'], '[Rr][Ee][Aa][Dd][Mm][Ee]*')) self.assertTrue(len(readme_files) > 0, msg="Layer doesn't contains README file.") diff --git a/poky/scripts/lib/devtool/standard.py b/poky/scripts/lib/devtool/standard.py index 96af48879..9eeaefb79 100644 --- a/poky/scripts/lib/devtool/standard.py +++ b/poky/scripts/lib/devtool/standard.py @@ -482,9 +482,9 @@ def symlink_oelocal_files_srctree(rd,srctree): addfiles.append(os.path.join(relpth, fn)) if addfiles: bb.process.run('git add %s' % ' '.join(addfiles), cwd=srctree) - useroptions = [] - oe.patch.GitApplyTree.gitCommandUserOptions(useroptions, d=rd) - bb.process.run('git %s commit -a -m "Committing local file symlinks\n\n%s"' % (' '.join(useroptions), oe.patch.GitApplyTree.ignore_commit_prefix), cwd=srctree) + useroptions = [] + oe.patch.GitApplyTree.gitCommandUserOptions(useroptions, d=rd) + bb.process.run('git %s commit -m "Committing local file symlinks\n\n%s"' % (' '.join(useroptions), oe.patch.GitApplyTree.ignore_commit_prefix), cwd=srctree) def _extract_source(srctree, keep_temp, devbranch, sync, config, basepath, workspace, fixed_setup, d, tinfoil, no_overrides=False): diff --git a/poky/scripts/lib/resulttool/log.py b/poky/scripts/lib/resulttool/log.py index 25c339671..2352c767d 100644 --- a/poky/scripts/lib/resulttool/log.py +++ b/poky/scripts/lib/resulttool/log.py @@ -16,6 +16,16 @@ def show_ptest(result, ptest, logger): print("ptest '%s' not found" % ptest) return 1 +def show_reproducible(result, reproducible, logger): + try: + print(result['reproducible'][reproducible]['diffoscope.text']) + return 0 + + except KeyError: + print("reproducible '%s' not found" % reproducible) + return 1 + + def log(args, logger): results = resultutils.load_resultsdata(args.source) @@ -40,17 +50,28 @@ def log(args, logger): with open(dest, 'w') as f: f.write(ptest['log']) - if args.raw: + if args.raw_ptest: if 'ptestresult.rawlogs' in r: print(r['ptestresult.rawlogs']['log']) else: - print('Raw logs not found') + print('Raw ptest logs not found') + return 1 + + if args.raw_reproducible: + if 'reproducible.rawlogs' in r: + print(r['reproducible.rawlogs']['log']) + else: + print('Raw reproducible logs not found') return 1 for ptest in args.ptest: if not show_ptest(r, ptest, logger): return 1 + for reproducible in args.reproducible: + if not show_reproducible(r, reproducible, logger): + return 1 + def register_commands(subparsers): """Register subcommands from this plugin""" parser = subparsers.add_parser('log', help='show logs', @@ -63,9 +84,15 @@ def register_commands(subparsers): help='show logs for a ptest') parser.add_argument('--dump-ptest', metavar='DIR', help='Dump all ptest log files to the specified directory.') + parser.add_argument('--reproducible', action='append', default=[], + help='show logs for a reproducible test') parser.add_argument('--prepend-run', action='store_true', help='''Dump ptest results to a subdirectory named after the test run when using --dump-ptest. Required if more than one test run is present in the result file''') parser.add_argument('--raw', action='store_true', - help='show raw logs') + help='show raw (ptest) logs. Deprecated. Alias for "--raw-ptest"', dest='raw_ptest') + parser.add_argument('--raw-ptest', action='store_true', + help='show raw ptest log') + parser.add_argument('--raw-reproducible', action='store_true', + help='show raw reproducible build logs') diff --git a/poky/scripts/lib/resulttool/report.py b/poky/scripts/lib/resulttool/report.py index f706280aa..8b03717d2 100644 --- a/poky/scripts/lib/resulttool/report.py +++ b/poky/scripts/lib/resulttool/report.py @@ -19,9 +19,9 @@ class ResultsTextReport(object): self.ptests = {} self.ltptests = {} self.ltpposixtests = {} - self.result_types = {'passed': ['PASSED', 'passed'], - 'failed': ['FAILED', 'failed', 'ERROR', 'error', 'UNKNOWN'], - 'skipped': ['SKIPPED', 'skipped']} + self.result_types = {'passed': ['PASSED', 'passed', 'PASS', 'XFAIL'], + 'failed': ['FAILED', 'failed', 'FAIL', 'ERROR', 'error', 'UNKNOWN', 'XPASS'], + 'skipped': ['SKIPPED', 'skipped', 'UNSUPPORTED', 'UNTESTED', 'UNRESOLVED']} def handle_ptest_result(self, k, status, result, machine): diff --git a/poky/scripts/lib/scriptutils.py b/poky/scripts/lib/scriptutils.py index e7e7021c2..c573dc7f6 100644 --- a/poky/scripts/lib/scriptutils.py +++ b/poky/scripts/lib/scriptutils.py @@ -16,12 +16,51 @@ import string import subprocess import sys import tempfile +import threading import importlib from importlib import machinery -def logger_create(name, stream=None): +class KeepAliveStreamHandler(logging.StreamHandler): + def __init__(self, keepalive=True, **kwargs): + super().__init__(**kwargs) + if keepalive is True: + keepalive = 5000 # default timeout + self._timeout = threading.Condition() + self._stop = False + + # background thread waits on condition, if the condition does not + # happen emit a keep alive message + def thread(): + while not self._stop: + with self._timeout: + if not self._timeout.wait(keepalive): + self.emit(logging.LogRecord("keepalive", logging.INFO, + None, None, "Keepalive message", None, None)) + + self._thread = threading.Thread(target = thread, daemon = True) + self._thread.start() + + def close(self): + # mark the thread to stop and notify it + self._stop = True + with self._timeout: + self._timeout.notify() + # wait for it to join + self._thread.join() + super().close() + + def emit(self, record): + super().emit(record) + # trigger timer reset + with self._timeout: + self._timeout.notify() + +def logger_create(name, stream=None, keepalive=None): logger = logging.getLogger(name) - loggerhandler = logging.StreamHandler(stream=stream) + if keepalive is not None: + loggerhandler = KeepAliveStreamHandler(stream=stream, keepalive=keepalive) + else: + loggerhandler = logging.StreamHandler(stream=stream) loggerhandler.setFormatter(logging.Formatter("%(levelname)s: %(message)s")) logger.addHandler(loggerhandler) logger.setLevel(logging.INFO) diff --git a/poky/scripts/lib/wic/canned-wks/qemuriscv.wks b/poky/scripts/lib/wic/canned-wks/qemuriscv.wks new file mode 100644 index 000000000..12c68b706 --- /dev/null +++ b/poky/scripts/lib/wic/canned-wks/qemuriscv.wks @@ -0,0 +1,3 @@ +# short-description: Create qcow2 image for RISC-V QEMU machines + +part / --source rootfs --fstype=ext4 --label root --align 4096 --size 5G diff --git a/poky/scripts/oe-selftest b/poky/scripts/oe-selftest index 57662b2f7..18ac0f586 100755 --- a/poky/scripts/oe-selftest +++ b/poky/scripts/oe-selftest @@ -33,7 +33,7 @@ scriptpath.add_bitbake_lib_path() from oeqa.utils import load_test_components from oeqa.core.exception import OEQAPreRun -logger = scriptutils.logger_create('oe-selftest', stream=sys.stdout) +logger = scriptutils.logger_create('oe-selftest', stream=sys.stdout, keepalive=True) def main(): description = "Script that runs unit tests against bitbake and other Yocto related tools. The goal is to validate tools functionality and metadata integrity. Refer to https://wiki.yoctoproject.org/wiki/Oe-selftest for more information." diff --git a/poky/scripts/runqemu b/poky/scripts/runqemu index e9b83737c..4415e9b69 100755 --- a/poky/scripts/runqemu +++ b/poky/scripts/runqemu @@ -82,7 +82,7 @@ of the following environment variables (in any order): bootparams= - specify custom kernel parameters during boot help, -h, --help: print this text -d, --debug: Enable debug output - -q, --quite: Hide most output except error messages + -q, --quiet: Hide most output except error messages Examples: runqemu @@ -145,8 +145,6 @@ class BaseConfig(object): # to be added with -drive if=pflash. # Found in the same places as the rootfs, with or without one of # these suffices: qcow2, bin. - # Setting one also adds "-vga std" because that is all that - # OVMF supports. self.ovmf_bios = [] # When enrolling default Secure Boot keys, the hypervisor # must provide the Platform Key and the first Key Exchange Key @@ -755,8 +753,8 @@ class BaseConfig(object): if s: self.set('QB_MEM', '-m %s' % s.group(1)) elif not self.get('QB_MEM'): - logger.info('QB_MEM is not set, use 512M by default') - self.set('QB_MEM', '-m 512') + logger.info('QB_MEM is not set, use 256M by default') + self.set('QB_MEM', '-m 256') # Check and remove M or m suffix qb_mem = self.get('QB_MEM') @@ -1283,10 +1281,6 @@ class BaseConfig(object): for ovmf in self.ovmf_bios: format = ovmf.rsplit('.', 1)[-1] self.qemu_opt += ' -drive if=pflash,format=%s,file=%s' % (format, ovmf) - if self.ovmf_bios: - # OVMF only supports normal VGA, i.e. we need to override a -vga vmware - # that gets added for example for normal qemux86. - self.qemu_opt += ' -vga std' self.qemu_opt += ' ' + self.qemu_opt_script -- cgit v1.2.3