From 26bdd44576f25d63bf32632369b0cbdd94c93d7a Mon Sep 17 00:00:00 2001 From: Brad Bishop Date: Fri, 16 Aug 2019 17:08:17 -0400 Subject: subtree updates MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit meta-openembedded: 64974b8779..c95842cdca: Adrian Bunk (46): modemmanager: Remove the obsolete dependency on dbus-glib gpsd: Remove the obsolete dependency on dbus-glib eggdbus: Remove this obsolete package sanity-meta-gnome: Remove obsolete class gssdp: Merge inc vlc: notify switched to GTK+3 some time ago tremor: Upgrade 20150107 -> 20180319 vlc: Remove the obsolete dependency on dbus-glib blueman: Enable thunar support by default but don't rdepend on it gnome-bluetooth: Drop bluez4 support networkmanager: Drop bluez4 support packagegroup-meta-networking-connectivity: Correct a DISTRO_FEATURES check packagegroup-tools-bluetooth: Remove bluez4 support cpprest: Fix build failure with gcc 8 packagegroup-basic: Remove bluez4 support packagegroup-meta-oe: Remove bogus bluez4 DISTRO_FEATURES checks esound: Remove this obsolete package gpsd: Remove obsolete musl patch gpsd: Don't build without optimization zeromq: Upgrade 4.3.1 -> 4.3.2 obex-data-server: Drop bluez4 support openobex: Drop bluez4 support gpsd: Drop bluez4 support libao: Remove the non-default esound PACKAGECONFIG gpsd: Disable manpage building by config option instead of patching gpsd: Upgrade 3.18.1 -> 3.19 gnome-desktop3: Fix REQUIRED_DISTRO_FEATURES meta-gnome: Remove GNOME_COMPRESS_TYPE = "xz" in recipes jasper: Use the new upstream GitHub location instead of the defunct tarball URL fluidsynth: Add PACKAGECONFIG for readline meta-multimedia: Remove GNOME_COMPRESS_TYPE = "xz" in recipes udisks: Remove this obsolete version gpsd: Switch from python-scons-native to python3-scons-native meta-gnome: Inherit gnomebase instead of gnome meta-oe: Inherit gnomebase instead of gnome libgsf: Drop the obsolete inherit gconf gnome-system-monitor: Add DEPENDS on polkit meta-oe: Change some ftp:// URIs to http(s):// meta-oe: Use GNU_MIRROR in more recipes wireshark: Use an upstream URL that stays valid longer modemmanager: Use a simpler workaround for the clang build network-manager-applet: Remove obsolete do_configure_append network-manager-applet: Remove the obsolete DEPENDS on gconf wv: Remove, abiword was the only user gtkmathview: Remove, abiword was the last user t1lib: Remove, gtkmathview was the last user Alex Kiernan (6): keyutils: Fix build with usrmerge iwd: update to 0.18 libzip: Upgrade 1.5.1 -> 1.5.2 zstd: New recipe zstd: Update 1.4.0 -> 1.4.2 iwd: Upgrade 0.18 -> 0.19 Alexander Kanavin (3): python-matplotlib: remove the python 2.x version of the recipe python-oauthlib: remove the 2.x version of the recipe python-pandas: remove the python 2.x version of the recipe Alistair Francis (3): gpsd: Upgrade from 3.17 to 3.18.1 gpsd: Fix the systemd service run paths python: pypi: Add python3-term Anatol Belski (1): gperftools: separate off libtcmalloc-minimal Andreas Müller (2): meta-xfce: Make Kai Kang layer maintainer abiword: remove Andrej Valek (2): nodejs: 10.15.3 -> 10.16.0 nodejs: 10.16.0 -> 10.16.2 André Draszik (1): layer.conf: ignore wireless-regdb->crda dep for siggen purposes Ankit Navik (1): safec: Remove aarch64 from COMPATIBLE_HOST Anuj Mittal (2): xterm: upgrade 330 -> 347 libsdl: import from OE-Core Armin Kuster (5): keyutils: update to 1.6 keyutils: improve ptests keyutils: fix QA WARNING keyutils: fix pulling in glibc when musl enabled keyutils: fix library install path Arturo Buzarra (1): lvm2: Fix RDEPEND on lvm2 to lvm2-udevrules Ayoub Zaki (1): pegtl: Initial recipe Bartosz Golaszewski (2): bats: new package libgpiod: bump version to v1.4.1 Beniamin Sandu (1): unbound: create recipe for version 1.9.2 Callaghan, Dan (1): unixodbc: mysql5 is not required but readline is Changqing Li (15): python-pygobject: fix install dir for python2 dlm: upgrade 4.0.7 -> 4.0.9 uthash: remove uthash-ptest dependencies waf-samba: switch to python3 libtevent: upgrade 0.9.37 -> 0.10.0 libtdb: upgrade 1.3.17 -> 1.4.0 libtalloc: upgrade 2.1.14 -> 2.2.0 samba: upgrade 4.8.12 -> 4.10.5 libldb: upgrade 1.4.1 -> 1.5.4 volume-key: fix "Nothing RPROVIDES" when multilib enabled isomd5sum: fix "Nothing RPROVIDES" when multilib enabled satyr: fix "Nothing RPROVIDES" when multilib enabled libtevent: fix do_package_qa issue libtdb: fix do_package_qa issue fio: Delete redundant tag Chin Huat Ang (1): opencv: 3.4.5 -> 4.1.0 Denys Dmytriyenko (1): ufs-tool: add tool to access UFS (Universal Flash Storage) devices Douglas Royds (2): grpc: DEPENDS on googletest packagegroup-meta-oe: RDEPENDS on googletest Drew Moseley (1): networkmanager: Use ALTERNATIVES for resolv-conf handling. Erik Botö (1): paho-mqtt-c: enable SSL Fabian Klemp (1): openvpn: respect pid file in init.d service start Gianfranco Costamagna (3): iniparser: add initial recipe cpprest: update to 2.10.14 cpprest: Do not export Werror from build system instead of adding -Wno-error to the same build command He Zhe (1): drbd-utils: Fix netlink failure with nested attributes for kernel v5.2 Hongxu Jia (24): packagegroup-xfce-extended: conditional runtime recommends on xfce-polkit xfce-polkit: add required distro feature check to polkit xfce4-session: optional support polkit upower: remove polkit dependency gvfs: add meson option admin and udisks2 to PACKAGECONFIG mongodb: add to PNBLACKLIST itstool: use libxml2 to instead of python3-lxml meta-multimedia: add layer depends on meta-python itstool: use libxml2 to instead of python3-lxml python-six: remove duplicated recipe libauthen-radius-perl: ptest requires meta-networking to be present xfce4-panel: use lxdm to replace dm-tool drop lxdm_%.bbappend python3-pykickstart: 3.18 -> 3.20 python3-blivet: 3.1.2 -> 3.1.4 python-pyparted/python3-pyparted: 3.11.1 -> 3.11.2 libbytesize: 1.4 -> 2.0 libblockdev: 2.20 -> 2.22 network-manager-applet: 1.8.20 -> 1.8.22 thin-provisioning-tools: 0.7.6 -> 0.8.5 libreport: 2.9.7 -> 2.10.0 python3-blivetgui: fix blivet-gui broken php: remove 5.6.40 lmsensors: support package lmsensors Jackie Huang (1): keyutils: add new recipe Jason Wessel (1): libbytesize: Add depends for gettext-native Joshua Lock (3): python-cffi: add missing RDEPENDS on pycparser python-attrs: add native BBCLASSEXTEND python-dateutil: add native BBCLASSEXTEND Kai Kang (39): mozjs: fix configure failure on CentOS 7.6 libvncserver: update to latest commit 1354f7f libxfce4util: 4.13.3 -> 4.13.4 libxfce4ui: 4.13.5 -> 4.13.6 exo: 0.12.5 -> 0.12.6 xfconf: 4.13.7 -> 4.13.8 thunar: 1.8.6 -> 1.8.7 xfce4-session: 4.13.2 -> 4.13.3 xfwm4: 4.13.2 -> 4.13.3 xfdesktop: 4.13.4 -> 4.13.5 xfce4-power-manager: 1.6.2 -> 1.6.3 xfce4-panel: 4.13.5 -> 4.13.6 xfce4-dev-tools: 4.12.0 -> 4.13.0 thunar-volman: 0.9.2 -> 0.9.3 garcon: 0.6.2 -> 0.6.3 xfce4-settings: 4.12.4 -> 4.13.7 xfce4-pulseaudio-plugin: add dependency dbus-glib xfce4-verve-plugin: 1.1.0 -> 2.0.0 net-snmp: update SRC_URI xfwm4: fix assertion error poppler: toggle gobject-introspection support xfce4-settings: rrecommends xfce4-datetime-setter xfce4-datetime-setter: add recipe libxfce4util: 4.13.4 -> 4.14.0 xfconf: 4.13.8 -> 4.14.1 libxfce4ui: 4.13.6 -> 4.14.1 exo: 0.12.6 -> 0.12.8 garcon: 0.6.3 -> 0.6.4 thunar: 1.8.7 -> 1.8.9 thunar-volman: 0.9.3 -> 0.9.5 tumbler: 0.2.0 -> 0.2.7 xfce4-appfinder: 4.13.3 -> 4.14.0 xfce4-dev-tools: 4.13.0 -> 4.14.0 xfce4-panel: 4.13.6 -> 4.14.0 xfce4-power-manager: 1.6.3 -> 1.6.5 xfce4-session: 4.13.3 -> 4.14.0 xfce4-settings: 4.13.7 -> 4.14.0 xfdesktop: 4.13.5 -> 4.14.1 xfwm4: 4.13.3 -> 4.14.0 Khem Raj (44): wvdial: Fix build with musl librelp: Pass Wno-error to compiler recipes: Use BPN instead of PN in SRC_URIs cli11: Refresh patch to fix fuzz sthttpd: Use git SRC_URI instead of github archive arno-iptables-firewall: Switch to git fetcher firewalld: Update to 0.6.3->0.6.4 python-matplotlib: Use git src_uri mpv: Switch to using git fetcher x11vnc: Switch to git fetcher dumb-init: Switch to git fetcher pam-plugin-ldapdb: Use git fetcher libuv: Switch to using git fetcher usbctl: Switch to git fetcher pmdk: Fix libdir which is multi-lib aware kexec-tools-klibc: Refresh patch with no code change log4cplus: Fix build with gold linker orage: Fix build with libical3 pegtl: Fix build with clang/libc++ postfix: Fix build failures with glibc 2.30 snort: Fix build with glibc 2.30 opensaf: Add configure time check to detect gettid API in libc ypbind-mt: Fix build with glibc 2.30 openocd: Fix build with glibc 2.30 netkit-rusers: Add dep on rpcsvc-proto for rpc headers collectd: Fix build with glibc 2.30 alsa-oss: Drop now not needed patch klcc-cross: Recognise --unwindlib clang option libsub-exporter-progressive-perl: Remove unneeded DEPENDS_PN libedit: Delete sjf2410-linux-native: Do not include sys/io.h gradm: Upgrade to 3.1-201903191516 release pmdk: Fix packaging errors when building on non-x86 host klibc: Pass -fno-builtin-bcmp with musl/clang combo graphviz: Fix build error that surfaced with latest pango graphviz: Do not build tcl support for target python-grpcio: Use gettid API from glibc 2.30+ grpc: Update to 1.22.0 android-tools: Fix build with glibc 2.30 iperf2: Upgrade to 2.0.13 netkit-rusers: Depend on rpcsvc-proto-native for rpcgen tool kpatch: Pass ARCH from environment python3-pillow: Provide python3-imaging netkit-rusers: Fix cross-build after glibc dropped rpc Laszlo Toth (1): networkmanager: fix typo in nonarch_base_libdir Liwei Song (2): pm-graph: fix time format parse error fio: fix first direct IO errored when ioengine is splice Luca Boccassi (2): python-pygobject: move python-setuptools from RDEPENDS to DEPENDS python-pygobject: remove build-dependency on setuptools and add dependency on pkgutil Luca Ceresoli (4): fuse-exfat: moved to github exfat-utils: moved to github fuse-exfat: update 1.2.3 -> 1.3.0 exfat-utils: update 1.2.3 -> 1.3.0 Luca Palano (1): Netdata upgrade: 1.8.0 -> 1.16.0 Maciej Pijanowski (8): python3-websockets: upgrade to 8.0.2 python3-multidict: upgrade to 4.5.2 python-engineio: upgrade to 3.9.3 python-socketio: upgrade to 4.3.1 python-aiohttp.inc: add missing RDEPENDS python-async-timeout: add asyncio to RDEPENDS python-socketio.inc: add missing RDEPENDS python3-aiofiles: add recipe Mariano Lopez (1): nftables: 0.9.0 > 0.9.1 Martin Jansa (8): protobuf: fix build with gold SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS add lsb and util-linux for phoronix-test-suite oprofile: drop kernel-vmlinux from RRECOMMENDS libdbi-perl: prevent native libdbi-perl depending on target perl redis: backport a fix for stack trace generation on aarch64 ntop: fix missing return from non-void function python3-twofish: Fix missing return statements in module stubs kernel-selftest: skip -Werror=format-security and fortify Max Krummenacher (1): joe: update to 4.6 Mikko Rapeli (2): protobuf: fix ptest compilation with hardening flags stress-ng: delete recipe Mingli Yu (7): fio: Upgrade to 3.15 crash: Upgrade to 7.2.6 makedumpfile: Upgrade to 1.6.6 hwloc: Upgrade to 1.11.13 iperf3: Upgrade to 3.7 log4cplus: Upgrade to 2.0.4 log4cplus: remove gold linker setting Oleksandr Kravchuk (22): nghttp2: update to 1.39.1 drbd-utils: update to 9.10.0 drbd: update to 9.0.18-1 keepalived: update to 2.0.16 nano: update to 4.3 nuttcp: add systemd unit file mbedtls: update to 2.16.2 dhcpcd: update to 7.2.2 freediameter: update to 1.2.1 sethdlc: set PV in filename miniupnpd: update to 2.1.20190210 ipvsadm: update to 1.30 uftp: update to 4.9.11 libnftnl: update to 1.1.3 dhcpcd: update to 7.2.3 blueman: update to 2.1.1 uftp: update to 4.10 htpdate: update to 1.2.1 dhcpcd: update to 8.0.1 chrony: update to 3.5 wolfssl: update to 4.1.0 dhcpcd: update to 8.0.2 Ovidiu Panait (2): python3-pillow: 5.4.1 -> 6.1 python3-pillow: Add python3-misc/logging/numbers to RDEPENDS Paolo Valente (1): s-suite: push SRCREV to version 3.5 Parthiban Nallathambi (1): python3-matplotlib: add version 3.1.1 Pascal Bach (1): protobuf: 1.3.1 -> 1.3.2 Paul Eggleton (3): mraa: update to 2.0.0 upm: update to 2.0.0 picocom: update to 3.1 Pierre-Jean Texier (2): stunnel: bump to version 5.55 cppzmq: bump to version 4.4.1 Piotr Tworek (1): itstool: Don't use hardcoded, absolute path to python3 binary. Qi.Chen@windriver.com (3): turbostat: set PACKAGE_ARCH as MACHINE_ARCH esmtp: use alternatives to manage /usr/lib/sendmail postfix: use alternatives to manage /usr/lib/sendmail Radovan Scasny (2): dhcpcd: enable udev by default dhcpcd: fix building with pkgconfig Randy MacLeod (2): poppler: update from 0.75.0 to 0.79.0 rsyslog: update from 8.1903.0 to 8.1907.0 Ricardo Ribalda Delgado (1): fwts: Update to 19.06.00 Robert Joslyn (1): cryptsetup: Don't enable udev for native build Roman Stratiienko (1): glmark2: Upgrade SRCREV to latest Ross Burton (2): gtk+: add (from oe-core) gnome-themes-standard: add recipe for GTK+ 2 Adwaita Ruslan Bilovol (2): libnss-nisplus: Add recipe kpatch: fix QA build errors for nativesdk Saravanan Sekar (1): liblightmodbus: Add version 2.0.2 Scott Ellis (1): wireguard: Upgrade 20190406 to 20190702 Slater, Joseph (3): drbd-utils: enable reproducible_build awareness php: remove host specific info from header file mozjs: do not expose intl api for mips64 Tim Orling (9): libencode-perl: upgrade 2.94 -> 3.01; enable ptest libdbi-perl: fix dependencies libtest-nowarnings-perl: add recipe for 1.04 libdbd-sqlite-perl: upgrade 1.54 -> 1.62; enable ptest libsub-uplevel-perl: add recipe for 0.36 libtest-warn-perl: add recipe for 0.36 libcgi-perl: upgrade 4.43 -> 4.44 libnet-ldap-perl: upgrade 0.65 -> 0.66; enable ptest libunicode-linebreak-perl: upgrade 2017.004 -> 2019.001; enable ptest Trevor Gamblin (2): metacity; upgrade from 3.30.1 to 3.32.0 gvfs: upgrade from 1.40.0 to 1.40.2 Vincent Prince (1): mongodb: add mongo shell as a PACKAGECONF option William A. Kennington III via Openembedded-devel (5): gtest: Googletest project is back under github.com/google/googletest googletest: The gtest and gmock projects were combined under googletest in 2015 libtar: Enable libtar-native build fmt: Init at 5.3.0 cli11: 1.7.1 -> 1.8.0 Windel Bouwman (3): python-humanfriendly: Add recipe for the humanfriendly package. Fix python-humanfriendly recipe for python2. Add recipe for the coloredlogs python package. Yi Zhao (7): strongswan: upgrade 5.7.1 -> 5.8.0 snort: fix compile-host-path QA issue cryptsetup: set the default luks format to LUKS1 libldb: upgrade 1.5.4 -> 1.5.5 samba: upgrade 4.10.5 -> 4.10.6 snort: upgrade 2.9.13 -> 2.9.14 snort: upgrade 2.9.14 -> 2.9.14.1 Yong, Jonathan (1): icewm: add recipe Yongxin Liu (3): keyutils: move recipe and patches from meta-security to meta-oe ndctl: v63 -> v65 pmdk: update from 1.4.2 to 1.6 Yuan Chao (9): python-pycodestyle: upgrade 2.4.0 -> 2.5.0 python-lxml: upgrade 4.3.4 -> 4.4.0 python-configparser: upgrade 3.5.0 -> 3.7.4 protobuf: upgrade 3.9.0 -> 3.9.1 python-markupsafe: upgrade 1.0 -> 1.1.1 hostapd: upgrade 2.8 -> 2.9 python-configparser: upgrade 3.7.4 -> 3.8.1 python-lxml: upgrade 4.4.0 -> 4.4.1 python-pip: upgrade 19.2.1 -> 19.2.2 Zang Ruochen (47): postgresql: upgrade 11.3 -> 11.4 wireshark: upgrade 3.0.1 -> 3.0.2 python-pygobject: upgrade 3.32.1 -> 3.32.2 python-alembic: upgrade 1.0.10 -> 1.0.11 logwatch: upgrade 7.4.3 -> 7.5.1 tcsh: upgrade 6.20.00 -> 6.21.00 python-cython: upgrade 0.29.10 -> 0.29.11 dialog: upgrade 1.3-20180621 -> 1.3-20190211 php: upgrade 7.3.6 -> 7.3.7 sessreg: upgrade 1.1.1 -> 1.1.2 python-typing: upgrade 3.6.6 -> 3.7.4 python-mako: upgrade 1.0.12 -> 1.0.13 python-pbr: upgrade 5.2.1 -> 5.4.0 python-cython: upgrade 0.29.11 -> 0.29.12 adcli: added new recipe. python-pyflakes: upgrade 1.6.0 -> 2.1.1 python-protobuf: upgrade 3.8.0 -> 3.9.0 protobuf: upgrade 3.8.0 -> 3.9.0 setxkbmap: upgrade 1.3.1 -> 1.3.2 uftrace: upgrade 0.9.2 -> 0.9.3 wireshark: upgrade 3.0.2 -> 3.0.3 python-pbr: upgrade 5.4.0 -> 5.4.1 dstat: upgrade 0.7.3 -> 0.7.4 python-mako: upgrade 1.0.13 -> 1.0.14 xfsprogs: upgrade 5.0.0 -> 5.1.0 python-beautifulsoup4: upgrade 4.7.1 -> 4.8.0 xterm: upgrade 347 -> 348 python-pip: upgrade 19.1.1 -> 19.2.1 python-paste: upgrade 3.0.8 -> 3.1.0 syslog-ng: append syslog-ng.service dialog: upgrade 1.3-20190211 -> 1.3-20190728 openldap: upgrade 2.4.47 -> 2.4.48 python-cython: upgrade 0.29.12 -> 0.29.13 libsodium: upgrade 1.0.17 -> 1.0.18 hwdata: upgrade 0.322 -> 0.326 python-jsonpatch: upgrade 1.23 -> 1.24 python-pyasn1: upgrade 0.4.5 -> 0.4.6 python-pyasn1-modules: upgrade 0.2.2 -> 0.2.6 python-pyparsing: upgrade 2.4.0 -> 2.4.2 python-pytest-runner: upgrade 4.2 -> 5.1 python-pytz: upgrade 2019.1 -> 2019.2 itstool: upgrade 2.0.5 -> 2.0.6 opensaf: upgrade 5.19.03 -> 5.19.07 libkcapi: upgrade 1.1.4 -> 1.1.5 mcelog: upgrade 162 -> 164 php: upgrade 7.3.7 -> 7.3.8 kpatch: upgrade 0.61 -> 0.71 Zheng Ruoqin (3): python-mako: upgrade 1.0.14 -> 1.1.0 python-pbr: upgrade 5.4.1 -> 5.4.2 dnf-plugin-tui: new recipe wouterlucas (1): python-jsonref: add recipe meta-phosphor: fbd01b6e08..fe8cee7488: Brad Bishop (1): meta-phosphor: sdk: react to upstream gtest rename meta-xilinx: 64aa3d35ae..f3c8b1c9a8: Alejandro Enedino Hernandez Samaniego (7): opencl-clhpp: Allow empty packages to be built opencl-headers: Allow empty packages to be built gcc-8: rebase microblaze patches for gcc 8.2.0 gcc8: update microblaze patches gcc: update microblaze patches update gcc-8 patches gcc: Remove xilinx.ld requirement Jaewon Lee (6): zc1254-zynqmp.conf: Add support for zc1254 evaluation board zc1275-zynqmp.conf: Add support for zc1275 evaluation board zcu102-zynqmp.conf: Changing qemu boot mode Adding FPGA_MNGR_RECONFIG_ENABLE to control enabling fpga manager gcc: Removing already upstreamed patch Rebasing binutils patches from 2.31 to 2.32 Madhurkiran Harikrishnan (2): kernel-module-mali: Fix errors associated with kernel upgrade to 4.19 xf86-video-armsoc: Remove the recipe for xf86-video-armsoc Manjukumar Matha (10): libmali-xlnx_git.bb: Fix the package arch for libmali zcu111-zynqmp.conf: Add support for ZCU111 evaluation board qemu-system-aarch64-multiarch: Enable plm argument in runqemu arm-trusted-firmware.inc: Add support to build ATF for versal devices linux-xlnx.inc: Add support to build kernel for versal devices linux-xlnx.inc: Use KBUILD_DEFCONFIG in externalsrc mode if defined kernel-simpleimage.bbclass: Use dts for simpleImage generation for Microblaze kernel-simpleimage.bbclass: Deploy simpleImage unstrip file kernel-simpleimage.bbclass: Deploy simpleImage strip binutils%.bbappend: Update Microblaze binutils patches to v2.31 Min Ma (4): ocl-icd_git.bb: Add recipe for OpenCL ICD loaders opencl-clhpp_git.bb: Recipe for OpenCL Host API C++ bindings zocl: Recipe for Xilinx runtime driver module xrt: Xilinx Runtime User Space Libraries and headers Sai Hari Chandana Kalluri (1): xilinx-testimage.bbclass: Include IMAGE_AUTOLOGIN and IMAGE_FSTYPES values for runqemu Sreeja Vadakattu (1): machine-xilinx-default.inc: Make u-boot.elf as UBOOT_ELF for zynq Vineeth Chowdary Karumanchi (1): tune-zynq.inc: Build zImage in addition to uImage meta-security: c28b72e91d..ecb526ffab: Armin Kuster (34): linux-bbappends: simplify layers: set warrior only security-test-image: add a testing image runtime: clamav test cleanup packagegroup-core-security: cleanup and remove ptest test-image: add packagegroup-core-security-ptest test-image: add a few more packages to image ima-evm-utils: update to tip runtime: tpm2 fix names in packagecheck tpm2 images: create tpm2 image and fix packagegroup tpm image: split out tpm2 tpm2-pkcs11/tpm2-pkcs11: update to tip tpm2-tcti-uefi: update to tip tpm2-tools: update to 3.2.0 tpm2-tss: update to 2.2.3 tpm2-totp: update to offical release v0.1.1 tpm2-tss-engine: update to 1.0.0 libmspack: update SRC_URI and package clamav: minor recipe cleanup lynis: update to 2.7.5 meta-security-compliance: update README openscap_git: update to 1.3.0 openscap: add 1.3.1 recipes for upstream source scap-security-guide: update to 0.1.44 meta-security-compliance: add meta-python libldb: remove recipe waf-cross-answers: remove files samhain: update to 4.3.3 keyutils: remove from meta-security linux-%: remove kernel fragments now in cache meta-integrity: remove kernel fragments now in cache linux-stable/5.2: add stable bbappend linux-yocto: use 4.19 kernel cache now linux-yocto-dev: update to use kernel cache Dmitry Eremin-Solenikov (11): packagegroup-security-tpm2: stop including tpm2-tcti-uefi tpm2-tss: fix compilation when using updated AX_CODE_COVERAGE macro tpm2-tcti-uefi: add autoconf-archive-native dependency tpm2-tcti-uefi: fix configure arguments tpm2-tcti-uefi: stop inserting host directories into build path tpm2-tcti-uefi: build and install examples meta-integrity: rename IMA_EVM_BASE to INTEGRITY_BASE ima-evm-utils: bump to release 1.2.1 kernel-modsign.bbclass: add support for kernel modules signing linux: add support for kernel modules signing layer.conf: switch to keyutils from meta-oe He Zhe (1): kernel: Add conditional inclusion of fragments for linux-yocto-dev Mark Asselstine (1): openscap/scap-security-guide: use _git instead of versioned filenames Yi Zhao (5): openscap: update recipe scap-security-guide: update recipe openscap: cleanup DEPENDS scap-security-guide: fix typo xmlsec1: upgrade 1.2.27 -> 1.2.28 lumag (3): layer.conf: add dependency on meta-security ima-evm-utils: bump version ima-evm-utils: refresh xattr patch meta-raspberrypi: 8636b63752..b112816e95: Andrei Gherzan (46): rpi-base.inc: Include rpi4 dtb raspberrypi3.conf: Clarify machine mode linux-raspberrypi: Include configuration for RaspberryPi3 defconfig linux-raspberrypi: Update 4.19 kernel to 4.19.56 rpi-base: Rename the rpi0w dtb firmware: Update to 20190620 raspberrypi4.conf: Add initial machine 32 bit configuration linux-firmware-rpidistro: Fix WiFi on RaspberryPi 4 rpi-base.inc: Include the "fake" KMS dtbo raspberrypi4: Use vc4-fkms-v3d linux-raspberrypi: Bump 4.19 revision to fix RPi 4 arm64 builds raspberrypi4-64.conf: Introduce RPi arm64 machine firmware: Rename firmware inc file to raspberrypi-firmware.inc armstubs: Add support for compiling ARM stubs rpi-config: Handle ARMSTUB sdcard_image-rpi.bbclass: Include in the SD card image the armstub file raspberrypi4-64.conf: Initial machine configuration raspberrypi-tools: Update to remove Makefile patch linux-raspberrypi: Fix defconfig for RPi4-64 linux-raspberrypi.inc: Explicitly set defconfig for raspberrypi4-64 sdcard_image-rpi.bbclass: Fix typo linux-raspberrypi: Bump 4.19 revision to have proper coherent_pool set raspberrypi4-64.conf: Define a machine feature for armstubs sdcard_image-rpi.bbclass: Use armstub machine feature linux-raspberrypi: Bump 4.19.57 revision raspberrypi4.conf: Define uboot defconfig raspberrypi4-64.conf: Uboot configuration and drop armstub u-boot: Use a temporary fork for RPi4 support raspberrypi-firmware: Update to 20190709 raspberrypi4.conf: The firmware uses kernel7l.img when LPAE is supported linux-raspberrypi: Bump 4.19 to 4.19.58 linux-raspberrypi: Build dtbs with dtbs make target for all 64bit targets linux-raspberrypi: Bump 4.19 revision raspberrypi4-64.conf: Remove memory limitation u-boot: Replace custom fork by patches u-boot: Update patches for RPi4 rpi-config: Check for armstub based on machine feature sdcard_image-rpi: Check for armstub based on machine feature armstubs: Error out when ARMSTUBS is not defined raspberrypi*: Define ARMSTUB for all machines raspberrypi4-64.conf: Limit RAM to 3G README.md: Use matrix chat room raspberrypi-firmware.inc: Update to 20190718 linux-raspberrypi: Update 4.19 recipe to 4.19.66 mesa: Add v3d and kmsro driver as well raspberrypi4-64: Remove the 3G RAM limitation Carton (2): bluez5: Fixed typo (RC_URI -> SRC_URI) rpi-config: Check some config values against "1" Francesco Giancane (1): linux-raspberrypi: update to 4.14.114 Khem Raj (8): linux-raspberrypi: Upgrade to 4.19.57 userland: Upgrade to latest webkitgtk: Remove -DUSE_GSTREAMER_GL=OFF for vc4graphics layer.conf: Add meta-networking to dynamic layers drbd: Disable for rpi machines packagegroup-rpi-test: Depend on wireless-regdb instead of crda xorg-xserver: Adapt bbappend to latest OE-core python-rtimu,python-sense-hat: Convert to py3 modules Kirill Goncharov (1): omxplayer: Bump revision Martin Jansa (1): sdcard_image-rpi.bbclass: use -v for all mcopy calls and add bbfatal in case mcopy fails Riyaz (1): rpi-base.inc: Enabling open-source vc4graphics driver for all RPI platforms Change-Id: I9e37b5952a2e2e30745275fc89e4dd7c47b851e2 Signed-off-by: Brad Bishop --- ...Do-not-define-gettid-if-glibc-2.30-is-use.patch | 52 + .../android-tools/android-tools_5.1.1.r37.bb | 1 + .../dnf-plugin-tui/dnf-plugin-tui_git.bb | 38 + .../dnf-plugin-tui/files/oe-remote.repo.sample | 5 + .../recipes-devtools/geany/geany-plugins_1.34.bb | 4 +- .../libedit/libedit/stdc-predef.patch | 17 - .../libedit/libedit_20190324-3.1.bb | 23 - ...cplus-version-entry-from-ELF-.comment-sec.patch | 40 + .../recipes-devtools/log4cplus/log4cplus_2.0.3.bb | 18 - .../recipes-devtools/log4cplus/log4cplus_2.0.4.bb | 20 + .../recipes-devtools/nodejs/nodejs_10.15.3.bb | 105 -- .../recipes-devtools/nodejs/nodejs_10.16.2.bb | 110 ++ .../recipes-devtools/octave/octave_4.4.1.bb | 2 +- .../0001-Do-not-include-syscrtl.h-with-glibc.patch | 33 + .../recipes-devtools/openocd/openocd_git.bb | 1 + .../recipes-devtools/perl/libdbi-perl_1.642.bb | 38 +- .../php/php/0001-Add-lpthread-to-link.patch | 38 - .../0001-PHP-5.6-LibSSL-1.1-compatibility.patch | 1285 -------------------- ...cinclude-use-pkgconfig-for-libxml2-config.patch | 90 -- .../php/php/acinclude-xml2-config.patch | 25 - .../php/php/debian-php-fixheader.patch | 31 + ...-acinclude.m4-don-t-unset-cache-variables.patch | 42 - ...hp5-0001-opcache-config.m4-enable-opcache.patch | 387 ------ .../php5-change-AC_TRY_RUN-to-AC_TRY_LINK.patch | 63 - .../php/php/php5-pear-makefile.patch | 26 - .../php/php/php5-phar-makefile.patch | 46 - .../php/php/pthread-check-threads-m4.patch | 30 - .../meta-oe/recipes-devtools/php/php_5.6.40.bb | 25 - .../meta-oe/recipes-devtools/php/php_7.3.6.bb | 26 - .../meta-oe/recipes-devtools/php/php_7.3.8.bb | 27 + .../protobuf-c/protobuf3-compatibility.patch | 55 - .../recipes-devtools/protobuf/protobuf-c_1.3.1.bb | 37 - .../recipes-devtools/protobuf/protobuf-c_1.3.2.bb | 35 + ...s-map_util.h-to-list-of-installed-headers.patch | 52 - ...-include-descriptor.cc-when-building-libp.patch | 28 + ...kefile-respect-CXX-LDFLAGS-variables-fix-.patch | 56 + .../recipes-devtools/protobuf/protobuf_3.8.0.bb | 92 -- .../recipes-devtools/protobuf/protobuf_3.9.1.bb | 90 ++ .../0001-python-pyobject-fix-install-dir.patch | 121 ++ .../python/python-pygobject_3.32.1.bb | 35 - .../python/python-pygobject_3.32.2.bb | 39 + .../recipes-devtools/uftrace/uftrace_0.9.2.bb | 45 - .../recipes-devtools/uftrace/uftrace_0.9.3.bb | 45 + 43 files changed, 806 insertions(+), 2572 deletions(-) create mode 100644 meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/libselinux/0001-libselinux-Do-not-define-gettid-if-glibc-2.30-is-use.patch create mode 100644 meta-openembedded/meta-oe/recipes-devtools/dnf-plugin-tui/dnf-plugin-tui_git.bb create mode 100644 meta-openembedded/meta-oe/recipes-devtools/dnf-plugin-tui/files/oe-remote.repo.sample delete mode 100644 meta-openembedded/meta-oe/recipes-devtools/libedit/libedit/stdc-predef.patch delete mode 100644 meta-openembedded/meta-oe/recipes-devtools/libedit/libedit_20190324-3.1.bb create mode 100644 meta-openembedded/meta-oe/recipes-devtools/log4cplus/log4cplus/0001-Remove-log4cplus-version-entry-from-ELF-.comment-sec.patch delete mode 100644 meta-openembedded/meta-oe/recipes-devtools/log4cplus/log4cplus_2.0.3.bb create mode 100644 meta-openembedded/meta-oe/recipes-devtools/log4cplus/log4cplus_2.0.4.bb delete mode 100644 meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_10.15.3.bb create mode 100644 meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_10.16.2.bb create mode 100644 meta-openembedded/meta-oe/recipes-devtools/openocd/openocd/0001-Do-not-include-syscrtl.h-with-glibc.patch delete mode 100644 meta-openembedded/meta-oe/recipes-devtools/php/php/0001-Add-lpthread-to-link.patch delete mode 100644 meta-openembedded/meta-oe/recipes-devtools/php/php/0001-PHP-5.6-LibSSL-1.1-compatibility.patch delete mode 100644 meta-openembedded/meta-oe/recipes-devtools/php/php/0001-acinclude-use-pkgconfig-for-libxml2-config.patch delete mode 100644 meta-openembedded/meta-oe/recipes-devtools/php/php/acinclude-xml2-config.patch create mode 100755 meta-openembedded/meta-oe/recipes-devtools/php/php/debian-php-fixheader.patch delete mode 100644 meta-openembedded/meta-oe/recipes-devtools/php/php/php5-0001-acinclude.m4-don-t-unset-cache-variables.patch delete mode 100644 meta-openembedded/meta-oe/recipes-devtools/php/php/php5-0001-opcache-config.m4-enable-opcache.patch delete mode 100644 meta-openembedded/meta-oe/recipes-devtools/php/php/php5-change-AC_TRY_RUN-to-AC_TRY_LINK.patch delete mode 100644 meta-openembedded/meta-oe/recipes-devtools/php/php/php5-pear-makefile.patch delete mode 100644 meta-openembedded/meta-oe/recipes-devtools/php/php/php5-phar-makefile.patch delete mode 100644 meta-openembedded/meta-oe/recipes-devtools/php/php/pthread-check-threads-m4.patch delete mode 100644 meta-openembedded/meta-oe/recipes-devtools/php/php_5.6.40.bb delete mode 100644 meta-openembedded/meta-oe/recipes-devtools/php/php_7.3.6.bb create mode 100644 meta-openembedded/meta-oe/recipes-devtools/php/php_7.3.8.bb delete mode 100644 meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf-c/protobuf3-compatibility.patch delete mode 100644 meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf-c_1.3.1.bb create mode 100644 meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf-c_1.3.2.bb delete mode 100644 meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf/0001-Added-stubs-map_util.h-to-list-of-installed-headers.patch create mode 100644 meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf/0001-Makefile.am-include-descriptor.cc-when-building-libp.patch create mode 100644 meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf/0001-examples-Makefile-respect-CXX-LDFLAGS-variables-fix-.patch delete mode 100644 meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_3.8.0.bb create mode 100644 meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_3.9.1.bb create mode 100644 meta-openembedded/meta-oe/recipes-devtools/python/python-pygobject/0001-python-pyobject-fix-install-dir.patch delete mode 100644 meta-openembedded/meta-oe/recipes-devtools/python/python-pygobject_3.32.1.bb create mode 100644 meta-openembedded/meta-oe/recipes-devtools/python/python-pygobject_3.32.2.bb delete mode 100644 meta-openembedded/meta-oe/recipes-devtools/uftrace/uftrace_0.9.2.bb create mode 100644 meta-openembedded/meta-oe/recipes-devtools/uftrace/uftrace_0.9.3.bb (limited to 'meta-openembedded/meta-oe/recipes-devtools') diff --git a/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/libselinux/0001-libselinux-Do-not-define-gettid-if-glibc-2.30-is-use.patch b/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/libselinux/0001-libselinux-Do-not-define-gettid-if-glibc-2.30-is-use.patch new file mode 100644 index 000000000..8524517cb --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/libselinux/0001-libselinux-Do-not-define-gettid-if-glibc-2.30-is-use.patch @@ -0,0 +1,52 @@ +From f4f9d24860e1b5cd4f6a014f3fda7cd33ebe5be7 Mon Sep 17 00:00:00 2001 +From: Petr Lautrbach +Date: Sat, 27 Jul 2019 08:20:20 -0700 +Subject: [PATCH] libselinux: Do not define gettid() if glibc >= 2.30 is used +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Since version 2.30 glibc implements gettid() system call wrapper, see +https://sourceware.org/bugzilla/show_bug.cgi?id=6399 + +Fixes: +cc -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -I../include -D_GNU_SOURCE -DNO_ANDROID_BACKEND -c -o procattr.o procattr.c +procattr.c:28:14: error: static declaration of ‘gettid’ follows non-static declaration + 28 | static pid_t gettid(void) + | ^~~~~~ +In file included from /usr/include/unistd.h:1170, + from procattr.c:2: +/usr/include/bits/unistd_ext.h:34:16: note: previous declaration of ‘gettid’ was here + 34 | extern __pid_t gettid (void) __THROW; + | ^~~~~~ + +Signed-off-by: Petr Lautrbach +Acked-by: Stephen Smalley +Signed-off-by: Khem Raj +--- + src/procattr.c | 14 +++++++++++++- + 1 file changed, 13 insertions(+), 1 deletion(-) + +--- a/src/procattr.c ++++ b/src/procattr.c +@@ -8,7 +8,19 @@ + #include "selinux_internal.h" + #include "policy.h" + +-#ifndef __BIONIC__ ++/* Bionic and glibc >= 2.30 declare gettid() system call wrapper in unistd.h and ++ * has a definition for it */ ++#ifdef __BIONIC__ ++ #define OVERRIDE_GETTID 0 ++#elif !defined(__GLIBC_PREREQ) ++ #define OVERRIDE_GETTID 1 ++#elif !__GLIBC_PREREQ(2,29) ++ #define OVERRIDE_GETTID 1 ++#else ++ #define OVERRIDE_GETTID 0 ++#endif ++ ++#if OVERRIDE_GETTID + static pid_t gettid(void) + { + return syscall(__NR_gettid); diff --git a/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools_5.1.1.r37.bb b/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools_5.1.1.r37.bb index e09cd829d..d84fcaecc 100644 --- a/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools_5.1.1.r37.bb +++ b/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools_5.1.1.r37.bb @@ -41,6 +41,7 @@ SRC_URI = " \ file://extras/0001-ext4_utils-remove-selinux-extensions.patch;patchdir=system/extras \ file://extras/0002-ext4_utils-add-o-argument-to-preserve-ownership.patch;patchdir=system/extras \ file://libselinux/0001-Remove-bionic-specific-calls.patch;patchdir=external/libselinux \ + file://libselinux/0001-libselinux-Do-not-define-gettid-if-glibc-2.30-is-use.patch;patchdir=external/libselinux \ file://android-tools-adbd.service \ file://gitignore \ file://adb.mk;subdir=${BPN} \ diff --git a/meta-openembedded/meta-oe/recipes-devtools/dnf-plugin-tui/dnf-plugin-tui_git.bb b/meta-openembedded/meta-oe/recipes-devtools/dnf-plugin-tui/dnf-plugin-tui_git.bb new file mode 100644 index 000000000..e891868cd --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-devtools/dnf-plugin-tui/dnf-plugin-tui_git.bb @@ -0,0 +1,38 @@ +SUMMARY = "A text-based user interface plugin of dnf for user to manage packages. " +LICENSE = "GPLv2" + +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +SRC_URI = "git://github.com/ubinux/dnf-plugin-tui.git;branch=master " +SRCREV = "31d6866d5eda02be9a6bfb1fca9e9095b12eecd1" +PV = "1.0" + +SRC_URI_append_class-target = "file://oe-remote.repo.sample" + +inherit distutils3-base + +S = "${WORKDIR}/git" + +do_install_append() { + install -d ${D}${datadir}/dnf + install -m 0755 ${S}/samples/* ${D}${datadir}/dnf + install -d ${D}${PYTHON_SITEPACKAGES_DIR}/dnf-plugins/mkimg + install -m 0755 ${S}/dnf-plugins/mkimg/* ${D}${PYTHON_SITEPACKAGES_DIR}/dnf-plugins/mkimg + for file in $(ls ${S}/dnf-plugins/ | grep -v mkimg); do + install -m 0755 ${S}/dnf-plugins/$file ${D}${PYTHON_SITEPACKAGES_DIR}/dnf-plugins + done +} + +do_install_append_class-target() { + install -d ${D}${sysconfdir}/yum.repos.d + install -m 0644 ${WORKDIR}/oe-remote.repo.sample ${D}${sysconfdir}/yum.repos.d +} + +FILES_${PN} += "${datadir}/dnf" + +RDEPENDS_${PN} += " \ + dnf \ + libnewt-python \ + " + +BBCLASSEXTEND = "nativesdk" diff --git a/meta-openembedded/meta-oe/recipes-devtools/dnf-plugin-tui/files/oe-remote.repo.sample b/meta-openembedded/meta-oe/recipes-devtools/dnf-plugin-tui/files/oe-remote.repo.sample new file mode 100644 index 000000000..6c4502e17 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-devtools/dnf-plugin-tui/files/oe-remote.repo.sample @@ -0,0 +1,5 @@ +[base] +name=myrepo +baseurl=http://127.0.0.1/oe_repo/ +enabled=1 +gpgcheck=0 diff --git a/meta-openembedded/meta-oe/recipes-devtools/geany/geany-plugins_1.34.bb b/meta-openembedded/meta-oe/recipes-devtools/geany/geany-plugins_1.34.bb index 6c1c1535e..84adc7abe 100644 --- a/meta-openembedded/meta-oe/recipes-devtools/geany/geany-plugins_1.34.bb +++ b/meta-openembedded/meta-oe/recipes-devtools/geany/geany-plugins_1.34.bb @@ -29,7 +29,7 @@ inherit distro_features_check autotools pkgconfig gtk-icon-cache REQUIRED_DISTRO_FEATURES = "x11" SRC_URI = " \ - http://plugins.geany.org/${PN}/${PN}-${PV}.tar.bz2 \ + http://plugins.geany.org/${BPN}/${BP}.tar.bz2 \ file://0001-Use-pkg-config-to-find-gpgme.patch \ " SRC_URI[md5sum] = "bf5fdd50727ad8bbbfe00027ccf2dac5" @@ -40,7 +40,7 @@ do_configure_prepend() { } FILES_${PN} += "${datadir}/icons" -FILES_${PN}-dev += "${libdir}/geany/*.la ${libdir}/${PN}/*/*.la" +FILES_${PN}-dev += "${libdir}/geany/*.la ${libdir}/${BPN}/*/*.la" PLUGINS += "${PN}-addons" LIC_FILES_CHKSUM += "file://addons/COPYING;md5=4325afd396febcb659c36b49533135d4" diff --git a/meta-openembedded/meta-oe/recipes-devtools/libedit/libedit/stdc-predef.patch b/meta-openembedded/meta-oe/recipes-devtools/libedit/libedit/stdc-predef.patch deleted file mode 100644 index c95cdc9d2..000000000 --- a/meta-openembedded/meta-oe/recipes-devtools/libedit/libedit/stdc-predef.patch +++ /dev/null @@ -1,17 +0,0 @@ -__STDC_ISO_10646__ is defined in stdc-predef.h -therefore include it to see if its there on a platform - -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/meta-openembedded/meta-oe/recipes-devtools/libedit/libedit_20190324-3.1.bb b/meta-openembedded/meta-oe/recipes-devtools/libedit/libedit_20190324-3.1.bb deleted file mode 100644 index 9d333e7aa..000000000 --- a/meta-openembedded/meta-oe/recipes-devtools/libedit/libedit_20190324-3.1.bb +++ /dev/null @@ -1,23 +0,0 @@ -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" -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/${BPN}-${PV}.tar.gz \ - file://stdc-predef.patch \ - " -SRC_URI[md5sum] = "bec755c8044ad84b752dfe49a0b371d8" -SRC_URI[sha256sum] = "ac8f0f51c1cf65492e4d1e3ed2be360bda41e54633444666422fbf393bba1bae" - -S = "${WORKDIR}/${BPN}-${PV}" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-oe/recipes-devtools/log4cplus/log4cplus/0001-Remove-log4cplus-version-entry-from-ELF-.comment-sec.patch b/meta-openembedded/meta-oe/recipes-devtools/log4cplus/log4cplus/0001-Remove-log4cplus-version-entry-from-ELF-.comment-sec.patch new file mode 100644 index 000000000..44a835c35 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-devtools/log4cplus/log4cplus/0001-Remove-log4cplus-version-entry-from-ELF-.comment-sec.patch @@ -0,0 +1,40 @@ +From da5338e68f146efadab7c221291ba4c949d8f12f Mon Sep 17 00:00:00 2001 +From: Vaclav Haisman +Date: Sun, 21 Jul 2019 23:23:16 -0700 +Subject: [PATCH] Remove log4cplus version entry from ELF .comment section + +Reverts +https://github.com/log4cplus/log4cplus/commit/9cb0d4ade619da4e40628c9b95ff51de3df29f1b + +Upstream-Status: Backport [https://github.com/log4cplus/log4cplus/commit/7e6addc70dffd2e30e902efd18eb845c5d5dd7bb] + +Suggested-by: Adrian Bunk +Signed-off-by: Khem Raj +--- + src/version.cxx | 12 ------------ + 1 file changed, 12 deletions(-) + +diff --git a/src/version.cxx b/src/version.cxx +index ce18212..e002de9 100644 +--- a/src/version.cxx ++++ b/src/version.cxx +@@ -34,16 +34,4 @@ namespace log4cplus + unsigned const version = LOG4CPLUS_VERSION; + char const versionStr[] = LOG4CPLUS_VERSION_STR LOG4CPLUS_VERSION_STR_SUFFIX; + +-namespace +-{ +- +-#if defined (__ELF__) && (defined (__GNUC__) || defined (__clang__)) +-char const versionStrComment[] +- __attribute__ ((__used__, __section__ ((".comment")))) +- = "log4cplus " LOG4CPLUS_VERSION_STR LOG4CPLUS_VERSION_STR_SUFFIX; +-#endif +- +- +-} // namespace +- + } // namespace log4cplus +-- +2.22.0 + diff --git a/meta-openembedded/meta-oe/recipes-devtools/log4cplus/log4cplus_2.0.3.bb b/meta-openembedded/meta-oe/recipes-devtools/log4cplus/log4cplus_2.0.3.bb deleted file mode 100644 index 56c62f1f2..000000000 --- a/meta-openembedded/meta-oe/recipes-devtools/log4cplus/log4cplus_2.0.3.bb +++ /dev/null @@ -1,18 +0,0 @@ -SUMMARY = "log4cplus provides a simple C++ logging API for log management" -SECTION = "libs" -HOMEPAGE = "http://sourceforge.net/projects/log4cplus/" -BUGTRACKER = "http://sourceforge.net/p/log4cplus/bugs/" - -LICENSE = "Apache-2.0 & BSD-2-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=41e8e060c26822886b592ab4765c756b" - -SRC_URI = "${SOURCEFORGE_MIRROR}/project/${BPN}/${BPN}-stable/${PV}/${BP}.tar.gz" -SRC_URI[md5sum] = "20a87090cd8ec34ea11b3e59954234cb" -SRC_URI[sha256sum] = "2d8f627aa6417e6c6a100bc09dc407684ca4605c929defc1690ee7d6a575ce6a" - -UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/log4cplus/files/log4cplus-stable/" -UPSTREAM_CHECK_REGEX = "log4cplus-stable/(?P\d+(\.\d+)+)/" - -inherit autotools pkgconfig - -BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-oe/recipes-devtools/log4cplus/log4cplus_2.0.4.bb b/meta-openembedded/meta-oe/recipes-devtools/log4cplus/log4cplus_2.0.4.bb new file mode 100644 index 000000000..566de2853 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-devtools/log4cplus/log4cplus_2.0.4.bb @@ -0,0 +1,20 @@ +SUMMARY = "log4cplus provides a simple C++ logging API for log management" +SECTION = "libs" +HOMEPAGE = "http://sourceforge.net/projects/log4cplus/" +BUGTRACKER = "http://sourceforge.net/p/log4cplus/bugs/" + +LICENSE = "Apache-2.0 & BSD-2-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=41e8e060c26822886b592ab4765c756b" + +SRC_URI = "${SOURCEFORGE_MIRROR}/project/${BPN}/${BPN}-stable/${PV}/${BP}.tar.gz \ + file://0001-Remove-log4cplus-version-entry-from-ELF-.comment-sec.patch \ + " +SRC_URI[md5sum] = "2b5b7bc294698bf30a315a259ef9eec2" +SRC_URI[sha256sum] = "196eedbc7f2dd792dae721b1159c7ac132255bb368226353c24d4d5fa7c7797a" + +UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/log4cplus/files/log4cplus-stable/" +UPSTREAM_CHECK_REGEX = "log4cplus-stable/(?P\d+(\.\d+)+)/" + +inherit autotools pkgconfig + +BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_10.15.3.bb b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_10.15.3.bb deleted file mode 100644 index d2e77ea0d..000000000 --- a/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_10.15.3.bb +++ /dev/null @@ -1,105 +0,0 @@ -DESCRIPTION = "nodeJS Evented I/O for V8 JavaScript" -HOMEPAGE = "http://nodejs.org" -LICENSE = "MIT & BSD & Artistic-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=9ceeba79eb2ea1067b7b3ed16fff8bab" - -DEPENDS = "openssl zlib icu" -DEPENDS_append_class-target = " nodejs-native" - -inherit pkgconfig - -COMPATIBLE_MACHINE_armv4 = "(!.*armv4).*" -COMPATIBLE_MACHINE_armv5 = "(!.*armv5).*" -COMPATIBLE_MACHINE_mips64 = "(!.*mips64).*" - -SRC_URI = "http://nodejs.org/dist/v${PV}/node-v${PV}.tar.xz \ - file://0001-Disable-running-gyp-files-for-bundled-deps.patch \ - file://0003-Crypto-reduce-memory-usage-of-SignFinal.patch \ - file://0004-Make-compatibility-with-gcc-4.8.patch \ - file://0005-Link-atomic-library.patch \ - file://0006-Use-target-ldflags.patch \ - " -SRC_URI_append_class-target = " \ - file://0002-Using-native-torque.patch \ - " - -SRC_URI[md5sum] = "d76210a6ae1ea73d10254947684836fb" -SRC_URI[sha256sum] = "4e22d926f054150002055474e452ed6cbb85860aa7dc5422213a2002ed9791d5" - -S = "${WORKDIR}/node-v${PV}" - -# v8 errors out if you have set CCACHE -CCACHE = "" - -def map_nodejs_arch(a, d): - import re - - if re.match('i.86$', a): return 'ia32' - elif re.match('x86_64$', a): return 'x64' - elif re.match('aarch64$', a): return 'arm64' - elif re.match('(powerpc64|ppc64le)$', a): return 'ppc64' - elif re.match('powerpc$', a): return 'ppc' - return a - -ARCHFLAGS_arm = "${@bb.utils.contains('TUNE_FEATURES', 'callconvention-hard', '--with-arm-float-abi=hard', '--with-arm-float-abi=softfp', d)} \ - ${@bb.utils.contains('TUNE_FEATURES', 'neon', '--with-arm-fpu=neon', \ - bb.utils.contains('TUNE_FEATURES', 'vfpv3d16', '--with-arm-fpu=vfpv3-d16', \ - bb.utils.contains('TUNE_FEATURES', 'vfpv3', '--with-arm-fpu=vfpv3', \ - '--with-arm-fpu=vfp', d), d), d)}" -GYP_DEFINES_append_mipsel = " mips_arch_variant='r1' " -ARCHFLAGS ?= "" - -# Node is way too cool to use proper autotools, so we install two wrappers to forcefully inject proper arch cflags to workaround gypi -do_configure () { - rm -rf ${S}/deps/openssl - export LD="${CXX}" - GYP_DEFINES="${GYP_DEFINES}" export GYP_DEFINES - # $TARGET_ARCH settings don't match --dest-cpu settings - ./configure --prefix=${prefix} --with-intl=system-icu --without-snapshot --shared-openssl --shared-zlib \ - --dest-cpu="${@map_nodejs_arch(d.getVar('TARGET_ARCH'), d)}" \ - --dest-os=linux \ - ${ARCHFLAGS} -} - -do_compile () { - export LD="${CXX}" - oe_runmake BUILDTYPE=Release -} - -do_install () { - oe_runmake install DESTDIR=${D} -} - -do_install_append_class-native() { - # use node from PATH instead of absolute path to sysroot - # node-v0.10.25/tools/install.py is using: - # shebang = os.path.join(node_prefix, 'bin/node') - # update_shebang(link_path, shebang) - # and node_prefix can be very long path to bindir in native sysroot and - # when it exceeds 128 character shebang limit it's stripped to incorrect path - # and npm fails to execute like in this case with 133 characters show in log.do_install: - # updating shebang of /home/jenkins/workspace/build-webos-nightly/device/qemux86/label/open-webos-builder/BUILD-qemux86/work/x86_64-linux/nodejs-native/0.10.15-r0/image/home/jenkins/workspace/build-webos-nightly/device/qemux86/label/open-webos-builder/BUILD-qemux86/sysroots/x86_64-linux/usr/bin/npm to /home/jenkins/workspace/build-webos-nightly/device/qemux86/label/open-webos-builder/BUILD-qemux86/sysroots/x86_64-linux/usr/bin/node - # /usr/bin/npm is symlink to /usr/lib/node_modules/npm/bin/npm-cli.js - # use sed on npm-cli.js because otherwise symlink is replaced with normal file and - # npm-cli.js continues to use old shebang - sed "1s^.*^#\!/usr/bin/env node^g" -i ${D}${exec_prefix}/lib/node_modules/npm/bin/npm-cli.js - - # Install the native torque to provide it within sysroot for the target compilation - install -d ${D}${bindir} - install -m 0755 ${S}/out/Release/torque ${D}${bindir}/torque -} - -do_install_append_class-target() { - sed "1s^.*^#\!${bindir}/env node^g" -i ${D}${exec_prefix}/lib/node_modules/npm/bin/npm-cli.js -} - -PACKAGES =+ "${PN}-npm" -FILES_${PN}-npm = "${exec_prefix}/lib/node_modules ${bindir}/npm ${bindir}/npx" -RDEPENDS_${PN}-npm = "bash python-shell python-datetime python-subprocess python-textutils \ - python-compiler python-misc python-multiprocessing" - -PACKAGES =+ "${PN}-systemtap" -FILES_${PN}-systemtap = "${datadir}/systemtap" - - -BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_10.16.2.bb b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_10.16.2.bb new file mode 100644 index 000000000..e259c45be --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_10.16.2.bb @@ -0,0 +1,110 @@ +DESCRIPTION = "nodeJS Evented I/O for V8 JavaScript" +HOMEPAGE = "http://nodejs.org" +LICENSE = "MIT & BSD & Artistic-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=be980eb7ccafe287cb438076a65e888c" + +DEPENDS = "openssl" +DEPENDS_append_class-target = " nodejs-native" + +inherit pkgconfig + +COMPATIBLE_MACHINE_armv4 = "(!.*armv4).*" +COMPATIBLE_MACHINE_armv5 = "(!.*armv5).*" +COMPATIBLE_MACHINE_mips64 = "(!.*mips64).*" + +SRC_URI = "http://nodejs.org/dist/v${PV}/node-v${PV}.tar.xz \ + file://0001-Disable-running-gyp-files-for-bundled-deps.patch \ + file://0003-Crypto-reduce-memory-usage-of-SignFinal.patch \ + file://0004-Make-compatibility-with-gcc-4.8.patch \ + file://0005-Link-atomic-library.patch \ + file://0006-Use-target-ldflags.patch \ + " +SRC_URI_append_class-target = " \ + file://0002-Using-native-torque.patch \ + " + +SRC_URI[md5sum] = "fa70b942c5e3379ce96219fe90f50c8f" +SRC_URI[sha256sum] = "6cbc17795e9259dce7a8f5fd5a2e46f9e6920fb48b7d9539c5b2faa5bb5db4d8" + +S = "${WORKDIR}/node-v${PV}" + +# v8 errors out if you have set CCACHE +CCACHE = "" + +def map_nodejs_arch(a, d): + import re + + if re.match('i.86$', a): return 'ia32' + elif re.match('x86_64$', a): return 'x64' + elif re.match('aarch64$', a): return 'arm64' + elif re.match('(powerpc64|ppc64le)$', a): return 'ppc64' + elif re.match('powerpc$', a): return 'ppc' + return a + +ARCHFLAGS_arm = "${@bb.utils.contains('TUNE_FEATURES', 'callconvention-hard', '--with-arm-float-abi=hard', '--with-arm-float-abi=softfp', d)} \ + ${@bb.utils.contains('TUNE_FEATURES', 'neon', '--with-arm-fpu=neon', \ + bb.utils.contains('TUNE_FEATURES', 'vfpv3d16', '--with-arm-fpu=vfpv3-d16', \ + bb.utils.contains('TUNE_FEATURES', 'vfpv3', '--with-arm-fpu=vfpv3', \ + '--with-arm-fpu=vfp', d), d), d)}" +GYP_DEFINES_append_mipsel = " mips_arch_variant='r1' " +ARCHFLAGS ?= "" + +PACKAGECONFIG ??= "zlib icu" +PACKAGECONFIG[zlib] = "--shared-zlib,,zlib" +PACKAGECONFIG[icu] = "--with-intl=system-icu,--without-intl,icu" + +# Node is way too cool to use proper autotools, so we install two wrappers to forcefully inject proper arch cflags to workaround gypi +do_configure () { + rm -rf ${S}/deps/openssl + export LD="${CXX}" + GYP_DEFINES="${GYP_DEFINES}" export GYP_DEFINES + # $TARGET_ARCH settings don't match --dest-cpu settings + ./configure --prefix=${prefix} --without-snapshot --shared-openssl \ + --dest-cpu="${@map_nodejs_arch(d.getVar('TARGET_ARCH'), d)}" \ + --dest-os=linux \ + ${ARCHFLAGS} \ + ${PACKAGECONFIG_CONFARGS} +} + +do_compile () { + export LD="${CXX}" + oe_runmake BUILDTYPE=Release +} + +do_install () { + oe_runmake install DESTDIR=${D} +} + +do_install_append_class-native() { + # use node from PATH instead of absolute path to sysroot + # node-v0.10.25/tools/install.py is using: + # shebang = os.path.join(node_prefix, 'bin/node') + # update_shebang(link_path, shebang) + # and node_prefix can be very long path to bindir in native sysroot and + # when it exceeds 128 character shebang limit it's stripped to incorrect path + # and npm fails to execute like in this case with 133 characters show in log.do_install: + # updating shebang of /home/jenkins/workspace/build-webos-nightly/device/qemux86/label/open-webos-builder/BUILD-qemux86/work/x86_64-linux/nodejs-native/0.10.15-r0/image/home/jenkins/workspace/build-webos-nightly/device/qemux86/label/open-webos-builder/BUILD-qemux86/sysroots/x86_64-linux/usr/bin/npm to /home/jenkins/workspace/build-webos-nightly/device/qemux86/label/open-webos-builder/BUILD-qemux86/sysroots/x86_64-linux/usr/bin/node + # /usr/bin/npm is symlink to /usr/lib/node_modules/npm/bin/npm-cli.js + # use sed on npm-cli.js because otherwise symlink is replaced with normal file and + # npm-cli.js continues to use old shebang + sed "1s^.*^#\!/usr/bin/env node^g" -i ${D}${exec_prefix}/lib/node_modules/npm/bin/npm-cli.js + + # Install the native torque to provide it within sysroot for the target compilation + install -d ${D}${bindir} + install -m 0755 ${S}/out/Release/torque ${D}${bindir}/torque +} + +do_install_append_class-target() { + sed "1s^.*^#\!${bindir}/env node^g" -i ${D}${exec_prefix}/lib/node_modules/npm/bin/npm-cli.js +} + +PACKAGES =+ "${PN}-npm" +FILES_${PN}-npm = "${exec_prefix}/lib/node_modules ${bindir}/npm ${bindir}/npx" +RDEPENDS_${PN}-npm = "bash python python-shell python-datetime python-subprocess python-textutils \ + python-compiler python-misc python-multiprocessing" + +PACKAGES =+ "${PN}-systemtap" +FILES_${PN}-systemtap = "${datadir}/systemtap" + + +BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-oe/recipes-devtools/octave/octave_4.4.1.bb b/meta-openembedded/meta-oe/recipes-devtools/octave/octave_4.4.1.bb index 1ec32ce89..71d24504f 100644 --- a/meta-openembedded/meta-oe/recipes-devtools/octave/octave_4.4.1.bb +++ b/meta-openembedded/meta-oe/recipes-devtools/octave/octave_4.4.1.bb @@ -11,7 +11,7 @@ inherit autotools pkgconfig texinfo gettext EXTRA_OECONF = "--disable-java --disable-docs" -SRC_URI = "https://ftp.gnu.org/gnu/octave/${PN}-${PV}.tar.gz \ +SRC_URI = "${GNU_MIRROR}/octave/${PN}-${PV}.tar.gz \ file://fix-blas-library-integer-size.patch \ " diff --git a/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd/0001-Do-not-include-syscrtl.h-with-glibc.patch b/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd/0001-Do-not-include-syscrtl.h-with-glibc.patch new file mode 100644 index 000000000..618ce2689 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd/0001-Do-not-include-syscrtl.h-with-glibc.patch @@ -0,0 +1,33 @@ +From a763610719e7d7f6cdc45569b6fbfdb91bb7c87b Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sat, 27 Jul 2019 14:30:08 -0700 +Subject: [PATCH] Do not include syscrtl.h with glibc + +glibc 2.30 has deprecated it see [1] +Fixes +sys/sysctl.h:21:2: error: "The header is deprecated and will be removed." [-Werror,-W#warnings] + +[1] https://sourceware.org/git/?p=glibc.git;a=commit;h=744e829637162bb7d5029632aacf341c64b86990 + +Upstream-Status: Pending +Signed-off-by: Khem Raj +--- + src/helper/options.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/helper/options.c b/src/helper/options.c +index 12755e010..4007e37f6 100644 +--- a/src/helper/options.c ++++ b/src/helper/options.c +@@ -34,7 +34,7 @@ + #if IS_DARWIN + #include + #endif +-#ifdef HAVE_SYS_SYSCTL_H ++#if defined(HAVE_SYS_SYSCTL_H) && !defined(__GLIBC__) + #include + #endif + #if IS_WIN32 && !IS_CYGWIN +-- +2.22.0 + diff --git a/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd_git.bb b/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd_git.bb index b50c3acf4..df10177ae 100644 --- a/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd_git.bb +++ b/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd_git.bb @@ -10,6 +10,7 @@ SRC_URI = " \ git://repo.or.cz/r/jimtcl.git;protocol=http;destsuffix=git/jimtcl;name=jimtcl \ git://repo.or.cz/r/libjaylink.git;protocol=http;destsuffix=git/src/jtag/drivers/libjaylink;name=libjaylink \ file://0001-esirisc_flash-Rename-PAGE_SIZE-to-FLASH_PAGE_SIZE.patch \ + file://0001-Do-not-include-syscrtl.h-with-glibc.patch \ " SRCREV_FORMAT = "openocd" diff --git a/meta-openembedded/meta-oe/recipes-devtools/perl/libdbi-perl_1.642.bb b/meta-openembedded/meta-oe/recipes-devtools/perl/libdbi-perl_1.642.bb index ff4a9d061..91f94a1aa 100644 --- a/meta-openembedded/meta-oe/recipes-devtools/perl/libdbi-perl_1.642.bb +++ b/meta-openembedded/meta-oe/recipes-devtools/perl/libdbi-perl_1.642.bb @@ -7,13 +7,6 @@ database interface independent of the actual database being used. \ HOMEPAGE = "http://search.cpan.org/dist/DBI/" SECTION = "libs" LICENSE = "Artistic-1.0 | GPL-1.0+" -RDEPENDS_${PN}_class-target = " \ - perl-module-carp \ - perl-module-exporter \ - perl-module-exporter-heavy \ - perl-module-dynaloader \ -" - LIC_FILES_CHKSUM = "file://LICENSE;md5=10982c7148e0a012c0fd80534522f5c5" SRC_URI = "http://search.cpan.org/CPAN/authors/id/T/TI/TIMB/DBI-${PV}.tar.gz" @@ -34,4 +27,35 @@ do_install_prepend() { rm -rf ${B}/t/z*.t } +RDEPENDS_${PN}_class-target = " \ + perl-module-carp \ + perl-module-exporter \ + perl-module-exporter-heavy \ + perl-module-dynaloader \ + perl-module-io-dir \ + perl-module-scalar-util \ + perl-module-universal \ +" + +RDEPENDS_${PN}-ptest = " \ + ${PN} \ + perl-module-b \ + perl-module-benchmark \ + perl-module-cwd \ + perl-module-data-dumper \ + perl-module-encode \ + perl-module-encode-byte \ + perl-module-encode-encoding \ + perl-module-file-copy \ + perl-module-file-path \ + perl-module-lib \ + perl-module-perlio \ + perl-module-perlio-scalar \ + perl-module-perlio-via \ + perl-module-sdbm-file \ + perl-module-storable \ + perl-module-test-more \ + perl-module-utf8 \ + " + BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-Add-lpthread-to-link.patch b/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-Add-lpthread-to-link.patch deleted file mode 100644 index f70e550ff..000000000 --- a/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-Add-lpthread-to-link.patch +++ /dev/null @@ -1,38 +0,0 @@ -From ed0a954983d50267c2fc0bc13aba929ea0cad971 Mon Sep 17 00:00:00 2001 -From: Dengke Du -Date: Tue, 2 May 2017 06:34:40 +0000 -Subject: [PATCH] Add -lpthread to link - -When building the php-5.6.26, the following errors occured: - - ld: TSRM/.libs/TSRM.o: undefined reference to symbol - 'pthread_sigmask@@GLIBC_2.2.5' - - error adding symbols: DSO missing from command line - -This is because no pthread to link, so we should add it. - -Upstream-Status: Pending - -Signed-off-by: Dengke Du ---- - configure.in | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/configure.in b/configure.in -index a467dff1..9afef652 100644 ---- a/configure.in -+++ b/configure.in -@@ -1058,7 +1058,8 @@ case $php_sapi_module in - ;; - esac - --EXTRA_LIBS="$EXTRA_LIBS $DLIBS $LIBS" -+PTHREAD_LIBS="-lpthread" -+EXTRA_LIBS="$EXTRA_LIBS $DLIBS $LIBS $PTHREAD_LIBS" - - dnl this has to be here to prevent the openssl crypt() from - dnl overriding the system provided crypt(). --- -2.11.0 - diff --git a/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-PHP-5.6-LibSSL-1.1-compatibility.patch b/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-PHP-5.6-LibSSL-1.1-compatibility.patch deleted file mode 100644 index ac8365b8e..000000000 --- a/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-PHP-5.6-LibSSL-1.1-compatibility.patch +++ /dev/null @@ -1,1285 +0,0 @@ -Subject: [PATCH] PHP 5.6 - LibSSL 1.1 compatibility - -This patch does not try to backport the 7.1 openssl module, it is the -improved version of the 5.6 original openssl module. - -https://github.com/oerdnj/deb.sury.org/issues/566 -http://zettasystem.com/PHP-5.6.31-OpenSSL-1.1.0-compatibility-20170801.patch - -Upstream-Status: Deny [https://github.com/php/php-src/pull/2667] -Reason: As PHP 5.6 is no longer actively supported only security fixes -may land on this branch. As this change does not fall in this category, -I'm closing this PR. (All higher versions of PHP already have OpenSSL -1.1 support.) - -Author: zsalab@github https://github.com/zsalab - -Only port source modification, do not include the test case -Signed-off-by: Hongxu Jia ---- - ext/openssl/openssl.c | 683 +++++++++++++++++++++++++++++++++++++------------- - ext/openssl/xp_ssl.c | 18 +- - ext/phar/util.c | 13 +- - 3 files changed, 527 insertions(+), 187 deletions(-) - -diff --git a/ext/openssl/openssl.c b/ext/openssl/openssl.c -index a78a8fb..b53114c 100644 ---- a/ext/openssl/openssl.c -+++ b/ext/openssl/openssl.c -@@ -42,6 +42,12 @@ - - /* OpenSSL includes */ - #include -+#if OPENSSL_VERSION_NUMBER >= 0x10002000L -+#include -+#include -+#include -+#include -+#endif - #include - #include - #include -@@ -531,6 +537,133 @@ zend_module_entry openssl_module_entry = { - ZEND_GET_MODULE(openssl) - #endif - -+/* {{{ OpenSSL compatibility functions and macros */ -+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined (LIBRESSL_VERSION_NUMBER) -+#define EVP_PKEY_get0_RSA(_pkey) _pkey->pkey.rsa -+#define EVP_PKEY_get0_DH(_pkey) _pkey->pkey.dh -+#define EVP_PKEY_get0_DSA(_pkey) _pkey->pkey.dsa -+#define EVP_PKEY_get0_EC_KEY(_pkey) _pkey->pkey.ec -+ -+static int RSA_set0_key(RSA *r, BIGNUM *n, BIGNUM *e, BIGNUM *d) -+{ -+ r->n = n; -+ r->e = e; -+ r->d = d; -+ -+ return 1; -+} -+ -+static int RSA_set0_factors(RSA *r, BIGNUM *p, BIGNUM *q) -+{ -+ r->p = p; -+ r->q = q; -+ -+ return 1; -+} -+ -+static int RSA_set0_crt_params(RSA *r, BIGNUM *dmp1, BIGNUM *dmq1, BIGNUM *iqmp) -+{ -+ r->dmp1 = dmp1; -+ r->dmq1 = dmq1; -+ r->iqmp = iqmp; -+ -+ return 1; -+} -+ -+static void RSA_get0_key(const RSA *r, const BIGNUM **n, const BIGNUM **e, const BIGNUM **d) -+{ -+ *n = r->n; -+ *e = r->e; -+ *d = r->d; -+} -+ -+static void RSA_get0_factors(const RSA *r, const BIGNUM **p, const BIGNUM **q) -+{ -+ *p = r->p; -+ *q = r->q; -+} -+ -+static void RSA_get0_crt_params(const RSA *r, const BIGNUM **dmp1, const BIGNUM **dmq1, const BIGNUM **iqmp) -+{ -+ *dmp1 = r->dmp1; -+ *dmq1 = r->dmq1; -+ *iqmp = r->iqmp; -+} -+ -+static void DH_get0_pqg(const DH *dh, const BIGNUM **p, const BIGNUM **q, const BIGNUM **g) -+{ -+ *p = dh->p; -+ *q = dh->q; -+ *g = dh->g; -+} -+ -+static int DH_set0_pqg(DH *dh, BIGNUM *p, BIGNUM *q, BIGNUM *g) -+{ -+ dh->p = p; -+ dh->q = q; -+ dh->g = g; -+ -+ return 1; -+} -+ -+static void DH_get0_key(const DH *dh, const BIGNUM **pub_key, const BIGNUM **priv_key) -+{ -+ *pub_key = dh->pub_key; -+ *priv_key = dh->priv_key; -+} -+ -+static int DH_set0_key(DH *dh, BIGNUM *pub_key, BIGNUM *priv_key) -+{ -+ dh->pub_key = pub_key; -+ dh->priv_key = priv_key; -+ -+ return 1; -+} -+ -+static void DSA_get0_pqg(const DSA *d, const BIGNUM **p, const BIGNUM **q, const BIGNUM **g) -+{ -+ *p = d->p; -+ *q = d->q; -+ *g = d->g; -+} -+ -+int DSA_set0_pqg(DSA *d, BIGNUM *p, BIGNUM *q, BIGNUM *g) -+{ -+ d->p = p; -+ d->q = q; -+ d->g = g; -+ -+ return 1; -+} -+ -+static void DSA_get0_key(const DSA *d, const BIGNUM **pub_key, const BIGNUM **priv_key) -+{ -+ *pub_key = d->pub_key; -+ *priv_key = d->priv_key; -+} -+ -+int DSA_set0_key(DSA *d, BIGNUM *pub_key, BIGNUM *priv_key) -+{ -+ d->pub_key = pub_key; -+ d->priv_key = priv_key; -+ -+ return 1; -+} -+ -+#if OPENSSL_VERSION_NUMBER < 0x10002000L || defined (LIBRESSL_VERSION_NUMBER) -+#define EVP_PKEY_id(_pkey) _pkey->type -+#define EVP_PKEY_base_id(_key) EVP_PKEY_type(_key->type) -+ -+static int X509_get_signature_nid(const X509 *x) -+{ -+ return OBJ_obj2nid(x->sig_alg->algorithm); -+} -+ -+#endif -+ -+#endif -+/* }}} */ -+ - static int le_key; - static int le_x509; - static int le_csr; -@@ -825,7 +958,7 @@ static int add_oid_section(struct php_x509_request * req TSRMLS_DC) /* {{{ */ - } - for (i = 0; i < sk_CONF_VALUE_num(sktmp); i++) { - cnf = sk_CONF_VALUE_value(sktmp, i); -- if (OBJ_create(cnf->value, cnf->name, cnf->name) == NID_undef) { -+ if (OBJ_sn2nid(cnf->name) == NID_undef && OBJ_ln2nid(cnf->name) == NID_undef && OBJ_create(cnf->value, cnf->name, cnf->name) == NID_undef) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "problem creating object %s=%s", cnf->name, cnf->value); - return FAILURE; - } -@@ -967,7 +1100,7 @@ static void php_openssl_dispose_config(struct php_x509_request * req TSRMLS_DC) - } - /* }}} */ - --#ifdef PHP_WIN32 -+#if defined(PHP_WIN32) || (OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER)) - #define PHP_OPENSSL_RAND_ADD_TIME() ((void) 0) - #else - #define PHP_OPENSSL_RAND_ADD_TIME() php_openssl_rand_add_timeval() -@@ -1053,9 +1186,11 @@ static EVP_MD * php_openssl_get_evp_md_from_algo(long algo) { /* {{{ */ - mdtype = (EVP_MD *) EVP_md2(); - break; - #endif -+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined (LIBRESSL_VERSION_NUMBER) - case OPENSSL_ALGO_DSS1: - mdtype = (EVP_MD *) EVP_dss1(); - break; -+#endif - #if OPENSSL_VERSION_NUMBER >= 0x0090708fL - case OPENSSL_ALGO_SHA224: - mdtype = (EVP_MD *) EVP_sha224(); -@@ -1146,6 +1281,12 @@ PHP_MINIT_FUNCTION(openssl) - OpenSSL_add_all_digests(); - OpenSSL_add_all_algorithms(); - -+#if !defined(OPENSSL_NO_AES) && defined(EVP_CIPH_CCM_MODE) && OPENSSL_VERSION_NUMBER < 0x100020000 -+ EVP_add_cipher(EVP_aes_128_ccm()); -+ EVP_add_cipher(EVP_aes_192_ccm()); -+ EVP_add_cipher(EVP_aes_256_ccm()); -+#endif -+ - SSL_load_error_strings(); - - /* register a resource id number with OpenSSL so that we can map SSL -> stream structures in -@@ -1173,7 +1314,9 @@ PHP_MINIT_FUNCTION(openssl) - #ifdef HAVE_OPENSSL_MD2_H - REGISTER_LONG_CONSTANT("OPENSSL_ALGO_MD2", OPENSSL_ALGO_MD2, CONST_CS|CONST_PERSISTENT); - #endif -+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined (LIBRESSL_VERSION_NUMBER) - REGISTER_LONG_CONSTANT("OPENSSL_ALGO_DSS1", OPENSSL_ALGO_DSS1, CONST_CS|CONST_PERSISTENT); -+#endif - #if OPENSSL_VERSION_NUMBER >= 0x0090708fL - REGISTER_LONG_CONSTANT("OPENSSL_ALGO_SHA224", OPENSSL_ALGO_SHA224, CONST_CS|CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("OPENSSL_ALGO_SHA256", OPENSSL_ALGO_SHA256, CONST_CS|CONST_PERSISTENT); -@@ -1251,7 +1394,9 @@ PHP_MINIT_FUNCTION(openssl) - } - - php_stream_xport_register("ssl", php_openssl_ssl_socket_factory TSRMLS_CC); -+#ifndef OPENSSL_NO_SSL3 - php_stream_xport_register("sslv3", php_openssl_ssl_socket_factory TSRMLS_CC); -+#endif - #ifndef OPENSSL_NO_SSL2 - php_stream_xport_register("sslv2", php_openssl_ssl_socket_factory TSRMLS_CC); - #endif -@@ -1308,7 +1453,9 @@ PHP_MSHUTDOWN_FUNCTION(openssl) - #ifndef OPENSSL_NO_SSL2 - php_stream_xport_unregister("sslv2" TSRMLS_CC); - #endif -+#ifndef OPENSSL_NO_SSL3 - php_stream_xport_unregister("sslv3" TSRMLS_CC); -+#endif - php_stream_xport_unregister("tls" TSRMLS_CC); - php_stream_xport_unregister("tlsv1.0" TSRMLS_CC); - #if OPENSSL_VERSION_NUMBER >= 0x10001001L -@@ -1893,6 +2040,7 @@ static int openssl_x509v3_subjectAltName(BIO *bio, X509_EXTENSION *extension) - { - GENERAL_NAMES *names; - const X509V3_EXT_METHOD *method = NULL; -+ ASN1_OCTET_STRING *extension_data; - long i, length, num; - const unsigned char *p; - -@@ -1901,8 +2049,9 @@ static int openssl_x509v3_subjectAltName(BIO *bio, X509_EXTENSION *extension) - return -1; - } - -- p = extension->value->data; -- length = extension->value->length; -+ extension_data = X509_EXTENSION_get_data(extension); -+ p = extension_data->data; -+ length = extension_data->length; - if (method->it) { - names = (GENERAL_NAMES*)(ASN1_item_d2i(NULL, &p, length, - ASN1_ITEM_ptr(method->it))); -@@ -1965,6 +2114,8 @@ PHP_FUNCTION(openssl_x509_parse) - char * tmpstr; - zval * subitem; - X509_EXTENSION *extension; -+ X509_NAME *subject_name; -+ char *cert_name; - char *extname; - BIO *bio_out; - BUF_MEM *bio_buf; -@@ -1979,10 +2130,10 @@ PHP_FUNCTION(openssl_x509_parse) - } - array_init(return_value); - -- if (cert->name) { -- add_assoc_string(return_value, "name", cert->name, 1); -- } --/* add_assoc_bool(return_value, "valid", cert->valid); */ -+ subject_name = X509_get_subject_name(cert); -+ cert_name = X509_NAME_oneline(subject_name, NULL, 0); -+ add_assoc_string(return_value, "name", cert_name, 1); -+ OPENSSL_free(cert_name); - - add_assoc_name_entry(return_value, "subject", X509_get_subject_name(cert), useshortnames TSRMLS_CC); - /* hash as used in CA directories to lookup cert by subject name */ -@@ -2008,7 +2159,7 @@ PHP_FUNCTION(openssl_x509_parse) - add_assoc_string(return_value, "alias", tmpstr, 1); - } - -- sig_nid = OBJ_obj2nid((cert)->sig_alg->algorithm); -+ sig_nid = X509_get_signature_nid(cert); - add_assoc_string(return_value, "signatureTypeSN", (char*)OBJ_nid2sn(sig_nid), 1); - add_assoc_string(return_value, "signatureTypeLN", (char*)OBJ_nid2ln(sig_nid), 1); - add_assoc_long(return_value, "signatureTypeNID", sig_nid); -@@ -3217,7 +3368,21 @@ PHP_FUNCTION(openssl_csr_get_public_key) - RETURN_FALSE; - } - -- tpubkey=X509_REQ_get_pubkey(csr); -+#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER) -+ /* Due to changes in OpenSSL 1.1 related to locking when decoding CSR, -+ * the pub key is not changed after assigning. It means if we pass -+ * a private key, it will be returned including the private part. -+ * If we duplicate it, then we get just the public part which is -+ * the same behavior as for OpenSSL 1.0 */ -+ csr = X509_REQ_dup(csr); -+#endif -+ /* Retrieve the public key from the CSR */ -+ tpubkey = X509_REQ_get_pubkey(csr); -+ -+#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER) -+ /* We need to free the CSR as it was duplicated */ -+ X509_REQ_free(csr); -+#endif - RETVAL_RESOURCE(zend_list_insert(tpubkey, le_key TSRMLS_CC)); - return; - } -@@ -3482,13 +3647,20 @@ static int php_openssl_is_private_key(EVP_PKEY* pkey TSRMLS_DC) - { - assert(pkey != NULL); - -- switch (pkey->type) { -+ switch (EVP_PKEY_id(pkey)) { - #ifndef NO_RSA - case EVP_PKEY_RSA: - case EVP_PKEY_RSA2: -- assert(pkey->pkey.rsa != NULL); -- if (pkey->pkey.rsa != NULL && (NULL == pkey->pkey.rsa->p || NULL == pkey->pkey.rsa->q)) { -- return 0; -+ { -+ RSA *rsa = EVP_PKEY_get0_RSA(pkey); -+ if (rsa != NULL) { -+ const BIGNUM *p, *q; -+ -+ RSA_get0_factors(rsa, &p, &q); -+ if (p == NULL || q == NULL) { -+ return 0; -+ } -+ } - } - break; - #endif -@@ -3498,28 +3670,51 @@ static int php_openssl_is_private_key(EVP_PKEY* pkey TSRMLS_DC) - case EVP_PKEY_DSA2: - case EVP_PKEY_DSA3: - case EVP_PKEY_DSA4: -- assert(pkey->pkey.dsa != NULL); -- -- if (NULL == pkey->pkey.dsa->p || NULL == pkey->pkey.dsa->q || NULL == pkey->pkey.dsa->priv_key){ -- return 0; -+ { -+ DSA *dsa = EVP_PKEY_get0_DSA(pkey); -+ if (dsa != NULL) { -+ const BIGNUM *p, *q, *g, *pub_key, *priv_key; -+ -+ DSA_get0_pqg(dsa, &p, &q, &g); -+ if (p == NULL || q == NULL) { -+ return 0; -+ } -+ -+ DSA_get0_key(dsa, &pub_key, &priv_key); -+ if (priv_key == NULL) { -+ return 0; -+ } -+ } - } - break; - #endif - #ifndef NO_DH - case EVP_PKEY_DH: -- assert(pkey->pkey.dh != NULL); -- -- if (NULL == pkey->pkey.dh->p || NULL == pkey->pkey.dh->priv_key) { -- return 0; -+ { -+ DH *dh = EVP_PKEY_get0_DH(pkey); -+ if (dh != NULL) { -+ const BIGNUM *p, *q, *g, *pub_key, *priv_key; -+ -+ DH_get0_pqg(dh, &p, &q, &g); -+ if (p == NULL) { -+ return 0; -+ } -+ -+ DH_get0_key(dh, &pub_key, &priv_key); -+ if (priv_key == NULL) { -+ return 0; -+ } -+ } - } - break; - #endif - #ifdef HAVE_EVP_PKEY_EC - case EVP_PKEY_EC: -- assert(pkey->pkey.ec != NULL); -- -- if ( NULL == EC_KEY_get0_private_key(pkey->pkey.ec)) { -- return 0; -+ { -+ EC_KEY *ec = EVP_PKEY_get0_EC_KEY(pkey); -+ if (ec != NULL && NULL == EC_KEY_get0_private_key(ec)) { -+ return 0; -+ } - } - break; - #endif -@@ -3531,34 +3726,80 @@ static int php_openssl_is_private_key(EVP_PKEY* pkey TSRMLS_DC) - } - /* }}} */ - --#define OPENSSL_PKEY_GET_BN(_type, _name) do { \ -- if (pkey->pkey._type->_name != NULL) { \ -- int len = BN_num_bytes(pkey->pkey._type->_name); \ -- char *str = emalloc(len + 1); \ -- BN_bn2bin(pkey->pkey._type->_name, (unsigned char*)str); \ -- str[len] = 0; \ -- add_assoc_stringl(_type, #_name, str, len, 0); \ -- } \ -- } while (0) -- --#define OPENSSL_PKEY_SET_BN(_ht, _type, _name) do { \ -- zval **bn; \ -- if (zend_hash_find(_ht, #_name, sizeof(#_name), (void**)&bn) == SUCCESS && \ -- Z_TYPE_PP(bn) == IS_STRING) { \ -- _type->_name = BN_bin2bn( \ -- (unsigned char*)Z_STRVAL_PP(bn), \ -- Z_STRLEN_PP(bn), NULL); \ -- } \ -+#define OPENSSL_GET_BN(_array, _bn, _name) do { \ -+ if (_bn != NULL) { \ -+ int len = BN_num_bytes(_bn); \ -+ char *str = emalloc(len + 1); \ -+ BN_bn2bin(_bn, (unsigned char*)str); \ -+ str[len] = 0; \ -+ add_assoc_stringl(_array, #_name, str, len, 0); \ -+ } \ - } while (0); - -+#define OPENSSL_PKEY_GET_BN(_type, _name) OPENSSL_GET_BN(_type, _name, _name) -+ -+#define OPENSSL_PKEY_SET_BN(_data, _name) do { \ -+ zval **bn; \ -+ if (zend_hash_find(Z_ARRVAL_P(_data), #_name, sizeof(#_name),(void**)&bn) == SUCCESS && \ -+ Z_TYPE_PP(bn) == IS_STRING) { \ -+ _name = BN_bin2bn( \ -+ (unsigned char*)Z_STRVAL_PP(bn), \ -+ Z_STRLEN_PP(bn), NULL); \ -+ } else { \ -+ _name = NULL; \ -+ } \ -+ } while (0); -+ -+/* {{{ php_openssl_pkey_init_rsa */ -+zend_bool php_openssl_pkey_init_and_assign_rsa(EVP_PKEY *pkey, RSA *rsa, zval *data) -+{ -+ BIGNUM *n, *e, *d, *p, *q, *dmp1, *dmq1, *iqmp; -+ -+ OPENSSL_PKEY_SET_BN(data, n); -+ OPENSSL_PKEY_SET_BN(data, e); -+ OPENSSL_PKEY_SET_BN(data, d); -+ if (!n || !d || !RSA_set0_key(rsa, n, e, d)) { -+ return 0; -+ } -+ -+ OPENSSL_PKEY_SET_BN(data, p); -+ OPENSSL_PKEY_SET_BN(data, q); -+ if ((p || q) && !RSA_set0_factors(rsa, p, q)) { -+ return 0; -+ } -+ -+ OPENSSL_PKEY_SET_BN(data, dmp1); -+ OPENSSL_PKEY_SET_BN(data, dmq1); -+ OPENSSL_PKEY_SET_BN(data, iqmp); -+ if ((dmp1 || dmq1 || iqmp) && !RSA_set0_crt_params(rsa, dmp1, dmq1, iqmp)) { -+ return 0; -+ } -+ -+ if (!EVP_PKEY_assign_RSA(pkey, rsa)) { -+ return 0; -+ } -+ -+ return 1; -+} -+/* }}} */ -+ - /* {{{ php_openssl_pkey_init_dsa */ --zend_bool php_openssl_pkey_init_dsa(DSA *dsa) -+zend_bool php_openssl_pkey_init_dsa(DSA *dsa, zval *data) - { -- if (!dsa->p || !dsa->q || !dsa->g) { -+ BIGNUM *p, *q, *g, *priv_key, *pub_key; -+ const BIGNUM *priv_key_const, *pub_key_const; -+ -+ OPENSSL_PKEY_SET_BN(data, p); -+ OPENSSL_PKEY_SET_BN(data, q); -+ OPENSSL_PKEY_SET_BN(data, g); -+ if (!p || !q || !g || !DSA_set0_pqg(dsa, p, q, g)) { - return 0; - } -- if (dsa->priv_key || dsa->pub_key) { -- return 1; -+ -+ OPENSSL_PKEY_SET_BN(data, pub_key); -+ OPENSSL_PKEY_SET_BN(data, priv_key); -+ if (pub_key) { -+ return DSA_set0_key(dsa, pub_key, priv_key); - } - PHP_OPENSSL_RAND_ADD_TIME(); - if (!DSA_generate_key(dsa)) { -@@ -3566,7 +3807,8 @@ zend_bool php_openssl_pkey_init_dsa(DSA *dsa) - } - /* if BN_mod_exp return -1, then DSA_generate_key succeed for failed key - * so we need to double check that public key is created */ -- if (!dsa->pub_key || BN_is_zero(dsa->pub_key)) { -+ DSA_get0_key(dsa, &pub_key_const, &priv_key_const); -+ if (!pub_key_const || BN_is_zero(pub_key_const)) { - return 0; - } - /* all good */ -@@ -3574,14 +3816,66 @@ zend_bool php_openssl_pkey_init_dsa(DSA *dsa) - } - /* }}} */ - -+/* {{{ php_openssl_dh_pub_from_priv */ -+static BIGNUM *php_openssl_dh_pub_from_priv(BIGNUM *priv_key, BIGNUM *g, BIGNUM *p) -+{ -+ BIGNUM *pub_key, *priv_key_const_time; -+ BN_CTX *ctx; -+ -+ pub_key = BN_new(); -+ if (pub_key == NULL) { -+ return NULL; -+ } -+ -+ priv_key_const_time = BN_new(); -+ if (priv_key_const_time == NULL) { -+ BN_free(pub_key); -+ return NULL; -+ } -+ ctx = BN_CTX_new(); -+ if (ctx == NULL) { -+ BN_free(pub_key); -+ BN_free(priv_key_const_time); -+ return NULL; -+ } -+ -+ BN_with_flags(priv_key_const_time, priv_key, BN_FLG_CONSTTIME); -+ -+ if (!BN_mod_exp_mont(pub_key, g, priv_key_const_time, p, ctx, NULL)) { -+ BN_free(pub_key); -+ pub_key = NULL; -+ } -+ -+ BN_free(priv_key_const_time); -+ BN_CTX_free(ctx); -+ -+ return pub_key; -+} -+/* }}} */ -+ - /* {{{ php_openssl_pkey_init_dh */ --zend_bool php_openssl_pkey_init_dh(DH *dh) -+zend_bool php_openssl_pkey_init_dh(DH *dh, zval *data) - { -- if (!dh->p || !dh->g) { -+ BIGNUM *p, *q, *g, *priv_key, *pub_key; -+ -+ OPENSSL_PKEY_SET_BN(data, p); -+ OPENSSL_PKEY_SET_BN(data, q); -+ OPENSSL_PKEY_SET_BN(data, g); -+ if (!p || !g || !DH_set0_pqg(dh, p, q, g)) { - return 0; - } -- if (dh->pub_key) { -- return 1; -+ -+ OPENSSL_PKEY_SET_BN(data, priv_key); -+ OPENSSL_PKEY_SET_BN(data, pub_key); -+ if (pub_key) { -+ return DH_set0_key(dh, pub_key, priv_key); -+ } -+ if (priv_key) { -+ pub_key = php_openssl_dh_pub_from_priv(priv_key, g, p); -+ if (pub_key == NULL) { -+ return 0; -+ } -+ return DH_set0_key(dh, pub_key, priv_key); - } - PHP_OPENSSL_RAND_ADD_TIME(); - if (!DH_generate_key(dh)) { -@@ -3614,18 +3908,8 @@ PHP_FUNCTION(openssl_pkey_new) - if (pkey) { - RSA *rsa = RSA_new(); - if (rsa) { -- OPENSSL_PKEY_SET_BN(Z_ARRVAL_PP(data), rsa, n); -- OPENSSL_PKEY_SET_BN(Z_ARRVAL_PP(data), rsa, e); -- OPENSSL_PKEY_SET_BN(Z_ARRVAL_PP(data), rsa, d); -- OPENSSL_PKEY_SET_BN(Z_ARRVAL_PP(data), rsa, p); -- OPENSSL_PKEY_SET_BN(Z_ARRVAL_PP(data), rsa, q); -- OPENSSL_PKEY_SET_BN(Z_ARRVAL_PP(data), rsa, dmp1); -- OPENSSL_PKEY_SET_BN(Z_ARRVAL_PP(data), rsa, dmq1); -- OPENSSL_PKEY_SET_BN(Z_ARRVAL_PP(data), rsa, iqmp); -- if (rsa->n && rsa->d) { -- if (EVP_PKEY_assign_RSA(pkey, rsa)) { -- RETURN_RESOURCE(zend_list_insert(pkey, le_key TSRMLS_CC)); -- } -+ if (php_openssl_pkey_init_and_assign_rsa(pkey, rsa, *data)) { -+ RETURN_RESOURCE(zend_list_insert(pkey, le_key TSRMLS_CC)); - } - RSA_free(rsa); - } -@@ -3638,12 +3922,7 @@ PHP_FUNCTION(openssl_pkey_new) - if (pkey) { - DSA *dsa = DSA_new(); - if (dsa) { -- OPENSSL_PKEY_SET_BN(Z_ARRVAL_PP(data), dsa, p); -- OPENSSL_PKEY_SET_BN(Z_ARRVAL_PP(data), dsa, q); -- OPENSSL_PKEY_SET_BN(Z_ARRVAL_PP(data), dsa, g); -- OPENSSL_PKEY_SET_BN(Z_ARRVAL_PP(data), dsa, priv_key); -- OPENSSL_PKEY_SET_BN(Z_ARRVAL_PP(data), dsa, pub_key); -- if (php_openssl_pkey_init_dsa(dsa)) { -+ if (php_openssl_pkey_init_dsa(dsa, *data)) { - if (EVP_PKEY_assign_DSA(pkey, dsa)) { - RETURN_RESOURCE(zend_list_insert(pkey, le_key TSRMLS_CC)); - } -@@ -3659,11 +3938,7 @@ PHP_FUNCTION(openssl_pkey_new) - if (pkey) { - DH *dh = DH_new(); - if (dh) { -- OPENSSL_PKEY_SET_BN(Z_ARRVAL_PP(data), dh, p); -- OPENSSL_PKEY_SET_BN(Z_ARRVAL_PP(data), dh, g); -- OPENSSL_PKEY_SET_BN(Z_ARRVAL_PP(data), dh, priv_key); -- OPENSSL_PKEY_SET_BN(Z_ARRVAL_PP(data), dh, pub_key); -- if (php_openssl_pkey_init_dh(dh)) { -+ if (php_openssl_pkey_init_dh(dh, *data)) { - if (EVP_PKEY_assign_DH(pkey, dh)) { - RETURN_RESOURCE(zend_list_insert(pkey, le_key TSRMLS_CC)); - } -@@ -3738,10 +4013,10 @@ PHP_FUNCTION(openssl_pkey_export_to_file) - cipher = NULL; - } - -- switch (EVP_PKEY_type(key->type)) { -+ switch (EVP_PKEY_base_id(key)) { - #ifdef HAVE_EVP_PKEY_EC - case EVP_PKEY_EC: -- pem_write = PEM_write_bio_ECPrivateKey(bio_out, EVP_PKEY_get1_EC_KEY(key), cipher, (unsigned char *)passphrase, passphrase_len, NULL, NULL); -+ pem_write = PEM_write_bio_ECPrivateKey(bio_out, EVP_PKEY_get0_EC_KEY(key), cipher, (unsigned char *)passphrase, passphrase_len, NULL, NULL); - break; - #endif - default: -@@ -3807,7 +4082,7 @@ PHP_FUNCTION(openssl_pkey_export) - cipher = NULL; - } - -- switch (EVP_PKEY_type(key->type)) { -+ switch (EVP_PKEY_base_id(key)) { - #ifdef HAVE_EVP_PKEY_EC - case EVP_PKEY_EC: - pem_write = PEM_write_bio_ECPrivateKey(bio_out, EVP_PKEY_get1_EC_KEY(key), cipher, (unsigned char *)passphrase, passphrase_len, NULL, NULL); -@@ -3928,25 +4203,33 @@ PHP_FUNCTION(openssl_pkey_get_details) - /*TODO: Use the real values once the openssl constants are used - * See the enum at the top of this file - */ -- switch (EVP_PKEY_type(pkey->type)) { -+ switch (EVP_PKEY_base_id(pkey)) { - case EVP_PKEY_RSA: - case EVP_PKEY_RSA2: -- ktype = OPENSSL_KEYTYPE_RSA; -- -- if (pkey->pkey.rsa != NULL) { -- zval *rsa; -- -- ALLOC_INIT_ZVAL(rsa); -- array_init(rsa); -- OPENSSL_PKEY_GET_BN(rsa, n); -- OPENSSL_PKEY_GET_BN(rsa, e); -- OPENSSL_PKEY_GET_BN(rsa, d); -- OPENSSL_PKEY_GET_BN(rsa, p); -- OPENSSL_PKEY_GET_BN(rsa, q); -- OPENSSL_PKEY_GET_BN(rsa, dmp1); -- OPENSSL_PKEY_GET_BN(rsa, dmq1); -- OPENSSL_PKEY_GET_BN(rsa, iqmp); -- add_assoc_zval(return_value, "rsa", rsa); -+ { -+ RSA *rsa = EVP_PKEY_get0_RSA(pkey); -+ ktype = OPENSSL_KEYTYPE_RSA; -+ -+ if (rsa != NULL) { -+ zval *z_rsa; -+ const BIGNUM *n, *e, *d, *p, *q, *dmp1, *dmq1, *iqmp; -+ -+ RSA_get0_key(rsa, &n, &e, &d); -+ RSA_get0_factors(rsa, &p, &q); -+ RSA_get0_crt_params(rsa, &dmp1, &dmq1, &iqmp); -+ -+ ALLOC_INIT_ZVAL(z_rsa); -+ array_init(z_rsa); -+ OPENSSL_PKEY_GET_BN(z_rsa, n); -+ OPENSSL_PKEY_GET_BN(z_rsa, e); -+ OPENSSL_PKEY_GET_BN(z_rsa, d); -+ OPENSSL_PKEY_GET_BN(z_rsa, p); -+ OPENSSL_PKEY_GET_BN(z_rsa, q); -+ OPENSSL_PKEY_GET_BN(z_rsa, dmp1); -+ OPENSSL_PKEY_GET_BN(z_rsa, dmq1); -+ OPENSSL_PKEY_GET_BN(z_rsa, iqmp); -+ add_assoc_zval(return_value, "rsa", z_rsa); -+ } - } - - break; -@@ -3954,42 +4237,55 @@ PHP_FUNCTION(openssl_pkey_get_details) - case EVP_PKEY_DSA2: - case EVP_PKEY_DSA3: - case EVP_PKEY_DSA4: -- ktype = OPENSSL_KEYTYPE_DSA; -- -- if (pkey->pkey.dsa != NULL) { -- zval *dsa; -- -- ALLOC_INIT_ZVAL(dsa); -- array_init(dsa); -- OPENSSL_PKEY_GET_BN(dsa, p); -- OPENSSL_PKEY_GET_BN(dsa, q); -- OPENSSL_PKEY_GET_BN(dsa, g); -- OPENSSL_PKEY_GET_BN(dsa, priv_key); -- OPENSSL_PKEY_GET_BN(dsa, pub_key); -- add_assoc_zval(return_value, "dsa", dsa); -+ { -+ DSA *dsa = EVP_PKEY_get0_DSA(pkey); -+ ktype = OPENSSL_KEYTYPE_DSA; -+ -+ if (dsa != NULL) { -+ zval *z_dsa; -+ const BIGNUM *p, *q, *g, *priv_key, *pub_key; -+ -+ DSA_get0_pqg(dsa, &p, &q, &g); -+ DSA_get0_key(dsa, &pub_key, &priv_key); -+ -+ ALLOC_INIT_ZVAL(z_dsa); -+ array_init(z_dsa); -+ OPENSSL_PKEY_GET_BN(z_dsa, p); -+ OPENSSL_PKEY_GET_BN(z_dsa, q); -+ OPENSSL_PKEY_GET_BN(z_dsa, g); -+ OPENSSL_PKEY_GET_BN(z_dsa, priv_key); -+ OPENSSL_PKEY_GET_BN(z_dsa, pub_key); -+ add_assoc_zval(return_value, "dsa", z_dsa); -+ } - } - break; - case EVP_PKEY_DH: -- -- ktype = OPENSSL_KEYTYPE_DH; -- -- if (pkey->pkey.dh != NULL) { -- zval *dh; -- -- ALLOC_INIT_ZVAL(dh); -- array_init(dh); -- OPENSSL_PKEY_GET_BN(dh, p); -- OPENSSL_PKEY_GET_BN(dh, g); -- OPENSSL_PKEY_GET_BN(dh, priv_key); -- OPENSSL_PKEY_GET_BN(dh, pub_key); -- add_assoc_zval(return_value, "dh", dh); -+ { -+ DH *dh = EVP_PKEY_get0_DH(pkey); -+ ktype = OPENSSL_KEYTYPE_DH; -+ -+ if (dh != NULL) { -+ zval *z_dh; -+ const BIGNUM *p, *q, *g, *priv_key, *pub_key; -+ -+ DH_get0_pqg(dh, &p, &q, &g); -+ DH_get0_key(dh, &pub_key, &priv_key); -+ -+ ALLOC_INIT_ZVAL(z_dh); -+ array_init(z_dh); -+ OPENSSL_PKEY_GET_BN(z_dh, p); -+ OPENSSL_PKEY_GET_BN(z_dh, g); -+ OPENSSL_PKEY_GET_BN(z_dh, priv_key); -+ OPENSSL_PKEY_GET_BN(z_dh, pub_key); -+ add_assoc_zval(return_value, "dh", z_dh); -+ } - } - - break; - #ifdef HAVE_EVP_PKEY_EC - case EVP_PKEY_EC: - ktype = OPENSSL_KEYTYPE_EC; -- if (pkey->pkey.ec != NULL) { -+ if (EVP_PKEY_get0_EC_KEY(pkey) != NULL) { - zval *ec; - const EC_GROUP *ec_group; - int nid; -@@ -4546,13 +4842,13 @@ PHP_FUNCTION(openssl_private_encrypt) - cryptedlen = EVP_PKEY_size(pkey); - cryptedbuf = emalloc(cryptedlen + 1); - -- switch (pkey->type) { -+ switch (EVP_PKEY_id(pkey)) { - case EVP_PKEY_RSA: - case EVP_PKEY_RSA2: - successful = (RSA_private_encrypt(data_len, - (unsigned char *)data, - cryptedbuf, -- pkey->pkey.rsa, -+ EVP_PKEY_get0_RSA(pkey), - padding) == cryptedlen); - break; - default: -@@ -4604,13 +4900,13 @@ PHP_FUNCTION(openssl_private_decrypt) - cryptedlen = EVP_PKEY_size(pkey); - crypttemp = emalloc(cryptedlen + 1); - -- switch (pkey->type) { -+ switch (EVP_PKEY_id(pkey)) { - case EVP_PKEY_RSA: - case EVP_PKEY_RSA2: - cryptedlen = RSA_private_decrypt(data_len, - (unsigned char *)data, - crypttemp, -- pkey->pkey.rsa, -+ EVP_PKEY_get0_RSA(pkey), - padding); - if (cryptedlen != -1) { - cryptedbuf = emalloc(cryptedlen + 1); -@@ -4669,13 +4965,13 @@ PHP_FUNCTION(openssl_public_encrypt) - cryptedlen = EVP_PKEY_size(pkey); - cryptedbuf = emalloc(cryptedlen + 1); - -- switch (pkey->type) { -+ switch (EVP_PKEY_id(pkey)) { - case EVP_PKEY_RSA: - case EVP_PKEY_RSA2: - successful = (RSA_public_encrypt(data_len, - (unsigned char *)data, - cryptedbuf, -- pkey->pkey.rsa, -+ EVP_PKEY_get0_RSA(pkey), - padding) == cryptedlen); - break; - default: -@@ -4728,13 +5024,13 @@ PHP_FUNCTION(openssl_public_decrypt) - cryptedlen = EVP_PKEY_size(pkey); - crypttemp = emalloc(cryptedlen + 1); - -- switch (pkey->type) { -+ switch (EVP_PKEY_id(pkey)) { - case EVP_PKEY_RSA: - case EVP_PKEY_RSA2: - cryptedlen = RSA_public_decrypt(data_len, - (unsigned char *)data, - crypttemp, -- pkey->pkey.rsa, -+ EVP_PKEY_get0_RSA(pkey), - padding); - if (cryptedlen != -1) { - cryptedbuf = emalloc(cryptedlen + 1); -@@ -4798,7 +5094,7 @@ PHP_FUNCTION(openssl_sign) - long keyresource = -1; - char * data; - int data_len; -- EVP_MD_CTX md_ctx; -+ EVP_MD_CTX *md_ctx; - zval *method = NULL; - long signature_algo = OPENSSL_ALGO_SHA1; - const EVP_MD *mdtype; -@@ -4831,9 +5127,10 @@ PHP_FUNCTION(openssl_sign) - siglen = EVP_PKEY_size(pkey); - sigbuf = emalloc(siglen + 1); - -- EVP_SignInit(&md_ctx, mdtype); -- EVP_SignUpdate(&md_ctx, data, data_len); -- if (EVP_SignFinal (&md_ctx, sigbuf,(unsigned int *)&siglen, pkey)) { -+ md_ctx = EVP_MD_CTX_create(); -+ EVP_SignInit(md_ctx, mdtype); -+ EVP_SignUpdate(md_ctx, data, data_len); -+ if (EVP_SignFinal (md_ctx, sigbuf,(unsigned int *)&siglen, pkey)) { - zval_dtor(signature); - sigbuf[siglen] = '\0'; - ZVAL_STRINGL(signature, (char *)sigbuf, siglen, 0); -@@ -4842,7 +5139,7 @@ PHP_FUNCTION(openssl_sign) - efree(sigbuf); - RETVAL_FALSE; - } -- EVP_MD_CTX_cleanup(&md_ctx); -+ EVP_MD_CTX_destroy(md_ctx); - if (keyresource == -1) { - EVP_PKEY_free(pkey); - } -@@ -4856,7 +5153,7 @@ PHP_FUNCTION(openssl_verify) - zval **key; - EVP_PKEY *pkey; - int err; -- EVP_MD_CTX md_ctx; -+ EVP_MD_CTX *md_ctx; - const EVP_MD *mdtype; - long keyresource = -1; - char * data; int data_len; -@@ -4890,10 +5187,11 @@ PHP_FUNCTION(openssl_verify) - RETURN_FALSE; - } - -- EVP_VerifyInit (&md_ctx, mdtype); -- EVP_VerifyUpdate (&md_ctx, data, data_len); -- err = EVP_VerifyFinal (&md_ctx, (unsigned char *)signature, signature_len, pkey); -- EVP_MD_CTX_cleanup(&md_ctx); -+ md_ctx = EVP_MD_CTX_create(); -+ EVP_VerifyInit (md_ctx, mdtype); -+ EVP_VerifyUpdate (md_ctx, data, data_len); -+ err = EVP_VerifyFinal (md_ctx, (unsigned char *)signature, signature_len, pkey); -+ EVP_MD_CTX_destroy(md_ctx); - - if (keyresource == -1) { - EVP_PKEY_free(pkey); -@@ -4917,7 +5215,7 @@ PHP_FUNCTION(openssl_seal) - char *method =NULL; - int method_len = 0; - const EVP_CIPHER *cipher; -- EVP_CIPHER_CTX ctx; -+ EVP_CIPHER_CTX *ctx; - - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "szza/|s", &data, &data_len, &sealdata, &ekeys, &pubkeys, &method, &method_len) == FAILURE) { - return; -@@ -4950,6 +5248,7 @@ PHP_FUNCTION(openssl_seal) - memset(eks, 0, sizeof(*eks) * nkeys); - key_resources = safe_emalloc(nkeys, sizeof(long), 0); - memset(key_resources, 0, sizeof(*key_resources) * nkeys); -+ memset(pkeys, 0, sizeof(*pkeys) * nkeys); - - /* get the public keys we are using to seal this data */ - zend_hash_internal_pointer_reset_ex(pubkeysht, &pos); -@@ -4967,27 +5266,28 @@ PHP_FUNCTION(openssl_seal) - i++; - } - -- if (!EVP_EncryptInit(&ctx,cipher,NULL,NULL)) { -+ ctx = EVP_CIPHER_CTX_new(); -+ if (ctx == NULL || !EVP_EncryptInit(ctx,cipher,NULL,NULL)) { - RETVAL_FALSE; -- EVP_CIPHER_CTX_cleanup(&ctx); -+ EVP_CIPHER_CTX_free(ctx); - goto clean_exit; - } - - #if 0 - /* Need this if allow ciphers that require initialization vector */ -- ivlen = EVP_CIPHER_CTX_iv_length(&ctx); -+ ivlen = EVP_CIPHER_CTX_iv_length(ctx); - iv = ivlen ? emalloc(ivlen + 1) : NULL; - #endif - /* allocate one byte extra to make room for \0 */ -- buf = emalloc(data_len + EVP_CIPHER_CTX_block_size(&ctx)); -- EVP_CIPHER_CTX_cleanup(&ctx); -+ buf = emalloc(data_len + EVP_CIPHER_CTX_block_size(ctx)); -+ EVP_CIPHER_CTX_cleanup(ctx); - -- if (EVP_SealInit(&ctx, cipher, eks, eksl, NULL, pkeys, nkeys) <= 0 || -- !EVP_SealUpdate(&ctx, buf, &len1, (unsigned char *)data, data_len) || -- !EVP_SealFinal(&ctx, buf + len1, &len2)) { -+ if (EVP_SealInit(ctx, cipher, eks, eksl, NULL, pkeys, nkeys) <= 0 || -+ !EVP_SealUpdate(ctx, buf, &len1, (unsigned char *)data, data_len) || -+ !EVP_SealFinal(ctx, buf + len1, &len2)) { - RETVAL_FALSE; - efree(buf); -- EVP_CIPHER_CTX_cleanup(&ctx); -+ EVP_CIPHER_CTX_free(ctx); - goto clean_exit; - } - -@@ -5018,7 +5318,7 @@ PHP_FUNCTION(openssl_seal) - efree(buf); - } - RETVAL_LONG(len1 + len2); -- EVP_CIPHER_CTX_cleanup(&ctx); -+ EVP_CIPHER_CTX_free(ctx); - - clean_exit: - for (i=0; i keylen) { -- EVP_CIPHER_CTX_set_key_length(&cipher_ctx, password_len); -+ EVP_CIPHER_CTX_set_key_length(cipher_ctx, password_len); - } -- EVP_EncryptInit_ex(&cipher_ctx, NULL, NULL, key, (unsigned char *)iv); -+ EVP_EncryptInit_ex(cipher_ctx, NULL, NULL, key, (unsigned char *)iv); - if (options & OPENSSL_ZERO_PADDING) { -- EVP_CIPHER_CTX_set_padding(&cipher_ctx, 0); -+ EVP_CIPHER_CTX_set_padding(cipher_ctx, 0); - } - if (data_len > 0) { -- EVP_EncryptUpdate(&cipher_ctx, outbuf, &i, (unsigned char *)data, data_len); -+ EVP_EncryptUpdate(cipher_ctx, outbuf, &i, (unsigned char *)data, data_len); - } - outlen = i; -- if (EVP_EncryptFinal(&cipher_ctx, (unsigned char *)outbuf + i, &i)) { -+ if (EVP_EncryptFinal(cipher_ctx, (unsigned char *)outbuf + i, &i)) { - outlen += i; - if (options & OPENSSL_RAW_DATA) { - outbuf[outlen] = '\0'; -@@ -5301,7 +5610,8 @@ PHP_FUNCTION(openssl_encrypt) - if (free_iv) { - efree(iv); - } -- EVP_CIPHER_CTX_cleanup(&cipher_ctx); -+ EVP_CIPHER_CTX_cleanup(cipher_ctx); -+ EVP_CIPHER_CTX_free(cipher_ctx); - } - /* }}} */ - -@@ -5313,7 +5623,7 @@ PHP_FUNCTION(openssl_decrypt) - char *data, *method, *password, *iv = ""; - int data_len, method_len, password_len, iv_len = 0; - const EVP_CIPHER *cipher_type; -- EVP_CIPHER_CTX cipher_ctx; -+ EVP_CIPHER_CTX *cipher_ctx; - int i, outlen, keylen; - unsigned char *outbuf, *key; - int base64_str_len; -@@ -5359,17 +5669,23 @@ PHP_FUNCTION(openssl_decrypt) - outlen = data_len + EVP_CIPHER_block_size(cipher_type); - outbuf = emalloc(outlen + 1); - -- EVP_DecryptInit(&cipher_ctx, cipher_type, NULL, NULL); -+ cipher_ctx = EVP_CIPHER_CTX_new(); -+ if (!cipher_ctx) { -+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "Failed to create cipher context"); -+ RETURN_FALSE; -+ } -+ -+ EVP_DecryptInit(cipher_ctx, cipher_type, NULL, NULL); - if (password_len > keylen) { -- EVP_CIPHER_CTX_set_key_length(&cipher_ctx, password_len); -+ EVP_CIPHER_CTX_set_key_length(cipher_ctx, password_len); - } -- EVP_DecryptInit_ex(&cipher_ctx, NULL, NULL, key, (unsigned char *)iv); -+ EVP_DecryptInit_ex(cipher_ctx, NULL, NULL, key, (unsigned char *)iv); - if (options & OPENSSL_ZERO_PADDING) { -- EVP_CIPHER_CTX_set_padding(&cipher_ctx, 0); -+ EVP_CIPHER_CTX_set_padding(cipher_ctx, 0); - } -- EVP_DecryptUpdate(&cipher_ctx, outbuf, &i, (unsigned char *)data, data_len); -+ EVP_DecryptUpdate(cipher_ctx, outbuf, &i, (unsigned char *)data, data_len); - outlen = i; -- if (EVP_DecryptFinal(&cipher_ctx, (unsigned char *)outbuf + i, &i)) { -+ if (EVP_DecryptFinal(cipher_ctx, (unsigned char *)outbuf + i, &i)) { - outlen += i; - outbuf[outlen] = '\0'; - RETVAL_STRINGL((char *)outbuf, outlen, 0); -@@ -5386,7 +5702,8 @@ PHP_FUNCTION(openssl_decrypt) - if (base64_str) { - efree(base64_str); - } -- EVP_CIPHER_CTX_cleanup(&cipher_ctx); -+ EVP_CIPHER_CTX_cleanup(cipher_ctx); -+ EVP_CIPHER_CTX_free(cipher_ctx); - } - /* }}} */ - -@@ -5424,6 +5741,7 @@ PHP_FUNCTION(openssl_dh_compute_key) - zval *key; - char *pub_str; - int pub_len; -+ DH *dh; - EVP_PKEY *pkey; - BIGNUM *pub; - char *data; -@@ -5433,14 +5751,21 @@ PHP_FUNCTION(openssl_dh_compute_key) - return; - } - ZEND_FETCH_RESOURCE(pkey, EVP_PKEY *, &key, -1, "OpenSSL key", le_key); -- if (!pkey || EVP_PKEY_type(pkey->type) != EVP_PKEY_DH || !pkey->pkey.dh) { -+ if (pkey == NULL) { -+ RETURN_FALSE; -+ } -+ if (EVP_PKEY_base_id(pkey) != EVP_PKEY_DH) { -+ RETURN_FALSE; -+ } -+ dh = EVP_PKEY_get0_DH(pkey); -+ if (dh == NULL) { - RETURN_FALSE; - } - - pub = BN_bin2bn((unsigned char*)pub_str, pub_len, NULL); - -- data = emalloc(DH_size(pkey->pkey.dh) + 1); -- len = DH_compute_key((unsigned char*)data, pub, pkey->pkey.dh); -+ data = emalloc(DH_size(dh) + 1); -+ len = DH_compute_key((unsigned char*)data, pub, dh); - - if (len >= 0) { - data[len] = 0; -diff --git a/ext/openssl/xp_ssl.c b/ext/openssl/xp_ssl.c -index d549033..c2d477c 100644 ---- a/ext/openssl/xp_ssl.c -+++ b/ext/openssl/xp_ssl.c -@@ -935,7 +935,7 @@ static int set_local_cert(SSL_CTX *ctx, php_stream *stream TSRMLS_DC) /* {{{ */ - static const SSL_METHOD *php_select_crypto_method(long method_value, int is_client TSRMLS_DC) /* {{{ */ - { - if (method_value == STREAM_CRYPTO_METHOD_SSLv2) { --#ifndef OPENSSL_NO_SSL2 -+#if !defined(OPENSSL_NO_SSL2) && OPENSSL_VERSION_NUMBER < 0x10100000L - return is_client ? SSLv2_client_method() : SSLv2_server_method(); - #else - php_error_docref(NULL TSRMLS_CC, E_WARNING, -@@ -1588,12 +1588,26 @@ int php_openssl_setup_crypto(php_stream *stream, - } - /* }}} */ - -+#define PHP_SSL_MAX_VERSION_LEN 32 -+ -+static char *php_ssl_cipher_get_version(const SSL_CIPHER *c, char *buffer, size_t max_len) /* {{{ */ -+{ -+ const char *version = SSL_CIPHER_get_version(c); -+ strncpy(buffer, version, max_len); -+ if (max_len <= strlen(version)) { -+ buffer[max_len - 1] = 0; -+ } -+ return buffer; -+} -+/* }}} */ -+ - static zval *capture_session_meta(SSL *ssl_handle) /* {{{ */ - { - zval *meta_arr; - char *proto_str; - long proto = SSL_version(ssl_handle); - const SSL_CIPHER *cipher = SSL_get_current_cipher(ssl_handle); -+ char version_str[PHP_SSL_MAX_VERSION_LEN]; - - switch (proto) { - #if OPENSSL_VERSION_NUMBER >= 0x10001001L -@@ -1611,7 +1625,7 @@ static zval *capture_session_meta(SSL *ssl_handle) /* {{{ */ - add_assoc_string(meta_arr, "protocol", proto_str, 1); - add_assoc_string(meta_arr, "cipher_name", (char *) SSL_CIPHER_get_name(cipher), 1); - add_assoc_long(meta_arr, "cipher_bits", SSL_CIPHER_get_bits(cipher, NULL)); -- add_assoc_string(meta_arr, "cipher_version", SSL_CIPHER_get_version(cipher), 1); -+ add_assoc_string(meta_arr, "cipher_version", php_ssl_cipher_get_version(cipher, version_str, PHP_SSL_MAX_VERSION_LEN), 1); - - return meta_arr; - } -diff --git a/ext/phar/util.c b/ext/phar/util.c -index 828be8f..06e4e55 100644 ---- a/ext/phar/util.c -+++ b/ext/phar/util.c -@@ -1531,7 +1531,7 @@ int phar_verify_signature(php_stream *fp, size_t end_of_phar, php_uint32 sig_typ - BIO *in; - EVP_PKEY *key; - EVP_MD *mdtype = (EVP_MD *) EVP_sha1(); -- EVP_MD_CTX md_ctx; -+ EVP_MD_CTX *md_ctx; - #else - int tempsig; - #endif -@@ -1608,7 +1608,8 @@ int phar_verify_signature(php_stream *fp, size_t end_of_phar, php_uint32 sig_typ - return FAILURE; - } - -- EVP_VerifyInit(&md_ctx, mdtype); -+ md_ctx = EVP_MD_CTX_create(); -+ EVP_VerifyInit(md_ctx, mdtype); - read_len = end_of_phar; - - if (read_len > sizeof(buf)) { -@@ -1620,7 +1621,7 @@ int phar_verify_signature(php_stream *fp, size_t end_of_phar, php_uint32 sig_typ - php_stream_seek(fp, 0, SEEK_SET); - - while (read_size && (len = php_stream_read(fp, (char*)buf, read_size)) > 0) { -- EVP_VerifyUpdate (&md_ctx, buf, len); -+ EVP_VerifyUpdate (md_ctx, buf, len); - read_len -= (off_t)len; - - if (read_len < read_size) { -@@ -1628,9 +1629,9 @@ int phar_verify_signature(php_stream *fp, size_t end_of_phar, php_uint32 sig_typ - } - } - -- if (EVP_VerifyFinal(&md_ctx, (unsigned char *)sig, sig_len, key) != 1) { -+ if (EVP_VerifyFinal(md_ctx, (unsigned char *)sig, sig_len, key) != 1) { - /* 1: signature verified, 0: signature does not match, -1: failed signature operation */ -- EVP_MD_CTX_cleanup(&md_ctx); -+ EVP_MD_CTX_destroy(md_ctx); - - if (error) { - spprintf(error, 0, "broken openssl signature"); -@@ -1639,7 +1640,7 @@ int phar_verify_signature(php_stream *fp, size_t end_of_phar, php_uint32 sig_typ - return FAILURE; - } - -- EVP_MD_CTX_cleanup(&md_ctx); -+ EVP_MD_CTX_destroy(md_ctx); - #endif - - *signature_len = phar_hex_str((const char*)sig, sig_len, signature TSRMLS_CC); --- -2.7.4 - diff --git a/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-acinclude-use-pkgconfig-for-libxml2-config.patch b/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-acinclude-use-pkgconfig-for-libxml2-config.patch deleted file mode 100644 index e7d326d7e..000000000 --- a/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-acinclude-use-pkgconfig-for-libxml2-config.patch +++ /dev/null @@ -1,90 +0,0 @@ -From 003c9feaae6ed5c173edcea51193e49bc94ac39a Mon Sep 17 00:00:00 2001 -From: Koen Kooi -Date: Tue, 17 Jun 2014 09:53:00 +0200 -Subject: [PATCH 3/8] acinclude: use pkgconfig for libxml2 config - -Signed-off-by: Koen Kooi -Upstream-Status: Pending ---- - acinclude.m4 | 63 ++++++++++++++++++++++-------------------------------------- - 1 file changed, 23 insertions(+), 40 deletions(-) - -diff --git a/acinclude.m4 b/acinclude.m4 -index 206fcbf..a6c0d84 100644 ---- a/acinclude.m4 -+++ b/acinclude.m4 -@@ -2530,48 +2530,31 @@ dnl - dnl Common setup macro for libxml - dnl - AC_DEFUN([PHP_SETUP_LIBXML], [ --AC_CACHE_CHECK([for xml2-config path], ac_cv_php_xml2_config_path, --[ -- -- ac_cv_php_xml2_config_path="$PHP_LIBXML_DIR/xml2-config" -- -+PKG_CHECK_MODULES([LIBXML], [libxml-2.0 > 2.6.11], [ -+ PHP_EVAL_LIBLINE($LIBXML_LIBS, $1) -+ PHP_EVAL_INCLINE($LIBXML_CFLAGS) -+ -+ dnl Check that build works with given libs -+ AC_CACHE_CHECK(whether libxml build works, php_cv_libxml_build_works, [ -+ PHP_TEST_BUILD(xmlInitParser, -+ [ -+ php_cv_libxml_build_works=yes -+ AC_MSG_RESULT(yes) -+ ], [ -+ AC_MSG_RESULT(no) -+ AC_MSG_ERROR([build test failed. Please check the config.log for details.]) -+ ], [ -+ [$]$1 -+ ]) -+ ]) -+ if test "$php_cv_libxml_build_works" = "yes"; then -+ AC_DEFINE(HAVE_LIBXML, 1, [ ]) -+ fi -+ $2 -+], [ -+ AC_MSG_ERROR([$LIBXML_PKG_ERRORS]) - ]) - -- if test -x "$ac_cv_php_xml2_config_path"; then -- XML2_CONFIG="$ac_cv_php_xml2_config_path" -- libxml_full_version=`$XML2_CONFIG --version` -- ac_IFS=$IFS -- IFS="." -- set $libxml_full_version -- IFS=$ac_IFS -- LIBXML_VERSION=`expr [$]1 \* 1000000 + [$]2 \* 1000 + [$]3` -- if test "$LIBXML_VERSION" -ge "2006011"; then -- LIBXML_LIBS=`$XML2_CONFIG --libs` -- LIBXML_INCS=`$XML2_CONFIG --cflags` -- PHP_EVAL_LIBLINE($LIBXML_LIBS, $1) -- PHP_EVAL_INCLINE($LIBXML_INCS) -- -- dnl Check that build works with given libs -- AC_CACHE_CHECK(whether libxml build works, php_cv_libxml_build_works, [ -- PHP_TEST_BUILD(xmlInitParser, -- [ -- php_cv_libxml_build_works=yes -- ], [ -- AC_MSG_RESULT(no) -- AC_MSG_ERROR([build test failed. Please check the config.log for details.]) -- ], [ -- [$]$1 -- ]) -- ]) -- if test "$php_cv_libxml_build_works" = "yes"; then -- AC_DEFINE(HAVE_LIBXML, 1, [ ]) -- fi -- $2 -- else -- AC_MSG_ERROR([libxml2 version 2.6.11 or greater required.]) -- fi --ifelse([$3],[],,[else $3]) -- fi - ]) - - dnl ------------------------------------------------------------------------- --- -1.9.3 - diff --git a/meta-openembedded/meta-oe/recipes-devtools/php/php/acinclude-xml2-config.patch b/meta-openembedded/meta-oe/recipes-devtools/php/php/acinclude-xml2-config.patch deleted file mode 100644 index d0831669f..000000000 --- a/meta-openembedded/meta-oe/recipes-devtools/php/php/acinclude-xml2-config.patch +++ /dev/null @@ -1,25 +0,0 @@ -Upstream-Status: Pending - -diff --git a/acinclude.m4 b/acinclude.m4 -index 4fd452e..206fcbf 100644 ---- a/acinclude.m4 -+++ b/acinclude.m4 -@@ -2532,12 +2532,9 @@ dnl - AC_DEFUN([PHP_SETUP_LIBXML], [ - AC_CACHE_CHECK([for xml2-config path], ac_cv_php_xml2_config_path, - [ -- for i in $PHP_LIBXML_DIR /usr/local /usr; do -- if test -x "$i/bin/xml2-config"; then -- ac_cv_php_xml2_config_path="$i/bin/xml2-config" -- break -- fi -- done -+ -+ ac_cv_php_xml2_config_path="$PHP_LIBXML_DIR/xml2-config" -+ - ]) - - if test -x "$ac_cv_php_xml2_config_path"; then --- -1.9.3 - diff --git a/meta-openembedded/meta-oe/recipes-devtools/php/php/debian-php-fixheader.patch b/meta-openembedded/meta-oe/recipes-devtools/php/php/debian-php-fixheader.patch new file mode 100755 index 000000000..21050f760 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-devtools/php/php/debian-php-fixheader.patch @@ -0,0 +1,31 @@ +php: remove host specific info from header file + +https://sources.debian.org/data/main/p/php7.3/7.3.6-1/debian/patches/ + 0036-php-5.4.9-fixheader.patch + +Upstream-Status: Inappropriate [not author] +Signed-off-by: Joe Slater + +--- +From: Debian PHP Maintainers +Date: Sat, 2 May 2015 10:26:56 +0200 +Subject: php-5.4.9-fixheader + +Make generated php_config.h constant across rebuilds. +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index 433d7e6..41893d7 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -1357,7 +1357,7 @@ PHP_BUILD_DATE=`date -u +%Y-%m-%d` + fi + AC_DEFINE_UNQUOTED(PHP_BUILD_DATE,"$PHP_BUILD_DATE",[PHP build date]) + +-PHP_UNAME=`uname -a | xargs` ++PHP_UNAME=`uname | xargs` + AC_DEFINE_UNQUOTED(PHP_UNAME,"$PHP_UNAME",[uname -a output]) + PHP_OS=`uname | xargs` + AC_DEFINE_UNQUOTED(PHP_OS,"$PHP_OS",[uname output]) diff --git a/meta-openembedded/meta-oe/recipes-devtools/php/php/php5-0001-acinclude.m4-don-t-unset-cache-variables.patch b/meta-openembedded/meta-oe/recipes-devtools/php/php/php5-0001-acinclude.m4-don-t-unset-cache-variables.patch deleted file mode 100644 index 72ad554a1..000000000 --- a/meta-openembedded/meta-oe/recipes-devtools/php/php/php5-0001-acinclude.m4-don-t-unset-cache-variables.patch +++ /dev/null @@ -1,42 +0,0 @@ -From 1fb5a3b3e6c9cf0002ff76988de72f011b642005 Mon Sep 17 00:00:00 2001 -From: Changqing Li -Date: Tue, 12 Feb 2019 16:25:37 +0800 -Subject: [PATCH] acinclude.m4: don't unset cache variables - -Unsetting prevents cache variable from being passed to configure. - -Upstream-Status: Inappropriate [OE-specific] - -Signed-off-by: Anuj Mittal - -update patch to version 5.6.40 -Signed-off-by: Changqing Li ---- - acinclude.m4 | 4 ---- - 1 file changed, 4 deletions(-) - -diff --git a/acinclude.m4 b/acinclude.m4 -index b188eee..ed32fc5 100644 ---- a/acinclude.m4 -+++ b/acinclude.m4 -@@ -1897,8 +1897,6 @@ define([phpshift],[ifelse(index([$@],[,]),-1,,[substr([$@],incr(index([$@],[,])) - dnl - AC_DEFUN([PHP_CHECK_FUNC_LIB],[ - ifelse($2,,:,[ -- unset ac_cv_lib_$2[]_$1 -- unset ac_cv_lib_$2[]___$1 - unset found - AC_CHECK_LIB($2, $1, [found=yes], [ - AC_CHECK_LIB($2, __$1, [found=yes], [found=no]) -@@ -1930,8 +1928,6 @@ dnl in the default libraries and as a fall back in the specified library. - dnl Defines HAVE_func and HAVE_library if found and adds the library to LIBS. - dnl - AC_DEFUN([PHP_CHECK_FUNC],[ -- unset ac_cv_func_$1 -- unset ac_cv_func___$1 - unset found - - AC_CHECK_FUNC($1, [found=yes],[ AC_CHECK_FUNC(__$1,[found=yes],[found=no]) ]) --- -2.7.4 - diff --git a/meta-openembedded/meta-oe/recipes-devtools/php/php/php5-0001-opcache-config.m4-enable-opcache.patch b/meta-openembedded/meta-oe/recipes-devtools/php/php/php5-0001-opcache-config.m4-enable-opcache.patch deleted file mode 100644 index 7be67ea94..000000000 --- a/meta-openembedded/meta-oe/recipes-devtools/php/php/php5-0001-opcache-config.m4-enable-opcache.patch +++ /dev/null @@ -1,387 +0,0 @@ -From fafcfac0933c17e1bf551600080eb0541186caf5 Mon Sep 17 00:00:00 2001 -From: Anuj Mittal -Date: Mon, 2 Apr 2018 17:54:52 +0800 -Subject: [PATCH] opcache/config.m4: enable opcache - -We can't use AC_TRY_RUN to run programs in a cross compile environment. Set -the variables directly instead since we know that we'd be running on latest -enough linux kernel. - -Upstream-Status: Inappropriate [Configuration] - -Signed-off-by: Anuj Mittal - -%% original patch: php5-0001-opcache-config.m4-enable-opcache.patch ---- - ext/opcache/config.m4 | 349 ++------------------------------------------------ - 1 file changed, 8 insertions(+), 341 deletions(-) - -diff --git a/ext/opcache/config.m4 b/ext/opcache/config.m4 -index 5a8b86c..6e87fa5 100644 ---- a/ext/opcache/config.m4 -+++ b/ext/opcache/config.m4 -@@ -11,353 +11,20 @@ if test "$PHP_OPCACHE" != "no"; then - AC_DEFINE(HAVE_MPROTECT, 1, [Define if you have mprotect() function]) - ]) - -- AC_MSG_CHECKING(for sysvipc shared memory support) -- AC_TRY_RUN([ --#include --#include --#include --#include --#include --#include -+ AC_DEFINE(HAVE_SHM_IPC, 1, [Define if you have SysV IPC SHM support]) - --int main() { -- pid_t pid; -- int status; -- int ipc_id; -- char *shm; -- struct shmid_ds shmbuf; -+ AC_DEFINE(HAVE_SHM_MMAP_ANON, 1, [Define if you have mmap(MAP_ANON) SHM support]) - -- ipc_id = shmget(IPC_PRIVATE, 4096, (IPC_CREAT | SHM_R | SHM_W)); -- if (ipc_id == -1) { -- return 1; -- } -+ AC_DEFINE(HAVE_SHM_MMAP_ZERO, 1, [Define if you have mmap("/dev/zero") SHM support]) - -- shm = shmat(ipc_id, NULL, 0); -- if (shm == (void *)-1) { -- shmctl(ipc_id, IPC_RMID, NULL); -- return 2; -- } -- -- if (shmctl(ipc_id, IPC_STAT, &shmbuf) != 0) { -- shmdt(shm); -- shmctl(ipc_id, IPC_RMID, NULL); -- return 3; -- } -- -- shmbuf.shm_perm.uid = getuid(); -- shmbuf.shm_perm.gid = getgid(); -- shmbuf.shm_perm.mode = 0600; -- -- if (shmctl(ipc_id, IPC_SET, &shmbuf) != 0) { -- shmdt(shm); -- shmctl(ipc_id, IPC_RMID, NULL); -- return 4; -- } -- -- shmctl(ipc_id, IPC_RMID, NULL); -- -- strcpy(shm, "hello"); -- -- pid = fork(); -- if (pid < 0) { -- return 5; -- } else if (pid == 0) { -- strcpy(shm, "bye"); -- return 6; -- } -- if (wait(&status) != pid) { -- return 7; -- } -- if (!WIFEXITED(status) || WEXITSTATUS(status) != 6) { -- return 8; -- } -- if (strcmp(shm, "bye") != 0) { -- return 9; -- } -- return 0; --} --],dnl -- AC_DEFINE(HAVE_SHM_IPC, 1, [Define if you have SysV IPC SHM support]) -- msg=yes,msg=no,msg=no) -- AC_MSG_RESULT([$msg]) -- -- AC_MSG_CHECKING(for mmap() using MAP_ANON shared memory support) -- AC_TRY_RUN([ --#include --#include --#include --#include --#include -- --#ifndef MAP_ANON --# ifdef MAP_ANONYMOUS --# define MAP_ANON MAP_ANONYMOUS --# endif --#endif --#ifndef MAP_FAILED --# define MAP_FAILED ((void*)-1) --#endif -- --int main() { -- pid_t pid; -- int status; -- char *shm; -- -- shm = mmap(NULL, 4096, PROT_READ | PROT_WRITE, MAP_SHARED | MAP_ANON, -1, 0); -- if (shm == MAP_FAILED) { -- return 1; -- } -- -- strcpy(shm, "hello"); -- -- pid = fork(); -- if (pid < 0) { -- return 5; -- } else if (pid == 0) { -- strcpy(shm, "bye"); -- return 6; -- } -- if (wait(&status) != pid) { -- return 7; -- } -- if (!WIFEXITED(status) || WEXITSTATUS(status) != 6) { -- return 8; -- } -- if (strcmp(shm, "bye") != 0) { -- return 9; -- } -- return 0; --} --],dnl -- AC_DEFINE(HAVE_SHM_MMAP_ANON, 1, [Define if you have mmap(MAP_ANON) SHM support]) -- msg=yes,msg=no,msg=no) -- AC_MSG_RESULT([$msg]) -- -- AC_MSG_CHECKING(for mmap() using /dev/zero shared memory support) -- AC_TRY_RUN([ --#include --#include --#include --#include --#include --#include --#include -- --#ifndef MAP_FAILED --# define MAP_FAILED ((void*)-1) --#endif -- --int main() { -- pid_t pid; -- int status; -- int fd; -- char *shm; -- -- fd = open("/dev/zero", O_RDWR, S_IRUSR | S_IWUSR); -- if (fd == -1) { -- return 1; -- } -- -- shm = mmap(NULL, 4096, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0); -- if (shm == MAP_FAILED) { -- return 2; -- } -- -- strcpy(shm, "hello"); -- -- pid = fork(); -- if (pid < 0) { -- return 5; -- } else if (pid == 0) { -- strcpy(shm, "bye"); -- return 6; -- } -- if (wait(&status) != pid) { -- return 7; -- } -- if (!WIFEXITED(status) || WEXITSTATUS(status) != 6) { -- return 8; -- } -- if (strcmp(shm, "bye") != 0) { -- return 9; -- } -- return 0; --} --],dnl -- AC_DEFINE(HAVE_SHM_MMAP_ZERO, 1, [Define if you have mmap("/dev/zero") SHM support]) -- msg=yes,msg=no,msg=no) -- AC_MSG_RESULT([$msg]) -- -- AC_MSG_CHECKING(for mmap() using shm_open() shared memory support) -- AC_TRY_RUN([ --#include --#include --#include --#include --#include --#include --#include --#include --#include -- --#ifndef MAP_FAILED --# define MAP_FAILED ((void*)-1) --#endif -- --int main() { -- pid_t pid; -- int status; -- int fd; -- char *shm; -- char tmpname[4096]; -- -- sprintf(tmpname,"test.shm.%dXXXXXX", getpid()); -- if (mktemp(tmpname) == NULL) { -- return 1; -- } -- fd = shm_open(tmpname, O_RDWR | O_CREAT, S_IRUSR | S_IWUSR); -- if (fd == -1) { -- return 2; -- } -- if (ftruncate(fd, 4096) < 0) { -- close(fd); -- shm_unlink(tmpname); -- return 3; -- } -- -- shm = mmap(NULL, 4096, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0); -- if (shm == MAP_FAILED) { -- return 4; -- } -- shm_unlink(tmpname); -- close(fd); -- -- strcpy(shm, "hello"); -- -- pid = fork(); -- if (pid < 0) { -- return 5; -- } else if (pid == 0) { -- strcpy(shm, "bye"); -- return 6; -- } -- if (wait(&status) != pid) { -- return 7; -- } -- if (!WIFEXITED(status) || WEXITSTATUS(status) != 6) { -- return 8; -- } -- if (strcmp(shm, "bye") != 0) { -- return 9; -- } -- return 0; --} --],dnl -- AC_DEFINE(HAVE_SHM_MMAP_POSIX, 1, [Define if you have POSIX mmap() SHM support]) -- msg=yes,msg=no,msg=no) -- AC_MSG_RESULT([$msg]) -+ AC_DEFINE(HAVE_SHM_MMAP_POSIX, 1, [Define if you have POSIX mmap() SHM support]) - - AC_MSG_CHECKING(for mmap() using regular file shared memory support) -- AC_TRY_RUN([ --#include --#include --#include --#include --#include --#include --#include --#include --#include -- --#ifndef MAP_FAILED --# define MAP_FAILED ((void*)-1) --#endif -- --int main() { -- pid_t pid; -- int status; -- int fd; -- char *shm; -- char tmpname[4096]; -- -- sprintf(tmpname,"test.shm.%dXXXXXX", getpid()); -- if (mktemp(tmpname) == NULL) { -- return 1; -- } -- fd = open(tmpname, O_RDWR | O_CREAT, S_IRUSR | S_IWUSR); -- if (fd == -1) { -- return 2; -- } -- if (ftruncate(fd, 4096) < 0) { -- close(fd); -- unlink(tmpname); -- return 3; -- } -- -- shm = mmap(NULL, 4096, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0); -- if (shm == MAP_FAILED) { -- return 4; -- } -- unlink(tmpname); -- close(fd); -- -- strcpy(shm, "hello"); -- -- pid = fork(); -- if (pid < 0) { -- return 5; -- } else if (pid == 0) { -- strcpy(shm, "bye"); -- return 6; -- } -- if (wait(&status) != pid) { -- return 7; -- } -- if (!WIFEXITED(status) || WEXITSTATUS(status) != 6) { -- return 8; -- } -- if (strcmp(shm, "bye") != 0) { -- return 9; -- } -- return 0; --} --],dnl -- AC_DEFINE(HAVE_SHM_MMAP_FILE, 1, [Define if you have mmap() SHM support]) -- msg=yes,msg=no,msg=no) -- AC_MSG_RESULT([$msg]) -- --flock_type=unknown --AC_MSG_CHECKING("whether flock struct is linux ordered") --AC_TRY_RUN([ -- #include -- struct flock lock = { 1, 2, 3, 4, 5 }; -- int main() { -- if(lock.l_type == 1 && lock.l_whence == 2 && lock.l_start == 3 && lock.l_len == 4) { -- return 0; -- } -- return 1; -- } --], [ -- flock_type=linux -- AC_DEFINE([HAVE_FLOCK_LINUX], [], [Struct flock is Linux-type]) -- AC_MSG_RESULT("yes") --], AC_MSG_RESULT("no") ) -+ -+ AC_DEFINE(HAVE_SHM_MMAP_FILE, 1, [Define if you have mmap() SHM support]) - --AC_MSG_CHECKING("whether flock struct is BSD ordered") --AC_TRY_RUN([ -- #include -- struct flock lock = { 1, 2, 3, 4, 5 }; -- int main() { -- if(lock.l_start == 1 && lock.l_len == 2 && lock.l_type == 4 && lock.l_whence == 5) { -- return 0; -- } -- return 1; -- } --], [ -- flock_type=bsd -- AC_DEFINE([HAVE_FLOCK_BSD], [], [Struct flock is BSD-type]) -- AC_MSG_RESULT("yes") --], AC_MSG_RESULT("no") ) -+ flock_type=linux -+ AC_DEFINE([HAVE_FLOCK_LINUX], [], [Struct flock is Linux-type]) - - if test "$flock_type" = "unknown"; then - AC_MSG_ERROR([Don't know how to define struct flock on this system[,] set --enable-opcache=no]) --- -2.7.4 - diff --git a/meta-openembedded/meta-oe/recipes-devtools/php/php/php5-change-AC_TRY_RUN-to-AC_TRY_LINK.patch b/meta-openembedded/meta-oe/recipes-devtools/php/php/php5-change-AC_TRY_RUN-to-AC_TRY_LINK.patch deleted file mode 100644 index 1d21f8c56..000000000 --- a/meta-openembedded/meta-oe/recipes-devtools/php/php/php5-change-AC_TRY_RUN-to-AC_TRY_LINK.patch +++ /dev/null @@ -1,63 +0,0 @@ -From 5f49987e88dfcbdb84be6e0c9025432fbd998709 Mon Sep 17 00:00:00 2001 -From: Roy Li -Date: Thu, 20 Aug 2015 16:29:35 +0800 -Subject: [PATCH] config.m4: change AC_TRY_RUN to AC_TRY_LINK - -Upstream-Status: Pending - -AC_TRY_RUN is not suitable for cross-compile - -Signed-off-by: Roy Li - -%% original patch: change-AC_TRY_RUN-to-AC_TRY_LINK.patch - -%% original patch: php5-change-AC_TRY_RUN-to-AC_TRY_LINK.patch ---- - ext/fileinfo/config.m4 | 31 ++++++------------------------- - 1 file changed, 6 insertions(+), 25 deletions(-) - -diff --git a/ext/fileinfo/config.m4 b/ext/fileinfo/config.m4 -index 7e98d62..8a8ea0e 100644 ---- a/ext/fileinfo/config.m4 -+++ b/ext/fileinfo/config.m4 -@@ -14,31 +14,12 @@ if test "$PHP_FILEINFO" != "no"; then - libmagic/readcdf.c libmagic/softmagic.c" - - AC_MSG_CHECKING([for strcasestr]) -- AC_TRY_RUN([ --#include --#include --#include -- --int main(void) --{ -- char *s0, *s1, *ret; -- -- s0 = (char *) malloc(42); -- s1 = (char *) malloc(8); -- -- memset(s0, 'X', 42); -- s0[24] = 'Y'; -- s0[26] = 'Z'; -- s0[41] = '\0'; -- memset(s1, 'x', 8); -- s1[0] = 'y'; -- s1[2] = 'Z'; -- s1[7] = '\0'; -- -- ret = strcasestr(s0, s1); -- -- return !(NULL != ret); --} -+ AC_TRY_COMPILE([ -+ #include -+ #include -+ #include -+ ],[ -+ strcasestr(NULL, NULL); - ],[ - dnl using the platform implementation - AC_MSG_RESULT(yes) --- -2.7.4 - diff --git a/meta-openembedded/meta-oe/recipes-devtools/php/php/php5-pear-makefile.patch b/meta-openembedded/meta-oe/recipes-devtools/php/php/php5-pear-makefile.patch deleted file mode 100644 index 997430309..000000000 --- a/meta-openembedded/meta-oe/recipes-devtools/php/php/php5-pear-makefile.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 79725e82d5981fc94eb657f0f46a499dbfc1cc40 Mon Sep 17 00:00:00 2001 -From: Koen Kooi -Date: Wed, 2 Nov 2011 16:54:57 +0100 -Subject: [PATCH] Upstream-Status: Pending - -%% original patch: php5-pear-makefile.patch ---- - pear/Makefile.frag | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/pear/Makefile.frag b/pear/Makefile.frag -index 00bacae..739eeca 100644 ---- a/pear/Makefile.frag -+++ b/pear/Makefile.frag -@@ -11,7 +11,7 @@ PEAR_PREFIX = -dp a${program_prefix} - PEAR_SUFFIX = -ds a$(program_suffix) - - install-pear-installer: $(SAPI_CLI_PATH) -- @$(top_builddir)/sapi/cli/php $(PEAR_INSTALL_FLAGS) pear/install-pear-nozlib.phar -d "$(peardir)" -b "$(bindir)" ${PEAR_PREFIX} ${PEAR_SUFFIX} -+ @$(PHP_NATIVE_DIR)/php $(PEAR_INSTALL_FLAGS) $(builddir)/install-pear-nozlib.phar -d "$(peardir)" -b "$(bindir)" ${PEAR_PREFIX} ${PEAR_SUFFIX} - - install-pear: - @echo "Installing PEAR environment: $(INSTALL_ROOT)$(peardir)/" --- -2.7.4 - diff --git a/meta-openembedded/meta-oe/recipes-devtools/php/php/php5-phar-makefile.patch b/meta-openembedded/meta-oe/recipes-devtools/php/php/php5-phar-makefile.patch deleted file mode 100644 index 4e1efd40c..000000000 --- a/meta-openembedded/meta-oe/recipes-devtools/php/php/php5-phar-makefile.patch +++ /dev/null @@ -1,46 +0,0 @@ -From 3ea626a8d081f56b01004b7992534d4e6b81a9cc Mon Sep 17 00:00:00 2001 -From: Koen Kooi -Date: Wed, 2 Nov 2011 16:54:57 +0100 -Subject: [PATCH] Fix phar packaging - -Inherited from OE-Classic, with some additions to fix host paths leaking -into the target package. - -Upstream-Status: Inappropriate [config] - -%% original patch: php5-phar-makefile.patch ---- - ext/phar/Makefile.frag | 17 +++-------------- - 1 file changed, 3 insertions(+), 14 deletions(-) - -diff --git a/ext/phar/Makefile.frag b/ext/phar/Makefile.frag -index b8b1b42..1005b2d 100644 ---- a/ext/phar/Makefile.frag -+++ b/ext/phar/Makefile.frag -@@ -5,20 +5,9 @@ pharcmd: $(builddir)/phar.php $(builddir)/phar.phar - - PHP_PHARCMD_SETTINGS = -d 'open_basedir=' -d 'output_buffering=0' -d 'memory_limit=-1' -d phar.readonly=0 -d 'safe_mode=0' - PHP_PHARCMD_EXECUTABLE = ` \ -- if test -x "$(top_builddir)/$(SAPI_CLI_PATH)"; then \ -- $(top_srcdir)/build/shtool echo -n -- "$(top_builddir)/$(SAPI_CLI_PATH) -n"; \ -- if test "x$(PHP_MODULES)" != "x"; then \ -- $(top_srcdir)/build/shtool echo -n -- " -d extension_dir=$(top_builddir)/modules"; \ -- for i in bz2 zlib phar; do \ -- if test -f "$(top_builddir)/modules/$$i.la"; then \ -- . $(top_builddir)/modules/$$i.la; $(top_srcdir)/build/shtool echo -n -- " -d extension=$$dlname"; \ -- fi; \ -- done; \ -- fi; \ -- else \ -- $(top_srcdir)/build/shtool echo -n -- "$(PHP_EXECUTABLE)"; \ -- fi;` --PHP_PHARCMD_BANG = `$(top_srcdir)/build/shtool echo -n -- "$(INSTALL_ROOT)$(bindir)/$(program_prefix)php$(program_suffix)$(EXEEXT)";` -+ $(top_srcdir)/build/shtool echo -n -- "$(PHP_EXECUTABLE)"; ` -+ -+PHP_PHARCMD_BANG = `$(top_srcdir)/build/shtool echo -n -- "$(bindir)/$(program_prefix)php$(program_suffix)$(EXEEXT)";` - - $(builddir)/phar/phar.inc: $(srcdir)/phar/phar.inc - -@test -d $(builddir)/phar || mkdir $(builddir)/phar --- -2.7.4 - diff --git a/meta-openembedded/meta-oe/recipes-devtools/php/php/pthread-check-threads-m4.patch b/meta-openembedded/meta-oe/recipes-devtools/php/php/pthread-check-threads-m4.patch deleted file mode 100644 index 0c564cd88..000000000 --- a/meta-openembedded/meta-oe/recipes-devtools/php/php/pthread-check-threads-m4.patch +++ /dev/null @@ -1,30 +0,0 @@ -From d8067ceacbf54e79c9c6b68675332c09eaa0b55d Mon Sep 17 00:00:00 2001 -From: Jackie Huang -Date: Mon, 8 Apr 2013 14:29:51 +0800 -Subject: [PATCH] pthread-check - -Enable pthreads support when cross-compiling - -Upstream-Status: Inapproprate [config] - -Signed-off-by: Jackie Huang ---- - TSRM/threads.m4 | 2 +- - 1 files changed, 1 insertions(+), 1 deletions(-) - -diff --git a/TSRM/threads.m4 b/TSRM/threads.m4 -index 38494ce..15d9454 100644 ---- a/TSRM/threads.m4 -+++ b/TSRM/threads.m4 -@@ -86,7 +86,7 @@ int main() { - pthreads_working=no - ], [ - dnl For cross compiling running this test is of no use. NetWare supports pthreads -- pthreads_working=no -+ pthreads_working=yes - case $host_alias in - *netware*) - pthreads_working=yes --- -1.7.4.1 - diff --git a/meta-openembedded/meta-oe/recipes-devtools/php/php_5.6.40.bb b/meta-openembedded/meta-oe/recipes-devtools/php/php_5.6.40.bb deleted file mode 100644 index 9f5bac7e2..000000000 --- a/meta-openembedded/meta-oe/recipes-devtools/php/php_5.6.40.bb +++ /dev/null @@ -1,25 +0,0 @@ -require php.inc - -LIC_FILES_CHKSUM = "file://LICENSE;md5=b602636d46a61c0ac0432bbf5c078fe4" - -SRC_URI += "file://php5-change-AC_TRY_RUN-to-AC_TRY_LINK.patch \ - file://pthread-check-threads-m4.patch \ - file://0001-Add-lpthread-to-link.patch \ - file://acinclude-xml2-config.patch \ - file://0001-acinclude-use-pkgconfig-for-libxml2-config.patch \ - file://0001-PHP-5.6-LibSSL-1.1-compatibility.patch \ - file://php5-0001-acinclude.m4-don-t-unset-cache-variables.patch \ - " - -SRC_URI_append_class-target = " \ - file://php5-pear-makefile.patch \ - file://php5-phar-makefile.patch \ - file://php5-0001-opcache-config.m4-enable-opcache.patch \ - " - -SRC_URI[md5sum] = "44633604d2fece1f53f508bc16751b74" -SRC_URI[sha256sum] = "ffd025d34623553ab2f7fd8fb21d0c9e6f9fa30dc565ca03a1d7b763023fba00" - -DEPENDS += "libmcrypt" -EXTRA_OECONF += "--with-mcrypt=${STAGING_DIR_TARGET}${exec_prefix} \ - " diff --git a/meta-openembedded/meta-oe/recipes-devtools/php/php_7.3.6.bb b/meta-openembedded/meta-oe/recipes-devtools/php/php_7.3.6.bb deleted file mode 100644 index b1cac1c07..000000000 --- a/meta-openembedded/meta-oe/recipes-devtools/php/php_7.3.6.bb +++ /dev/null @@ -1,26 +0,0 @@ -require php.inc - -LIC_FILES_CHKSUM = "file://LICENSE;md5=fb07bfc51f6d5e0c30b65d9701233b2e" - -SRC_URI += "file://0001-acinclude.m4-don-t-unset-cache-variables.patch \ - file://0048-Use-pkg-config-for-FreeType2-detection.patch \ - file://0049-ext-intl-Use-pkg-config-to-detect-icu.patch \ - file://0001-Use-pkg-config-for-libxml2-detection.patch \ - " -SRC_URI_append_class-target = " \ - file://pear-makefile.patch \ - file://phar-makefile.patch \ - file://0001-opcache-config.m4-enable-opcache.patch \ - file://xfail_two_bug_tests.patch \ - " - -SRC_URI[md5sum] = "bde9a912fb311182cd460dad1abbc247" -SRC_URI[sha256sum] = "1e5ac8700154835c0910e3a814517da9b87bb4a82cc7011fea1a82096b6f6f77" - -PACKAGECONFIG[mysql] = "--with-mysqli=mysqlnd \ - --with-pdo-mysql=mysqlnd \ - ,--without-mysqli --without-pdo-mysql \ - ,mysql5" -PACKAGECONFIG[valgrind] = "--with-valgrind=${STAGING_DIR_TARGET}/usr,--with-valgrind=no,valgrind" - -FILES_${PN}-fpm += "${sysconfdir}/php-fpm.d/www.conf.default" diff --git a/meta-openembedded/meta-oe/recipes-devtools/php/php_7.3.8.bb b/meta-openembedded/meta-oe/recipes-devtools/php/php_7.3.8.bb new file mode 100644 index 000000000..072d53a09 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-devtools/php/php_7.3.8.bb @@ -0,0 +1,27 @@ +require php.inc + +LIC_FILES_CHKSUM = "file://LICENSE;md5=fb07bfc51f6d5e0c30b65d9701233b2e" + +SRC_URI += "file://0001-acinclude.m4-don-t-unset-cache-variables.patch \ + file://0048-Use-pkg-config-for-FreeType2-detection.patch \ + file://0049-ext-intl-Use-pkg-config-to-detect-icu.patch \ + file://0001-Use-pkg-config-for-libxml2-detection.patch \ + file://debian-php-fixheader.patch \ + " +SRC_URI_append_class-target = " \ + file://pear-makefile.patch \ + file://phar-makefile.patch \ + file://0001-opcache-config.m4-enable-opcache.patch \ + file://xfail_two_bug_tests.patch \ + " + +SRC_URI[md5sum] = "4ffc06e803cd782a95483eb02213301e" +SRC_URI[sha256sum] = "d566c630175d9fa84a98d3c9170ec033069e9e20c8d23dea49ae2a976b6c76f5" + +PACKAGECONFIG[mysql] = "--with-mysqli=mysqlnd \ + --with-pdo-mysql=mysqlnd \ + ,--without-mysqli --without-pdo-mysql \ + ,mysql5" +PACKAGECONFIG[valgrind] = "--with-valgrind=${STAGING_DIR_TARGET}/usr,--with-valgrind=no,valgrind" + +FILES_${PN}-fpm += "${sysconfdir}/php-fpm.d/www.conf.default" diff --git a/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf-c/protobuf3-compatibility.patch b/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf-c/protobuf3-compatibility.patch deleted file mode 100644 index 35914952d..000000000 --- a/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf-c/protobuf3-compatibility.patch +++ /dev/null @@ -1,55 +0,0 @@ -From 7456d1621223d425b8a3fd74e435a79c046169fb Mon Sep 17 00:00:00 2001 -From: Robert Edmonds -Date: Wed, 10 Apr 2019 20:47:48 -0400 -Subject: [PATCH] t/generated-code2/cxx-generate-packed-data.cc: Fix build - failure on newer protobuf - - Upstream-Status: Backport [https://github.com/protobuf-c/protobuf-c/pull/369] - -google::protobuf::Message::Reflection has been removed in newer versions -of protobuf. The replacement is google::protobuf::Reflection. - -protobuf in commit 779f61c6a3ce02a119e28e802f229e61b69b9046 ("Integrate -recent changes from google3.", from August 2008) changed the following -in message.h: - - @@ -336,7 +337,8 @@ class LIBPROTOBUF_EXPORT Message { - - // Introspection --------------------------------------------------- - - - class Reflection; // Defined below. - + // Typedef for backwards-compatibility. - + typedef google::protobuf::Reflection Reflection; - -The "typedef for backwards-compatibility" apparently lasted ten years -until protobuf commit 6bbe197e9c1b6fc38cbdc45e3bf83fa7ced792a3 -("Down-integrate from google3.", from August 2018) which finally removed -the typedef: - - @@ -327,8 +344,6 @@ class LIBPROTOBUF_EXPORT Message : public MessageLite { - - // Introspection --------------------------------------------------- - - - // Typedef for backwards-compatibility. - - typedef google::protobuf::Reflection Reflection; - -This commit updates the only use of this typedef (in the test suite) to -directly refer to the replacement, google::protobuf::Reflection. This -fixes the build failure in the test suite. ---- - t/generated-code2/cxx-generate-packed-data.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/t/generated-code2/cxx-generate-packed-data.cc b/t/generated-code2/cxx-generate-packed-data.cc -index 4fd3e25..0865d2e 100644 ---- a/t/generated-code2/cxx-generate-packed-data.cc -+++ b/t/generated-code2/cxx-generate-packed-data.cc -@@ -998,7 +998,7 @@ static void dump_test_packed_repeated_enum (void) - static void dump_test_unknown_fields (void) - { - EmptyMess mess; -- const google::protobuf::Message::Reflection *reflection = mess.GetReflection(); -+ const google::protobuf::Reflection *reflection = mess.GetReflection(); - google::protobuf::UnknownFieldSet *fs = reflection->MutableUnknownFields(&mess); - - #if GOOGLE_PROTOBUF_VERSION >= 2001000 diff --git a/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf-c_1.3.1.bb b/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf-c_1.3.1.bb deleted file mode 100644 index 1d1782306..000000000 --- a/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf-c_1.3.1.bb +++ /dev/null @@ -1,37 +0,0 @@ -SUMMARY = "Protocol Buffers - structured data serialisation mechanism" -DESCRIPTION = "This is protobuf-c, a C implementation of the Google Protocol Buffers data \ -serialization format. It includes libprotobuf-c, a pure C library that \ -implements protobuf encoding and decoding, and protoc-c, a code generator that \ -converts Protocol Buffer .proto files to C descriptor code, based on the \ -original protoc. protobuf-c formerly included an RPC implementation; that code \ -has been split out into the protobuf-c-rpc project." -HOMEPAGE = "https://github.com/protobuf-c/protobuf-c" -SECTION = "console/tools" -LICENSE = "BSD-2-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=cb901168715f4782a2b06c3ddaefa558" - -DEPENDS = "protobuf-native protobuf" - -PV .= "+git${SRCPV}" -SRCREV = "269771b4b45d3aba04e59569f53600003db8d9ff" - -SRC_URI = "git://github.com/protobuf-c/protobuf-c.git \ - file://protobuf3-compatibility.patch \ - " - -S = "${WORKDIR}/git" - -#make sure c++11 is used -CXXFLAGS += "-std=c++11" -BUILD_CXXFLAGS += "-std=c++11" - -inherit autotools pkgconfig - -PACKAGE_BEFORE_PN = "${PN}-compiler" - -FILES_${PN}-compiler = "${bindir}" - -RDEPENDS_${PN}-compiler = "protobuf-compiler" -RDEPENDS_${PN}-dev += "${PN}-compiler" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf-c_1.3.2.bb b/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf-c_1.3.2.bb new file mode 100644 index 000000000..6d1ffc3f4 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf-c_1.3.2.bb @@ -0,0 +1,35 @@ +SUMMARY = "Protocol Buffers - structured data serialisation mechanism" +DESCRIPTION = "This is protobuf-c, a C implementation of the Google Protocol Buffers data \ +serialization format. It includes libprotobuf-c, a pure C library that \ +implements protobuf encoding and decoding, and protoc-c, a code generator that \ +converts Protocol Buffer .proto files to C descriptor code, based on the \ +original protoc. protobuf-c formerly included an RPC implementation; that code \ +has been split out into the protobuf-c-rpc project." +HOMEPAGE = "https://github.com/protobuf-c/protobuf-c" +SECTION = "console/tools" +LICENSE = "BSD-2-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=cb901168715f4782a2b06c3ddaefa558" + +DEPENDS = "protobuf-native protobuf" + +SRCREV = "1390409f4ee4e26d0635310995b516eb702c3f9e" + +SRC_URI = "git://github.com/protobuf-c/protobuf-c.git \ + " + +S = "${WORKDIR}/git" + +#make sure c++11 is used +CXXFLAGS += "-std=c++11" +BUILD_CXXFLAGS += "-std=c++11" + +inherit autotools pkgconfig + +PACKAGE_BEFORE_PN = "${PN}-compiler" + +FILES_${PN}-compiler = "${bindir}" + +RDEPENDS_${PN}-compiler = "protobuf-compiler" +RDEPENDS_${PN}-dev += "${PN}-compiler" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf/0001-Added-stubs-map_util.h-to-list-of-installed-headers.patch b/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf/0001-Added-stubs-map_util.h-to-list-of-installed-headers.patch deleted file mode 100644 index a160e5e97..000000000 --- a/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf/0001-Added-stubs-map_util.h-to-list-of-installed-headers.patch +++ /dev/null @@ -1,52 +0,0 @@ -From ea6e776e50971c89ad2293046b6ae2a6a9753c56 Mon Sep 17 00:00:00 2001 -From: Adam Cozzette -Date: Thu, 6 Jun 2019 10:29:58 -0700 -Subject: [PATCH] Added stubs/map_util.h to list of installed headers - -This should fix issue #6186. I also had to remove a couple unnecessary -const keywords in map_util.h because the no_warning_test was showing -errors about those. - -Upstream-Status: Submitted [https://github.com/protocolbuffers/protobuf/pull/6223] ---- - src/Makefile.am | 1 + - src/google/protobuf/stubs/map_util.h | 4 ++-- - 2 files changed, 3 insertions(+), 2 deletions(-) - -diff --git a/src/Makefile.am b/src/Makefile.am -index be18ba76..1689e221 100644 ---- a/src/Makefile.am -+++ b/src/Makefile.am -@@ -72,6 +72,7 @@ nobase_include_HEADERS = \ - google/protobuf/stubs/hash.h \ - google/protobuf/stubs/logging.h \ - google/protobuf/stubs/macros.h \ -+ google/protobuf/stubs/map_util.h \ - google/protobuf/stubs/mutex.h \ - google/protobuf/stubs/once.h \ - google/protobuf/stubs/platform_macros.h \ -diff --git a/src/google/protobuf/stubs/map_util.h b/src/google/protobuf/stubs/map_util.h -index 2313e1f5..b04d9d46 100644 ---- a/src/google/protobuf/stubs/map_util.h -+++ b/src/google/protobuf/stubs/map_util.h -@@ -620,7 +620,7 @@ bool UpdateReturnCopy(Collection* const collection, - // twice. Unlike UpdateReturnCopy this also does not come with the issue of an - // undefined previous* in case new data was inserted. - template --typename Collection::value_type::second_type* const -+typename Collection::value_type::second_type* - InsertOrReturnExisting(Collection* const collection, - const typename Collection::value_type& vt) { - std::pair ret = collection->insert(vt); -@@ -633,7 +633,7 @@ InsertOrReturnExisting(Collection* const collection, - - // Same as above, except for explicit key and data. - template --typename Collection::value_type::second_type* const -+typename Collection::value_type::second_type* - InsertOrReturnExisting( - Collection* const collection, - const typename Collection::value_type::first_type& key, --- -2.11.0 - diff --git a/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf/0001-Makefile.am-include-descriptor.cc-when-building-libp.patch b/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf/0001-Makefile.am-include-descriptor.cc-when-building-libp.patch new file mode 100644 index 000000000..fc7286122 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf/0001-Makefile.am-include-descriptor.cc-when-building-libp.patch @@ -0,0 +1,28 @@ +From 321709837f412e2f590e36e3fe33571bb40036a7 Mon Sep 17 00:00:00 2001 +From: Martin Jansa +Date: Thu, 27 Jun 2019 13:27:18 +0000 +Subject: [PATCH] Makefile.am: include descriptor.pb.cc when building libprotoc.so + +* otherwise plugin.pb.o has undefined symbol scc_info_FileDescriptorProto_google_2fprotobuf_2fdescriptor_2eproto + and build with gold fails with: + core2-32-oe-linux/protobuf/3.8.0-r0/recipe-sysroot-native/usr/bin/i686-oe-linux/../../libexec/i686-oe-linux/gcc/i686-oe-linux/9.1.0/ld.bfd: ./.libs/libprotoc.so: undefined reference to `descriptor_table_google_2fprotobuf_2fdescriptor_2eproto' + core2-32-oe-linux/protobuf/3.8.0-r0/recipe-sysroot-native/usr/bin/i686-oe-linux/../../libexec/i686-oe-linux/gcc/i686-oe-linux/9.1.0/ld.bfd: ./.libs/libprotoc.so: undefined reference to `scc_info_FileDescriptorProto_google_2fprotobuf_2fdescriptor_2eproto' + +Upstream-Status: Pending +Signed-off-by: Martin Jansa +--- + src/Makefile.am | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/Makefile.am b/src/Makefile.am +index be18ba761..57e3daec1 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -313,6 +313,7 @@ libprotoc_la_LDFLAGS += -Wl,--version-script=$(srcdir)/libprotoc.map + EXTRA_libprotoc_la_DEPENDENCIES = libprotoc.map + endif + libprotoc_la_SOURCES = \ ++ google/protobuf/descriptor.pb.cc \ + google/protobuf/compiler/code_generator.cc \ + google/protobuf/compiler/command_line_interface.cc \ + google/protobuf/compiler/plugin.cc \ diff --git a/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf/0001-examples-Makefile-respect-CXX-LDFLAGS-variables-fix-.patch b/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf/0001-examples-Makefile-respect-CXX-LDFLAGS-variables-fix-.patch new file mode 100644 index 000000000..0a2e5e2df --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf/0001-examples-Makefile-respect-CXX-LDFLAGS-variables-fix-.patch @@ -0,0 +1,56 @@ +From a28e15092a298e0c73c6fc1ded0913275cf27cb0 Mon Sep 17 00:00:00 2001 +From: Martin Jansa +Date: Fri, 28 Jun 2019 13:50:52 +0000 +Subject: [PATCH] examples/Makefile: respect CXX,LDFLAGS variables, fix build + with gold + +* move pkg-config call to separate variable, so that the final version + of the whole command so it's shown in log.do_compile_ptest_base +* add ../src/google/protobuf/.libs/timestamp.pb.o when linking + add_person_cpp otherwise it fails to link with gold: + i686-oe-linux-g++ -m32 -march=core2 -mtune=core2 -msse3 -mfpmath=sse --sysroot=core2-32-oe-linux/protobuf/3.8.0-r0/recipe-sysroot -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed add_person.cc addressbook.pb.cc -o add_person_cpp `pkg-config --cflags --libs protobuf` + /tmp/cccjSJQs.o:addressbook.pb.cc:scc_info_Person_addressbook_2eproto: error: undefined reference to 'scc_info_Timestamp_google_2fprotobuf_2ftimestamp_2eproto' + /tmp/cccjSJQs.o:addressbook.pb.cc:descriptor_table_addressbook_2eproto_deps: error: undefined reference to 'descriptor_table_google_2fprotobuf_2ftimestamp_2eproto' + collect2: error: ld returned 1 exit status + Makefile:43: recipe for target 'add_person_cpp' failed + +* and the same with list_people_cpp this time with pkg-config already through the variable: + i686-oe-linux-g++ -m32 -march=core2 -mtune=core2 -msse3 -mfpmath=sse --sysroot=core2-32-oe-linux/protobuf/3.8.0-r0/recipe-sysroot -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -pthread -Icore2-32-oe-linux/protobuf/3.8.0-r0/git/src -Lcore2-32-oe-linux/protobuf/3.8.0-r0/git/src/.libs -Lcore2-32-oe-linux/protobuf/3.8.0-r0/recipe-sysroot/usr/lib -lprotobuf list_people.cc addressbook.pb.cc -o list_people_cpp + /tmp/ccpaI5Su.o:addressbook.pb.cc:scc_info_Person_addressbook_2eproto: error: undefined reference to 'scc_info_Timestamp_google_2fprotobuf_2ftimestamp_2eproto' + /tmp/ccpaI5Su.o:addressbook.pb.cc:descriptor_table_addressbook_2eproto_deps: error: undefined reference to 'descriptor_table_google_2fprotobuf_2ftimestamp_2eproto' + collect2: error: ld returned 1 exit status + Makefile:49: recipe for target 'list_people_cpp' failed + +Upstream-Status: Pending +Signed-off-by: Martin Jansa +--- + examples/Makefile | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git a/examples/Makefile b/examples/Makefile +index 4ad605641..31d887639 100644 +--- a/examples/Makefile ++++ b/examples/Makefile +@@ -2,6 +2,8 @@ + + .PHONY: all cpp java python clean + ++PROTOBUF := $(shell pkg-config --cflags --libs protobuf) ++ + all: cpp java python + + cpp: add_person_cpp list_people_cpp +@@ -41,11 +43,11 @@ protoc_middleman_dart: addressbook.proto + + add_person_cpp: add_person.cc protoc_middleman + pkg-config --cflags protobuf # fails if protobuf is not installed +- c++ add_person.cc addressbook.pb.cc -o add_person_cpp `pkg-config --cflags --libs protobuf` ++ $(CXX) $(CXXFLAGS) $(LDFLAGS) ../src/google/protobuf/.libs/timestamp.pb.o $(PROTOBUF) add_person.cc addressbook.pb.cc -o add_person_cpp + + list_people_cpp: list_people.cc protoc_middleman + pkg-config --cflags protobuf # fails if protobuf is not installed +- c++ list_people.cc addressbook.pb.cc -o list_people_cpp `pkg-config --cflags --libs protobuf` ++ $(CXX) $(CXXFLAGS) $(LDFLAGS) ../src/google/protobuf/.libs/timestamp.pb.o $(PROTOBUF) list_people.cc addressbook.pb.cc -o list_people_cpp + + add_person_dart: add_person.dart protoc_middleman_dart + diff --git a/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_3.8.0.bb b/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_3.8.0.bb deleted file mode 100644 index 476d1e309..000000000 --- a/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_3.8.0.bb +++ /dev/null @@ -1,92 +0,0 @@ -SUMMARY = "Protocol Buffers - structured data serialisation mechanism" -DESCRIPTION = "Protocol Buffers are a way of encoding structured data in an \ -efficient yet extensible format. Google uses Protocol Buffers for almost \ -all of its internal RPC protocols and file formats." -HOMEPAGE = "https://github.com/google/protobuf" -SECTION = "console/tools" -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=37b5762e07f0af8c74ce80a8bda4266b" - -DEPENDS = "zlib" -DEPENDS_append_class-target = " protobuf-native" - -SRCREV = "09745575a923640154bcf307fba8aedff47f240a" - -SRC_URI = "git://github.com/google/protobuf.git;branch=3.8.x \ - file://run-ptest \ - file://0001-protobuf-fix-configure-error.patch \ - file://0001-Added-stubs-map_util.h-to-list-of-installed-headers.patch \ -" -S = "${WORKDIR}/git" - -inherit autotools-brokensep pkgconfig ptest - -PACKAGECONFIG ??= "" -PACKAGECONFIG[python] = ",," - -EXTRA_OECONF += "--with-protoc=echo" - -TEST_SRC_DIR = "examples" -LANG_SUPPORT = "cpp ${@bb.utils.contains('PACKAGECONFIG', 'python', 'python', '', d)}" - -do_compile_ptest() { - # Modify makefile to use the cross-compiler - sed -e "s|c++|${CXX} \$(LDFLAGS)|g" -i "${S}/${TEST_SRC_DIR}/Makefile" - - mkdir -p "${B}/${TEST_SRC_DIR}" - - # Add the location of the cross-compiled header and library files - # which haven't been installed yet. - cp "${B}/protobuf.pc" "${B}/${TEST_SRC_DIR}/protobuf.pc" - sed -e 's|libdir=|libdir=${PKG_CONFIG_SYSROOT_DIR}|' -i "${B}/${TEST_SRC_DIR}/protobuf.pc" - sed -e 's|Cflags:|Cflags: -I${S}/src|' -i "${B}/${TEST_SRC_DIR}/protobuf.pc" - sed -e 's|Libs:|Libs: -L${B}/src/.libs|' -i "${B}/${TEST_SRC_DIR}/protobuf.pc" - export PKG_CONFIG_PATH="${B}/${TEST_SRC_DIR}" - - # Save the pkgcfg sysroot variable, and update it to nothing so - # that it doesn't append the sysroot to the beginning of paths. - # The header and library files aren't installed to the target - # system yet. So the absolute paths were specified above. - save_pkg_config_sysroot_dir=$PKG_CONFIG_SYSROOT_DIR - export PKG_CONFIG_SYSROOT_DIR= - - # Compile the tests - for lang in ${LANG_SUPPORT}; do - oe_runmake -C "${S}/${TEST_SRC_DIR}" ${lang} - done - - # Restore the pkgconfig sysroot variable - export PKG_CONFIG_SYSROOT_DIR=$save_pkg_config_sysroot_dir -} - -do_install_ptest() { - local olddir=`pwd` - - cd "${S}/${TEST_SRC_DIR}" - install -d "${D}/${PTEST_PATH}" - for i in add_person* list_people*; do - if [ -x "$i" ]; then - install "$i" "${D}/${PTEST_PATH}" - fi - done - cp "${S}/${TEST_SRC_DIR}/addressbook_pb2.py" "${D}/${PTEST_PATH}" - cd "$olddir" -} - -PACKAGE_BEFORE_PN = "${PN}-compiler ${PN}-lite" - -FILES_${PN}-compiler = "${bindir} ${libdir}/libprotoc${SOLIBS}" -FILES_${PN}-lite = "${libdir}/libprotobuf-lite${SOLIBS}" - -RDEPENDS_${PN}-compiler = "${PN}" -RDEPENDS_${PN}-dev += "${PN}-compiler" -RDEPENDS_${PN}-ptest = "bash ${@bb.utils.contains('PACKAGECONFIG', 'python', 'python-protobuf', '', d)}" - -MIPS_INSTRUCTION_SET = "mips" - -BBCLASSEXTEND = "native nativesdk" - -LDFLAGS_append_arm = " -latomic" -LDFLAGS_append_mips = " -latomic" -LDFLAGS_append_powerpc = " -latomic" -LDFLAGS_append_mipsel = " -latomic" diff --git a/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_3.9.1.bb b/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_3.9.1.bb new file mode 100644 index 000000000..94d8def77 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_3.9.1.bb @@ -0,0 +1,90 @@ +SUMMARY = "Protocol Buffers - structured data serialisation mechanism" +DESCRIPTION = "Protocol Buffers are a way of encoding structured data in an \ +efficient yet extensible format. Google uses Protocol Buffers for almost \ +all of its internal RPC protocols and file formats." +HOMEPAGE = "https://github.com/google/protobuf" +SECTION = "console/tools" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=37b5762e07f0af8c74ce80a8bda4266b" + +DEPENDS = "zlib" +DEPENDS_append_class-target = " protobuf-native" + +SRCREV = "655310ca192a6e3a050e0ca0b7084a2968072260" + +SRC_URI = "git://github.com/google/protobuf.git;branch=3.9.x \ + file://run-ptest \ + file://0001-protobuf-fix-configure-error.patch \ + file://0001-Makefile.am-include-descriptor.cc-when-building-libp.patch \ + file://0001-examples-Makefile-respect-CXX-LDFLAGS-variables-fix-.patch \ +" +S = "${WORKDIR}/git" + +inherit autotools-brokensep pkgconfig ptest + +PACKAGECONFIG ??= "" +PACKAGECONFIG[python] = ",," + +EXTRA_OECONF += "--with-protoc=echo" + +TEST_SRC_DIR = "examples" +LANG_SUPPORT = "cpp ${@bb.utils.contains('PACKAGECONFIG', 'python', 'python', '', d)}" + +do_compile_ptest() { + mkdir -p "${B}/${TEST_SRC_DIR}" + + # Add the location of the cross-compiled header and library files + # which haven't been installed yet. + cp "${B}/protobuf.pc" "${B}/${TEST_SRC_DIR}/protobuf.pc" + sed -e 's|libdir=|libdir=${PKG_CONFIG_SYSROOT_DIR}|' -i "${B}/${TEST_SRC_DIR}/protobuf.pc" + sed -e 's|Cflags:|Cflags: -I${S}/src|' -i "${B}/${TEST_SRC_DIR}/protobuf.pc" + sed -e 's|Libs:|Libs: -L${B}/src/.libs|' -i "${B}/${TEST_SRC_DIR}/protobuf.pc" + export PKG_CONFIG_PATH="${B}/${TEST_SRC_DIR}" + + # Save the pkgcfg sysroot variable, and update it to nothing so + # that it doesn't append the sysroot to the beginning of paths. + # The header and library files aren't installed to the target + # system yet. So the absolute paths were specified above. + save_pkg_config_sysroot_dir=$PKG_CONFIG_SYSROOT_DIR + export PKG_CONFIG_SYSROOT_DIR= + + # Compile the tests + for lang in ${LANG_SUPPORT}; do + oe_runmake -C "${S}/${TEST_SRC_DIR}" ${lang} + done + + # Restore the pkgconfig sysroot variable + export PKG_CONFIG_SYSROOT_DIR=$save_pkg_config_sysroot_dir +} + +do_install_ptest() { + local olddir=`pwd` + + cd "${S}/${TEST_SRC_DIR}" + install -d "${D}/${PTEST_PATH}" + for i in add_person* list_people*; do + if [ -x "$i" ]; then + install "$i" "${D}/${PTEST_PATH}" + fi + done + cp "${S}/${TEST_SRC_DIR}/addressbook_pb2.py" "${D}/${PTEST_PATH}" + cd "$olddir" +} + +PACKAGE_BEFORE_PN = "${PN}-compiler ${PN}-lite" + +FILES_${PN}-compiler = "${bindir} ${libdir}/libprotoc${SOLIBS}" +FILES_${PN}-lite = "${libdir}/libprotobuf-lite${SOLIBS}" + +RDEPENDS_${PN}-compiler = "${PN}" +RDEPENDS_${PN}-dev += "${PN}-compiler" +RDEPENDS_${PN}-ptest = "bash ${@bb.utils.contains('PACKAGECONFIG', 'python', 'python-protobuf', '', d)}" + +MIPS_INSTRUCTION_SET = "mips" + +BBCLASSEXTEND = "native nativesdk" + +LDFLAGS_append_arm = " -latomic" +LDFLAGS_append_mips = " -latomic" +LDFLAGS_append_powerpc = " -latomic" +LDFLAGS_append_mipsel = " -latomic" diff --git a/meta-openembedded/meta-oe/recipes-devtools/python/python-pygobject/0001-python-pyobject-fix-install-dir.patch b/meta-openembedded/meta-oe/recipes-devtools/python/python-pygobject/0001-python-pyobject-fix-install-dir.patch new file mode 100644 index 000000000..848cda5aa --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-devtools/python/python-pygobject/0001-python-pyobject-fix-install-dir.patch @@ -0,0 +1,121 @@ +From 8b4648d5bc50cb1c14961ed38bf97d5a693f5237 Mon Sep 17 00:00:00 2001 +From: Changqing Li +Date: Mon, 24 Jun 2019 14:51:52 +0800 +Subject: [PATCH] python-pyobject: fix the wrong install dir for python2 + +* after upgrade to 3.32.1, pygobject switch to build with meson, and + default python option is python3, switch to python2 + +* default install dir get by python.install_sources and +python.get_install_dir is get from python's sysconfig info, +not like python3, for python2, the install dir include the basedir of +recipe-sysroot-native, add stagedir option for user to config +correct install dir. + +Upstream-Status: Inappropriate [oe-specific] + +Signed-off-by: Changqing Li +--- + gi/meson.build | 7 +++---- + gi/overrides/meson.build | 4 ++-- + gi/repository/meson.build | 4 ++-- + meson.build | 4 +++- + meson_options.txt | 1 + + pygtkcompat/meson.build | 4 ++-- + 6 files changed, 13 insertions(+), 11 deletions(-) + +diff --git a/gi/meson.build b/gi/meson.build +index c1afd68..249c23d 100644 +--- a/gi/meson.build ++++ b/gi/meson.build +@@ -60,9 +60,8 @@ python_sources = [ + 'types.py', + ] + +-python.install_sources(python_sources, +- pure : false, +- subdir : 'gi' ++install_data(python_sources, ++ install_dir: join_paths(stagedir, 'gi') + ) + + # https://github.com/mesonbuild/meson/issues/4117 +@@ -76,7 +75,7 @@ giext = python.extension_module('_gi', sources, + dependencies : [python_ext_dep, glib_dep, gi_dep, ffi_dep], + include_directories: include_directories('..'), + install: true, +- subdir : 'gi', ++ install_dir: join_paths(stagedir, 'gi'), + c_args: pyext_c_args + main_c_args + ) + +diff --git a/gi/overrides/meson.build b/gi/overrides/meson.build +index 6ff073f..964fef1 100644 +--- a/gi/overrides/meson.build ++++ b/gi/overrides/meson.build +@@ -10,6 +10,6 @@ python_sources = [ + 'keysyms.py', + '__init__.py'] + +-python.install_sources(python_sources, +- subdir : join_paths('gi', 'overrides') ++install_data(python_sources, ++ install_dir: join_paths(stagedir, 'gi', 'overrides') + ) +diff --git a/gi/repository/meson.build b/gi/repository/meson.build +index fdc136b..fc88adf 100644 +--- a/gi/repository/meson.build ++++ b/gi/repository/meson.build +@@ -1,5 +1,5 @@ + python_sources = ['__init__.py'] + +-python.install_sources(python_sources, +- subdir : join_paths('gi', 'repository') ++install_data(python_sources, ++ install_dir: join_paths(stagedir, 'gi', 'repository') + ) +diff --git a/meson.build b/meson.build +index d27a005..ecd55d5 100644 +--- a/meson.build ++++ b/meson.build +@@ -165,12 +165,14 @@ else + py_version = pygobject_version + endif + ++stagedir = get_option('stagedir') ++ + pkginfo_conf = configuration_data() + pkginfo_conf.set('VERSION', py_version) + configure_file(input : 'PKG-INFO.in', + output : 'PyGObject-@0@.egg-info'.format(py_version), + configuration : pkginfo_conf, +- install_dir : python.get_install_dir(pure : false)) ++ install_dir : stagedir) + + subdir('gi') + subdir('pygtkcompat') +diff --git a/meson_options.txt b/meson_options.txt +index 5dd4cbc..21def16 100644 +--- a/meson_options.txt ++++ b/meson_options.txt +@@ -1,3 +1,4 @@ + option('python', type : 'string', value : 'python3') + option('pycairo', type : 'boolean', value : true, description : 'build with pycairo integration') + option('tests', type : 'boolean', value : true, description : 'build unit tests') ++option('stagedir', type : 'string', value : '') +diff --git a/pygtkcompat/meson.build b/pygtkcompat/meson.build +index 9e43c44..ef3322d 100644 +--- a/pygtkcompat/meson.build ++++ b/pygtkcompat/meson.build +@@ -3,6 +3,6 @@ python_sources = [ + 'generictreemodel.py', + 'pygtkcompat.py'] + +-python.install_sources(python_sources, +- subdir : 'pygtkcompat' ++install_data(python_sources, ++ install_dir: join_paths(stagedir, 'pygtkcompat') + ) +-- +2.7.4 + diff --git a/meta-openembedded/meta-oe/recipes-devtools/python/python-pygobject_3.32.1.bb b/meta-openembedded/meta-oe/recipes-devtools/python/python-pygobject_3.32.1.bb deleted file mode 100644 index c26b3838e..000000000 --- a/meta-openembedded/meta-oe/recipes-devtools/python/python-pygobject_3.32.1.bb +++ /dev/null @@ -1,35 +0,0 @@ -SUMMARY = "Python GObject bindings" -HOMEPAGE = "http://www.pygtk.org/" -SECTION = "devel/python" -LICENSE = "LGPLv2.1" -LIC_FILES_CHKSUM = "file://COPYING;md5=a916467b91076e631dd8edb7424769c7" - -GNOMEBASEBUILDCLASS = "meson" -inherit gnomebase gobject-introspection distutils-base upstream-version-is-even - -DEPENDS += "python glib-2.0" - -SRCNAME = "pygobject" -SRC_URI = " \ - http://ftp.gnome.org/pub/GNOME/sources/${SRCNAME}/${@gnome_verdir("${PV}")}/${SRCNAME}-${PV}.tar.xz \ -" - -SRC_URI[md5sum] = "9d5dbca10162dd9b0d03fed0c6cf865d" -SRC_URI[sha256sum] = "32c99def94b8dea5ce9e4bc99576ef87591ea779b4db77cfdca7af81b76d04d8" - -S = "${WORKDIR}/${SRCNAME}-${PV}" - -UNKNOWN_CONFIGURE_WHITELIST = "introspection" - -PACKAGECONFIG[cairo] = "-Dpycairo=true,-Dpycairo=false, cairo python-pycairo, python-pycairo" -PACKAGECONFIG[tests] = "-Dtests=true, -Dtests=false, , " - - -BBCLASSEXTEND = "native" -RDEPENDS_${PN} = "python-setuptools" -RDEPENDS_${PN}_class-native = "" - -do_install_append() { - # Remove files that clash with python3-pygobject; their content is same - rm -r ${D}${includedir}/pygobject-3.0/pygobject.h ${D}${libdir}/pkgconfig -} diff --git a/meta-openembedded/meta-oe/recipes-devtools/python/python-pygobject_3.32.2.bb b/meta-openembedded/meta-oe/recipes-devtools/python/python-pygobject_3.32.2.bb new file mode 100644 index 000000000..0ea70b23b --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-devtools/python/python-pygobject_3.32.2.bb @@ -0,0 +1,39 @@ +SUMMARY = "Python GObject bindings" +HOMEPAGE = "http://www.pygtk.org/" +SECTION = "devel/python" +LICENSE = "LGPLv2.1" +LIC_FILES_CHKSUM = "file://COPYING;md5=a916467b91076e631dd8edb7424769c7" + +GNOMEBASEBUILDCLASS = "meson" +inherit gnomebase gobject-introspection distutils-base upstream-version-is-even + +DEPENDS += "python glib-2.0" + +SRCNAME = "pygobject" +SRC_URI = " \ + http://ftp.gnome.org/pub/GNOME/sources/${SRCNAME}/${@gnome_verdir("${PV}")}/${SRCNAME}-${PV}.tar.xz \ + file://0001-python-pyobject-fix-install-dir.patch \ +" + +SRC_URI[md5sum] = "92ffa25351782feb96362f0dace2089f" +SRC_URI[sha256sum] = "c39ca2a28364b57fa00549c6e836346031e6b886c3ceabfd8ab4b4fed0a83611" + +S = "${WORKDIR}/${SRCNAME}-${PV}" + +UNKNOWN_CONFIGURE_WHITELIST = "introspection" + +PACKAGECONFIG ??= "stagedir" + +PACKAGECONFIG[cairo] = "-Dpycairo=true,-Dpycairo=false, cairo python-pycairo, python-pycairo" +PACKAGECONFIG[tests] = "-Dtests=true, -Dtests=false, , " +PACKAGECONFIG[python] = "-Dpython=python3, -Dpython=python2, , " +PACKAGECONFIG[stagedir] = "-Dstagedir=${PYTHON_SITEPACKAGES_DIR}, -Dstagedir="", , " + +BBCLASSEXTEND = "native" +RDEPENDS_${PN} = "python-pkgutil" +RDEPENDS_${PN}_class-native = "" + +do_install_append() { + # Remove files that clash with python3-pygobject; their content is same + rm -r ${D}${includedir}/pygobject-3.0/pygobject.h ${D}${libdir}/pkgconfig +} diff --git a/meta-openembedded/meta-oe/recipes-devtools/uftrace/uftrace_0.9.2.bb b/meta-openembedded/meta-oe/recipes-devtools/uftrace/uftrace_0.9.2.bb deleted file mode 100644 index 4f4016895..000000000 --- a/meta-openembedded/meta-oe/recipes-devtools/uftrace/uftrace_0.9.2.bb +++ /dev/null @@ -1,45 +0,0 @@ -SUMMARY = "Trace and analyze execution of a program written in C/C++" -HOMEPAGE = "https://github.com/namhyung/uftrace" -BUGTRACKER = "https://github.com/namhyung/uftrace/issues" -SECTION = "devel" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" - -DEPENDS = "elfutils" -DEPENDS_append_libc-musl = " argp-standalone" - -inherit autotools - -# v0.9.2 -SRCREV = "66fc1fb973f4a44aecd216541405ffe05196f11e" -SRC_URI = "git://github.com/namhyung/${BPN} \ - " -S = "${WORKDIR}/git" - -LDFLAGS_append_libc-musl = " -largp" - -def set_target_arch(d): - import re - arch = d.getVar('TARGET_ARCH') - if re.match(r'i.86', arch, re.I): - return 'i386' - elif re.match('armeb', arch, re.I): - return 'arm' - else: - return arch - -EXTRA_UFTRACE_OECONF = "ARCH=${@set_target_arch(d)} \ - with_elfutils=/use/libelf/from/sysroot" - -do_configure() { - ${S}/configure ${EXTRA_UFTRACE_OECONF} -} - -FILES_SOLIBSDEV = "" -FILES_${PN} += "${libdir}/*.so" - -COMPATIBLE_HOST = "(i.86|x86_64|aarch64|arm)" - -# uftrace supports armv6 and above -COMPATIBLE_HOST_armv4 = 'null' -COMPATIBLE_HOST_armv5 = 'null' diff --git a/meta-openembedded/meta-oe/recipes-devtools/uftrace/uftrace_0.9.3.bb b/meta-openembedded/meta-oe/recipes-devtools/uftrace/uftrace_0.9.3.bb new file mode 100644 index 000000000..dba607c15 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-devtools/uftrace/uftrace_0.9.3.bb @@ -0,0 +1,45 @@ +SUMMARY = "Trace and analyze execution of a program written in C/C++" +HOMEPAGE = "https://github.com/namhyung/uftrace" +BUGTRACKER = "https://github.com/namhyung/uftrace/issues" +SECTION = "devel" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +DEPENDS = "elfutils" +DEPENDS_append_libc-musl = " argp-standalone" + +inherit autotools + +# v0.9.3 +SRCREV = "e77780e7524c0a97f25313b205837191bbe9712a" +SRC_URI = "git://github.com/namhyung/${BPN} \ + " +S = "${WORKDIR}/git" + +LDFLAGS_append_libc-musl = " -largp" + +def set_target_arch(d): + import re + arch = d.getVar('TARGET_ARCH') + if re.match(r'i.86', arch, re.I): + return 'i386' + elif re.match('armeb', arch, re.I): + return 'arm' + else: + return arch + +EXTRA_UFTRACE_OECONF = "ARCH=${@set_target_arch(d)} \ + with_elfutils=/use/libelf/from/sysroot" + +do_configure() { + ${S}/configure ${EXTRA_UFTRACE_OECONF} +} + +FILES_SOLIBSDEV = "" +FILES_${PN} += "${libdir}/*.so" + +COMPATIBLE_HOST = "(i.86|x86_64|aarch64|arm)" + +# uftrace supports armv6 and above +COMPATIBLE_HOST_armv4 = 'null' +COMPATIBLE_HOST_armv5 = 'null' -- cgit v1.2.3