From e42b3e385822fc1b08807a585d4bb2015c823690 Mon Sep 17 00:00:00 2001 From: Brad Bishop Date: Wed, 15 Jan 2020 22:08:42 -0500 Subject: meta-openembedded: subtree update:459dbf1078..ea8604a0e3 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Adrian Bunk (6): xfsprogs: Remove obsolete patch gpsd: Add a PACKAGECONFIG for disabling usb support libqmi: Upgrade 1.24.0 -> 1.24.2 enchant2: Upgrade 2.2.3 -> 2.2.7 geany-plugins: Use enchant2 instead of the old enchant enchant2: Remove, moved to oe-core Alex Kiernan (11): nftables: Fix documentation generation ldns: Add recipe ostree: Fix DISTRO_FEATURES with ptest but w/o xattr ostree: Drop tests for soup/xattr with ptest ostree: Change PACKAGECONFIG to use manpages ostree: Add PACKAGECONFIG for builtin-grub2-mkconfig ostree: Backport build/test fixes from upstream ostree: Upgrade 2019.5 -> 2019.6 ostree: Add support for gjs tests nftables: Expand PACKAGECONFIG, cleanup build ostree: Tidy FILES_${PN} using PACKAGE_BEFORE_PN Alexander Kanavin (1): enscript/indent/sharutils: fix build with gettext 0.20.x Alistair Francis (2): mycroft: RDEPENDS on mpg123 to allow singing openocd: Enable remote-bitbang build option Andreas Müller (76): gnome-system-monitor: add gsettings to inherit tracker-miners: initial add 2.3.1 nautilus: add tracker-miners to RDPENDS libgnomekbd: cleanup DEPENDS inherit gsettings / remove unused config nodejs: Add PACKAGECONFIG share to allow other projects to use node as library xserver-xorg-cvt-native: initial add 1.20.5 mutter: initial add 3.34.1 pinpoint: remove dead project gnome-keyring: upgrade 3.28.2 -> 3.34.0 libgsf: upgrade 1.14.45 -> 1.14.46 libgnome-keyring: remove gvfs: upgrade 1.41.2 -> 1.42.1 grilo: initial add 0.3.10 gsound: initial add 1.0.2 gnome-backgrounds: initial add 3.34.0 metacity: upgrade 3.32.0 -> 3.34.1 gjs: initial add 1.58.3 gdm: re-add 3.34.1 gnome-shell: initial add 3.34.1 gnome-shell-extensions: initial add 3.34.1 accountsservice: initial add 0.6.55 rest: initial add 0.8.1 gnome-online-accounts: initial add 3.34.1 gnome-control-center: re-add 3.34.1 gnome-session: inital add 3.34.1 gnome-panel: (re)add 3.34.1 gnome-flashback: initial add 3.34.1 Add: packagegroup-gnome-apps / packagegroup-gnome-desktop glfw: add features_check to inherit stalonetray: Add x11 to required distro feature projucer: add x11 to required distro features colord-gtk: add polkit to required distro features yelp: add x11 to required distro features file-roller: remove nautilus from DEPENDS libgdata: add x11 to required distro features accountsservice: Hack musl build fix accountsservice: fix build for systemd not in DISTRO_FEATURES gnome-font-viewer: fix copy & paste typo in SUMMARY libxfce4ui: give up glade3 (=glade for gtk2) support glade3: remove ancient version of glade exo: remove pythonnative from inherit geany: remove pythonnative from inherit gnome-tweaks: initial add 3.34.0 libhandy: initial add 0.0.12 fluidsynth: upgrade 2.0.9 -> 2.1.0 exo: upgrade 0.12.10 -> 0.12.11 tumbler: upgrade 0.2.7 -> 0.2.8 catfish: upgrade 1.4.10 -> 1.4.11 cppunit: upgrade 1.14.0 -> 1.15.1 xfce4-terminal: upgrade 0.8.8 -> 0.8.9 gnome-calculator: initial add 3.34.1 evince: upgrade 3.34.1 -> 3.34.1 file-roller: upgrade 3.32.2 -> 3.32.3 evolution-data-server: upgrade 3.34.1 -> 3.34.2 gedit: upgrade 3.34.0 -> 3.34.1 gnome-autoar: upgrade 0.2.3 -> 0.2.4 gnome-control-center: upgrade 3.34.1 -> 3.34.2 gnome-desktop3: upgrade 3.34.1 -> 3.34.2 gnome-flashback: upgrade 3.34.1 -> 3.34.2 gnome-session: 3.34.1 -> 3.34.2 gnome-settings-daemon: upgrade 3.34.1 -> 3.34.2 gnome-shell-extensions: upgrade 3.34.1 -> 3.34.2 gnome-shell: upgrade 3.34.1 -> 3.34.2 gvfs: upgrade 1.42.1 -> 1.42.2 libgdata: upgrade 0.17.10 -> 0.17.11 mutter: upgrade 3.34.1 -> 3.34.2 nautilus: upgrade 3.34.1 -> 3.34.2 yelp-xsl: upgrade 3.34.0 -> 3.34.2 poppler: upgrade 0.82.0 -> 0.84.0 xfce4-terminal: upgrade 0.8.9 -> 0.8.9.1 mutter: upgrade 3.34.2 -> 3.34.3 gnome-shell: upgrade 3.34.2 -> 3.34.3 evolution-data-server: upgrade 3.34.2 -> 3.34.3 gjs: upgrade 1.58.3 -> 1.58.4 gnome-desktop3: upgrade 3.34.2 -> 3.34.3 libsigc++-3: let meson build Andrei Gherzan (1): kernel-selftest: Include rtc tests Andrej Valek (1): ntp: split ntpdc into separate package Andrey Zhizhikin (1): flatbuffers: add PIC compiler flag required for aarch64 André Draszik (4): python3-jsonrpcserver: update to v4.1.0 python3-jsonrpcserver: allow to use as non-root oniguruma: update to v6.9.4 oniguruma: enable ptest Armin Kuster (3): glfw: missing feature check. libvncserver: fix build depends issue surf: Add opengl requirement Bartosz Golaszewski (10): librsync: new package xdelta3: update to v3.1.0 xdelta3: add native and nativesdk to BBCLASSEXTEND speedtest-cli: new package doxygen: upgrade v1.8.16 -> v1.8.17 libsigrok: upgrade v0.5.1 -> v0.5.2 libsigrokdecode: upgrade v0.5.2 -> v0.5.3 libsigrok: add support for bluetooth integration cloc: new package libsigrok: add support for hidapi integration Changqing Li (5): samba: fix wrong shebang for python3 gtk-xfce-engine: remove this recipe xfce4-kbdleds-plugin: remove this recipe xfce-dusk-gtk3: correct invalid SRC_URI libhugetlbfs: update patch to make it work for python3 Denys Dmytriyenko (1): netperf: add "intervals" and "histogram" PACKAGECONFIGs Diego Rondini (2): cups-filters: add recipe qpdf: add recipe Fabio Berton (1): nanopb: Add recipe for version 0.4.0 Gianfranco Costamagna (6): boinc: update recipe to version 7.16.3 vboxguestdrivers: update to version 6.1.0 and unblacklist websocketpp: add various upstream accepted and proposed patches to fix various issues, including: brotli: rename static libraries avoding the -static suffix. cpprest: fix cmake installation directory websocketpp: also install examples in a new -examples subpackage Hongxu Jia (2): gvfs: add user polkitd and missing depends python3-astor: fix VERSION file not found Jacopo Dall'Aglio (1): netplan: add recipe Jens Rehsack (6): log4cplus: update to 2.0.5 libstatgrab: add logging/tracing options libtest-warnings-perl: add recipe libfile-slurper-perl: add recipe libconfig-autoconf-perl: add recipe libunix-statgrab: add recipe Kai Kang (12): blueman: disable appindicator support xfce4-panel-profiles: 1.0.8 -> 1.0.9 exo: 0.12.9 -> 0.12.10 thunar: 1.8.9 -> 1.8.10 fltk: fix build error when enable package config examples corosync: fix build error when package config rdma enabled rdma-core: 18.1 -> 27.0 openl2tp: update systemd service file bdwgc: make libatomic-ops as dependency volume-key: not create python2 bindings libbytesize: disable doc build adduser: set default shell with /sbin/nologin Khem Raj (113): python-evdev: Fix build for 32bit arches with 64bit time_t x11vnc: Fix build for 32bit arches with 64bit time_t evtest: Fix build for 32bit arches with 64bit time_t lirc: Fix build for 32bit arches with 64bit time_t v4l-utils: Update to 1.18.0 tslib: Fix build for 32bit arches with 64bit time_t utouch-evemu,utouch-frame: Fix build for 32bit arches with 64bit time_t directfb: Fix build for 32bit arches with 64bit time_t kernel-module-emlog: Use compile task from module bbclass emlog: Use RRECOMMEND instead of RDEPEND projucer: Upgrade to 5.4.5 packagegroup-meta-oe: Remove nodejs and uim on riscv libnih: Fix build with latest gettext liblockdev: Loosen the regexp for py3 sigrok-cli: Update to 0.7.1 python-pywbem: Update to 0.15.0 udisks2: Update to 2.8.4 id3lib: Update to newer debian patchset libdc1394: Update to 2.2.6 release libsmi: Use right name for tcl license hdf5: Upgrade to 1.8.21 xterm: Fix latent issue found with musl mozjs: extend --with-intl-api=build to all mips klibc: Apply -no-integrated-as on mips/clang grpc: Define libdir and cmakedir in terms of multilib ufs-utils: Renames from ufs-tool breakpad: Update to latest upstream rsyslog: Sync VALGRIND supported arch list packagegroup-meta-oe: Remove ppc64 specific incompatible packages libpfm4: Moved here from oe-core rdma-core: Replace pthread_yield with sched_yield fvwm: Upgrade to 2.6.9 nlohmann-json: Upgrade to 3.7.3 libqb: Add --enable-nosection-fallback with mips64/clang lcdproc: Upgrade to latest top of tree tinyalsa: fix installation libdir path to match multilibs luajit: Add ppc/ppc64 to unsupported arch list rsyslog: Do not assume atomic built-ins on ppc hiredis: Upgrade to 0.14.0 libfann: Define LIB_SUFFIX suitable for OE multilib needs libgit2: Upgrade to 0.28.4 libinih: Fix multilib build poco: Define LIB_SUFFIX per OE multilibs libcec: Fix multilib build dfu-util-native,sjf2410-linux-native: Fix Deploy in multimachine builds mpv: Remove luajit dependency for ppc64 cannelloni: Update to latest and fix multilib builds nvme-cli: Use nonarch libdir for dracut config files cli11: Fix multilib build lockdev: Make baselib configurable avro-c: Update to 1.9.1 nftables: Package python scripts into nonarch libdir mercurial: Add python scripts into separate python package fluentbit: Fix packaging in multilib env dcadec: Define BASELIB as a knob dbus-broker: Use nonarch_libdir for systemd catalog files websocketapp: Fix multilib build ade: Fix install paths in multilib builds thrift: Upgrade to 0.13 gattlib: Update to latest tip rygel: Use nonarch_libdir for systemd units firewalld: Package firewalld files iwd: Package module conf files via nonarch_libdir civetweb: Upgrade to latest tip ruli: Define OOP_LIB_DIR and INSTALL_LIB_DIR liblightmodbus: Fix packaging errors when using multilib ostree: Fix packaging errors when using lib64 libdir boinc-client: Use nonarch_libdir for systemd_units spirv-tools: Fix multilib builds pam-plugin-ldapdb: Include for std::invalid_argument dvb-apps: Replace stime with clock_settime redis: Upgrade to 5.0.7 cannelloni: Include stdexcept for runtime_error libubox: Update to latest upm: Fix 'may be used uninitialized' errors memcached: upgrade to 1.5.20 ltrace: Fix build with gcc10 mpd: Fix build with gcc10 wvstreams: Fix build with gcc10 tvheadend: Fix format-truncation warnings open-vm-tools: Ignore -Warray-bounds jsoncpp: Upgrade to 1.9.2 ippool: Fix strncpy -Wformat-truncation warning opensc: Fix misaligned indentation glm: Upgrade to 0.9.9.6 rocksdb: Upgrade to 6.5.2 mariadb: Upgrade to 10.4.11 ruli: Fix implicit conversion from 'unsigned int' to 'float' glfw: Update to latest fluentbit: Upgrade to 1.3.5 renderdoc: Upgrade to 1.5 spirv-tools: Upgrade to v2019.5 upm: Disable -Wno-misleading-indentation with clang10+ libyui: Disable Warnings as errors sanlock: Upgrade to 3.8.0+ udisks2: Updare to latest master beyond 2.8.4 netcat: Fix build with gettext 0.20.x gtkperf: Fix build with latest gettext 0.20.x hddtemp: Fix build with latest gettext 0.20.x vorbis-tools: Use external gettext rwmem: Upgrade to latest wireshark: Enable plugins when enabling qt5 python3-jsonrpcserver: Use PYTHON_BASEVERSION instead of hardcoding py version smbnetfs: Update to latest 0.6.2 rev makedumpfile: Drop linking with libebl cmpi-bindings: append PYTHON_ABI suffix to libpython soname websocketpp: Fix clang specific flags in cmake files rocksdb: Disable Werror spirv-tools: Disable Werror libspatialite: Workaround proj_api.h deprecation in proj 6.0.0 zbar: Switch to github and update to latest gstd: Upgrade to 0.8.1 gst-shark: Upgrade to 0.6.1 Laurent Bonnans (1): opensc: fix RDEPENDS in pcsc PACKAGECONFIG Leon Anavi (1): mosquitto: update to 1.6.8 Martin Jansa (2): googletest: fix build with newer oe-core without python in HOSTTOOLS proj: upgrade to 6.2.0 Max Krummenacher (1): libsoc: use python3 for python bindings Maxime Roussin-Bélanger (1): libvncserver: add missing cmake configration option to packageconfig Mingde (Matthew) Zeng (1): poppler/poppler-data: Add HOMEPAGE tags Nicola Lunghi (1): python3-jsonrpcserver: update to 4.1.2 Pau Espin Pedrol (1): lksctp-tools: Add RRECOMENDS kernel-module-sctp for pkg lksctp-tools Peter Kolbus (9): python(3)-ujson: extend to native(sdk) python-ipaddress: remove unneeded pip dependency python3-html2text: add recipe python(3)-beautifulsoup4: fix RDEPENDS python3-soupsieve: add recipe python-soupsieve: add recipe python(3)-beautifulsoup4: add soupsieve to RDEPENDS python3-booleanpy: add recipe python3-license-expression: add recipe Pierre-Jean Texier (3): libssh2: add nativesdk support python3-xmltodict: add recipe libmxml: upgrade 3.0 -> 3.1 Quanyang Wang (1): glog: fix do_fetch error Randy MacLeod (3): imagemagick: update from 7.8.47 to 7.9.16 tigervnc: update from 1.9.0 to 1.10.1 rsyslog: update from 8.1910 to 8.1911 Robert Yang (1): rocksdb: Fix compile error for DEBUG_BUILD Ross Burton (11): python-jsonpointer: enable native/nativesdk python3-pystemd: upgrade to 0.7.0 python-slip-dbus: don't use relative paths python-m2crypto: don't use relative paths python-coloredlogs: don't use relative paths python-lxml: remove redundant sed (fixed in 4.3.0 onwards) python-lxml: remove redundant RDEPENDS_class-native opencv: don't download during configure opencv: also download face alignment data in do_fetch() opencv: PACKAGECONFIG for G-API, use system ADE opencv: abort configure if we need to download Stefan Agner (1): Revert "zstd: move recipe to oe-core" Stefan Lendl (2): tinyproxy: Install a default tinyproxy.conf tinyproxy: Fix user and group in tinyproxy install Sumit Garg (1): mariadb: fix library LZ4 lookup Todd Cunningham (2): libnftnl: upgrade 1.1.4 -> 1.1.5 nftables: upgrade 0.9.2 -> 0.9.3 Trevor Gamblin (4): python-twisted: add python3-pyserial to RDEPENDS python-twisted: add missing RDEPENDS for conch samba: disable guest access and anonymous queries python3-twisted: fix broken MemoryReactor import Wang Mingyu (66): python-cmd2: upgrade 0.9.19 -> 0.9.21 python-pluggy: upgrade 0.13.0 -> 0.13.1 python-pyasn1: upgrade 0.4.7 -> 0.4.8 python-pyopenssl: upgrade 19.0.0 -> 19.1.0 python-simplejson: upgrade 3.16.0 -> 3.17.0 python-thrift: upgrade 0.11.0 -> 0.13.0 python-alembic: upgrade 1.3.0 -> 1.3.1 python-dbus: upgrade 1.2.12 -> 1.2.14 python-pbr: upgrade 5.4.3 -> 5.4.4 python-paste: 3.2.2 -> 3.2.3 python-lxml: 4.4.1 -> 4.4.2 postgresql: 12.0 -> 12.1 python-jsonschema: 3.1.1 -> 3.2.0 python-pytest: upgrade 5.2.2 -> 5.3.1 xterm: upgrade 350 -> 351 wireshark: upgrade 3.0.6 -> 3.0.7 python3-xxhash: upgrade 1.4.2 -> 1.4.3 fuse3: upgrade 3.8.0 -> 3.9.0 kea: upgrade 1.7.0 -> 1.7.2 krb5: upgrade 1.17 -> 1.17.1 hwdata: upgrade 0.329 -> 0.330 python-pytest: upgrade 5.2.1 -> 5.3.2 python-waitress: upgrade 1.3.1 -> 1.4.1 python-cachetools: upgrade 3.1.1 -> 4.0.0 python-sqlalchemy: upgrade 1.1.17 -> 1.3.12 strongswan: upgrade 5.8.1 -> 5.8.2 smartmontools: upgrade 7.0 -> 7.1 spitools: upgrade 0.8.3 -> 0.8.4 python-pyyaml: upgrade 5.1.2 -> 5.2 arno-iptables-firewall: upgrade 2.0.3 -> 2.1.0 ipvsadm: upgrade 1.30 -> 1.31 lftp: upgrade 4.8.4 -> 4.9.0 nghttp2: upgrade 1.39.2 -> 1.40.0 opensaf: upgrade 5.19.07 -> 5.19.10 wolfssl: upgrade 4.2.0 -> 4.3.0 kea: upgrade 1.7.2 -> 1.7.3 wireshark: upgrade 3.0.7 -> 3.2.0 botan: upgrade 2.11.0 -> 2.13.0 cppzmq: upgrade 4.4.1 -> 4.5.0 iozone3: upgrade 487 -> 488 libmbim: upgrade 1.20.2 -> 1.20.4 libnfc: upgrade to 1.7.1 libsigc++-2.0: upgrade 3.0.0 -> 3.0.2 libuv: upgrade 1.33.1 -> 1.34.0 phoronix-test-suite: upgrade 9.0.1 -> 9.2.1 rabbitmq-c: upgrade 0.9.0 -> 0.10.0 cscope: upgrade 15.8b -> 15.9 msgpack-c: upgrade 3.1.1 -> 3.2.1 gnuplot: upgrade 5.2.2 -> 5.2.8 gphoto2: upgrade 2.5.14 -> 2.5.23 gtkwave: upgrade 3.3.102 -> 3.3.103 haveged: upgrade 1.9.6 -> 1.9.8 libgphoto2: upgrade 2.5.17 -> 2.5.23 libplist: upgrade 2.0.0 -> 2.1.0 ipmiutil: upgrade 3.0.5 -> 3.1.5 libburn: upgrade 1.5.0 -> 1.5.2 libdvdread: upgrade 6.0.1 -> 6.0.2 libsdl2-image: upgrade 2.0.3 -> 2.0.5 libsdl2-mixer: upgrade 2.0.2 -> 2.0.4 libsdl2-ttf: upgrade 2.0.14 -> 2.0.15 yad: upgrade 4.1 -> 5.0 python3-astor: 0.8 -> 0.8.1 python3-bandit: 1.5.1 -> 1.6.2 python-asn1crypto: 1.2.0 -> 1.3.0 python-bitarray: 1.2.0 -> 1.2.1 python-pyconnman: 0.1.0 -> 0.2.0 William A. Kennington III via Openembedded-devel (1): stunnel: bump to version 5.56 Yi Zhao (4): phpmyadmin: upgrade 4.9.1 -> 4.9.2 tk: upgrade 8.6.9 -> 8.6.10 ntp: restrict NTP mode 6 queries samba: upgrade 4.10.10 -> 4.10.11 Yongxin Liu (1): ndctl: Upgrade to v67 Zang Ruochen (17): python-alembic: upgrade 1.3.1 -> 1.3.2 python-beautifulsoup4: upgrade 4.8.1 -> 4.8.2 python-bitarray: upgrade 1.1.0 -> 1.2.0 python-certifi: upgrade 2019.9.11 -> 2019.11.28 python-cmd2: upgrade 0.9.21 -> 0.9.22 python-engineio: upgrade 3.10.0 -> 3.11.1 python-parse: upgrade 1.12.1 -> 1.14.0 python-passlib: upgrade 1.7.1 -> 1.7.2 python-pexpect: upgrade 4.6.0 -> 4.7.0 python-psutil: upgrade 5.6.5 -> 5.6.7 python-py: upgrade 1.8.0 -> 1.8.1 python-pycryptodome: upgrade 3.9.3 -> 3.9.4 python-pymisp: upgrade 2.4.117.2 -> 2.4.119.1 python-pymongo: upgrade 3.9.0 -> 3.10.0 python-pyparsing: upgrade 2.4.5 -> 2.4.6 python-pyperf: upgrade 1.6.1 -> 1.7.0 python-backports-functools-lru-cache: Add python3 version Zhixiong Chi (1): dnsmasq: CVE-2019-14834 hmenn (1): add sqlite-orm v1.5 madhavank27 (1): Added bb file for libcamera integration sangelovic (1): sdbus-c++: Introduce recipes for sdbus-c++ library and its tools Change-Id: I5e7559de35d61167e234161ffb768f6f95d30f41 Signed-off-by: Brad Bishop --- .../smbnetfs/smbnetfs/configure.patch | 8 +- .../recipes-filesystems/smbnetfs/smbnetfs_git.bb | 9 +- .../recipes-support/fuse/fuse3_3.8.0.bb | 48 - .../recipes-support/fuse/fuse3_3.9.0.bb | 48 + .../recipes-utils/ufs-tool/ufs-tool_git.bb | 23 - ...01-Replace-u_intXX_t-with-kernel-typedefs.patch | 54 + .../recipes-utils/ufs-utils/ufs-utils_git.bb | 32 + ...d-Check-for-sync_file_range-libc-function.patch | 79 - .../recipes-utils/xfsprogs/xfsprogs_5.2.1.bb | 1 - .../recipes-apps/pinpoint/pinpoint_git.bb | 24 - .../recipes-gnome/evince/evince_3.34.1.bb | 52 - .../recipes-gnome/evince/evince_3.34.2.bb | 52 + .../evolution-data-server.inc | 6 +- .../file-roller/file-roller_3.32.2.bb | 26 - .../file-roller/file-roller_3.32.3.bb | 25 + .../gdm/0001-Ensure-pam-file-installation.patch | 48 + .../meta-gnome/recipes-gnome/gdm/gdm_3.34.1.bb | 56 + .../meta-gnome/recipes-gnome/gedit/gedit_3.34.0.bb | 44 - .../meta-gnome/recipes-gnome/gedit/gedit_3.34.1.bb | 44 + .../gjs/gjs/0001-Disable-tests-on-host.patch | 33 + .../meta-gnome/recipes-gnome/gjs/gjs_1.58.4.bb | 37 + .../gnome-autoar/gnome-autoar_0.2.3.bb | 18 - .../gnome-autoar/gnome-autoar_0.2.4.bb | 17 + .../gnome-backgrounds/gnome-backgrounds_3.34.0.bb | 17 + .../gnome-calculator/gnome-calculator_3.34.1.bb | 33 + .../0001-Add-meson-option-to-pass-sysroot.patch | 45 + .../gnome-control-center_3.34.2.bb | 55 + ...on.build-Disable-libseccomp-for-all-archs.patch | 6 +- .../gnome-desktop/gnome-desktop3_3.34.1.bb | 36 - .../gnome-desktop/gnome-desktop3_3.34.3.bb | 36 + .../gnome-flashback/gnome-flashback_3.34.2.bb | 34 + .../gnome-font-viewer/gnome-font-viewer_3.34.0.bb | 2 +- ...o-ssh-agent-and-ssh-add-by-configure-opti.patch | 42 + .../gnome-keyring/gnome-keyring_3.28.2.bb | 44 - .../gnome-keyring/gnome-keyring_3.34.0.bb | 51 + .../gnome-keyring/libgnome-keyring_3.12.0.bb | 29 - .../gnome-online-accounts_3.34.1.bb | 35 + ...to-find-ZONEINFO-it-tries-to-run-compiled.patch | 37 + .../gnome-panel/gnome-panel_3.34.1.bb | 28 + .../gnome-session/gnome-session_3.34.2.bb | 39 + .../gnome-settings-daemon_3.34.1.bb | 59 - .../gnome-settings-daemon_3.34.2.bb | 59 + .../gnome-shell/gnome-shell-extensions_3.34.2.bb | 29 + .../gnome-shell/gnome-shell_3.34.3.bb | 64 + .../gnome-system-monitor_3.32.1.bb | 2 +- .../0001-Make-python-path-configurable.patch | 41 + .../gnome-tweaks/gnome-tweaks_3.34.0.bb | 32 + .../meta-gnome/recipes-gnome/grilo/grilo_0.3.10.bb | 29 + .../recipes-gnome/gsound/gsound_1.0.2.bb | 13 + .../meta-gnome/recipes-gnome/gvfs/gvfs_1.41.2.bb | 82 - .../meta-gnome/recipes-gnome/gvfs/gvfs_1.42.2.bb | 87 + .../recipes-gnome/libgdata/libgdata_0.17.10.bb | 30 - .../recipes-gnome/libgdata/libgdata_0.17.11.bb | 33 + .../recipes-gnome/libgnome/libgnomekbd_3.26.1.bb | 7 +- ...c-drop-a-copy-paste-of-introspection.m4-m.patch | 103 - ...c-drop-a-copy-paste-of-introspection.m4-m.patch | 103 + .../recipes-gnome/libgsf/libgsf_1.14.45.bb | 27 - .../recipes-gnome/libgsf/libgsf_1.14.46.bb | 23 + .../recipes-gnome/metacity/metacity_3.32.0.bb | 41 - .../recipes-gnome/metacity/metacity_3.34.1.bb | 38 + .../mutter/0001-cogl-Fix-GLES2-fallback.patch | 37 + .../recipes-gnome/mutter/mutter_3.34.3.bb | 96 + .../recipes-gnome/nautilus/nautilus_3.34.1.bb | 32 - .../recipes-gnome/nautilus/nautilus_3.34.2.bb | 36 + .../meta-gnome/recipes-gnome/rest/rest_0.8.1.bb | 33 + ...-Just-warn-if-we-build-without-libseccomp.patch | 37 + .../recipes-gnome/tracker/tracker-miners_2.3.1.bb | 68 + .../recipes-gnome/yelp/yelp-xsl_3.34.0.bb | 21 - .../recipes-gnome/yelp/yelp-xsl_3.34.2.bb | 21 + .../meta-gnome/recipes-gnome/yelp/yelp_3.34.0.bb | 5 +- .../0001-musl-Hack-to-fix-build.patch | 36 + .../0002-musl-add-missing-fgetspent_r.patch | 46 + .../accountsservice/accountsservice_0.6.55.bb | 33 + .../recipes-support/colord-gtk/colord-gtk_0.2.0.bb | 4 + .../recipes-support/libhandy/libhandy_git.bb | 21 + .../packagegroups/packagegroup-gnome-apps.bb | 20 + .../packagegroups/packagegroup-gnome-desktop.bb | 27 + .../recipes-devtools/klibc/klibc.inc | 1 + .../recipes-connectivity/rygel/rygel_0.37.0.bb | 8 +- .../0001-allocate-space-for-buf-on-heap.patch | 46 + .../recipes-dvb/tvheadend/tvheadend_git.bb | 1 + .../dcadec/0001-define-BASELIB-make-variable.patch | 31 + .../recipes-multimedia/dca/dcadec_0.2.0.bb | 8 +- .../recipes-multimedia/dvb-apps/dvb-apps_1.1.1.bb | 1 + ...-dvbdate-Remove-Obsoleted-stime-API-calls.patch | 32 + .../recipes-multimedia/fluidsynth/fluidsynth.inc | 6 +- .../gstreamer-1.0/gst-shark_0.2.1.bb | 38 - .../gstreamer-1.0/gst-shark_git.bb | 40 + .../0001-Look-for-gtk-doc.make-in-builddir.patch | 32 - .../gstd/0001-gstd-yocto-compatibility.patch | 15 +- .../recipes-multimedia/gstreamer-1.0/gstd_git.bb | 20 +- .../juce/nativesdk-projucer_git.bb | 3 - .../recipes-multimedia/juce/projucer-native_git.bb | 3 - .../recipes-multimedia/juce/projucer.inc | 29 +- .../projucer/0001-Disable-webkit-component.patch | 83 + .../recipes-multimedia/juce/projucer_git.bb | 2 + ...n-import-python3-to-use-also-from-sysroot.patch | 61 + .../recipes-multimedia/libcamera/libcamera.bb | 31 + .../libdc1394/libdc1394_2.2.6.bb | 21 + .../recipes-multimedia/libdc1394/libdc1394_git.bb | 26 - ...1-StringBuffer-Include-cstddef-for-size_t.patch | 27 + .../0002-Include-stdexcept-for-runtime_error.patch | 38 + .../recipes-multimedia/musicpd/mpd_0.20.22.bb | 2 + .../recipes-multimedia/mycroft/mycroft_19.8.1.bb | 2 +- .../recipes-multimedia/tinyalsa/tinyalsa.bb | 4 +- ...NSTALL_-path-instead-of-hardcoding-bin-li.patch | 46 + .../vorbis-tools/vorbis-tools/gettext.patch | 37 + .../vorbis-tools/vorbis-tools_1.4.0.bb | 1 + .../recipes-connectivity/blueman/blueman_2.1.1.bb | 1 + ...UInstallDirs-instead-of-hard-coding-paths.patch | 43 + ...clude-missing-stdexcept-for-runtime_error.patch | 32 + .../cannelloni/cannelloni_git.bb | 7 +- .../recipes-connectivity/civetweb/civetweb_git.bb | 2 +- .../firewalld/firewalld_0.7.2.bb | 1 + .../recipes-connectivity/kea/kea_1.7.0.bb | 63 - .../recipes-connectivity/kea/kea_1.7.3.bb | 63 + .../lftp/files/fix-gcc-6-conflicts-signbit.patch | 44 - .../recipes-connectivity/lftp/lftp_4.8.4.bb | 33 - .../recipes-connectivity/lftp/lftp_4.9.0.bb | 31 + .../mosquitto/mosquitto_1.6.7.bb | 98 - .../mosquitto/mosquitto_1.6.8.bb | 98 + .../recipes-connectivity/netplan/netplan_0.98.bb | 58 + .../recipes-connectivity/samba/samba/smb.conf | 6 +- .../recipes-connectivity/samba/samba_4.10.10.bb | 333 - .../recipes-connectivity/samba/samba_4.10.11.bb | 333 + .../recipes-connectivity/wolfssl/wolfssl_4.2.0.bb | 21 - .../recipes-connectivity/wolfssl/wolfssl_4.3.0.bb | 21 + .../ippool/ippool/strncpy-truncation.patch | 39 + .../recipes-daemons/ippool/ippool_1.3.bb | 1 + .../recipes-daemons/opensaf/opensaf_5.19.07.bb | 74 - .../recipes-daemons/opensaf/opensaf_5.19.10.bb | 74 + .../recipes-devtools/grpc/grpc_1.24.3.bb | 4 +- ...-configure.ac-fix-pkgconfig-issue-of-rdma.patch | 32 + .../recipes-extended/corosync/corosync_2.4.5.bb | 3 +- .../arno-iptables-firewall_2.0.3.bb | 33 - .../arno-iptables-firewall_2.1.0.bb | 33 + ...001-Move-exports-before-symbol-definition.patch | 294 - ...ng-local-function-as-one-of-printf-family.patch | 631 + ...ng-local-function-as-one-of-printf-family.patch | 618 - .../recipes-filter/libnftnl/libnftnl_1.1.4.bb | 15 - .../recipes-filter/libnftnl/libnftnl_1.1.5.bb | 14 + .../0001-update-python3-nftables-reference.patch | 47 + .../recipes-filter/nftables/nftables_0.9.2.bb | 28 - .../recipes-filter/nftables/nftables_0.9.3.bb | 33 + .../openl2tp/openl2tp/openl2tpd.service | 2 +- .../recipes-protocols/openl2tp/openl2tp_1.8.bb | 2 +- .../0001-dnsmasq-fix-memory-leak-in-helper-c.patch | 49 + .../recipes-support/dnsmasq/dnsmasq_2.80.bb | 1 + .../recipes-support/ipvsadm/ipvsadm_1.30.bb | 43 - .../recipes-support/ipvsadm/ipvsadm_1.31.bb | 43 + .../lksctp-tools/lksctp-tools_1.0.18.bb | 1 + .../recipes-support/memcached/memcached_1.5.10.bb | 52 - .../recipes-support/memcached/memcached_1.5.20.bb | 52 + .../recipes-support/netcat/netcat/gettext.patch | 16 + .../recipes-support/netcat/netcat_0.7.1.bb | 1 + .../recipes-support/netperf/netperf_git.bb | 2 + .../recipes-support/nghttp2/nghttp2_1.39.2.bb | 41 - .../recipes-support/nghttp2/nghttp2_1.40.0.bb | 41 + .../recipes-support/ntp/ntp/ntp.conf | 6 +- .../recipes-support/ntp/ntp_4.2.8p13.bb | 7 +- ...0001-Remove-man-files-which-cant-be-built.patch | 255 +- ...01-S_IFSOCK-is-defined-in-both-glibc-musl.patch | 29 - ...-include-endian.h-for-htole32-and-friends.patch | 25 - ...-Use-sched_yield-instead-of-pthread_yield.patch | 30 + ...0002-Remove-unused-include-for-execinfo.h.patch | 27 - ...02-neigh.c-Do-not-include-net-if_packet.h.patch | 26 - .../recipes-support/rdma-core/rdma-core_18.1.bb | 30 - .../recipes-support/rdma-core/rdma-core_27.0.bb | 43 + .../ruli/files/float-conversion.patch | 19 + .../recipes-support/ruli/ruli_0.36.bb | 6 +- .../recipes-support/strongswan/strongswan_5.8.1.bb | 135 - .../recipes-support/strongswan/strongswan_5.8.2.bb | 135 + .../recipes-support/stunnel/stunnel_5.55.bb | 37 - .../recipes-support/stunnel/stunnel_5.56.bb | 37 + .../tinyproxy/tinyproxy/tinyproxy.conf | 330 + .../tinyproxy/tinyproxy/tinyproxy.service | 6 +- .../recipes-support/tinyproxy/tinyproxy_1.10.0.bb | 9 +- .../recipes-support/wireshark/wireshark_3.0.6.bb | 81 - .../recipes-support/wireshark/wireshark_3.2.0.bb | 81 + .../recipes-benchmark/iozone3/iozone3_487.bb | 119 - .../recipes-benchmark/iozone3/iozone3_488.bb | 119 + ....py-not-use-hard-coded-path-.-obj-hugeadm.patch | 5 +- .../phoronix-test-suite_9.0.1.bb | 41 - .../phoronix-test-suite_9.2.1.bb | 41 + .../speedtest-cli/speedtest-cli_2.1.2.bb | 14 + .../meta-oe/recipes-bsp/nvme-cli/nvme-cli_1.9.bb | 2 +- .../meta-oe/recipes-bsp/rwmem/rwmem_1.2.bb | 2 +- .../files/0001-cmake-Use-GNUInstallDirs.patch | 53 + .../recipes-connectivity/gattlib/gattlib_git.bb | 8 +- .../meta-oe/recipes-connectivity/iwd/iwd_1.0.bb | 2 +- .../recipes-connectivity/krb5/krb5_1.17.1.bb | 192 + .../meta-oe/recipes-connectivity/krb5/krb5_1.17.bb | 192 - .../recipes-connectivity/libmbim/libmbim_1.20.2.bb | 18 - .../recipes-connectivity/libmbim/libmbim_1.20.4.bb | 18 + .../recipes-connectivity/libqmi/libqmi_1.24.0.bb | 24 - .../recipes-connectivity/libqmi/libqmi_1.24.2.bb | 24 + .../recipes-connectivity/libuv/libuv_1.33.1.bb | 19 - .../recipes-connectivity/libuv/libuv_1.34.0.bb | 19 + ...x-build-on-32bit-arches-with-64bit-time_t.patch | 40 + .../recipes-connectivity/lirc/lirc_0.9.4d.bb | 1 + .../rabbitmq-c/rabbitmq-c_0.10.0.bb | 19 + .../rabbitmq-c/rabbitmq-c_0.9.0.bb | 19 - ...llationPaths.cmake-Define-libdir-in-terms.patch | 42 + .../recipes-connectivity/thrift/thrift_0.12.0.bb | 66 - .../recipes-connectivity/thrift/thrift_0.13.0.bb | 67 + .../0001-Fix-narrowing-conversion-error.patch | 29 + .../recipes-connectivity/wvdial/wvstreams_4.6.1.bb | 1 + .../recipes-connectivity/zeromq/cppzmq_git.bb | 4 +- .../meta-oe/recipes-core/dbus/dbus-broker_21.bb | 3 +- .../meta-oe/recipes-core/emlog/emlog_git.bb | 2 +- .../recipes-core/emlog/kernel-module-emlog_git.bb | 4 +- .../meta-oe/recipes-core/glfw/glfw_3.3.bb | 14 +- .../meta-oe/recipes-core/libnfc/libnfc_git.bb | 2 +- .../libsigc++-2.0/libsigc++-3_3.0.0.bb | 20 - .../libsigc++-2.0/libsigc++-3_3.0.2.bb | 20 + .../meta-oe/recipes-core/ndctl/ndctl_v65.bb | 32 - .../meta-oe/recipes-core/ndctl/ndctl_v67.bb | 32 + .../packagegroups/packagegroup-meta-oe.bb | 9 +- .../sdbus-c++/sdbus-c++-0.7.6/run-ptest | 15 + ...01-do-not-disable-buffer-in-writing-files.patch | 413 + .../0002-don-t-use-glibc-specific-qsort_r.patch | 163 + ...src-login-brightness.c-include-sys-wait.h.patch | 25 + ...e.h-add-__compare_fn_t-and-comparison_fn_.patch | 63 + .../0003-src-basic-copy.c-include-signal.h.patch | 27 + ...llback-parse_printf_format-implementation.patch | 432 + ...-cpu-set-util.h-add-__cpu_mask-definition.patch | 54 + ...asic-missing.h-check-for-missing-strndupa.patch | 442 + .../0006-Include-netinet-if_ether.h.patch | 227 + ...-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not.patch | 153 + .../0008-add-missing-FTW_-macros-for-musl.patch | 47 + ...-of-__register_atfork-for-non-glibc-build.patch | 45 + .../0011-Use-uintmax_t-for-handling-rlim_t.patch | 97 + ....c-Disable-tests-for-missing-typedefs-in-.patch | 42 + ...ass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch | 99 + ...c-compatible-basename-for-non-glibc-syste.patch | 34 + ...ble-buffering-when-writing-to-oom_score_a.patch | 38 + ...-XSI-compliant-strerror_r-from-GNU-specif.patch | 62 + ...rt_BUS_ERROR_MAP-and-__stop_BUS_ERROR_MAP.patch | 35 + ...ing_type.h-add-__compar_d_fn_t-definition.patch | 30 + ...id-redefinition-of-prctl_mm_map-structure.patch | 32 + .../0024-test-json.c-define-M_PIl.patch | 33 + .../static-libsystemd-pkgconfig.patch | 11 + .../sdbus-c++/sdbus-c++-libsystemd_243.bb | 69 + .../sdbus-c++/sdbus-c++-tools-native_0.7.6.bb | 14 + .../recipes-core/sdbus-c++/sdbus-c++_0.7.6.bb | 32 + .../meta-oe/recipes-crypto/botan/botan_2.11.0.bb | 50 - .../meta-oe/recipes-crypto/botan/botan_2.13.0.bb | 50 + .../recipes-dbs/mysql/mariadb-native_10.3.18.bb | 20 - .../recipes-dbs/mysql/mariadb-native_10.4.11.bb | 20 + .../meta-oe/recipes-dbs/mysql/mariadb.inc | 8 +- ...build-breakage-from-lock_guard-error-6161.patch | 32 + .../mariadb/0001-Fix-library-LZ4-lookup.patch | 30 + .../recipes-dbs/mysql/mariadb/fix-arm-atomic.patch | 9 +- .../meta-oe/recipes-dbs/mysql/mariadb_10.3.18.bb | 27 - .../meta-oe/recipes-dbs/mysql/mariadb_10.4.11.bb | 27 + .../recipes-dbs/postgresql/postgresql_12.0.bb | 12 - .../recipes-dbs/postgresql/postgresql_12.1.bb | 12 + ...01-CMake-has-stock-FindZLIB-in-upper-case.patch | 29 - ...adow-and-do-not-mark-default-copy-constru.patch | 57 - ...build-breakage-from-lock_guard-error-6161.patch | 36 + .../0001-db-write_thread.cc-Initialize-state.patch | 31 + .../rocksdb/files/0001-fix-Issue-5303.patch | 80 - ...ix-build-failure-with-Werror-maybe-uninit.patch | 35 - .../meta-oe/recipes-dbs/rocksdb/rocksdb_git.bb | 19 +- ...-Do-not-add-stack-pointer-to-clobber-list.patch | 61 + ...001-disable-calls-to-getcontext-with-musl.patch | 10 +- .../0001-lss-Match-syscalls-to-match-musl.patch | 25 +- .../breakpad/breakpad/dont-clobber-rsp.patch | 76 - .../breakpad/breakpad/mcontext.patch | 59 - .../recipes-devtools/breakpad/breakpad_git.bb | 12 +- .../meta-oe/recipes-devtools/cloc/cloc_1.84.bb | 19 + .../recipes-devtools/cscope/cscope_15.8b.bb | 24 - .../meta-oe/recipes-devtools/cscope/cscope_15.9.bb | 24 + .../recipes-devtools/doxygen/doxygen_1.8.16.bb | 17 - .../recipes-devtools/doxygen/doxygen_1.8.17.bb | 17 + .../flatbuffers/flatbuffers_1.11.0.bb | 4 +- .../recipes-devtools/geany/geany-plugins_1.36.bb | 2 +- .../meta-oe/recipes-devtools/geany/geany_1.36.bb | 2 +- .../recipes-devtools/jsoncpp/jsoncpp_1.8.4.bb | 23 - .../recipes-devtools/jsoncpp/jsoncpp_1.9.2.bb | 23 + .../meta-oe/recipes-devtools/ldns/ldns_1.7.1.bb | 18 + ...sg-fix-array-out-of-bounds-GCC-10-warning.patch | 42 + .../recipes-devtools/libubox/libubox_git.bb | 3 +- ...cplus-version-entry-from-ELF-.comment-sec.patch | 40 - .../recipes-devtools/log4cplus/log4cplus_2.0.4.bb | 20 - .../recipes-devtools/log4cplus/log4cplus_2.0.5.bb | 19 + ...e-the-struct-pointers-are-null-initilized.patch | 46 + ...0001-hook-Do-not-append-int-to-std-string.patch | 2 +- .../meta-oe/recipes-devtools/ltrace/ltrace_git.bb | 1 + .../recipes-devtools/luajit/luajit_2.0.5.bb | 4 +- .../recipes-devtools/mercurial/mercurial_5.2.bb | 3 + .../recipes-devtools/msgpack/msgpack-c_3.1.1.bb | 19 - .../recipes-devtools/msgpack/msgpack-c_3.2.1.bb | 19 + .../recipes-devtools/nanopb/nanopb_0.4.0.bb | 28 + .../nlohmann-json/nlohmann-json_3.7.3.bb | 27 + .../nlohmann-json/nlohmann-json_git.bb | 29 - ...0003-Install-both-binaries-and-use-libdir.patch | 96 + .../recipes-devtools/nodejs/nodejs_10.17.0.bb | 5 +- .../recipes-devtools/openocd/openocd_git.bb | 3 +- .../recipes-devtools/sqlite-orm/sqlite-orm_1.5.bb | 22 + .../tk/configure.use.fontconfig.with.xft.patch | 13 - .../recipes-devtools/tcltk/tk/confsearch.diff | 14 +- .../meta-oe/recipes-devtools/tcltk/tk/fix-xft.diff | 4 +- .../recipes-devtools/tcltk/tk/non-linux.diff | 27 - .../recipes-devtools/tcltk/tk/tklibrary.diff | 22 - .../meta-oe/recipes-devtools/tcltk/tk_8.6.10.bb | 93 + .../meta-oe/recipes-devtools/tcltk/tk_8.6.9.bb | 96 - .../boinc/boinc-client/boinc-AM_CONDITIONAL.patch | 23 +- .../boinc/boinc-client/gtk-configure.patch | 21 +- .../boinc/boinc-client/opengl_m4_check.patch | 17 +- .../recipes-extended/boinc/boinc-client_7.12.bb | 87 - .../recipes-extended/boinc/boinc-client_7.16.bb | 90 + .../recipes-extended/brotli/brotli_1.0.7.bb | 6 + ...HON_ABI-suffix-to-the-python-library-name.patch | 9 +- .../cmpi-bindings/cmpi-bindings_1.0.1.bb | 4 +- .../0001-Fix-builds-with-recent-gettext.patch | 24 + .../recipes-extended/enscript/enscript_1.6.6.bb | 3 +- .../fluentbit/fluentbit/builtin-nan.patch | 27 + .../cross-build-init-system-detection.patch | 38 + .../fluentbit/fluentbit/jemalloc.patch | 16 +- .../fluentbit/fluentbit_0.12.19.bb | 29 - .../recipes-extended/fluentbit/fluentbit_1.3.5.bb | 55 + .../recipes-extended/gnuplot/gnuplot_5.2.2.bb | 71 - .../recipes-extended/gnuplot/gnuplot_5.2.8.bb | 71 + .../recipes-extended/haveged/haveged_1.9.6.bb | 47 - .../recipes-extended/haveged/haveged_1.9.8.bb | 47 + .../0001-Makefile-remove-hardcoding-of-CC.patch | 16 +- .../recipes-extended/hiredis/hiredis_0.13.1.bb | 22 - .../recipes-extended/hiredis/hiredis_0.14.0.bb | 23 + .../0001-Fix-builds-with-recent-gettext.patch | 24 + .../recipes-extended/indent/indent_2.2.12.bb | 3 +- ...l-build-fix-port-internal-make-dependenci.patch | 12 +- ...-Include-limits.h-for-PATH_MAX-definition.patch | 41 + .../0003-Fix-non-x86-platforms-on-musl.patch | 35 + .../recipes-extended/lcdproc/lcdproc_git.bb | 17 +- .../libblockdev/libblockdev_2.23.bb | 2 +- ...ormSupport.cmake-Do-not-hardcode-lib-path.patch | 42 + .../meta-oe/recipes-extended/libcec/libcec_git.bb | 3 +- .../libimobiledevice/libplist_2.0.0.bb | 29 - .../libimobiledevice/libplist_2.1.0.bb | 29 + ...NUInstallDirs-instead-of-hardcoding-lib-p.patch | 37 + .../liblightmodbus/liblightmodbus_2.0.2.bb | 4 +- .../meta-oe/recipes-extended/libqb/libqb_1.0.5.bb | 6 +- .../libstatgrab/libstatgrab_0.92.bb | 5 + .../meta-oe/recipes-extended/mozjs/mozjs_60.5.2.bb | 2 +- ...d-create-tests-directory-for-split-builds.patch | 43 - ...01-macros-Add-TEMP_FAILURE_RETRY-for-musl.patch | 40 - ...andle-EPIPE-failures-when-head-terminates.patch | 51 - ...tests-core-Fallback-to-en_US.UTF-8-locale.patch | 42 - ...core-Assume-C.UTF-8-if-locale-isn-t-found.patch | 40 - .../0003-tests-Avoid-musl-failure-with-cp-a.patch | 52 - .../recipes-extended/ostree/ostree_2019.5.bb | 192 - .../recipes-extended/ostree/ostree_2019.6.bb | 173 + ...nclude-stdexcept-for-std-invalid_argument.patch | 25 + .../recipes-extended/pam/pam-plugin-ldapdb_1.3.bb | 4 +- ...-extern-definition-of-SDS_NOINIT-in-sds.h.patch | 27 + .../Fixed-stack-trace-generation-on-aarch64.patch | 45 - .../recipes-extended/redis/redis/GNU_SOURCE.patch | 19 + .../redis/redis/remove-atomics.patch | 72 - .../meta-oe/recipes-extended/redis/redis_4.0.14.bb | 66 - .../meta-oe/recipes-extended/redis/redis_5.0.7.bb | 67 + .../recipes-extended/rsyslog/rsyslog_8.1910.0.bb | 175 - .../recipes-extended/rsyslog/rsyslog_8.1911.0.bb | 190 + .../recipes-extended/sanlock/sanlock_3.8.0.bb | 21 +- .../recipes-extended/sigrok/libsigrok_0.5.1.bb | 23 - .../recipes-extended/sigrok/libsigrok_0.5.2.bb | 25 + .../sigrok/libsigrokdecode_0.5.2.bb | 14 - .../sigrok/libsigrokdecode_0.5.3.bb | 14 + .../recipes-extended/sigrok/sigrok-cli_0.7.0.bb | 18 - .../recipes-extended/sigrok/sigrok-cli_0.7.1.bb | 19 + .../smartmontools/smartmontools_7.0.bb | 52 - .../smartmontools/smartmontools_7.1.bb | 52 + ...le-Wno-misleading-indentation-with-clang-.patch | 33 + ...001-initialize-local-variables-before-use.patch | 57 + .../meta-oe/recipes-extended/upm/upm_git.bb | 2 + .../volume_key/volume-key_0.3.12.bb | 3 +- .../meta-oe/recipes-extended/zstd/zstd_1.4.4.bb | 35 + .../meta-oe/recipes-graphics/directfb/directfb.inc | 3 +- ...x-build-on-32bit-arches-with-64bit-time_t.patch | 139 + .../0001-Fix-compilation-for-disabled-gnome.patch | 17 - .../meta-oe/recipes-graphics/fvwm/fvwm_2.6.8.bb | 112 - .../meta-oe/recipes-graphics/fvwm/fvwm_2.6.9.bb | 109 + ...it-int-float-conversion-warnings-with-cla.patch | 158 + .../meta-oe/recipes-graphics/glm/glm/glm.pc.in | 7 + .../recipes-graphics/glm/glm/glmConfig.cmake.in | 20 + .../glm/glm/glmConfigVersion.cmake.in | 31 + .../recipes-graphics/glm/glm/glmTargets.cmake | 107 + .../meta-oe/recipes-graphics/glm/glm_0.9.9.5.bb | 23 - .../meta-oe/recipes-graphics/glm/glm_0.9.9.6.bb | 39 + .../recipes-graphics/gphoto2/gphoto2_2.5.14.bb | 22 - .../recipes-graphics/gphoto2/gphoto2_2.5.23.bb | 22 + .../recipes-graphics/gphoto2/libgphoto2_2.5.17.bb | 49 - .../recipes-graphics/gphoto2/libgphoto2_2.5.23.bb | 49 + .../recipes-graphics/gtkperf/gtkperf/gettext.patch | 36 + .../recipes-graphics/gtkperf/gtkperf_0.40.bb | 1 + .../recipes-graphics/gtkwave/gtkwave_3.3.102.bb | 23 - .../recipes-graphics/gtkwave/gtkwave_3.3.103.bb | 23 + .../recipes-graphics/libsdl/libsdl2-image_2.0.3.bb | 31 - .../recipes-graphics/libsdl/libsdl2-image_2.0.5.bb | 31 + .../recipes-graphics/libsdl/libsdl2-mixer_2.0.2.bb | 27 - .../recipes-graphics/libsdl/libsdl2-mixer_2.0.4.bb | 27 + .../libsdl2-ttf/use.pkg-config.for.freetype2.patch | 62 - .../recipes-graphics/libsdl/libsdl2-ttf_2.0.14.bb | 30 - .../recipes-graphics/libsdl/libsdl2-ttf_2.0.15.bb | 29 + .../libvncserver/libvncserver_0.9.12.bb | 15 + .../libyui/libyui/0001-Fix-build-with-clang.patch | 96 +- .../recipes-graphics/libyui/libyui_3.6.0.bb | 2 + ...emove-glslang-pool_allocator-setAllocator.patch | 31 + .../recipes-graphics/renderdoc/renderdoc_1.4.bb | 37 - .../recipes-graphics/renderdoc/renderdoc_1.5.bb | 38 + .../0001-Avoid-pessimizing-std-move-3124.patch | 50 + ...KE_INSTALL_LIBDIR-in-installed-CMake-file.patch | 35 + .../0001-tools-lesspipe-Allow-generic-shell.patch | 24 - .../recipes-graphics/spir/spirv-tools_git.bb | 15 +- .../stalonetray/stalonetray_0.8.3.bb | 4 +- .../meta-oe/recipes-graphics/surf/surf_2.0.bb | 2 +- .../recipes-graphics/tigervnc/tigervnc_1.10.1.bb | 130 + .../recipes-graphics/tigervnc/tigervnc_1.9.0.bb | 131 - ...x-build-on-32bit-arches-with-64bit-time_t.patch | 389 + .../meta-oe/recipes-graphics/tslib/tslib_1.21.bb | 1 + ...x-build-on-32bit-arches-with-64bit-time_t.patch | 111 + .../recipes-graphics/x11vnc/x11vnc_0.9.16.bb | 5 +- .../0001-Add-configure-time-check-for-setsid.patch | 77 + .../meta-oe/recipes-graphics/xorg-app/xterm_350.bb | 34 - .../meta-oe/recipes-graphics/xorg-app/xterm_351.bb | 36 + .../meta-oe/recipes-graphics/yad/yad_4.1.bb | 17 - .../meta-oe/recipes-graphics/yad/yad_5.0.bb | 17 + .../recipes-kernel/ipmiutil/ipmiutil_3.0.5.bb | 46 - .../recipes-kernel/ipmiutil/ipmiutil_3.1.5.bb | 46 + .../kernel-selftest/kernel-selftest.bb | 1 + ...0001-Include-poll.h-instead-of-sys-poll.h.patch | 86 + .../recipes-kernel/libpfm/libpfm4_4.10.1.bb | 31 + ...e-libebl-from-required-libraries-during-l.patch | 34 + .../makedumpfile/makedumpfile_1.6.6.bb | 1 + .../recipes-multimedia/id3lib/id3lib_3.8.3.bb | 40 +- .../recipes-multimedia/libburn/libburn_1.5.0.bb | 11 - .../recipes-multimedia/libburn/libburn_1.5.2.bb | 11 + .../libdvdread/libdvdread_6.0.1.bb | 12 - .../libdvdread/libdvdread_6.0.2.bb | 12 + .../recipes-multimedia/mplayer/mpv_0.26.0.bb | 2 + .../0003-v4l2-ctl-Do-not-use-getsubopt.patch | 47 - ...05-Define-error_t-and-include-sys-types.h.patch | 45 + ...x-build-on-32bit-arches-with-64bit-time_t.patch | 41 + .../v4l-utils/0007-Do-not-use-getsubopt.patch | 48 + .../v4l2apps/v4l-utils_1.16.5.bb | 54 - .../v4l2apps/v4l-utils_1.18.0.bb | 56 + .../meta-oe/recipes-navigation/gpsd/gpsd_3.19.bb | 5 +- .../libspatialite/libspatialite_4.3.0a.bb | 1 + .../meta-oe/recipes-navigation/proj/proj_4.9.3.bb | 14 - .../meta-oe/recipes-navigation/proj/proj_6.2.0.bb | 16 + .../meta-oe/recipes-printing/cups/cups-filters.inc | 95 + .../recipes-printing/cups/cups-filters_1.26.0.bb | 4 + .../meta-oe/recipes-printing/qpdf/qpdf_9.1.0.bb | 33 + ...-avro-C-to-be-built-on-musl-based-systems.patch | 42 + ...0001-avro-c-Fix-build-with-clang-compiler.patch | 37 - ...NUInstallDirs-instead-of-hard-coded-paths.patch | 70 + .../meta-oe/recipes-support/avro/avro-c_1.8.1.bb | 20 - .../meta-oe/recipes-support/avro/avro-c_1.9.1.bb | 19 + .../meta-oe/recipes-support/bdwgc/bdwgc_8.0.4.bb | 13 +- .../meta-oe/recipes-support/cli11/cli11_1.8.0.bb | 1 + ...GNUInstallDirs-instead-of-hard-coded-path.patch | 39 + .../recipes-support/cpprest/cpprest_2.10.14.bb | 2 +- .../dfu-util/dfu-util-native_0.9.bb | 9 +- .../recipes-support/enchant/enchant2_2.2.3.bb | 26 - .../meta-oe/recipes-support/fltk/fltk.bb | 7 +- ...error-when-enable-package-config-examples.patch | 182 + .../meta-oe/recipes-support/glog/glog_0.3.5.bb | 2 +- ...c-Rename-to-configure.ac-and-use-external.patch | 703 + .../recipes-support/hddtemp/hddtemp_0.3-beta15.bb | 1 + .../hdf5/files/0001-cross-compiling-support.patch | 23 +- .../meta-oe/recipes-support/hdf5/hdf5_1.8.19.bb | 58 - .../meta-oe/recipes-support/hdf5/hdf5_1.8.21.bb | 57 + .../meta-oe/recipes-support/hwdata/hwdata_git.bb | 4 +- .../imagemagick/imagemagick_7.0.8.bb | 86 - .../imagemagick/imagemagick_7.0.9.bb | 87 + .../meta-oe/recipes-support/inih/libinih_git.bb | 5 +- .../recipes-support/libbytesize/libbytesize_2.1.bb | 4 +- .../meta-oe/recipes-support/libfann/libfann_git.bb | 2 + .../recipes-support/libgit2/libgit2_0.28.3.bb | 20 - .../recipes-support/libgit2/libgit2_0.28.4.bb | 21 + .../meta-oe/recipes-support/libmxml/libmxml_3.0.bb | 33 - .../meta-oe/recipes-support/libmxml/libmxml_3.1.bb | 33 + ...tool-files-also-make-it-work-with-latest-.patch | 24310 +++++++++++++++++++ .../meta-oe/recipes-support/libnih/libnih_1.0.3.bb | 8 +- .../recipes-support/librsync/librsync_2.2.1.bb | 18 + .../meta-oe/recipes-support/libsmi/libsmi_0.5.0.bb | 2 +- .../meta-oe/recipes-support/libsoc/libsoc_0.8.2.bb | 4 +- .../recipes-support/libssh2/libssh2_1.9.0.bb | 2 +- .../recipes-support/lockdev/lockdev/build.patch | 2 +- .../lockdev/lockdev/cross_compile.patch | 8 +- .../recipes-support/lockdev/lockdev_1.0.3.bb | 6 +- .../recipes-support/onig/files/configure.patch | 13 - .../onig/files/do-not-use-system-headers.patch | 44 - ...-don-t-link-against-host-system-libraries.patch | 42 + ...le-serial-tests-automake-option-for-ptest.patch | 36 + .../meta-oe/recipes-support/onig/onig/run-ptest | 47 + .../meta-oe/recipes-support/onig/onig_5.9.6.bb | 19 - .../meta-oe/recipes-support/onig/onig_6.9.4.bb | 32 + .../0001-utilBacktrace-Ignore-Warray-bounds.patch | 33 + .../open-vm-tools/open-vm-tools_11.0.1.bb | 1 + ...NUInstallDirs-for-detecting-install-paths.patch | 39 + .../meta-oe/recipes-support/opencv/ade_0.1.1f.bb | 1 + .../recipes-support/opencv/opencv/download.patch | 32 + .../meta-oe/recipes-support/opencv/opencv_4.1.0.bb | 31 +- .../0001-Fix-misleading-code-indentation.patch | 69 + .../recipes-support/opensc/opensc_0.19.0.bb | 3 +- .../meta-oe/recipes-support/poco/poco_1.9.4.bb | 1 + .../recipes-support/poppler/poppler-data_0.4.9.bb | 1 + .../poppler/poppler/basename-include.patch | 4 +- .../recipes-support/poppler/poppler_0.82.0.bb | 50 - .../recipes-support/poppler/poppler_0.84.0.bb | 51 + .../samsung-soc-utils/sjf2410-linux-native_svn.bb | 9 +- .../0001-Fix-build-with-recent-gettext.patch | 22 + .../recipes-support/sharutils/sharutils_4.15.2.bb | 3 +- .../recipes-support/spitools/spitools_git.bb | 4 +- .../udisks/udisks2/non-gnu-libc.patch | 26 - .../meta-oe/recipes-support/udisks/udisks2_git.bb | 6 +- ...sys-stat.h-for-fixing-build-issue-on-musl.patch | 29 - .../utouch/files/remove-man-page-creation.patch | 16 - ...x-build-on-32bit-arches-with-64bit-time_t.patch | 76 + .../recipes-support/utouch/utouch-evemu_git.bb | 4 +- ...x-build-on-32bit-arches-with-64bit-time_t.patch | 41 + ...sys-stat.h-for-fixing-build-issue-on-musl.patch | 29 + .../utouch-frame/remove-man-page-creation.patch | 16 + .../recipes-support/utouch/utouch-frame_git.bb | 1 + .../vboxguestdrivers/vboxguestdrivers/export.patch | 77 + .../vboxguestdrivers/vboxguestdrivers_5.2.22.bb | 83 - .../vboxguestdrivers/vboxguestdrivers_6.1.0.bb | 82 + .../0001-Correct-clang-compiler-flags.patch | 32 + .../0001-cmake-Use-GNUInstallDirs.patch | 35 + .../websocketpp/websocketpp-0.8.1/771.patch | 22 + .../websocketpp/websocketpp-0.8.1/842.patch | 30 + .../websocketpp/websocketpp-0.8.1/855.patch | 23 + .../websocketpp/websocketpp-0.8.1/857.patch | 132 + .../websocketpp/websocketpp_0.8.1.bb | 26 +- .../recipes-support/xdelta/xdelta3_3.0.11.bb | 18 - .../recipes-support/xdelta/xdelta3_3.1.0.bb | 20 + .../xserver-xorg-cvt-native_1.20.5.bb | 41 + .../zbar/0001-make-relies-GNU-extentions.patch | 16 +- .../zbar/zbar/0001-undefine-__va_arg_pack.patch | 51 - .../meta-oe/recipes-support/zbar/zbar_0.10.bb | 28 - .../meta-oe/recipes-support/zbar/zbar_git.bb | 31 + .../meta-oe/recipes-test/cppunit/cppunit_1.14.0.bb | 14 - .../meta-oe/recipes-test/cppunit/cppunit_1.15.1.bb | 14 + ...x-build-on-32bit-arches-with-64bit-time_t.patch | 41 + .../meta-oe/recipes-test/evtest/evtest_1.34.bb | 6 +- .../recipes-test/googletest/googletest_git.bb | 8 + .../recipes-perl/adduser/adduser_3.118.bb | 1 + ...duser-set-default-shell-with-sbin-nologin.patch | 34 + .../libconfig/libconfig-autoconf-perl_0.318.bb | 41 + .../libfile/libfile-slurper-perl_0.012.bb | 36 + .../libstatgrab/libunix-statgrab_0.112.bb | 38 + .../libtest/libtest-warnings-perl_0.028.bb | 29 + .../python-pyconnman/python-pyconnman.inc | 4 +- .../python-pyconnman/python-pyconnman_0.1.0.bb | 5 - .../python-pyconnman/python-pyconnman_0.2.0.bb | 5 + ...l-modules-by-relative-path-for-python3-su.patch | 74 - .../python-pyconnman/python3-pyconnman_0.1.0.bb | 9 - .../python-pyconnman/python3-pyconnman_0.2.0.bb | 5 + .../python-thrift/python-thrift_0.11.0.bb | 18 - .../python-thrift/python-thrift_0.13.0.bb | 18 + .../recipes-devtools/python/python-alembic.inc | 4 +- .../python/python-alembic_1.3.0.bb | 2 - .../python/python-alembic_1.3.2.bb | 2 + .../recipes-devtools/python/python-asn1crypto.inc | 4 +- .../python/python-asn1crypto_1.2.0.bb | 7 - .../python/python-asn1crypto_1.3.0.bb | 7 + .../python-backports-functools-lru-cache.inc | 19 + .../python-backports-functools-lru-cache_1.5.bb | 21 +- .../python/python-beautifulsoup4.inc | 8 +- .../python/python-beautifulsoup4_4.8.1.bb | 2 - .../python/python-beautifulsoup4_4.8.2.bb | 2 + .../recipes-devtools/python/python-bitarray.inc | 6 +- .../python/python-bitarray_1.1.0.bb | 2 - .../python/python-bitarray_1.2.1.bb | 2 + .../recipes-devtools/python/python-booleanpy.inc | 14 + .../recipes-devtools/python/python-cachetools.inc | 4 +- .../python/python-cachetools_3.1.1.bb | 2 - .../python/python-cachetools_4.0.0.bb | 2 + .../recipes-devtools/python/python-certifi.inc | 4 +- .../python/python-certifi_2019.11.28.bb | 2 + .../python/python-certifi_2019.9.11.bb | 2 - .../recipes-devtools/python/python-cmd2.inc | 4 +- .../recipes-devtools/python/python-cmd2_0.9.19.bb | 14 - .../recipes-devtools/python/python-cmd2_0.9.22.bb | 14 + .../recipes-devtools/python/python-coloredlogs.inc | 2 +- .../recipes-devtools/python/python-dbus_1.2.12.bb | 32 - .../recipes-devtools/python/python-dbus_1.2.14.bb | 32 + .../recipes-devtools/python/python-engineio.inc | 4 +- .../python/python-engineio_3.10.0.bb | 2 - .../python/python-engineio_3.11.1.bb | 2 + .../recipes-devtools/python/python-evdev.inc | 4 + ...x-build-on-32bit-arches-with-64bit-time_t.patch | 83 + .../recipes-devtools/python/python-html2text.inc | 12 + .../recipes-devtools/python/python-ipaddress.inc | 2 - .../recipes-devtools/python/python-jsonpointer.inc | 2 + .../recipes-devtools/python/python-jsonschema.inc | 6 +- .../0001-setup.cfg-add-non-GPL-format-option.patch | 96 - .../python/python-jsonschema_3.1.1.bb | 12 - .../python/python-jsonschema_3.2.0.bb | 12 + .../python/python-license-expression.inc | 16 + .../recipes-devtools/python/python-lxml.inc | 9 +- .../recipes-devtools/python/python-lxml_4.4.1.bb | 2 - .../recipes-devtools/python/python-lxml_4.4.2.bb | 2 + .../recipes-devtools/python/python-m2crypto.inc | 6 +- .../recipes-devtools/python/python-parse.inc | 6 +- .../recipes-devtools/python/python-parse_1.12.1.bb | 2 - .../recipes-devtools/python/python-parse_1.14.0.bb | 2 + .../recipes-devtools/python/python-passlib.inc | 6 +- .../python/python-passlib_1.7.1.bb | 2 - .../python/python-passlib_1.7.2.bb | 2 + .../recipes-devtools/python/python-paste_3.2.2.bb | 17 - .../recipes-devtools/python/python-paste_3.2.3.bb | 17 + .../recipes-devtools/python/python-pbr_5.4.3.bb | 13 - .../recipes-devtools/python/python-pbr_5.4.4.bb | 13 + .../recipes-devtools/python/python-pexpect.inc | 4 +- .../python/python-pexpect_4.6.0.bb | 2 - .../python/python-pexpect_4.7.0.bb | 2 + .../recipes-devtools/python/python-pluggy.inc | 4 +- .../python/python-pluggy_0.13.0.bb | 2 - .../python/python-pluggy_0.13.1.bb | 2 + .../recipes-devtools/python/python-psutil.inc | 4 +- .../recipes-devtools/python/python-psutil_5.6.5.bb | 6 - .../recipes-devtools/python/python-psutil_5.6.7.bb | 6 + .../recipes-devtools/python/python-py.inc | 4 +- .../recipes-devtools/python/python-py_1.8.0.bb | 2 - .../recipes-devtools/python/python-py_1.8.1.bb | 2 + .../recipes-devtools/python/python-pyasn1.inc | 4 +- .../recipes-devtools/python/python-pyasn1_0.4.7.bb | 6 - .../recipes-devtools/python/python-pyasn1_0.4.8.bb | 6 + .../python/python-pycryptodome.inc | 4 +- .../python/python-pycryptodome_3.9.3.bb | 2 - .../python/python-pycryptodome_3.9.4.bb | 2 + .../recipes-devtools/python/python-pymisp.inc | 4 +- .../python/python-pymisp_2.4.117.2.bb | 2 - .../python/python-pymisp_2.4.119.1.bb | 2 + .../recipes-devtools/python/python-pymongo.inc | 4 +- .../python/python-pymongo_3.10.0.bb | 2 + .../python/python-pymongo_3.9.0.bb | 2 - .../recipes-devtools/python/python-pyopenssl.inc | 4 +- .../python/python-pyopenssl_19.0.0.bb | 2 - .../python/python-pyopenssl_19.1.0.bb | 2 + .../recipes-devtools/python/python-pyparsing.inc | 4 +- .../python/python-pyparsing_2.4.5.bb | 2 - .../python/python-pyparsing_2.4.6.bb | 2 + .../recipes-devtools/python/python-pyperf.inc | 4 +- .../recipes-devtools/python/python-pyperf_1.6.1.bb | 4 - .../recipes-devtools/python/python-pyperf_1.7.0.bb | 4 + .../recipes-devtools/python/python-pytest.inc | 4 +- .../recipes-devtools/python/python-pytest_5.2.2.bb | 9 - .../recipes-devtools/python/python-pytest_5.3.2.bb | 9 + .../recipes-devtools/python/python-pyyaml.inc | 4 +- .../recipes-devtools/python/python-pyyaml_5.1.2.bb | 2 - .../recipes-devtools/python/python-pyyaml_5.2.bb | 2 + .../recipes-devtools/python/python-simplejson.inc | 4 +- .../python/python-simplejson_3.16.0.bb | 4 - .../python/python-simplejson_3.17.0.bb | 4 + .../recipes-devtools/python/python-slip-dbus.inc | 2 +- .../recipes-devtools/python/python-soupsieve.inc | 12 + .../python/python-soupsieve_1.9.4.bb | 4 + .../recipes-devtools/python/python-sqlalchemy.inc | 6 +- .../python/python-sqlalchemy_1.1.17.bb | 2 - .../python/python-sqlalchemy_1.3.12.bb | 2 + .../recipes-devtools/python/python-twisted.inc | 9 +- ...eactor-import-in-test_runner-to-be-from-t.patch | 38 + .../recipes-devtools/python/python-ujson.inc | 2 + .../recipes-devtools/python/python-waitress.inc | 4 +- .../python/python-waitress_1.3.1.bb | 2 - .../python/python-waitress_1.4.1.bb | 2 + .../recipes-devtools/python/python-xxhash.inc | 4 +- .../python/python3-alembic_1.3.0.bb | 2 - .../python/python3-alembic_1.3.2.bb | 2 + .../python/python3-asn1crypto_1.2.0.bb | 6 - .../python/python3-asn1crypto_1.3.0.bb | 6 + .../f820f3ff7ad8818475b6e107e63aa9a54252d2a9.patch | 87 - .../recipes-devtools/python/python3-astor_0.8.1.bb | 14 + .../recipes-devtools/python/python3-astor_0.8.bb | 16 - .../python3-backports-functools-lru-cache_1.5.bb | 2 + .../python/python3-bandit_1.5.1.bb | 14 - .../python/python3-bandit_1.6.2.bb | 14 + .../python/python3-beautifulsoup4_4.8.1.bb | 2 - .../python/python3-beautifulsoup4_4.8.2.bb | 2 + .../python/python3-bitarray_1.1.0.bb | 2 - .../python/python3-bitarray_1.2.1.b | 2 + .../python/python3-booleanpy_3.7.bb | 2 + .../python/python3-cachetools_3.1.1.bb | 2 - .../python/python3-cachetools_4.0.0.bb | 2 + .../python/python3-certifi_2019.11.28.bb | 2 + .../python/python3-certifi_2019.9.11.bb | 2 - .../recipes-devtools/python/python3-cmd2_0.9.19.bb | 9 - .../recipes-devtools/python/python3-cmd2_0.9.22.bb | 9 + .../python/python3-engineio_3.10.0.bb | 2 - .../python/python3-engineio_3.11.1.bb | 2 + .../python/python3-html2text_2019.8.11.bb | 2 + .../python/python3-jsonrpcserver_4.0.5.bb | 23 - .../python/python3-jsonrpcserver_4.1.2.bb | 24 + .../python/python3-jsonschema_3.1.1.bb | 2 - .../python/python3-jsonschema_3.2.0.bb | 2 + .../python/python3-license-expression_1.0.bb | 2 + .../recipes-devtools/python/python3-lxml_4.4.1.bb | 3 - .../recipes-devtools/python/python3-lxml_4.4.2.bb | 3 + .../python/python3-parse_1.12.1.bb | 2 - .../python/python3-parse_1.14.0.bb | 2 + .../python/python3-passlib_1.7.1.bb | 2 - .../python/python3-passlib_1.7.2.bb | 2 + .../python/python3-pexpect_4.6.0.bb | 2 - .../python/python3-pexpect_4.7.0.bb | 2 + .../python/python3-pluggy_0.13.0.bb | 2 - .../python/python3-pluggy_0.13.1.bb | 2 + .../python/python3-psutil_5.6.5.bb | 4 - .../python/python3-psutil_5.6.7.bb | 4 + .../recipes-devtools/python/python3-py_1.8.0.bb | 2 - .../recipes-devtools/python/python3-py_1.8.1.bb | 2 + .../python/python3-pyasn1_0.4.7.bb | 2 - .../python/python3-pyasn1_0.4.8.bb | 2 + .../python/python3-pycryptodome_3.9.3.bb | 2 - .../python/python3-pycryptodome_3.9.4.bb | 2 + .../python/python3-pymisp_2.4.117.2.bb | 2 - .../python/python3-pymisp_2.4.119.1.bb | 2 + .../python/python3-pymongo_3.10.0.bb | 2 + .../python/python3-pymongo_3.9.0.bb | 2 - .../python/python3-pyopenssl_19.0.0.bb | 2 - .../python/python3-pyopenssl_19.1.0.bb | 2 + .../python/python3-pyparsing_2.4.5.bb | 2 - .../python/python3-pyparsing_2.4.6.bb | 2 + .../python/python3-pyperf_1.6.1.bb | 4 - .../python/python3-pyperf_1.7.0.bb | 4 + .../python/python3-pystemd_0.6.0.bb | 13 - .../python/python3-pystemd_0.7.0.bb | 13 + .../python/python3-pytest_5.2.2.bb | 4 - .../python/python3-pytest_5.3.2.bb | 4 + .../python/python3-pyyaml_5.1.2.bb | 2 - .../recipes-devtools/python/python3-pyyaml_5.2.bb | 2 + .../python/python3-simplejson_3.16.0.bb | 2 - .../python/python3-simplejson_3.17.0.bb | 2 + .../python/python3-soupsieve_1.9.4.bb | 2 + .../python/python3-sqlalchemy_1.1.17.bb | 2 - .../python/python3-sqlalchemy_1.3.12.bb | 2 + .../python/python3-waitress_1.3.1.bb | 2 - .../python/python3-waitress_1.4.1.bb | 2 + .../python/python3-xmltodict_0.12.0.bb | 12 + .../python/python3-xxhash_1.4.2.bb | 2 - .../python/python3-xxhash_1.4.3.bb | 2 + .../recipes-extended/pywbem/python-pywbem.inc | 9 +- .../pywbem/python-pywbem_0.11.0.bb | 20 - .../pywbem/python-pywbem_0.15.0.bb | 20 + .../pywbem/python3-pywbem_0.11.0.bb | 9 - .../pywbem/python3-pywbem_0.15.0.bb | 9 + .../recipes-php/phpmyadmin/phpmyadmin_4.9.1.bb | 41 - .../recipes-php/phpmyadmin/phpmyadmin_4.9.2.bb | 41 + .../recipes-apps/catfish/catfish_1.4.10.bb | 17 - .../recipes-apps/catfish/catfish_1.4.11.bb | 17 + .../xfce4-panel-profiles_1.0.8.bb | 28 - .../xfce4-panel-profiles_1.0.9.bb | 28 + .../xfce4-terminal/xfce4-terminal_0.8.8.bb | 14 - .../xfce4-terminal/xfce4-terminal_0.8.9.1.bb | 14 + .../xfce-dusk-gtk3/xfce-dusk-gtk3_1.3.bb | 2 +- ...C_PRINTF-on-functions-with-format-strings.patch | 62 - ...gnome-doc-utils.make-sysrooted-pkg-config.patch | 51 - .../glade/glade3/0002-fix-gcc-6-build.patch | 39 - .../recipes-devtools/glade/glade3_3.8.5.bb | 23 - .../kbdleds/xfce4-kbdleds-plugin_0.0.6.bb | 15 - .../meta-xfce/recipes-xfce/exo/exo_0.12.11.bb | 41 + .../meta-xfce/recipes-xfce/exo/exo_0.12.9.bb | 41 - .../gtk-xfce-engine/glib-2.54-ftbfs.patch | 23 - .../gtk-xfce-engine/gtk-xfce-engine_3.2.0.bb | 30 - .../recipes-xfce/libxfce4ui/libxfce4ui_4.14.1.bb | 3 - .../packagegroups/packagegroup-xfce-base.bb | 1 - .../packagegroups/packagegroup-xfce-extended.bb | 1 - .../meta-xfce/recipes-xfce/thunar/thunar_1.8.10.bb | 29 + .../meta-xfce/recipes-xfce/thunar/thunar_1.8.9.bb | 32 - .../recipes-xfce/tumbler/tumbler_0.2.7.bb | 31 - .../recipes-xfce/tumbler/tumbler_0.2.8.bb | 31 + 773 files changed, 41424 insertions(+), 8738 deletions(-) delete mode 100644 meta-openembedded/meta-filesystems/recipes-support/fuse/fuse3_3.8.0.bb create mode 100644 meta-openembedded/meta-filesystems/recipes-support/fuse/fuse3_3.9.0.bb delete mode 100644 meta-openembedded/meta-filesystems/recipes-utils/ufs-tool/ufs-tool_git.bb create mode 100644 meta-openembedded/meta-filesystems/recipes-utils/ufs-utils/ufs-utils/0001-Replace-u_intXX_t-with-kernel-typedefs.patch create mode 100644 meta-openembedded/meta-filesystems/recipes-utils/ufs-utils/ufs-utils_git.bb delete mode 100644 meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/files/0001-build-Check-for-sync_file_range-libc-function.patch delete mode 100644 meta-openembedded/meta-gnome/recipes-apps/pinpoint/pinpoint_git.bb delete mode 100644 meta-openembedded/meta-gnome/recipes-gnome/evince/evince_3.34.1.bb create mode 100644 meta-openembedded/meta-gnome/recipes-gnome/evince/evince_3.34.2.bb delete mode 100644 meta-openembedded/meta-gnome/recipes-gnome/file-roller/file-roller_3.32.2.bb create mode 100644 meta-openembedded/meta-gnome/recipes-gnome/file-roller/file-roller_3.32.3.bb create mode 100644 meta-openembedded/meta-gnome/recipes-gnome/gdm/gdm/0001-Ensure-pam-file-installation.patch create mode 100644 meta-openembedded/meta-gnome/recipes-gnome/gdm/gdm_3.34.1.bb delete mode 100644 meta-openembedded/meta-gnome/recipes-gnome/gedit/gedit_3.34.0.bb create mode 100644 meta-openembedded/meta-gnome/recipes-gnome/gedit/gedit_3.34.1.bb create mode 100644 meta-openembedded/meta-gnome/recipes-gnome/gjs/gjs/0001-Disable-tests-on-host.patch create mode 100644 meta-openembedded/meta-gnome/recipes-gnome/gjs/gjs_1.58.4.bb delete mode 100644 meta-openembedded/meta-gnome/recipes-gnome/gnome-autoar/gnome-autoar_0.2.3.bb create mode 100644 meta-openembedded/meta-gnome/recipes-gnome/gnome-autoar/gnome-autoar_0.2.4.bb create mode 100644 meta-openembedded/meta-gnome/recipes-gnome/gnome-backgrounds/gnome-backgrounds_3.34.0.bb create mode 100644 meta-openembedded/meta-gnome/recipes-gnome/gnome-calculator/gnome-calculator_3.34.1.bb create mode 100644 meta-openembedded/meta-gnome/recipes-gnome/gnome-control-center/gnome-control-center/0001-Add-meson-option-to-pass-sysroot.patch create mode 100644 meta-openembedded/meta-gnome/recipes-gnome/gnome-control-center/gnome-control-center_3.34.2.bb delete mode 100644 meta-openembedded/meta-gnome/recipes-gnome/gnome-desktop/gnome-desktop3_3.34.1.bb create mode 100644 meta-openembedded/meta-gnome/recipes-gnome/gnome-desktop/gnome-desktop3_3.34.3.bb create mode 100644 meta-openembedded/meta-gnome/recipes-gnome/gnome-flashback/gnome-flashback_3.34.2.bb create mode 100644 meta-openembedded/meta-gnome/recipes-gnome/gnome-keyring/gnome-keyring/0001-Set-paths-to-ssh-agent-and-ssh-add-by-configure-opti.patch delete mode 100644 meta-openembedded/meta-gnome/recipes-gnome/gnome-keyring/gnome-keyring_3.28.2.bb create mode 100644 meta-openembedded/meta-gnome/recipes-gnome/gnome-keyring/gnome-keyring_3.34.0.bb delete mode 100644 meta-openembedded/meta-gnome/recipes-gnome/gnome-keyring/libgnome-keyring_3.12.0.bb create mode 100644 meta-openembedded/meta-gnome/recipes-gnome/gnome-online-accounts/gnome-online-accounts_3.34.1.bb create mode 100644 meta-openembedded/meta-gnome/recipes-gnome/gnome-panel/gnome-panel/0001-Do-not-try-to-find-ZONEINFO-it-tries-to-run-compiled.patch create mode 100644 meta-openembedded/meta-gnome/recipes-gnome/gnome-panel/gnome-panel_3.34.1.bb create mode 100644 meta-openembedded/meta-gnome/recipes-gnome/gnome-session/gnome-session_3.34.2.bb delete mode 100644 meta-openembedded/meta-gnome/recipes-gnome/gnome-settings-daemon/gnome-settings-daemon_3.34.1.bb create mode 100644 meta-openembedded/meta-gnome/recipes-gnome/gnome-settings-daemon/gnome-settings-daemon_3.34.2.bb create mode 100644 meta-openembedded/meta-gnome/recipes-gnome/gnome-shell/gnome-shell-extensions_3.34.2.bb create mode 100644 meta-openembedded/meta-gnome/recipes-gnome/gnome-shell/gnome-shell_3.34.3.bb create mode 100644 meta-openembedded/meta-gnome/recipes-gnome/gnome-tweaks/gnome-tweaks/0001-Make-python-path-configurable.patch create mode 100644 meta-openembedded/meta-gnome/recipes-gnome/gnome-tweaks/gnome-tweaks_3.34.0.bb create mode 100644 meta-openembedded/meta-gnome/recipes-gnome/grilo/grilo_0.3.10.bb create mode 100644 meta-openembedded/meta-gnome/recipes-gnome/gsound/gsound_1.0.2.bb delete mode 100644 meta-openembedded/meta-gnome/recipes-gnome/gvfs/gvfs_1.41.2.bb create mode 100644 meta-openembedded/meta-gnome/recipes-gnome/gvfs/gvfs_1.42.2.bb delete mode 100644 meta-openembedded/meta-gnome/recipes-gnome/libgdata/libgdata_0.17.10.bb create mode 100644 meta-openembedded/meta-gnome/recipes-gnome/libgdata/libgdata_0.17.11.bb delete mode 100644 meta-openembedded/meta-gnome/recipes-gnome/libgsf/files/0001-configure.ac-drop-a-copy-paste-of-introspection.m4-m.patch create mode 100644 meta-openembedded/meta-gnome/recipes-gnome/libgsf/libgsf/0001-configure.ac-drop-a-copy-paste-of-introspection.m4-m.patch delete mode 100644 meta-openembedded/meta-gnome/recipes-gnome/libgsf/libgsf_1.14.45.bb create mode 100644 meta-openembedded/meta-gnome/recipes-gnome/libgsf/libgsf_1.14.46.bb delete mode 100644 meta-openembedded/meta-gnome/recipes-gnome/metacity/metacity_3.32.0.bb create mode 100644 meta-openembedded/meta-gnome/recipes-gnome/metacity/metacity_3.34.1.bb create mode 100644 meta-openembedded/meta-gnome/recipes-gnome/mutter/mutter/0001-cogl-Fix-GLES2-fallback.patch create mode 100644 meta-openembedded/meta-gnome/recipes-gnome/mutter/mutter_3.34.3.bb delete mode 100644 meta-openembedded/meta-gnome/recipes-gnome/nautilus/nautilus_3.34.1.bb create mode 100644 meta-openembedded/meta-gnome/recipes-gnome/nautilus/nautilus_3.34.2.bb create mode 100644 meta-openembedded/meta-gnome/recipes-gnome/rest/rest_0.8.1.bb create mode 100644 meta-openembedded/meta-gnome/recipes-gnome/tracker/tracker-miners/0001-meson.build-Just-warn-if-we-build-without-libseccomp.patch create mode 100644 meta-openembedded/meta-gnome/recipes-gnome/tracker/tracker-miners_2.3.1.bb delete mode 100644 meta-openembedded/meta-gnome/recipes-gnome/yelp/yelp-xsl_3.34.0.bb create mode 100644 meta-openembedded/meta-gnome/recipes-gnome/yelp/yelp-xsl_3.34.2.bb create mode 100644 meta-openembedded/meta-gnome/recipes-support/accountsservice/accountsservice/0001-musl-Hack-to-fix-build.patch create mode 100644 meta-openembedded/meta-gnome/recipes-support/accountsservice/accountsservice/0002-musl-add-missing-fgetspent_r.patch create mode 100644 meta-openembedded/meta-gnome/recipes-support/accountsservice/accountsservice_0.6.55.bb create mode 100644 meta-openembedded/meta-gnome/recipes-support/libhandy/libhandy_git.bb create mode 100644 meta-openembedded/meta-gnome/recipes-support/packagegroups/packagegroup-gnome-apps.bb create mode 100644 meta-openembedded/meta-gnome/recipes-support/packagegroups/packagegroup-gnome-desktop.bb create mode 100644 meta-openembedded/meta-multimedia/recipes-dvb/tvheadend/tvheadend/0001-allocate-space-for-buf-on-heap.patch create mode 100644 meta-openembedded/meta-multimedia/recipes-multimedia/dca/dcadec/0001-define-BASELIB-make-variable.patch create mode 100644 meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/0001-dvbdate-Remove-Obsoleted-stime-API-calls.patch delete mode 100644 meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-1.0/gst-shark_0.2.1.bb create mode 100644 meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-1.0/gst-shark_git.bb delete mode 100644 meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-1.0/gstd/0001-Look-for-gtk-doc.make-in-builddir.patch delete mode 100644 meta-openembedded/meta-multimedia/recipes-multimedia/juce/nativesdk-projucer_git.bb delete mode 100644 meta-openembedded/meta-multimedia/recipes-multimedia/juce/projucer-native_git.bb create mode 100644 meta-openembedded/meta-multimedia/recipes-multimedia/juce/projucer/0001-Disable-webkit-component.patch create mode 100644 meta-openembedded/meta-multimedia/recipes-multimedia/juce/projucer_git.bb create mode 100644 meta-openembedded/meta-multimedia/recipes-multimedia/libcamera/files/0001-meson-import-python3-to-use-also-from-sysroot.patch create mode 100644 meta-openembedded/meta-multimedia/recipes-multimedia/libcamera/libcamera.bb create mode 100755 meta-openembedded/meta-multimedia/recipes-multimedia/libdc1394/libdc1394_2.2.6.bb delete mode 100755 meta-openembedded/meta-multimedia/recipes-multimedia/libdc1394/libdc1394_git.bb create mode 100644 meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/mpd/0001-StringBuffer-Include-cstddef-for-size_t.patch create mode 100644 meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/mpd/0002-Include-stdexcept-for-runtime_error.patch create mode 100644 meta-openembedded/meta-multimedia/recipes-multimedia/tinyalsa/tinyalsa/0001-Use-CMAKE_INSTALL_-path-instead-of-hardcoding-bin-li.patch create mode 100644 meta-openembedded/meta-multimedia/recipes-multimedia/vorbis-tools/vorbis-tools/gettext.patch create mode 100644 meta-openembedded/meta-networking/recipes-connectivity/cannelloni/cannelloni/0001-Use-GNUInstallDirs-instead-of-hard-coding-paths.patch create mode 100644 meta-openembedded/meta-networking/recipes-connectivity/cannelloni/cannelloni/0002-include-missing-stdexcept-for-runtime_error.patch delete mode 100644 meta-openembedded/meta-networking/recipes-connectivity/kea/kea_1.7.0.bb create mode 100644 meta-openembedded/meta-networking/recipes-connectivity/kea/kea_1.7.3.bb delete mode 100644 meta-openembedded/meta-networking/recipes-connectivity/lftp/files/fix-gcc-6-conflicts-signbit.patch delete mode 100644 meta-openembedded/meta-networking/recipes-connectivity/lftp/lftp_4.8.4.bb create mode 100644 meta-openembedded/meta-networking/recipes-connectivity/lftp/lftp_4.9.0.bb delete mode 100644 meta-openembedded/meta-networking/recipes-connectivity/mosquitto/mosquitto_1.6.7.bb create mode 100644 meta-openembedded/meta-networking/recipes-connectivity/mosquitto/mosquitto_1.6.8.bb create mode 100644 meta-openembedded/meta-networking/recipes-connectivity/netplan/netplan_0.98.bb delete mode 100644 meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.10.10.bb create mode 100644 meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.10.11.bb delete mode 100644 meta-openembedded/meta-networking/recipes-connectivity/wolfssl/wolfssl_4.2.0.bb create mode 100644 meta-openembedded/meta-networking/recipes-connectivity/wolfssl/wolfssl_4.3.0.bb create mode 100644 meta-openembedded/meta-networking/recipes-daemons/ippool/ippool/strncpy-truncation.patch delete mode 100644 meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf_5.19.07.bb create mode 100644 meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf_5.19.10.bb create mode 100644 meta-openembedded/meta-networking/recipes-extended/corosync/corosync/0001-configure.ac-fix-pkgconfig-issue-of-rdma.patch delete mode 100644 meta-openembedded/meta-networking/recipes-filter/arno-iptables-firewall/arno-iptables-firewall_2.0.3.bb create mode 100644 meta-openembedded/meta-networking/recipes-filter/arno-iptables-firewall/arno-iptables-firewall_2.1.0.bb delete mode 100644 meta-openembedded/meta-networking/recipes-filter/libnftnl/libnftnl/0001-Move-exports-before-symbol-definition.patch create mode 100644 meta-openembedded/meta-networking/recipes-filter/libnftnl/libnftnl/0001-avoid-naming-local-function-as-one-of-printf-family.patch delete mode 100644 meta-openembedded/meta-networking/recipes-filter/libnftnl/libnftnl/0002-avoid-naming-local-function-as-one-of-printf-family.patch delete mode 100644 meta-openembedded/meta-networking/recipes-filter/libnftnl/libnftnl_1.1.4.bb create mode 100644 meta-openembedded/meta-networking/recipes-filter/libnftnl/libnftnl_1.1.5.bb create mode 100644 meta-openembedded/meta-networking/recipes-filter/nftables/files/0001-update-python3-nftables-reference.patch delete mode 100644 meta-openembedded/meta-networking/recipes-filter/nftables/nftables_0.9.2.bb create mode 100644 meta-openembedded/meta-networking/recipes-filter/nftables/nftables_0.9.3.bb create mode 100644 meta-openembedded/meta-networking/recipes-support/dnsmasq/dnsmasq/0001-dnsmasq-fix-memory-leak-in-helper-c.patch delete mode 100644 meta-openembedded/meta-networking/recipes-support/ipvsadm/ipvsadm_1.30.bb create mode 100644 meta-openembedded/meta-networking/recipes-support/ipvsadm/ipvsadm_1.31.bb delete mode 100644 meta-openembedded/meta-networking/recipes-support/memcached/memcached_1.5.10.bb create mode 100644 meta-openembedded/meta-networking/recipes-support/memcached/memcached_1.5.20.bb create mode 100644 meta-openembedded/meta-networking/recipes-support/netcat/netcat/gettext.patch delete mode 100644 meta-openembedded/meta-networking/recipes-support/nghttp2/nghttp2_1.39.2.bb create mode 100644 meta-openembedded/meta-networking/recipes-support/nghttp2/nghttp2_1.40.0.bb delete mode 100644 meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core/0001-S_IFSOCK-is-defined-in-both-glibc-musl.patch delete mode 100644 meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core/0001-include-endian.h-for-htole32-and-friends.patch create mode 100644 meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core/0001-librdmacm-Use-sched_yield-instead-of-pthread_yield.patch delete mode 100644 meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core/0002-Remove-unused-include-for-execinfo.h.patch delete mode 100644 meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core/0002-neigh.c-Do-not-include-net-if_packet.h.patch delete mode 100644 meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core_18.1.bb create mode 100644 meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core_27.0.bb create mode 100644 meta-openembedded/meta-networking/recipes-support/ruli/files/float-conversion.patch delete mode 100644 meta-openembedded/meta-networking/recipes-support/strongswan/strongswan_5.8.1.bb create mode 100644 meta-openembedded/meta-networking/recipes-support/strongswan/strongswan_5.8.2.bb delete mode 100644 meta-openembedded/meta-networking/recipes-support/stunnel/stunnel_5.55.bb create mode 100644 meta-openembedded/meta-networking/recipes-support/stunnel/stunnel_5.56.bb create mode 100644 meta-openembedded/meta-networking/recipes-support/tinyproxy/tinyproxy/tinyproxy.conf delete mode 100644 meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_3.0.6.bb create mode 100644 meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_3.2.0.bb delete mode 100644 meta-openembedded/meta-oe/recipes-benchmark/iozone3/iozone3_487.bb create mode 100644 meta-openembedded/meta-oe/recipes-benchmark/iozone3/iozone3_488.bb delete mode 100644 meta-openembedded/meta-oe/recipes-benchmark/phoronix-test-suite/phoronix-test-suite_9.0.1.bb create mode 100644 meta-openembedded/meta-oe/recipes-benchmark/phoronix-test-suite/phoronix-test-suite_9.2.1.bb create mode 100644 meta-openembedded/meta-oe/recipes-benchmark/speedtest-cli/speedtest-cli_2.1.2.bb create mode 100644 meta-openembedded/meta-oe/recipes-connectivity/gattlib/files/0001-cmake-Use-GNUInstallDirs.patch create mode 100644 meta-openembedded/meta-oe/recipes-connectivity/krb5/krb5_1.17.1.bb delete mode 100644 meta-openembedded/meta-oe/recipes-connectivity/krb5/krb5_1.17.bb delete mode 100644 meta-openembedded/meta-oe/recipes-connectivity/libmbim/libmbim_1.20.2.bb create mode 100644 meta-openembedded/meta-oe/recipes-connectivity/libmbim/libmbim_1.20.4.bb delete mode 100644 meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi_1.24.0.bb create mode 100644 meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi_1.24.2.bb delete mode 100644 meta-openembedded/meta-oe/recipes-connectivity/libuv/libuv_1.33.1.bb create mode 100644 meta-openembedded/meta-oe/recipes-connectivity/libuv/libuv_1.34.0.bb create mode 100644 meta-openembedded/meta-oe/recipes-connectivity/lirc/lirc/0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch create mode 100644 meta-openembedded/meta-oe/recipes-connectivity/rabbitmq-c/rabbitmq-c_0.10.0.bb delete mode 100644 meta-openembedded/meta-oe/recipes-connectivity/rabbitmq-c/rabbitmq-c_0.9.0.bb create mode 100644 meta-openembedded/meta-oe/recipes-connectivity/thrift/thrift/0001-DefineInstallationPaths.cmake-Define-libdir-in-terms.patch delete mode 100644 meta-openembedded/meta-oe/recipes-connectivity/thrift/thrift_0.12.0.bb create mode 100644 meta-openembedded/meta-oe/recipes-connectivity/thrift/thrift_0.13.0.bb create mode 100644 meta-openembedded/meta-oe/recipes-connectivity/wvdial/wvstreams/0001-Fix-narrowing-conversion-error.patch delete mode 100644 meta-openembedded/meta-oe/recipes-core/libsigc++-2.0/libsigc++-3_3.0.0.bb create mode 100644 meta-openembedded/meta-oe/recipes-core/libsigc++-2.0/libsigc++-3_3.0.2.bb delete mode 100644 meta-openembedded/meta-oe/recipes-core/ndctl/ndctl_v65.bb create mode 100644 meta-openembedded/meta-oe/recipes-core/ndctl/ndctl_v67.bb create mode 100755 meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-0.7.6/run-ptest create mode 100644 meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0001-do-not-disable-buffer-in-writing-files.patch create mode 100644 meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0002-don-t-use-glibc-specific-qsort_r.patch create mode 100644 meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0002-src-login-brightness.c-include-sys-wait.h.patch create mode 100644 meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0003-missing_type.h-add-__compare_fn_t-and-comparison_fn_.patch create mode 100644 meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0003-src-basic-copy.c-include-signal.h.patch create mode 100644 meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0004-add-fallback-parse_printf_format-implementation.patch create mode 100644 meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0004-src-shared-cpu-set-util.h-add-__cpu_mask-definition.patch create mode 100644 meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0005-src-basic-missing.h-check-for-missing-strndupa.patch create mode 100644 meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0006-Include-netinet-if_ether.h.patch create mode 100644 meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0007-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not.patch create mode 100644 meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0008-add-missing-FTW_-macros-for-musl.patch create mode 100644 meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0010-fix-missing-of-__register_atfork-for-non-glibc-build.patch create mode 100644 meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0011-Use-uintmax_t-for-handling-rlim_t.patch create mode 100644 meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0014-test-sizeof.c-Disable-tests-for-missing-typedefs-in-.patch create mode 100644 meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0015-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch create mode 100644 meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0016-Define-glibc-compatible-basename-for-non-glibc-syste.patch create mode 100644 meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0017-Do-not-disable-buffering-when-writing-to-oom_score_a.patch create mode 100644 meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0018-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch create mode 100644 meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0019-Hide-__start_BUS_ERROR_MAP-and-__stop_BUS_ERROR_MAP.patch create mode 100644 meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0020-missing_type.h-add-__compar_d_fn_t-definition.patch create mode 100644 meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0021-avoid-redefinition-of-prctl_mm_map-structure.patch create mode 100644 meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0024-test-json.c-define-M_PIl.patch create mode 100644 meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/static-libsystemd-pkgconfig.patch create mode 100644 meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd_243.bb create mode 100644 meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-tools-native_0.7.6.bb create mode 100644 meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++_0.7.6.bb delete mode 100644 meta-openembedded/meta-oe/recipes-crypto/botan/botan_2.11.0.bb create mode 100644 meta-openembedded/meta-oe/recipes-crypto/botan/botan_2.13.0.bb delete mode 100644 meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb-native_10.3.18.bb create mode 100644 meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb-native_10.4.11.bb create mode 100644 meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/0001-Fix-build-breakage-from-lock_guard-error-6161.patch create mode 100644 meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/0001-Fix-library-LZ4-lookup.patch delete mode 100644 meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb_10.3.18.bb create mode 100644 meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb_10.4.11.bb delete mode 100644 meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql_12.0.bb create mode 100644 meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql_12.1.bb delete mode 100644 meta-openembedded/meta-oe/recipes-dbs/rocksdb/files/0001-CMake-has-stock-FindZLIB-in-upper-case.patch delete mode 100644 meta-openembedded/meta-oe/recipes-dbs/rocksdb/files/0001-Disable-Wshadow-and-do-not-mark-default-copy-constru.patch create mode 100644 meta-openembedded/meta-oe/recipes-dbs/rocksdb/files/0001-Fix-build-breakage-from-lock_guard-error-6161.patch create mode 100644 meta-openembedded/meta-oe/recipes-dbs/rocksdb/files/0001-db-write_thread.cc-Initialize-state.patch delete mode 100644 meta-openembedded/meta-oe/recipes-dbs/rocksdb/files/0001-fix-Issue-5303.patch delete mode 100644 meta-openembedded/meta-oe/recipes-dbs/rocksdb/files/0001-utilities-Fix-build-failure-with-Werror-maybe-uninit.patch create mode 100644 meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0001-Do-not-add-stack-pointer-to-clobber-list.patch delete mode 100644 meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/dont-clobber-rsp.patch create mode 100644 meta-openembedded/meta-oe/recipes-devtools/cloc/cloc_1.84.bb delete mode 100644 meta-openembedded/meta-oe/recipes-devtools/cscope/cscope_15.8b.bb create mode 100644 meta-openembedded/meta-oe/recipes-devtools/cscope/cscope_15.9.bb delete mode 100644 meta-openembedded/meta-oe/recipes-devtools/doxygen/doxygen_1.8.16.bb create mode 100644 meta-openembedded/meta-oe/recipes-devtools/doxygen/doxygen_1.8.17.bb delete mode 100644 meta-openembedded/meta-oe/recipes-devtools/jsoncpp/jsoncpp_1.8.4.bb create mode 100644 meta-openembedded/meta-oe/recipes-devtools/jsoncpp/jsoncpp_1.9.2.bb create mode 100644 meta-openembedded/meta-oe/recipes-devtools/ldns/ldns_1.7.1.bb create mode 100644 meta-openembedded/meta-oe/recipes-devtools/libubox/libubox/0001-blobmsg-fix-array-out-of-bounds-GCC-10-warning.patch delete 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.4.bb create mode 100644 meta-openembedded/meta-oe/recipes-devtools/log4cplus/log4cplus_2.0.5.bb create mode 100644 meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace/0001-ensure-the-struct-pointers-are-null-initilized.patch delete mode 100644 meta-openembedded/meta-oe/recipes-devtools/msgpack/msgpack-c_3.1.1.bb create mode 100644 meta-openembedded/meta-oe/recipes-devtools/msgpack/msgpack-c_3.2.1.bb create mode 100644 meta-openembedded/meta-oe/recipes-devtools/nanopb/nanopb_0.4.0.bb create mode 100644 meta-openembedded/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json_3.7.3.bb delete mode 100644 meta-openembedded/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json_git.bb create mode 100644 meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0003-Install-both-binaries-and-use-libdir.patch create mode 100644 meta-openembedded/meta-oe/recipes-devtools/sqlite-orm/sqlite-orm_1.5.bb delete mode 100644 meta-openembedded/meta-oe/recipes-devtools/tcltk/tk/configure.use.fontconfig.with.xft.patch delete mode 100644 meta-openembedded/meta-oe/recipes-devtools/tcltk/tk/non-linux.diff delete mode 100644 meta-openembedded/meta-oe/recipes-devtools/tcltk/tk/tklibrary.diff create mode 100644 meta-openembedded/meta-oe/recipes-devtools/tcltk/tk_8.6.10.bb delete mode 100644 meta-openembedded/meta-oe/recipes-devtools/tcltk/tk_8.6.9.bb delete mode 100644 meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client_7.12.bb create mode 100644 meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client_7.16.bb create mode 100644 meta-openembedded/meta-oe/recipes-extended/enscript/enscript/0001-Fix-builds-with-recent-gettext.patch create mode 100644 meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/builtin-nan.patch create mode 100644 meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/cross-build-init-system-detection.patch delete mode 100644 meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit_0.12.19.bb create mode 100644 meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit_1.3.5.bb delete mode 100644 meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot_5.2.2.bb create mode 100644 meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot_5.2.8.bb delete mode 100644 meta-openembedded/meta-oe/recipes-extended/haveged/haveged_1.9.6.bb create mode 100644 meta-openembedded/meta-oe/recipes-extended/haveged/haveged_1.9.8.bb delete mode 100644 meta-openembedded/meta-oe/recipes-extended/hiredis/hiredis_0.13.1.bb create mode 100644 meta-openembedded/meta-oe/recipes-extended/hiredis/hiredis_0.14.0.bb create mode 100644 meta-openembedded/meta-oe/recipes-extended/indent/indent/0001-Fix-builds-with-recent-gettext.patch create mode 100644 meta-openembedded/meta-oe/recipes-extended/lcdproc/lcdproc/0002-Include-limits.h-for-PATH_MAX-definition.patch create mode 100644 meta-openembedded/meta-oe/recipes-extended/lcdproc/lcdproc/0003-Fix-non-x86-platforms-on-musl.patch create mode 100644 meta-openembedded/meta-oe/recipes-extended/libcec/libcec/0001-CheckPlatformSupport.cmake-Do-not-hardcode-lib-path.patch delete mode 100644 meta-openembedded/meta-oe/recipes-extended/libimobiledevice/libplist_2.0.0.bb create mode 100644 meta-openembedded/meta-oe/recipes-extended/libimobiledevice/libplist_2.1.0.bb create mode 100644 meta-openembedded/meta-oe/recipes-extended/liblightmodbus/liblightmodbus/0001-cmake-Use-GNUInstallDirs-instead-of-hardcoding-lib-p.patch delete mode 100644 meta-openembedded/meta-oe/recipes-extended/ostree/ostree/0001-build-create-tests-directory-for-split-builds.patch delete mode 100644 meta-openembedded/meta-oe/recipes-extended/ostree/ostree/0001-macros-Add-TEMP_FAILURE_RETRY-for-musl.patch delete mode 100644 meta-openembedded/meta-oe/recipes-extended/ostree/ostree/0001-tests-Handle-EPIPE-failures-when-head-terminates.patch delete mode 100644 meta-openembedded/meta-oe/recipes-extended/ostree/ostree/0001-tests-core-Fallback-to-en_US.UTF-8-locale.patch delete mode 100644 meta-openembedded/meta-oe/recipes-extended/ostree/ostree/0002-tests-core-Assume-C.UTF-8-if-locale-isn-t-found.patch delete mode 100644 meta-openembedded/meta-oe/recipes-extended/ostree/ostree/0003-tests-Avoid-musl-failure-with-cp-a.patch delete mode 100644 meta-openembedded/meta-oe/recipes-extended/ostree/ostree_2019.5.bb create mode 100644 meta-openembedded/meta-oe/recipes-extended/ostree/ostree_2019.6.bb create mode 100644 meta-openembedded/meta-oe/recipes-extended/pam/pam-plugin-ldapdb/0001-include-stdexcept-for-std-invalid_argument.patch create mode 100644 meta-openembedded/meta-oe/recipes-extended/redis/redis/0005-Mark-extern-definition-of-SDS_NOINIT-in-sds.h.patch delete mode 100644 meta-openembedded/meta-oe/recipes-extended/redis/redis/Fixed-stack-trace-generation-on-aarch64.patch create mode 100644 meta-openembedded/meta-oe/recipes-extended/redis/redis/GNU_SOURCE.patch delete mode 100644 meta-openembedded/meta-oe/recipes-extended/redis/redis/remove-atomics.patch delete mode 100644 meta-openembedded/meta-oe/recipes-extended/redis/redis_4.0.14.bb create mode 100644 meta-openembedded/meta-oe/recipes-extended/redis/redis_5.0.7.bb delete mode 100644 meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog_8.1910.0.bb create mode 100644 meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog_8.1911.0.bb delete mode 100644 meta-openembedded/meta-oe/recipes-extended/sigrok/libsigrok_0.5.1.bb create mode 100644 meta-openembedded/meta-oe/recipes-extended/sigrok/libsigrok_0.5.2.bb delete mode 100644 meta-openembedded/meta-oe/recipes-extended/sigrok/libsigrokdecode_0.5.2.bb create mode 100644 meta-openembedded/meta-oe/recipes-extended/sigrok/libsigrokdecode_0.5.3.bb delete mode 100644 meta-openembedded/meta-oe/recipes-extended/sigrok/sigrok-cli_0.7.0.bb create mode 100644 meta-openembedded/meta-oe/recipes-extended/sigrok/sigrok-cli_0.7.1.bb delete mode 100644 meta-openembedded/meta-oe/recipes-extended/smartmontools/smartmontools_7.0.bb create mode 100644 meta-openembedded/meta-oe/recipes-extended/smartmontools/smartmontools_7.1.bb create mode 100644 meta-openembedded/meta-oe/recipes-extended/upm/upm/0001-cmake-Disable-Wno-misleading-indentation-with-clang-.patch create mode 100644 meta-openembedded/meta-oe/recipes-extended/upm/upm/0001-initialize-local-variables-before-use.patch create mode 100644 meta-openembedded/meta-oe/recipes-extended/zstd/zstd_1.4.4.bb create mode 100644 meta-openembedded/meta-oe/recipes-graphics/directfb/directfb/0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch delete mode 100644 meta-openembedded/meta-oe/recipes-graphics/fvwm/fvwm_2.6.8.bb create mode 100644 meta-openembedded/meta-oe/recipes-graphics/fvwm/fvwm_2.6.9.bb create mode 100644 meta-openembedded/meta-oe/recipes-graphics/glm/glm/0001-Fix-Wimplicit-int-float-conversion-warnings-with-cla.patch create mode 100644 meta-openembedded/meta-oe/recipes-graphics/glm/glm/glm.pc.in create mode 100644 meta-openembedded/meta-oe/recipes-graphics/glm/glm/glmConfig.cmake.in create mode 100644 meta-openembedded/meta-oe/recipes-graphics/glm/glm/glmConfigVersion.cmake.in create mode 100644 meta-openembedded/meta-oe/recipes-graphics/glm/glm/glmTargets.cmake delete mode 100644 meta-openembedded/meta-oe/recipes-graphics/glm/glm_0.9.9.5.bb create mode 100644 meta-openembedded/meta-oe/recipes-graphics/glm/glm_0.9.9.6.bb delete mode 100644 meta-openembedded/meta-oe/recipes-graphics/gphoto2/gphoto2_2.5.14.bb create mode 100644 meta-openembedded/meta-oe/recipes-graphics/gphoto2/gphoto2_2.5.23.bb delete mode 100644 meta-openembedded/meta-oe/recipes-graphics/gphoto2/libgphoto2_2.5.17.bb create mode 100644 meta-openembedded/meta-oe/recipes-graphics/gphoto2/libgphoto2_2.5.23.bb create mode 100644 meta-openembedded/meta-oe/recipes-graphics/gtkperf/gtkperf/gettext.patch delete mode 100644 meta-openembedded/meta-oe/recipes-graphics/gtkwave/gtkwave_3.3.102.bb create mode 100644 meta-openembedded/meta-oe/recipes-graphics/gtkwave/gtkwave_3.3.103.bb delete mode 100644 meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl2-image_2.0.3.bb create mode 100644 meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl2-image_2.0.5.bb delete mode 100644 meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl2-mixer_2.0.2.bb create mode 100644 meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl2-mixer_2.0.4.bb delete mode 100644 meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl2-ttf/use.pkg-config.for.freetype2.patch delete mode 100644 meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl2-ttf_2.0.14.bb create mode 100644 meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl2-ttf_2.0.15.bb create mode 100644 meta-openembedded/meta-oe/recipes-graphics/renderdoc/renderdoc/0001-Remove-glslang-pool_allocator-setAllocator.patch delete mode 100644 meta-openembedded/meta-oe/recipes-graphics/renderdoc/renderdoc_1.4.bb create mode 100644 meta-openembedded/meta-oe/recipes-graphics/renderdoc/renderdoc_1.5.bb create mode 100644 meta-openembedded/meta-oe/recipes-graphics/spir/files/0001-Avoid-pessimizing-std-move-3124.patch create mode 100644 meta-openembedded/meta-oe/recipes-graphics/spir/files/0001-Respect-CMAKE_INSTALL_LIBDIR-in-installed-CMake-file.patch delete mode 100644 meta-openembedded/meta-oe/recipes-graphics/spir/files/0001-tools-lesspipe-Allow-generic-shell.patch create mode 100644 meta-openembedded/meta-oe/recipes-graphics/tigervnc/tigervnc_1.10.1.bb delete mode 100644 meta-openembedded/meta-oe/recipes-graphics/tigervnc/tigervnc_1.9.0.bb create mode 100644 meta-openembedded/meta-oe/recipes-graphics/tslib/tslib/0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch create mode 100644 meta-openembedded/meta-oe/recipes-graphics/x11vnc/files/0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch create mode 100644 meta-openembedded/meta-oe/recipes-graphics/xorg-app/xterm/0001-Add-configure-time-check-for-setsid.patch delete mode 100644 meta-openembedded/meta-oe/recipes-graphics/xorg-app/xterm_350.bb create mode 100644 meta-openembedded/meta-oe/recipes-graphics/xorg-app/xterm_351.bb delete mode 100644 meta-openembedded/meta-oe/recipes-graphics/yad/yad_4.1.bb create mode 100644 meta-openembedded/meta-oe/recipes-graphics/yad/yad_5.0.bb delete mode 100644 meta-openembedded/meta-oe/recipes-kernel/ipmiutil/ipmiutil_3.0.5.bb create mode 100644 meta-openembedded/meta-oe/recipes-kernel/ipmiutil/ipmiutil_3.1.5.bb create mode 100644 meta-openembedded/meta-oe/recipes-kernel/libpfm/libpfm4/0001-Include-poll.h-instead-of-sys-poll.h.patch create mode 100644 meta-openembedded/meta-oe/recipes-kernel/libpfm/libpfm4_4.10.1.bb create mode 100644 meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile/0003-build-Delete-libebl-from-required-libraries-during-l.patch delete mode 100644 meta-openembedded/meta-oe/recipes-multimedia/libburn/libburn_1.5.0.bb create mode 100644 meta-openembedded/meta-oe/recipes-multimedia/libburn/libburn_1.5.2.bb delete mode 100644 meta-openembedded/meta-oe/recipes-multimedia/libdvdread/libdvdread_6.0.1.bb create mode 100644 meta-openembedded/meta-oe/recipes-multimedia/libdvdread/libdvdread_6.0.2.bb delete mode 100644 meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0003-v4l2-ctl-Do-not-use-getsubopt.patch create mode 100644 meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0005-Define-error_t-and-include-sys-types.h.patch create mode 100644 meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0006-Fix-build-on-32bit-arches-with-64bit-time_t.patch create mode 100644 meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0007-Do-not-use-getsubopt.patch delete mode 100644 meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.16.5.bb create mode 100644 meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.18.0.bb delete mode 100644 meta-openembedded/meta-oe/recipes-navigation/proj/proj_4.9.3.bb create mode 100644 meta-openembedded/meta-oe/recipes-navigation/proj/proj_6.2.0.bb create mode 100644 meta-openembedded/meta-oe/recipes-printing/cups/cups-filters.inc create mode 100644 meta-openembedded/meta-oe/recipes-printing/cups/cups-filters_1.26.0.bb create mode 100644 meta-openembedded/meta-oe/recipes-printing/qpdf/qpdf_9.1.0.bb create mode 100644 meta-openembedded/meta-oe/recipes-support/avro/avro-c/0001-Allow-avro-C-to-be-built-on-musl-based-systems.patch delete mode 100644 meta-openembedded/meta-oe/recipes-support/avro/avro-c/0001-avro-c-Fix-build-with-clang-compiler.patch create mode 100644 meta-openembedded/meta-oe/recipes-support/avro/avro-c/0001-cmake-Use-GNUInstallDirs-instead-of-hard-coded-paths.patch delete mode 100644 meta-openembedded/meta-oe/recipes-support/avro/avro-c_1.8.1.bb create mode 100644 meta-openembedded/meta-oe/recipes-support/avro/avro-c_1.9.1.bb create mode 100644 meta-openembedded/meta-oe/recipes-support/cli11/files/0001-Use-GNUInstallDirs-instead-of-hard-coded-path.patch delete mode 100644 meta-openembedded/meta-oe/recipes-support/enchant/enchant2_2.2.3.bb create mode 100644 meta-openembedded/meta-oe/recipes-support/fltk/fltk/0004-Fix-build-error-when-enable-package-config-examples.patch create mode 100644 meta-openembedded/meta-oe/recipes-support/hddtemp/hddtemp/0001-configure.ac-Rename-to-configure.ac-and-use-external.patch delete mode 100644 meta-openembedded/meta-oe/recipes-support/hdf5/hdf5_1.8.19.bb create mode 100644 meta-openembedded/meta-oe/recipes-support/hdf5/hdf5_1.8.21.bb delete mode 100644 meta-openembedded/meta-oe/recipes-support/imagemagick/imagemagick_7.0.8.bb create mode 100644 meta-openembedded/meta-oe/recipes-support/imagemagick/imagemagick_7.0.9.bb delete mode 100644 meta-openembedded/meta-oe/recipes-support/libgit2/libgit2_0.28.3.bb create mode 100644 meta-openembedded/meta-oe/recipes-support/libgit2/libgit2_0.28.4.bb delete mode 100644 meta-openembedded/meta-oe/recipes-support/libmxml/libmxml_3.0.bb create mode 100644 meta-openembedded/meta-oe/recipes-support/libmxml/libmxml_3.1.bb create mode 100644 meta-openembedded/meta-oe/recipes-support/libnih/libnih-1.0.3/0001-Update-autotool-files-also-make-it-work-with-latest-.patch create mode 100644 meta-openembedded/meta-oe/recipes-support/librsync/librsync_2.2.1.bb delete mode 100644 meta-openembedded/meta-oe/recipes-support/onig/files/configure.patch delete mode 100644 meta-openembedded/meta-oe/recipes-support/onig/files/do-not-use-system-headers.patch create mode 100644 meta-openembedded/meta-oe/recipes-support/onig/onig/0001-build-don-t-link-against-host-system-libraries.patch create mode 100644 meta-openembedded/meta-oe/recipes-support/onig/onig/0001-build-enable-serial-tests-automake-option-for-ptest.patch create mode 100755 meta-openembedded/meta-oe/recipes-support/onig/onig/run-ptest delete mode 100644 meta-openembedded/meta-oe/recipes-support/onig/onig_5.9.6.bb create mode 100644 meta-openembedded/meta-oe/recipes-support/onig/onig_6.9.4.bb create mode 100644 meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-utilBacktrace-Ignore-Warray-bounds.patch create mode 100644 meta-openembedded/meta-oe/recipes-support/opencv/ade/0001-use-GNUInstallDirs-for-detecting-install-paths.patch create mode 100644 meta-openembedded/meta-oe/recipes-support/opencv/opencv/download.patch create mode 100644 meta-openembedded/meta-oe/recipes-support/opensc/opensc/0001-Fix-misleading-code-indentation.patch delete mode 100644 meta-openembedded/meta-oe/recipes-support/poppler/poppler_0.82.0.bb create mode 100644 meta-openembedded/meta-oe/recipes-support/poppler/poppler_0.84.0.bb create mode 100644 meta-openembedded/meta-oe/recipes-support/sharutils/sharutils/0001-Fix-build-with-recent-gettext.patch delete mode 100644 meta-openembedded/meta-oe/recipes-support/udisks/udisks2/non-gnu-libc.patch delete mode 100644 meta-openembedded/meta-oe/recipes-support/utouch/files/0001-include-sys-stat.h-for-fixing-build-issue-on-musl.patch delete mode 100644 meta-openembedded/meta-oe/recipes-support/utouch/files/remove-man-page-creation.patch create mode 100644 meta-openembedded/meta-oe/recipes-support/utouch/utouch-evemu/0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch create mode 100644 meta-openembedded/meta-oe/recipes-support/utouch/utouch-frame/0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch create mode 100644 meta-openembedded/meta-oe/recipes-support/utouch/utouch-frame/0001-include-sys-stat.h-for-fixing-build-issue-on-musl.patch create mode 100644 meta-openembedded/meta-oe/recipes-support/utouch/utouch-frame/remove-man-page-creation.patch create mode 100644 meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/export.patch delete mode 100644 meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_5.2.22.bb create mode 100644 meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_6.1.0.bb create mode 100644 meta-openembedded/meta-oe/recipes-support/websocketpp/websocketpp-0.8.1/0001-Correct-clang-compiler-flags.patch create mode 100644 meta-openembedded/meta-oe/recipes-support/websocketpp/websocketpp-0.8.1/0001-cmake-Use-GNUInstallDirs.patch create mode 100644 meta-openembedded/meta-oe/recipes-support/websocketpp/websocketpp-0.8.1/771.patch create mode 100644 meta-openembedded/meta-oe/recipes-support/websocketpp/websocketpp-0.8.1/842.patch create mode 100644 meta-openembedded/meta-oe/recipes-support/websocketpp/websocketpp-0.8.1/855.patch create mode 100644 meta-openembedded/meta-oe/recipes-support/websocketpp/websocketpp-0.8.1/857.patch delete mode 100644 meta-openembedded/meta-oe/recipes-support/xdelta/xdelta3_3.0.11.bb create mode 100644 meta-openembedded/meta-oe/recipes-support/xdelta/xdelta3_3.1.0.bb create mode 100644 meta-openembedded/meta-oe/recipes-support/xserver-xorg-cvt/xserver-xorg-cvt-native_1.20.5.bb delete mode 100644 meta-openembedded/meta-oe/recipes-support/zbar/zbar/0001-undefine-__va_arg_pack.patch delete mode 100644 meta-openembedded/meta-oe/recipes-support/zbar/zbar_0.10.bb create mode 100644 meta-openembedded/meta-oe/recipes-support/zbar/zbar_git.bb delete mode 100644 meta-openembedded/meta-oe/recipes-test/cppunit/cppunit_1.14.0.bb create mode 100644 meta-openembedded/meta-oe/recipes-test/cppunit/cppunit_1.15.1.bb create mode 100644 meta-openembedded/meta-oe/recipes-test/evtest/evtest/0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch create mode 100644 meta-openembedded/meta-perl/recipes-perl/adduser/files/0001-adduser-set-default-shell-with-sbin-nologin.patch create mode 100644 meta-openembedded/meta-perl/recipes-perl/libconfig/libconfig-autoconf-perl_0.318.bb create mode 100644 meta-openembedded/meta-perl/recipes-perl/libfile/libfile-slurper-perl_0.012.bb create mode 100644 meta-openembedded/meta-perl/recipes-perl/libstatgrab/libunix-statgrab_0.112.bb create mode 100644 meta-openembedded/meta-perl/recipes-perl/libtest/libtest-warnings-perl_0.028.bb delete mode 100644 meta-openembedded/meta-python/recipes-connectivity/python-pyconnman/python-pyconnman_0.1.0.bb create mode 100644 meta-openembedded/meta-python/recipes-connectivity/python-pyconnman/python-pyconnman_0.2.0.bb delete mode 100644 meta-openembedded/meta-python/recipes-connectivity/python-pyconnman/python3-pyconnman/0001-Import-local-modules-by-relative-path-for-python3-su.patch delete mode 100644 meta-openembedded/meta-python/recipes-connectivity/python-pyconnman/python3-pyconnman_0.1.0.bb create mode 100644 meta-openembedded/meta-python/recipes-connectivity/python-pyconnman/python3-pyconnman_0.2.0.bb delete mode 100644 meta-openembedded/meta-python/recipes-connectivity/python-thrift/python-thrift_0.11.0.bb create mode 100644 meta-openembedded/meta-python/recipes-connectivity/python-thrift/python-thrift_0.13.0.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python-alembic_1.3.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python-alembic_1.3.2.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python-asn1crypto_1.2.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python-asn1crypto_1.3.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python-backports-functools-lru-cache.inc delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python-beautifulsoup4_4.8.1.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python-beautifulsoup4_4.8.2.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python-bitarray_1.1.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python-bitarray_1.2.1.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python-booleanpy.inc delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python-cachetools_3.1.1.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python-cachetools_4.0.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python-certifi_2019.11.28.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python-certifi_2019.9.11.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python-cmd2_0.9.19.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python-cmd2_0.9.22.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python-dbus_1.2.12.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python-dbus_1.2.14.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python-engineio_3.10.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python-engineio_3.11.1.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python-evdev/0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python-html2text.inc delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python-jsonschema/0001-setup.cfg-add-non-GPL-format-option.patch delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python-jsonschema_3.1.1.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python-jsonschema_3.2.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python-license-expression.inc delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python-lxml_4.4.1.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python-lxml_4.4.2.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python-parse_1.12.1.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python-parse_1.14.0.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python-passlib_1.7.1.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python-passlib_1.7.2.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python-paste_3.2.2.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python-paste_3.2.3.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python-pbr_5.4.3.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python-pbr_5.4.4.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python-pexpect_4.6.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python-pexpect_4.7.0.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python-pluggy_0.13.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python-pluggy_0.13.1.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python-psutil_5.6.5.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python-psutil_5.6.7.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python-py_1.8.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python-py_1.8.1.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python-pyasn1_0.4.7.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python-pyasn1_0.4.8.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python-pycryptodome_3.9.3.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python-pycryptodome_3.9.4.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python-pymisp_2.4.117.2.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python-pymisp_2.4.119.1.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python-pymongo_3.10.0.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python-pymongo_3.9.0.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python-pyopenssl_19.0.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python-pyopenssl_19.1.0.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python-pyparsing_2.4.5.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python-pyparsing_2.4.6.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python-pyperf_1.6.1.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python-pyperf_1.7.0.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python-pytest_5.2.2.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python-pytest_5.3.2.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python-pyyaml_5.1.2.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python-pyyaml_5.2.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python-simplejson_3.16.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python-simplejson_3.17.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python-soupsieve.inc create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python-soupsieve_1.9.4.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python-sqlalchemy_1.1.17.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python-sqlalchemy_1.3.12.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python-twisted/0001-fix-MemoryReactor-import-in-test_runner-to-be-from-t.patch delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python-waitress_1.3.1.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python-waitress_1.4.1.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-alembic_1.3.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-alembic_1.3.2.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-asn1crypto_1.2.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-asn1crypto_1.3.0.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-astor/f820f3ff7ad8818475b6e107e63aa9a54252d2a9.patch create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-astor_0.8.1.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-astor_0.8.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-backports-functools-lru-cache_1.5.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-bandit_1.5.1.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-bandit_1.6.2.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-beautifulsoup4_4.8.1.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-beautifulsoup4_4.8.2.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-bitarray_1.1.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-bitarray_1.2.1.b create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-booleanpy_3.7.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-cachetools_3.1.1.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-cachetools_4.0.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-certifi_2019.11.28.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-certifi_2019.9.11.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-cmd2_0.9.19.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-cmd2_0.9.22.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-engineio_3.10.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-engineio_3.11.1.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-html2text_2019.8.11.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-jsonrpcserver_4.0.5.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-jsonrpcserver_4.1.2.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-jsonschema_3.1.1.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-jsonschema_3.2.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-license-expression_1.0.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-lxml_4.4.1.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-lxml_4.4.2.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-parse_1.12.1.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-parse_1.14.0.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-passlib_1.7.1.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-passlib_1.7.2.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pexpect_4.6.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pexpect_4.7.0.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pluggy_0.13.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pluggy_0.13.1.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-psutil_5.6.5.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-psutil_5.6.7.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-py_1.8.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-py_1.8.1.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pyasn1_0.4.7.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pyasn1_0.4.8.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pycryptodome_3.9.3.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pycryptodome_3.9.4.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.117.2.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.119.1.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pymongo_3.10.0.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pymongo_3.9.0.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pyopenssl_19.0.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pyopenssl_19.1.0.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pyparsing_2.4.5.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pyparsing_2.4.6.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pyperf_1.6.1.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pyperf_1.7.0.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pystemd_0.6.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pystemd_0.7.0.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pytest_5.2.2.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pytest_5.3.2.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pyyaml_5.1.2.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pyyaml_5.2.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-simplejson_3.16.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-simplejson_3.17.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-soupsieve_1.9.4.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_1.1.17.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_1.3.12.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-waitress_1.3.1.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-waitress_1.4.1.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-xmltodict_0.12.0.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-xxhash_1.4.2.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-xxhash_1.4.3.bb delete mode 100644 meta-openembedded/meta-python/recipes-extended/pywbem/python-pywbem_0.11.0.bb create mode 100644 meta-openembedded/meta-python/recipes-extended/pywbem/python-pywbem_0.15.0.bb delete mode 100644 meta-openembedded/meta-python/recipes-extended/pywbem/python3-pywbem_0.11.0.bb create mode 100644 meta-openembedded/meta-python/recipes-extended/pywbem/python3-pywbem_0.15.0.bb delete mode 100644 meta-openembedded/meta-webserver/recipes-php/phpmyadmin/phpmyadmin_4.9.1.bb create mode 100644 meta-openembedded/meta-webserver/recipes-php/phpmyadmin/phpmyadmin_4.9.2.bb delete mode 100644 meta-openembedded/meta-xfce/recipes-apps/catfish/catfish_1.4.10.bb create mode 100644 meta-openembedded/meta-xfce/recipes-apps/catfish/catfish_1.4.11.bb delete mode 100644 meta-openembedded/meta-xfce/recipes-apps/xfce4-panel-profiles/xfce4-panel-profiles_1.0.8.bb create mode 100644 meta-openembedded/meta-xfce/recipes-apps/xfce4-panel-profiles/xfce4-panel-profiles_1.0.9.bb delete mode 100644 meta-openembedded/meta-xfce/recipes-apps/xfce4-terminal/xfce4-terminal_0.8.8.bb create mode 100644 meta-openembedded/meta-xfce/recipes-apps/xfce4-terminal/xfce4-terminal_0.8.9.1.bb delete mode 100644 meta-openembedded/meta-xfce/recipes-devtools/glade/glade3/0001-Add-G_GNUC_PRINTF-on-functions-with-format-strings.patch delete mode 100644 meta-openembedded/meta-xfce/recipes-devtools/glade/glade3/0001-gnome-doc-utils.make-sysrooted-pkg-config.patch delete mode 100644 meta-openembedded/meta-xfce/recipes-devtools/glade/glade3/0002-fix-gcc-6-build.patch delete mode 100644 meta-openembedded/meta-xfce/recipes-devtools/glade/glade3_3.8.5.bb delete mode 100644 meta-openembedded/meta-xfce/recipes-panel-plugins/kbdleds/xfce4-kbdleds-plugin_0.0.6.bb create mode 100644 meta-openembedded/meta-xfce/recipes-xfce/exo/exo_0.12.11.bb delete mode 100644 meta-openembedded/meta-xfce/recipes-xfce/exo/exo_0.12.9.bb delete mode 100644 meta-openembedded/meta-xfce/recipes-xfce/gtk-xfce-engine/gtk-xfce-engine/glib-2.54-ftbfs.patch delete mode 100644 meta-openembedded/meta-xfce/recipes-xfce/gtk-xfce-engine/gtk-xfce-engine_3.2.0.bb create mode 100644 meta-openembedded/meta-xfce/recipes-xfce/thunar/thunar_1.8.10.bb delete mode 100644 meta-openembedded/meta-xfce/recipes-xfce/thunar/thunar_1.8.9.bb delete mode 100644 meta-openembedded/meta-xfce/recipes-xfce/tumbler/tumbler_0.2.7.bb create mode 100644 meta-openembedded/meta-xfce/recipes-xfce/tumbler/tumbler_0.2.8.bb diff --git a/meta-openembedded/meta-filesystems/recipes-filesystems/smbnetfs/smbnetfs/configure.patch b/meta-openembedded/meta-filesystems/recipes-filesystems/smbnetfs/smbnetfs/configure.patch index 55275669b1..f22b389b1c 100644 --- a/meta-openembedded/meta-filesystems/recipes-filesystems/smbnetfs/smbnetfs/configure.patch +++ b/meta-openembedded/meta-filesystems/recipes-filesystems/smbnetfs/smbnetfs/configure.patch @@ -1,9 +1,7 @@ -Index: git/configure.in -=================================================================== ---- git.orig/configure.ac 2014-06-18 16:06:16.040721349 +0000 -+++ git/configure.ac 2014-07-18 07:49:17.085552256 +0000 +--- a/configure.ac ++++ b/configure.ac @@ -1,5 +1,5 @@ - AC_INIT([SMBNetFS],[0.6.1]) + AC_INIT([SMBNetFS],[0.6.2]) -AM_INIT_AUTOMAKE +AM_INIT_AUTOMAKE([foreign]) AC_CONFIG_HEADERS([src/config.h]) diff --git a/meta-openembedded/meta-filesystems/recipes-filesystems/smbnetfs/smbnetfs_git.bb b/meta-openembedded/meta-filesystems/recipes-filesystems/smbnetfs/smbnetfs_git.bb index ddb2cc805f..d94603b404 100644 --- a/meta-openembedded/meta-filesystems/recipes-filesystems/smbnetfs/smbnetfs_git.bb +++ b/meta-openembedded/meta-filesystems/recipes-filesystems/smbnetfs/smbnetfs_git.bb @@ -11,15 +11,14 @@ HOMEPAGE ="http://sourceforge.net/projects/smbnetfs" DEPENDS = "fuse samba" DEPENDS_append_libc-musl = " libexecinfo" +inherit autotools pkgconfig features_check + # samba depends on libpam -inherit features_check REQUIRED_DISTRO_FEATURES = "pam" -inherit autotools gitpkgv pkgconfig - -PKGV = "${GITPKGVTAG}" +PV = "0.6.1+git${SRCPV}" -SRCREV = "bc6b94b015fdaf7c4dab56ccb996eecea8bc4373" +SRCREV = "a117eec8de7ed7249871da73dcc350283ce72069" SRC_URI = "git://smbnetfs.git.sourceforge.net/gitroot/smbnetfs/smbnetfs;branch=master \ file://configure.patch \ diff --git a/meta-openembedded/meta-filesystems/recipes-support/fuse/fuse3_3.8.0.bb b/meta-openembedded/meta-filesystems/recipes-support/fuse/fuse3_3.8.0.bb deleted file mode 100644 index b5bbe042aa..0000000000 --- a/meta-openembedded/meta-filesystems/recipes-support/fuse/fuse3_3.8.0.bb +++ /dev/null @@ -1,48 +0,0 @@ -SUMMARY = "Implementation of a fully functional filesystem in a userspace program" -DESCRIPTION = "FUSE (Filesystem in Userspace) is a simple interface for userspace \ - programs to export a virtual filesystem to the Linux kernel. FUSE \ - also aims to provide a secure method for non privileged users to \ - create and mount their own filesystem implementations. \ - " -HOMEPAGE = "https://github.com/libfuse/libfuse" -SECTION = "libs" -LICENSE = "GPLv2 & LGPLv2" -LIC_FILES_CHKSUM = "file://GPL2.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ - file://LGPL2.txt;md5=4fbd65380cdd255951079008b364516c \ - file://LICENSE;md5=a55c12a2d7d742ecb41ca9ae0a6ddc66" - -SRC_URI = "https://github.com/libfuse/libfuse/releases/download/fuse-${PV}/fuse-${PV}.tar.xz \ -" -SRC_URI[md5sum] = "f184004cd3724f579cd602fa5232681b" -SRC_URI[sha256sum] = "4a464f6df782a1dca1f7e85bf64ff6ece9547b389557aae4160371cb1c898d61" - -S = "${WORKDIR}/fuse-${PV}" - -UPSTREAM_CHECK_URI = "https://github.com/libfuse/libfuse/releases" -UPSTREAM_CHECK_REGEX = "fuse\-(?P3(\.\d+)+).tar.xz" - -inherit meson pkgconfig - -DEPENDS = "udev" - -PACKAGES =+ "fuse3-utils" - -RPROVIDES_${PN}-dbg += "fuse3-utils-dbg" - -RRECOMMENDS_${PN}_class-target = "kernel-module-fuse fuse3-utils" - -FILES_${PN} += "${libdir}/libfuse3.so.*" -FILES_${PN}-dev += "${libdir}/libfuse3*.la" - -EXTRA_OEMESON += " \ - -Dexamples=false \ -" - -# Forbid auto-renaming to libfuse3-utils -FILES_fuse3-utils = "${bindir} ${base_sbindir}" -DEBIAN_NOAUTONAME_fuse3-utils = "1" -DEBIAN_NOAUTONAME_${PN}-dbg = "1" - -do_install_append() { - rm -rf ${D}${base_prefix}/dev -} diff --git a/meta-openembedded/meta-filesystems/recipes-support/fuse/fuse3_3.9.0.bb b/meta-openembedded/meta-filesystems/recipes-support/fuse/fuse3_3.9.0.bb new file mode 100644 index 0000000000..19a3499a1b --- /dev/null +++ b/meta-openembedded/meta-filesystems/recipes-support/fuse/fuse3_3.9.0.bb @@ -0,0 +1,48 @@ +SUMMARY = "Implementation of a fully functional filesystem in a userspace program" +DESCRIPTION = "FUSE (Filesystem in Userspace) is a simple interface for userspace \ + programs to export a virtual filesystem to the Linux kernel. FUSE \ + also aims to provide a secure method for non privileged users to \ + create and mount their own filesystem implementations. \ + " +HOMEPAGE = "https://github.com/libfuse/libfuse" +SECTION = "libs" +LICENSE = "GPLv2 & LGPLv2" +LIC_FILES_CHKSUM = "file://GPL2.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ + file://LGPL2.txt;md5=4fbd65380cdd255951079008b364516c \ + file://LICENSE;md5=a55c12a2d7d742ecb41ca9ae0a6ddc66" + +SRC_URI = "https://github.com/libfuse/libfuse/releases/download/fuse-${PV}/fuse-${PV}.tar.xz \ +" +SRC_URI[md5sum] = "5dc2be21c0d06c7eace340996e8a37e2" +SRC_URI[sha256sum] = "fcb7079a1bb4e510377b427d1c5c37c349281d498e249ae0c2379b4cf50059c2" + +S = "${WORKDIR}/fuse-${PV}" + +UPSTREAM_CHECK_URI = "https://github.com/libfuse/libfuse/releases" +UPSTREAM_CHECK_REGEX = "fuse\-(?P3(\.\d+)+).tar.xz" + +inherit meson pkgconfig + +DEPENDS = "udev" + +PACKAGES =+ "fuse3-utils" + +RPROVIDES_${PN}-dbg += "fuse3-utils-dbg" + +RRECOMMENDS_${PN}_class-target = "kernel-module-fuse fuse3-utils" + +FILES_${PN} += "${libdir}/libfuse3.so.*" +FILES_${PN}-dev += "${libdir}/libfuse3*.la" + +EXTRA_OEMESON += " \ + -Dexamples=false \ +" + +# Forbid auto-renaming to libfuse3-utils +FILES_fuse3-utils = "${bindir} ${base_sbindir}" +DEBIAN_NOAUTONAME_fuse3-utils = "1" +DEBIAN_NOAUTONAME_${PN}-dbg = "1" + +do_install_append() { + rm -rf ${D}${base_prefix}/dev +} diff --git a/meta-openembedded/meta-filesystems/recipes-utils/ufs-tool/ufs-tool_git.bb b/meta-openembedded/meta-filesystems/recipes-utils/ufs-tool/ufs-tool_git.bb deleted file mode 100644 index 208ac3c58b..0000000000 --- a/meta-openembedded/meta-filesystems/recipes-utils/ufs-tool/ufs-tool_git.bb +++ /dev/null @@ -1,23 +0,0 @@ -SUMMARY = "Tool to access UFS (Universal Flash Storage) devices" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552" - -PV = "1.3+git${SRCPV}" - -BRANCH ?= "dev" - -SRCREV = "8b00e33003b57d7071943f63863fcf8cc48d5be9" - -SRC_URI = "git://github.com/westerndigitalcorporation/ufs-tool.git;protocol=git;branch=${BRANCH}" - -S = "${WORKDIR}/git" - -EXTRA_OEMAKE = "CROSS_COMPILE=${TARGET_PREFIX} CC="${CC}" CFLAGS="${CFLAGS}"" - -do_configure() { - sed -i -e "s|-static$||g" ${S}/Makefile -} -do_install() { - install -d ${D}${bindir}/ - install -c -m 755 ${S}/ufs-tool ${D}${bindir}/ -} diff --git a/meta-openembedded/meta-filesystems/recipes-utils/ufs-utils/ufs-utils/0001-Replace-u_intXX_t-with-kernel-typedefs.patch b/meta-openembedded/meta-filesystems/recipes-utils/ufs-utils/ufs-utils/0001-Replace-u_intXX_t-with-kernel-typedefs.patch new file mode 100644 index 0000000000..e69a3cf1ff --- /dev/null +++ b/meta-openembedded/meta-filesystems/recipes-utils/ufs-utils/ufs-utils/0001-Replace-u_intXX_t-with-kernel-typedefs.patch @@ -0,0 +1,54 @@ +From 6cf6f5b9c39dfd0d46f2069c3baeab92ae980367 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sun, 15 Dec 2019 00:58:13 -0800 +Subject: [PATCH] Replace u_intXX_t with kernel typedefs + +u_intXX_t requires including sys/types.h which might not work in kernel +code, if this header is used in a kernel module + +Fixes +| In file included from ufs.c:16: +| In file included from ./ufs.h:9: +| ./scsi_bsg_util.h:131:2: error: unknown type name 'u_int16_t'; did you mean 'uint16_t'? +| u_int16_t result; +| ^~~~~~~~~ + +Upstream-Status: Submitted [https://github.com/westerndigitalcorporation/ufs-utils/pull/23] + +Signed-off-by: Khem Raj +--- + scsi_bsg_util.h | 18 +++++++++--------- + 1 file changed, 9 insertions(+), 9 deletions(-) + +diff --git a/scsi_bsg_util.h b/scsi_bsg_util.h +index 3f8a482..497c3ae 100644 +--- a/scsi_bsg_util.h ++++ b/scsi_bsg_util.h +@@ -121,15 +121,15 @@ struct ufs_bsg_reply { + #endif /* SCSI_BSG_UFS_H.*/ + + struct rpmb_frame { +- u_int8_t stuff[196]; +- u_int8_t key_mac[32]; +- u_int8_t data[256]; +- u_int8_t nonce[16]; +- u_int32_t write_counter; +- u_int16_t addr; +- u_int16_t block_count; +- u_int16_t result; +- u_int16_t req_resp; ++ __u8 stuff[196]; ++ __u8 key_mac[32]; ++ __u8 data[256]; ++ __u8 nonce[16]; ++ __u32 write_counter; ++ __u16 addr; ++ __u16 block_count; ++ __u16 result; ++ __u16 req_resp; + }; + + #define BSG_REPLY_SZ (sizeof(struct ufs_bsg_reply)) +-- +2.24.1 + diff --git a/meta-openembedded/meta-filesystems/recipes-utils/ufs-utils/ufs-utils_git.bb b/meta-openembedded/meta-filesystems/recipes-utils/ufs-utils/ufs-utils_git.bb new file mode 100644 index 0000000000..5fdd089aef --- /dev/null +++ b/meta-openembedded/meta-filesystems/recipes-utils/ufs-utils/ufs-utils_git.bb @@ -0,0 +1,32 @@ +SUMMARY = "Tool to access UFS (Universal Flash Storage) devices" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552" + +PV = "1.6+git${SRCPV}" + +BRANCH ?= "dev" + +SRCREV = "a3cf93b66f4606a46354cf884d24aa966661f848" + +SRC_URI = "git://github.com/westerndigitalcorporation/ufs-utils.git;protocol=git;branch=${BRANCH} \ + file://0001-Replace-u_intXX_t-with-kernel-typedefs.patch \ +" + +S = "${WORKDIR}/git" + +EXTRA_OEMAKE = "CROSS_COMPILE=${TARGET_PREFIX} CC="${CC}" CFLAGS="${CFLAGS}"" + +CFLAGS_append_mipsarchn64 = " -D__SANE_USERSPACE_TYPES__ -D_GNU_SOURCE" + +do_configure() { + sed -i -e "s|-static$||g" ${S}/Makefile +} + +do_install() { + install -D -m 755 ${S}/ufs-utils ${D}${bindir}/ufs-utils +} + +PROVIDES += "ufs-tool" + +RPROVIDES_${PN} += "ufs-tool" + diff --git a/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/files/0001-build-Check-for-sync_file_range-libc-function.patch b/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/files/0001-build-Check-for-sync_file_range-libc-function.patch deleted file mode 100644 index b5071aea6a..0000000000 --- a/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/files/0001-build-Check-for-sync_file_range-libc-function.patch +++ /dev/null @@ -1,79 +0,0 @@ -From 1a4c9ebbb8731f2e3631d77b7eeaf3c373141d88 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Wed, 31 Jan 2018 21:28:53 -0800 -Subject: [PATCH] build: Check for sync_file_range libc function - -glibc 2.27 now has sync_file_range() - -Upstream-Status: Pending - -Signed-off-by: Khem Raj ---- - include/builddefs.in | 1 + - io/Makefile | 5 ++++- - io/io.h | 2 +- - io/sync_file_range.c | 3 +++ - 4 files changed, 9 insertions(+), 2 deletions(-) - -diff --git a/include/builddefs.in b/include/builddefs.in -index d38dc7e..706eca6 100644 ---- a/include/builddefs.in -+++ b/include/builddefs.in -@@ -94,6 +94,7 @@ HAVE_FIEMAP = @have_fiemap@ - HAVE_PREADV = @have_preadv@ - HAVE_PWRITEV2 = @have_pwritev2@ - HAVE_COPY_FILE_RANGE = @have_copy_file_range@ -+HAVE_NR_COPY_FILE_RANGE = @have_nr_copy_file_range@ - HAVE_SYNC_FILE_RANGE = @have_sync_file_range@ - HAVE_SYNCFS = @have_syncfs@ - HAVE_READDIR = @have_readdir@ -diff --git a/io/Makefile b/io/Makefile -index 484e2b5..2751dcb 100644 ---- a/io/Makefile -+++ b/io/Makefile -@@ -53,10 +53,13 @@ else - LSRCFILES += fiemap.c - endif - --ifeq ($(HAVE_COPY_FILE_RANGE),yes) -+ifeq ($(HAVE_NR_COPY_FILE_RANGE),yes) - CFILES += copy_file_range.c -+LCFLAGS += -DHAVE_NR_COPY_FILE_RANGE -+ifeq ($(HAVE_COPY_FILE_RANGE),yes) - LCFLAGS += -DHAVE_COPY_FILE_RANGE - endif -+endif - - ifeq ($(HAVE_SYNC_FILE_RANGE),yes) - CFILES += sync_file_range.c -diff --git a/io/io.h b/io/io.h -index 6469179..678b3d7 100644 ---- a/io/io.h -+++ b/io/io.h -@@ -146,7 +146,7 @@ extern void fiemap_init(void); - #define fiemap_init() do { } while (0) - #endif - --#ifdef HAVE_COPY_FILE_RANGE -+#if defined(HAVE_NR_COPY_FILE_RANGE) && !defined(HAVE_COPY_FILE_RANGE) - extern void copy_range_init(void); - #else - #define copy_range_init() do { } while (0) -diff --git a/io/sync_file_range.c b/io/sync_file_range.c -index 30bbc93..6c49d73 100644 ---- a/io/sync_file_range.c -+++ b/io/sync_file_range.c -@@ -4,6 +4,7 @@ - * All Rights Reserved. - */ - -+#ifndef HAVE_COPY_FILE_RANGE - #include "command.h" - #include "input.h" - #include "init.h" -@@ -92,3 +93,5 @@ sync_range_init(void) - - add_command(&sync_range_cmd); - } -+ -+#endif diff --git a/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_5.2.1.bb b/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_5.2.1.bb index 5ab1d028fc..34b3386405 100644 --- a/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_5.2.1.bb +++ b/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_5.2.1.bb @@ -8,7 +8,6 @@ LIC_FILES_CHKSUM = "file://LICENSES/GPL-2.0;md5=74274e8a218423e49eefdea80bc55038 DEPENDS = "util-linux util-linux-native" SRC_URI = "https://www.kernel.org/pub/linux/utils/fs/xfs/xfsprogs/${BP}.tar.xz \ file://remove_flags_from_build_flags.patch \ - file://0001-build-Check-for-sync_file_range-libc-function.patch \ file://0001-Check-for-MAP_SYNC-in-sys-mman.h.patch \ file://0002-include-include-xfs-linux.h-after-sys-mman.h.patch \ file://0001-support-usrmerge.patch \ diff --git a/meta-openembedded/meta-gnome/recipes-apps/pinpoint/pinpoint_git.bb b/meta-openembedded/meta-gnome/recipes-apps/pinpoint/pinpoint_git.bb deleted file mode 100644 index 6b2688f3e3..0000000000 --- a/meta-openembedded/meta-gnome/recipes-apps/pinpoint/pinpoint_git.bb +++ /dev/null @@ -1,24 +0,0 @@ -SUMMARY = "A simple presentation tool for hackers" -DESCRIPTION = "Pinpoint is a simple presentation tool that hopes to avoid audience death \ - by bullet point and instead encourage presentations containing beautiful \ - images and small amounts of concise text in slides." -SECTION = "x11/multimedia" -LICENSE = "LGPLv2.1" -LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24 \ - file://pinpoint.c;beginline=6;endline=17;md5=201d438283607da393fae6aca085454c" - -DEPENDS = "glib-2.0 gdk-pixbuf cogl-1.0 clutter-1.0 clutter-gst-3.0 librsvg" - -inherit autotools gettext pkgconfig features_check - -# cogl requires opengl -REQUIRED_DISTRO_FEATURES = "opengl" - -SRC_URI = "git://git.gnome.org/pinpoint" - -SRCREV = "80a056c57e819d0b75035424638813b0670830e1" -PV = "0.1.4+gitr${SRCPV}" - -S = "${WORKDIR}/git" - -RRECOMMENDS_${PN} = "gdk-pixbuf-loader-jpeg gdk-pixbuf-loader-png" diff --git a/meta-openembedded/meta-gnome/recipes-gnome/evince/evince_3.34.1.bb b/meta-openembedded/meta-gnome/recipes-gnome/evince/evince_3.34.1.bb deleted file mode 100644 index e30162c068..0000000000 --- a/meta-openembedded/meta-gnome/recipes-gnome/evince/evince_3.34.1.bb +++ /dev/null @@ -1,52 +0,0 @@ -SUMMARY = "Evince is a document viewer for document formats like pdf, ps, djvu" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=96f2f8d5ee576a2163977938ea36fa7b" -SECTION = "x11/office" -DEPENDS = " \ - gnome-common-native \ - yelp-tools-native \ - appstream-glib \ - gtk+3 \ - gspell \ - libsecret \ - poppler \ - gstreamer1.0-plugins-base \ - orc \ - adwaita-icon-theme \ - ${@bb.utils.contains('DISTRO_FEATURES','x11','gnome-desktop3','',d)} \ -" - -inherit gnomebase itstool gnome-help pkgconfig gsettings gobject-introspection upstream-version-is-even gettext features_check - -SRC_URI[archive.md5sum] = "77b38b625008f5940e9bd4b3d38e8cf8" -SRC_URI[archive.sha256sum] = "85e407cde396147b249120d816c7715fb6df191ca561cf65ff3554a5d67626df" -SRC_URI += " \ - file://0001-Add-format-attribute-to-_synctex_malloc.patch \ - file://0002-add-a-formatting-attribute-check.patch \ -" - -EXTRA_OECONF = " \ - --enable-thumbnailer \ - --without-systemduserunitdir \ -" - -do_compile_prepend() { - export GIR_EXTRA_LIBS_PATH="${B}/libdocument/.libs" -} - -PACKAGECONFIG ??= "" -PACKAGECONFIG[nautilus] = "--enable-nautilus,--disable-nautilus,nautilus" -PACKAGECONFIG[browser-plugin] = "--enable-browser-plugin,--disable-browser-plugin," - -RDEPENDS_${PN} += "glib-2.0-utils" -RRECOMMMENDS_${PN} = "adwaita-icon-theme" - -PACKAGES =+ "${PN}-nautilus-extension" -PACKAGES =+ "${PN}-browser-plugin" - -FILES_${PN} += "${datadir}/dbus-1 \ - ${datadir}/metainfo \ - ${datadir}/thumbnailers \ -" -FILES_${PN}-nautilus-extension = "${libdir}/nautilus/*/*so" -FILES_${PN}-browser-plugin = "${libdir}/mozilla/*/*so" diff --git a/meta-openembedded/meta-gnome/recipes-gnome/evince/evince_3.34.2.bb b/meta-openembedded/meta-gnome/recipes-gnome/evince/evince_3.34.2.bb new file mode 100644 index 0000000000..8f669c9db2 --- /dev/null +++ b/meta-openembedded/meta-gnome/recipes-gnome/evince/evince_3.34.2.bb @@ -0,0 +1,52 @@ +SUMMARY = "Evince is a document viewer for document formats like pdf, ps, djvu" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=96f2f8d5ee576a2163977938ea36fa7b" +SECTION = "x11/office" +DEPENDS = " \ + gnome-common-native \ + yelp-tools-native \ + appstream-glib \ + gtk+3 \ + gspell \ + libsecret \ + poppler \ + gstreamer1.0-plugins-base \ + orc \ + adwaita-icon-theme \ + ${@bb.utils.contains('DISTRO_FEATURES','x11','gnome-desktop3','',d)} \ +" + +inherit gnomebase itstool gnome-help pkgconfig gsettings gobject-introspection upstream-version-is-even gettext features_check + +SRC_URI[archive.md5sum] = "9e9e82fa8f6045ad7817157d9335d185" +SRC_URI[archive.sha256sum] = "3cc0955f11204e3a2db1c7ab99b866692749592257485b87304134ad69da0617" +SRC_URI += " \ + file://0001-Add-format-attribute-to-_synctex_malloc.patch \ + file://0002-add-a-formatting-attribute-check.patch \ +" + +EXTRA_OECONF = " \ + --enable-thumbnailer \ + --without-systemduserunitdir \ +" + +do_compile_prepend() { + export GIR_EXTRA_LIBS_PATH="${B}/libdocument/.libs" +} + +PACKAGECONFIG ??= "" +PACKAGECONFIG[nautilus] = "--enable-nautilus,--disable-nautilus,nautilus" +PACKAGECONFIG[browser-plugin] = "--enable-browser-plugin,--disable-browser-plugin," + +RDEPENDS_${PN} += "glib-2.0-utils" +RRECOMMMENDS_${PN} = "adwaita-icon-theme" + +PACKAGES =+ "${PN}-nautilus-extension" +PACKAGES =+ "${PN}-browser-plugin" + +FILES_${PN} += "${datadir}/dbus-1 \ + ${datadir}/metainfo \ + ${datadir}/thumbnailers \ +" +FILES_${PN}-nautilus-extension = "${libdir}/nautilus/*/*so" +FILES_${PN}-browser-plugin = "${libdir}/mozilla/*/*so" diff --git a/meta-openembedded/meta-gnome/recipes-gnome/evolution-data-server/evolution-data-server.inc b/meta-openembedded/meta-gnome/recipes-gnome/evolution-data-server/evolution-data-server.inc index 0893f8e925..1eae3df354 100644 --- a/meta-openembedded/meta-gnome/recipes-gnome/evolution-data-server/evolution-data-server.inc +++ b/meta-openembedded/meta-gnome/recipes-gnome/evolution-data-server/evolution-data-server.inc @@ -9,7 +9,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=6a6e689d19255cf0557f3fe7d7068212 \ inherit gnomebase upstream-version-is-even -SRC_URI[archive.md5sum] = "d1701875bbac80d6d62e9acfc6c43bea" -SRC_URI[archive.sha256sum] = "6ff56ba04cb639e627fe9d6e0ada106a10cadd68a0d53b8ec72b4e285df53abe" -PV = "3.34.1" +SRC_URI[archive.md5sum] = "687d6d7242d60a8a3a3322eee6a45dca" +SRC_URI[archive.sha256sum] = "d2dfac5ca76e05e872fbb06a57cae0dace64818c4dce1e906b0396888270c3a9" +PV = "3.34.3" diff --git a/meta-openembedded/meta-gnome/recipes-gnome/file-roller/file-roller_3.32.2.bb b/meta-openembedded/meta-gnome/recipes-gnome/file-roller/file-roller_3.32.2.bb deleted file mode 100644 index 7dcf3e9ec7..0000000000 --- a/meta-openembedded/meta-gnome/recipes-gnome/file-roller/file-roller_3.32.2.bb +++ /dev/null @@ -1,26 +0,0 @@ -SUMMARY = "An archive manager utility for the GNOME Environment" -LICENSE="GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552" - -GNOMEBASEBUILDCLASS = "meson" - -DEPENDS = " \ - glib-2.0-native \ - gtk+3 \ - nautilus \ - libarchive \ - libnotify \ -" - -inherit gnomebase gsettings itstool gnome-help gettext upstream-version-is-even - -SRC_URI[archive.md5sum] = "e79715bb2400df83c0f67cc0cce2b655" -SRC_URI[archive.sha256sum] = "c60a79e0baf74cb1c09a1c8f5ffe0d6e311227ca14ecc5b1156beb3715341a71" - -PACKAGECONFIG[nautilus] = "-Dnautilus-actions=true,-Dnautilus-actions=false,nautilus" - -FILES_${PN} += " \ - ${datadir}/dbus-1 \ - ${datadir}/metainfo \ - ${libdir}/nautilus \ -" diff --git a/meta-openembedded/meta-gnome/recipes-gnome/file-roller/file-roller_3.32.3.bb b/meta-openembedded/meta-gnome/recipes-gnome/file-roller/file-roller_3.32.3.bb new file mode 100644 index 0000000000..3ab9668ecb --- /dev/null +++ b/meta-openembedded/meta-gnome/recipes-gnome/file-roller/file-roller_3.32.3.bb @@ -0,0 +1,25 @@ +SUMMARY = "An archive manager utility for the GNOME Environment" +LICENSE="GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552" + +GNOMEBASEBUILDCLASS = "meson" + +DEPENDS = " \ + glib-2.0-native \ + gtk+3 \ + libarchive \ + libnotify \ +" + +inherit gnomebase gsettings itstool gnome-help gettext upstream-version-is-even + +SRC_URI[archive.md5sum] = "5e098bb254d34f48a9b5761b468f4240" +SRC_URI[archive.sha256sum] = "be111fb877dc1eb487ec5d6e2b72ba5defe1ab8033a6a6b9b9044a2a7787e22a" + +PACKAGECONFIG[nautilus] = "-Dnautilus-actions=true,-Dnautilus-actions=false,nautilus" + +FILES_${PN} += " \ + ${datadir}/dbus-1 \ + ${datadir}/metainfo \ + ${libdir}/nautilus \ +" diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gdm/gdm/0001-Ensure-pam-file-installation.patch b/meta-openembedded/meta-gnome/recipes-gnome/gdm/gdm/0001-Ensure-pam-file-installation.patch new file mode 100644 index 0000000000..6362d5ee6a --- /dev/null +++ b/meta-openembedded/meta-gnome/recipes-gnome/gdm/gdm/0001-Ensure-pam-file-installation.patch @@ -0,0 +1,48 @@ +From f7bba53adf8a26f900442a05bb98326747c392b4 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andreas=20M=C3=BCller?= +Date: Tue, 3 Dec 2019 00:24:27 +0100 +Subject: [PATCH] Ensure pam-file installation +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +All the detection magic does not work for us + +Upstream-Status: Inappropriate [OE-specific] + +Signed-off-by: Andreas Müller +--- + data/Makefile.am | 12 +----------- + 1 file changed, 1 insertion(+), 11 deletions(-) + +diff --git a/data/Makefile.am b/data/Makefile.am +index bda9160..dbc3ea3 100644 +--- a/data/Makefile.am ++++ b/data/Makefile.am +@@ -296,22 +296,12 @@ endif + chown root:root $(DESTDIR)$(logdir) || : ; \ + fi + +- system=`uname`; \ +- if test -f /usr/include/security/pam_appl.h; then \ +- if test '!' -d $(DESTDIR)$(PAM_PREFIX)/pam.d; then \ + $(mkinstalldirs) $(DESTDIR)$(PAM_PREFIX)/pam.d; \ + chmod 755 $(DESTDIR)$(PAM_PREFIX)/pam.d; \ +- fi; \ +- if test $$system = Linux; then \ + for pamfile in $(pam_files); do \ + bn=$$(basename $$pamfile .pam); \ + $(INSTALL_DATA) $(srcdir)/$$pamfile $(DESTDIR)$(PAM_PREFIX)/pam.d/$$bn; \ +- done; \ +- fi; \ +- if test $$system = SunOS; then \ +- echo "Please add PAM authentication for gdm, gdm-autologin and gdm-welcome in $(PAM_PREFIX)/pam.conf!"; \ +- fi; \ +- fi ++ done; + + if test '!' -d $(DESTDIR)$(xauthdir); then \ + $(mkinstalldirs) $(DESTDIR)$(xauthdir); \ +-- +2.21.0 + diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gdm/gdm_3.34.1.bb b/meta-openembedded/meta-gnome/recipes-gnome/gdm/gdm_3.34.1.bb new file mode 100644 index 0000000000..a47bf6fcf8 --- /dev/null +++ b/meta-openembedded/meta-gnome/recipes-gnome/gdm/gdm_3.34.1.bb @@ -0,0 +1,56 @@ +SUMMARY = "GNOME Display Manager" +LICENSE="GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +DEPENDS = " \ + dconf-native \ + gtk+3 \ + accountsservice \ + libcanberra \ + libpam \ +" + +REQUIRED_DISTRO_FEATURES = "x11 systemd pam" + +inherit gnomebase gsettings gobject-introspection gettext systemd useradd upstream-version-is-even features_check + +SRC_URI[archive.md5sum] = "65d1fd4bb85e8b133d1cbffb80ecf62e" +SRC_URI[archive.sha256sum] = "e85df657aa8d9361af4fb122014d8f123a93bfe45a7662fba2b373d839dbd8d3" +SRC_URI += "file://0001-Ensure-pam-file-installation.patch" + +EXTRA_OECONF = " \ + --without-plymouth \ + --with-default-pam-config=openembedded \ + --with-pam-mod-dir=${base_libdir}/security \ +" + +do_install_append() { + rm -rf ${D}/run ${D}${localstatedir}/run +} + +USERADD_PACKAGES = "${PN}" +USERADD_PARAM_${PN} = "--system --no-create-home --home ${localstatedir}/lib/gdm --user-group gdm" + +SYSTEMD_SERVICE_${PN} = "${BPN}.service" + +# Some gnome components - as gnome-panel and gnome-shell (!!) - require gdm +# components. To allow gnome-images using different display-manager, split them +# out into a seperate package. +PACKAGE_BEFORE_PN = "${PN}-base" +FILES_${PN}-base = " \ + ${datadir}/glib-2.0 \ + ${datadir}/gnome-session \ + ${libdir}/lib*${SOLIBS} \ + ${libdir}/girepository-1.0 \ +" + +CONFFILES_${PN} += "${sysconfdir}/gdm/custom.conf" +FILES_${PN} += " \ + ${datadir}/dconf \ + ${base_libdir}/security/pam_gdm.so \ + ${localstatedir} \ + ${systemd_unitdir} \ +" + +RDEPENDS_${PN} += "${PN}-base" + diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gedit/gedit_3.34.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/gedit/gedit_3.34.0.bb deleted file mode 100644 index e9cdd8a6ea..0000000000 --- a/meta-openembedded/meta-gnome/recipes-gnome/gedit/gedit_3.34.0.bb +++ /dev/null @@ -1,44 +0,0 @@ -SUMMARY = "GNOME editor" -SECTION = "x11/gnome" -LICENSE = "GPLv2+" -LIC_FILES_CHKSUM = "file://COPYING;md5=75859989545e37968a99b631ef42722e" - -GNOMEBASEBUILDCLASS = "meson" - -DEPENDS = " \ - yelp-tools-native \ - libxml2-native \ - gdk-pixbuf-native \ - iso-codes \ - gtk+3 \ - gsettings-desktop-schemas \ - gtksourceview4 \ - libpeas \ - libsoup-2.4 \ - gspell \ - gtksourceview4 \ -" - -inherit gnomebase gsettings itstool gnome-help gobject-introspection gtk-doc vala gettext features_check upstream-version-is-even - -REQUIRED_DISTRO_FEATURES = "x11" - -SRC_URI[archive.md5sum] = "ec6632fa73d9ea6c817e74a98d16eab6" -SRC_URI[archive.sha256sum] = "3e95e51d3ccb495a9ac95aa3ed7fe8fe37ccde7c678f37fa3cea684bc71d507e" - -GTKDOC_MESON_OPTION = "documentation" - -PACKAGECONFIG ??= "gvfs" -PACKAGECONFIG[gvfs] = "-Denable-gvfs-metadata=yes,-Denable-gvfs-metadata=no,,gvfs" - -PACKAGES += "${PN}-python" - -FILES_${PN} += " \ - ${datadir}/dbus-1 \ - ${datadir}/metainfo \ -" - -FILES_${PN}-python += " \ - ${PYTHON_SITEPACKAGES_DIR} \ -" - diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gedit/gedit_3.34.1.bb b/meta-openembedded/meta-gnome/recipes-gnome/gedit/gedit_3.34.1.bb new file mode 100644 index 0000000000..20806bd59d --- /dev/null +++ b/meta-openembedded/meta-gnome/recipes-gnome/gedit/gedit_3.34.1.bb @@ -0,0 +1,44 @@ +SUMMARY = "GNOME editor" +SECTION = "x11/gnome" +LICENSE = "GPLv2+" +LIC_FILES_CHKSUM = "file://COPYING;md5=75859989545e37968a99b631ef42722e" + +GNOMEBASEBUILDCLASS = "meson" + +DEPENDS = " \ + yelp-tools-native \ + libxml2-native \ + gdk-pixbuf-native \ + iso-codes \ + gtk+3 \ + gsettings-desktop-schemas \ + gtksourceview4 \ + libpeas \ + libsoup-2.4 \ + gspell \ + gtksourceview4 \ +" + +inherit gnomebase gsettings itstool gnome-help gobject-introspection gtk-doc vala gettext features_check upstream-version-is-even + +REQUIRED_DISTRO_FEATURES = "x11" + +SRC_URI[archive.md5sum] = "4bca1d0a13db186cd84619b4bff42238" +SRC_URI[archive.sha256sum] = "ebf9ef4e19831699d26bb93ce029edfed65416d7c11147835fc370d73428d5c6" + +GTKDOC_MESON_OPTION = "documentation" + +PACKAGECONFIG ??= "gvfs" +PACKAGECONFIG[gvfs] = "-Denable-gvfs-metadata=yes,-Denable-gvfs-metadata=no,,gvfs" + +PACKAGES += "${PN}-python" + +FILES_${PN} += " \ + ${datadir}/dbus-1 \ + ${datadir}/metainfo \ +" + +FILES_${PN}-python += " \ + ${PYTHON_SITEPACKAGES_DIR} \ +" + diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gjs/gjs/0001-Disable-tests-on-host.patch b/meta-openembedded/meta-gnome/recipes-gnome/gjs/gjs/0001-Disable-tests-on-host.patch new file mode 100644 index 0000000000..0953214fbf --- /dev/null +++ b/meta-openembedded/meta-gnome/recipes-gnome/gjs/gjs/0001-Disable-tests-on-host.patch @@ -0,0 +1,33 @@ +From 95379de2132786f855e8caec1fd5869225774d02 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andreas=20M=C3=BCller?= +Date: Sat, 18 May 2019 01:14:07 +0200 +Subject: [PATCH] Disable tests on host +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Upstream-Status: Inappropriate [OE-specific] + +Signed-off-by: Andreas Müller +--- + configure.ac | 4 +--- + 1 file changed, 1 insertion(+), 3 deletions(-) + +diff --git a/configure.ac b/configure.ac +index fa4e136..056e96e 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -335,9 +335,7 @@ AS_IF([test "x$with_dbus_tests" != "xno"], [ + ]) + AM_CONDITIONAL([DBUS_TESTS], [test "x$with_dbus_tests" != "xno"]) + +-AC_MSG_CHECKING([for a suitable UTF-8 locale to run the tests in]) +-TESTS_LOCALE=$($srcdir/build/choose-tests-locale.sh) +-AC_MSG_RESULT([$TESTS_LOCALE]) ++TESTS_LOCALE=C + AC_SUBST([TESTS_LOCALE]) + + AC_SUBST([gjsjsdir], [\${datadir}/gjs-1.0]) +-- +2.20.1 + diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gjs/gjs_1.58.4.bb b/meta-openembedded/meta-gnome/recipes-gnome/gjs/gjs_1.58.4.bb new file mode 100644 index 0000000000..eb7d323a6f --- /dev/null +++ b/meta-openembedded/meta-gnome/recipes-gnome/gjs/gjs_1.58.4.bb @@ -0,0 +1,37 @@ +SUMMARY = "Javascript bindings for GNOME" +LICENSE = "MIT & LGPLv2+" +LIC_FILES_CHKSUM = " \ + file://COPYING;md5=beb29cf17fabe736f0639b09ee6e76fa \ + file://COPYING.LGPL;md5=3bf50002aefd002f49e7bb854063f7e7 \ +" + +GNOMEBASEBUILDCLASS = "autotools" + +DEPENDS = "mozjs gtk+3" + +inherit gnomebase gsettings gobject-introspection vala gettext features_check upstream-version-is-even + +SRC_URI[archive.md5sum] = "385f4baa266991a08d3e425bc69ee962" +SRC_URI[archive.sha256sum] = "261a3f666c771d7744965fe71b804fc2c3a3d46a8e3e8d4f7ed5ef97967ebd5f" +SRC_URI += "file://0001-Disable-tests-on-host.patch" + +# gobject-introspection is mandatory and cannot be configured +REQUIRED_DISTRO_FEATURES = "gobject-introspection-data" +UNKNOWN_CONFIGURE_WHITELIST_append = " --enable-introspection --disable-introspection" + +EXTRA_OECONF = " \ + --without-dbus-tests \ + --disable-installed-tests \ +" + +do_configure_prepend() { + # make configure find gobject-introspection test code. Although we set + # --disable-installed-tests gjs builds them + sed -i 's|:$GI_DATADIR|:${STAGING_DIR_NATIVE}$GI_DATADIR|g' ${S}/configure.ac +} + +FILES_${PN} += "${datadir}/gjs-1.0/lsan" + +PACKAGES =+ "${PN}-valgrind" +FILES_${PN}-valgrind = "${datadir}/gjs-1.0/valgrind" +RSEPENDS_${PN}-valgrind += "valgrind" diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-autoar/gnome-autoar_0.2.3.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-autoar/gnome-autoar_0.2.3.bb deleted file mode 100644 index 16a9213cb7..0000000000 --- a/meta-openembedded/meta-gnome/recipes-gnome/gnome-autoar/gnome-autoar_0.2.3.bb +++ /dev/null @@ -1,18 +0,0 @@ -SUMMARY = "GNOME archive library" -LICENSE = "LGPLv2.1" -LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" - -DEPENDS = " \ - gnome-common-native \ - gtk+3 \ - libarchive \ -" - -inherit gnomebase gobject-introspection gtk-doc vala - -SRC_URI[archive.md5sum] = "39b13fb2fc7752fa3b80616244dc4ef8" -SRC_URI[archive.sha256sum] = "5de9db0db028cd6cab7c2fec46ba90965474ecf9cd68cfd681a6488cf1fb240a" - -do_compile_prepend() { - export GIR_EXTRA_LIBS_PATH="${B}/gnome-autoar/.libs" -} diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-autoar/gnome-autoar_0.2.4.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-autoar/gnome-autoar_0.2.4.bb new file mode 100644 index 0000000000..afeda3e931 --- /dev/null +++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-autoar/gnome-autoar_0.2.4.bb @@ -0,0 +1,17 @@ +SUMMARY = "GNOME archive library" +LICENSE = "LGPLv2.1" +LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" + +DEPENDS = " \ + gtk+3 \ + libarchive \ +" + +inherit gnomebase gobject-introspection gtk-doc vala + +SRC_URI[archive.md5sum] = "36ab263f477eeee3c95c9381766eb3c2" +SRC_URI[archive.sha256sum] = "0a34c377f8841abbf4c29bc848b301fbd8e4e20c03d7318c777c58432033657a" + +do_compile_prepend() { + export GIR_EXTRA_LIBS_PATH="${B}/gnome-autoar/.libs" +} diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-backgrounds/gnome-backgrounds_3.34.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-backgrounds/gnome-backgrounds_3.34.0.bb new file mode 100644 index 0000000000..2350a7df3c --- /dev/null +++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-backgrounds/gnome-backgrounds_3.34.0.bb @@ -0,0 +1,17 @@ +SUMMARY = "GNOME wallpapers" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=75859989545e37968a99b631ef42722e" + +SECTION = "x11/gnome" + +GNOMEBASEBUILDCLASS = "meson" + +inherit gnomebase allarch gettext upstream-version-is-even allarch + +SRC_URI[archive.md5sum] = "f350804df16cdc9ef5306087157cf31b" +SRC_URI[archive.sha256sum] = "c2b7fb6db98c05e205053daaa7f58c7f06ff91b45c4006052af17c578ae7b47f" + +FILES_${PN} += " \ + ${datadir}/backgrounds \ + ${datadir}/gnome-background-properties \ +" diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-calculator/gnome-calculator_3.34.1.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-calculator/gnome-calculator_3.34.1.bb new file mode 100644 index 0000000000..b09e34d4c6 --- /dev/null +++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-calculator/gnome-calculator_3.34.1.bb @@ -0,0 +1,33 @@ +SUMMARY = "GNOME calculator" +LICENSE = "GPLv3" +LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" + +SECTION = "x11/gnome" + +DEPENDS = " \ + yelp-tools-native \ + gtk+3 \ + libsoup-2.4 \ + libgee \ + libmpc \ + gtksourceview4 \ +" + +GIR_MESON_OPTION = 'disable-introspection' +GIR_MESON_ENABLE_FLAG = 'false' +GIR_MESON_DISABLE_FLAG = 'true' + +GNOMEBASEBUILDCLASS = "meson" + +inherit gnomebase gobject-introspection gnome-help vala gtk-icon-cache gettext features_check upstream-version-is-even + +REQUIRED_DISTRO_FEATURES = "x11" + +SRC_URI[archive.md5sum] = "9157b93a3f41fdad80df26c062b95c7b" +SRC_URI[archive.sha256sum] = "4d5348c2fbf01d040a2cb5e84de812c503911e1ea498a83e7eefff52c4417051" + +FILES_${PN} += " \ + ${datadir}/dbus-1 \ + ${datadir}/metainfo \ + ${datadir}/gnome-shell \ +" diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-control-center/gnome-control-center/0001-Add-meson-option-to-pass-sysroot.patch b/meta-openembedded/meta-gnome/recipes-gnome/gnome-control-center/gnome-control-center/0001-Add-meson-option-to-pass-sysroot.patch new file mode 100644 index 0000000000..7f82a152c7 --- /dev/null +++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-control-center/gnome-control-center/0001-Add-meson-option-to-pass-sysroot.patch @@ -0,0 +1,45 @@ +From ba8aebe1259ae3f7f5a4827e5a47bb95c568b218 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andreas=20M=C3=BCller?= +Date: Tue, 21 May 2019 16:07:46 +0200 +Subject: [PATCH] Add meson option to pass sysroot +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +We need to pass this to meson to help it finding gdesktop-enums.h: + +| panels/background/meson.build:38:0: ERROR: File /usr/include/gsettings-desktop-schemas/gdesktop-enums.h does not exist. + +Upstream-Status: Inappropriate [OE specific] + +Signed-off-by: Andreas Müller +--- + meson_options.txt | 1 + + panels/background/meson.build | 2 +- + 2 files changed, 2 insertions(+), 1 deletion(-) + +diff --git a/meson_options.txt b/meson_options.txt +index a347168..2cd8121 100644 +--- a/meson_options.txt ++++ b/meson_options.txt +@@ -1,3 +1,4 @@ ++option('oe_sysroot', type: 'string', value: '', description: 'Directory for OE-sysroot') + option('cheese', type: 'boolean', value: true, description: 'build with cheese webcam support') + option('documentation', type: 'boolean', value: false, description: 'build documentation') + option('gnome_session_libexecdir', type: 'string', value: '', description: 'Directory for gnome-session\'s libexecdir') +diff --git a/panels/background/meson.build b/panels/background/meson.build +index bb34b69..f22722e 100644 +--- a/panels/background/meson.build ++++ b/panels/background/meson.build +@@ -36,7 +36,7 @@ common_sources = [] + + enums = 'gdesktop-enums-types' + enums_header = files( +- gsettings_desktop_dep.get_pkgconfig_variable('prefix') + '/include/gsettings-desktop-schemas/gdesktop-enums.h', ++ get_option('oe_sysroot') + gsettings_desktop_dep.get_pkgconfig_variable('prefix') + '/include/gsettings-desktop-schemas/gdesktop-enums.h', + 'cc-background-item.h' + ) + +-- +2.20.1 + diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-control-center/gnome-control-center_3.34.2.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-control-center/gnome-control-center_3.34.2.bb new file mode 100644 index 0000000000..9e6e92aece --- /dev/null +++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-control-center/gnome-control-center_3.34.2.bb @@ -0,0 +1,55 @@ +SUMMARY = "GNOME Settings" +DESCRIPTION = "GNOME Settings is GNOME's main interface for configuration of various aspects of your desktop" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=75859989545e37968a99b631ef42722e" + +GNOMEBASEBUILDCLASS = "meson" + +inherit gnomebase gsettings gettext vala upstream-version-is-even bash-completion features_check + +DEPENDS = " \ + gdk-pixbuf-native \ + colord-gtk \ + udisks2 \ + upower \ + polkit \ + pulseaudio \ + accountsservice \ + samba \ + gsettings-desktop-schemas \ + gnome-settings-daemon \ + gnome-desktop3 \ + gnome-online-accounts \ + network-manager-applet \ + gnome-bluetooth \ + grilo \ + libgtop \ + gsound \ + libpwquality \ +" + +REQUIRED_DISTRO_FEATURES += "polkit pulseaudio systemd x11" + +SRC_URI[archive.md5sum] = "a960a7d3e9f1c4f341bae42da7fbf23a" +SRC_URI[archive.sha256sum] = "a85ffaf5885a8c70c019013d73792bf4cc75f643e97f6e8b52f7fbba9f7a9114" +SRC_URI += "file://0001-Add-meson-option-to-pass-sysroot.patch" + +PACKAGECONFIG ??= "ibus ${@bb.utils.filter('DISTRO_FEATURES', 'wayland', d)}" +PACKAGECONFIG[ibus] = "-Dibus=true, -Dibus=false, ibus" +PACKAGECONFIG[wayland] = "-Dwayland=true, -Dwayland=false, wayland" + +# Once we have (lib)cheese we can make cheese a PACKAGECONFIG +EXTRA_OEMESON = " \ + -Doe_sysroot=${STAGING_DIR_HOST} \ + -Dcheese=false \ +" + +FILES_${PN} += " \ + ${datadir}/dbus-1 \ + ${datadir}/gnome-shell \ + ${datadir}/metainfo \ +" + +FILES_${PN}-dev += "${datadir}/gettext" + +RDEPENDS_${PN} += "gsettings-desktop-schemas" diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-desktop/gnome-desktop/0001-meson.build-Disable-libseccomp-for-all-archs.patch b/meta-openembedded/meta-gnome/recipes-gnome/gnome-desktop/gnome-desktop/0001-meson.build-Disable-libseccomp-for-all-archs.patch index e93d5b674c..4b3894f055 100644 --- a/meta-openembedded/meta-gnome/recipes-gnome/gnome-desktop/gnome-desktop/0001-meson.build-Disable-libseccomp-for-all-archs.patch +++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-desktop/gnome-desktop/0001-meson.build-Disable-libseccomp-for-all-archs.patch @@ -18,14 +18,14 @@ Signed-off-by: Andreas Müller 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/meson.build b/meson.build -index 83407b4..80eab84 100644 +index 2e7160d..f83677d 100644 --- a/meson.build +++ b/meson.build -@@ -53,12 +53,7 @@ udev_dep = dependency('libudev', required: get_option('udev')) +@@ -58,12 +58,7 @@ udev_dep = dependency('libudev', required: get_option('udev')) host_os = host_machine.system() host_cpu = host_machine.cpu() supported_os = ['linux'] --unsupported_cpus = ['alpha', 'ia64', 'm68k', 'sh4', 'sparc', 'sparc64'] +-unsupported_cpus = ['alpha', 'ia64', 'm68k', 'riscv64', 'sh4', 'sparc', 'sparc64'] -if supported_os.contains(host_os) and not unsupported_cpus.contains(host_cpu) - seccomp_dep = dependency('libseccomp') -else diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-desktop/gnome-desktop3_3.34.1.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-desktop/gnome-desktop3_3.34.1.bb deleted file mode 100644 index a2f73590fd..0000000000 --- a/meta-openembedded/meta-gnome/recipes-gnome/gnome-desktop/gnome-desktop3_3.34.1.bb +++ /dev/null @@ -1,36 +0,0 @@ -SUMMARY = "GNOME library for reading .desktop files" -SECTION = "x11/gnome" -LICENSE = "GPLv2 & LGPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ - file://COPYING.LIB;md5=5f30f0716dfdd0d91eb439ebec522ec2" - -BPN = "gnome-desktop" - -GNOMEBASEBUILDCLASS = "meson" - -inherit gnomebase itstool pkgconfig upstream-version-is-even gobject-introspection features_check - -# gobject-introspection is mandatory and cannot be configured -REQUIRED_DISTRO_FEATURES = "gobject-introspection-data" -UNKNOWN_CONFIGURE_WHITELIST_append = " introspection" - -SRC_URI[archive.md5sum] = "357b4e63960830c1399d3341d05746ea" -SRC_URI[archive.sha256sum] = "c1dbeb5666dad27166c769e48e2ab41dd5ed74718ea35eb57c8488790662dc5a" - -SRC_URI += " \ - file://gnome-desktop-thumbnail-don-t-assume-time_t-is-long.patch \ - file://0001-meson.build-Disable-libseccomp-for-all-archs.patch \ -" - -DEPENDS += "gsettings-desktop-schemas virtual/libx11 gtk+3 startup-notification xkeyboard-config iso-codes udev" - -inherit features_check gtk-doc -REQUIRED_DISTRO_FEATURES += "x11" - -GTKDOC_MESON_OPTION = "gtk_doc" -EXTRA_OEMESON = "-Ddesktop_docs=false" - -PACKAGES =+ "libgnome-desktop3" -FILES_libgnome-desktop3 = "${libdir}/lib*${SOLIBS} ${datadir}/libgnome-desktop*/pnp.ids ${datadir}/gnome/*xml" - -RRECOMMENDS_libgnome-desktop3 += "gsettings-desktop-schemas" diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-desktop/gnome-desktop3_3.34.3.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-desktop/gnome-desktop3_3.34.3.bb new file mode 100644 index 0000000000..cdd11aa908 --- /dev/null +++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-desktop/gnome-desktop3_3.34.3.bb @@ -0,0 +1,36 @@ +SUMMARY = "GNOME library for reading .desktop files" +SECTION = "x11/gnome" +LICENSE = "GPLv2 & LGPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ + file://COPYING.LIB;md5=5f30f0716dfdd0d91eb439ebec522ec2" + +BPN = "gnome-desktop" + +GNOMEBASEBUILDCLASS = "meson" + +inherit gnomebase itstool pkgconfig upstream-version-is-even gobject-introspection features_check + +# gobject-introspection is mandatory and cannot be configured +REQUIRED_DISTRO_FEATURES = "gobject-introspection-data" +UNKNOWN_CONFIGURE_WHITELIST_append = " introspection" + +SRC_URI[archive.md5sum] = "cdcd3006f55d8c8813315bef6f4f6b71" +SRC_URI[archive.sha256sum] = "acc2efc847574fd21d8f200679f111c2b1eb5ae2c041e0034e7c18450a7d9c6d" + +SRC_URI += " \ + file://gnome-desktop-thumbnail-don-t-assume-time_t-is-long.patch \ + file://0001-meson.build-Disable-libseccomp-for-all-archs.patch \ +" + +DEPENDS += "gsettings-desktop-schemas virtual/libx11 gtk+3 startup-notification xkeyboard-config iso-codes udev" + +inherit features_check gtk-doc +REQUIRED_DISTRO_FEATURES += "x11" + +GTKDOC_MESON_OPTION = "gtk_doc" +EXTRA_OEMESON = "-Ddesktop_docs=false" + +PACKAGES =+ "libgnome-desktop3" +FILES_libgnome-desktop3 = "${libdir}/lib*${SOLIBS} ${datadir}/libgnome-desktop*/pnp.ids ${datadir}/gnome/*xml" + +RRECOMMENDS_libgnome-desktop3 += "gsettings-desktop-schemas" diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-flashback/gnome-flashback_3.34.2.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-flashback/gnome-flashback_3.34.2.bb new file mode 100644 index 0000000000..3da8629c64 --- /dev/null +++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-flashback/gnome-flashback_3.34.2.bb @@ -0,0 +1,34 @@ +SUMMARY = "GNOME Flashback (GNOME 2) session" +LICENSE = "GPLv3" +LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" + +inherit gnomebase gsettings gtk-icon-cache gettext upstream-version-is-even features_check + +REQUIRED_DISTRO_FEATURES = "x11 polkit systemd pam" + +DEPENDS += " \ + upower \ + ibus \ + libxkbfile \ + polkit \ + metacity \ + gnome-desktop3 \ + gnome-bluetooth \ +" + +SRC_URI[archive.md5sum] = "251b51bad322c41d34d06fdb8f1799d4" +SRC_URI[archive.sha256sum] = "3be65388cd2c8f39741bcc05da87ef40035183a9a39502d67696242c2aeb469c" + +do_install_append() { + # no oe-layer has compiz -> remove dead session + rm -f ${D}${datadir}/xsessions/gnome-flashback-compiz.desktop +} + +FILES_${PN} += " \ + ${datadir}/xsessions \ + ${datadir}/desktop-directories \ + ${datadir}/gnome-session \ + ${systemd_user_unitdir} \ +" + +RDEPENDS_${PN} += "metacity gnome-panel" diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-font-viewer/gnome-font-viewer_3.34.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-font-viewer/gnome-font-viewer_3.34.0.bb index 5be8d50377..d8f7e301ef 100644 --- a/meta-openembedded/meta-gnome/recipes-gnome/gnome-font-viewer/gnome-font-viewer_3.34.0.bb +++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-font-viewer/gnome-font-viewer_3.34.0.bb @@ -1,4 +1,4 @@ -SUMMARY = "GNOME bluetooth manager" +SUMMARY = "GNOME font viewer" LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-keyring/gnome-keyring/0001-Set-paths-to-ssh-agent-and-ssh-add-by-configure-opti.patch b/meta-openembedded/meta-gnome/recipes-gnome/gnome-keyring/gnome-keyring/0001-Set-paths-to-ssh-agent-and-ssh-add-by-configure-opti.patch new file mode 100644 index 0000000000..32eecf8fb7 --- /dev/null +++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-keyring/gnome-keyring/0001-Set-paths-to-ssh-agent-and-ssh-add-by-configure-opti.patch @@ -0,0 +1,42 @@ +From e6464e01bc1cdf5496be2942d1bac41aa609f47e Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andreas=20M=C3=BCller?= +Date: Thu, 23 May 2019 23:44:06 +0200 +Subject: [PATCH] Set paths to ssh-agent and ssh-add by configure options +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +We have no executables in our sysroot so configuration won't find them. + +Upstream-Status: Inappropriate [OE specific] + +Signed-off-by: Andreas Müller +--- + configure.ac | 11 +++++++++-- + 1 file changed, 9 insertions(+), 2 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 4b83664..eda0c96 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -351,8 +351,15 @@ if test "$enable_ssh_agent" = "no"; then + SSH_AGENT=false + SSH_ADD=false + else +- AC_PATH_PROG([SSH_AGENT], [ssh-agent], [no]) +- AC_PATH_PROG([SSH_ADD], [ssh-add], [no]) ++ AC_ARG_WITH([ssh-agent-path], ++ [AC_HELP_STRING([--with-ssh-agent-path=PATH], ++ [path to ssh-agent])], ++ [SSH_AGENT=$with_ssh_agent_path], [SSH_AGENT=no]) ++ AC_ARG_WITH([ssh-add-path], ++ [AC_HELP_STRING([--with-ssh-add-path=PATH], ++ [path to ssh-add])], ++ [SSH_ADD=$with_ssh_add_path], [SSH_ADD=no]) ++ + if test "$SSH_AGENT" = "no" -o "$SSH_ADD" = "no"; then + AC_MSG_ERROR([the ssh-agent and ssh-add commands were not found]) + else +-- +2.20.1 + diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-keyring/gnome-keyring_3.28.2.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-keyring/gnome-keyring_3.28.2.bb deleted file mode 100644 index a84c218e6f..0000000000 --- a/meta-openembedded/meta-gnome/recipes-gnome/gnome-keyring/gnome-keyring_3.28.2.bb +++ /dev/null @@ -1,44 +0,0 @@ -SUMMARY = "Password and keyring managing daemon" -HOMEPAGE = "http://www.gnome.org/" -BUGTRACKER = "https://bugzilla.gnome.org/" -SECTION = "x11/gnome" - -LICENSE = "GPLv2+ & LGPLv2+ & LGPLv2.1+" -LIC_FILES_CHKSUM = " \ - file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ - file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c \ -" - -inherit features_check gnomebase remove-libtool gettext upstream-version-is-even - -DEPENDS = " \ - intltool-native \ - glib-2.0-native \ - gtk+3 \ - gcr \ - libgcrypt \ - ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)} \ -" - -SRC_URI[archive.md5sum] = "284580f954f762caf62aed2ae7358177" -SRC_URI[archive.sha256sum] = "81171b7d07211b216b4c9bb79bf2deb3deca18fe8d56d46dda1c4549b4a2646a" -SRC_URI += "file://musl.patch" - -REQUIRED_DISTRO_FEATURES = "x11" - -RDEPENDS_${PN} = "libgnome-keyring glib-2.0-utils" - -EXTRA_OECONF = "--disable-doc \ - ac_cv_path_SSH_AGENT=${bindir}/ssh-agent \ - ac_cv_path_SSH_ADD=${bindir}/ssh-add" - -PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}" -PACKAGECONFIG[pam] = "--enable-pam --with-pam-dir=${base_libdir}/security, --disable-pam" -PACKAGECONFIG[ssh-agent] = "--enable-ssh-agent,--disable-ssh-agent,,openssh-misc" - -FILES_${PN} += " \ - ${datadir}/dbus-1/services \ - ${datadir}/p11-kit \ - ${base_libdir}/security/*${SOLIBSDEV} \ - ${libdir}/pkcs11/gnome-keyring-pkcs11.so \ -" diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-keyring/gnome-keyring_3.34.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-keyring/gnome-keyring_3.34.0.bb new file mode 100644 index 0000000000..52c254b288 --- /dev/null +++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-keyring/gnome-keyring_3.34.0.bb @@ -0,0 +1,51 @@ +SUMMARY = "Password and keyring managing daemon" +HOMEPAGE = "http://www.gnome.org/" +BUGTRACKER = "https://bugzilla.gnome.org/" +SECTION = "x11/gnome" + +LICENSE = "GPLv2+ & LGPLv2+ & LGPLv2.1+" +LIC_FILES_CHKSUM = " \ + file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ + file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c \ +" + +DEPENDS = " \ + glib-2.0-native \ + gtk+3 \ + gcr \ + libgcrypt \ + ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)} \ +" + +inherit gnomebase gsettings features_check remove-libtool gettext upstream-version-is-even + +REQUIRED_DISTRO_FEATURES = "x11" + +SRC_URI[archive.md5sum] = "7c8fd85e46ed4ba1add0288b2ead9aec" +SRC_URI[archive.sha256sum] = "e9cda9542a3e37c61636145e7e9e2513c569092ea8020752a834e1f40ad41943" +SRC_URI += " \ + file://0001-Set-paths-to-ssh-agent-and-ssh-add-by-configure-opti.patch \ + file://musl.patch \ +" + +PACKAGECONFIG ??= "ssh-agent" +PACKAGECONFIG[ssh-agent] = "--enable-ssh-agent --with-ssh-agent-path=${bindir}/ssh-agent --with-ssh-add-path=${bindir}/ssh-add,--disable-ssh-agent,,openssh-misc" + +EXTRA_OECONF = " \ + --disable-doc \ + ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '--enable-pam --with-pam-dir=${base_libdir}/security', '--disable-pam', d)} \ +" + +FILES_${PN} += " \ + ${datadir}/dbus-1/services \ + ${datadir}/p11-kit \ + ${base_libdir}/security/*${SOLIBSDEV} \ + ${libdir}/pkcs11/gnome-keyring-pkcs11.so \ +" + +# fix | gnome-keyring-daemon: insufficient process capabilities, unsecure memory might get used +# This does not make it through pseudo so perform on-target - sigh +pkg_postinst_ontarget_${PN} () { + setcap cap_ipc_lock+ep `which gnome-keyring-daemon` +} +RDEPENDS_${PN} += "libcap-bin" diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-keyring/libgnome-keyring_3.12.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-keyring/libgnome-keyring_3.12.0.bb deleted file mode 100644 index ba69e2e0cd..0000000000 --- a/meta-openembedded/meta-gnome/recipes-gnome/gnome-keyring/libgnome-keyring_3.12.0.bb +++ /dev/null @@ -1,29 +0,0 @@ -SUMMARY = "Compatibility library for accessing secrets" -HOMEPAGE = "http://www.gnome.org/" -BUGTRACKER = "https://bugzilla.gnome.org/" - -LICENSE = "GPLv2 & LGPLv2" -LIC_FILES_CHKSUM = " \ - file://COPYING;md5=0914b9d3ebaba41ef2e3e0ae16f296cf \ - file://COPYING.GPL;md5=94d55d512a9ba36caa9b7df079bae19f \ -" -SECTION = "x11/gnome/libs" - -inherit gnomebase gtk-doc gobject-introspection - -DEPENDS = "dbus libgcrypt glib-2.0 glib-2.0-native intltool-native" - -SRC_URI[archive.md5sum] = "6696e4f2e9aed4625cdc3af30bd8c238" -SRC_URI[archive.sha256sum] = "c4c178fbb05f72acc484d22ddb0568f7532c409b0a13e06513ff54b91e947783" - - -# Fails to build with thumb-1 (qemuarm) -#| {standard input}: Assembler messages: -#| {standard input}:823: Error: shifts in CMP/MOV instructions are only supported in unified syntax -- `mov r12,r12,ror#3' -#| {standard input}:823: Error: shifts in CMP/MOV instructions are only supported in unified syntax -- `mov r12,r12,ror#13' -#| {standard input}:824: Error: shifts in CMP/MOV instructions are only supported in unified syntax -- `mov r12,r12,ror#29' -#| {standard input}:824: Error: shifts in CMP/MOV instructions are only supported in unified syntax -- `mov r12,r12,ror#19' -#| {standard input}:825: Error: lo register required -- `orr r10,r10,r10' -ARM_INSTRUCTION_SET_armv5 = "arm" -ARM_INSTRUCTION_SET_armv4 = "arm" - diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-online-accounts/gnome-online-accounts_3.34.1.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-online-accounts/gnome-online-accounts_3.34.1.bb new file mode 100644 index 0000000000..74d71ec81e --- /dev/null +++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-online-accounts/gnome-online-accounts_3.34.1.bb @@ -0,0 +1,35 @@ +SUMMARY = "GNOME Online Accounts - Single sign-on framework for GNOME" +LICENSE = "LGPLv2+" +LIC_FILES_CHKSUM = "file://COPYING;md5=34c88b124db5fb2762c1676be7dadd36" + +GNOMEBASEBUILDCLASS = "autotools" + +inherit gnomebase gsettings gobject-introspection gsettings gtk-doc vala gettext upstream-version-is-even features_check + +# for webkitgtk +REQUIRED_DISTRO_FEATURES = "x11" + +DEPENDS = "glib-2.0" + +SRC_URI[archive.md5sum] = "aa94d1dd07ca53729a036b5df1c78c05" +SRC_URI[archive.sha256sum] = "4832ca8e48d3a497fc676e7b6f146009ab4206995362977b9805aa39f164783a" + +# backend is required for gnome-control-center +PACKAGECONFIG = "backend other" + +PACKAGECONFIG[backend] = "--enable-backend,--disable-backend,gtk+3 webkitgtk libsoup-2.4 json-glib libsecret rest libxml2" +PACKAGECONFIG[krb5] = "--enable-kerberos, --disable-kerberos , krb5 gcr" + +# no extra dependencies! +PACKAGECONFIG[other] = " \ + --enable-facebook --enable-foursquare --enable-exchange --enable-flickr --enable-google --enable-imap-smtp --enable-owncloud --enable-windows-live,\ + --disable-facebook --disable-foursquare --disable-exchange --disable-flickr --disable-google --disable-imap-smtp --disable-owncloud --disable-windows-live, \ +" + +FILES_${PN} += " \ + ${datadir}/dbus-1 \ + ${libdir}/goa-1.0/web-extensions/*.so \ +" + +# looked into pkg-config file: it is not a bug - they mean it +FILES_${PN}-dev += "${libdir}/goa-1.0/include" diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-panel/gnome-panel/0001-Do-not-try-to-find-ZONEINFO-it-tries-to-run-compiled.patch b/meta-openembedded/meta-gnome/recipes-gnome/gnome-panel/gnome-panel/0001-Do-not-try-to-find-ZONEINFO-it-tries-to-run-compiled.patch new file mode 100644 index 0000000000..6ab4daf020 --- /dev/null +++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-panel/gnome-panel/0001-Do-not-try-to-find-ZONEINFO-it-tries-to-run-compiled.patch @@ -0,0 +1,37 @@ +From d4b2f0922dfdd6040e5e9f62a2565452cf855c42 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andreas=20M=C3=BCller?= +Date: Mon, 21 Oct 2019 22:10:56 +0200 +Subject: [PATCH] Do not try to find ZONEINFO - it tries to run compiled code +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Missing configutation does not cause issues: The fallback in modules/clock/system-timezone.c +matches our default. + +Inappropriate [embedded specific] + +Signed-off-by: Andreas Müller +--- + configure.ac | 5 ----- + 1 file changed, 5 deletions(-) + +diff --git a/configure.ac b/configure.ac +index c75a9fa..0c9d945 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -249,11 +249,6 @@ dnl yelp-tools stuff + + YELP_HELP_INIT + +-dnl ************************************************************************** +-dnl Find zoneinfo directory +-dnl ************************************************************************** +- +-AX_ZONEINFO + + dnl ************************************************************************** + dnl Process .in files +-- +2.21.0 + diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-panel/gnome-panel_3.34.1.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-panel/gnome-panel_3.34.1.bb new file mode 100644 index 0000000000..4d5fdb65a2 --- /dev/null +++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-panel/gnome-panel_3.34.1.bb @@ -0,0 +1,28 @@ +SUMMARY = "GNOME flashback panel" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +inherit gnomebase gsettings itstool gnome-help gtk-icon-cache gtk-doc gettext upstream-version-is-even features_check + +REQUIRED_DISTRO_FEATURES = "x11 polkit systemd pam" + +DEPENDS += " \ + yelp-tools-native \ + libwnck3 \ + polkit \ + dconf \ + libgweather \ + gnome-menus3 \ + gnome-desktop3 \ + gdm \ +" + +SRC_URI[archive.md5sum] = "cfd5d3fd548a2afdd8bd3bbdf9646bbd" +SRC_URI[archive.sha256sum] = "a6bc0255252eeb4b964bcbe55fd7908b69f914c062c5ec8dff5ac0262d29b90d" +SRC_URI += " \ + file://0001-Do-not-try-to-find-ZONEINFO-it-tries-to-run-compiled.patch \ +" + +PACKAGECONFIG[eds] = "--enable-eds,--disable-eds,evolution-data-server" + +RDEPENDS_${PN} += "gdm-base" diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-session/gnome-session_3.34.2.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-session/gnome-session_3.34.2.bb new file mode 100644 index 0000000000..15bf489c7a --- /dev/null +++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-session/gnome-session_3.34.2.bb @@ -0,0 +1,39 @@ +SUMMARY = "GNOME session" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +DEPENDS = " \ + glib-2.0-native \ + libxslt-native \ + xmlto-native \ + xtrans \ + libice \ + libsm \ + virtual/libx11 \ + gtk+3 \ + gnome-desktop3 \ + gsettings-desktop-schemas \ + json-glib \ +" + +GNOMEBASEBUILDCLASS = "meson" + +inherit gnomebase gettext gsettings upstream-version-is-even features_check + +REQUIRED_DISTRO_FEATURES = "x11 polkit systemd pam gobject-introspection-data" + +SRC_URI[archive.md5sum] = "38dcdb844a0349cc2fb10998095543e4" +SRC_URI[archive.sha256sum] = "8bb77381650a03ae4be7260751363bd27da93f09bac1ddbc885f4ce44ebaf8e1" + +PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', 'consolekit',d)}" + +PACKAGECONFIG[consolekit] = "-Dconsolekit=true, -Dconsolekit=false, consolekit" +PACKAGECONFIG[systemd] = "-Dsystemd=true -Dsystemd_journal=true, -Dsystemd=false -Dsystemd_journal=false, systemd" + +FILES_${PN} += " \ + ${datadir}/xsessions \ + ${datadir}/wayland-sessions \ + ${systemd_user_unitdir} \ +" + +RDEPENDS_${PN} += "gnome-shell gnome-settings-daemon gsettings-desktop-schemas" diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-settings-daemon/gnome-settings-daemon_3.34.1.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-settings-daemon/gnome-settings-daemon_3.34.1.bb deleted file mode 100644 index 65f6693492..0000000000 --- a/meta-openembedded/meta-gnome/recipes-gnome/gnome-settings-daemon/gnome-settings-daemon_3.34.1.bb +++ /dev/null @@ -1,59 +0,0 @@ -SUMMARY = "Window navigation construction toolkit" -LICENSE = "LGPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552" - -GNOMEBASEBUILDCLASS = "meson" - -inherit gnomebase gsettings gobject-introspection gettext features_check upstream-version-is-even - -SRC_URI[archive.md5sum] = "528b0b7cc2dd22c6026a9c8739c71fa7" -SRC_URI[archive.sha256sum] = "7ce4979817866911a94ecb75b36db56797e038c0c524c5c1a81aefccafc17337" - -DEPENDS = " \ - colord \ - geocode-glib \ - gcr \ - gnome-desktop3 \ - libgweather \ - lcms \ - libcanberra \ - geoclue \ - libnotify \ - upower \ - libwacom \ - virtual/libx11 \ -" - -# all these are mandatory -REQUIRED_DISTRO_FEATURES = "x11 polkit pulseaudio systemd gobject-introspection-data" -UNKNOWN_CONFIGURE_WHITELIST_append = " introspection" - -SRC_URI[archive.md5sum] = "cdd0d0c8664056deb78aa40c88ec24d1" -SRC_URI[archive.sha256sum] = "9981a20babf8da7744b7fbe175b9e36078bf08f3bf65fe5aedeb82cfe27ac11f" - -# allow cross build mixed with build of native tools -do_write_config_append() { - cat >${WORKDIR}/meson.native <${WORKDIR}/meson.native < +Date: Wed, 11 Dec 2019 01:34:01 +0100 +Subject: [PATCH] Make python path configurable +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Upstream-Status: Inappropriate [Configuration] + +Signed-off-by: Andreas Müller +--- + meson.build | 2 +- + meson_options.txt | 2 ++ + 2 files changed, 3 insertions(+), 1 deletion(-) + create mode 100644 meson_options.txt + +diff --git a/meson.build b/meson.build +index b7da518..d58fb5b 100644 +--- a/meson.build ++++ b/meson.build +@@ -13,7 +13,7 @@ bindir = join_paths(prefix, get_option('bindir')) + datadir = join_paths(prefix, get_option('datadir')) + libexecdir = join_paths(prefix, get_option('libexecdir')) + localedir = join_paths(prefix, get_option('localedir')) +-pythondir = join_paths(prefix, python3.sysconfig_path('purelib')) ++pythondir = get_option('python_site_dir') + + pkgdatadir = join_paths(datadir, meson.project_name()) + +diff --git a/meson_options.txt b/meson_options.txt +new file mode 100644 +index 0000000..03455ca +--- /dev/null ++++ b/meson_options.txt +@@ -0,0 +1,2 @@ ++option('python_site_dir', type: 'string', value: '') ++ +-- +2.21.0 + diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-tweaks/gnome-tweaks_3.34.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-tweaks/gnome-tweaks_3.34.0.bb new file mode 100644 index 0000000000..af4c8c6418 --- /dev/null +++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-tweaks/gnome-tweaks_3.34.0.bb @@ -0,0 +1,32 @@ +SUMMARY = "GNOME tweaks: Advanced options for GNOME 3 session" +LICENSE = "GPLv3 & CC0-1.0" +LIC_FILES_CHKSUM = " \ + file://LICENSES/CC0-1.0;md5=65d3616852dbf7b1a6d4b53b00626032 \ + file://LICENSES/GPL-3.0;md5=9eef91148a9b14ec7f9df333daebc746 \ +" + +DEPENDS = "libhandy" + +GNOMEBASEBUILDCLASS = "meson" + +inherit gnomebase gtk-icon-cache gobject-introspection features_check upstream-version-is-even + +# same as gnome-shell +REQUIRED_DISTRO_FEATURES = "x11 polkit systemd pam" + +# gobject-introspection is mandatory and cannot be configured +REQUIRED_DISTRO_FEATURES += "gobject-introspection-data" +UNKNOWN_CONFIGURE_WHITELIST_append = " introspection" + +SRC_URI[archive.md5sum] = "a625d8b167c5549c68e1c6ac7a87d369" +SRC_URI[archive.sha256sum] = "003326fab46e6faad9485924bca503f0c583e3b4553d6f673406eda396205250" +SRC_URI += "file://0001-Make-python-path-configurable.patch" + +EXTRA_OEMESON = "-Dpython_site_dir=${PYTHON_SITEPACKAGES_DIR}" + +FILES_${PN} += " \ + ${datadir}/metainfo \ + ${PYTHON_SITEPACKAGES_DIR} \ +" + +RDEPENDS_${PN} += "gnome-shell python3-core python3-logging libhandy" diff --git a/meta-openembedded/meta-gnome/recipes-gnome/grilo/grilo_0.3.10.bb b/meta-openembedded/meta-gnome/recipes-gnome/grilo/grilo_0.3.10.bb new file mode 100644 index 0000000000..e3fd671728 --- /dev/null +++ b/meta-openembedded/meta-gnome/recipes-gnome/grilo/grilo_0.3.10.bb @@ -0,0 +1,29 @@ +SUMMARY = "Grilo is a framework forsearching media content from various sources" +LICENSE = "LGPLv2.1" +LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24" + +DEPENDS = " \ + libxml2 \ + glib-2.0 \ +" + +GNOMEBASEBUILDCLASS = "meson" + +inherit gnomebase gobject-introspection gtk-doc gettext vala + +SRC_URI[archive.md5sum] = "f02bf585d1a48dc65be8b90ae3b08330" +SRC_URI[archive.sha256sum] = "7e44b2e74c31ed24eb97e43265a9e41effe8660287b02295111805c7bda7f1e8" + +GIR_MESON_OPTION = "enable-introspection" +GTKDOC_MESON_OPTION = "enable-gtk-doc" + +# Note: removing 'net' from PACKAGECONFIG causes +# | bindings/vala/meson.build:15:0: ERROR: Unknown variable "grlnet_gir". +PACKAGECONFIG ??= "net" + +PACKAGECONFIG[net] = "-Denable-grl-net=true, -Denable-grl-net=false, libsoup-2.4" +PACKAGECONFIG[test-ui] = "-Denable-test-ui=true, -Denable-test-ui=false, gtk+3 liboauth" + +# Once we have a recipe for 'totem-plparser' this can turn into a PACKAGECONFIG +EXTRA_OEMESON = "-Denable-grl-pls=false" + diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gsound/gsound_1.0.2.bb b/meta-openembedded/meta-gnome/recipes-gnome/gsound/gsound_1.0.2.bb new file mode 100644 index 0000000000..e4478e14a3 --- /dev/null +++ b/meta-openembedded/meta-gnome/recipes-gnome/gsound/gsound_1.0.2.bb @@ -0,0 +1,13 @@ +SUMMARY = "Small gobject library for playing system sounds" +LICENSE = "LGPLv2.1" +LIC_FILES_CHKSUM = "file://COPYING;md5=447b837ae57f08b7060593ac6256163f" + +DEPENDS = " \ + glib-2.0 \ + libcanberra \ +" + +inherit gnomebase gettext gobject-introspection vala + +SRC_URI[archive.md5sum] = "c26fd21c21b9ef6533a202a73fab21db" +SRC_URI[archive.sha256sum] = "bba8ff30eea815037e53bee727bbd5f0b6a2e74d452a7711b819a7c444e78e53" diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gvfs/gvfs_1.41.2.bb b/meta-openembedded/meta-gnome/recipes-gnome/gvfs/gvfs_1.41.2.bb deleted file mode 100644 index 27e3f92ccb..0000000000 --- a/meta-openembedded/meta-gnome/recipes-gnome/gvfs/gvfs_1.41.2.bb +++ /dev/null @@ -1,82 +0,0 @@ -DESCRIPTION = "gvfs is a userspace virtual filesystem" -LICENSE = "LGPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=05df38dd77c35ec8431f212410a3329e" - -GNOMEBASEBUILDCLASS = "meson" -inherit gnomebase bash-completion gettext upstream-version-is-even - -DEPENDS += "libsecret glib-2.0 glib-2.0-native gconf libgudev shadow-native" - -SRC_URI = "https://download.gnome.org/sources/${BPN}/${@gnome_verdir("${PV}")}/${BPN}-${PV}.tar.xz;name=archive" - -SRC_URI[archive.md5sum] = "9a9a97a63bb9e87258d48086a6bdacaa" -SRC_URI[archive.sha256sum] = "f311b7c5f855ebe259960c00c7d03c812e040928ecb0ec093b50a4f16b3bcf26" - - -EXTRA_OEMESON = " \ - -Dbluray=false \ - -Dgoa=false \ - -Dgoogle=false \ - -Dnfs=false \ -" - -PACKAGES =+ "gvfsd-ftp gvfsd-sftp gvfsd-trash" - -FILES_${PN} += " \ - ${datadir}/glib-2.0 \ - ${datadir}/GConf \ - ${datadir}/dbus-1/services \ - ${libdir}/gio/modules/*.so \ - ${libdir}/tmpfiles.d \ - ${systemd_user_unitdir} \ -" - -FILES_${PN}-dbg += "${libdir}/gio/modules/.debug/*" -FILES_${PN}-dev += "${libdir}/gio/modules/*.la" - -FILES_gvfsd-ftp = "${libexecdir}/gvfsd-ftp ${datadir}/gvfs/mounts/ftp.mount" -FILES_gvfsd-sftp = "${libexecdir}/gvfsd-sftp ${datadir}/gvfs/mounts/sftp.mount" -FILES_gvfsd-trash = "${libexecdir}/gvfsd-trash ${datadir}/gvfs/mounts/trash.mount" - -RRECOMMENDS_gvfsd-ftp += "openssh-sftp openssh-ssh" - -PACKAGECONFIG ?= "libgphoto2 \ - ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES','polkit','udisks2','',d)} \ - ${@bb.utils.contains('DISTRO_FEATURES','polkit','admin','',d)} \ - " - -PACKAGECONFIG[udisks2] = "-Dudisks2=true, -Dudisks2=false, udisks2, udisks2" -PACKAGECONFIG[admin] = "-Dadmin=true, -Dadmin=false, libcap polkit" -PACKAGECONFIG[afc] = "-Dafc=true, -Dafc=false, libimobiledevice libplist" -PACKAGECONFIG[archive] = "-Darchive=true, -Darchive=false, libarchive" -PACKAGECONFIG[dnssd] = "-Ddnssd=true, -Ddnssd=false, avahi" -PACKAGECONFIG[gcr] = "-Dgcr=true, -Dgcr=false, gcr" -PACKAGECONFIG[http] = "-Dhttp=true, -Dhttp=false, libsoup-2.4" -PACKAGECONFIG[libmtp] = "-Dmtp=true, -Dmtp=false, libmtp" -PACKAGECONFIG[logind] = "-Dlogind=true, -Dlogind=false, systemd" -PACKAGECONFIG[libgphoto2] = "-Dgphoto2=true, -Dgphoto2=false, libgphoto2" -PACKAGECONFIG[samba] = "-Dsmb=true, -Dsmb=false, samba" -PACKAGECONFIG[systemd] = "-Dsystemduserunitdir=${systemd_user_unitdir} -Dtmpfilesdir=${libdir}/tmpfiles.d, -Dsystemduserunitdir=no -Dtmpfilesdir=no, systemd" - -# needs meta-filesystems -PACKAGECONFIG[fuse] = "-Dfuse=true, -Dfuse=false, fuse" - -# libcdio-paranoia recipe doesn't exist yet -PACKAGECONFIG[cdda] = "-Dcdda=true, -Dcdda=false, libcdio-paranoia" - -do_install_append() { - if ${@bb.utils.contains('DISTRO_FEATURES', 'polkit', 'true', 'false', d)}; then - # Fix up permissions on polkit rules.d to work with rpm4 constraints - chmod 700 ${D}/${datadir}/polkit-1/rules.d - chown polkitd:root ${D}/${datadir}/polkit-1/rules.d - fi - - # After rebuilds (not from scracth) it can happen that the executables in - # libexec ar missing executable permission flag. Not sure but it came up - # during transition to meson. Looked into build files and logs but could - # not find suspicious - for exe in `find ${D}/${libexecdir}`; do - chmod +x $exe - done -} diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gvfs/gvfs_1.42.2.bb b/meta-openembedded/meta-gnome/recipes-gnome/gvfs/gvfs_1.42.2.bb new file mode 100644 index 0000000000..f04246f168 --- /dev/null +++ b/meta-openembedded/meta-gnome/recipes-gnome/gvfs/gvfs_1.42.2.bb @@ -0,0 +1,87 @@ +DESCRIPTION = "gvfs is a userspace virtual filesystem" +LICENSE = "LGPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=05df38dd77c35ec8431f212410a3329e" + +GNOMEBASEBUILDCLASS = "meson" +inherit gnomebase gsettings bash-completion gettext upstream-version-is-even features_check useradd + +DEPENDS += "libsecret glib-2.0 glib-2.0-native libgudev shadow-native \ + gsettings-desktop-schemas dbus" + +SRC_URI = "https://download.gnome.org/sources/${BPN}/${@gnome_verdir("${PV}")}/${BPN}-${PV}.tar.xz;name=archive" +SRC_URI[archive.md5sum] = "8dea2f6a3f327a814a347758d4350e4b" +SRC_URI[archive.sha256sum] = "b57af97573bd295aa50037eed29c6ba7a36188230c515e007c3018855a5cf949" + +# depends on gsettings-desktop-schemas->gcr->gtk+3-> x11 +REQUIRED_DISTRO_FEATURES = "x11" + +EXTRA_OEMESON = " \ + -Dbluray=false \ + -Dgoa=false \ + -Dgoogle=false \ + -Dnfs=false \ +" + +PACKAGES =+ "gvfsd-ftp gvfsd-sftp gvfsd-trash" + +FILES_${PN} += " \ + ${datadir}/glib-2.0 \ + ${datadir}/GConf \ + ${datadir}/dbus-1/services \ + ${libdir}/gio/modules/*.so \ + ${libdir}/tmpfiles.d \ + ${systemd_user_unitdir} \ +" + +FILES_${PN}-dbg += "${libdir}/gio/modules/.debug/*" +FILES_${PN}-dev += "${libdir}/gio/modules/*.la" + +FILES_gvfsd-ftp = "${libexecdir}/gvfsd-ftp ${datadir}/gvfs/mounts/ftp.mount" +FILES_gvfsd-sftp = "${libexecdir}/gvfsd-sftp ${datadir}/gvfs/mounts/sftp.mount" +FILES_gvfsd-trash = "${libexecdir}/gvfsd-trash ${datadir}/gvfs/mounts/trash.mount" + +RRECOMMENDS_gvfsd-ftp += "openssh-sftp openssh-ssh" + +PACKAGECONFIG ?= "libgphoto2 \ + ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES','polkit','udisks2','',d)} \ + ${@bb.utils.contains('DISTRO_FEATURES','polkit','admin','',d)} \ + " + +PACKAGECONFIG[udisks2] = "-Dudisks2=true, -Dudisks2=false, udisks2, udisks2" +PACKAGECONFIG[admin] = "-Dadmin=true, -Dadmin=false, libcap polkit" +PACKAGECONFIG[afc] = "-Dafc=true, -Dafc=false, libimobiledevice libplist" +PACKAGECONFIG[archive] = "-Darchive=true, -Darchive=false, libarchive" +PACKAGECONFIG[dnssd] = "-Ddnssd=true, -Ddnssd=false, avahi" +PACKAGECONFIG[gcr] = "-Dgcr=true, -Dgcr=false, gcr" +PACKAGECONFIG[http] = "-Dhttp=true, -Dhttp=false, libsoup-2.4" +PACKAGECONFIG[libmtp] = "-Dmtp=true, -Dmtp=false, libmtp" +PACKAGECONFIG[logind] = "-Dlogind=true, -Dlogind=false, systemd" +PACKAGECONFIG[libgphoto2] = "-Dgphoto2=true, -Dgphoto2=false, libgphoto2" +PACKAGECONFIG[samba] = "-Dsmb=true, -Dsmb=false, samba" +PACKAGECONFIG[systemd] = "-Dsystemduserunitdir=${systemd_user_unitdir} -Dtmpfilesdir=${libdir}/tmpfiles.d, -Dsystemduserunitdir=no -Dtmpfilesdir=no, systemd" + +# needs meta-filesystems +PACKAGECONFIG[fuse] = "-Dfuse=true, -Dfuse=false, fuse" + +# libcdio-paranoia recipe doesn't exist yet +PACKAGECONFIG[cdda] = "-Dcdda=true, -Dcdda=false, libcdio-paranoia" + +USERADD_PACKAGES = "${PN}" +USERADD_PARAM_${PN} = "--system --no-create-home --user-group --home-dir ${sysconfdir}/${BPN}-1 polkitd" + +do_install_append() { + if ${@bb.utils.contains('DISTRO_FEATURES', 'polkit', 'true', 'false', d)}; then + # Fix up permissions on polkit rules.d to work with rpm4 constraints + chmod 700 ${D}/${datadir}/polkit-1/rules.d + chown polkitd:root ${D}/${datadir}/polkit-1/rules.d + fi + + # After rebuilds (not from scracth) it can happen that the executables in + # libexec ar missing executable permission flag. Not sure but it came up + # during transition to meson. Looked into build files and logs but could + # not find suspicious + for exe in `find ${D}/${libexecdir}`; do + chmod +x $exe + done +} diff --git a/meta-openembedded/meta-gnome/recipes-gnome/libgdata/libgdata_0.17.10.bb b/meta-openembedded/meta-gnome/recipes-gnome/libgdata/libgdata_0.17.10.bb deleted file mode 100644 index 7bedd87ad0..0000000000 --- a/meta-openembedded/meta-gnome/recipes-gnome/libgdata/libgdata_0.17.10.bb +++ /dev/null @@ -1,30 +0,0 @@ -SUMMARY = "GLib-based library for accessing online service APIs using the GData protocol" -HOMEPAGE = "http://live.gnome.org/libgdata" -BUGTRACKER = "https://bugzilla.gnome.org/" - -LICENSE = "LGPLv2.1" -LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24 \ - file://gdata/gdata.h;endline=20;md5=079a554efcf65d46f96a515806e7e99a \ - file://gdata/gdata-types.h;endline=20;md5=7399b111aac8718da13888fc634be6ef" - -DEPENDS = "libxml2 glib-2.0 libsoup-2.4 intltool-native liboauth gcr json-glib" - -GTKDOC_MESON_OPTION = "gtk_doc" -GNOMEBASEBUILDCLASS = "meson" - -inherit gnomebase pkgconfig gettext gtk-doc vala gobject-introspection manpages - -do_compile_prepend() { - export GIR_EXTRA_LIBS_PATH="${B}/gdata/.libs" -} - -PACKAGECONFIG ??= "" -PACKAGECONFIG[manpages] = "-Dman=true,-Dman=false" -PACKAGECONFIG[goa] = "-Dgoa=enabled,-Dgoa=disabled,gnome-online-accounts" -PACKAGECONFIG[gtk] = "-Dgtk=enabled,-Dgtk=disabled,gtk+3" -PACKAGECONFIG[vala] = "-Dvapi=true,-Dvapi=false" - -EXTRA_OEMESON = "-Dalways_build_tests=false" - -SRC_URI[archive.md5sum] = "d858d411ad394c275643b14993dfeed4" -SRC_URI[archive.sha256sum] = "c1d3d1f303f6a0416a0dac355a195276c31157a74bb1d040772d46d1cb15b012" diff --git a/meta-openembedded/meta-gnome/recipes-gnome/libgdata/libgdata_0.17.11.bb b/meta-openembedded/meta-gnome/recipes-gnome/libgdata/libgdata_0.17.11.bb new file mode 100644 index 0000000000..197a05d374 --- /dev/null +++ b/meta-openembedded/meta-gnome/recipes-gnome/libgdata/libgdata_0.17.11.bb @@ -0,0 +1,33 @@ +SUMMARY = "GLib-based library for accessing online service APIs using the GData protocol" +HOMEPAGE = "http://live.gnome.org/libgdata" +BUGTRACKER = "https://bugzilla.gnome.org/" + +LICENSE = "LGPLv2.1" +LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24 \ + file://gdata/gdata.h;endline=20;md5=079a554efcf65d46f96a515806e7e99a \ + file://gdata/gdata-types.h;endline=20;md5=7399b111aac8718da13888fc634be6ef" + +DEPENDS = "libxml2 glib-2.0 libsoup-2.4 intltool-native liboauth gcr json-glib" + +GTKDOC_MESON_OPTION = "gtk_doc" +GNOMEBASEBUILDCLASS = "meson" + +inherit gnomebase pkgconfig gettext gtk-doc vala gobject-introspection manpages features_check + +# gcr +REQUIRED_DISTRO_FEATURES = "x11" + +do_compile_prepend() { + export GIR_EXTRA_LIBS_PATH="${B}/gdata/.libs" +} + +PACKAGECONFIG ??= "" +PACKAGECONFIG[manpages] = "-Dman=true,-Dman=false" +PACKAGECONFIG[goa] = "-Dgoa=enabled,-Dgoa=disabled,gnome-online-accounts" +PACKAGECONFIG[gtk] = "-Dgtk=enabled,-Dgtk=disabled,gtk+3" +PACKAGECONFIG[vala] = "-Dvapi=true,-Dvapi=false" + +EXTRA_OEMESON = "-Dalways_build_tests=false" + +SRC_URI[archive.md5sum] = "7b98e9059255d8a2fb147c4e727230a8" +SRC_URI[archive.sha256sum] = "6b9917122e4def6e6f78bcb660e49e146540832e296abcb5cde99829a04ea986" diff --git a/meta-openembedded/meta-gnome/recipes-gnome/libgnome/libgnomekbd_3.26.1.bb b/meta-openembedded/meta-gnome/recipes-gnome/libgnome/libgnomekbd_3.26.1.bb index d3b3bde435..2a2db9c194 100644 --- a/meta-openembedded/meta-gnome/recipes-gnome/libgnome/libgnomekbd_3.26.1.bb +++ b/meta-openembedded/meta-gnome/recipes-gnome/libgnome/libgnomekbd_3.26.1.bb @@ -4,14 +4,11 @@ LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=6e29c688d912da12b66b73e32b03d812" SECTION = "x11/gnome/libs" -DEPENDS = "gconf glib-2.0 libxklavier gtk+3 intltool-native" +DEPENDS = "glib-2.0 gtk+3 libxklavier" -inherit features_check gnomebase gobject-introspection gettext +inherit features_check gnomebase gobject-introspection gsettings gettext REQUIRED_DISTRO_FEATURES = "x11" SRC_URI[archive.md5sum] = "98040022484406e7ebe25f82cef93344" SRC_URI[archive.sha256sum] = "f7ca02631576e9b88aee1b1bae37ac1488b80ee7975f20a97f29e761a7172679" - -EXTRA_OECONF_remove = "--disable-schemas-install" - diff --git a/meta-openembedded/meta-gnome/recipes-gnome/libgsf/files/0001-configure.ac-drop-a-copy-paste-of-introspection.m4-m.patch b/meta-openembedded/meta-gnome/recipes-gnome/libgsf/files/0001-configure.ac-drop-a-copy-paste-of-introspection.m4-m.patch deleted file mode 100644 index bc0090e17b..0000000000 --- a/meta-openembedded/meta-gnome/recipes-gnome/libgsf/files/0001-configure.ac-drop-a-copy-paste-of-introspection.m4-m.patch +++ /dev/null @@ -1,103 +0,0 @@ -From 16d2c2e74350fda5505982fb150e72af7aee7454 Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin -Date: Fri, 19 Feb 2016 16:23:56 +0200 -Subject: [PATCH] configure.ac: drop a copy-paste of introspection.m4 macros - -Upstream-Status: Pending -Signed-off-by: Alexander Kanavin ---- - configure.ac | 78 +----------------------------------------------------------- - 1 file changed, 1 insertion(+), 77 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 54f7663..3038535 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -77,83 +77,7 @@ libgsf_reqs=" - " - - PKG_CHECK_MODULES(LIBGSF, $libgsf_reqs) --# GObject Introspection --GIR_REQ=1.0.0 --AC_ARG_ENABLE(introspection, -- AS_HELP_STRING([--enable-introspection[=@<:@no/auto/yes@:>@]], -- [Enable introspection for this build]),, -- [enable_introspection=no]) -- --AC_MSG_CHECKING([for gobject-introspection]) -- --dnl presence/version checking --AS_CASE([$enable_introspection], --[no], [ -- found_introspection="no (disabled, use --enable-introspection to enable)" --], --[yes],[ -- PKG_CHECK_EXISTS([gobject-introspection-1.0],, -- AC_MSG_ERROR([gobject-introspection-1.0 is not installed])) -- PKG_CHECK_EXISTS([gobject-introspection-1.0 >= $GIR_REQ], -- found_introspection=yes, -- AC_MSG_ERROR([You need to have gobject-introspection >= $1 installed to build AC_PACKAGE_NAME])) --], --[auto],[ -- PKG_CHECK_EXISTS([gobject-introspection-1.0 >= $GIR_REQ], found_introspection=yes, found_introspection=no) --dnl Canonicalize enable_introspection --enable_introspection=$found_introspection --], --[ -- AC_MSG_ERROR([invalid argument passed to --enable-introspection, should be one of @<:@no/auto/yes@:>@]) --]) -- --AC_MSG_RESULT([$found_introspection]) -- --if test "x$found_introspection" = "xyes"; then -- dnl You can override INTROSPECTION_GIRDIR and INTROSPECTION_TYPELIBDIR -- dnl if you wish. If you override the latter, you might want to set -- dnl GI_TYPELIB_PATH to include the same directory. For example -- dnl -- dnl GI_TYPELIB_PATH=$PREFIX/lib64/girepository-1.0 -- dnl INTROSPECTION_TYPELIBDIR=$GI_TYPELIB_PATH -- dnl INTROSPECTION_GIRDIR=$PREFIX/share/gir-1.0 -- dnl -- dnl Note, that unlike binaries produced with libgsf, nothing tells -- dnl python where to find libgsf, so you might also need to set -- dnl LD_LIBRARY_PATH. -- -- INTROSPECTION_SCANNER=`$PKG_CONFIG --variable=g_ir_scanner gobject-introspection-1.0` -- INTROSPECTION_COMPILER=`$PKG_CONFIG --variable=g_ir_compiler gobject-introspection-1.0` -- INTROSPECTION_GENERATE=`$PKG_CONFIG --variable=g_ir_generate gobject-introspection-1.0` -- if test "x$INTROSPECTION_GIRDIR" = x; then -- INTROSPECTION_GIRDIR=`$PKG_CONFIG --variable=girdir gobject-introspection-1.0` -- fi -- if test "x$INTROSPECTION_TYPELIBDIR" = x; then -- INTROSPECTION_TYPELIBDIR="$($PKG_CONFIG --variable=typelibdir gobject-introspection-1.0)" -- fi -- INTROSPECTION_CFLAGS=`$PKG_CONFIG --cflags gobject-introspection-1.0` -- INTROSPECTION_LIBS=`$PKG_CONFIG --libs gobject-introspection-1.0` -- INTROSPECTION_MAKEFILE=`$PKG_CONFIG --variable=datadir gobject-introspection-1.0`/gobject-introspection-1.0/Makefile.introspection --else -- INTROSPECTION_SCANNER= -- INTROSPECTION_COMPILER= -- INTROSPECTION_GENERATE= -- INTROSPECTION_GIRDIR= -- INTROSPECTION_TYPELIBDIR= -- INTROSPECTION_CFLAGS= -- INTROSPECTION_LIBS= -- INTROSPECTION_MAKEFILE= --fi --AC_SUBST(INTROSPECTION_SCANNER) --AC_SUBST(INTROSPECTION_COMPILER) --AC_SUBST(INTROSPECTION_GENERATE) --AC_SUBST(INTROSPECTION_GIRDIR) --AC_SUBST(INTROSPECTION_TYPELIBDIR) --AC_SUBST(INTROSPECTION_CFLAGS) --AC_SUBST(INTROSPECTION_LIBS) --AC_SUBST(INTROSPECTION_MAKEFILE) -- --AM_CONDITIONAL(HAVE_INTROSPECTION, test "x$found_introspection" = "xyes") -+GOBJECT_INTROSPECTION_CHECK([1.46.0]) - dnl we need to change the install directories for distcheck - AC_ARG_WITH([gir-dir], - AS_HELP_STRING( --- -2.7.0 - diff --git a/meta-openembedded/meta-gnome/recipes-gnome/libgsf/libgsf/0001-configure.ac-drop-a-copy-paste-of-introspection.m4-m.patch b/meta-openembedded/meta-gnome/recipes-gnome/libgsf/libgsf/0001-configure.ac-drop-a-copy-paste-of-introspection.m4-m.patch new file mode 100644 index 0000000000..bc0090e17b --- /dev/null +++ b/meta-openembedded/meta-gnome/recipes-gnome/libgsf/libgsf/0001-configure.ac-drop-a-copy-paste-of-introspection.m4-m.patch @@ -0,0 +1,103 @@ +From 16d2c2e74350fda5505982fb150e72af7aee7454 Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin +Date: Fri, 19 Feb 2016 16:23:56 +0200 +Subject: [PATCH] configure.ac: drop a copy-paste of introspection.m4 macros + +Upstream-Status: Pending +Signed-off-by: Alexander Kanavin +--- + configure.ac | 78 +----------------------------------------------------------- + 1 file changed, 1 insertion(+), 77 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 54f7663..3038535 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -77,83 +77,7 @@ libgsf_reqs=" + " + + PKG_CHECK_MODULES(LIBGSF, $libgsf_reqs) +-# GObject Introspection +-GIR_REQ=1.0.0 +-AC_ARG_ENABLE(introspection, +- AS_HELP_STRING([--enable-introspection[=@<:@no/auto/yes@:>@]], +- [Enable introspection for this build]),, +- [enable_introspection=no]) +- +-AC_MSG_CHECKING([for gobject-introspection]) +- +-dnl presence/version checking +-AS_CASE([$enable_introspection], +-[no], [ +- found_introspection="no (disabled, use --enable-introspection to enable)" +-], +-[yes],[ +- PKG_CHECK_EXISTS([gobject-introspection-1.0],, +- AC_MSG_ERROR([gobject-introspection-1.0 is not installed])) +- PKG_CHECK_EXISTS([gobject-introspection-1.0 >= $GIR_REQ], +- found_introspection=yes, +- AC_MSG_ERROR([You need to have gobject-introspection >= $1 installed to build AC_PACKAGE_NAME])) +-], +-[auto],[ +- PKG_CHECK_EXISTS([gobject-introspection-1.0 >= $GIR_REQ], found_introspection=yes, found_introspection=no) +-dnl Canonicalize enable_introspection +-enable_introspection=$found_introspection +-], +-[ +- AC_MSG_ERROR([invalid argument passed to --enable-introspection, should be one of @<:@no/auto/yes@:>@]) +-]) +- +-AC_MSG_RESULT([$found_introspection]) +- +-if test "x$found_introspection" = "xyes"; then +- dnl You can override INTROSPECTION_GIRDIR and INTROSPECTION_TYPELIBDIR +- dnl if you wish. If you override the latter, you might want to set +- dnl GI_TYPELIB_PATH to include the same directory. For example +- dnl +- dnl GI_TYPELIB_PATH=$PREFIX/lib64/girepository-1.0 +- dnl INTROSPECTION_TYPELIBDIR=$GI_TYPELIB_PATH +- dnl INTROSPECTION_GIRDIR=$PREFIX/share/gir-1.0 +- dnl +- dnl Note, that unlike binaries produced with libgsf, nothing tells +- dnl python where to find libgsf, so you might also need to set +- dnl LD_LIBRARY_PATH. +- +- INTROSPECTION_SCANNER=`$PKG_CONFIG --variable=g_ir_scanner gobject-introspection-1.0` +- INTROSPECTION_COMPILER=`$PKG_CONFIG --variable=g_ir_compiler gobject-introspection-1.0` +- INTROSPECTION_GENERATE=`$PKG_CONFIG --variable=g_ir_generate gobject-introspection-1.0` +- if test "x$INTROSPECTION_GIRDIR" = x; then +- INTROSPECTION_GIRDIR=`$PKG_CONFIG --variable=girdir gobject-introspection-1.0` +- fi +- if test "x$INTROSPECTION_TYPELIBDIR" = x; then +- INTROSPECTION_TYPELIBDIR="$($PKG_CONFIG --variable=typelibdir gobject-introspection-1.0)" +- fi +- INTROSPECTION_CFLAGS=`$PKG_CONFIG --cflags gobject-introspection-1.0` +- INTROSPECTION_LIBS=`$PKG_CONFIG --libs gobject-introspection-1.0` +- INTROSPECTION_MAKEFILE=`$PKG_CONFIG --variable=datadir gobject-introspection-1.0`/gobject-introspection-1.0/Makefile.introspection +-else +- INTROSPECTION_SCANNER= +- INTROSPECTION_COMPILER= +- INTROSPECTION_GENERATE= +- INTROSPECTION_GIRDIR= +- INTROSPECTION_TYPELIBDIR= +- INTROSPECTION_CFLAGS= +- INTROSPECTION_LIBS= +- INTROSPECTION_MAKEFILE= +-fi +-AC_SUBST(INTROSPECTION_SCANNER) +-AC_SUBST(INTROSPECTION_COMPILER) +-AC_SUBST(INTROSPECTION_GENERATE) +-AC_SUBST(INTROSPECTION_GIRDIR) +-AC_SUBST(INTROSPECTION_TYPELIBDIR) +-AC_SUBST(INTROSPECTION_CFLAGS) +-AC_SUBST(INTROSPECTION_LIBS) +-AC_SUBST(INTROSPECTION_MAKEFILE) +- +-AM_CONDITIONAL(HAVE_INTROSPECTION, test "x$found_introspection" = "xyes") ++GOBJECT_INTROSPECTION_CHECK([1.46.0]) + dnl we need to change the install directories for distcheck + AC_ARG_WITH([gir-dir], + AS_HELP_STRING( +-- +2.7.0 + diff --git a/meta-openembedded/meta-gnome/recipes-gnome/libgsf/libgsf_1.14.45.bb b/meta-openembedded/meta-gnome/recipes-gnome/libgsf/libgsf_1.14.45.bb deleted file mode 100644 index ac36ceb046..0000000000 --- a/meta-openembedded/meta-gnome/recipes-gnome/libgsf/libgsf_1.14.45.bb +++ /dev/null @@ -1,27 +0,0 @@ -SUMMARY = "GNOME Structured File Library" -LICENSE = "GPLv2 & LGPLv2.1" -LIC_FILES_CHKSUM = "file://COPYING;md5=dc7371b50816c96e145fa0f8ade8e24d \ - file://COPYING.LIB;md5=61464cfe342798eeced82efe9ae55f63" - -SECTION = "libs" - -DEPENDS= "libxml2 bzip2 glib-2.0 zlib intltool-native gnome-common-native" - -inherit autotools pkgconfig gnomebase gobject-introspection - -SRC_URI += "file://0001-configure.ac-drop-a-copy-paste-of-introspection.m4-m.patch" - -SRC_URI[archive.md5sum] = "e45cc8aa9c49516d540b7d7307f755f1" -SRC_URI[archive.sha256sum] = "5cbc2c0f1dc44d202fa0c6e3a51e9f17b0c2deb8711ba650432bfde3180b69fa" - -PACKAGECONFIG ??= "" -PACKAGECONFIG[gdk-pixbuf] = "--with-gdk-pixbuf,--without-gdk-pixbuf,gdk-pixbuf" - -EXTRA_OECONF = "\ - --disable-gtk-doc \ - --with-bz2 \ -" - -RDEPENDS_${PN} = "gconf" - -FILES_${PN} += "${datadir}/thumbnailers" diff --git a/meta-openembedded/meta-gnome/recipes-gnome/libgsf/libgsf_1.14.46.bb b/meta-openembedded/meta-gnome/recipes-gnome/libgsf/libgsf_1.14.46.bb new file mode 100644 index 0000000000..049320afca --- /dev/null +++ b/meta-openembedded/meta-gnome/recipes-gnome/libgsf/libgsf_1.14.46.bb @@ -0,0 +1,23 @@ +SUMMARY = "GNOME Structured File Library" +LICENSE = "GPLv2 & LGPLv2.1" +LIC_FILES_CHKSUM = "file://COPYING;md5=dc7371b50816c96e145fa0f8ade8e24d \ + file://COPYING.LIB;md5=61464cfe342798eeced82efe9ae55f63" + +SECTION = "libs" + +DEPENDS= "libxml2 bzip2 glib-2.0 zlib gnome-common-native" + +inherit gnomebase gobject-introspection gettext gtk-doc + +SRC_URI[archive.md5sum] = "5bc6d1d6394f0ed5a58e8f2e5e4ead7f" +SRC_URI[archive.sha256sum] = "ea36959b1421fc8e72caa222f30ec3234d0ed95990e2bf28943a85f33eadad2d" +SRC_URI += "file://0001-configure.ac-drop-a-copy-paste-of-introspection.m4-m.patch" + +PACKAGECONFIG ??= "" +PACKAGECONFIG[gdk-pixbuf] = "--with-gdk-pixbuf,--without-gdk-pixbuf,gdk-pixbuf" + +EXTRA_OECONF = "\ + --with-bz2 \ +" + +FILES_${PN} += "${datadir}/thumbnailers" diff --git a/meta-openembedded/meta-gnome/recipes-gnome/metacity/metacity_3.32.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/metacity/metacity_3.32.0.bb deleted file mode 100644 index 8f15c5774a..0000000000 --- a/meta-openembedded/meta-gnome/recipes-gnome/metacity/metacity_3.32.0.bb +++ /dev/null @@ -1,41 +0,0 @@ -SECTION = "x11/wm" -SUMMARY = "Metacity is the boring window manager for the adult in you" -LICENSE = "GPLv2+" -LIC_FILES_CHKSUM = "file://COPYING;md5=b4cce53560b8e619ffa7c830fb8761aa \ - file://src/include/main.h;endline=24;md5=72148ede07a6dadd01de6a882d20a9ad" - -PE = "1" - -DEPENDS = "gsettings-desktop-schemas startup-notification \ - gnome-doc-utils gdk-pixbuf-native \ - gtk+3 glib-2.0 libcanberra libgtop intltool-native" - -inherit autotools gettext gnomebase features_check -# depends on startup-notification which depends on virtual/libx11 -REQUIRED_DISTRO_FEATURES = "x11" - -SRC_URI = "git://github.com/GNOME/metacity.git;branch=master \ - file://0001-drop-zenity-detection.patch \ -" - -S = "${WORKDIR}/git" -SRCREV = "bf1bfbadf47eff97703df17e95b15168e2034222" - -EXTRA_OECONF += "--disable-xinerama" - -PACKAGECONFIG ?= "" - -# enable as neccessary until new warnings are dealt with -PACKAGECONFIG[werror] = "--enable-Werror,--disable-Werror,," - -do_configure_prepend() { - cd ${S} - aclocal --install || exit 1 - autoreconf --verbose --force --install -Wno-portability || exit 1 - cd - - -} - -FILES_${PN} += "${datadir}/themes ${datadir}/gnome-control-center ${datadir}/gnome" -RDEPENDS_${PN} += "gsettings-desktop-schemas" - diff --git a/meta-openembedded/meta-gnome/recipes-gnome/metacity/metacity_3.34.1.bb b/meta-openembedded/meta-gnome/recipes-gnome/metacity/metacity_3.34.1.bb new file mode 100644 index 0000000000..d8c8b53896 --- /dev/null +++ b/meta-openembedded/meta-gnome/recipes-gnome/metacity/metacity_3.34.1.bb @@ -0,0 +1,38 @@ +SECTION = "x11/wm" +SUMMARY = "Metacity is the boring window manager for the adult in you" +LICENSE = "GPLv2+" +LIC_FILES_CHKSUM = "file://COPYING;md5=b4cce53560b8e619ffa7c830fb8761aa \ + file://src/include/main.h;endline=24;md5=72148ede07a6dadd01de6a882d20a9ad" + +PE = "1" + +DEPENDS = " \ + gdk-pixbuf-native \ + gtk+3 \ + gsettings-desktop-schemas \ + startup-notification \ + libcanberra \ + libgtop \ +" + + +# depends on startup-notification which depends on virtual/libx11 +REQUIRED_DISTRO_FEATURES = "x11" + +inherit gnomebase gsettings gettext upstream-version-is-even features_check + +SRC_URI[archive.md5sum] = "c0c10204e4d6d024cb413042c1de316b" +SRC_URI[archive.sha256sum] = "31c7d1045c390afb3bf405735b0b26c459197cbf43af37c469eb8918ce3a453d" +SRC_URI += "file://0001-drop-zenity-detection.patch" + +PACKAGECONFIG[xinerama] = "--enable-xinerama,--disable-xinerama,libxinerama" +# enable as neccessary until new warnings are dealt with +PACKAGECONFIG[werror] = "--enable-Werror,--disable-Werror,," + +FILES_${PN} += " \ + ${datadir}/themes \ + ${datadir}/gnome-control-center \ + ${datadir}/gnome\ +" + +RDEPENDS_${PN} += "gsettings-desktop-schemas" diff --git a/meta-openembedded/meta-gnome/recipes-gnome/mutter/mutter/0001-cogl-Fix-GLES2-fallback.patch b/meta-openembedded/meta-gnome/recipes-gnome/mutter/mutter/0001-cogl-Fix-GLES2-fallback.patch new file mode 100644 index 0000000000..ec92000424 --- /dev/null +++ b/meta-openembedded/meta-gnome/recipes-gnome/mutter/mutter/0001-cogl-Fix-GLES2-fallback.patch @@ -0,0 +1,37 @@ +From f4f7e31303d78b2a8a0881b61311b8d750301b8f Mon Sep 17 00:00:00 2001 +From: Adam Jackson +Date: Tue, 29 Oct 2019 11:53:27 -0400 +Subject: [PATCH] cogl: Fix GLES2 fallback + +Say you're using intel gen3, you poor soul. Your big-GL maxes out at 1.5 +unless you use dirty tricks, but you do have GLES2. We try to fall back +to GLES in this case, but we only ever say eglBindAPI(EGL_OPENGL_API). +So when we go to do CreateContext, even though we think we've requested +GLES 2.0, the driver will compare that "2.0" against the maximum big-GL +version, and things will fail. + +Fix this by binding EGL_OPENGL_ES_API before trying a GLES context. + +https://gitlab.gnome.org/GNOME/mutter/issues/635 + +Upstream-Status: Applied +--- + cogl/cogl/winsys/cogl-winsys-egl.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/cogl/cogl/winsys/cogl-winsys-egl.c b/cogl/cogl/winsys/cogl-winsys-egl.c +index 99dcb8bf3..f2b439a67 100644 +--- a/cogl/cogl/winsys/cogl-winsys-egl.c ++++ b/cogl/cogl/winsys/cogl-winsys-egl.c +@@ -329,6 +329,8 @@ try_create_context (CoglDisplay *display, + if (renderer->driver == COGL_DRIVER_GL || + renderer->driver == COGL_DRIVER_GL3) + eglBindAPI (EGL_OPENGL_API); ++ else if (renderer->driver == COGL_DRIVER_GLES2) ++ eglBindAPI (EGL_OPENGL_ES_API); + + egl_attributes_from_framebuffer_config (display, + &display->onscreen_template->config, +-- +2.21.0 + diff --git a/meta-openembedded/meta-gnome/recipes-gnome/mutter/mutter_3.34.3.bb b/meta-openembedded/meta-gnome/recipes-gnome/mutter/mutter_3.34.3.bb new file mode 100644 index 0000000000..9afa269ed1 --- /dev/null +++ b/meta-openembedded/meta-gnome/recipes-gnome/mutter/mutter_3.34.3.bb @@ -0,0 +1,96 @@ +SUMMARY = "Window and compositing manager based on Clutter" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +DEPENDS = " \ + xserver-xorg-cvt-native \ + virtual/libx11 \ + gtk+3 \ + gdk-pixbuf \ + cairo \ + pango \ + gsettings-desktop-schemas \ + json-glib \ + gnome-desktop3 \ + gnome-settings-daemon \ + libxtst \ + libxkbfile \ + xinerama \ +" + +GNOMEBASEBUILDCLASS = "meson" + +inherit gnomebase gsettings gobject-introspection gettext upstream-version-is-even features_check + +SRC_URI[archive.md5sum] = "c3ee46ae7b84d9d0e8dd3f9e04a61ab1" +SRC_URI[archive.sha256sum] = "cdf57ddd0bc35db952b732b77c796760e65d1ce2f7df31273e5c8d4759ed4a89" +SRC_URI += "file://0001-cogl-Fix-GLES2-fallback.patch" + +# x11 is still manadatory - see meson.build +REQUIRED_DISTRO_FEATURES = "x11" + +# systemd can be replaced by libelogind (not available atow - make systemd +# mandatory distro feature) +LOGIND ?= "systemd" +REQUIRED_DISTRO_FEATURES += "systemd" + +# profiler requires sysprof 3.34 which is not willing to build atow +PACKAGECONFIG ??= " \ + native-backend \ + ${@bb.utils.contains('DISTRO_FEATURES', 'opengl x11', 'opengl glx', '', d)} \ + sm \ + startup-notification \ + ${@bb.utils.contains('DISTRO_FEATURES', 'opengl wayland', 'wayland', '', d)} \ +" + +EXTRA_OEMESON += " \ + -Dxwayland_path=${bindir}/Xwayland \ +" + +# combi-config - see meson_options.txt for more details +PACKAGECONFIG[native-backend] = "-Dnative_backend=true -Dudev=true, -Dnative_backend=false -Dudev=false, libdrm virtual/libgbm libinput ${LOGIND} virtual/egl virtual/libgles2 udev" +PACKAGECONFIG[opengl] = "-Dopengl=true, -Dopengl=true, virtual/libgl" +PACKAGECONFIG[glx] = "-Dglx=true, -Dglx=false" +PACKAGECONFIG[libwacom] = "-Dlibwacom=true, -Dlibwacom=false, libwacom" +PACKAGECONFIG[remote-desktop] = "-Dremote_desktop=true, -Dremote_desktop=false, pipewire" +PACKAGECONFIG[sm] = "-Dsm=true, -Dsm=false, libsm" +PACKAGECONFIG[profiler] = "-Dprofiler=true,-Dprofiler=false,sysprof" +PACKAGECONFIG[startup-notification] = "-Dstartup_notification=true, -Dstartup_notification=false, startup-notification, startup-notification" +PACKAGECONFIG[wayland] = "-Dwayland=true,-Dwayland=false,wayland wayland-native, xserver-xorg-xwayland" +PACKAGECONFIG[wayland-eglstream] = "-Dwayland_eglstream=true,-Dwayland_eglstream=false" + +# yes they changed from mutter-4 -> mutter-5 recently so be perpared +MUTTER_API_NAME = "mutter-5" + +do_install_append() { + # Add gir links in standard paths. That makes dependents life much easier + # to find them + install -d ${D}${datadir}/gir-1.0 + for gir_full in `find ${D}${libdir}/${MUTTER_API_NAME} -name '*.gir'`; do + gir=`basename "$gir_full"` + ln -sr "${D}${libdir}/${MUTTER_API_NAME}/$gir" "${D}${datadir}/gir-1.0/$gir" + done +} + +PACKAGES =+ "${PN}-tests" + +FILES_${PN} += " \ + ${datadir}/gnome-control-center \ + ${libdir}/${MUTTER_API_NAME}/lib*${SOLIBS} \ + ${libdir}/${MUTTER_API_NAME}/*.typelib \ + ${libdir}/${MUTTER_API_NAME}/plugins \ +" + +FILES_${PN}-tests += " \ + ${datadir}/installed-tests \ + ${datadir}/${MUTTER_API_NAME}/tests \ + ${libexecdir}/installed-tests/${MUTTER_API_NAME} \ +" + +FILES_${PN}-dev += " \ + ${libdir}/${MUTTER_API_NAME}/*.gir \ + ${libdir}/${MUTTER_API_NAME}/lib*.so \ +" + +RDEPENDS_${PN} += "zenity" + diff --git a/meta-openembedded/meta-gnome/recipes-gnome/nautilus/nautilus_3.34.1.bb b/meta-openembedded/meta-gnome/recipes-gnome/nautilus/nautilus_3.34.1.bb deleted file mode 100644 index 789a11dfd2..0000000000 --- a/meta-openembedded/meta-gnome/recipes-gnome/nautilus/nautilus_3.34.1.bb +++ /dev/null @@ -1,32 +0,0 @@ -SUMMARY = "File manager for GNOME" -SECTION = "x11/gnome" - -LICENSE="GPLv3" -LIC_FILES_CHKSUM = "file://LICENSE;md5=d32239bcb673463ab874e80d47fae504" - -GNOMEBASEBUILDCLASS = "meson" - -DEPENDS = " \ - fontconfig \ - gtk+3 \ - gnome-desktop3 \ - gsettings-desktop-schemas \ - gnome-autoar \ - tracker \ -" - -inherit gnomebase gsettings gobject-introspection gtk-doc gettext features_check upstream-version-is-even - -SRC_URI[archive.md5sum] = "19e4f1d89fb9d0ff135d5b1974ce43b5" -SRC_URI[archive.sha256sum] = "37ce2c16a610c589dcc7660f9092446465568e38e29bce6ed8c24f2e8e0077f3" - -REQUIRED_DISTRO_FEATURES = "x11" - -PACKAGECONFIG = "extensions" -PACKAGECONFIG[extensions] = "-Dextensions=true,-Dextensions=false, gexiv2 gstreamer1.0-plugins-base" - -FILES_${PN} += " \ - ${datadir}/dbus-1 \ - ${datadir}/metainfo \ - ${datadir}/gnome-shell \ -" diff --git a/meta-openembedded/meta-gnome/recipes-gnome/nautilus/nautilus_3.34.2.bb b/meta-openembedded/meta-gnome/recipes-gnome/nautilus/nautilus_3.34.2.bb new file mode 100644 index 0000000000..bacc967a3d --- /dev/null +++ b/meta-openembedded/meta-gnome/recipes-gnome/nautilus/nautilus_3.34.2.bb @@ -0,0 +1,36 @@ +SUMMARY = "File manager for GNOME" +SECTION = "x11/gnome" + +LICENSE="GPLv3" +LIC_FILES_CHKSUM = "file://LICENSE;md5=d32239bcb673463ab874e80d47fae504" + +GNOMEBASEBUILDCLASS = "meson" + +DEPENDS = " \ + fontconfig \ + gtk+3 \ + gnome-desktop3 \ + gsettings-desktop-schemas \ + gnome-autoar \ + tracker \ +" + +inherit gnomebase gsettings gobject-introspection gtk-doc gettext features_check upstream-version-is-even + +SRC_URI[archive.md5sum] = "88573061544040c0ff960f934aa83719" +SRC_URI[archive.sha256sum] = "bb06e226b965f479a0b8668c19c8e1762b9d8f039af6817961cc7a8f09e6f8a7" + +REQUIRED_DISTRO_FEATURES = "x11" + +PACKAGECONFIG = "extensions" +PACKAGECONFIG[extensions] = "-Dextensions=true,-Dextensions=false, gexiv2 gstreamer1.0-plugins-base" + +FILES_${PN} += " \ + ${datadir}/dbus-1 \ + ${datadir}/metainfo \ + ${datadir}/gnome-shell \ +" + +# mandatory - not checked during configuration: +# | (org.gnome.Nautilus:863): GLib-GIO-ERROR **: 21:03:52.326: Settings schema 'org.freedesktop.Tracker.Miner.Files' is not installed +RDEPENDS_${PN} += "tracker-miners" diff --git a/meta-openembedded/meta-gnome/recipes-gnome/rest/rest_0.8.1.bb b/meta-openembedded/meta-gnome/recipes-gnome/rest/rest_0.8.1.bb new file mode 100644 index 0000000000..33b8744eb8 --- /dev/null +++ b/meta-openembedded/meta-gnome/recipes-gnome/rest/rest_0.8.1.bb @@ -0,0 +1,33 @@ +SUMMARY = "library to access web services that claim to be "RESTful"" +HOMPAGE = "https://wiki.gnome.org/Projects/Librest" +LICENSE = "LGPLv2.1" +LIC_FILES_CHKSUM = "file://COPYING;md5=2d5025d4aa3495befef8f17206a5b0a1" + +GNOMEBASEBUILDCLASS = "autotools" + +DEPENDS = " \ + libxml2-native \ + glib-2.0-native \ + glib-2.0 \ + libsoup-2.4 \ +" + +inherit gnomebase gobject-introspection gtk-doc vala + +SRC_URI[archive.md5sum] = "ece4547298a81105f307369d73c21b9d" +SRC_URI[archive.sha256sum] = "0513aad38e5d3cedd4ae3c551634e3be1b9baaa79775e53b2dba9456f15b01c9" + +# * gnome environment requires libsoup build with in gnome PACKAGECONFIG +# * libsoup-gnome support was removed upstream three years ago [1] +# [1] https://gitlab.gnome.org/GNOME/librest/commit/8f904a8e2bb38a7bf72245cdf2f1ecad17e9a720 +EXTRA_OECONF = "--without-gnome" + +do_configure_prepend() { + # rest expects introspection.m4 at custom location (see aclocal.m4). + cp -f ${STAGING_DIR_TARGET}/${datadir}/aclocal/introspection.m4 ${S}/build +} + +do_compile_prepend() { + export GIR_EXTRA_LIBS_PATH="${B}/rest/.libs" +} + diff --git a/meta-openembedded/meta-gnome/recipes-gnome/tracker/tracker-miners/0001-meson.build-Just-warn-if-we-build-without-libseccomp.patch b/meta-openembedded/meta-gnome/recipes-gnome/tracker/tracker-miners/0001-meson.build-Just-warn-if-we-build-without-libseccomp.patch new file mode 100644 index 0000000000..c9eb7994e6 --- /dev/null +++ b/meta-openembedded/meta-gnome/recipes-gnome/tracker/tracker-miners/0001-meson.build-Just-warn-if-we-build-without-libseccomp.patch @@ -0,0 +1,37 @@ +From 54ea2cabf85ad1bd5695cdbd1935115c9495e80c Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andreas=20M=C3=BCller?= +Date: Sun, 1 Dec 2019 17:06:59 +0100 +Subject: [PATCH] meson.build: Just warn if we build without libseccomp +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +libseccomp lives in meta-security currently and we cannot make it a mandatory +dependency. Once somebody moves libseccomp to meta-oe and adjusts all the +target specific knobs this patch can go. For discussion see [1]. + +[1] http://lists.openembedded.org/pipermail/openembedded-devel/2019-November/203234.html + +Upstream-Status: Inappropriate [embedded specific] + +Signed-off-by: Andreas Müller +--- + meson.build | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/meson.build b/meson.build +index 71a9df4..1eaa1a0 100644 +--- a/meson.build ++++ b/meson.build +@@ -279,7 +279,7 @@ cpu_supports_seccomp = not unsupported_cpus.contains(host_cpu) + seccomp_required = system_supports_seccomp and cpu_supports_seccomp + + if not libseccomp.found() and seccomp_required +- error('Libseccomp is mandatory for sandboxed metadata extraction') ++ warning('Building without Libseccomp might cause security issues!') + endif + + #################################################################### +-- +2.21.0 + diff --git a/meta-openembedded/meta-gnome/recipes-gnome/tracker/tracker-miners_2.3.1.bb b/meta-openembedded/meta-gnome/recipes-gnome/tracker/tracker-miners_2.3.1.bb new file mode 100644 index 0000000000..3dbbcafbdf --- /dev/null +++ b/meta-openembedded/meta-gnome/recipes-gnome/tracker/tracker-miners_2.3.1.bb @@ -0,0 +1,68 @@ +SUMMARY = "Tracker miners and metadata extractors" +LICENSE = "GPLv2 & LGPLv2.1" +LIC_FILES_CHKSUM = " \ + file://COPYING.GPL;md5=ee31012bf90e7b8c108c69f197f3e3a4 \ + file://COPYING.LGPL;md5=2d5025d4aa3495befef8f17206a5b0a1 \ +" + +DEPENDS = " \ + intltool-native \ + tracker \ + zlib \ +" + +GNOMEBASEBUILDCLASS = "meson" + +inherit gnomebase gsettings gobject-introspection vala gtk-doc manpages bash-completion features_check + +SRC_URI[archive.md5sum] = "0321d8f4ad27e3fccdbc8384e5b3cb83" +SRC_URI[archive.sha256sum] = "7b1de06a7a79ea1c7813c8a21f8cd1c55f2b95f799cf9f47f0204f3be8a590e0" +SRC_URI += "file://0001-meson.build-Just-warn-if-we-build-without-libseccomp.patch" + +# gobject-introspection is mandatory and cannot be configured +REQUIRED_DISTRO_FEATURES = "gobject-introspection-data" +UNKNOWN_CONFIGURE_WHITELIST_append = " introspection" + +PACKAGECONFIG ??= " \ + ffmpeg \ + flac \ + gexiv2 \ + gstreamer \ + icu \ + libexif \ + libgsf \ + jpeg \ + png \ + tiff \ + xml \ + pdf \ +" + +PACKAGECONFIG[ffmpeg] = ",,ffmpeg" +PACKAGECONFIG[flac] = "-Dflac=enabled,-Dflac=disabled,flac" +PACKAGECONFIG[gexiv2] = ",,gexiv2" +PACKAGECONFIG[gstreamer] = ",,gstreamer1.0 gstreamer1.0-plugins-base" +PACKAGECONFIG[gupnp] = ",,gupnp-dlna" +PACKAGECONFIG[icu] = ",,icu" +PACKAGECONFIG[libexif] = "-Dexif=enabled,-Dexif=disabled,libexif" +PACKAGECONFIG[libgsf] = "-Dgsf=enabled,-Dgsf=disabled,libgsf" +PACKAGECONFIG[jpeg] = "-Djpeg=enabled,-Djpeg=disabled,jpeg" +PACKAGECONFIG[png] = "-Dpng=enabled,-Dpng=disabled,libpng" +PACKAGECONFIG[tiff] = "-Dtiff=enabled,-Dtiff=disabled,tiff" +PACKAGECONFIG[xml] = "-Dxml=enabled,-Dxml=disabled,libxml2" +PACKAGECONFIG[vorbis] = "-Dvorbis=enabled,-Dvorbis=disabled,libvorbis" +PACKAGECONFIG[pdf] = "-Dpdf=enabled,-Dpdf=disabled,poppler" +PACKAGECONFIG[upower] = ",,upower" + +# For security reasons it is strongly recommended to set add meta-security in +# your layers and 'libseccomp' to PACKAGECONFIG". +PACKAGECONFIG[libseccomp] = ",,libseccomp" +# not yet in meta-gnome +PACKAGECONFIG[rss] = "-Dminer_rss=true,-Dminer_rss=false,libgrss" + +FILES_${PN} += " \ + ${datadir}/dbus-1 \ + ${datadir}/tracker \ + ${libdir}/tracker-miners-2.0 \ + ${systemd_user_unitdir} \ +" diff --git a/meta-openembedded/meta-gnome/recipes-gnome/yelp/yelp-xsl_3.34.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/yelp/yelp-xsl_3.34.0.bb deleted file mode 100644 index 20052cf16e..0000000000 --- a/meta-openembedded/meta-gnome/recipes-gnome/yelp/yelp-xsl_3.34.0.bb +++ /dev/null @@ -1,21 +0,0 @@ -SUMMARY = "XSL stylesheets for the yelp help browser" -LICENSE = "LGPLv2.1 & GPLv2" -LIC_FILES_CHKSUM = " \ - file://COPYING;md5=3e2bad3c5e3990988f9fa1bc5785b147 \ - file://COPYING.GPL;md5=eb723b61539feef013de476e68b5c50a \ - file://COPYING.LGPL;md5=a6f89e2100d9b6cdffcea4f398e37343 \ -" - -inherit gnomebase gettext itstool - -DEPENDS += "libxml2" - -SRC_URI[archive.md5sum] = "f8c4e777aee8b055251c333ef48a0cd0" -SRC_URI[archive.sha256sum] = "e8063aee67d1df634f3d062f1c28130b2dabb3c0c66396b1af90388f34e14ee2" - -RDEPENDS_${PN}_append_class-target = " libxml2 itstool" - -# ensure our native consumers are forced to inherit itstool -RDEPENDS_${PN}_append_class-native = " libxml2" - -BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-gnome/recipes-gnome/yelp/yelp-xsl_3.34.2.bb b/meta-openembedded/meta-gnome/recipes-gnome/yelp/yelp-xsl_3.34.2.bb new file mode 100644 index 0000000000..38947d1bea --- /dev/null +++ b/meta-openembedded/meta-gnome/recipes-gnome/yelp/yelp-xsl_3.34.2.bb @@ -0,0 +1,21 @@ +SUMMARY = "XSL stylesheets for the yelp help browser" +LICENSE = "LGPLv2.1 & GPLv2" +LIC_FILES_CHKSUM = " \ + file://COPYING;md5=3e2bad3c5e3990988f9fa1bc5785b147 \ + file://COPYING.GPL;md5=eb723b61539feef013de476e68b5c50a \ + file://COPYING.LGPL;md5=a6f89e2100d9b6cdffcea4f398e37343 \ +" + +inherit gnomebase gettext itstool + +DEPENDS += "libxml2" + +SRC_URI[archive.md5sum] = "b9c1c53a9114b42054789f212ab37f59" +SRC_URI[archive.sha256sum] = "0c3fe6146113df26fb1295901b1c7baed9f0fe67a87f4345e11543aefe7cb7ad" + +RDEPENDS_${PN}_append_class-target = " libxml2 itstool" + +# ensure our native consumers are forced to inherit itstool +RDEPENDS_${PN}_append_class-native = " libxml2" + +BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-gnome/recipes-gnome/yelp/yelp_3.34.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/yelp/yelp_3.34.0.bb index f6311965e0..348727e44b 100644 --- a/meta-openembedded/meta-gnome/recipes-gnome/yelp/yelp_3.34.0.bb +++ b/meta-openembedded/meta-gnome/recipes-gnome/yelp/yelp_3.34.0.bb @@ -4,7 +4,10 @@ LIC_FILES_CHKSUM = " \ file://COPYING;md5=6e1b9cb787e76d7e6946887a65caa754 \ " -inherit gnomebase itstool autotools-brokensep gsettings gettext gtk-doc +inherit gnomebase itstool autotools-brokensep gsettings gettext gtk-doc features_check + +# for webkitgtk +REQUIRED_DISTRO_FEATURES = "x11" SRC_URI[archive.md5sum] = "776e29bd16424c8712cbf340cfe6429b" SRC_URI[archive.sha256sum] = "e3d6527c5963d73206891b32f1f23363164be57de248555513bd0be77a7bd045" diff --git a/meta-openembedded/meta-gnome/recipes-support/accountsservice/accountsservice/0001-musl-Hack-to-fix-build.patch b/meta-openembedded/meta-gnome/recipes-support/accountsservice/accountsservice/0001-musl-Hack-to-fix-build.patch new file mode 100644 index 0000000000..c2310fe46c --- /dev/null +++ b/meta-openembedded/meta-gnome/recipes-support/accountsservice/accountsservice/0001-musl-Hack-to-fix-build.patch @@ -0,0 +1,36 @@ +From 2a1c7103839c20df5ca9ce2fa863535d802f8f3a Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andreas=20M=C3=BCller?= +Date: Sun, 8 Dec 2019 23:42:00 +0100 +Subject: [PATCH] musl: Hack to fix configure +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +--- + meson.build | 10 ++++++++-- + 1 file changed, 8 insertions(+), 2 deletions(-) + +diff --git a/meson.build b/meson.build +index 4465a26..726c9fe 100644 +--- a/meson.build ++++ b/meson.build +@@ -82,8 +82,14 @@ if cc.has_header_symbol('utmpx.h', 'WTMPX_FILENAME', prefix: '#define _GNU_SOURC + elif cc.has_header_symbol('paths.h', '_PATH_WTMPX') + config_h.set('PATH_WTMP', '_PATH_WTMPX') + else +- assert(run_command('test', '-e', '/var/log/utx.log').returncode() == 0, 'Do not know which filename to watch for wtmp changes') +- config_h.set_quoted('PATH_WTMP', '/var/log/utx.log') ++ # musl: This is just a build fix hack. ++ # As usual they know better, consider all other projects crap and offer zero ++ # alternatives: So wtmp is a dead stub only [1] (= /dev/null/wtmp - taken ++ # from musl sources). ++ # Maybe a hero comes along and adds utmps [2] to make accountsservice useful for musl ++ # [1] https://wiki.musl-libc.org/faq.html#Q:-Why-is-the-utmp/wtmp-functionality-only-implemented-as-stubs? ++ # [2] https://github.com/skarnet/utmps ++ config_h.set_quoted('PATH_WTMP', '/dev/null/wtmp') + endif + + # compiler flags +-- +2.21.0 + diff --git a/meta-openembedded/meta-gnome/recipes-support/accountsservice/accountsservice/0002-musl-add-missing-fgetspent_r.patch b/meta-openembedded/meta-gnome/recipes-support/accountsservice/accountsservice/0002-musl-add-missing-fgetspent_r.patch new file mode 100644 index 0000000000..14161804ea --- /dev/null +++ b/meta-openembedded/meta-gnome/recipes-support/accountsservice/accountsservice/0002-musl-add-missing-fgetspent_r.patch @@ -0,0 +1,46 @@ +From 820249ea8e38c568e6a36fbd9c852718c7665b56 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andreas=20M=C3=BCller?= +Date: Mon, 9 Dec 2019 00:12:08 +0100 +Subject: [PATCH] musl: add missing fgetspent_r + +Stolen from void-linux + +Upstream-Status: Inappropriate [musl-specific] +--- + src/daemon.c | 20 ++++++++++++++++++++ + 1 file changed, 20 insertions(+) + +diff --git a/src/daemon.c b/src/daemon.c +index c52bda3..a7676fe 100644 +--- a/src/daemon.c ++++ b/src/daemon.c +@@ -164,6 +164,26 @@ remove_cache_files (const gchar *user_name) + g_remove (icon_filename); + } + ++/* Musl libc does not support fgetspent_r(), write own ++ * wrapper ++ */ ++static int fgetspent_r(FILE *fp, struct spwd *spbuf, char *buf, size_t buflen, struct spwd **spbufp) { ++ struct spwd *shadow_entry = fgetspent(fp); ++ if(!shadow_entry) ++ return -1; ++ size_t namplen = strlen(shadow_entry->sp_namp); ++ size_t pwdplen = strlen(shadow_entry->sp_pwdp); ++ ++ if(namplen + pwdplen + 2 > buflen) ++ return -1; ++ ++ *spbufp = memcpy(spbuf, shadow_entry, sizeof(struct spwd)); ++ spbuf->sp_namp = strncpy(buf, shadow_entry->sp_namp, namplen + 1); ++ spbuf->sp_pwdp = strncpy(buf + namplen + 1, shadow_entry->sp_pwdp, pwdplen + 1); ++ ++ return 0; ++} ++ + static struct passwd * + entry_generator_fgetpwent (Daemon *daemon, + GHashTable *users, +-- +2.21.0 + diff --git a/meta-openembedded/meta-gnome/recipes-support/accountsservice/accountsservice_0.6.55.bb b/meta-openembedded/meta-gnome/recipes-support/accountsservice/accountsservice_0.6.55.bb new file mode 100644 index 0000000000..edc4890005 --- /dev/null +++ b/meta-openembedded/meta-gnome/recipes-support/accountsservice/accountsservice_0.6.55.bb @@ -0,0 +1,33 @@ +DESCRIPTION = "D-Bus interfaces for querying and manipulating user account information" +HOMEPAGE = "https://www.freedesktop.org/wiki/Software/AccountsService/" +LICENSE = "GPLv3" +LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" + +DEPENDS = " \ + dbus \ + polkit \ +" + +inherit meson gobject-introspection gtk-doc features_check systemd + +REQUIRED_DISTRO_FEATURES = "polkit" + +SRC_URI = "https://www.freedesktop.org/software/${BPN}/${BPN}-${PV}.tar.xz" +SRC_URI_append_libc-musl = " \ + file://0001-musl-Hack-to-fix-build.patch \ + file://0002-musl-add-missing-fgetspent_r.patch \ +" +SRC_URI[md5sum] = "6e4c6fbd490260cfe17de2e76f5d803a" +SRC_URI[sha256sum] = "ff2b2419a7e06bd9cb335ffe391c7409b49a0f0130b890bd54692a3986699c9b" + +GTKDOC_MESON_OPTION = "gtk_doc" + +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}" +PACKAGECONFIG[systemd] = "-Dsystemd=true, -Dsystemd=false -Dsystemdsystemunitdir='no', systemd" + +SYSTEMD_SERVICE_${PN} = "accounts-daemon.service" + +FILES_${PN} += " \ + ${datadir}/dbus-1 \ + ${datadir}/polkit-1 \ +" diff --git a/meta-openembedded/meta-gnome/recipes-support/colord-gtk/colord-gtk_0.2.0.bb b/meta-openembedded/meta-gnome/recipes-support/colord-gtk/colord-gtk_0.2.0.bb index 8f6cd0431b..7845509ba2 100644 --- a/meta-openembedded/meta-gnome/recipes-support/colord-gtk/colord-gtk_0.2.0.bb +++ b/meta-openembedded/meta-gnome/recipes-support/colord-gtk/colord-gtk_0.2.0.bb @@ -18,4 +18,8 @@ EXTRA_OEMESON = "-Dman=false" # gobject-introspection is mandatory and cannot be configured REQUIRED_DISTRO_FEATURES = "gobject-introspection-data" + +# colord +REQUIRED_DISTRO_FEATURES += "polkit" + UNKNOWN_CONFIGURE_WHITELIST_append = " introspection" diff --git a/meta-openembedded/meta-gnome/recipes-support/libhandy/libhandy_git.bb b/meta-openembedded/meta-gnome/recipes-support/libhandy/libhandy_git.bb new file mode 100644 index 0000000000..8c6159f998 --- /dev/null +++ b/meta-openembedded/meta-gnome/recipes-support/libhandy/libhandy_git.bb @@ -0,0 +1,21 @@ +SUMMARY = "A library full of GTK+ widgets for mobile phones" +LICENSE = "LGPLv2.1" +LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" + +SRC_URI = "git://source.puri.sm/Librem5/${BPN}.git;protocol=https" +SRCREV = "ef7c4bf75ae239495141ada83d2fbaf034315563" +S = "${WORKDIR}/git" +PV = "0.0.12" + +GIR_MESON_ENABLE_FLAG = 'enabled' +GIR_MESON_DISABLE_FLAG = 'disabled' +GTKDOC_MESON_OPTION = 'gtk_doc' + +inherit meson gobject-introspection vala gettext gtk-doc features_check + +ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" + +DEPENDS += "gtk+3" + +PACKAGES =+ "${PN}-examples" +FILES_${PN}-examples = "${bindir}" diff --git a/meta-openembedded/meta-gnome/recipes-support/packagegroups/packagegroup-gnome-apps.bb b/meta-openembedded/meta-gnome/recipes-support/packagegroups/packagegroup-gnome-apps.bb new file mode 100644 index 0000000000..522e9e9a3f --- /dev/null +++ b/meta-openembedded/meta-gnome/recipes-support/packagegroups/packagegroup-gnome-apps.bb @@ -0,0 +1,20 @@ +SUMMARY = "GNOME applications" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302" + +inherit packagegroup features_check + +REQUIRED_DISTRO_FEATURES = "x11" + +RDEPENDS_${PN} = " \ + evolution-data-server \ + evince \ + file-roller \ + gedit \ + gnome-calculator \ + gnome-font-viewer \ + gnome-terminal \ + libwnck3 \ + nautilus \ + ${@bb.utils.contains('DISTRO_FEATURES', 'polkit', 'gnome-system-monitor', '', d)} \ +" diff --git a/meta-openembedded/meta-gnome/recipes-support/packagegroups/packagegroup-gnome-desktop.bb b/meta-openembedded/meta-gnome/recipes-support/packagegroups/packagegroup-gnome-desktop.bb new file mode 100644 index 0000000000..3c333fe005 --- /dev/null +++ b/meta-openembedded/meta-gnome/recipes-support/packagegroups/packagegroup-gnome-desktop.bb @@ -0,0 +1,27 @@ +SUMMARY = "Basic GNOME desktop" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302" + +inherit packagegroup features_check + +REQUIRED_DISTRO_FEATURES = "x11 polkit systemd pam gobject-introspection-data" + +RDEPENDS_${PN} = " \ + adwaita-icon-theme \ + adwaita-icon-theme-cursors \ + evolution-data-server \ + gnome-backgrounds \ + gnome-bluetooth \ + gnome-control-center \ + gnome-desktop3 \ + gnome-flashback \ + gnome-keyring \ + gnome-menus3 \ + gnome-session \ + gnome-settings-daemon \ + gnome-shell \ + gnome-shell-extensions \ + gnome-tweaks \ + gmime \ + gvfs gvfsd-ftp gvfsd-sftp gvfsd-trash \ +" diff --git a/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc.inc b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc.inc index e1afe7f33e..289288d480 100644 --- a/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc.inc +++ b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc.inc @@ -37,6 +37,7 @@ S = "${WORKDIR}/klibc-${PV}" OPTFLAGS = "${TUNE_CCARGS} -Os" OPTFLAGS_append_toolchain-clang = " -fno-builtin-bcmp" +OPTFLAGS_append_toolchain-clang_mipsarch = " -no-integrated-as" PARALLEL_MAKE = "" EXTRA_OEMAKE = "'KLIBCARCH=${KLIBC_ARCH}' \ diff --git a/meta-openembedded/meta-multimedia/recipes-connectivity/rygel/rygel_0.37.0.bb b/meta-openembedded/meta-multimedia/recipes-connectivity/rygel/rygel_0.37.0.bb index 0adc721d8d..6ee02fcc04 100644 --- a/meta-openembedded/meta-multimedia/recipes-connectivity/rygel/rygel_0.37.0.bb +++ b/meta-openembedded/meta-multimedia/recipes-connectivity/rygel/rygel_0.37.0.bb @@ -37,10 +37,12 @@ do_install_append() { # Remove .la files for loadable modules rm -f ${D}/${libdir}/rygel-${LIBV}/engines/*.la rm -f ${D}/${libdir}/rygel-${LIBV}/plugins/*.la - if [ -e ${D}${libdir}/systemd/user/rygel.service ]; then + if [ -e ${D}${nonarch_libdir}/systemd/user/rygel.service ]; then mkdir -p ${D}${systemd_unitdir}/system - mv ${D}${libdir}/systemd/user/rygel.service ${D}${systemd_unitdir}/system - rmdir ${D}${libdir}/systemd/user ${D}${libdir}/systemd + mv ${D}${nonarch_libdir}/systemd/user/rygel.service ${D}${systemd_unitdir}/system + rmdir --ignore-fail-on-non-empty ${D}${nonarch_libdir}/systemd/user \ + ${D}${nonarch_libdir}/systemd \ + ${D}${nonarch_libdir} fi } diff --git a/meta-openembedded/meta-multimedia/recipes-dvb/tvheadend/tvheadend/0001-allocate-space-for-buf-on-heap.patch b/meta-openembedded/meta-multimedia/recipes-dvb/tvheadend/tvheadend/0001-allocate-space-for-buf-on-heap.patch new file mode 100644 index 0000000000..cbd76b6abf --- /dev/null +++ b/meta-openembedded/meta-multimedia/recipes-dvb/tvheadend/tvheadend/0001-allocate-space-for-buf-on-heap.patch @@ -0,0 +1,46 @@ +From d4a405f87fc215c14e610a25b5a6b14060c1ef15 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Wed, 25 Dec 2019 13:53:52 -0800 +Subject: [PATCH] allocate space for buf on heap + +Avoids +| src/epggrab/module/xmltv.c:204:47: error: '%s' directive output may be truncated writing between 2 and 2147483645 bytes into a region of size 115 [-Werror=format-truncation=] +| 204 | snprintf(buf, sizeof(buf)-1, "ddprogid://%s/%s", mod->id, s); +| | ^~ + +Upstream-Status: Submitted [https://github.com/tvheadend/tvheadend/pull/1324] +Signed-off-by: Khem Raj +--- + src/epggrab/module/xmltv.c | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git a/src/epggrab/module/xmltv.c b/src/epggrab/module/xmltv.c +index 34ab05bdb..b1a956614 100644 +--- a/src/epggrab/module/xmltv.c ++++ b/src/epggrab/module/xmltv.c +@@ -197,11 +197,12 @@ static void parse_xmltv_dd_progid + (epggrab_module_t *mod, const char *s, char **uri, char **suri, + epg_episode_num_t *epnum) + { +- char buf[128]; + if (strlen(s) < 2) return; + ++ char* buf = (char *)malloc(strlen(s) + strlen(mod->id) + 13); ++ buf[strlen(s) + strlen(mod->id) + 12] = '\0'; + /* Raw URI */ +- snprintf(buf, sizeof(buf)-1, "ddprogid://%s/%s", mod->id, s); ++ snprintf(buf, strlen(s) + strlen(mod->id) + 12, "ddprogid://%s/%s", mod->id, s); + + /* SH - series without episode id so ignore */ + if (strncmp("SH", s, 2)) +@@ -219,6 +220,7 @@ static void parse_xmltv_dd_progid + if (buf[e+1]) sscanf(&buf[e+1], "%hu", &(epnum->e_num)); + } + } ++ free(buf); + } + + /** +-- +2.24.1 + diff --git a/meta-openembedded/meta-multimedia/recipes-dvb/tvheadend/tvheadend_git.bb b/meta-openembedded/meta-multimedia/recipes-dvb/tvheadend/tvheadend_git.bb index a818a961f3..20faef047e 100644 --- a/meta-openembedded/meta-multimedia/recipes-dvb/tvheadend/tvheadend_git.bb +++ b/meta-openembedded/meta-multimedia/recipes-dvb/tvheadend/tvheadend_git.bb @@ -10,6 +10,7 @@ LIC_FILES_CHKSUM = "file://LICENSE.md;md5=9cae5acac2e9ee2fc3aec01ac88ce5db" SRC_URI = "git://github.com/tvheadend/tvheadend.git \ file://0001-adjust-for-64bit-time_t.patch \ + file://0001-allocate-space-for-buf-on-heap.patch \ " SRCREV = "fda89e85e0b6ae796d8a09e178d3937aa7869270" diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/dca/dcadec/0001-define-BASELIB-make-variable.patch b/meta-openembedded/meta-multimedia/recipes-multimedia/dca/dcadec/0001-define-BASELIB-make-variable.patch new file mode 100644 index 0000000000..adce802bc8 --- /dev/null +++ b/meta-openembedded/meta-multimedia/recipes-multimedia/dca/dcadec/0001-define-BASELIB-make-variable.patch @@ -0,0 +1,31 @@ +From 18cc69460d2a0c756880bd54fda36afb0173ea02 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Thu, 19 Dec 2019 19:47:36 -0800 +Subject: [PATCH] define BASELIB make variable + +This helps to override the default libdir from environment + +Upstream-Status: Submitted [https://github.com/foo86/dcadec/pull/61] +Signed-off-by: Khem Raj +--- + Makefile | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index a503698..8f323be 100644 +--- a/Makefile ++++ b/Makefile +@@ -7,8 +7,9 @@ API_PATCH = 0 + CFLAGS := -std=gnu99 -D_FILE_OFFSET_BITS=64 -Wall -Wextra -O3 -ffast-math -g -MMD $(CFLAGS) + + PREFIX ?= /usr/local ++BASELIB ?= lib + BINDIR ?= $(PREFIX)/bin +-LIBDIR ?= $(PREFIX)/lib ++LIBDIR ?= $(PREFIX)/$(BASELIB) + INCLUDEDIR ?= $(PREFIX)/include + + SRC_DIR := $(realpath $(dir $(lastword $(MAKEFILE_LIST)))) +-- +2.24.1 + diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/dca/dcadec_0.2.0.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/dca/dcadec_0.2.0.bb index 45b53c1191..1a51abc360 100644 --- a/meta-openembedded/meta-multimedia/recipes-multimedia/dca/dcadec_0.2.0.bb +++ b/meta-openembedded/meta-multimedia/recipes-multimedia/dca/dcadec_0.2.0.bb @@ -4,14 +4,16 @@ LICENSE = "LGPLv2.1" LIC_FILES_CHKSUM = "file://COPYING.LGPLv2.1;md5=4fbd65380cdd255951079008b364516c" SRCREV = "b93deed1a231dd6dd7e39b9fe7d2abe05aa00158" -SRC_URI = "git://github.com/foo86/dcadec.git;protocol=http" +SRC_URI = "git://github.com/foo86/dcadec.git;protocol=https \ + file://0001-define-BASELIB-make-variable.patch \ + " S = "${WORKDIR}/git" inherit lib_package -EXTRA_OEMAKE = "CONFIG_SHARED=1" +EXTRA_OEMAKE = "CONFIG_SHARED=1 PREFIX=${prefix} BASELIB=${baselib}" do_install() { - oe_runmake install DESTDIR="${D}" PREFIX="${prefix}" + oe_runmake install DESTDIR="${D}" } diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/dvb-apps_1.1.1.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/dvb-apps_1.1.1.bb index 3f491181de..f354ef3872 100644 --- a/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/dvb-apps_1.1.1.bb +++ b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/dvb-apps_1.1.1.bb @@ -11,6 +11,7 @@ SRC_URI = "hg://linuxtv.org/hg;module=dvb-apps;protocol=http \ file://0004-Makefile-remove-test.patch \ file://0005-libucsi-optimization-removal.patch \ file://0006-CA_SET_PID.patch \ + file://0001-dvbdate-Remove-Obsoleted-stime-API-calls.patch \ " S = "${WORKDIR}/${BPN}" diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/0001-dvbdate-Remove-Obsoleted-stime-API-calls.patch b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/0001-dvbdate-Remove-Obsoleted-stime-API-calls.patch new file mode 100644 index 0000000000..9035b56f4a --- /dev/null +++ b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/0001-dvbdate-Remove-Obsoleted-stime-API-calls.patch @@ -0,0 +1,32 @@ +From d6817dbaf407f65dd4af12c51736153fae8b217f Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sat, 21 Dec 2019 08:36:11 -0800 +Subject: [PATCH] dvbdate: Remove Obsoleted stime API calls + +stime() has been deprecated in glibc 2.31+ its recommended to +replaced with clock_settime() + +Signed-off-by: Khem Raj +--- + util/dvbdate/dvbdate.c | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/util/dvbdate/dvbdate.c b/util/dvbdate/dvbdate.c +index f0df437..492ed79 100644 +--- a/util/dvbdate/dvbdate.c ++++ b/util/dvbdate/dvbdate.c +@@ -309,7 +309,10 @@ int atsc_scan_date(time_t *rx_time, unsigned int to) + */ + int set_time(time_t * new_time) + { +- if (stime(new_time)) { ++ struct timespec ts; ++ ts.tv_sec = &new_time; ++ ts.tv_nsec = 0; ++ if (clock_settime(CLOCK_REALTIME, &ts)) { + perror("Unable to set time"); + return -1; + } +-- +2.24.1 + diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth.inc b/meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth.inc index 764ed375ea..9ce65064dc 100644 --- a/meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth.inc +++ b/meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth.inc @@ -4,9 +4,9 @@ SECTION = "libs/multimedia" LICENSE = "LGPL-2.1" LIC_FILES_CHKSUM = "file://LICENSE;md5=fc178bcd425090939a8b634d1d6a9594" -SRC_URI = "git://github.com/FluidSynth/fluidsynth.git;branch=2.0.x" -SRCREV = "c2f4683bf57f61451d14d219fdb25cf9f29cb7fe" +SRC_URI = "git://github.com/FluidSynth/fluidsynth.git" +SRCREV = "37c9ae2bf431a764032f023b3b2c0c0b86b7c272" S = "${WORKDIR}/git" -PV = "2.0.9" +PV = "2.1.0" inherit cmake pkgconfig lib_package diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-1.0/gst-shark_0.2.1.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-1.0/gst-shark_0.2.1.bb deleted file mode 100644 index 5409f32045..0000000000 --- a/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-1.0/gst-shark_0.2.1.bb +++ /dev/null @@ -1,38 +0,0 @@ -SUMMARY = "Gst-Shark Tracers" -DESCRIPTION = "Benchmarks and profiling tools for GStreamer" -HOMEPAGE = "https://developer.ridgerun.com/wiki/index.php?title=GstShark" -SECTION = "multimedia" -LICENSE = "GPLv2+" - -LIC_FILES_CHKSUM = "file://COPYING;md5=e1caa368743492879002ad032445fa97" - -DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad " - -SRCBRANCH ?= "master" - -SRCREV_base = "a60b3996fe3376d42334fc89014e9d6f6af62899" -SRCREV_common = "b64f03f6090245624608beb5d2fff335e23a01c0" - -SRC_URI = " \ - git://github.com/RidgeRun/gst-shark.git;protocol=https;branch=${SRCBRANCH};name=base \ - git://anongit.freedesktop.org/git/gstreamer/common.git;protocol=https;destsuffix=git/common;name=common; \ - " - -S = "${WORKDIR}/git" - -PACKAGECONFIG_CONFARGS = " \ - --disable-graphviz \ - --enable-gtk-doc=no \ -" - -FILES_${PN} += "\ - ${libdir}/gstreamer-1.0/libgstsharktracers.so \ - ${libdir}/gstreamer-1.0/libgstsharktracers.la \ -" - -inherit autotools gettext - -do_configure() { - ${S}/autogen.sh --noconfigure - oe_runconf -} diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-1.0/gst-shark_git.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-1.0/gst-shark_git.bb new file mode 100644 index 0000000000..d047caef5f --- /dev/null +++ b/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-1.0/gst-shark_git.bb @@ -0,0 +1,40 @@ +SUMMARY = "Gst-Shark Tracers" +DESCRIPTION = "Benchmarks and profiling tools for GStreamer" +HOMEPAGE = "https://developer.ridgerun.com/wiki/index.php?title=GstShark" +SECTION = "multimedia" +LICENSE = "GPLv2+" + +LIC_FILES_CHKSUM = "file://COPYING;md5=e1caa368743492879002ad032445fa97" + +DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad " + +SRCBRANCH ?= "master" + +PV = "0.6.1" + +SRCREV_base = "c41a05cc9e2310c2f73eda4b4f0b4477bf4479c5" +SRCREV_common = "88e512ca7197a45c4114f7fa993108f23245bf50" + +SRC_URI = " \ + git://github.com/RidgeRun/gst-shark.git;protocol=https;branch=${SRCBRANCH};name=base \ + git://gitlab.freedesktop.org/gstreamer/common.git;protocol=https;destsuffix=git/common;name=common; \ + " + +S = "${WORKDIR}/git" + +PACKAGECONFIG_CONFARGS = " \ + --disable-graphviz \ + --enable-gtk-doc=no \ +" + +FILES_${PN} += "\ + ${libdir}/gstreamer-1.0/libgstsharktracers.so \ + ${libdir}/gstreamer-1.0/libgstsharktracers.la \ +" + +inherit autotools gettext + +do_configure() { + ${S}/autogen.sh --noconfigure + oe_runconf +} diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-1.0/gstd/0001-Look-for-gtk-doc.make-in-builddir.patch b/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-1.0/gstd/0001-Look-for-gtk-doc.make-in-builddir.patch deleted file mode 100644 index 5a2861642d..0000000000 --- a/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-1.0/gstd/0001-Look-for-gtk-doc.make-in-builddir.patch +++ /dev/null @@ -1,32 +0,0 @@ -From a84e9a6e1dca685eda072d58b58556b5b35cb4c8 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Mon, 10 Sep 2018 21:16:50 -0700 -Subject: [PATCH] Look for gtk-doc.make in builddir - -this is evident when S != B because gtkdocize -generates this file and its actually built into -build area - -Upstream-Status: Submitted [https://github.com/RidgeRun/gstd-1.x/pull/39] - -Signed-off-by: Khem Raj ---- - docs/reference/gstd/Makefile.am | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/docs/reference/gstd/Makefile.am b/docs/reference/gstd/Makefile.am -index f860fa1..62870da 100644 ---- a/docs/reference/gstd/Makefile.am -+++ b/docs/reference/gstd/Makefile.am -@@ -66,7 +66,7 @@ GTKDOC_LIBS=$(top_builddir)/gstd/libgstd-core.la - - - # This includes the standard gtk-doc make rules, copied by gtkdocize. --include $(top_srcdir)/docs/gtk-doc.make -+include $(top_builddir)/docs/gtk-doc.make - - # Comment this out if you want 'make check' to test you doc status - # and run some sanity checks --- -2.18.0 - diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-1.0/gstd/0001-gstd-yocto-compatibility.patch b/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-1.0/gstd/0001-gstd-yocto-compatibility.patch index ffcc6ea94c..c1c88999a5 100644 --- a/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-1.0/gstd/0001-gstd-yocto-compatibility.patch +++ b/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-1.0/gstd/0001-gstd-yocto-compatibility.patch @@ -7,19 +7,14 @@ Subject: [PATCH] gstd:yocto compatibility gstd/Makefile.am | 2 +- 3 files changed, 9 insertions(+), 3 deletions(-) -diff --git a/gstd/Makefile.am b/gstd/Makefile.am -index 13c551d..11fe202 100644 --- a/gstd/Makefile.am +++ b/gstd/Makefile.am -@@ -49,7 +49,7 @@ bin_PROGRAMS = gstd +@@ -74,7 +74,7 @@ gstd_CFLAGS = $(GST_CFLAGS) \ + -DGSTD_LOG_STATE_DIR=\"$(gstdlogstatedir)\" \ + -DGSTD_RUN_STATE_DIR=\"$(gstdrunstatedir)\" - gstd_SOURCES = gstd.c - gstd_CFLAGS = $(GST_CFLAGS) $(GIO_CFLAGS) $(GJSON_CFLAGS) --gstd_LDFLAGS = $(GST_LIBS) $(GIO_LIBS) $(GJSON_LIBS) -Wl,-rpath -Wl,$(libdir) -+gstd_LDFLAGS = $(GST_LIBS) $(GIO_LIBS) $(GJSON_LIBS) +-gstd_LDFLAGS = $(GST_LIBS) $(GIO_LIBS) $(GIO_UNIX_LIBS) $(GJSON_LIBS) $(LIBD_LIBS) -Wl,-rpath -Wl,$(libdir) ++gstd_LDFLAGS = $(GST_LIBS) $(GIO_LIBS) $(GIO_UNIX_LIBS) $(GJSON_LIBS) $(LIBD_LIBS) gstd_LDADD = libgstd-core.la gstdincludedir = $(includedir)/gstd --- -1.9.1 - diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-1.0/gstd_git.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-1.0/gstd_git.bb index 828caa8833..1834a83661 100644 --- a/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-1.0/gstd_git.bb +++ b/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-1.0/gstd_git.bb @@ -5,21 +5,29 @@ SECTION = "multimedia" LICENSE = "GPLv2+" LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" -DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad gstreamer1.0-rtsp-server json-glib libdaemon" +DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad gstreamer1.0-rtsp-server json-glib libdaemon jansson" SRCBRANCH ?= "master" -SRCREV = "3526d0ffdbccc375db7d5fe33a72c68b134657c2" +SRCREV = "a6621a5778b234651aa2adbbe304d906a3fa64d1" SRC_URI = "git://git@github.com/RidgeRun/gstd-1.x.git;protocol=https;branch=${SRCBRANCH} \ file://0001-gstd-yocto-compatibility.patch \ - file://0001-Look-for-gtk-doc.make-in-builddir.patch \ " S = "${WORKDIR}/git" # Remove the +really when upstream version is > 1.0 -PV = "1.0+really0.6.3" +PV = "1.0+really0.8.0" inherit autotools pkgconfig gettext gtk-doc -do_configure_prepend() { - sed -i -e "s|include \$(top_builddir)/docs/gtk-doc.make||g" ${S}/docs/reference/gstd/Makefile.am +do_install_append() { + rm -fr ${D}${localstatedir}/run ${D}/run ${D}${bindir}/gst-client ${D}${bindir}/gstd-client + if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then + install -d ${D}${sysconfdir}/tmpfiles.d + echo "d /run/${BPN} - - - -" \ + > ${D}${sysconfdir}/tmpfiles.d/${BPN}.conf + echo "d /${localstatedir}/log/${BPN} 0755 root root -" \ + >> ${D}${sysconfdir}/tmpfiles.d/${BPN}.conf + fi + ln -sf gst-client-1.0 ${D}${bindir}/gst-client + ln -sf gst-client-1.0 ${D}${bindir}/gstd-client } diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/juce/nativesdk-projucer_git.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/juce/nativesdk-projucer_git.bb deleted file mode 100644 index 7836bae691..0000000000 --- a/meta-openembedded/meta-multimedia/recipes-multimedia/juce/nativesdk-projucer_git.bb +++ /dev/null @@ -1,3 +0,0 @@ -inherit nativesdk -include projucer.inc -BBCLASSEXTEND = "nativesdk" diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/juce/projucer-native_git.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/juce/projucer-native_git.bb deleted file mode 100644 index fb54fb9e98..0000000000 --- a/meta-openembedded/meta-multimedia/recipes-multimedia/juce/projucer-native_git.bb +++ /dev/null @@ -1,3 +0,0 @@ -inherit native -include projucer.inc -BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/juce/projucer.inc b/meta-openembedded/meta-multimedia/recipes-multimedia/juce/projucer.inc index 63ed9e90e0..fc8baa45b4 100644 --- a/meta-openembedded/meta-multimedia/recipes-multimedia/juce/projucer.inc +++ b/meta-openembedded/meta-multimedia/recipes-multimedia/juce/projucer.inc @@ -4,23 +4,38 @@ JUCE supported platforms, including Linux and Embedded Linux." SECTION = "utils" HOMEPAGE = "http://juce.com/" LICENSE = "GPLv3" -LIC_FILES_CHKSUM = "file://README.md;md5=65c50b4ff3522b99436da100536ccd1c" +LIC_FILES_CHKSUM = "file://LICENSE.md;md5=a20f91622a47d4e4af9340d5d3f1a2d8" -inherit pkgconfig +inherit pkgconfig features_check -DEPENDS = "libx11 libxext libxinerama libxrandr libxcursor freetype alsa-lib curl" +REQUIRED_DISTRO_FEATURES = "x11" -SRCREV = "4f41f28b47d01b939559123d145b4e5860528bb7" +DEPENDS = "libx11 libxext libxinerama libxrandr libxcursor freetype alsa-lib curl bzip2 libpng harfbuzz glib-2.0 libpcre" +DEPENDS_append_libc-musl = " libexecinfo" + +SRCREV = "724ae27c71ef809b836df06713cf9e50bc14162b" BRANCH = "master" -SRC_URI = "git://github.com/WeAreROLI/JUCE.git;protocol=https;branch=${BRANCH}" +SRC_URI = "git://github.com/WeAreROLI/JUCE.git;protocol=https;branch=${BRANCH} \ + file://0001-Disable-webkit-component.patch \ +" S = "${WORKDIR}/git" -PV = "5.0.1" +PV = "5.4.5" JUCE_PROJUCER_BUILD_PATH = "${B}/extras/Projucer/Builds" JUCE_PROJUCER_MAKEFILE_PATH = "${JUCE_PROJUCER_BUILD_PATH}/LinuxMakefile" JUCE_PROJUCER = "${JUCE_PROJUCER_MAKEFILE_PATH}/build/Projucer" +# export dummy TARGET_ARCH that doesn't do much, +# but disables "-march=native" optimization which does +# not work on cross builds +EXTRA_OEMAKE = "V=1 JUCE_ARCH_LABEL=${TARGET_ARCH} TARGET_ARCH='-g'" + +LDFLAGS_append_mipsarcho32 = " -latomic" +LDFLAGS_append_powerpc = " -latomic" +LDFLAGS_append_riscv64 = " -latomic" +LDFLAGS_append_armv5 = " -latomic" + do_configure() { cd ${JUCE_PROJUCER_MAKEFILE_PATH} CONFIG=Release oe_runmake clean @@ -35,3 +50,5 @@ do_install() { install -d ${D}${bindir} install -m 0755 ${JUCE_PROJUCER} ${D}${bindir} } +# error: '_NL_IDENTIFICATION_LANGUAGE' was not declared in this scope +COMPATIBLE_HOST_libc-musl = "null" diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/juce/projucer/0001-Disable-webkit-component.patch b/meta-openembedded/meta-multimedia/recipes-multimedia/juce/projucer/0001-Disable-webkit-component.patch new file mode 100644 index 0000000000..3728439c71 --- /dev/null +++ b/meta-openembedded/meta-multimedia/recipes-multimedia/juce/projucer/0001-Disable-webkit-component.patch @@ -0,0 +1,83 @@ +From df7190f430f30ee522f56f9714d42ee796f0d5ff Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Mon, 2 Dec 2019 22:18:41 -0800 +Subject: [PATCH] Disable webkit component + +It asks for enable JUCER_ENABLE_GPL_MODE + +Signed-off-by: Khem Raj +--- + extras/Projucer/Builds/LinuxMakefile/Makefile | 10 +++++----- + extras/Projucer/JuceLibraryCode/AppConfig.h | 4 ++-- + 2 files changed, 7 insertions(+), 7 deletions(-) + +diff --git a/extras/Projucer/Builds/LinuxMakefile/Makefile b/extras/Projucer/Builds/LinuxMakefile/Makefile +index 25b490460..8960f5bc6 100644 +--- a/extras/Projucer/Builds/LinuxMakefile/Makefile ++++ b/extras/Projucer/Builds/LinuxMakefile/Makefile +@@ -35,13 +35,13 @@ ifeq ($(CONFIG),Debug) + TARGET_ARCH := -march=native + endif + +- JUCE_CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DDEBUG=1 -D_DEBUG=1 -DJUCER_LINUX_MAKE_6D53C8B4=1 -DJUCE_APP_VERSION=5.4.5 -DJUCE_APP_VERSION_HEX=0x50405 $(shell pkg-config --cflags x11 xinerama xext freetype2 webkit2gtk-4.0 gtk+-x11-3.0) -pthread -I../../JuceLibraryCode -I../../../../modules $(CPPFLAGS) ++ JUCE_CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DDEBUG=1 -D_DEBUG=1 -DJUCER_LINUX_MAKE_6D53C8B4=1 -DJUCE_APP_VERSION=5.4.5 -DJUCE_APP_VERSION_HEX=0x50405 $(shell pkg-config --cflags x11 xinerama xext freetype2) -pthread -I../../JuceLibraryCode -I../../../../modules $(CPPFLAGS) + JUCE_CPPFLAGS_APP := -DJucePlugin_Build_VST=0 -DJucePlugin_Build_VST3=0 -DJucePlugin_Build_AU=0 -DJucePlugin_Build_AUv3=0 -DJucePlugin_Build_RTAS=0 -DJucePlugin_Build_AAX=0 -DJucePlugin_Build_Standalone=0 -DJucePlugin_Build_Unity=0 + JUCE_TARGET_APP := Projucer + + JUCE_CFLAGS += $(JUCE_CPPFLAGS) $(TARGET_ARCH) -g -ggdb -O0 $(CFLAGS) + JUCE_CXXFLAGS += $(JUCE_CFLAGS) -std=c++11 $(CXXFLAGS) +- JUCE_LDFLAGS += $(TARGET_ARCH) -L$(JUCE_BINDIR) -L$(JUCE_LIBDIR) $(shell pkg-config --libs x11 xinerama xext freetype2 webkit2gtk-4.0 gtk+-x11-3.0) -lrt -ldl -lpthread $(LDFLAGS) ++ JUCE_LDFLAGS += $(TARGET_ARCH) -L$(JUCE_BINDIR) -L$(JUCE_LIBDIR) $(shell pkg-config --libs x11 xinerama xext freetype2) -lrt -ldl -lpthread $(LDFLAGS) + + CLEANCMD = rm -rf $(JUCE_OUTDIR)/$(TARGET) $(JUCE_OBJDIR) + endif +@@ -56,13 +56,13 @@ ifeq ($(CONFIG),Release) + TARGET_ARCH := -march=native + endif + +- JUCE_CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DNDEBUG=1 -DJUCER_LINUX_MAKE_6D53C8B4=1 -DJUCE_APP_VERSION=5.4.5 -DJUCE_APP_VERSION_HEX=0x50405 $(shell pkg-config --cflags x11 xinerama xext freetype2 webkit2gtk-4.0 gtk+-x11-3.0) -pthread -I../../JuceLibraryCode -I../../../../modules $(CPPFLAGS) ++ JUCE_CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DNDEBUG=1 -DJUCER_LINUX_MAKE_6D53C8B4=1 -DJUCE_APP_VERSION=5.4.5 -DJUCE_APP_VERSION_HEX=0x50405 $(shell pkg-config --cflags x11 xinerama xext freetype2) -pthread -I../../JuceLibraryCode -I../../../../modules $(CPPFLAGS) + JUCE_CPPFLAGS_APP := -DJucePlugin_Build_VST=0 -DJucePlugin_Build_VST3=0 -DJucePlugin_Build_AU=0 -DJucePlugin_Build_AUv3=0 -DJucePlugin_Build_RTAS=0 -DJucePlugin_Build_AAX=0 -DJucePlugin_Build_Standalone=0 -DJucePlugin_Build_Unity=0 + JUCE_TARGET_APP := Projucer + + JUCE_CFLAGS += $(JUCE_CPPFLAGS) $(TARGET_ARCH) -O3 $(CFLAGS) + JUCE_CXXFLAGS += $(JUCE_CFLAGS) -std=c++11 $(CXXFLAGS) +- JUCE_LDFLAGS += $(TARGET_ARCH) -L$(JUCE_BINDIR) -L$(JUCE_LIBDIR) $(shell pkg-config --libs x11 xinerama xext freetype2 webkit2gtk-4.0 gtk+-x11-3.0) -fvisibility=hidden -lrt -ldl -lpthread $(LDFLAGS) ++ JUCE_LDFLAGS += $(TARGET_ARCH) -L$(JUCE_BINDIR) -L$(JUCE_LIBDIR) $(shell pkg-config --libs x11 xinerama xext freetype2) -fvisibility=hidden -lrt -ldl -lpthread $(LDFLAGS) + + CLEANCMD = rm -rf $(JUCE_OUTDIR)/$(TARGET) $(JUCE_OBJDIR) + endif +@@ -136,7 +136,7 @@ all : $(JUCE_OUTDIR)/$(JUCE_TARGET_APP) + + $(JUCE_OUTDIR)/$(JUCE_TARGET_APP) : $(OBJECTS_APP) $(RESOURCES) + @command -v pkg-config >/dev/null 2>&1 || { echo >&2 "pkg-config not installed. Please, install it."; exit 1; } +- @pkg-config --print-errors x11 xinerama xext freetype2 webkit2gtk-4.0 gtk+-x11-3.0 ++ @pkg-config --print-errors x11 xinerama xext freetype2 + @echo Linking "Projucer - App" + -$(V_AT)mkdir -p $(JUCE_BINDIR) + -$(V_AT)mkdir -p $(JUCE_LIBDIR) +diff --git a/extras/Projucer/JuceLibraryCode/AppConfig.h b/extras/Projucer/JuceLibraryCode/AppConfig.h +index dffd5af75..53302bd24 100644 +--- a/extras/Projucer/JuceLibraryCode/AppConfig.h ++++ b/extras/Projucer/JuceLibraryCode/AppConfig.h +@@ -32,7 +32,7 @@ + // BEGIN SECTION A + + #ifndef JUCER_ENABLE_GPL_MODE +- #define JUCER_ENABLE_GPL_MODE 0 ++ #define JUCER_ENABLE_GPL_MODE 1 + #endif + + // END SECTION A +@@ -180,7 +180,7 @@ + // juce_gui_extra flags: + + #ifndef JUCE_WEB_BROWSER +- //#define JUCE_WEB_BROWSER 1 ++ #define JUCE_WEB_BROWSER 0 + #endif + + #ifndef JUCE_ENABLE_LIVE_CONSTANT_EDITOR +-- +2.24.0 + diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/juce/projucer_git.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/juce/projucer_git.bb new file mode 100644 index 0000000000..f408f6f1bc --- /dev/null +++ b/meta-openembedded/meta-multimedia/recipes-multimedia/juce/projucer_git.bb @@ -0,0 +1,2 @@ +include projucer.inc +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/libcamera/files/0001-meson-import-python3-to-use-also-from-sysroot.patch b/meta-openembedded/meta-multimedia/recipes-multimedia/libcamera/files/0001-meson-import-python3-to-use-also-from-sysroot.patch new file mode 100644 index 0000000000..fc56a68528 --- /dev/null +++ b/meta-openembedded/meta-multimedia/recipes-multimedia/libcamera/files/0001-meson-import-python3-to-use-also-from-sysroot.patch @@ -0,0 +1,61 @@ +From ea47e53911213d71e997eb34848ae72735bacc82 Mon Sep 17 00:00:00 2001 +From: madhavank27 +Date: Thu, 9 Jan 2020 07:42:18 +0100 +Subject: [PATCH] meson: import python3 to use also from sysroot + +importing python module can provide the exact path +which can be used in desktop build as well as from +any build system + +Upstream-Status: Pending +Signed-off-by: madhavank27 +--- + include/libcamera/meson.build | 4 +++- + src/libcamera/meson.build | 4 +++- + 2 files changed, 6 insertions(+), 2 deletions(-) + +diff --git a/include/libcamera/meson.build b/include/libcamera/meson.build +index 99abf06..83525e2 100644 +--- a/include/libcamera/meson.build ++++ b/include/libcamera/meson.build +@@ -21,13 +21,15 @@ include_dir = join_paths(libcamera_include_dir, 'libcamera') + install_headers(libcamera_api, + subdir : include_dir) + ++python_mod = import('python3').find_python() ++ + gen_controls = files('../../src/libcamera/gen-controls.py') + + control_ids_h = custom_target('control_ids_h', + input : files('../../src/libcamera/control_ids.yaml', 'control_ids.h.in'), + output : 'control_ids.h', + depend_files : gen_controls, +- command : [gen_controls, '-o', '@OUTPUT@', '@INPUT@'], ++ command : [python_mod, gen_controls, '-o', '@OUTPUT@', '@INPUT@'], + install : true, + install_dir : join_paths('include', include_dir)) + +diff --git a/src/libcamera/meson.build b/src/libcamera/meson.build +index c4f965b..243935b 100644 +--- a/src/libcamera/meson.build ++++ b/src/libcamera/meson.build +@@ -65,13 +65,15 @@ if libudev.found() + ]) + endif + ++python_mod = import('python3').find_python() ++ + gen_controls = files('gen-controls.py') + + control_ids_cpp = custom_target('control_ids_cpp', + input : files('control_ids.yaml', 'control_ids.cpp.in'), + output : 'control_ids.cpp', + depend_files : gen_controls, +- command : [gen_controls, '-o', '@OUTPUT@', '@INPUT@']) ++ command : [python_mod, gen_controls, '-o', '@OUTPUT@', '@INPUT@']) + + libcamera_sources += control_ids_cpp + libcamera_sources += control_ids_h +-- +2.7.4 + diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/libcamera/libcamera.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/libcamera/libcamera.bb new file mode 100644 index 0000000000..b95bf6d09d --- /dev/null +++ b/meta-openembedded/meta-multimedia/recipes-multimedia/libcamera/libcamera.bb @@ -0,0 +1,31 @@ +SUMMARY = "Linux libcamera framework" +SECTION = "libs" + +LICENSE = "GPL-2.0 & LGPL-2.1" + +LIC_FILES_CHKSUM = "\ + file://licenses/gnu-gpl-2.0.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ + file://licenses/gnu-lgpl-2.1.txt;md5=4b54a1fd55a448865a0b32d41598759d \ +" + +SRC_URI = " \ + git://linuxtv.org/libcamera.git;protocol=git \ + file://0001-meson-import-python3-to-use-also-from-sysroot.patch \ +" + +SRCREV = "53eab996809e826bc914e4c34c78fe74d86f8dc4" + +PV = "201910+git${SRCPV}" + +S = "${WORKDIR}/git" + +DEPENDS = "python3-pyyaml-native udev" +DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'qt', 'qtbase qtbase-native', '', d)}" + +RDEPENDS_${PN} = "${@bb.utils.contains('DISTRO_FEATURES', 'wayland qt', 'qtwayland', '', d)}" + +inherit meson pkgconfig python3native + +FILES_${PN}-dev = "${includedir} ${libdir}/pkgconfig" +FILES_${PN} += " ${libdir}/libcamera.so" + diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/libdc1394/libdc1394_2.2.6.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/libdc1394/libdc1394_2.2.6.bb new file mode 100755 index 0000000000..c9ade4ac99 --- /dev/null +++ b/meta-openembedded/meta-multimedia/recipes-multimedia/libdc1394/libdc1394_2.2.6.bb @@ -0,0 +1,21 @@ +SUMMARY = "Capture and control API for IIDC compliant cameras" +HOMEPAGE = "http://sourceforge.net/projects/libdc1394/" +SECTION = "libs" +LICENSE = "LGPL-2.0" +LIC_FILES_CHKSUM = "file://COPYING;md5=c848e78d9a4a5cc69906178e4d6fbd64" + +# libsdl to provide sdl.m4 with AM_PATH_SDL +DEPENDS += "libusb1 libraw1394 libsdl \ + ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'libxv virtual/libx11', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'virtual/libgl', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'opengl x11', 'libglu', '', d)} \ +" + +SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.tar.gz \ + file://install_examples.patch \ + " +SRC_URI[md5sum] = "9fad67bbff08fe2818d5ec81802ec89f" +SRC_URI[sha256sum] = "2b905fc9aa4eec6bdcf6a2ae5f5ba021232739f5be047dec8fe8dd6049c10fed" +inherit autotools pkgconfig + +EXTRA_OECONF += "--disable-doxygen-doc --disable-examples" diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/libdc1394/libdc1394_git.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/libdc1394/libdc1394_git.bb deleted file mode 100755 index 3b3ac83e25..0000000000 --- a/meta-openembedded/meta-multimedia/recipes-multimedia/libdc1394/libdc1394_git.bb +++ /dev/null @@ -1,26 +0,0 @@ -SUMMARY = "Capture and control API for IIDC compliant cameras" -HOMEPAGE = "http://sourceforge.net/projects/libdc1394/" -SECTION = "libs" -LICENSE = "LGPL-2.0" -LIC_FILES_CHKSUM = "file://COPYING;md5=c848e78d9a4a5cc69906178e4d6fbd64" - -# libsdl to provide sdl.m4 with AM_PATH_SDL -DEPENDS += "libusb1 libraw1394 libsdl \ - ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'libxv virtual/libx11', '', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'virtual/libgl', '', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'opengl x11', 'libglu', '', d)} \ -" - -PV = "2.2.5+gitr${SRCPV}" - -SRCREV = "5e78f51936fd09db0c0f742c7d2c0e5bdbbeed56" - -SRC_URI = "git://git.code.sf.net/p/libdc1394/code;branch=master;protocol=git \ - file://install_examples.patch \ - " - -S = "${WORKDIR}/git/${BPN}" - -inherit autotools-brokensep pkgconfig - -EXTRA_OECONF += "--disable-doxygen-doc --disable-examples" diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/mpd/0001-StringBuffer-Include-cstddef-for-size_t.patch b/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/mpd/0001-StringBuffer-Include-cstddef-for-size_t.patch new file mode 100644 index 0000000000..1d869aa833 --- /dev/null +++ b/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/mpd/0001-StringBuffer-Include-cstddef-for-size_t.patch @@ -0,0 +1,27 @@ +From c14877071f14b218835f7fb034dea11bd1ba56f5 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Wed, 25 Dec 2019 09:40:16 -0800 +Subject: [PATCH] StringBuffer: Include cstddef for size_t + +Fixes +a.cpp:3:1: error: 'size_t' does not name a type + 3 | size_t s; + | ^~~~~~ +a.cpp:2:1: note: 'size_t' is defined in header ''; did you forget to '#include '? + +Upstream-Status: Submitted [https://github.com/MusicPlayerDaemon/MPD/pull/697] +Signed-off-by: Khem Raj +--- + src/util/StringBuffer.hxx | 1 + + 1 file changed, 1 insertion(+) + +--- a/src/util/StringBuffer.hxx ++++ b/src/util/StringBuffer.hxx +@@ -31,6 +31,7 @@ + #define STRING_BUFFER_HPP + + #include ++#include + + /** + * A statically allocated string buffer. diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/mpd/0002-Include-stdexcept-for-runtime_error.patch b/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/mpd/0002-Include-stdexcept-for-runtime_error.patch new file mode 100644 index 0000000000..1f11867191 --- /dev/null +++ b/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/mpd/0002-Include-stdexcept-for-runtime_error.patch @@ -0,0 +1,38 @@ +From 06f78ced45f6622a2e02cd09e6a2c0c22a98b89e Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Wed, 25 Dec 2019 09:41:55 -0800 +Subject: [PATCH 2/2] Include for runtime_error + +Fixes + +../git/src/LocateUri.cxx:65:14: error: 'runtime_error' is not a member of 'std' + 65 | throw std::runtime_error("Unsupported URI scheme"); + | ^~~~~~~~~~~~~ + +Upstream-Status: Inappropriate [ Fixed differently upstream ] +Signed-off-by: Khem Raj +--- + src/LocateUri.cxx | 1 + + src/pcm/PcmConvert.cxx | 1 + + 2 files changed, 2 insertions(+) + +--- a/src/LocateUri.cxx ++++ b/src/LocateUri.cxx +@@ -17,6 +17,7 @@ + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + ++#include + #include "config.h" + #include "LocateUri.hxx" + #include "client/Client.hxx" +--- a/src/pcm/PcmConvert.cxx ++++ b/src/pcm/PcmConvert.cxx +@@ -17,6 +17,7 @@ + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + ++#include + #include "config.h" + #include "PcmConvert.hxx" + #include "ConfiguredResampler.hxx" diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/mpd_0.20.22.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/mpd_0.20.22.bb index 6c6ad42375..133ee6e792 100644 --- a/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/mpd_0.20.22.bb +++ b/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/mpd_0.20.22.bb @@ -19,6 +19,8 @@ DEPENDS += " \ SRC_URI = " \ git://github.com/MusicPlayerDaemon/MPD;branch=v0.20.x \ file://mpd.conf.in \ + file://0001-StringBuffer-Include-cstddef-for-size_t.patch \ + file://0002-Include-stdexcept-for-runtime_error.patch \ " SRCREV = "9274bc15bc41bbe490fde847f8422468cc20375d" S = "${WORKDIR}/git" diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/mycroft/mycroft_19.8.1.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/mycroft/mycroft_19.8.1.bb index 3c7bd89635..62d1ad7f74 100644 --- a/meta-openembedded/meta-multimedia/recipes-multimedia/mycroft/mycroft_19.8.1.bb +++ b/meta-openembedded/meta-multimedia/recipes-multimedia/mycroft/mycroft_19.8.1.bb @@ -79,7 +79,7 @@ RDEPENDS_${PN} += "python3-requests python3-pillow \ # Mycroft uses Alsa, PulseAudio and Flac RDEPENDS_${PN} += "alsa-utils alsa-plugins alsa-tools" RDEPENDS_${PN} += "pulseaudio pulseaudio-misc pulseaudio-server" -RDEPENDS_${PN} += "flac" +RDEPENDS_${PN} += "flac mpg123" # Mycroft can do this itself on the target, but it's quicker to do it here RDEPENDS_${PN} += "mimic" diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/tinyalsa/tinyalsa.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/tinyalsa/tinyalsa.bb index 8b86f82430..062096892e 100644 --- a/meta-openembedded/meta-multimedia/recipes-multimedia/tinyalsa/tinyalsa.bb +++ b/meta-openembedded/meta-multimedia/recipes-multimedia/tinyalsa/tinyalsa.bb @@ -7,7 +7,9 @@ LICENSE = "BSD-3-Clause" LIC_FILES_CHKSUM = "file://NOTICE;md5=dbdefe400d894b510a9de14813181d0b" SRCREV = "8449529c7e50f432091539ba7b438e79b04059b5" -SRC_URI = "git://github.com/tinyalsa/tinyalsa" +SRC_URI = "git://github.com/tinyalsa/tinyalsa \ + file://0001-Use-CMAKE_INSTALL_-path-instead-of-hardcoding-bin-li.patch \ + " PV = "1.1.1+git${SRCPV}" S = "${WORKDIR}/git" diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/tinyalsa/tinyalsa/0001-Use-CMAKE_INSTALL_-path-instead-of-hardcoding-bin-li.patch b/meta-openembedded/meta-multimedia/recipes-multimedia/tinyalsa/tinyalsa/0001-Use-CMAKE_INSTALL_-path-instead-of-hardcoding-bin-li.patch new file mode 100644 index 0000000000..6f9c39996b --- /dev/null +++ b/meta-openembedded/meta-multimedia/recipes-multimedia/tinyalsa/tinyalsa/0001-Use-CMAKE_INSTALL_-path-instead-of-hardcoding-bin-li.patch @@ -0,0 +1,46 @@ +From fe4f3c2a37a81201f463ff962364f014f50c9896 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Mon, 16 Dec 2019 22:58:41 -0800 +Subject: [PATCH] Use CMAKE_INSTALL_ instead of hardcoding bin/lib/ + install paths + +Helps fix build/packaging issues on machines where default libdir is not +lib but say lib64 + +Upstream-Status: Submitted [https://github.com/tinyalsa/tinyalsa/pull/143] +Signed-off-by: Khem Raj +--- + CMakeLists.txt | 14 +++++++++++--- + 1 file changed, 11 insertions(+), 3 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index cb31c58..1cc4a85 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -41,12 +41,20 @@ add_util("tinymix" "utils/tinymix.c") + install(FILES ${HDRS} + DESTINATION "include/tinyalsa") + ++if(NOT DEFINED CMAKE_INSTALL_LIBDIR) ++ set(CMAKE_INSTALL_LIBDIR lib) ++endif() ++ ++if(NOT DEFINED CMAKE_INSTALL_BINDIR) ++ set(CMAKE_INSTALL_BINDIR bin) ++endif() ++ + install(TARGETS "tinyalsa" + "tinyplay" + "tinycap" + "tinymix" + "tinypcminfo" +- RUNTIME DESTINATION "bin" +- ARCHIVE DESTINATION "lib" +- LIBRARY DESTINATION "lib") ++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} ++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) + +-- +2.24.1 + diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/vorbis-tools/vorbis-tools/gettext.patch b/meta-openembedded/meta-multimedia/recipes-multimedia/vorbis-tools/vorbis-tools/gettext.patch new file mode 100644 index 0000000000..b61ce7c184 --- /dev/null +++ b/meta-openembedded/meta-multimedia/recipes-multimedia/vorbis-tools/vorbis-tools/gettext.patch @@ -0,0 +1,37 @@ +Fix build with gettext 0.20.x + +Upstream-Status: Pending +Signed-off-by: Khem Raj + +--- a/Makefile.am ++++ b/Makefile.am +@@ -2,8 +2,8 @@ + + AUTOMAKE_OPTIONS = foreign dist-zip + +-SUBDIRS = po intl include share debian win32 @OPT_SUBDIRS@ +-DIST_SUBDIRS = po intl include share debian win32 ogg123 oggenc oggdec ogginfo \ ++SUBDIRS = po include share debian win32 @OPT_SUBDIRS@ ++DIST_SUBDIRS = po include share debian win32 ogg123 oggenc oggdec ogginfo \ + vcut vorbiscomment m4 + + EXTRA_DIST = config.rpath README AUTHORS COPYING CHANGES vorbis-tools.spec config.h mkinstalldirs +--- a/configure.ac ++++ b/configure.ac +@@ -31,7 +31,7 @@ CFLAGS="$cflags_save" + AC_PROG_LIBTOOL + + ALL_LINGUAS="be cs da en_GB eo es fr hr hu nl pl ro ru sk sv uk vi" +-AM_GNU_GETTEXT ++AM_GNU_GETTEXT([external]) + + dnl -------------------------------------------------- + dnl System checks +@@ -383,7 +383,6 @@ AC_OUTPUT([ + Makefile + m4/Makefile + po/Makefile.in +-intl/Makefile + include/Makefile + share/Makefile + win32/Makefile diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/vorbis-tools/vorbis-tools_1.4.0.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/vorbis-tools/vorbis-tools_1.4.0.bb index 8e9914b498..89e66528ac 100644 --- a/meta-openembedded/meta-multimedia/recipes-multimedia/vorbis-tools/vorbis-tools_1.4.0.bb +++ b/meta-openembedded/meta-multimedia/recipes-multimedia/vorbis-tools/vorbis-tools_1.4.0.bb @@ -13,6 +13,7 @@ DEPENDS = "libogg libvorbis" SRC_URI = "http://downloads.xiph.org/releases/vorbis/${BP}.tar.gz \ file://0001-oggenc-Fix-large-alloca-on-bad-AIFF-input.patch \ file://0004-Fix-format-error-blocking-compilation-with-hardening.patch \ + file://gettext.patch \ " SRC_URI[md5sum] = "567e0fb8d321b2cd7124f8208b8b90e6" diff --git a/meta-openembedded/meta-networking/recipes-connectivity/blueman/blueman_2.1.1.bb b/meta-openembedded/meta-networking/recipes-connectivity/blueman/blueman_2.1.1.bb index 96c8bb26c9..0ea7f6de97 100644 --- a/meta-openembedded/meta-networking/recipes-connectivity/blueman/blueman_2.1.1.bb +++ b/meta-openembedded/meta-networking/recipes-connectivity/blueman/blueman_2.1.1.bb @@ -15,6 +15,7 @@ SRC_URI[md5sum] = "9de89abb31be45bdbf11f7884764a2dc" SRC_URI[sha256sum] = "f1eab2334e5a1587defa80900901048d14c2e8ffa8c0cff7240bc9937a61dbc3" EXTRA_OECONF = " \ + --disable-appindicator \ --disable-runtime-deps-check \ --disable-schemas-compile \ " diff --git a/meta-openembedded/meta-networking/recipes-connectivity/cannelloni/cannelloni/0001-Use-GNUInstallDirs-instead-of-hard-coding-paths.patch b/meta-openembedded/meta-networking/recipes-connectivity/cannelloni/cannelloni/0001-Use-GNUInstallDirs-instead-of-hard-coding-paths.patch new file mode 100644 index 0000000000..b78f0b3291 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-connectivity/cannelloni/cannelloni/0001-Use-GNUInstallDirs-instead-of-hard-coding-paths.patch @@ -0,0 +1,43 @@ +From c74f04dbab4d586287347b1d5517f36e2f0c3d8e Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Thu, 19 Dec 2019 15:52:34 -0800 +Subject: [PATCH] Use GNUInstallDirs instead of hard-coding paths + +Bump minimum cmake version to be >= 3.1 + +Upstream-Status: Submitted [https://github.com/mguentner/cannelloni/pull/22] +Signed-off-by: Khem Raj +--- + CMakeLists.txt | 8 +++++--- + 1 file changed, 5 insertions(+), 3 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 51b354f..958e0eb 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1,4 +1,4 @@ +-cmake_minimum_required(VERSION 2.6) ++cmake_minimum_required(VERSION 3.1) + project(cannelloni) + + list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules") +@@ -60,6 +60,8 @@ set_target_properties ( cannelloni-common + SOVERSION 0 + ) + ++include(GNUInstallDirs) ++ + if(SCTP_SUPPORT) + add_library(sctpthread STATIC sctpthread.cpp) + target_link_libraries(sctpthread addsources sctp) +@@ -68,5 +70,5 @@ endif(SCTP_SUPPORT) + set_target_properties(addsources PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}) + target_link_libraries(cannelloni addsources cannelloni-common pthread) + +-install(TARGETS cannelloni DESTINATION bin) +-install(TARGETS cannelloni-common DESTINATION lib) ++install(TARGETS cannelloni DESTINATION ${CMAKE_INSTALL_BINDIR}) ++install(TARGETS cannelloni-common DESTINATION ${CMAKE_INSTALL_LIBDIR}) +-- +2.24.1 + diff --git a/meta-openembedded/meta-networking/recipes-connectivity/cannelloni/cannelloni/0002-include-missing-stdexcept-for-runtime_error.patch b/meta-openembedded/meta-networking/recipes-connectivity/cannelloni/cannelloni/0002-include-missing-stdexcept-for-runtime_error.patch new file mode 100644 index 0000000000..55f28dd672 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-connectivity/cannelloni/cannelloni/0002-include-missing-stdexcept-for-runtime_error.patch @@ -0,0 +1,32 @@ +From 1788762863cd1f657697575f6e73a22e661ccb43 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Mon, 23 Dec 2019 10:32:54 -0800 +Subject: [PATCH 2/2] include missing for runtime_error +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Fixes +error: ‘runtime_error’ is not a member of ‘std’ + +Upstream-Status: Submitted [https://github.com/mguentner/cannelloni/pull/22] +Signed-off-by: Khem Raj +--- + parser.cpp | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/parser.cpp b/parser.cpp +index 4afb9e0..5bcdbde 100644 +--- a/parser.cpp ++++ b/parser.cpp +@@ -2,6 +2,7 @@ + + #include + #include ++#include + + void parseFrames(uint16_t len, const uint8_t* buffer, std::function frameAllocator, + std::function frameReceiver) +-- +2.24.1 + diff --git a/meta-openembedded/meta-networking/recipes-connectivity/cannelloni/cannelloni_git.bb b/meta-openembedded/meta-networking/recipes-connectivity/cannelloni/cannelloni_git.bb index df75e6342e..d4a62bd92d 100644 --- a/meta-openembedded/meta-networking/recipes-connectivity/cannelloni/cannelloni_git.bb +++ b/meta-openembedded/meta-networking/recipes-connectivity/cannelloni/cannelloni_git.bb @@ -2,8 +2,11 @@ SUMMARY = "a SocketCAN over Ethernet tunnel" HOMEPAGE = "https://github.com/mguentner/cannelloni" LICENSE = "GPLv2" -SRC_URI = "git://github.com/mguentner/cannelloni.git;protocol=https" -SRCREV = "44080bb021d1a143e6906f2ec4610513c4e1cece" +SRC_URI = "git://github.com/mguentner/cannelloni.git;protocol=https \ + file://0001-Use-GNUInstallDirs-instead-of-hard-coding-paths.patch \ + file://0002-include-missing-stdexcept-for-runtime_error.patch \ + " +SRCREV = "82aa49b417b96fe46bb3f017ae1bfea928f20f9a" PV = "20160414+${SRCPV}" diff --git a/meta-openembedded/meta-networking/recipes-connectivity/civetweb/civetweb_git.bb b/meta-openembedded/meta-networking/recipes-connectivity/civetweb/civetweb_git.bb index c8fe24c637..71368c1a15 100644 --- a/meta-openembedded/meta-networking/recipes-connectivity/civetweb/civetweb_git.bb +++ b/meta-openembedded/meta-networking/recipes-connectivity/civetweb/civetweb_git.bb @@ -4,7 +4,7 @@ HOMEPAGE = "https://github.com/civetweb/civetweb" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://LICENSE.md;md5=6f28fdcba0dda735eed62bac6a397562" -SRCREV = "ce8f6d38a60eb16c996afee1e5340f76ef4d0923" +SRCREV = "6423faea4800f6cd4055750a7af2da85cdbe4e96" PV = "1.11+git${SRCPV}" SRC_URI = "git://github.com/civetweb/civetweb.git \ file://0001-Unittest-Link-librt-and-libm-using-l-option.patch \ diff --git a/meta-openembedded/meta-networking/recipes-connectivity/firewalld/firewalld_0.7.2.bb b/meta-openembedded/meta-networking/recipes-connectivity/firewalld/firewalld_0.7.2.bb index 7d80a632d1..97c7bd6420 100644 --- a/meta-openembedded/meta-networking/recipes-connectivity/firewalld/firewalld_0.7.2.bb +++ b/meta-openembedded/meta-networking/recipes-connectivity/firewalld/firewalld_0.7.2.bb @@ -66,6 +66,7 @@ do_install_append() { FILES_${PN} += "\ ${PYTHON_SITEPACKAGES_DIR}/firewall \ + ${nonarch_libdir}/firewalld \ ${datadir}/dbus-1 \ ${datadir}/polkit-1 \ ${datadir}/metainfo \ diff --git a/meta-openembedded/meta-networking/recipes-connectivity/kea/kea_1.7.0.bb b/meta-openembedded/meta-networking/recipes-connectivity/kea/kea_1.7.0.bb deleted file mode 100644 index 105ba10d7a..0000000000 --- a/meta-openembedded/meta-networking/recipes-connectivity/kea/kea_1.7.0.bb +++ /dev/null @@ -1,63 +0,0 @@ -SUMMARY = "ISC Kea DHCP Server" -DESCRIPTION = "Kea is the next generation of DHCP software developed by ISC. It supports both DHCPv4 and DHCPv6 protocols along with their extensions, e.g. prefix delegation and dynamic updates to DNS." -HOMEPAGE = "http://kea.isc.org" -SECTION = "connectivity" -LICENSE = "MPL-2.0 & Apache-2.0" -LIC_FILES_CHKSUM = "file://COPYING;md5=0e5b01c848c7736a0c9e68f9c9cd0281" - -DEPENDS += "kea-native" - -SRC_URI = "\ - http://ftp.isc.org/isc/kea/${PV}/${BP}.tar.gz \ - file://0001-remove-AC_TRY_RUN.patch \ - file://kea-dhcp4.service \ - file://kea-dhcp6.service \ - file://kea-dhcp-ddns.service \ -" -SRC_URI[md5sum] = "c6406ac3d160161056d2fc36557ebd89" -SRC_URI[sha256sum] = "173c8e893690a611bc1d1c6fbe54a5c20fcd54429399a8dc3a0d7d2eb01bf8cc" - -inherit autotools systemd - -SYSTEMD_SERVICE_${PN} = "kea-dhcp4.service kea-dhcp6.service kea-dhcp-ddns.service" -SYSTEMD_AUTO_ENABLE = "disable" - -DEBUG_OPTIMIZATION_remove_mips = " -Og" -DEBUG_OPTIMIZATION_append_mips = " -O" -BUILD_OPTIMIZATION_remove_mips = " -Og" -BUILD_OPTIMIZATION_append_mips = " -O" - -DEBUG_OPTIMIZATION_remove_mipsel = " -Og" -DEBUG_OPTIMIZATION_append_mipsel = " -O" -BUILD_OPTIMIZATION_remove_mipsel = " -Og" -BUILD_OPTIMIZATION_append_mipsel = " -O" - -do_configure_prepend_class-target() { - mkdir -p ${B}/src/lib/log/compiler/ - ln -sf ${STAGING_BINDIR_NATIVE}/kea-msg-compiler ${B}/src/lib/log/compiler/kea-msg-compiler -} - -do_install_append_class-target() { - install -d ${D}${systemd_system_unitdir} - install -m 0644 ${WORKDIR}/kea-dhcp*service ${D}${systemd_system_unitdir} - sed -i -e 's,@SBINDIR@,${sbindir},g' -e 's,@BASE_BINDIR@,${base_bindir},g' \ - -e 's,@LOCALSTATEDIR@,${localstatedir},g' -e 's,@SYSCONFDIR@,${sysconfdir},g' \ - ${D}${systemd_system_unitdir}/kea-dhcp*service -} - -do_install_append() { - rm -rf "${D}${localstatedir}" -} - -PACKAGECONFIG ??= "openssl log4cplus boost" - -PACKAGECONFIG[openssl] = "--with-openssl=${STAGING_DIR_TARGET}${prefix},,openssl,openssl" -PACKAGECONFIG[log4cplus] = "--with-log4cplus=${STAGING_DIR_TARGET}${prefix},,log4cplus,log4cplus" -PACKAGECONFIG[boost] = "--with-boost-libs=-lboost_system,,boost,boost" - -FILES_${PN}-staticdev += "${libdir}/kea/hooks/*.a ${libdir}/hooks/*.a" -FILES_${PN} += "${libdir}/hooks/*.so" - -BBCLASSEXTEND += "native" - -PARALLEL_MAKEINST = "" diff --git a/meta-openembedded/meta-networking/recipes-connectivity/kea/kea_1.7.3.bb b/meta-openembedded/meta-networking/recipes-connectivity/kea/kea_1.7.3.bb new file mode 100644 index 0000000000..e230fd0fe6 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-connectivity/kea/kea_1.7.3.bb @@ -0,0 +1,63 @@ +SUMMARY = "ISC Kea DHCP Server" +DESCRIPTION = "Kea is the next generation of DHCP software developed by ISC. It supports both DHCPv4 and DHCPv6 protocols along with their extensions, e.g. prefix delegation and dynamic updates to DNS." +HOMEPAGE = "http://kea.isc.org" +SECTION = "connectivity" +LICENSE = "MPL-2.0 & Apache-2.0" +LIC_FILES_CHKSUM = "file://COPYING;md5=0e5b01c848c7736a0c9e68f9c9cd0281" + +DEPENDS += "kea-native" + +SRC_URI = "\ + http://ftp.isc.org/isc/kea/${PV}/${BP}.tar.gz \ + file://0001-remove-AC_TRY_RUN.patch \ + file://kea-dhcp4.service \ + file://kea-dhcp6.service \ + file://kea-dhcp-ddns.service \ +" +SRC_URI[md5sum] = "fda03bf465818009b70dffc226da777d" +SRC_URI[sha256sum] = "30f82c548b844c12ed46c4eb3880d63b45ec04cecfcf2e4ab1d7bada7fff4f2a" + +inherit autotools systemd + +SYSTEMD_SERVICE_${PN} = "kea-dhcp4.service kea-dhcp6.service kea-dhcp-ddns.service" +SYSTEMD_AUTO_ENABLE = "disable" + +DEBUG_OPTIMIZATION_remove_mips = " -Og" +DEBUG_OPTIMIZATION_append_mips = " -O" +BUILD_OPTIMIZATION_remove_mips = " -Og" +BUILD_OPTIMIZATION_append_mips = " -O" + +DEBUG_OPTIMIZATION_remove_mipsel = " -Og" +DEBUG_OPTIMIZATION_append_mipsel = " -O" +BUILD_OPTIMIZATION_remove_mipsel = " -Og" +BUILD_OPTIMIZATION_append_mipsel = " -O" + +do_configure_prepend_class-target() { + mkdir -p ${B}/src/lib/log/compiler/ + ln -sf ${STAGING_BINDIR_NATIVE}/kea-msg-compiler ${B}/src/lib/log/compiler/kea-msg-compiler +} + +do_install_append_class-target() { + install -d ${D}${systemd_system_unitdir} + install -m 0644 ${WORKDIR}/kea-dhcp*service ${D}${systemd_system_unitdir} + sed -i -e 's,@SBINDIR@,${sbindir},g' -e 's,@BASE_BINDIR@,${base_bindir},g' \ + -e 's,@LOCALSTATEDIR@,${localstatedir},g' -e 's,@SYSCONFDIR@,${sysconfdir},g' \ + ${D}${systemd_system_unitdir}/kea-dhcp*service +} + +do_install_append() { + rm -rf "${D}${localstatedir}" +} + +PACKAGECONFIG ??= "openssl log4cplus boost" + +PACKAGECONFIG[openssl] = "--with-openssl=${STAGING_DIR_TARGET}${prefix},,openssl,openssl" +PACKAGECONFIG[log4cplus] = "--with-log4cplus=${STAGING_DIR_TARGET}${prefix},,log4cplus,log4cplus" +PACKAGECONFIG[boost] = "--with-boost-libs=-lboost_system,,boost,boost" + +FILES_${PN}-staticdev += "${libdir}/kea/hooks/*.a ${libdir}/hooks/*.a" +FILES_${PN} += "${libdir}/hooks/*.so" + +BBCLASSEXTEND += "native" + +PARALLEL_MAKEINST = "" diff --git a/meta-openembedded/meta-networking/recipes-connectivity/lftp/files/fix-gcc-6-conflicts-signbit.patch b/meta-openembedded/meta-networking/recipes-connectivity/lftp/files/fix-gcc-6-conflicts-signbit.patch deleted file mode 100644 index 952232b7a7..0000000000 --- a/meta-openembedded/meta-networking/recipes-connectivity/lftp/files/fix-gcc-6-conflicts-signbit.patch +++ /dev/null @@ -1,44 +0,0 @@ ---- lftp-4.6.3a/src/NetAccess.cc.orig 2016-06-18 10:25:51.063358981 -0400 -+++ lftp-4.6.3a/src/NetAccess.cc 2016-06-18 10:26:04.143359209 -0400 -@@ -21,7 +21,7 @@ - - #include - #include --#include -+#include - #include - - #include "NetAccess.h" ---- lftp-4.6.3a/src/Speedometer.cc.orig 2016-06-18 10:24:58.895358073 -0400 -+++ lftp-4.6.3a/src/Speedometer.cc 2016-06-18 10:25:10.879358281 -0400 -@@ -18,7 +18,7 @@ - */ - - #include --#include -+#include - #include - #include "Speedometer.h" - #include "misc.h" ---- lftp-4.6.3a/src/FileCopy.cc.orig 2016-06-18 10:24:15.939357325 -0400 -+++ lftp-4.6.3a/src/FileCopy.cc 2016-06-18 10:24:24.583357475 -0400 -@@ -36,7 +36,7 @@ - #include - #include - #include --#include -+#include - #include - #include "FileCopy.h" - #include "url.h" ---- lftp-4.6.3a/src/ResMgr.cc.orig 2016-06-18 10:23:31.387356549 -0400 -+++ lftp-4.6.3a/src/ResMgr.cc 2016-06-18 10:23:41.771356729 -0400 -@@ -23,7 +23,7 @@ - #include - #include - #include --#include -+#include - #include - #include - #include diff --git a/meta-openembedded/meta-networking/recipes-connectivity/lftp/lftp_4.8.4.bb b/meta-openembedded/meta-networking/recipes-connectivity/lftp/lftp_4.8.4.bb deleted file mode 100644 index bf793d91d3..0000000000 --- a/meta-openembedded/meta-networking/recipes-connectivity/lftp/lftp_4.8.4.bb +++ /dev/null @@ -1,33 +0,0 @@ -DESCRIPTION = "LFTP is a sophisticated file transfer program with \ - command line interface. It supports FTP, HTTP, \ - FISH, SFTP, HTTPS and FTPS protocols" -HOMEPAGE = "http://lftp.yar.ru/" -SECTION = "console/network" -LICENSE = "GPLv3" -LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" - -SRC_URI = "http://lftp.yar.ru/ftp/lftp-${PV}.tar.bz2 \ - file://fix-gcc-6-conflicts-signbit.patch \ - " -SRC_URI[md5sum] = "a56b5047dbfda052df4c1dfd197aa092" -SRC_URI[sha256sum] = "a853edbd075b008c315679c7882b6dcc6821ed2365d2ed843a412acd3d40da0e" - -inherit autotools gettext pkgconfig - -acpaths = "-I ./m4" - -EXTRA_OECONF += "--with-modules --disable-rpath" - -PACKAGECONFIG ??= "openssl zlib gnutls readline expat" -PACKAGECONFIG[openssl] = "--with-openssl, --without-openssl, openssl" -PACKAGECONFIG[zlib] = "--with-zlib=${STAGING_INCDIR}/.., --without-zlib, zlib" -PACKAGECONFIG[gnutls] = "--with-gnutls, --without-gnutls, gnutls" -PACKAGECONFIG[readline] = "--with-readline=${STAGING_INCDIR}/.. --with-readline-inc=${STAGING_INCDIR} --with-readline-lib=-lreadline, --with-readline=no, readline" -PACKAGECONFIG[expat] = "--with-expat=${STAGING_INCDIR}/.. --with-expat-inc=${STAGING_INCDIR} --with-expat-lib=-lexpat, , expat" - -do_install_append() { - rm -rf ${D}${libdir}/charset.alias -} -FILES_${PN} += "${datadir}/icons/hicolor" -FILES_${PN}-dbg += "${libdir}/lftp/${PV}/.debug" -RDEPENDS_${PN} = "perl bash readline" diff --git a/meta-openembedded/meta-networking/recipes-connectivity/lftp/lftp_4.9.0.bb b/meta-openembedded/meta-networking/recipes-connectivity/lftp/lftp_4.9.0.bb new file mode 100644 index 0000000000..ef047f7a3c --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-connectivity/lftp/lftp_4.9.0.bb @@ -0,0 +1,31 @@ +DESCRIPTION = "LFTP is a sophisticated file transfer program with \ + command line interface. It supports FTP, HTTP, \ + FISH, SFTP, HTTPS and FTPS protocols" +HOMEPAGE = "http://lftp.yar.ru/" +SECTION = "console/network" +LICENSE = "GPLv3" +LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" + +SRC_URI = "http://lftp.yar.ru/ftp/lftp-${PV}.tar.bz2" +SRC_URI[md5sum] = "b05817a2c26463618271730d0f677edb" +SRC_URI[sha256sum] = "309e7e91a7c020625715e85c1726b1e7524da22518683fbe051ac13116dedeac" + +inherit autotools gettext pkgconfig + +acpaths = "-I ./m4" + +EXTRA_OECONF += "--with-modules --disable-rpath" + +PACKAGECONFIG ??= "openssl zlib gnutls readline expat" +PACKAGECONFIG[openssl] = "--with-openssl, --without-openssl, openssl" +PACKAGECONFIG[zlib] = "--with-zlib=${STAGING_INCDIR}/.., --without-zlib, zlib" +PACKAGECONFIG[gnutls] = "--with-gnutls, --without-gnutls, gnutls" +PACKAGECONFIG[readline] = "--with-readline=${STAGING_INCDIR}/.. --with-readline-inc=${STAGING_INCDIR} --with-readline-lib=-lreadline, --with-readline=no, readline" +PACKAGECONFIG[expat] = "--with-expat=${STAGING_INCDIR}/.. --with-expat-inc=${STAGING_INCDIR} --with-expat-lib=-lexpat, , expat" + +do_install_append() { + rm -rf ${D}${libdir}/charset.alias +} +FILES_${PN} += "${datadir}/icons/hicolor" +FILES_${PN}-dbg += "${libdir}/lftp/${PV}/.debug" +RDEPENDS_${PN} = "perl bash readline" diff --git a/meta-openembedded/meta-networking/recipes-connectivity/mosquitto/mosquitto_1.6.7.bb b/meta-openembedded/meta-networking/recipes-connectivity/mosquitto/mosquitto_1.6.7.bb deleted file mode 100644 index 340f643d4a..0000000000 --- a/meta-openembedded/meta-networking/recipes-connectivity/mosquitto/mosquitto_1.6.7.bb +++ /dev/null @@ -1,98 +0,0 @@ -SUMMARY = "Open source MQTT implementation" -DESCRIPTION = "Mosquitto is an open source (Eclipse licensed) message broker \ -that implements the MQ Telemetry Transport protocol version 3.1, 3.1.1 and \ -5, providing both an MQTT broker and several command-line clients. MQTT \ -provides a lightweight method of carrying out messaging using a \ -publish/subscribe model. " -HOMEPAGE = "http://mosquitto.org/" -SECTION = "console/network" -LICENSE = "EPL-1.0 | EDL-1.0" -LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=62ddc846179e908dc0c8efec4a42ef20 \ - file://edl-v10;md5=c09f121939f063aeb5235972be8c722c \ - file://epl-v10;md5=8d383c379e91d20ba18a52c3e7d3a979 \ - file://notice.html;md5=a00d6f9ab542be7babc2d8b80d5d2a4c \ -" -DEPENDS = "uthash" - -SRC_URI = "http://mosquitto.org/files/source/mosquitto-${PV}.tar.gz \ - file://mosquitto.init \ -" - -SRC_URI[md5sum] = "ec9074c4f337f64eaa9a4320c6dab020" -SRC_URI[sha256sum] = "bcd31a8fbbd053fee328986fadd8666d3058357ded56b9782f7d4f19931d178e" - -inherit systemd update-rc.d useradd - -PACKAGECONFIG ??= "ssl uuid \ - ${@bb.utils.filter('DISTRO_FEATURES','systemd', d)} \ - " - -PACKAGECONFIG[dns-srv] = "WITH_SRV=yes,WITH_SRV=no,c-ares" -PACKAGECONFIG[ssl] = "WITH_TLS=yes WITH_TLS_PSK=yes,WITH_TLS=no WITH_TLS_PSK=no,openssl" -PACKAGECONFIG[uuid] = "WITH_UUID=yes,WITH_UUID=no,util-linux" -PACKAGECONFIG[systemd] = "WITH_SYSTEMD=yes,WITH_SYSTEMD=no,systemd" -PACKAGECONFIG[websockets] = "WITH_WEBSOCKETS=yes,WITH_WEBSOCKETS=no,libwebsockets" - -EXTRA_OEMAKE = " \ - prefix=${prefix} \ - mandir=${mandir} \ - localedir=${localedir} \ - ${PACKAGECONFIG_CONFARGS} \ - STRIP=/bin/true \ - WITH_DOCS=no \ - WITH_BUNDLED_DEPS=no \ -" - -export LIB_SUFFIX = "${@d.getVar('baselib').replace('lib', '')}" - -do_install() { - oe_runmake 'DESTDIR=${D}' install - - install -d ${D}${systemd_unitdir}/system/ - install -m 0644 ${S}/service/systemd/mosquitto.service.notify ${D}${systemd_unitdir}/system/mosquitto.service - - install -d ${D}${sysconfdir}/mosquitto - install -m 0644 ${D}${sysconfdir}/mosquitto/mosquitto.conf.example \ - ${D}${sysconfdir}/mosquitto/mosquitto.conf - - install -d ${D}${sysconfdir}/init.d/ - install -m 0755 ${WORKDIR}/mosquitto.init ${D}${sysconfdir}/init.d/mosquitto - sed -i -e 's,@SBINDIR@,${sbindir},g' \ - -e 's,@BASE_SBINDIR@,${base_sbindir},g' \ - -e 's,@LOCALSTATEDIR@,${localstatedir},g' \ - -e 's,@SYSCONFDIR@,${sysconfdir},g' \ - ${D}${sysconfdir}/init.d/mosquitto -} - -PACKAGES += "libmosquitto1 libmosquittopp1 ${PN}-clients" - -PACKAGE_BEFORE_PN = "${PN}-examples" - -FILES_${PN} = "${sbindir}/mosquitto \ - ${bindir}/mosquitto_passwd \ - ${sysconfdir}/mosquitto \ - ${sysconfdir}/init.d \ - ${systemd_unitdir}/system/mosquitto.service \ -" - -CONFFILES_${PN} += "${sysconfdir}/mosquitto/mosquitto.conf" - -FILES_libmosquitto1 = "${libdir}/libmosquitto.so.1" - -FILES_libmosquittopp1 = "${libdir}/libmosquittopp.so.1" - -FILES_${PN}-clients = "${bindir}/mosquitto_pub \ - ${bindir}/mosquitto_sub \ - ${bindir}/mosquitto_rr \ -" - -FILES_${PN}-examples = "${sysconfdir}/mosquitto/*.example" - -SYSTEMD_SERVICE_${PN} = "mosquitto.service" - -INITSCRIPT_NAME = "mosquitto" -INITSCRIPT_PARAMS = "defaults 30" - -USERADD_PACKAGES = "${PN}" -USERADD_PARAM_${PN} = "--system --no-create-home --shell /bin/false \ - --user-group mosquitto" diff --git a/meta-openembedded/meta-networking/recipes-connectivity/mosquitto/mosquitto_1.6.8.bb b/meta-openembedded/meta-networking/recipes-connectivity/mosquitto/mosquitto_1.6.8.bb new file mode 100644 index 0000000000..ea533d8a02 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-connectivity/mosquitto/mosquitto_1.6.8.bb @@ -0,0 +1,98 @@ +SUMMARY = "Open source MQTT implementation" +DESCRIPTION = "Mosquitto is an open source (Eclipse licensed) message broker \ +that implements the MQ Telemetry Transport protocol version 3.1, 3.1.1 and \ +5, providing both an MQTT broker and several command-line clients. MQTT \ +provides a lightweight method of carrying out messaging using a \ +publish/subscribe model. " +HOMEPAGE = "http://mosquitto.org/" +SECTION = "console/network" +LICENSE = "EPL-1.0 | EDL-1.0" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=62ddc846179e908dc0c8efec4a42ef20 \ + file://edl-v10;md5=c09f121939f063aeb5235972be8c722c \ + file://epl-v10;md5=8d383c379e91d20ba18a52c3e7d3a979 \ + file://notice.html;md5=a00d6f9ab542be7babc2d8b80d5d2a4c \ +" +DEPENDS = "uthash" + +SRC_URI = "http://mosquitto.org/files/source/mosquitto-${PV}.tar.gz \ + file://mosquitto.init \ +" + +SRC_URI[md5sum] = "24a0e567c845b3e41b75e237d200edf8" +SRC_URI[sha256sum] = "7df23c81ca37f0e070574fe74414403cf25183016433d07add6134366fb45df6" + +inherit systemd update-rc.d useradd + +PACKAGECONFIG ??= "ssl uuid \ + ${@bb.utils.filter('DISTRO_FEATURES','systemd', d)} \ + " + +PACKAGECONFIG[dns-srv] = "WITH_SRV=yes,WITH_SRV=no,c-ares" +PACKAGECONFIG[ssl] = "WITH_TLS=yes WITH_TLS_PSK=yes,WITH_TLS=no WITH_TLS_PSK=no,openssl" +PACKAGECONFIG[uuid] = "WITH_UUID=yes,WITH_UUID=no,util-linux" +PACKAGECONFIG[systemd] = "WITH_SYSTEMD=yes,WITH_SYSTEMD=no,systemd" +PACKAGECONFIG[websockets] = "WITH_WEBSOCKETS=yes,WITH_WEBSOCKETS=no,libwebsockets" + +EXTRA_OEMAKE = " \ + prefix=${prefix} \ + mandir=${mandir} \ + localedir=${localedir} \ + ${PACKAGECONFIG_CONFARGS} \ + STRIP=/bin/true \ + WITH_DOCS=no \ + WITH_BUNDLED_DEPS=no \ +" + +export LIB_SUFFIX = "${@d.getVar('baselib').replace('lib', '')}" + +do_install() { + oe_runmake 'DESTDIR=${D}' install + + install -d ${D}${systemd_unitdir}/system/ + install -m 0644 ${S}/service/systemd/mosquitto.service.notify ${D}${systemd_unitdir}/system/mosquitto.service + + install -d ${D}${sysconfdir}/mosquitto + install -m 0644 ${D}${sysconfdir}/mosquitto/mosquitto.conf.example \ + ${D}${sysconfdir}/mosquitto/mosquitto.conf + + install -d ${D}${sysconfdir}/init.d/ + install -m 0755 ${WORKDIR}/mosquitto.init ${D}${sysconfdir}/init.d/mosquitto + sed -i -e 's,@SBINDIR@,${sbindir},g' \ + -e 's,@BASE_SBINDIR@,${base_sbindir},g' \ + -e 's,@LOCALSTATEDIR@,${localstatedir},g' \ + -e 's,@SYSCONFDIR@,${sysconfdir},g' \ + ${D}${sysconfdir}/init.d/mosquitto +} + +PACKAGES += "libmosquitto1 libmosquittopp1 ${PN}-clients" + +PACKAGE_BEFORE_PN = "${PN}-examples" + +FILES_${PN} = "${sbindir}/mosquitto \ + ${bindir}/mosquitto_passwd \ + ${sysconfdir}/mosquitto \ + ${sysconfdir}/init.d \ + ${systemd_unitdir}/system/mosquitto.service \ +" + +CONFFILES_${PN} += "${sysconfdir}/mosquitto/mosquitto.conf" + +FILES_libmosquitto1 = "${libdir}/libmosquitto.so.1" + +FILES_libmosquittopp1 = "${libdir}/libmosquittopp.so.1" + +FILES_${PN}-clients = "${bindir}/mosquitto_pub \ + ${bindir}/mosquitto_sub \ + ${bindir}/mosquitto_rr \ +" + +FILES_${PN}-examples = "${sysconfdir}/mosquitto/*.example" + +SYSTEMD_SERVICE_${PN} = "mosquitto.service" + +INITSCRIPT_NAME = "mosquitto" +INITSCRIPT_PARAMS = "defaults 30" + +USERADD_PACKAGES = "${PN}" +USERADD_PARAM_${PN} = "--system --no-create-home --shell /bin/false \ + --user-group mosquitto" diff --git a/meta-openembedded/meta-networking/recipes-connectivity/netplan/netplan_0.98.bb b/meta-openembedded/meta-networking/recipes-connectivity/netplan/netplan_0.98.bb new file mode 100644 index 0000000000..860762c494 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-connectivity/netplan/netplan_0.98.bb @@ -0,0 +1,58 @@ +SUMMARY = "The network configuration abstraction renderer" +DESCRIPTION = "Netplan is a utility for easily configuring networking on a \ +linux system. You simply create a YAML description of the required network \ +interfaces and what each should be configured to do. From this description \ +Netplan will generate all the necessary configuration for your chosen renderer \ +tool." +HOMEPAGE = "https://netplan.io" +SECTION = "net/misc" + +LICENSE = "GPLv3" +LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" + +S = "${WORKDIR}/git" +SRCREV = "5d22e9d22c4a3724d27b80b0cd9b898ae8f59d2b" +PV = "0.98+git${SRCPV}" + +SRC_URI = " \ + git://github.com/CanonicalLtd/netplan.git \ +" + +DEPENDS = "glib-2.0 libyaml" +RDEPENDS_${PN} = "python3 python3-core python3-pyyaml python3-netifaces python3-nose python3-coverage python3-pycodestyle python-pyflakes util-linux-libuuid" + +inherit pkgconfig systemd + +TARGET_CC_ARCH += "${LDFLAGS}" + +EXTRA_OEMAKE = "generate" +EXTRA_OEMAKE =+ "${@bb.utils.contains('DISTRO_FEATURES','systemd','netplan-dbus dbus/io.netplan.Netplan.service','',d)}" + +do_install() { + install -d ${D}${sbindir} ${D}${base_libdir}/netplan ${D}${datadir}/netplan/netplan/cli/commands ${D}${sysconfdir}/netplan + install -m 755 ${S}/generate ${D}${base_libdir}/netplan/ + install -m 644 ${S}/netplan/*.py ${D}${datadir}/netplan/netplan + install -m 644 ${S}/netplan/cli/*.py ${D}${datadir}/netplan/netplan/cli + install -m 644 ${S}/netplan/cli/commands/*.py ${D}${datadir}/netplan/netplan/cli/commands + install -m 755 ${S}/src/netplan.script ${D}${datadir}/netplan/ + ln -srf ${D}${datadir}/netplan/netplan.script ${D}${sbindir}/netplan + + install -d ${D}/${systemd_unitdir}/system ${D}${systemd_unitdir}/system-generators + install -m 644 ${S}/src/netplan-wpa@.service ${D}${systemd_unitdir}/system/ + ln -srf ${D}/${base_libdir}/netplan/generate ${D}${systemd_unitdir}/system-generators + + if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then + install -d ${D}${datadir}/dbus-1/system.d ${D}${datadir}/dbus-1/system-services + install -m 755 ${S}/netplan-dbus ${D}${base_libdir}/netplan + install -m 644 ${S}/dbus/io.netplan.Netplan.conf ${D}${datadir}/dbus-1/system.d + install -m 644 ${S}/dbus/io.netplan.Netplan.service ${D}${datadir}/dbus-1/system-services + fi +} + +SYSTEMD_SERVICE_${PN} = "netplan-wpa@.service" +SYSTEMD_AUTO_ENABLE = "disable" + +PACKAGES += "${PN}-dbus" + +FILES_${PN} = "${sbindir} ${base_libdir}/netplan/generate ${datadir}/netplan ${sysconfdir}/netplan ${systemd_unitdir}" +FILES_${PN}-dbus = "${base_libdir}/netplan/netplan-dbus ${datadir}/dbus-1" diff --git a/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/smb.conf b/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/smb.conf index a0b87c3735..d6bde417fb 100644 --- a/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/smb.conf +++ b/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/smb.conf @@ -25,6 +25,10 @@ ## Browsing/Identification ### +# Prevent anonymous connections. Overriden if the user sets guest ok = yes +# on any share + restrict anonymous = 1 + # Change this to the workgroup/NT-domain name your Samba server will part of workgroup = WORKGROUP @@ -114,7 +118,7 @@ # This option controls how unsuccessful authentication attempts are mapped # to anonymous connections - map to guest = bad user + map to guest = never ########## Domains ########### diff --git a/meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.10.10.bb b/meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.10.10.bb deleted file mode 100644 index 1ad5d55aca..0000000000 --- a/meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.10.10.bb +++ /dev/null @@ -1,333 +0,0 @@ -HOMEPAGE = "https://www.samba.org/" -SECTION = "console/network" - -LICENSE = "GPL-3.0+ & LGPL-3.0+ & GPL-2.0+" -LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \ - file://${COREBASE}/meta/files/common-licenses/LGPL-3.0;md5=bfccfe952269fff2b407dd11f2f3083b \ - file://${COREBASE}/meta/files/common-licenses/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6 " - -SAMBA_MIRROR = "http://samba.org/samba/ftp" -MIRRORS += "\ -${SAMBA_MIRROR} http://mirror.internode.on.net/pub/samba \n \ -${SAMBA_MIRROR} http://www.mirrorservice.org/sites/ftp.samba.org \n \ -" - -SRC_URI = "${SAMBA_MIRROR}/stable/samba-${PV}.tar.gz \ - file://smb.conf \ - file://16-do-not-check-xsltproc-manpages.patch \ - file://20-do-not-import-target-module-while-cross-compile.patch \ - file://21-add-config-option-without-valgrind.patch \ - file://netdb_defines.patch \ - file://glibc_only.patch \ - file://iconv-4.7.0.patch \ - file://dnsserver-4.7.0.patch \ - file://smb_conf-4.7.0.patch \ - file://volatiles.03_samba \ - file://0001-waf-add-support-of-cross_compile.patch \ - file://0001-lib-replace-wscript-Avoid-generating-nested-main-fun.patch \ - file://0002-util_sec.c-Move-__thread-variable-to-global-scope.patch \ - " -SRC_URI_append_libc-musl = " \ - file://samba-pam.patch \ - file://samba-4.3.9-remove-getpwent_r.patch \ - file://cmocka-uintptr_t.patch \ - file://0001-samba-fix-musl-lib-without-innetgr.patch \ - " - -SRC_URI[md5sum] = "dde27447f39d124efe18f719ccf956dd" -SRC_URI[sha256sum] = "700c734b51610e2feaa0d6744f9bec0c0d8917bca8cc78d5b63a4591f32866a5" - -UPSTREAM_CHECK_REGEX = "samba\-(?P4\.10(\.\d+)+).tar.gz" - -inherit systemd waf-samba cpan-base perlnative update-rc.d -# remove default added RDEPENDS on perl -RDEPENDS_${PN}_remove = "perl" - -DEPENDS += "readline virtual/libiconv zlib popt libtalloc libtdb libtevent libldb libbsd libaio libpam libtasn1 jansson" - -inherit features_check -REQUIRED_DISTRO_FEATURES = "pam" - -DEPENDS_append_libc-musl = " libtirpc" -CFLAGS_append_libc-musl = " -I${STAGING_INCDIR}/tirpc" -LDFLAGS_append_libc-musl = " -ltirpc" - -INITSCRIPT_NAME = "samba" -INITSCRIPT_PARAMS = "start 20 3 5 . stop 20 0 1 6 ." - -SYSTEMD_PACKAGES = "${PN}-base ${PN}-ad-dc winbind" -SYSTEMD_SERVICE_${PN}-base = "nmb.service smb.service" -SYSTEMD_SERVICE_${PN}-ad-dc = "${@bb.utils.contains('PACKAGECONFIG', 'ad-dc', 'samba.service', '', d)}" -SYSTEMD_SERVICE_winbind = "winbind.service" - -# There are prerequisite settings to enable ad-dc, so disable the service by default. -# Reference: -# https://wiki.samba.org/index.php/Setting_up_Samba_as_an_Active_Directory_Domain_Controller -SYSTEMD_AUTO_ENABLE_${PN}-ad-dc = "disable" - -#cross_compile cannot use preforked process, since fork process earlier than point subproces.popen -#to cross Popen -export WAF_NO_PREFORK="yes" - -# Use krb5. Build active domain controller. -# -PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd zeroconf', d)} \ - acl cups ad-dc gnutls ldap mitkrb5 \ -" - -RDEPENDS_${PN}-ctdb-tests += "bash util-linux-getopt" - -PACKAGECONFIG[acl] = "--with-acl-support,--without-acl-support,acl" -PACKAGECONFIG[fam] = "--with-fam,--without-fam,gamin" -PACKAGECONFIG[cups] = "--enable-cups,--disable-cups,cups" -PACKAGECONFIG[ldap] = "--with-ldap,--without-ldap,openldap" -PACKAGECONFIG[sasl] = ",,cyrus-sasl" -PACKAGECONFIG[systemd] = "--with-systemd,--without-systemd,systemd" -PACKAGECONFIG[dmapi] = "--with-dmapi,--without-dmapi,dmapi" -PACKAGECONFIG[zeroconf] = "--enable-avahi,--disable-avahi,avahi" -PACKAGECONFIG[valgrind] = ",--without-valgrind,valgrind," -PACKAGECONFIG[lttng] = "--with-lttng, --without-lttng,lttng-ust" -PACKAGECONFIG[archive] = "--with-libarchive, --without-libarchive, libarchive" -PACKAGECONFIG[libunwind] = ", , libunwind" -PACKAGECONFIG[gpgme] = ",--without-gpgme,," -PACKAGECONFIG[lmdb] = ",--without-ldb-lmdb,lmdb," - -# Building the AD (Active Directory) DC (Domain Controller) requires GnuTLS, -# And ad-dc doesn't work with mitkrb5 for versions prior to 4.7.0 according to: -# http://samba.2283325.n4.nabble.com/samba-4-6-6-Unknown-dependency-kdc-in-service-kdc-objlist-td4722096.html -# So the working combination is: -# 1) ad-dc: enable, gnutls: enable, mitkrb5: disable -# 2) ad-dc: disable, gnutls: enable/disable, mitkrb5: enable -# -# We are now at 4.7.0, so take the above with a grain of salt. We do not need to know where -# krb5kdc is unless ad-dc is enabled, but we tell configure anyhow. -# -PACKAGECONFIG[ad-dc] = "--with-experimental-mit-ad-dc,--without-ad-dc,," -PACKAGECONFIG[gnutls] = "--enable-gnutls,--disable-gnutls,gnutls," -PACKAGECONFIG[mitkrb5] = "--with-system-mitkrb5 --with-system-mitkdc=/usr/sbin/krb5kdc,,krb5," - -SAMBA4_IDMAP_MODULES="idmap_ad,idmap_rid,idmap_adex,idmap_hash,idmap_tdb2" -SAMBA4_PDB_MODULES="pdb_tdbsam,${@bb.utils.contains('PACKAGECONFIG', 'ldap', 'pdb_ldap,', '', d)}pdb_ads,pdb_smbpasswd,pdb_wbc_sam,pdb_samba4" -SAMBA4_AUTH_MODULES="auth_unix,auth_wbc,auth_server,auth_netlogond,auth_script,auth_samba4" -SAMBA4_MODULES="${SAMBA4_IDMAP_MODULES},${SAMBA4_PDB_MODULES},${SAMBA4_AUTH_MODULES}" - -# These libraries are supposed to replace others supplied by packages, but decorate the names of -# .so files so there will not be a conflict. This is not done consistantly, so be very careful -# when adding to this list. -# -SAMBA4_LIBS="heimdal,cmocka,NONE" - -EXTRA_OECONF += "--enable-fhs \ - --with-piddir=/run \ - --with-sockets-dir=/run/samba \ - --with-modulesdir=${libdir}/samba \ - --with-lockdir=${localstatedir}/lib/samba \ - --with-cachedir=${localstatedir}/lib/samba \ - --disable-rpath-install \ - --with-shared-modules=${SAMBA4_MODULES} \ - --bundled-libraries=${SAMBA4_LIBS} \ - ${@oe.utils.conditional('TARGET_ARCH', 'x86_64', '', '--disable-glusterfs', d)} \ - --with-cluster-support \ - --with-profiling-data \ - --with-libiconv=${STAGING_DIR_HOST}${prefix} \ - --with-pam --with-pammodulesdir=${base_libdir}/security \ - " - -LDFLAGS += "-Wl,-z,relro,-z,now ${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}" - -do_install_append() { - for section in 1 5 7; do - install -d ${D}${mandir}/man$section - install -m 0644 ctdb/doc/*.$section ${D}${mandir}/man$section - done - for section in 1 5 7 8; do - install -d ${D}${mandir}/man$section - install -m 0644 docs/manpages/*.$section ${D}${mandir}/man$section - done - - install -d ${D}${systemd_system_unitdir} - install -m 0644 ${S}/bin/default/packaging/systemd/*.service ${D}${systemd_system_unitdir}/ - sed -e 's,\(ExecReload=\).*\(/kill\),\1${base_bindir}\2,' \ - -e 's,/etc/sysconfig/samba,${sysconfdir}/default/samba,' \ - -i ${D}${systemd_system_unitdir}/*.service - - if [ "${@bb.utils.contains('PACKAGECONFIG', 'ad-dc', 'yes', 'no', d)}" = "no" ]; then - rm -f ${D}${systemd_system_unitdir}/samba.service - fi - - install -d ${D}${sysconfdir}/tmpfiles.d - install -m644 packaging/systemd/samba.conf.tmp ${D}${sysconfdir}/tmpfiles.d/samba.conf - echo "d ${localstatedir}/log/samba 0755 root root -" \ - >> ${D}${sysconfdir}/tmpfiles.d/samba.conf - install -d ${D}${sysconfdir}/init.d - install -m 0755 packaging/sysv/samba.init ${D}${sysconfdir}/init.d/samba - sed -e 's,/opt/samba/bin,${sbindir},g' \ - -e 's,/opt/samba/smb.conf,${sysconfdir}/samba/smb.conf,g' \ - -e 's,/opt/samba/log,${localstatedir}/log/samba,g' \ - -e 's,/etc/init.d/samba.server,${sysconfdir}/init.d/samba,g' \ - -e 's,/usr/bin,${base_bindir},g' \ - -i ${D}${sysconfdir}/init.d/samba - - install -d ${D}${sysconfdir}/samba - echo "127.0.0.1 localhost" > ${D}${sysconfdir}/samba/lmhosts - install -m644 ${WORKDIR}/smb.conf ${D}${sysconfdir}/samba/smb.conf - install -D -m 644 ${WORKDIR}/volatiles.03_samba ${D}${sysconfdir}/default/volatiles/03_samba - - install -d ${D}${sysconfdir}/default - install -m644 packaging/systemd/samba.sysconfig ${D}${sysconfdir}/default/samba - - # the items are from ctdb/tests/run_tests.sh - for d in onnode takeover tool eventscripts cunit simple complex; do - testdir=${D}${datadir}/ctdb-tests/$d - install -d $testdir - cp ${S}/ctdb/tests/$d/*.sh $testdir - cp -r ${S}/ctdb/tests/$d/scripts ${S}/ctdb/tests/$d/stubs $testdir || true - done - - # fix file-rdeps qa warning - if [ -f ${D}${bindir}/onnode ]; then - sed -i 's:\(#!/bin/\)bash:\1sh:' ${D}${bindir}/onnode - fi - - chmod 0750 ${D}${sysconfdir}/sudoers.d || true - rm -rf ${D}/run ${D}${localstatedir}/run ${D}${localstatedir}/log - - for f in samba-gpupdate samba_upgradedns samba_spnupdate samba_kcc samba_dnsupdate; do - if [ -f "${D}${sbindir}/$f" ]; then - sed -i -e 's,${PYTHON},/usr/bin/env python3/,g' ${D}${sbindir}/$f - fi - done - if [ -f "${D}${bindir}/samba-tool" ]; then - sed -i -e 's,${PYTHON},/usr/bin/env python3/,g' ${D}${bindir}/samba-tool - fi - -} - -PACKAGES =+ "${PN}-python3 ${PN}-pidl \ - ${PN}-dsdb-modules ${PN}-testsuite registry-tools \ - winbind \ - ${PN}-common ${PN}-base ${PN}-ad-dc ${PN}-ctdb-tests \ - smbclient ${PN}-client ${PN}-server ${PN}-test" - -python samba_populate_packages() { - def module_hook(file, pkg, pattern, format, basename): - pn = d.getVar('PN') - d.appendVar('RRECOMMENDS_%s-base' % pn, ' %s' % pkg) - - mlprefix = d.getVar('MLPREFIX') or '' - pam_libdir = d.expand('${base_libdir}/security') - pam_pkgname = mlprefix + 'pam-plugin%s' - do_split_packages(d, pam_libdir, '^pam_(.*)\.so$', pam_pkgname, 'PAM plugin for %s', extra_depends='', prepend=True) - - libdir = d.getVar('libdir') - do_split_packages(d, libdir, '^lib(.*)\.so\..*$', 'lib%s', 'Samba %s library', extra_depends='${PN}-common', prepend=True, allow_links=True) - pkglibdir = '%s/samba' % libdir - do_split_packages(d, pkglibdir, '^lib(.*)\.so$', 'lib%s', 'Samba %s library', extra_depends='${PN}-common', prepend=True) - moduledir = '%s/samba/auth' % libdir - do_split_packages(d, moduledir, '^(.*)\.so$', 'samba-auth-%s', 'Samba %s authentication backend', hook=module_hook, extra_depends='', prepend=True) - moduledir = '%s/samba/pdb' % libdir - do_split_packages(d, moduledir, '^(.*)\.so$', 'samba-pdb-%s', 'Samba %s password backend', hook=module_hook, extra_depends='', prepend=True) -} - -PACKAGESPLITFUNCS_prepend = "samba_populate_packages " -PACKAGES_DYNAMIC = "samba-auth-.* samba-pdb-.*" - -RDEPENDS_${PN} += "${PN}-base ${PN}-python3 ${PN}-dsdb-modules python3" -RDEPENDS_${PN}-python3 += "pytalloc python3-tdb" - -FILES_${PN}-base = "${sbindir}/nmbd \ - ${sbindir}/smbd \ - ${sysconfdir}/init.d \ - ${systemd_system_unitdir}/nmb.service \ - ${systemd_system_unitdir}/smb.service" - -FILES_${PN}-ad-dc = "${sbindir}/samba \ - ${systemd_system_unitdir}/samba.service \ - ${libdir}/krb5/plugins/kdb/samba.so \ -" -RDEPENDS_${PN}-ad-dc = "krb5-kdc" - -FILES_${PN}-ctdb-tests = "${bindir}/ctdb_run_tests \ - ${bindir}/ctdb_run_cluster_tests \ - ${sysconfdir}/ctdb/nodes \ - ${datadir}/ctdb-tests \ - ${datadir}/ctdb/tests \ - ${localstatedir}/lib/ctdb \ - " - -FILES_${BPN}-common = "${sysconfdir}/default \ - ${sysconfdir}/samba \ - ${sysconfdir}/tmpfiles.d \ - ${localstatedir}/lib/samba \ - ${localstatedir}/spool/samba \ -" - -FILES_${PN} += "${libdir}/vfs/*.so \ - ${libdir}/charset/*.so \ - ${libdir}/*.dat \ - ${libdir}/auth/*.so \ - ${datadir}/ctdb/events/* \ -" - -FILES_${PN}-dsdb-modules = "${libdir}/samba/ldb" - -FILES_${PN}-testsuite = "${bindir}/gentest \ - ${bindir}/locktest \ - ${bindir}/masktest \ - ${bindir}/ndrdump \ - ${bindir}/smbtorture" - -FILES_registry-tools = "${bindir}/regdiff \ - ${bindir}/regpatch \ - ${bindir}/regshell \ - ${bindir}/regtree" - -FILES_winbind = "${sbindir}/winbindd \ - ${bindir}/wbinfo \ - ${bindir}/ntlm_auth \ - ${libdir}/samba/idmap \ - ${libdir}/samba/nss_info \ - ${libdir}/winbind_krb5_locator.so \ - ${libdir}/winbind-krb5-localauth.so \ - ${sysconfdir}/init.d/winbind \ - ${systemd_system_unitdir}/winbind.service" - -FILES_${PN}-python3 = "${PYTHON_SITEPACKAGES_DIR}" - -FILES_smbclient = "${bindir}/cifsdd \ - ${bindir}/rpcclient \ - ${bindir}/smbcacls \ - ${bindir}/smbclient \ - ${bindir}/smbcquotas \ - ${bindir}/smbget \ - ${bindir}/smbspool \ - ${bindir}/smbtar \ - ${bindir}/smbtree \ - ${libdir}/samba/smbspool_krb5_wrapper" - -RDEPENDS_${PN}-pidl_append = " perl" -FILES_${PN}-pidl = "${bindir}/pidl ${datadir}/perl5/Parse" - -RDEPENDS_${PN}-client = "\ - smbclient \ - winbind \ - registry-tools \ - ${PN}-pidl \ - " - -ALLOW_EMPTY_${PN}-client = "1" - -RDEPENDS_${PN}-server = "\ - ${PN} \ - winbind \ - registry-tools \ - " - -ALLOW_EMPTY_${PN}-server = "1" - -RDEPENDS_${PN}-test = "\ - ${PN}-ctdb-tests \ - ${PN}-testsuite \ - " - -ALLOW_EMPTY_${PN}-test = "1" diff --git a/meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.10.11.bb b/meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.10.11.bb new file mode 100644 index 0000000000..ffdc15ac4a --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.10.11.bb @@ -0,0 +1,333 @@ +HOMEPAGE = "https://www.samba.org/" +SECTION = "console/network" + +LICENSE = "GPL-3.0+ & LGPL-3.0+ & GPL-2.0+" +LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \ + file://${COREBASE}/meta/files/common-licenses/LGPL-3.0;md5=bfccfe952269fff2b407dd11f2f3083b \ + file://${COREBASE}/meta/files/common-licenses/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6 " + +SAMBA_MIRROR = "http://samba.org/samba/ftp" +MIRRORS += "\ +${SAMBA_MIRROR} http://mirror.internode.on.net/pub/samba \n \ +${SAMBA_MIRROR} http://www.mirrorservice.org/sites/ftp.samba.org \n \ +" + +SRC_URI = "${SAMBA_MIRROR}/stable/samba-${PV}.tar.gz \ + file://smb.conf \ + file://16-do-not-check-xsltproc-manpages.patch \ + file://20-do-not-import-target-module-while-cross-compile.patch \ + file://21-add-config-option-without-valgrind.patch \ + file://netdb_defines.patch \ + file://glibc_only.patch \ + file://iconv-4.7.0.patch \ + file://dnsserver-4.7.0.patch \ + file://smb_conf-4.7.0.patch \ + file://volatiles.03_samba \ + file://0001-waf-add-support-of-cross_compile.patch \ + file://0001-lib-replace-wscript-Avoid-generating-nested-main-fun.patch \ + file://0002-util_sec.c-Move-__thread-variable-to-global-scope.patch \ + " +SRC_URI_append_libc-musl = " \ + file://samba-pam.patch \ + file://samba-4.3.9-remove-getpwent_r.patch \ + file://cmocka-uintptr_t.patch \ + file://0001-samba-fix-musl-lib-without-innetgr.patch \ + " + +SRC_URI[md5sum] = "eebd021de840312d7e08959e8a3d0ba1" +SRC_URI[sha256sum] = "609f4232e04c6eaad0e3b8e00cd837683a960ebb95c1fe3349e968d1d1dff894" + +UPSTREAM_CHECK_REGEX = "samba\-(?P4\.10(\.\d+)+).tar.gz" + +inherit systemd waf-samba cpan-base perlnative update-rc.d +# remove default added RDEPENDS on perl +RDEPENDS_${PN}_remove = "perl" + +DEPENDS += "readline virtual/libiconv zlib popt libtalloc libtdb libtevent libldb libbsd libaio libpam libtasn1 jansson" + +inherit features_check +REQUIRED_DISTRO_FEATURES = "pam" + +DEPENDS_append_libc-musl = " libtirpc" +CFLAGS_append_libc-musl = " -I${STAGING_INCDIR}/tirpc" +LDFLAGS_append_libc-musl = " -ltirpc" + +INITSCRIPT_NAME = "samba" +INITSCRIPT_PARAMS = "start 20 3 5 . stop 20 0 1 6 ." + +SYSTEMD_PACKAGES = "${PN}-base ${PN}-ad-dc winbind" +SYSTEMD_SERVICE_${PN}-base = "nmb.service smb.service" +SYSTEMD_SERVICE_${PN}-ad-dc = "${@bb.utils.contains('PACKAGECONFIG', 'ad-dc', 'samba.service', '', d)}" +SYSTEMD_SERVICE_winbind = "winbind.service" + +# There are prerequisite settings to enable ad-dc, so disable the service by default. +# Reference: +# https://wiki.samba.org/index.php/Setting_up_Samba_as_an_Active_Directory_Domain_Controller +SYSTEMD_AUTO_ENABLE_${PN}-ad-dc = "disable" + +#cross_compile cannot use preforked process, since fork process earlier than point subproces.popen +#to cross Popen +export WAF_NO_PREFORK="yes" + +# Use krb5. Build active domain controller. +# +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd zeroconf', d)} \ + acl cups ad-dc gnutls ldap mitkrb5 \ +" + +RDEPENDS_${PN}-ctdb-tests += "bash util-linux-getopt" + +PACKAGECONFIG[acl] = "--with-acl-support,--without-acl-support,acl" +PACKAGECONFIG[fam] = "--with-fam,--without-fam,gamin" +PACKAGECONFIG[cups] = "--enable-cups,--disable-cups,cups" +PACKAGECONFIG[ldap] = "--with-ldap,--without-ldap,openldap" +PACKAGECONFIG[sasl] = ",,cyrus-sasl" +PACKAGECONFIG[systemd] = "--with-systemd,--without-systemd,systemd" +PACKAGECONFIG[dmapi] = "--with-dmapi,--without-dmapi,dmapi" +PACKAGECONFIG[zeroconf] = "--enable-avahi,--disable-avahi,avahi" +PACKAGECONFIG[valgrind] = ",--without-valgrind,valgrind," +PACKAGECONFIG[lttng] = "--with-lttng, --without-lttng,lttng-ust" +PACKAGECONFIG[archive] = "--with-libarchive, --without-libarchive, libarchive" +PACKAGECONFIG[libunwind] = ", , libunwind" +PACKAGECONFIG[gpgme] = ",--without-gpgme,," +PACKAGECONFIG[lmdb] = ",--without-ldb-lmdb,lmdb," + +# Building the AD (Active Directory) DC (Domain Controller) requires GnuTLS, +# And ad-dc doesn't work with mitkrb5 for versions prior to 4.7.0 according to: +# http://samba.2283325.n4.nabble.com/samba-4-6-6-Unknown-dependency-kdc-in-service-kdc-objlist-td4722096.html +# So the working combination is: +# 1) ad-dc: enable, gnutls: enable, mitkrb5: disable +# 2) ad-dc: disable, gnutls: enable/disable, mitkrb5: enable +# +# We are now at 4.7.0, so take the above with a grain of salt. We do not need to know where +# krb5kdc is unless ad-dc is enabled, but we tell configure anyhow. +# +PACKAGECONFIG[ad-dc] = "--with-experimental-mit-ad-dc,--without-ad-dc,," +PACKAGECONFIG[gnutls] = "--enable-gnutls,--disable-gnutls,gnutls," +PACKAGECONFIG[mitkrb5] = "--with-system-mitkrb5 --with-system-mitkdc=/usr/sbin/krb5kdc,,krb5," + +SAMBA4_IDMAP_MODULES="idmap_ad,idmap_rid,idmap_adex,idmap_hash,idmap_tdb2" +SAMBA4_PDB_MODULES="pdb_tdbsam,${@bb.utils.contains('PACKAGECONFIG', 'ldap', 'pdb_ldap,', '', d)}pdb_ads,pdb_smbpasswd,pdb_wbc_sam,pdb_samba4" +SAMBA4_AUTH_MODULES="auth_unix,auth_wbc,auth_server,auth_netlogond,auth_script,auth_samba4" +SAMBA4_MODULES="${SAMBA4_IDMAP_MODULES},${SAMBA4_PDB_MODULES},${SAMBA4_AUTH_MODULES}" + +# These libraries are supposed to replace others supplied by packages, but decorate the names of +# .so files so there will not be a conflict. This is not done consistantly, so be very careful +# when adding to this list. +# +SAMBA4_LIBS="heimdal,cmocka,NONE" + +EXTRA_OECONF += "--enable-fhs \ + --with-piddir=/run \ + --with-sockets-dir=/run/samba \ + --with-modulesdir=${libdir}/samba \ + --with-lockdir=${localstatedir}/lib/samba \ + --with-cachedir=${localstatedir}/lib/samba \ + --disable-rpath-install \ + --with-shared-modules=${SAMBA4_MODULES} \ + --bundled-libraries=${SAMBA4_LIBS} \ + ${@oe.utils.conditional('TARGET_ARCH', 'x86_64', '', '--disable-glusterfs', d)} \ + --with-cluster-support \ + --with-profiling-data \ + --with-libiconv=${STAGING_DIR_HOST}${prefix} \ + --with-pam --with-pammodulesdir=${base_libdir}/security \ + " + +LDFLAGS += "-Wl,-z,relro,-z,now ${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}" + +do_install_append() { + for section in 1 5 7; do + install -d ${D}${mandir}/man$section + install -m 0644 ctdb/doc/*.$section ${D}${mandir}/man$section + done + for section in 1 5 7 8; do + install -d ${D}${mandir}/man$section + install -m 0644 docs/manpages/*.$section ${D}${mandir}/man$section + done + + install -d ${D}${systemd_system_unitdir} + install -m 0644 ${S}/bin/default/packaging/systemd/*.service ${D}${systemd_system_unitdir}/ + sed -e 's,\(ExecReload=\).*\(/kill\),\1${base_bindir}\2,' \ + -e 's,/etc/sysconfig/samba,${sysconfdir}/default/samba,' \ + -i ${D}${systemd_system_unitdir}/*.service + + if [ "${@bb.utils.contains('PACKAGECONFIG', 'ad-dc', 'yes', 'no', d)}" = "no" ]; then + rm -f ${D}${systemd_system_unitdir}/samba.service + fi + + install -d ${D}${sysconfdir}/tmpfiles.d + install -m644 packaging/systemd/samba.conf.tmp ${D}${sysconfdir}/tmpfiles.d/samba.conf + echo "d ${localstatedir}/log/samba 0755 root root -" \ + >> ${D}${sysconfdir}/tmpfiles.d/samba.conf + install -d ${D}${sysconfdir}/init.d + install -m 0755 packaging/sysv/samba.init ${D}${sysconfdir}/init.d/samba + sed -e 's,/opt/samba/bin,${sbindir},g' \ + -e 's,/opt/samba/smb.conf,${sysconfdir}/samba/smb.conf,g' \ + -e 's,/opt/samba/log,${localstatedir}/log/samba,g' \ + -e 's,/etc/init.d/samba.server,${sysconfdir}/init.d/samba,g' \ + -e 's,/usr/bin,${base_bindir},g' \ + -i ${D}${sysconfdir}/init.d/samba + + install -d ${D}${sysconfdir}/samba + echo "127.0.0.1 localhost" > ${D}${sysconfdir}/samba/lmhosts + install -m644 ${WORKDIR}/smb.conf ${D}${sysconfdir}/samba/smb.conf + install -D -m 644 ${WORKDIR}/volatiles.03_samba ${D}${sysconfdir}/default/volatiles/03_samba + + install -d ${D}${sysconfdir}/default + install -m644 packaging/systemd/samba.sysconfig ${D}${sysconfdir}/default/samba + + # the items are from ctdb/tests/run_tests.sh + for d in onnode takeover tool eventscripts cunit simple complex; do + testdir=${D}${datadir}/ctdb-tests/$d + install -d $testdir + cp ${S}/ctdb/tests/$d/*.sh $testdir + cp -r ${S}/ctdb/tests/$d/scripts ${S}/ctdb/tests/$d/stubs $testdir || true + done + + # fix file-rdeps qa warning + if [ -f ${D}${bindir}/onnode ]; then + sed -i 's:\(#!/bin/\)bash:\1sh:' ${D}${bindir}/onnode + fi + + chmod 0750 ${D}${sysconfdir}/sudoers.d || true + rm -rf ${D}/run ${D}${localstatedir}/run ${D}${localstatedir}/log + + for f in samba-gpupdate samba_upgradedns samba_spnupdate samba_kcc samba_dnsupdate; do + if [ -f "${D}${sbindir}/$f" ]; then + sed -i -e 's,${PYTHON},/usr/bin/env python3,g' ${D}${sbindir}/$f + fi + done + if [ -f "${D}${bindir}/samba-tool" ]; then + sed -i -e 's,${PYTHON},/usr/bin/env python3,g' ${D}${bindir}/samba-tool + fi + +} + +PACKAGES =+ "${PN}-python3 ${PN}-pidl \ + ${PN}-dsdb-modules ${PN}-testsuite registry-tools \ + winbind \ + ${PN}-common ${PN}-base ${PN}-ad-dc ${PN}-ctdb-tests \ + smbclient ${PN}-client ${PN}-server ${PN}-test" + +python samba_populate_packages() { + def module_hook(file, pkg, pattern, format, basename): + pn = d.getVar('PN') + d.appendVar('RRECOMMENDS_%s-base' % pn, ' %s' % pkg) + + mlprefix = d.getVar('MLPREFIX') or '' + pam_libdir = d.expand('${base_libdir}/security') + pam_pkgname = mlprefix + 'pam-plugin%s' + do_split_packages(d, pam_libdir, '^pam_(.*)\.so$', pam_pkgname, 'PAM plugin for %s', extra_depends='', prepend=True) + + libdir = d.getVar('libdir') + do_split_packages(d, libdir, '^lib(.*)\.so\..*$', 'lib%s', 'Samba %s library', extra_depends='${PN}-common', prepend=True, allow_links=True) + pkglibdir = '%s/samba' % libdir + do_split_packages(d, pkglibdir, '^lib(.*)\.so$', 'lib%s', 'Samba %s library', extra_depends='${PN}-common', prepend=True) + moduledir = '%s/samba/auth' % libdir + do_split_packages(d, moduledir, '^(.*)\.so$', 'samba-auth-%s', 'Samba %s authentication backend', hook=module_hook, extra_depends='', prepend=True) + moduledir = '%s/samba/pdb' % libdir + do_split_packages(d, moduledir, '^(.*)\.so$', 'samba-pdb-%s', 'Samba %s password backend', hook=module_hook, extra_depends='', prepend=True) +} + +PACKAGESPLITFUNCS_prepend = "samba_populate_packages " +PACKAGES_DYNAMIC = "samba-auth-.* samba-pdb-.*" + +RDEPENDS_${PN} += "${PN}-base ${PN}-python3 ${PN}-dsdb-modules python3" +RDEPENDS_${PN}-python3 += "pytalloc python3-tdb" + +FILES_${PN}-base = "${sbindir}/nmbd \ + ${sbindir}/smbd \ + ${sysconfdir}/init.d \ + ${systemd_system_unitdir}/nmb.service \ + ${systemd_system_unitdir}/smb.service" + +FILES_${PN}-ad-dc = "${sbindir}/samba \ + ${systemd_system_unitdir}/samba.service \ + ${libdir}/krb5/plugins/kdb/samba.so \ +" +RDEPENDS_${PN}-ad-dc = "krb5-kdc" + +FILES_${PN}-ctdb-tests = "${bindir}/ctdb_run_tests \ + ${bindir}/ctdb_run_cluster_tests \ + ${sysconfdir}/ctdb/nodes \ + ${datadir}/ctdb-tests \ + ${datadir}/ctdb/tests \ + ${localstatedir}/lib/ctdb \ + " + +FILES_${BPN}-common = "${sysconfdir}/default \ + ${sysconfdir}/samba \ + ${sysconfdir}/tmpfiles.d \ + ${localstatedir}/lib/samba \ + ${localstatedir}/spool/samba \ +" + +FILES_${PN} += "${libdir}/vfs/*.so \ + ${libdir}/charset/*.so \ + ${libdir}/*.dat \ + ${libdir}/auth/*.so \ + ${datadir}/ctdb/events/* \ +" + +FILES_${PN}-dsdb-modules = "${libdir}/samba/ldb" + +FILES_${PN}-testsuite = "${bindir}/gentest \ + ${bindir}/locktest \ + ${bindir}/masktest \ + ${bindir}/ndrdump \ + ${bindir}/smbtorture" + +FILES_registry-tools = "${bindir}/regdiff \ + ${bindir}/regpatch \ + ${bindir}/regshell \ + ${bindir}/regtree" + +FILES_winbind = "${sbindir}/winbindd \ + ${bindir}/wbinfo \ + ${bindir}/ntlm_auth \ + ${libdir}/samba/idmap \ + ${libdir}/samba/nss_info \ + ${libdir}/winbind_krb5_locator.so \ + ${libdir}/winbind-krb5-localauth.so \ + ${sysconfdir}/init.d/winbind \ + ${systemd_system_unitdir}/winbind.service" + +FILES_${PN}-python3 = "${PYTHON_SITEPACKAGES_DIR}" + +FILES_smbclient = "${bindir}/cifsdd \ + ${bindir}/rpcclient \ + ${bindir}/smbcacls \ + ${bindir}/smbclient \ + ${bindir}/smbcquotas \ + ${bindir}/smbget \ + ${bindir}/smbspool \ + ${bindir}/smbtar \ + ${bindir}/smbtree \ + ${libdir}/samba/smbspool_krb5_wrapper" + +RDEPENDS_${PN}-pidl_append = " perl" +FILES_${PN}-pidl = "${bindir}/pidl ${datadir}/perl5/Parse" + +RDEPENDS_${PN}-client = "\ + smbclient \ + winbind \ + registry-tools \ + ${PN}-pidl \ + " + +ALLOW_EMPTY_${PN}-client = "1" + +RDEPENDS_${PN}-server = "\ + ${PN} \ + winbind \ + registry-tools \ + " + +ALLOW_EMPTY_${PN}-server = "1" + +RDEPENDS_${PN}-test = "\ + ${PN}-ctdb-tests \ + ${PN}-testsuite \ + " + +ALLOW_EMPTY_${PN}-test = "1" diff --git a/meta-openembedded/meta-networking/recipes-connectivity/wolfssl/wolfssl_4.2.0.bb b/meta-openembedded/meta-networking/recipes-connectivity/wolfssl/wolfssl_4.2.0.bb deleted file mode 100644 index 5d8bc9ba9e..0000000000 --- a/meta-openembedded/meta-networking/recipes-connectivity/wolfssl/wolfssl_4.2.0.bb +++ /dev/null @@ -1,21 +0,0 @@ -SUMMARY = "wolfSSL Lightweight Embedded SSL/TLS Library" -DESCRIPTION = "wolfSSL, formerly CyaSSL, is a lightweight SSL library written \ - in C and optimized for embedded and RTOS environments. It can \ - be up to 20 times smaller than OpenSSL while still supporting \ - a full TLS client and server, up to TLS 1.3" -HOMEPAGE = "https://www.wolfssl.com/products/wolfssl" -BUGTRACKER = "https://github.com/wolfssl/wolfssl/issues" -SECTION = "libs" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" - -PROVIDES += "cyassl" -RPROVIDES_${PN} = "cyassl" - -SRC_URI = "git://github.com/wolfSSL/wolfssl.git;protocol=https" -SRCREV = "cb7b4af9861ad627faffdc3d24a196c2d11930b8" -S = "${WORKDIR}/git" - -inherit autotools - -BBCLASSEXTEND += "native nativesdk" diff --git a/meta-openembedded/meta-networking/recipes-connectivity/wolfssl/wolfssl_4.3.0.bb b/meta-openembedded/meta-networking/recipes-connectivity/wolfssl/wolfssl_4.3.0.bb new file mode 100644 index 0000000000..a6c8cd09c4 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-connectivity/wolfssl/wolfssl_4.3.0.bb @@ -0,0 +1,21 @@ +SUMMARY = "wolfSSL Lightweight Embedded SSL/TLS Library" +DESCRIPTION = "wolfSSL, formerly CyaSSL, is a lightweight SSL library written \ + in C and optimized for embedded and RTOS environments. It can \ + be up to 20 times smaller than OpenSSL while still supporting \ + a full TLS client and server, up to TLS 1.3" +HOMEPAGE = "https://www.wolfssl.com/products/wolfssl" +BUGTRACKER = "https://github.com/wolfssl/wolfssl/issues" +SECTION = "libs" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +PROVIDES += "cyassl" +RPROVIDES_${PN} = "cyassl" + +SRC_URI = "git://github.com/wolfSSL/wolfssl.git;protocol=https" +SRCREV = "3f13b49fa318fbd3216d7da36d942e7c276d3413" +S = "${WORKDIR}/git" + +inherit autotools + +BBCLASSEXTEND += "native nativesdk" diff --git a/meta-openembedded/meta-networking/recipes-daemons/ippool/ippool/strncpy-truncation.patch b/meta-openembedded/meta-networking/recipes-daemons/ippool/ippool/strncpy-truncation.patch new file mode 100644 index 0000000000..01e1da8703 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-daemons/ippool/ippool/strncpy-truncation.patch @@ -0,0 +1,39 @@ +Replace strncpy with memcpy + +since the length of data to +be copied has already been determined with strlen(). Replace strncpy() +with memcpy() to address the warning and optimize the code a little. + +| ippool_config.c:112:2: note: 'snprintf' output between 8 and 55 bytes into a destination of size 48 +| 112 | snprintf(prompt, sizeof(prompt), "ippool-%s", server_name); +| | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Upstream-Status: Pending +Signed-off-by: Khem Raj +--- a/cli/cli_readline.c ++++ b/cli/cli_readline.c +@@ -257,10 +257,15 @@ static void cli_rl_display_wrapped_text( + int pos; + int in_ws; + int i; ++ int bufsize = sizeof(text_buf)/sizeof(text_buf[0]); + + if (left_margin == 0) { + left_margin = 3; + } ++ if (left_margin > bufsize) { ++ left_margin = bufsize; ++ } ++ + if (right_margin == 0) { + right_margin = 78;; + } +@@ -271,7 +276,7 @@ static void cli_rl_display_wrapped_text( + /* First copy the text heading to the buffer and add a "-", accounting for + * the specified left margin. + */ +- strncpy(&text_buf[0], text1, left_margin - 3); ++ memcpy(&text_buf[0], text1, left_margin - 3); + for (pos = strlen(text1); pos < left_margin - 3; pos++) { + text_buf[pos] = ' '; + } diff --git a/meta-openembedded/meta-networking/recipes-daemons/ippool/ippool_1.3.bb b/meta-openembedded/meta-networking/recipes-daemons/ippool/ippool_1.3.bb index 6fa46904b3..3554e688ab 100644 --- a/meta-openembedded/meta-networking/recipes-daemons/ippool/ippool_1.3.bb +++ b/meta-openembedded/meta-networking/recipes-daemons/ippool/ippool_1.3.bb @@ -26,6 +26,7 @@ SRC_URI = "https://sourceforge.net/projects/openl2tp/files/${BPN}/${PV}/${BPN}-$ file://0003-cli-Mark-return-of-strtol-as-long-int.patch \ file://0002-link-with-libtirpc.patch \ file://0003-musl-fixes.patch \ + file://strncpy-truncation.patch \ " LIC_FILES_CHKSUM = "file://LICENSE;md5=4c59283b82fc2b166455e0fc23c71c6f" diff --git a/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf_5.19.07.bb b/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf_5.19.07.bb deleted file mode 100644 index efa2bf5eb5..0000000000 --- a/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf_5.19.07.bb +++ /dev/null @@ -1,74 +0,0 @@ -SUMMARY = "OpenSAF is an open source implementation of the SAF AIS specification" -DESCRIPTION = "OpenSAF is an open source project established to develop a base platform \ -middleware consistent with Service Availability Forum (SA Forum) \ -specifications, under the LGPLv2.1 license. The OpenSAF Foundation was \ -established by leading Communications and Enterprise Computing Companies to \ -facilitate the OpenSAF Project and to accelerate the adoption of the OpenSAF \ -code base in commercial products. \ -The OpenSAF project was launched in mid 2007 and has been under development by \ -an informal group of supporters of the OpenSAF initiative. The OpenSAF \ -Foundation was founded on January 22nd 2008 with Emerson Network Power, \ -Ericsson, Nokia Siemens Networks, HP and Sun Microsystems as founding members." -HOMEPAGE = "http://www.opensaf.org" -SECTION = "admin" -LICENSE = "LGPLv2.1" -LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=a916467b91076e631dd8edb7424769c7" - -DEPENDS = "libxml2 python" -TOOLCHAIN = "gcc" - -SECURITY_CFLAGS = "${SECURITY_NO_PIE_CFLAGS}" - -SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/releases/${BPN}-${PV}.tar.gz \ - file://0001-configure-Pass-linker-specific-options-with-Wl.patch \ - file://0001-configure-Disable-format-overflow-if-supported-by-gc.patch \ - file://0001-src-Add-missing-header-limits.h-for-_POSIX_HOST_NAME.patch \ - file://0001-immpbe_dump.cc-Use-sys-wait.h-instead-of-wait.h.patch \ - file://0001-Add-configure-time-check-for-gettid-API.patch \ - file://0001-create_empty_library-Use-CC-variable-intead-of-hardc.patch \ - " -SRC_URI[md5sum] = "e9ae9de803a99b7ab33757a49858542f" -SRC_URI[sha256sum] = "caed672d03ab1fe3f27d333429c7ca03022714e7c6350500208b7bd7349f03ce" - -inherit autotools useradd systemd pkgconfig - -USERADD_PACKAGES = "${PN}" -GROUPADD_PARAM_${PN} = "-f -r opensaf" -USERADD_PARAM_${PN} = "-r -g opensaf -d ${datadir}/opensaf/ -s ${sbindir}/nologin -c \"OpenSAF\" opensaf" - -SYSTEMD_SERVICE_${PN} += "opensafd.service" -SYSTEMD_AUTO_ENABLE = "disable" - -PACKAGECONFIG[systemd] = ",,systemd" -PACKAGECONFIG[openhpi] = "--with-hpi-interface=B03,,openhpi" -PACKAGECONFIG[plm] = "--enable-ais-plm,--disable-ais-plm,libvirt openhpi" - -PACKAGECONFIG ?= "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', ' systemd', '', d)}" - -CPPFLAGS += "-Wno-error=stringop-overflow= -Wno-error=stringop-truncation" -CXXFLAGS += "-Wno-error=stringop-overflow= -Wno-error=stringop-truncation -Wno-error=format-truncation=" -LDFLAGS += "-Wl,--as-needed -latomic -Wl,--no-as-needed" - -do_install_append() { - rm -fr "${D}${localstatedir}/lock" - rm -fr "${D}${localstatedir}/run" - rmdir --ignore-fail-on-non-empty "${D}${localstatedir}" - rmdir --ignore-fail-on-non-empty "${D}${datadir}/java" - if [ ! -d "${D}${sysconfdir}/init.d" ]; then - install -d ${D}${sysconfdir}/init.d - install -m 0755 ${B}/osaf/services/infrastructure/nid/scripts/opensafd ${D}${sysconfdir}/init.d/ - fi -} - -FILES_${PN} += "${libdir}/libSa*.so ${systemd_unitdir}/system/*.service" -FILES_${PN}-dev += "${libdir}/libopensaf_core.so" -FILES_${PN}-staticdev += "${PKGLIBDIR}/*.a" - -INSANE_SKIP_${PN} = "dev-so" - -RDEPENDS_${PN} += "bash python" - -# http://errors.yoctoproject.org/Errors/Details/186970/ -COMPATIBLE_HOST_libc-musl = 'null' - -FILES_SOLIBSDEV = "" diff --git a/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf_5.19.10.bb b/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf_5.19.10.bb new file mode 100644 index 0000000000..a7eb4c8496 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf_5.19.10.bb @@ -0,0 +1,74 @@ +SUMMARY = "OpenSAF is an open source implementation of the SAF AIS specification" +DESCRIPTION = "OpenSAF is an open source project established to develop a base platform \ +middleware consistent with Service Availability Forum (SA Forum) \ +specifications, under the LGPLv2.1 license. The OpenSAF Foundation was \ +established by leading Communications and Enterprise Computing Companies to \ +facilitate the OpenSAF Project and to accelerate the adoption of the OpenSAF \ +code base in commercial products. \ +The OpenSAF project was launched in mid 2007 and has been under development by \ +an informal group of supporters of the OpenSAF initiative. The OpenSAF \ +Foundation was founded on January 22nd 2008 with Emerson Network Power, \ +Ericsson, Nokia Siemens Networks, HP and Sun Microsystems as founding members." +HOMEPAGE = "http://www.opensaf.org" +SECTION = "admin" +LICENSE = "LGPLv2.1" +LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=a916467b91076e631dd8edb7424769c7" + +DEPENDS = "libxml2 python" +TOOLCHAIN = "gcc" + +SECURITY_CFLAGS = "${SECURITY_NO_PIE_CFLAGS}" + +SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/releases/${BPN}-${PV}.tar.gz \ + file://0001-configure-Pass-linker-specific-options-with-Wl.patch \ + file://0001-configure-Disable-format-overflow-if-supported-by-gc.patch \ + file://0001-src-Add-missing-header-limits.h-for-_POSIX_HOST_NAME.patch \ + file://0001-immpbe_dump.cc-Use-sys-wait.h-instead-of-wait.h.patch \ + file://0001-Add-configure-time-check-for-gettid-API.patch \ + file://0001-create_empty_library-Use-CC-variable-intead-of-hardc.patch \ + " +SRC_URI[md5sum] = "9b61df01d1a092101c4a626692edae19" +SRC_URI[sha256sum] = "6da9af96e8ee58d11031d305bf4804a00deb6108e12e422722882a2091bd34bd" + +inherit autotools useradd systemd pkgconfig + +USERADD_PACKAGES = "${PN}" +GROUPADD_PARAM_${PN} = "-f -r opensaf" +USERADD_PARAM_${PN} = "-r -g opensaf -d ${datadir}/opensaf/ -s ${sbindir}/nologin -c \"OpenSAF\" opensaf" + +SYSTEMD_SERVICE_${PN} += "opensafd.service" +SYSTEMD_AUTO_ENABLE = "disable" + +PACKAGECONFIG[systemd] = ",,systemd" +PACKAGECONFIG[openhpi] = "--with-hpi-interface=B03,,openhpi" +PACKAGECONFIG[plm] = "--enable-ais-plm,--disable-ais-plm,libvirt openhpi" + +PACKAGECONFIG ?= "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', ' systemd', '', d)}" + +CPPFLAGS += "-Wno-error=stringop-overflow= -Wno-error=stringop-truncation" +CXXFLAGS += "-Wno-error=stringop-overflow= -Wno-error=stringop-truncation -Wno-error=format-truncation=" +LDFLAGS += "-Wl,--as-needed -latomic -Wl,--no-as-needed" + +do_install_append() { + rm -fr "${D}${localstatedir}/lock" + rm -fr "${D}${localstatedir}/run" + rmdir --ignore-fail-on-non-empty "${D}${localstatedir}" + rmdir --ignore-fail-on-non-empty "${D}${datadir}/java" + if [ ! -d "${D}${sysconfdir}/init.d" ]; then + install -d ${D}${sysconfdir}/init.d + install -m 0755 ${B}/osaf/services/infrastructure/nid/scripts/opensafd ${D}${sysconfdir}/init.d/ + fi +} + +FILES_${PN} += "${libdir}/libSa*.so ${systemd_unitdir}/system/*.service" +FILES_${PN}-dev += "${libdir}/libopensaf_core.so" +FILES_${PN}-staticdev += "${PKGLIBDIR}/*.a" + +INSANE_SKIP_${PN} = "dev-so" + +RDEPENDS_${PN} += "bash python" + +# http://errors.yoctoproject.org/Errors/Details/186970/ +COMPATIBLE_HOST_libc-musl = 'null' + +FILES_SOLIBSDEV = "" diff --git a/meta-openembedded/meta-networking/recipes-devtools/grpc/grpc_1.24.3.bb b/meta-openembedded/meta-networking/recipes-devtools/grpc/grpc_1.24.3.bb index 24072c0832..3cde6f79cc 100644 --- a/meta-openembedded/meta-networking/recipes-devtools/grpc/grpc_1.24.3.bb +++ b/meta-openembedded/meta-networking/recipes-devtools/grpc/grpc_1.24.3.bb @@ -36,6 +36,8 @@ EXTRA_OECMAKE = " \ -DgRPC_INSTALL=ON \ -DCMAKE_CROSSCOMPILING=ON \ -DBUILD_SHARED_LIBS=ON \ + -DgRPC_INSTALL_LIBDIR=${baselib} \ + -DgRPC_INSTALL_CMAKEDIR=${baselib}/cmake/${BPN} \ " do_configure_prepend_mipsarch() { @@ -48,6 +50,6 @@ do_configure_prepend_toolchain-clang_x86() { BBCLASSEXTEND = "native nativesdk" -SYSROOT_DIRS_BLACKLIST_append_class-target = "${libdir}/cmake/grpc" +SYSROOT_DIRS_BLACKLIST_append_class-target = "${baselib}/cmake/grpc" FILES_${PN}-dev += "${bindir}" diff --git a/meta-openembedded/meta-networking/recipes-extended/corosync/corosync/0001-configure.ac-fix-pkgconfig-issue-of-rdma.patch b/meta-openembedded/meta-networking/recipes-extended/corosync/corosync/0001-configure.ac-fix-pkgconfig-issue-of-rdma.patch new file mode 100644 index 0000000000..bdc7645ce6 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-extended/corosync/corosync/0001-configure.ac-fix-pkgconfig-issue-of-rdma.patch @@ -0,0 +1,32 @@ +Subject: [PATCH] configure.ac: fix pkgconfig issue of rdma + +pkgconfig files from rdma-core(https://github.com/linux-rdma/rdma-core) +are named start with lib, such as librdmacm.pc and libibverbs.pc. When +rdma support is enabled, it fails to find rdma related libraries. Update +configure.ac to the issue. + +Upstream-Status: Submitted [https://github.com/corosync/corosync/pull/515] + +Signed-off-by: Kai Kang +--- + configure.ac | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/configure.ac b/configure.ac +index ac513e93..240cfed4 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -459,8 +459,8 @@ if test "x${enable_testagents}" = xyes; then + fi + + if test "x${enable_rdma}" = xyes; then +- PKG_CHECK_MODULES([rdmacm],[rdmacm]) +- PKG_CHECK_MODULES([ibverbs],[ibverbs]) ++ PKG_CHECK_MODULES([rdmacm],[librdmacm]) ++ PKG_CHECK_MODULES([ibverbs],[libibverbs]) + AC_DEFINE_UNQUOTED([HAVE_RDMA], 1, [have rdmacm]) + PACKAGE_FEATURES="$PACKAGE_FEATURES rdma" + WITH_LIST="$WITH_LIST --with rdma" +-- +2.20.1 + diff --git a/meta-openembedded/meta-networking/recipes-extended/corosync/corosync_2.4.5.bb b/meta-openembedded/meta-networking/recipes-extended/corosync/corosync_2.4.5.bb index 1f4a3e1c6c..eefbcca8a1 100644 --- a/meta-openembedded/meta-networking/recipes-extended/corosync/corosync_2.4.5.bb +++ b/meta-openembedded/meta-networking/recipes-extended/corosync/corosync_2.4.5.bb @@ -9,6 +9,7 @@ inherit autotools pkgconfig systemd useradd SRC_URI = "http://build.clusterlabs.org/corosync/releases/${BP}.tar.gz \ file://corosync.conf \ + file://0001-configure.ac-fix-pkgconfig-issue-of-rdma.patch \ " SRC_URI[md5sum] = "e36a056b893c313c4ec1fe0d7e6cdebd" @@ -36,7 +37,7 @@ PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \ PACKAGECONFIG[dbus] = "--enable-dbus,--disable-dbus,dbus" PACKAGECONFIG[qdevice] = "--enable-qdevices,--disable-qdevices" PACKAGECONFIG[qnetd] = "--enable-qnetd,--disable-qnetd" -PACKAGECONFIG[rdma] = "--enable-rdma,--disable-rdma,librdmacm" +PACKAGECONFIG[rdma] = "--enable-rdma,--disable-rdma,rdma-core" PACKAGECONFIG[snmp] = "--enable-snmp,--disable-snmp,net-snmp" PACKAGECONFIG[systemd] = "--enable-systemd --with-systemddir=${systemd_system_unitdir},--disable-systemd --without-systemddir,systemd" diff --git a/meta-openembedded/meta-networking/recipes-filter/arno-iptables-firewall/arno-iptables-firewall_2.0.3.bb b/meta-openembedded/meta-networking/recipes-filter/arno-iptables-firewall/arno-iptables-firewall_2.0.3.bb deleted file mode 100644 index 60aae2145a..0000000000 --- a/meta-openembedded/meta-networking/recipes-filter/arno-iptables-firewall/arno-iptables-firewall_2.0.3.bb +++ /dev/null @@ -1,33 +0,0 @@ -SUMMARY = "IPTables based firewall scripts" -HOMEPAGE = "http://rocky.eld.leidenuniv.nl/joomla/index.php?option=com_content&view=article&id=45&Itemid=63" - -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://gpl_license.txt;md5=11c7b65c4a4acb9d5175f7e9bf99c403" - -SRCREV = "ffcb86c30779df58ee057dfe9a3b078adccc1513" -SRC_URI = "git://github.com/arno-iptables-firewall/aif" - -S = "${WORKDIR}/git" - -inherit systemd - -do_install() { - install -d ${D}${sysconfdir} ${D}${sbindir} ${D}${bindir} ${D}${systemd_unitdir}/system ${D}${sysconfdir}/init.d - install -d ${D}${datadir}/arno-iptables-firewall ${D}${sysconfdir}/arno-iptables-firewall - cp -r ${S}${sysconfdir}/arno-iptables-firewall ${D}${sysconfdir}/ - install -m 0755 ${S}${sysconfdir}/init.d/arno-iptables-firewall ${D}${bindir} - install -m 0755 ${S}/bin/arno-iptables-firewall ${D}${sbindir} - install -m 0755 ${S}/bin/arno-fwfilter ${D}${bindir} - cp -r ${S}/share/arno-iptables-firewall/* ${D}${datadir}/arno-iptables-firewall - cp -r ${S}/etc/arno-iptables-firewall/* ${D}${sysconfdir}/arno-iptables-firewall - install -m 0644 ${S}/${systemd_unitdir}/system/arno-iptables-firewall.service ${D}${systemd_unitdir}/system - sed -i -e 's%/usr/local/sbin%${bindir}%g' ${D}${systemd_unitdir}/system/arno-iptables-firewall.service - sed -i -e 's%/usr/local/sbin%${sbindir}%g' ${D}${bindir}/arno-iptables-firewall - sed -i -e 's%/usr/local%${exec_prefix}%g' ${D}${sysconfdir}/arno-iptables-firewall/firewall.conf - sed -i -e 's%#!/bin/bash%#!/bin/sh%g' ${D}${bindir}/arno-fwfilter - sed -i -e 's%#!/bin/bash%#!/bin/sh%g' ${D}${datadir}/arno-iptables-firewall/plugins/traffic-accounting-helper - sed -i -e 's%#!/bin/bash%#!/bin/sh%g' ${D}${datadir}/arno-iptables-firewall/plugins/dyndns-host-open-helper -} - -SYSTEMD_SERVICE_${PN} = "arno-iptables-firewall.service" -FILES_${PN} += "${systemd_unitdir}/system/arno-iptables-firewall.service" diff --git a/meta-openembedded/meta-networking/recipes-filter/arno-iptables-firewall/arno-iptables-firewall_2.1.0.bb b/meta-openembedded/meta-networking/recipes-filter/arno-iptables-firewall/arno-iptables-firewall_2.1.0.bb new file mode 100644 index 0000000000..115353fec7 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-filter/arno-iptables-firewall/arno-iptables-firewall_2.1.0.bb @@ -0,0 +1,33 @@ +SUMMARY = "IPTables based firewall scripts" +HOMEPAGE = "http://rocky.eld.leidenuniv.nl/joomla/index.php?option=com_content&view=article&id=45&Itemid=63" + +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://gpl_license.txt;md5=11c7b65c4a4acb9d5175f7e9bf99c403" + +SRCREV = "39276d14b659684c4c0612725ab83ea841c6ef99" +SRC_URI = "git://github.com/arno-iptables-firewall/aif" + +S = "${WORKDIR}/git" + +inherit systemd + +do_install() { + install -d ${D}${sysconfdir} ${D}${sbindir} ${D}${bindir} ${D}${systemd_unitdir}/system ${D}${sysconfdir}/init.d + install -d ${D}${datadir}/arno-iptables-firewall ${D}${sysconfdir}/arno-iptables-firewall + cp -r ${S}${sysconfdir}/arno-iptables-firewall ${D}${sysconfdir}/ + install -m 0755 ${S}${sysconfdir}/init.d/arno-iptables-firewall ${D}${bindir} + install -m 0755 ${S}/bin/arno-iptables-firewall ${D}${sbindir} + install -m 0755 ${S}/bin/arno-fwfilter ${D}${bindir} + cp -r ${S}/share/arno-iptables-firewall/* ${D}${datadir}/arno-iptables-firewall + cp -r ${S}/etc/arno-iptables-firewall/* ${D}${sysconfdir}/arno-iptables-firewall + install -m 0644 ${S}/${systemd_unitdir}/system/arno-iptables-firewall.service ${D}${systemd_unitdir}/system + sed -i -e 's%/usr/local/sbin%${bindir}%g' ${D}${systemd_unitdir}/system/arno-iptables-firewall.service + sed -i -e 's%/usr/local/sbin%${sbindir}%g' ${D}${bindir}/arno-iptables-firewall + sed -i -e 's%/usr/local%${exec_prefix}%g' ${D}${sysconfdir}/arno-iptables-firewall/firewall.conf + sed -i -e 's%#!/bin/bash%#!/bin/sh%g' ${D}${bindir}/arno-fwfilter + sed -i -e 's%#!/bin/bash%#!/bin/sh%g' ${D}${datadir}/arno-iptables-firewall/plugins/traffic-accounting-helper + sed -i -e 's%#!/bin/bash%#!/bin/sh%g' ${D}${datadir}/arno-iptables-firewall/plugins/dyndns-host-open-helper +} + +SYSTEMD_SERVICE_${PN} = "arno-iptables-firewall.service" +FILES_${PN} += "${systemd_unitdir}/system/arno-iptables-firewall.service" diff --git a/meta-openembedded/meta-networking/recipes-filter/libnftnl/libnftnl/0001-Move-exports-before-symbol-definition.patch b/meta-openembedded/meta-networking/recipes-filter/libnftnl/libnftnl/0001-Move-exports-before-symbol-definition.patch deleted file mode 100644 index 699d0d922b..0000000000 --- a/meta-openembedded/meta-networking/recipes-filter/libnftnl/libnftnl/0001-Move-exports-before-symbol-definition.patch +++ /dev/null @@ -1,294 +0,0 @@ -From 6b76c76e6b3f93c422d666f49ee68df9d5426078 Mon Sep 17 00:00:00 2001 -From: Alex Kiernan -Date: Wed, 7 Nov 2018 21:19:53 +0000 -Subject: [PATCH] Move exports before symbol definition - -Based on 7966020 ("src: Fix exporting symbols with clang"), when -EXPORT_SYMBOL is located after function definition, clang won't properly -export the function, resulting in a library with no symbols when built with -clang. - -Signed-off-by: Alex Kiernan ---- - src/flowtable.c | 54 ++++++++++++++++++++++++------------------------- - 1 file changed, 27 insertions(+), 27 deletions(-) - -diff --git a/src/flowtable.c b/src/flowtable.c -index 1f7ba30..80de952 100644 ---- a/src/flowtable.c -+++ b/src/flowtable.c -@@ -34,12 +34,13 @@ struct nftnl_flowtable { - uint32_t flags; - }; - -+EXPORT_SYMBOL(nftnl_flowtable_alloc); - struct nftnl_flowtable *nftnl_flowtable_alloc(void) - { - return calloc(1, sizeof(struct nftnl_flowtable)); - } --EXPORT_SYMBOL(nftnl_flowtable_alloc); - -+EXPORT_SYMBOL(nftnl_flowtable_free); - void nftnl_flowtable_free(const struct nftnl_flowtable *c) - { - int i; -@@ -56,14 +57,14 @@ void nftnl_flowtable_free(const struct nftnl_flowtable *c) - } - xfree(c); - } --EXPORT_SYMBOL(nftnl_flowtable_free); - -+EXPORT_SYMBOL(nftnl_flowtable_is_set); - bool nftnl_flowtable_is_set(const struct nftnl_flowtable *c, uint16_t attr) - { - return c->flags & (1 << attr); - } --EXPORT_SYMBOL(nftnl_flowtable_is_set); - -+EXPORT_SYMBOL(nftnl_flowtable_unset); - void nftnl_flowtable_unset(struct nftnl_flowtable *c, uint16_t attr) - { - int i; -@@ -95,7 +96,6 @@ void nftnl_flowtable_unset(struct nftnl_flowtable *c, uint16_t attr) - - c->flags &= ~(1 << attr); - } --EXPORT_SYMBOL(nftnl_flowtable_unset); - - static uint32_t nftnl_flowtable_validate[NFTNL_FLOWTABLE_MAX + 1] = { - [NFTNL_FLOWTABLE_HOOKNUM] = sizeof(uint32_t), -@@ -104,6 +104,7 @@ static uint32_t nftnl_flowtable_validate[NFTNL_FLOWTABLE_MAX + 1] = { - [NFTNL_FLOWTABLE_FLAGS] = sizeof(uint32_t), - }; - -+EXPORT_SYMBOL(nftnl_flowtable_set_data); - int nftnl_flowtable_set_data(struct nftnl_flowtable *c, uint16_t attr, - const void *data, uint32_t data_len) - { -@@ -169,32 +170,32 @@ int nftnl_flowtable_set_data(struct nftnl_flowtable *c, uint16_t attr, - c->flags |= (1 << attr); - return 0; - } --EXPORT_SYMBOL(nftnl_flowtable_set_data); - -+EXPORT_SYMBOL(nftnl_flowtable_set); - void nftnl_flowtable_set(struct nftnl_flowtable *c, uint16_t attr, const void *data) - { - nftnl_flowtable_set_data(c, attr, data, nftnl_flowtable_validate[attr]); - } --EXPORT_SYMBOL(nftnl_flowtable_set); - -+EXPORT_SYMBOL(nftnl_flowtable_set_u32); - void nftnl_flowtable_set_u32(struct nftnl_flowtable *c, uint16_t attr, uint32_t data) - { - nftnl_flowtable_set_data(c, attr, &data, sizeof(uint32_t)); - } --EXPORT_SYMBOL(nftnl_flowtable_set_u32); - -+EXPORT_SYMBOL(nftnl_flowtable_set_s32); - void nftnl_flowtable_set_s32(struct nftnl_flowtable *c, uint16_t attr, int32_t data) - { - nftnl_flowtable_set_data(c, attr, &data, sizeof(int32_t)); - } --EXPORT_SYMBOL(nftnl_flowtable_set_s32); - -+EXPORT_SYMBOL(nftnl_flowtable_set_str); - int nftnl_flowtable_set_str(struct nftnl_flowtable *c, uint16_t attr, const char *str) - { - return nftnl_flowtable_set_data(c, attr, str, strlen(str) + 1); - } --EXPORT_SYMBOL(nftnl_flowtable_set_str); - -+EXPORT_SYMBOL(nftnl_flowtable_get_data); - const void *nftnl_flowtable_get_data(const struct nftnl_flowtable *c, - uint16_t attr, uint32_t *data_len) - { -@@ -228,21 +229,21 @@ const void *nftnl_flowtable_get_data(const struct nftnl_flowtable *c, - } - return NULL; - } --EXPORT_SYMBOL(nftnl_flowtable_get_data); - -+EXPORT_SYMBOL(nftnl_flowtable_get); - const void *nftnl_flowtable_get(const struct nftnl_flowtable *c, uint16_t attr) - { - uint32_t data_len; - return nftnl_flowtable_get_data(c, attr, &data_len); - } --EXPORT_SYMBOL(nftnl_flowtable_get); - -+EXPORT_SYMBOL(nftnl_flowtable_get_str); - const char *nftnl_flowtable_get_str(const struct nftnl_flowtable *c, uint16_t attr) - { - return nftnl_flowtable_get(c, attr); - } --EXPORT_SYMBOL(nftnl_flowtable_get_str); - -+EXPORT_SYMBOL(nftnl_flowtable_get_u32); - uint32_t nftnl_flowtable_get_u32(const struct nftnl_flowtable *c, uint16_t attr) - { - uint32_t data_len = 0; -@@ -252,8 +253,8 @@ uint32_t nftnl_flowtable_get_u32(const struct nftnl_flowtable *c, uint16_t attr) - - return val ? *val : 0; - } --EXPORT_SYMBOL(nftnl_flowtable_get_u32); - -+EXPORT_SYMBOL(nftnl_flowtable_get_s32); - int32_t nftnl_flowtable_get_s32(const struct nftnl_flowtable *c, uint16_t attr) - { - uint32_t data_len = 0; -@@ -263,8 +264,8 @@ int32_t nftnl_flowtable_get_s32(const struct nftnl_flowtable *c, uint16_t attr) - - return val ? *val : 0; - } --EXPORT_SYMBOL(nftnl_flowtable_get_s32); - -+EXPORT_SYMBOL(nftnl_flowtable_nlmsg_build_payload); - void nftnl_flowtable_nlmsg_build_payload(struct nlmsghdr *nlh, - const struct nftnl_flowtable *c) - { -@@ -300,7 +301,6 @@ void nftnl_flowtable_nlmsg_build_payload(struct nlmsghdr *nlh, - if (c->flags & (1 << NFTNL_FLOWTABLE_SIZE)) - mnl_attr_put_u32(nlh, NFTA_FLOWTABLE_SIZE, htonl(c->size)); - } --EXPORT_SYMBOL(nftnl_flowtable_nlmsg_build_payload); - - static int nftnl_flowtable_parse_attr_cb(const struct nlattr *attr, void *data) - { -@@ -415,6 +415,7 @@ static int nftnl_flowtable_parse_hook(struct nlattr *attr, struct nftnl_flowtabl - return 0; - } - -+EXPORT_SYMBOL(nftnl_flowtable_nlmsg_parse); - int nftnl_flowtable_nlmsg_parse(const struct nlmsghdr *nlh, struct nftnl_flowtable *c) - { - struct nlattr *tb[NFTA_FLOWTABLE_MAX + 1] = {}; -@@ -463,7 +464,6 @@ int nftnl_flowtable_nlmsg_parse(const struct nlmsghdr *nlh, struct nftnl_flowtab - - return ret; - } --EXPORT_SYMBOL(nftnl_flowtable_nlmsg_parse); - - static const char *nftnl_hooknum2str(int family, int hooknum) - { -@@ -516,14 +516,15 @@ static inline int nftnl_str2hooknum(int family, const char *hook) - return -1; - } - -+EXPORT_SYMBOL(nftnl_flowtable_parse); - int nftnl_flowtable_parse(struct nftnl_flowtable *c, enum nftnl_parse_type type, - const char *data, struct nftnl_parse_err *err) - { - errno = EOPNOTSUPP; - return -1; - } --EXPORT_SYMBOL(nftnl_flowtable_parse); - -+EXPORT_SYMBOL(nftnl_flowtable_parse_file); - int nftnl_flowtable_parse_file(struct nftnl_flowtable *c, - enum nftnl_parse_type type, - FILE *fp, struct nftnl_parse_err *err) -@@ -531,7 +532,6 @@ int nftnl_flowtable_parse_file(struct nftnl_flowtable *c, - errno = EOPNOTSUPP; - return -1; - } --EXPORT_SYMBOL(nftnl_flowtable_parse_file); - - static int nftnl_flowtable_snprintf_default(char *buf, size_t size, - const struct nftnl_flowtable *c) -@@ -587,6 +587,7 @@ static int nftnl_flowtable_cmd_snprintf(char *buf, size_t size, - return offset; - } - -+EXPORT_SYMBOL(nftnl_flowtable_snprintf); - int nftnl_flowtable_snprintf(char *buf, size_t size, const struct nftnl_flowtable *c, - uint32_t type, uint32_t flags) - { -@@ -596,7 +597,6 @@ int nftnl_flowtable_snprintf(char *buf, size_t size, const struct nftnl_flowtabl - return nftnl_flowtable_cmd_snprintf(buf, size, c, nftnl_flag2cmd(flags), - type, flags); - } --EXPORT_SYMBOL(nftnl_flowtable_snprintf); - - static int nftnl_flowtable_do_snprintf(char *buf, size_t size, const void *c, - uint32_t cmd, uint32_t type, uint32_t flags) -@@ -604,18 +604,19 @@ static int nftnl_flowtable_do_snprintf(char *buf, size_t size, const void *c, - return nftnl_flowtable_snprintf(buf, size, c, type, flags); - } - -+EXPORT_SYMBOL(nftnl_flowtable_fprintf); - int nftnl_flowtable_fprintf(FILE *fp, const struct nftnl_flowtable *c, - uint32_t type, uint32_t flags) - { - return nftnl_fprintf(fp, c, NFTNL_CMD_UNSPEC, type, flags, - nftnl_flowtable_do_snprintf); - } --EXPORT_SYMBOL(nftnl_flowtable_fprintf); - - struct nftnl_flowtable_list { - struct list_head list; - }; - -+EXPORT_SYMBOL(nftnl_flowtable_list_alloc); - struct nftnl_flowtable_list *nftnl_flowtable_list_alloc(void) - { - struct nftnl_flowtable_list *list; -@@ -628,8 +629,8 @@ struct nftnl_flowtable_list *nftnl_flowtable_list_alloc(void) - - return list; - } --EXPORT_SYMBOL(nftnl_flowtable_list_alloc); - -+EXPORT_SYMBOL(nftnl_flowtable_list_free); - void nftnl_flowtable_list_free(struct nftnl_flowtable_list *list) - { - struct nftnl_flowtable *s, *tmp; -@@ -640,34 +641,34 @@ void nftnl_flowtable_list_free(struct nftnl_flowtable_list *list) - } - xfree(list); - } --EXPORT_SYMBOL(nftnl_flowtable_list_free); - -+EXPORT_SYMBOL(nftnl_flowtable_list_is_empty); - int nftnl_flowtable_list_is_empty(const struct nftnl_flowtable_list *list) - { - return list_empty(&list->list); - } --EXPORT_SYMBOL(nftnl_flowtable_list_is_empty); - -+EXPORT_SYMBOL(nftnl_flowtable_list_add); - void nftnl_flowtable_list_add(struct nftnl_flowtable *s, - struct nftnl_flowtable_list *list) - { - list_add(&s->head, &list->list); - } --EXPORT_SYMBOL(nftnl_flowtable_list_add); - -+EXPORT_SYMBOL(nftnl_flowtable_list_add_tail); - void nftnl_flowtable_list_add_tail(struct nftnl_flowtable *s, - struct nftnl_flowtable_list *list) - { - list_add_tail(&s->head, &list->list); - } --EXPORT_SYMBOL(nftnl_flowtable_list_add_tail); - -+EXPORT_SYMBOL(nftnl_flowtable_list_del); - void nftnl_flowtable_list_del(struct nftnl_flowtable *s) - { - list_del(&s->head); - } --EXPORT_SYMBOL(nftnl_flowtable_list_del); - -+EXPORT_SYMBOL(nftnl_flowtable_list_foreach); - int nftnl_flowtable_list_foreach(struct nftnl_flowtable_list *flowtable_list, - int (*cb)(struct nftnl_flowtable *t, void *data), void *data) - { -@@ -681,4 +682,3 @@ int nftnl_flowtable_list_foreach(struct nftnl_flowtable_list *flowtable_list, - } - return 0; - } --EXPORT_SYMBOL(nftnl_flowtable_list_foreach); --- -2.17.1 - diff --git a/meta-openembedded/meta-networking/recipes-filter/libnftnl/libnftnl/0001-avoid-naming-local-function-as-one-of-printf-family.patch b/meta-openembedded/meta-networking/recipes-filter/libnftnl/libnftnl/0001-avoid-naming-local-function-as-one-of-printf-family.patch new file mode 100644 index 0000000000..f49ef2a78c --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-filter/libnftnl/libnftnl/0001-avoid-naming-local-function-as-one-of-printf-family.patch @@ -0,0 +1,631 @@ +From e03b003610a176d608da9a02e433e7ded7e4b75f Mon Sep 17 00:00:00 2001 +From: Todd Cunningham +Date: Wed, 11 Dec 2019 10:18:56 +1000 +Subject: [PATCH] avoid naming local function as one of printf family + +Fixes build issues with clang +error: no member named '__builtin___snprintf_chk' in 'struct expr_ops' + +Signed-off-by: Khem Raj +Signed-off-by: Alex Kiernan + +Signed-off-by: Yuan Chao +Signed-off-by: Todd Cunningham +--- + include/expr_ops.h | 2 +- + include/obj.h | 2 +- + src/expr.c | 4 ++-- + src/expr/bitwise.c | 2 +- + src/expr/byteorder.c | 2 +- + src/expr/cmp.c | 2 +- + src/expr/connlimit.c | 2 +- + src/expr/counter.c | 2 +- + src/expr/ct.c | 2 +- + src/expr/dup.c | 2 +- + src/expr/dynset.c | 2 +- + src/expr/exthdr.c | 2 +- + src/expr/fib.c | 2 +- + src/expr/flow_offload.c | 2 +- + src/expr/fwd.c | 2 +- + src/expr/hash.c | 2 +- + src/expr/immediate.c | 2 +- + src/expr/limit.c | 2 +- + src/expr/log.c | 2 +- + src/expr/lookup.c | 2 +- + src/expr/masq.c | 2 +- + src/expr/match.c | 2 +- + src/expr/meta.c | 2 +- + src/expr/nat.c | 2 +- + src/expr/numgen.c | 2 +- + src/expr/objref.c | 2 +- + src/expr/osf.c | 2 +- + src/expr/payload.c | 2 +- + src/expr/queue.c | 2 +- + src/expr/quota.c | 2 +- + src/expr/range.c | 2 +- + src/expr/redir.c | 2 +- + src/expr/reject.c | 2 +- + src/expr/rt.c | 2 +- + src/expr/socket.c | 2 +- + src/expr/synproxy.c | 2 +- + src/expr/target.c | 2 +- + src/expr/tproxy.c | 2 +- + src/expr/tunnel.c | 2 +- + src/expr/xfrm.c | 2 +- + src/obj/counter.c | 2 +- + src/obj/ct_expect.c | 2 +- + src/obj/ct_helper.c | 2 +- + src/obj/ct_timeout.c | 2 +- + src/obj/limit.c | 2 +- + src/obj/quota.c | 2 +- + src/obj/secmark.c | 2 +- + src/obj/synproxy.c | 2 +- + src/obj/tunnel.c | 2 +- + src/object.c | 2 +- + 49 files changed, 50 insertions(+), 50 deletions(-) + +diff --git a/include/expr_ops.h b/include/expr_ops.h +index a7f1b9a..d2946de 100644 +--- a/include/expr_ops.h ++++ b/include/expr_ops.h +@@ -17,7 +17,7 @@ struct expr_ops { + const void *(*get)(const struct nftnl_expr *e, uint16_t type, uint32_t *data_len); + int (*parse)(struct nftnl_expr *e, struct nlattr *attr); + void (*build)(struct nlmsghdr *nlh, const struct nftnl_expr *e); +- int (*snprintf)(char *buf, size_t len, uint32_t type, uint32_t flags, const struct nftnl_expr *e); ++ int (*snprintf_)(char *buf, size_t len, uint32_t type, uint32_t flags, const struct nftnl_expr *e); + }; + + struct expr_ops *nftnl_expr_ops_lookup(const char *name); +diff --git a/include/obj.h b/include/obj.h +index 9394d79..08610d7 100644 +--- a/include/obj.h ++++ b/include/obj.h +@@ -99,7 +99,7 @@ struct obj_ops { + const void *(*get)(const struct nftnl_obj *e, uint16_t type, uint32_t *data_len); + int (*parse)(struct nftnl_obj *e, struct nlattr *attr); + void (*build)(struct nlmsghdr *nlh, const struct nftnl_obj *e); +- int (*snprintf)(char *buf, size_t len, uint32_t type, uint32_t flags, const struct nftnl_obj *e); ++ int (*snprintf_)(char *buf, size_t len, uint32_t type, uint32_t flags, const struct nftnl_obj *e); + }; + + extern struct obj_ops obj_ops_counter; +diff --git a/src/expr.c b/src/expr.c +index 80c4c36..b698a60 100644 +--- a/src/expr.c ++++ b/src/expr.c +@@ -275,10 +275,10 @@ int nftnl_expr_snprintf(char *buf, size_t size, const struct nftnl_expr *expr, + if (size) + buf[0] = '\0'; + +- if (!expr->ops->snprintf) ++ if (!expr->ops->snprintf_) + return 0; + +- ret = expr->ops->snprintf(buf + offset, remain, type, flags, expr); ++ ret = expr->ops->snprintf_(buf + offset, remain, type, flags, expr); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); + + return offset; +diff --git a/src/expr/bitwise.c b/src/expr/bitwise.c +index c9d40df..27d644b 100644 +--- a/src/expr/bitwise.c ++++ b/src/expr/bitwise.c +@@ -219,5 +219,5 @@ struct expr_ops expr_ops_bitwise = { + .get = nftnl_expr_bitwise_get, + .parse = nftnl_expr_bitwise_parse, + .build = nftnl_expr_bitwise_build, +- .snprintf = nftnl_expr_bitwise_snprintf, ++ .snprintf_ = nftnl_expr_bitwise_snprintf, + }; +diff --git a/src/expr/byteorder.c b/src/expr/byteorder.c +index efdfa2b..7ae9dfb 100644 +--- a/src/expr/byteorder.c ++++ b/src/expr/byteorder.c +@@ -234,5 +234,5 @@ struct expr_ops expr_ops_byteorder = { + .get = nftnl_expr_byteorder_get, + .parse = nftnl_expr_byteorder_parse, + .build = nftnl_expr_byteorder_build, +- .snprintf = nftnl_expr_byteorder_snprintf, ++ .snprintf_ = nftnl_expr_byteorder_snprintf, + }; +diff --git a/src/expr/cmp.c b/src/expr/cmp.c +index 86d7842..e3be442 100644 +--- a/src/expr/cmp.c ++++ b/src/expr/cmp.c +@@ -216,5 +216,5 @@ struct expr_ops expr_ops_cmp = { + .get = nftnl_expr_cmp_get, + .parse = nftnl_expr_cmp_parse, + .build = nftnl_expr_cmp_build, +- .snprintf = nftnl_expr_cmp_snprintf, ++ .snprintf_ = nftnl_expr_cmp_snprintf, + }; +diff --git a/src/expr/connlimit.c b/src/expr/connlimit.c +index 53af93b..6c8bc40 100644 +--- a/src/expr/connlimit.c ++++ b/src/expr/connlimit.c +@@ -149,5 +149,5 @@ struct expr_ops expr_ops_connlimit = { + .get = nftnl_expr_connlimit_get, + .parse = nftnl_expr_connlimit_parse, + .build = nftnl_expr_connlimit_build, +- .snprintf = nftnl_expr_connlimit_snprintf, ++ .snprintf_ = nftnl_expr_connlimit_snprintf, + }; +diff --git a/src/expr/counter.c b/src/expr/counter.c +index 89a602e..a32a69e 100644 +--- a/src/expr/counter.c ++++ b/src/expr/counter.c +@@ -147,5 +147,5 @@ struct expr_ops expr_ops_counter = { + .get = nftnl_expr_counter_get, + .parse = nftnl_expr_counter_parse, + .build = nftnl_expr_counter_build, +- .snprintf = nftnl_expr_counter_snprintf, ++ .snprintf_ = nftnl_expr_counter_snprintf, + }; +diff --git a/src/expr/ct.c b/src/expr/ct.c +index 124de9d..7bde179 100644 +--- a/src/expr/ct.c ++++ b/src/expr/ct.c +@@ -273,5 +273,5 @@ struct expr_ops expr_ops_ct = { + .get = nftnl_expr_ct_get, + .parse = nftnl_expr_ct_parse, + .build = nftnl_expr_ct_build, +- .snprintf = nftnl_expr_ct_snprintf, ++ .snprintf_ = nftnl_expr_ct_snprintf, + }; +diff --git a/src/expr/dup.c b/src/expr/dup.c +index 2bb35e5..d9bd4b1 100644 +--- a/src/expr/dup.c ++++ b/src/expr/dup.c +@@ -154,5 +154,5 @@ struct expr_ops expr_ops_dup = { + .get = nftnl_expr_dup_get, + .parse = nftnl_expr_dup_parse, + .build = nftnl_expr_dup_build, +- .snprintf = nftnl_expr_dup_snprintf, ++ .snprintf_ = nftnl_expr_dup_snprintf, + }; +diff --git a/src/expr/dynset.c b/src/expr/dynset.c +index 68115ba..6e43bb4 100644 +--- a/src/expr/dynset.c ++++ b/src/expr/dynset.c +@@ -288,5 +288,5 @@ struct expr_ops expr_ops_dynset = { + .get = nftnl_expr_dynset_get, + .parse = nftnl_expr_dynset_parse, + .build = nftnl_expr_dynset_build, +- .snprintf = nftnl_expr_dynset_snprintf, ++ .snprintf_ = nftnl_expr_dynset_snprintf, + }; +diff --git a/src/expr/exthdr.c b/src/expr/exthdr.c +index e5f714b..e68792b 100644 +--- a/src/expr/exthdr.c ++++ b/src/expr/exthdr.c +@@ -276,5 +276,5 @@ struct expr_ops expr_ops_exthdr = { + .get = nftnl_expr_exthdr_get, + .parse = nftnl_expr_exthdr_parse, + .build = nftnl_expr_exthdr_build, +- .snprintf = nftnl_expr_exthdr_snprintf, ++ .snprintf_ = nftnl_expr_exthdr_snprintf, + }; +diff --git a/src/expr/fib.c b/src/expr/fib.c +index 9475af4..8e7090d 100644 +--- a/src/expr/fib.c ++++ b/src/expr/fib.c +@@ -213,5 +213,5 @@ struct expr_ops expr_ops_fib = { + .get = nftnl_expr_fib_get, + .parse = nftnl_expr_fib_parse, + .build = nftnl_expr_fib_build, +- .snprintf = nftnl_expr_fib_snprintf, ++ .snprintf_ = nftnl_expr_fib_snprintf, + }; +diff --git a/src/expr/flow_offload.c b/src/expr/flow_offload.c +index 6ccec9a..c2f2478 100644 +--- a/src/expr/flow_offload.c ++++ b/src/expr/flow_offload.c +@@ -134,5 +134,5 @@ struct expr_ops expr_ops_flow = { + .get = nftnl_expr_flow_get, + .parse = nftnl_expr_flow_parse, + .build = nftnl_expr_flow_build, +- .snprintf = nftnl_expr_flow_snprintf, ++ .snprintf_ = nftnl_expr_flow_snprintf, + }; +diff --git a/src/expr/fwd.c b/src/expr/fwd.c +index cff8235..bcd7d3f 100644 +--- a/src/expr/fwd.c ++++ b/src/expr/fwd.c +@@ -174,5 +174,5 @@ struct expr_ops expr_ops_fwd = { + .get = nftnl_expr_fwd_get, + .parse = nftnl_expr_fwd_parse, + .build = nftnl_expr_fwd_build, +- .snprintf = nftnl_expr_fwd_snprintf, ++ .snprintf_ = nftnl_expr_fwd_snprintf, + }; +diff --git a/src/expr/hash.c b/src/expr/hash.c +index 2c801d2..a9f6e7e 100644 +--- a/src/expr/hash.c ++++ b/src/expr/hash.c +@@ -241,5 +241,5 @@ struct expr_ops expr_ops_hash = { + .get = nftnl_expr_hash_get, + .parse = nftnl_expr_hash_parse, + .build = nftnl_expr_hash_build, +- .snprintf = nftnl_expr_hash_snprintf, ++ .snprintf_ = nftnl_expr_hash_snprintf, + }; +diff --git a/src/expr/immediate.c b/src/expr/immediate.c +index 47106ae..ea86c88 100644 +--- a/src/expr/immediate.c ++++ b/src/expr/immediate.c +@@ -235,5 +235,5 @@ struct expr_ops expr_ops_immediate = { + .get = nftnl_expr_immediate_get, + .parse = nftnl_expr_immediate_parse, + .build = nftnl_expr_immediate_build, +- .snprintf = nftnl_expr_immediate_snprintf, ++ .snprintf_ = nftnl_expr_immediate_snprintf, + }; +diff --git a/src/expr/limit.c b/src/expr/limit.c +index 5872e27..0ce482f 100644 +--- a/src/expr/limit.c ++++ b/src/expr/limit.c +@@ -216,5 +216,5 @@ struct expr_ops expr_ops_limit = { + .get = nftnl_expr_limit_get, + .parse = nftnl_expr_limit_parse, + .build = nftnl_expr_limit_build, +- .snprintf = nftnl_expr_limit_snprintf, ++ .snprintf_ = nftnl_expr_limit_snprintf, + }; +diff --git a/src/expr/log.c b/src/expr/log.c +index bbe43d2..5506bc2 100644 +--- a/src/expr/log.c ++++ b/src/expr/log.c +@@ -267,5 +267,5 @@ struct expr_ops expr_ops_log = { + .get = nftnl_expr_log_get, + .parse = nftnl_expr_log_parse, + .build = nftnl_expr_log_build, +- .snprintf = nftnl_expr_log_snprintf, ++ .snprintf_ = nftnl_expr_log_snprintf, + }; +diff --git a/src/expr/lookup.c b/src/expr/lookup.c +index a495ac0..678868c 100644 +--- a/src/expr/lookup.c ++++ b/src/expr/lookup.c +@@ -221,5 +221,5 @@ struct expr_ops expr_ops_lookup = { + .get = nftnl_expr_lookup_get, + .parse = nftnl_expr_lookup_parse, + .build = nftnl_expr_lookup_build, +- .snprintf = nftnl_expr_lookup_snprintf, ++ .snprintf_ = nftnl_expr_lookup_snprintf, + }; +diff --git a/src/expr/masq.c b/src/expr/masq.c +index f6f3ceb..88292a6 100644 +--- a/src/expr/masq.c ++++ b/src/expr/masq.c +@@ -169,5 +169,5 @@ struct expr_ops expr_ops_masq = { + .get = nftnl_expr_masq_get, + .parse = nftnl_expr_masq_parse, + .build = nftnl_expr_masq_build, +- .snprintf = nftnl_expr_masq_snprintf, ++ .snprintf_ = nftnl_expr_masq_snprintf, + }; +diff --git a/src/expr/match.c b/src/expr/match.c +index 4fa74b2..249c6b5 100644 +--- a/src/expr/match.c ++++ b/src/expr/match.c +@@ -198,5 +198,5 @@ struct expr_ops expr_ops_match = { + .get = nftnl_expr_match_get, + .parse = nftnl_expr_match_parse, + .build = nftnl_expr_match_build, +- .snprintf = nftnl_expr_match_snprintf, ++ .snprintf_ = nftnl_expr_match_snprintf, + }; +diff --git a/src/expr/meta.c b/src/expr/meta.c +index 73f6efa..35d5ec5 100644 +--- a/src/expr/meta.c ++++ b/src/expr/meta.c +@@ -226,5 +226,5 @@ struct expr_ops expr_ops_meta = { + .get = nftnl_expr_meta_get, + .parse = nftnl_expr_meta_parse, + .build = nftnl_expr_meta_build, +- .snprintf = nftnl_expr_meta_snprintf, ++ .snprintf_ = nftnl_expr_meta_snprintf, + }; +diff --git a/src/expr/nat.c b/src/expr/nat.c +index 6b7d50e..be4a579 100644 +--- a/src/expr/nat.c ++++ b/src/expr/nat.c +@@ -279,5 +279,5 @@ struct expr_ops expr_ops_nat = { + .get = nftnl_expr_nat_get, + .parse = nftnl_expr_nat_parse, + .build = nftnl_expr_nat_build, +- .snprintf = nftnl_expr_nat_snprintf, ++ .snprintf_ = nftnl_expr_nat_snprintf, + }; +diff --git a/src/expr/numgen.c b/src/expr/numgen.c +index 4e0d541..5995ee3 100644 +--- a/src/expr/numgen.c ++++ b/src/expr/numgen.c +@@ -195,5 +195,5 @@ struct expr_ops expr_ops_ng = { + .get = nftnl_expr_ng_get, + .parse = nftnl_expr_ng_parse, + .build = nftnl_expr_ng_build, +- .snprintf = nftnl_expr_ng_snprintf, ++ .snprintf_ = nftnl_expr_ng_snprintf, + }; +diff --git a/src/expr/objref.c b/src/expr/objref.c +index 7388b18..e673ffd 100644 +--- a/src/expr/objref.c ++++ b/src/expr/objref.c +@@ -210,5 +210,5 @@ struct expr_ops expr_ops_objref = { + .get = nftnl_expr_objref_get, + .parse = nftnl_expr_objref_parse, + .build = nftnl_expr_objref_build, +- .snprintf = nftnl_expr_objref_snprintf, ++ .snprintf_ = nftnl_expr_objref_snprintf, + }; +diff --git a/src/expr/osf.c b/src/expr/osf.c +index 98d0df9..618b46e 100644 +--- a/src/expr/osf.c ++++ b/src/expr/osf.c +@@ -161,5 +161,5 @@ struct expr_ops expr_ops_osf = { + .get = nftnl_expr_osf_get, + .parse = nftnl_expr_osf_parse, + .build = nftnl_expr_osf_build, +- .snprintf = nftnl_expr_osf_snprintf, ++ .snprintf_ = nftnl_expr_osf_snprintf, + }; +diff --git a/src/expr/payload.c b/src/expr/payload.c +index 2192dad..37aacc4 100644 +--- a/src/expr/payload.c ++++ b/src/expr/payload.c +@@ -266,5 +266,5 @@ struct expr_ops expr_ops_payload = { + .get = nftnl_expr_payload_get, + .parse = nftnl_expr_payload_parse, + .build = nftnl_expr_payload_build, +- .snprintf = nftnl_expr_payload_snprintf, ++ .snprintf_ = nftnl_expr_payload_snprintf, + }; +diff --git a/src/expr/queue.c b/src/expr/queue.c +index 051ef71..b06feff 100644 +--- a/src/expr/queue.c ++++ b/src/expr/queue.c +@@ -207,5 +207,5 @@ struct expr_ops expr_ops_queue = { + .get = nftnl_expr_queue_get, + .parse = nftnl_expr_queue_parse, + .build = nftnl_expr_queue_build, +- .snprintf = nftnl_expr_queue_snprintf, ++ .snprintf_ = nftnl_expr_queue_snprintf, + }; +diff --git a/src/expr/quota.c b/src/expr/quota.c +index 39a92e6..41797be 100644 +--- a/src/expr/quota.c ++++ b/src/expr/quota.c +@@ -161,5 +161,5 @@ struct expr_ops expr_ops_quota = { + .get = nftnl_expr_quota_get, + .parse = nftnl_expr_quota_parse, + .build = nftnl_expr_quota_build, +- .snprintf = nftnl_expr_quota_snprintf, ++ .snprintf_ = nftnl_expr_quota_snprintf, + }; +diff --git a/src/expr/range.c b/src/expr/range.c +index d1d5083..b619cdf 100644 +--- a/src/expr/range.c ++++ b/src/expr/range.c +@@ -227,5 +227,5 @@ struct expr_ops expr_ops_range = { + .get = nftnl_expr_range_get, + .parse = nftnl_expr_range_parse, + .build = nftnl_expr_range_build, +- .snprintf = nftnl_expr_range_snprintf, ++ .snprintf_ = nftnl_expr_range_snprintf, + }; +diff --git a/src/expr/redir.c b/src/expr/redir.c +index 477659a..5c4ebeb 100644 +--- a/src/expr/redir.c ++++ b/src/expr/redir.c +@@ -181,5 +181,5 @@ struct expr_ops expr_ops_redir = { + .get = nftnl_expr_redir_get, + .parse = nftnl_expr_redir_parse, + .build = nftnl_expr_redir_build, +- .snprintf = nftnl_expr_redir_snprintf, ++ .snprintf_ = nftnl_expr_redir_snprintf, + }; +diff --git a/src/expr/reject.c b/src/expr/reject.c +index 141942e..a98990d 100644 +--- a/src/expr/reject.c ++++ b/src/expr/reject.c +@@ -148,5 +148,5 @@ struct expr_ops expr_ops_reject = { + .get = nftnl_expr_reject_get, + .parse = nftnl_expr_reject_parse, + .build = nftnl_expr_reject_build, +- .snprintf = nftnl_expr_reject_snprintf, ++ .snprintf_ = nftnl_expr_reject_snprintf, + }; +diff --git a/src/expr/rt.c b/src/expr/rt.c +index 0fce72d..32ace19 100644 +--- a/src/expr/rt.c ++++ b/src/expr/rt.c +@@ -177,5 +177,5 @@ struct expr_ops expr_ops_rt = { + .get = nftnl_expr_rt_get, + .parse = nftnl_expr_rt_parse, + .build = nftnl_expr_rt_build, +- .snprintf = nftnl_expr_rt_snprintf, ++ .snprintf_ = nftnl_expr_rt_snprintf, + }; +diff --git a/src/expr/socket.c b/src/expr/socket.c +index 96550d5..2394dbf 100644 +--- a/src/expr/socket.c ++++ b/src/expr/socket.c +@@ -174,5 +174,5 @@ struct expr_ops expr_ops_socket = { + .get = nftnl_expr_socket_get, + .parse = nftnl_expr_socket_parse, + .build = nftnl_expr_socket_build, +- .snprintf = nftnl_expr_socket_snprintf, ++ .snprintf_ = nftnl_expr_socket_snprintf, + }; +diff --git a/src/expr/synproxy.c b/src/expr/synproxy.c +index 245f4fb..9721029 100644 +--- a/src/expr/synproxy.c ++++ b/src/expr/synproxy.c +@@ -166,5 +166,5 @@ struct expr_ops expr_ops_synproxy = { + .get = nftnl_expr_synproxy_get, + .parse = nftnl_expr_synproxy_parse, + .build = nftnl_expr_synproxy_build, +- .snprintf = nftnl_expr_synproxy_snprintf, ++ .snprintf_ = nftnl_expr_synproxy_snprintf, + }; +diff --git a/src/expr/target.c b/src/expr/target.c +index 9100038..7180085 100644 +--- a/src/expr/target.c ++++ b/src/expr/target.c +@@ -198,5 +198,5 @@ struct expr_ops expr_ops_target = { + .get = nftnl_expr_target_get, + .parse = nftnl_expr_target_parse, + .build = nftnl_expr_target_build, +- .snprintf = nftnl_expr_target_snprintf, ++ .snprintf_ = nftnl_expr_target_snprintf, + }; +diff --git a/src/expr/tproxy.c b/src/expr/tproxy.c +index 3827b75..feabbbe 100644 +--- a/src/expr/tproxy.c ++++ b/src/expr/tproxy.c +@@ -183,5 +183,5 @@ struct expr_ops expr_ops_tproxy = { + .get = nftnl_expr_tproxy_get, + .parse = nftnl_expr_tproxy_parse, + .build = nftnl_expr_tproxy_build, +- .snprintf = nftnl_expr_tproxy_snprintf, ++ .snprintf_ = nftnl_expr_tproxy_snprintf, + }; +diff --git a/src/expr/tunnel.c b/src/expr/tunnel.c +index b2b8d72..1ed46d3 100644 +--- a/src/expr/tunnel.c ++++ b/src/expr/tunnel.c +@@ -173,5 +173,5 @@ struct expr_ops expr_ops_tunnel = { + .get = nftnl_expr_tunnel_get, + .parse = nftnl_expr_tunnel_parse, + .build = nftnl_expr_tunnel_build, +- .snprintf = nftnl_expr_tunnel_snprintf, ++ .snprintf_ = nftnl_expr_tunnel_snprintf, + }; +diff --git a/src/expr/xfrm.c b/src/expr/xfrm.c +index 8fe5438..b6b2772 100644 +--- a/src/expr/xfrm.c ++++ b/src/expr/xfrm.c +@@ -239,5 +239,5 @@ struct expr_ops expr_ops_xfrm = { + .get = nftnl_expr_xfrm_get, + .parse = nftnl_expr_xfrm_parse, + .build = nftnl_expr_xfrm_build, +- .snprintf = nftnl_expr_xfrm_snprintf, ++ .snprintf_ = nftnl_expr_xfrm_snprintf, + }; +diff --git a/src/obj/counter.c b/src/obj/counter.c +index 1baba4e..3710bce 100644 +--- a/src/obj/counter.c ++++ b/src/obj/counter.c +@@ -145,5 +145,5 @@ struct obj_ops obj_ops_counter = { + .get = nftnl_obj_counter_get, + .parse = nftnl_obj_counter_parse, + .build = nftnl_obj_counter_build, +- .snprintf = nftnl_obj_counter_snprintf, ++ .snprintf_ = nftnl_obj_counter_snprintf, + }; +diff --git a/src/obj/ct_expect.c b/src/obj/ct_expect.c +index c0bb5ba..953c08c 100644 +--- a/src/obj/ct_expect.c ++++ b/src/obj/ct_expect.c +@@ -209,5 +209,5 @@ struct obj_ops obj_ops_ct_expect = { + .get = nftnl_obj_ct_expect_get, + .parse = nftnl_obj_ct_expect_parse, + .build = nftnl_obj_ct_expect_build, +- .snprintf = nftnl_obj_ct_expect_snprintf, ++ .snprintf_ = nftnl_obj_ct_expect_snprintf, + }; +diff --git a/src/obj/ct_helper.c b/src/obj/ct_helper.c +index d91f636..2037461 100644 +--- a/src/obj/ct_helper.c ++++ b/src/obj/ct_helper.c +@@ -166,5 +166,5 @@ struct obj_ops obj_ops_ct_helper = { + .get = nftnl_obj_ct_helper_get, + .parse = nftnl_obj_ct_helper_parse, + .build = nftnl_obj_ct_helper_build, +- .snprintf = nftnl_obj_ct_helper_snprintf, ++ .snprintf_ = nftnl_obj_ct_helper_snprintf, + }; +diff --git a/src/obj/ct_timeout.c b/src/obj/ct_timeout.c +index e2e9991..a4f2dd2 100644 +--- a/src/obj/ct_timeout.c ++++ b/src/obj/ct_timeout.c +@@ -330,5 +330,5 @@ struct obj_ops obj_ops_ct_timeout = { + .get = nftnl_obj_ct_timeout_get, + .parse = nftnl_obj_ct_timeout_parse, + .build = nftnl_obj_ct_timeout_build, +- .snprintf = nftnl_obj_ct_timeout_snprintf, ++ .snprintf_ = nftnl_obj_ct_timeout_snprintf, + }; +diff --git a/src/obj/limit.c b/src/obj/limit.c +index 60b0159..538f37a 100644 +--- a/src/obj/limit.c ++++ b/src/obj/limit.c +@@ -185,5 +185,5 @@ struct obj_ops obj_ops_limit = { + .get = nftnl_obj_limit_get, + .parse = nftnl_obj_limit_parse, + .build = nftnl_obj_limit_build, +- .snprintf = nftnl_obj_limit_snprintf, ++ .snprintf_ = nftnl_obj_limit_snprintf, + }; +diff --git a/src/obj/quota.c b/src/obj/quota.c +index 1914037..585a088 100644 +--- a/src/obj/quota.c ++++ b/src/obj/quota.c +@@ -161,5 +161,5 @@ struct obj_ops obj_ops_quota = { + .get = nftnl_obj_quota_get, + .parse = nftnl_obj_quota_parse, + .build = nftnl_obj_quota_build, +- .snprintf = nftnl_obj_quota_snprintf, ++ .snprintf_ = nftnl_obj_quota_snprintf, + }; +diff --git a/src/obj/secmark.c b/src/obj/secmark.c +index e27b5fa..6241bee 100644 +--- a/src/obj/secmark.c ++++ b/src/obj/secmark.c +@@ -133,5 +133,5 @@ struct obj_ops obj_ops_secmark = { + .get = nftnl_obj_secmark_get, + .parse = nftnl_obj_secmark_parse, + .build = nftnl_obj_secmark_build, +- .snprintf = nftnl_obj_secmark_snprintf, ++ .snprintf_ = nftnl_obj_secmark_snprintf, + }; +diff --git a/src/obj/tunnel.c b/src/obj/tunnel.c +index 7ffade8..800eb3e 100644 +--- a/src/obj/tunnel.c ++++ b/src/obj/tunnel.c +@@ -564,5 +564,5 @@ struct obj_ops obj_ops_tunnel = { + .get = nftnl_obj_tunnel_get, + .parse = nftnl_obj_tunnel_parse, + .build = nftnl_obj_tunnel_build, +- .snprintf = nftnl_obj_tunnel_snprintf, ++ .snprintf_ = nftnl_obj_tunnel_snprintf, + }; +diff --git a/src/object.c b/src/object.c +index d8c87ee..5307d7e 100644 +--- a/src/object.c ++++ b/src/object.c +@@ -370,7 +370,7 @@ static int nftnl_obj_snprintf_dflt(char *buf, size_t size, + SNPRINTF_BUFFER_SIZE(ret, remain, offset); + + if (obj->ops) { +- ret = obj->ops->snprintf(buf + offset, offset, type, flags, ++ ret = obj->ops->snprintf_(buf + offset, offset, type, flags, + obj); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); + } +diff --git a/src/obj/synproxy.c b/src/obj/synproxy.c +index 56ebc85..6b5380f 100644 +--- a/src/obj/synproxy.c ++++ b/src/obj/synproxy.c +@@ -157,5 +157,5 @@ struct obj_ops obj_ops_synproxy = { + .get = nftnl_obj_synproxy_get, + .parse = nftnl_obj_synproxy_parse, + .build = nftnl_obj_synproxy_build, +- .snprintf = nftnl_obj_synproxy_snprintf, ++ .snprintf_ = nftnl_obj_synproxy_snprintf, + }; +-- +2.17.1 + diff --git a/meta-openembedded/meta-networking/recipes-filter/libnftnl/libnftnl/0002-avoid-naming-local-function-as-one-of-printf-family.patch b/meta-openembedded/meta-networking/recipes-filter/libnftnl/libnftnl/0002-avoid-naming-local-function-as-one-of-printf-family.patch deleted file mode 100644 index e64091b50b..0000000000 --- a/meta-openembedded/meta-networking/recipes-filter/libnftnl/libnftnl/0002-avoid-naming-local-function-as-one-of-printf-family.patch +++ /dev/null @@ -1,618 +0,0 @@ -From 373e13e28e34b4d415fc096e1c7175f4ecfbf0da Mon Sep 17 00:00:00 2001 -From: Yuan Chao -Date: Wed, 21 Aug 2019 11:18:56 +0900 -Subject: [PATCH] avoid naming local function as one of printf family - -Fixes build issues with clang -error: no member named '__builtin___snprintf_chk' in 'struct expr_ops' - -Signed-off-by: Khem Raj -Signed-off-by: Alex Kiernan - -Signed-off-by: Yuan Chao ---- - include/expr_ops.h | 2 +- - include/obj.h | 2 +- - src/expr.c | 4 ++-- - src/expr/bitwise.c | 2 +- - src/expr/byteorder.c | 2 +- - src/expr/cmp.c | 2 +- - src/expr/connlimit.c | 2 +- - src/expr/counter.c | 2 +- - src/expr/ct.c | 2 +- - src/expr/dup.c | 2 +- - src/expr/dynset.c | 2 +- - src/expr/exthdr.c | 2 +- - src/expr/fib.c | 2 +- - src/expr/flow_offload.c | 2 +- - src/expr/fwd.c | 2 +- - src/expr/hash.c | 2 +- - src/expr/immediate.c | 2 +- - src/expr/limit.c | 2 +- - src/expr/log.c | 2 +- - src/expr/lookup.c | 2 +- - src/expr/masq.c | 2 +- - src/expr/match.c | 2 +- - src/expr/meta.c | 2 +- - src/expr/nat.c | 2 +- - src/expr/numgen.c | 2 +- - src/expr/objref.c | 2 +- - src/expr/osf.c | 2 +- - src/expr/payload.c | 2 +- - src/expr/queue.c | 2 +- - src/expr/quota.c | 2 +- - src/expr/range.c | 2 +- - src/expr/redir.c | 2 +- - src/expr/reject.c | 2 +- - src/expr/rt.c | 2 +- - src/expr/socket.c | 2 +- - src/expr/synproxy.c | 2 +- - src/expr/target.c | 2 +- - src/expr/tproxy.c | 2 +- - src/expr/tunnel.c | 2 +- - src/expr/xfrm.c | 2 +- - src/obj/counter.c | 2 +- - src/obj/ct_expect.c | 2 +- - src/obj/ct_helper.c | 2 +- - src/obj/ct_timeout.c | 2 +- - src/obj/limit.c | 2 +- - src/obj/quota.c | 2 +- - src/obj/secmark.c | 2 +- - src/obj/tunnel.c | 2 +- - src/object.c | 2 +- - 49 files changed, 50 insertions(+), 50 deletions(-) - -diff --git a/include/expr_ops.h b/include/expr_ops.h -index a7f1b9a..d2946de 100644 ---- a/include/expr_ops.h -+++ b/include/expr_ops.h -@@ -17,7 +17,7 @@ struct expr_ops { - const void *(*get)(const struct nftnl_expr *e, uint16_t type, uint32_t *data_len); - int (*parse)(struct nftnl_expr *e, struct nlattr *attr); - void (*build)(struct nlmsghdr *nlh, const struct nftnl_expr *e); -- int (*snprintf)(char *buf, size_t len, uint32_t type, uint32_t flags, const struct nftnl_expr *e); -+ int (*snprintf_)(char *buf, size_t len, uint32_t type, uint32_t flags, const struct nftnl_expr *e); - }; - - struct expr_ops *nftnl_expr_ops_lookup(const char *name); -diff --git a/include/obj.h b/include/obj.h -index 9394d79..08610d7 100644 ---- a/include/obj.h -+++ b/include/obj.h -@@ -99,7 +99,7 @@ struct obj_ops { - const void *(*get)(const struct nftnl_obj *e, uint16_t type, uint32_t *data_len); - int (*parse)(struct nftnl_obj *e, struct nlattr *attr); - void (*build)(struct nlmsghdr *nlh, const struct nftnl_obj *e); -- int (*snprintf)(char *buf, size_t len, uint32_t type, uint32_t flags, const struct nftnl_obj *e); -+ int (*snprintf_)(char *buf, size_t len, uint32_t type, uint32_t flags, const struct nftnl_obj *e); - }; - - extern struct obj_ops obj_ops_counter; -diff --git a/src/expr.c b/src/expr.c -index 80c4c36..b698a60 100644 ---- a/src/expr.c -+++ b/src/expr.c -@@ -275,10 +275,10 @@ int nftnl_expr_snprintf(char *buf, size_t size, const struct nftnl_expr *expr, - if (size) - buf[0] = '\0'; - -- if (!expr->ops->snprintf) -+ if (!expr->ops->snprintf_) - return 0; - -- ret = expr->ops->snprintf(buf + offset, remain, type, flags, expr); -+ ret = expr->ops->snprintf_(buf + offset, remain, type, flags, expr); - SNPRINTF_BUFFER_SIZE(ret, remain, offset); - - return offset; -diff --git a/src/expr/bitwise.c b/src/expr/bitwise.c -index c9d40df..27d644b 100644 ---- a/src/expr/bitwise.c -+++ b/src/expr/bitwise.c -@@ -219,5 +219,5 @@ struct expr_ops expr_ops_bitwise = { - .get = nftnl_expr_bitwise_get, - .parse = nftnl_expr_bitwise_parse, - .build = nftnl_expr_bitwise_build, -- .snprintf = nftnl_expr_bitwise_snprintf, -+ .snprintf_ = nftnl_expr_bitwise_snprintf, - }; -diff --git a/src/expr/byteorder.c b/src/expr/byteorder.c -index efdfa2b..7ae9dfb 100644 ---- a/src/expr/byteorder.c -+++ b/src/expr/byteorder.c -@@ -234,5 +234,5 @@ struct expr_ops expr_ops_byteorder = { - .get = nftnl_expr_byteorder_get, - .parse = nftnl_expr_byteorder_parse, - .build = nftnl_expr_byteorder_build, -- .snprintf = nftnl_expr_byteorder_snprintf, -+ .snprintf_ = nftnl_expr_byteorder_snprintf, - }; -diff --git a/src/expr/cmp.c b/src/expr/cmp.c -index 86d7842..e3be442 100644 ---- a/src/expr/cmp.c -+++ b/src/expr/cmp.c -@@ -216,5 +216,5 @@ struct expr_ops expr_ops_cmp = { - .get = nftnl_expr_cmp_get, - .parse = nftnl_expr_cmp_parse, - .build = nftnl_expr_cmp_build, -- .snprintf = nftnl_expr_cmp_snprintf, -+ .snprintf_ = nftnl_expr_cmp_snprintf, - }; -diff --git a/src/expr/connlimit.c b/src/expr/connlimit.c -index 53af93b..6c8bc40 100644 ---- a/src/expr/connlimit.c -+++ b/src/expr/connlimit.c -@@ -149,5 +149,5 @@ struct expr_ops expr_ops_connlimit = { - .get = nftnl_expr_connlimit_get, - .parse = nftnl_expr_connlimit_parse, - .build = nftnl_expr_connlimit_build, -- .snprintf = nftnl_expr_connlimit_snprintf, -+ .snprintf_ = nftnl_expr_connlimit_snprintf, - }; -diff --git a/src/expr/counter.c b/src/expr/counter.c -index 89a602e..a32a69e 100644 ---- a/src/expr/counter.c -+++ b/src/expr/counter.c -@@ -147,5 +147,5 @@ struct expr_ops expr_ops_counter = { - .get = nftnl_expr_counter_get, - .parse = nftnl_expr_counter_parse, - .build = nftnl_expr_counter_build, -- .snprintf = nftnl_expr_counter_snprintf, -+ .snprintf_ = nftnl_expr_counter_snprintf, - }; -diff --git a/src/expr/ct.c b/src/expr/ct.c -index 124de9d..7bde179 100644 ---- a/src/expr/ct.c -+++ b/src/expr/ct.c -@@ -273,5 +273,5 @@ struct expr_ops expr_ops_ct = { - .get = nftnl_expr_ct_get, - .parse = nftnl_expr_ct_parse, - .build = nftnl_expr_ct_build, -- .snprintf = nftnl_expr_ct_snprintf, -+ .snprintf_ = nftnl_expr_ct_snprintf, - }; -diff --git a/src/expr/dup.c b/src/expr/dup.c -index 2bb35e5..d9bd4b1 100644 ---- a/src/expr/dup.c -+++ b/src/expr/dup.c -@@ -154,5 +154,5 @@ struct expr_ops expr_ops_dup = { - .get = nftnl_expr_dup_get, - .parse = nftnl_expr_dup_parse, - .build = nftnl_expr_dup_build, -- .snprintf = nftnl_expr_dup_snprintf, -+ .snprintf_ = nftnl_expr_dup_snprintf, - }; -diff --git a/src/expr/dynset.c b/src/expr/dynset.c -index 68115ba..6e43bb4 100644 ---- a/src/expr/dynset.c -+++ b/src/expr/dynset.c -@@ -288,5 +288,5 @@ struct expr_ops expr_ops_dynset = { - .get = nftnl_expr_dynset_get, - .parse = nftnl_expr_dynset_parse, - .build = nftnl_expr_dynset_build, -- .snprintf = nftnl_expr_dynset_snprintf, -+ .snprintf_ = nftnl_expr_dynset_snprintf, - }; -diff --git a/src/expr/exthdr.c b/src/expr/exthdr.c -index e5f714b..e68792b 100644 ---- a/src/expr/exthdr.c -+++ b/src/expr/exthdr.c -@@ -276,5 +276,5 @@ struct expr_ops expr_ops_exthdr = { - .get = nftnl_expr_exthdr_get, - .parse = nftnl_expr_exthdr_parse, - .build = nftnl_expr_exthdr_build, -- .snprintf = nftnl_expr_exthdr_snprintf, -+ .snprintf_ = nftnl_expr_exthdr_snprintf, - }; -diff --git a/src/expr/fib.c b/src/expr/fib.c -index 9475af4..8e7090d 100644 ---- a/src/expr/fib.c -+++ b/src/expr/fib.c -@@ -213,5 +213,5 @@ struct expr_ops expr_ops_fib = { - .get = nftnl_expr_fib_get, - .parse = nftnl_expr_fib_parse, - .build = nftnl_expr_fib_build, -- .snprintf = nftnl_expr_fib_snprintf, -+ .snprintf_ = nftnl_expr_fib_snprintf, - }; -diff --git a/src/expr/flow_offload.c b/src/expr/flow_offload.c -index 6ccec9a..c2f2478 100644 ---- a/src/expr/flow_offload.c -+++ b/src/expr/flow_offload.c -@@ -134,5 +134,5 @@ struct expr_ops expr_ops_flow = { - .get = nftnl_expr_flow_get, - .parse = nftnl_expr_flow_parse, - .build = nftnl_expr_flow_build, -- .snprintf = nftnl_expr_flow_snprintf, -+ .snprintf_ = nftnl_expr_flow_snprintf, - }; -diff --git a/src/expr/fwd.c b/src/expr/fwd.c -index cff8235..bcd7d3f 100644 ---- a/src/expr/fwd.c -+++ b/src/expr/fwd.c -@@ -174,5 +174,5 @@ struct expr_ops expr_ops_fwd = { - .get = nftnl_expr_fwd_get, - .parse = nftnl_expr_fwd_parse, - .build = nftnl_expr_fwd_build, -- .snprintf = nftnl_expr_fwd_snprintf, -+ .snprintf_ = nftnl_expr_fwd_snprintf, - }; -diff --git a/src/expr/hash.c b/src/expr/hash.c -index 2c801d2..a9f6e7e 100644 ---- a/src/expr/hash.c -+++ b/src/expr/hash.c -@@ -241,5 +241,5 @@ struct expr_ops expr_ops_hash = { - .get = nftnl_expr_hash_get, - .parse = nftnl_expr_hash_parse, - .build = nftnl_expr_hash_build, -- .snprintf = nftnl_expr_hash_snprintf, -+ .snprintf_ = nftnl_expr_hash_snprintf, - }; -diff --git a/src/expr/immediate.c b/src/expr/immediate.c -index 47106ae..ea86c88 100644 ---- a/src/expr/immediate.c -+++ b/src/expr/immediate.c -@@ -235,5 +235,5 @@ struct expr_ops expr_ops_immediate = { - .get = nftnl_expr_immediate_get, - .parse = nftnl_expr_immediate_parse, - .build = nftnl_expr_immediate_build, -- .snprintf = nftnl_expr_immediate_snprintf, -+ .snprintf_ = nftnl_expr_immediate_snprintf, - }; -diff --git a/src/expr/limit.c b/src/expr/limit.c -index 5872e27..0ce482f 100644 ---- a/src/expr/limit.c -+++ b/src/expr/limit.c -@@ -216,5 +216,5 @@ struct expr_ops expr_ops_limit = { - .get = nftnl_expr_limit_get, - .parse = nftnl_expr_limit_parse, - .build = nftnl_expr_limit_build, -- .snprintf = nftnl_expr_limit_snprintf, -+ .snprintf_ = nftnl_expr_limit_snprintf, - }; -diff --git a/src/expr/log.c b/src/expr/log.c -index bbe43d2..5506bc2 100644 ---- a/src/expr/log.c -+++ b/src/expr/log.c -@@ -267,5 +267,5 @@ struct expr_ops expr_ops_log = { - .get = nftnl_expr_log_get, - .parse = nftnl_expr_log_parse, - .build = nftnl_expr_log_build, -- .snprintf = nftnl_expr_log_snprintf, -+ .snprintf_ = nftnl_expr_log_snprintf, - }; -diff --git a/src/expr/lookup.c b/src/expr/lookup.c -index a495ac0..678868c 100644 ---- a/src/expr/lookup.c -+++ b/src/expr/lookup.c -@@ -221,5 +221,5 @@ struct expr_ops expr_ops_lookup = { - .get = nftnl_expr_lookup_get, - .parse = nftnl_expr_lookup_parse, - .build = nftnl_expr_lookup_build, -- .snprintf = nftnl_expr_lookup_snprintf, -+ .snprintf_ = nftnl_expr_lookup_snprintf, - }; -diff --git a/src/expr/masq.c b/src/expr/masq.c -index f6f3ceb..88292a6 100644 ---- a/src/expr/masq.c -+++ b/src/expr/masq.c -@@ -169,5 +169,5 @@ struct expr_ops expr_ops_masq = { - .get = nftnl_expr_masq_get, - .parse = nftnl_expr_masq_parse, - .build = nftnl_expr_masq_build, -- .snprintf = nftnl_expr_masq_snprintf, -+ .snprintf_ = nftnl_expr_masq_snprintf, - }; -diff --git a/src/expr/match.c b/src/expr/match.c -index 4fa74b2..249c6b5 100644 ---- a/src/expr/match.c -+++ b/src/expr/match.c -@@ -198,5 +198,5 @@ struct expr_ops expr_ops_match = { - .get = nftnl_expr_match_get, - .parse = nftnl_expr_match_parse, - .build = nftnl_expr_match_build, -- .snprintf = nftnl_expr_match_snprintf, -+ .snprintf_ = nftnl_expr_match_snprintf, - }; -diff --git a/src/expr/meta.c b/src/expr/meta.c -index 73f6efa..35d5ec5 100644 ---- a/src/expr/meta.c -+++ b/src/expr/meta.c -@@ -226,5 +226,5 @@ struct expr_ops expr_ops_meta = { - .get = nftnl_expr_meta_get, - .parse = nftnl_expr_meta_parse, - .build = nftnl_expr_meta_build, -- .snprintf = nftnl_expr_meta_snprintf, -+ .snprintf_ = nftnl_expr_meta_snprintf, - }; -diff --git a/src/expr/nat.c b/src/expr/nat.c -index 6b7d50e..be4a579 100644 ---- a/src/expr/nat.c -+++ b/src/expr/nat.c -@@ -279,5 +279,5 @@ struct expr_ops expr_ops_nat = { - .get = nftnl_expr_nat_get, - .parse = nftnl_expr_nat_parse, - .build = nftnl_expr_nat_build, -- .snprintf = nftnl_expr_nat_snprintf, -+ .snprintf_ = nftnl_expr_nat_snprintf, - }; -diff --git a/src/expr/numgen.c b/src/expr/numgen.c -index 4e0d541..5995ee3 100644 ---- a/src/expr/numgen.c -+++ b/src/expr/numgen.c -@@ -195,5 +195,5 @@ struct expr_ops expr_ops_ng = { - .get = nftnl_expr_ng_get, - .parse = nftnl_expr_ng_parse, - .build = nftnl_expr_ng_build, -- .snprintf = nftnl_expr_ng_snprintf, -+ .snprintf_ = nftnl_expr_ng_snprintf, - }; -diff --git a/src/expr/objref.c b/src/expr/objref.c -index 7388b18..e673ffd 100644 ---- a/src/expr/objref.c -+++ b/src/expr/objref.c -@@ -210,5 +210,5 @@ struct expr_ops expr_ops_objref = { - .get = nftnl_expr_objref_get, - .parse = nftnl_expr_objref_parse, - .build = nftnl_expr_objref_build, -- .snprintf = nftnl_expr_objref_snprintf, -+ .snprintf_ = nftnl_expr_objref_snprintf, - }; -diff --git a/src/expr/osf.c b/src/expr/osf.c -index 98d0df9..618b46e 100644 ---- a/src/expr/osf.c -+++ b/src/expr/osf.c -@@ -161,5 +161,5 @@ struct expr_ops expr_ops_osf = { - .get = nftnl_expr_osf_get, - .parse = nftnl_expr_osf_parse, - .build = nftnl_expr_osf_build, -- .snprintf = nftnl_expr_osf_snprintf, -+ .snprintf_ = nftnl_expr_osf_snprintf, - }; -diff --git a/src/expr/payload.c b/src/expr/payload.c -index 2192dad..37aacc4 100644 ---- a/src/expr/payload.c -+++ b/src/expr/payload.c -@@ -266,5 +266,5 @@ struct expr_ops expr_ops_payload = { - .get = nftnl_expr_payload_get, - .parse = nftnl_expr_payload_parse, - .build = nftnl_expr_payload_build, -- .snprintf = nftnl_expr_payload_snprintf, -+ .snprintf_ = nftnl_expr_payload_snprintf, - }; -diff --git a/src/expr/queue.c b/src/expr/queue.c -index 051ef71..b06feff 100644 ---- a/src/expr/queue.c -+++ b/src/expr/queue.c -@@ -207,5 +207,5 @@ struct expr_ops expr_ops_queue = { - .get = nftnl_expr_queue_get, - .parse = nftnl_expr_queue_parse, - .build = nftnl_expr_queue_build, -- .snprintf = nftnl_expr_queue_snprintf, -+ .snprintf_ = nftnl_expr_queue_snprintf, - }; -diff --git a/src/expr/quota.c b/src/expr/quota.c -index 39a92e6..41797be 100644 ---- a/src/expr/quota.c -+++ b/src/expr/quota.c -@@ -161,5 +161,5 @@ struct expr_ops expr_ops_quota = { - .get = nftnl_expr_quota_get, - .parse = nftnl_expr_quota_parse, - .build = nftnl_expr_quota_build, -- .snprintf = nftnl_expr_quota_snprintf, -+ .snprintf_ = nftnl_expr_quota_snprintf, - }; -diff --git a/src/expr/range.c b/src/expr/range.c -index d1d5083..b619cdf 100644 ---- a/src/expr/range.c -+++ b/src/expr/range.c -@@ -227,5 +227,5 @@ struct expr_ops expr_ops_range = { - .get = nftnl_expr_range_get, - .parse = nftnl_expr_range_parse, - .build = nftnl_expr_range_build, -- .snprintf = nftnl_expr_range_snprintf, -+ .snprintf_ = nftnl_expr_range_snprintf, - }; -diff --git a/src/expr/redir.c b/src/expr/redir.c -index 477659a..5c4ebeb 100644 ---- a/src/expr/redir.c -+++ b/src/expr/redir.c -@@ -181,5 +181,5 @@ struct expr_ops expr_ops_redir = { - .get = nftnl_expr_redir_get, - .parse = nftnl_expr_redir_parse, - .build = nftnl_expr_redir_build, -- .snprintf = nftnl_expr_redir_snprintf, -+ .snprintf_ = nftnl_expr_redir_snprintf, - }; -diff --git a/src/expr/reject.c b/src/expr/reject.c -index 141942e..a98990d 100644 ---- a/src/expr/reject.c -+++ b/src/expr/reject.c -@@ -148,5 +148,5 @@ struct expr_ops expr_ops_reject = { - .get = nftnl_expr_reject_get, - .parse = nftnl_expr_reject_parse, - .build = nftnl_expr_reject_build, -- .snprintf = nftnl_expr_reject_snprintf, -+ .snprintf_ = nftnl_expr_reject_snprintf, - }; -diff --git a/src/expr/rt.c b/src/expr/rt.c -index 0fce72d..32ace19 100644 ---- a/src/expr/rt.c -+++ b/src/expr/rt.c -@@ -177,5 +177,5 @@ struct expr_ops expr_ops_rt = { - .get = nftnl_expr_rt_get, - .parse = nftnl_expr_rt_parse, - .build = nftnl_expr_rt_build, -- .snprintf = nftnl_expr_rt_snprintf, -+ .snprintf_ = nftnl_expr_rt_snprintf, - }; -diff --git a/src/expr/socket.c b/src/expr/socket.c -index 96550d5..2394dbf 100644 ---- a/src/expr/socket.c -+++ b/src/expr/socket.c -@@ -174,5 +174,5 @@ struct expr_ops expr_ops_socket = { - .get = nftnl_expr_socket_get, - .parse = nftnl_expr_socket_parse, - .build = nftnl_expr_socket_build, -- .snprintf = nftnl_expr_socket_snprintf, -+ .snprintf_ = nftnl_expr_socket_snprintf, - }; -diff --git a/src/expr/synproxy.c b/src/expr/synproxy.c -index 245f4fb..9721029 100644 ---- a/src/expr/synproxy.c -+++ b/src/expr/synproxy.c -@@ -166,5 +166,5 @@ struct expr_ops expr_ops_synproxy = { - .get = nftnl_expr_synproxy_get, - .parse = nftnl_expr_synproxy_parse, - .build = nftnl_expr_synproxy_build, -- .snprintf = nftnl_expr_synproxy_snprintf, -+ .snprintf_ = nftnl_expr_synproxy_snprintf, - }; -diff --git a/src/expr/target.c b/src/expr/target.c -index 9100038..7180085 100644 ---- a/src/expr/target.c -+++ b/src/expr/target.c -@@ -198,5 +198,5 @@ struct expr_ops expr_ops_target = { - .get = nftnl_expr_target_get, - .parse = nftnl_expr_target_parse, - .build = nftnl_expr_target_build, -- .snprintf = nftnl_expr_target_snprintf, -+ .snprintf_ = nftnl_expr_target_snprintf, - }; -diff --git a/src/expr/tproxy.c b/src/expr/tproxy.c -index 3827b75..feabbbe 100644 ---- a/src/expr/tproxy.c -+++ b/src/expr/tproxy.c -@@ -183,5 +183,5 @@ struct expr_ops expr_ops_tproxy = { - .get = nftnl_expr_tproxy_get, - .parse = nftnl_expr_tproxy_parse, - .build = nftnl_expr_tproxy_build, -- .snprintf = nftnl_expr_tproxy_snprintf, -+ .snprintf_ = nftnl_expr_tproxy_snprintf, - }; -diff --git a/src/expr/tunnel.c b/src/expr/tunnel.c -index b2b8d72..1ed46d3 100644 ---- a/src/expr/tunnel.c -+++ b/src/expr/tunnel.c -@@ -173,5 +173,5 @@ struct expr_ops expr_ops_tunnel = { - .get = nftnl_expr_tunnel_get, - .parse = nftnl_expr_tunnel_parse, - .build = nftnl_expr_tunnel_build, -- .snprintf = nftnl_expr_tunnel_snprintf, -+ .snprintf_ = nftnl_expr_tunnel_snprintf, - }; -diff --git a/src/expr/xfrm.c b/src/expr/xfrm.c -index 8fe5438..b6b2772 100644 ---- a/src/expr/xfrm.c -+++ b/src/expr/xfrm.c -@@ -239,5 +239,5 @@ struct expr_ops expr_ops_xfrm = { - .get = nftnl_expr_xfrm_get, - .parse = nftnl_expr_xfrm_parse, - .build = nftnl_expr_xfrm_build, -- .snprintf = nftnl_expr_xfrm_snprintf, -+ .snprintf_ = nftnl_expr_xfrm_snprintf, - }; -diff --git a/src/obj/counter.c b/src/obj/counter.c -index 1baba4e..3710bce 100644 ---- a/src/obj/counter.c -+++ b/src/obj/counter.c -@@ -145,5 +145,5 @@ struct obj_ops obj_ops_counter = { - .get = nftnl_obj_counter_get, - .parse = nftnl_obj_counter_parse, - .build = nftnl_obj_counter_build, -- .snprintf = nftnl_obj_counter_snprintf, -+ .snprintf_ = nftnl_obj_counter_snprintf, - }; -diff --git a/src/obj/ct_expect.c b/src/obj/ct_expect.c -index c0bb5ba..953c08c 100644 ---- a/src/obj/ct_expect.c -+++ b/src/obj/ct_expect.c -@@ -209,5 +209,5 @@ struct obj_ops obj_ops_ct_expect = { - .get = nftnl_obj_ct_expect_get, - .parse = nftnl_obj_ct_expect_parse, - .build = nftnl_obj_ct_expect_build, -- .snprintf = nftnl_obj_ct_expect_snprintf, -+ .snprintf_ = nftnl_obj_ct_expect_snprintf, - }; -diff --git a/src/obj/ct_helper.c b/src/obj/ct_helper.c -index d91f636..2037461 100644 ---- a/src/obj/ct_helper.c -+++ b/src/obj/ct_helper.c -@@ -166,5 +166,5 @@ struct obj_ops obj_ops_ct_helper = { - .get = nftnl_obj_ct_helper_get, - .parse = nftnl_obj_ct_helper_parse, - .build = nftnl_obj_ct_helper_build, -- .snprintf = nftnl_obj_ct_helper_snprintf, -+ .snprintf_ = nftnl_obj_ct_helper_snprintf, - }; -diff --git a/src/obj/ct_timeout.c b/src/obj/ct_timeout.c -index e2e9991..a4f2dd2 100644 ---- a/src/obj/ct_timeout.c -+++ b/src/obj/ct_timeout.c -@@ -330,5 +330,5 @@ struct obj_ops obj_ops_ct_timeout = { - .get = nftnl_obj_ct_timeout_get, - .parse = nftnl_obj_ct_timeout_parse, - .build = nftnl_obj_ct_timeout_build, -- .snprintf = nftnl_obj_ct_timeout_snprintf, -+ .snprintf_ = nftnl_obj_ct_timeout_snprintf, - }; -diff --git a/src/obj/limit.c b/src/obj/limit.c -index 60b0159..538f37a 100644 ---- a/src/obj/limit.c -+++ b/src/obj/limit.c -@@ -185,5 +185,5 @@ struct obj_ops obj_ops_limit = { - .get = nftnl_obj_limit_get, - .parse = nftnl_obj_limit_parse, - .build = nftnl_obj_limit_build, -- .snprintf = nftnl_obj_limit_snprintf, -+ .snprintf_ = nftnl_obj_limit_snprintf, - }; -diff --git a/src/obj/quota.c b/src/obj/quota.c -index 1914037..585a088 100644 ---- a/src/obj/quota.c -+++ b/src/obj/quota.c -@@ -161,5 +161,5 @@ struct obj_ops obj_ops_quota = { - .get = nftnl_obj_quota_get, - .parse = nftnl_obj_quota_parse, - .build = nftnl_obj_quota_build, -- .snprintf = nftnl_obj_quota_snprintf, -+ .snprintf_ = nftnl_obj_quota_snprintf, - }; -diff --git a/src/obj/secmark.c b/src/obj/secmark.c -index e27b5fa..6241bee 100644 ---- a/src/obj/secmark.c -+++ b/src/obj/secmark.c -@@ -133,5 +133,5 @@ struct obj_ops obj_ops_secmark = { - .get = nftnl_obj_secmark_get, - .parse = nftnl_obj_secmark_parse, - .build = nftnl_obj_secmark_build, -- .snprintf = nftnl_obj_secmark_snprintf, -+ .snprintf_ = nftnl_obj_secmark_snprintf, - }; -diff --git a/src/obj/tunnel.c b/src/obj/tunnel.c -index 7ffade8..800eb3e 100644 ---- a/src/obj/tunnel.c -+++ b/src/obj/tunnel.c -@@ -564,5 +564,5 @@ struct obj_ops obj_ops_tunnel = { - .get = nftnl_obj_tunnel_get, - .parse = nftnl_obj_tunnel_parse, - .build = nftnl_obj_tunnel_build, -- .snprintf = nftnl_obj_tunnel_snprintf, -+ .snprintf_ = nftnl_obj_tunnel_snprintf, - }; -diff --git a/src/object.c b/src/object.c -index d8c87ee..5307d7e 100644 ---- a/src/object.c -+++ b/src/object.c -@@ -370,7 +370,7 @@ static int nftnl_obj_snprintf_dflt(char *buf, size_t size, - SNPRINTF_BUFFER_SIZE(ret, remain, offset); - - if (obj->ops) { -- ret = obj->ops->snprintf(buf + offset, offset, type, flags, -+ ret = obj->ops->snprintf_(buf + offset, offset, type, flags, - obj); - SNPRINTF_BUFFER_SIZE(ret, remain, offset); - } --- -2.17.1 - diff --git a/meta-openembedded/meta-networking/recipes-filter/libnftnl/libnftnl_1.1.4.bb b/meta-openembedded/meta-networking/recipes-filter/libnftnl/libnftnl_1.1.4.bb deleted file mode 100644 index 705b6a6c34..0000000000 --- a/meta-openembedded/meta-networking/recipes-filter/libnftnl/libnftnl_1.1.4.bb +++ /dev/null @@ -1,15 +0,0 @@ -SUMMARY = "Library for low-level interaction with nftables Netlink's API over libmnl" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=79808397c3355f163c012616125c9e26" -SECTION = "libs" -DEPENDS = "libmnl" - -SRCREV = "7c19dc01a88dbcf9a45fa791cd27a51b563bcf29" -SRC_URI = "git://git.netfilter.org/libnftnl \ - file://0001-Move-exports-before-symbol-definition.patch \ - file://0002-avoid-naming-local-function-as-one-of-printf-family.patch \ - " - -S = "${WORKDIR}/git" - -inherit autotools pkgconfig diff --git a/meta-openembedded/meta-networking/recipes-filter/libnftnl/libnftnl_1.1.5.bb b/meta-openembedded/meta-networking/recipes-filter/libnftnl/libnftnl_1.1.5.bb new file mode 100644 index 0000000000..e1c2720da8 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-filter/libnftnl/libnftnl_1.1.5.bb @@ -0,0 +1,14 @@ +SUMMARY = "Library for low-level interaction with nftables Netlink's API over libmnl" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=79808397c3355f163c012616125c9e26" +SECTION = "libs" +DEPENDS = "libmnl" + +SRCREV = "a71599dc0ae1a808e970e96850ea83d77f452994" +SRC_URI = "git://git.netfilter.org/libnftnl \ + file://0001-avoid-naming-local-function-as-one-of-printf-family.patch \ + " + +S = "${WORKDIR}/git" + +inherit autotools pkgconfig diff --git a/meta-openembedded/meta-networking/recipes-filter/nftables/files/0001-update-python3-nftables-reference.patch b/meta-openembedded/meta-networking/recipes-filter/nftables/files/0001-update-python3-nftables-reference.patch new file mode 100644 index 0000000000..db2243480d --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-filter/nftables/files/0001-update-python3-nftables-reference.patch @@ -0,0 +1,47 @@ +From ddbe652bf0f4ed300bae9497250130d68e4cbf5b Mon Sep 17 00:00:00 2001 +From: Arturo Borrero Gonzalez +Date: Tue, 10 Dec 2019 12:00:45 +0100 +Subject: py: load the SONAME-versioned shared object + +Instruct the python module to load the SONAME versioned shared object. + +Normal end-user systems may only have available libnftables.so.1.0.0 and not +libnftables.so which is usually only present in developer systems. + +In Debian systems, for example: + + % dpkg -L libnftables1 | grep so.1 + /usr/lib/x86_64-linux-gnu/libnftables.so.1.0.0 + /usr/lib/x86_64-linux-gnu/libnftables.so.1 + + % dpkg -L libnftables-dev | grep so + /usr/lib/x86_64-linux-gnu/libnftables.so + +The "1" is not a magic number, is the SONAME of libnftables in the current +version, as stated in Make_global.am. + +Reported-by: Michael Biebl +Signed-off-by: Arturo Borrero Gonzalez +Acked-by: Phil Sutter +Signed-off-by: Pablo Neira Ayuso +--- + py/nftables.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/py/nftables.py b/py/nftables.py +index 48eb54fe..2a0a1e89 100644 +--- a/py/nftables.py ++++ b/py/nftables.py +@@ -64,7 +64,7 @@ class Nftables: + + validator = None + +- def __init__(self, sofile="libnftables.so"): ++ def __init__(self, sofile="libnftables.so.1"): + """Instantiate a new Nftables class object. + + Accepts a shared object file to open, by default standard search path +-- +cgit v1.2.1 + + diff --git a/meta-openembedded/meta-networking/recipes-filter/nftables/nftables_0.9.2.bb b/meta-openembedded/meta-networking/recipes-filter/nftables/nftables_0.9.2.bb deleted file mode 100644 index 98e8050b81..0000000000 --- a/meta-openembedded/meta-networking/recipes-filter/nftables/nftables_0.9.2.bb +++ /dev/null @@ -1,28 +0,0 @@ -SUMMARY = "Netfilter Tables userspace utillites" -SECTION = "net" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=d1a78fdd879a263a5e0b42d1fc565e79" - -DEPENDS = "libmnl libnftnl readline gmp bison-native" - -UPSTREAM_CHECK_URI = "https://www.netfilter.org/projects/nftables/files/" - -SRC_URI = "http://www.netfilter.org/projects/nftables/files/${BP}.tar.bz2" -SRC_URI[md5sum] = "dfe130724d7c998eb26b56447e932899" -SRC_URI[sha256sum] = "5cb66180143e6bfc774f4eb316206d40ac1cb6df269a90882404cbf7165513f5" - -inherit autotools manpages pkgconfig - -PACKAGECONFIG ?= "python" -PACKAGECONFIG[man] = "--enable--man-doc, --disable-man-doc" -PACKAGECONFIG[python] = "--with-python-bin=${PYTHON}, --with-python-bin="", python3" - -inherit ${@bb.utils.contains('PACKAGECONFIG', 'python', 'python3native', '', d)} - -ASNEEDED = "" - -RRECOMMENDS_${PN} += "kernel-module-nf-tables" - -PACKAGES =+ "${PN}-python" -FILES_${PN}-python = "${libdir_native}/${PYTHON_DIR}" -RDEPENDS_${PN}-python = "python3-core python3-json" diff --git a/meta-openembedded/meta-networking/recipes-filter/nftables/nftables_0.9.3.bb b/meta-openembedded/meta-networking/recipes-filter/nftables/nftables_0.9.3.bb new file mode 100644 index 0000000000..65a7bcc5ff --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-filter/nftables/nftables_0.9.3.bb @@ -0,0 +1,33 @@ +SUMMARY = "Netfilter Tables userspace utillites" +SECTION = "net" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=d1a78fdd879a263a5e0b42d1fc565e79" + +DEPENDS = "libmnl libnftnl bison-native \ + ${@bb.utils.contains('PACKAGECONFIG', 'mini-gmp', '', 'gmp', d)}" + +# Ensure we reject the 0.099 version by matching at least two dots +UPSTREAM_CHECK_REGEX = "nftables-(?P\d+(\.\d+){2,}).tar.bz2" + +SRC_URI = "http://www.netfilter.org/projects/nftables/files/${BP}.tar.bz2 \ + file://0001-update-python3-nftables-reference.patch" +SRC_URI[md5sum] = "9913b2b46864394d41916b74638e0875" +SRC_URI[sha256sum] = "956b915ce2a7aeaff123e49006be7a0690a0964e96c062703181a36e2e5edb78" + +inherit autotools manpages pkgconfig + +PACKAGECONFIG ??= "python readline" +PACKAGECONFIG[json] = "--with-json, --without-json, jansson" +PACKAGECONFIG[manpages] = "--enable-man-doc, --disable-man-doc, asciidoc-native" +PACKAGECONFIG[mini-gmp] = "--with-mini-gmp, --without-mini-gmp" +PACKAGECONFIG[python] = "--enable-python --with-python-bin=${PYTHON}, --with-python-bin="", python3" +PACKAGECONFIG[readline] = "--with-cli=readline, --without-cli, readline" +PACKAGECONFIG[xtables] = "--with-xtables, --without-xtables, iptables" + +inherit ${@bb.utils.contains('PACKAGECONFIG', 'python', 'python3native', '', d)} + +RRECOMMENDS_${PN} += "kernel-module-nf-tables" + +PACKAGES =+ "${PN}-python" +FILES_${PN}-python = "${nonarch_libdir}/${PYTHON_DIR}" +RDEPENDS_${PN}-python = "python3-core python3-json" diff --git a/meta-openembedded/meta-networking/recipes-protocols/openl2tp/openl2tp/openl2tpd.service b/meta-openembedded/meta-networking/recipes-protocols/openl2tp/openl2tp/openl2tpd.service index 7b3faf6725..d02d0ff7ec 100644 --- a/meta-openembedded/meta-networking/recipes-protocols/openl2tp/openl2tp/openl2tpd.service +++ b/meta-openembedded/meta-networking/recipes-protocols/openl2tp/openl2tp/openl2tpd.service @@ -5,7 +5,7 @@ Requires=rpcbind.service [Service] Type=forking -PIDFile=@STATEDIR@/run/openl2tpd.pid +PIDFile=/run/openl2tpd.pid EnvironmentFile=@SYSCONFDIR@/default/openl2tpd ExecStartPre=@BASE_BINDIR@/sh -c "@BASE_SBINDIR@/modprobe -sq l2tp_ppp || @BASE_SBINDIR@/modprobe -sq pppol2tp" ExecStart=@SBINDIR@/openl2tpd $OPENL2TPDARGS diff --git a/meta-openembedded/meta-networking/recipes-protocols/openl2tp/openl2tp_1.8.bb b/meta-openembedded/meta-networking/recipes-protocols/openl2tp/openl2tp_1.8.bb index 90e8b111dc..9c0c28e197 100644 --- a/meta-openembedded/meta-networking/recipes-protocols/openl2tp/openl2tp_1.8.bb +++ b/meta-openembedded/meta-networking/recipes-protocols/openl2tp/openl2tp_1.8.bb @@ -18,7 +18,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=e9d9259cbbf00945adc25a470c1d3585 \ DEPENDS = "popt flex readline rpcsvc-proto-native bison-native" -SRC_URI = "ftp://ftp.openl2tp.org/releases/${BP}/${BP}.tar.gz \ +SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${PV}/${BP}.tar.gz \ file://Makefile-modify-CFLAGS-to-aviod-build-error.patch \ file://openl2tp-simplify-gcc-warning-hack.patch \ file://Makefile-obey-LDFLAGS.patch \ diff --git a/meta-openembedded/meta-networking/recipes-support/dnsmasq/dnsmasq/0001-dnsmasq-fix-memory-leak-in-helper-c.patch b/meta-openembedded/meta-networking/recipes-support/dnsmasq/dnsmasq/0001-dnsmasq-fix-memory-leak-in-helper-c.patch new file mode 100644 index 0000000000..ccd6f82ae8 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-support/dnsmasq/dnsmasq/0001-dnsmasq-fix-memory-leak-in-helper-c.patch @@ -0,0 +1,49 @@ +From 69bc94779c2f035a9fffdb5327a54c3aeca73ed5 Mon Sep 17 00:00:00 2001 +From: Simon Kelley +Date: Wed, 14 Aug 2019 20:44:50 +0100 +Subject: [PATCH] Fix memory leak in helper.c + +Thanks to Xu Mingjie for spotting this. + +CVE: CVE-2019-14834 +Upstream-Status: Backport +Signed-off-by: Zhixiong Chi +--- + src/helper.c | 12 +++++++++--- + 1 file changed, 9 insertions(+), 3 deletions(-) + +diff --git a/src/helper.c b/src/helper.c +index 33ba120..c392eec 100644 +--- a/src/helper.c ++++ b/src/helper.c +@@ -82,7 +82,8 @@ int create_helper(int event_fd, int err_fd, uid_t uid, gid_t gid, long max_fd) + pid_t pid; + int i, pipefd[2]; + struct sigaction sigact; +- ++ unsigned char *alloc_buff = NULL; ++ + /* create the pipe through which the main program sends us commands, + then fork our process. */ + if (pipe(pipefd) == -1 || !fix_fd(pipefd[1]) || (pid = fork()) == -1) +@@ -188,11 +189,16 @@ int create_helper(int event_fd, int err_fd, uid_t uid, gid_t gid, long max_fd) + struct script_data data; + char *p, *action_str, *hostname = NULL, *domain = NULL; + unsigned char *buf = (unsigned char *)daemon->namebuff; +- unsigned char *end, *extradata, *alloc_buff = NULL; ++ unsigned char *end, *extradata; + int is6, err = 0; + int pipeout[2]; + +- free(alloc_buff); ++ /* Free rarely-allocated memory from previous iteration. */ ++ if (alloc_buff) ++ { ++ free(alloc_buff); ++ alloc_buff = NULL; ++ } + + /* we read zero bytes when pipe closed: this is our signal to exit */ + if (!read_write(pipefd[0], (unsigned char *)&data, sizeof(data), 1)) +-- +1.7.10.4 diff --git a/meta-openembedded/meta-networking/recipes-support/dnsmasq/dnsmasq_2.80.bb b/meta-openembedded/meta-networking/recipes-support/dnsmasq/dnsmasq_2.80.bb index 6f3d5daa62..827565051d 100644 --- a/meta-openembedded/meta-networking/recipes-support/dnsmasq/dnsmasq_2.80.bb +++ b/meta-openembedded/meta-networking/recipes-support/dnsmasq/dnsmasq_2.80.bb @@ -5,5 +5,6 @@ SRC_URI[dnsmasq-2.80.sha256sum] = "9e4a58f816ce0033ce383c549b7d4058ad9b823968d35 SRC_URI += "\ file://lua.patch \ file://0001-dnsmasq-fix-build-against-5.2-headers.patch \ + file://0001-dnsmasq-fix-memory-leak-in-helper-c.patch \ " diff --git a/meta-openembedded/meta-networking/recipes-support/ipvsadm/ipvsadm_1.30.bb b/meta-openembedded/meta-networking/recipes-support/ipvsadm/ipvsadm_1.30.bb deleted file mode 100644 index b375ca94e5..0000000000 --- a/meta-openembedded/meta-networking/recipes-support/ipvsadm/ipvsadm_1.30.bb +++ /dev/null @@ -1,43 +0,0 @@ -SUMMARY = "Linux Virtual Server administration Utility" -HOMEPAGE = "http://www.linux-vs.org/software/index.html" -DESCRIPTION = "Ipvsadm is used to set up, maintain or inspect the virtual server \ -table in the Linux kernel. The Linux Virtual Server can be used to \ -build scalable network services based on a cluster of two or more nodes. \ -The active node of the cluster redirects service requests to a \ -collection of server hosts that will actually perform the services. \ -Supported features include two protocols (TCP and UDP), three packet-forwarding \ -methods (NAT, tunneling, and direct routing), and eight load balancing algorithms \ -(round robin, weighted round robin, least-connec-tion, weighted least-connection, \ -locality-based least-connection, locality-based least-connection with replication, \ -destination-hashing, and source-hashing)." -SECTION = "net" -LICENSE = "GPL-2.0" -LIC_FILES_CHKSUM = "file://README;beginline=40;endline=56;md5=b4e40069f15598d0e3fe2aa177e5ec77" - -DEPENDS += "libnl popt" - -SRC_URI = "https://mirrors.edge.kernel.org/pub/linux/utils/kernel/ipvsadm/${BP}.tar.xz \ - file://0001-Modify-the-Makefile-for-cross-compile.patch \ - file://0003-ipvsadm-remove-dependency-on-bash.patch \ - file://makefile-add-ldflags.patch \ -" - -SRC_URI[md5sum] = "97f11b6af1920fde5a9d9eac0d7f9e50" -SRC_URI[sha256sum] = "95573d70df473c9f63fc4ac496c044c69e3a6de7ccac119922210c0b44cd7a0c" - -UPSTREAM_CHECK_URI = "${KERNELORG_MIRROR}/linux/utils/kernel/ipvsadm" - -do_compile() { - oe_runmake \ - CC="${CC} -I${STAGING_INCDIR} -I${STAGING_INCDIR}/libnl3 -L${STAGING_LIBDIR}" \ - all -} - -do_install() { - sed -i -e "s;SBIN\t\t= \$(BUILD_ROOT)/sbin;SBIN\t\t= \$(BUILD_ROOT)$base_sbindir;" \ - -e "s;INIT\t\t= \$(BUILD_ROOT)/etc/rc.d/init.d;INIT\t\t= \$(BUILD_ROOT)${sysconfdir}/init.d;" \ - ${S}/Makefile - oe_runmake 'BUILD_ROOT=${D}' install -} - -inherit pkgconfig diff --git a/meta-openembedded/meta-networking/recipes-support/ipvsadm/ipvsadm_1.31.bb b/meta-openembedded/meta-networking/recipes-support/ipvsadm/ipvsadm_1.31.bb new file mode 100644 index 0000000000..8fb116f576 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-support/ipvsadm/ipvsadm_1.31.bb @@ -0,0 +1,43 @@ +SUMMARY = "Linux Virtual Server administration Utility" +HOMEPAGE = "http://www.linux-vs.org/software/index.html" +DESCRIPTION = "Ipvsadm is used to set up, maintain or inspect the virtual server \ +table in the Linux kernel. The Linux Virtual Server can be used to \ +build scalable network services based on a cluster of two or more nodes. \ +The active node of the cluster redirects service requests to a \ +collection of server hosts that will actually perform the services. \ +Supported features include two protocols (TCP and UDP), three packet-forwarding \ +methods (NAT, tunneling, and direct routing), and eight load balancing algorithms \ +(round robin, weighted round robin, least-connec-tion, weighted least-connection, \ +locality-based least-connection, locality-based least-connection with replication, \ +destination-hashing, and source-hashing)." +SECTION = "net" +LICENSE = "GPL-2.0" +LIC_FILES_CHKSUM = "file://README;beginline=40;endline=56;md5=b4e40069f15598d0e3fe2aa177e5ec77" + +DEPENDS += "libnl popt" + +SRC_URI = "https://mirrors.edge.kernel.org/pub/linux/utils/kernel/ipvsadm/${BP}.tar.xz \ + file://0001-Modify-the-Makefile-for-cross-compile.patch \ + file://0003-ipvsadm-remove-dependency-on-bash.patch \ + file://makefile-add-ldflags.patch \ +" + +SRC_URI[md5sum] = "f6d1707c5baf684b58fd33682d67871f" +SRC_URI[sha256sum] = "1a0a5e25b5a1226435d2fb76341656f83a710183aebb0d204db39c0ec3bedfdb" + +UPSTREAM_CHECK_URI = "${KERNELORG_MIRROR}/linux/utils/kernel/ipvsadm" + +do_compile() { + oe_runmake \ + CC="${CC} -I${STAGING_INCDIR} -I${STAGING_INCDIR}/libnl3 -L${STAGING_LIBDIR}" \ + all +} + +do_install() { + sed -i -e "s;SBIN\t\t= \$(BUILD_ROOT)/sbin;SBIN\t\t= \$(BUILD_ROOT)$base_sbindir;" \ + -e "s;INIT\t\t= \$(BUILD_ROOT)/etc/rc.d/init.d;INIT\t\t= \$(BUILD_ROOT)${sysconfdir}/init.d;" \ + ${S}/Makefile + oe_runmake 'BUILD_ROOT=${D}' install +} + +inherit pkgconfig diff --git a/meta-openembedded/meta-networking/recipes-support/lksctp-tools/lksctp-tools_1.0.18.bb b/meta-openembedded/meta-networking/recipes-support/lksctp-tools/lksctp-tools_1.0.18.bb index 70cea6c7b9..3cabc4ff8d 100644 --- a/meta-openembedded/meta-networking/recipes-support/lksctp-tools/lksctp-tools_1.0.18.bb +++ b/meta-openembedded/meta-networking/recipes-support/lksctp-tools/lksctp-tools_1.0.18.bb @@ -65,5 +65,6 @@ FILES_${PN}-dev += " \ FILES_${PN}-utils = "${bindir}/*" +RRECOMMENDS_${PN} += "kernel-module-sctp" RRECOMMENDS_${PN}-utils += "kernel-module-sctp" RRECOMMENDS_${PN}-ptest += "kernel-module-sctp" diff --git a/meta-openembedded/meta-networking/recipes-support/memcached/memcached_1.5.10.bb b/meta-openembedded/meta-networking/recipes-support/memcached/memcached_1.5.10.bb deleted file mode 100644 index d2cafc9f6d..0000000000 --- a/meta-openembedded/meta-networking/recipes-support/memcached/memcached_1.5.10.bb +++ /dev/null @@ -1,52 +0,0 @@ -SUMMARY = "A high-performance memory object caching system" -DESCRIPTION = "\ - memcached optimizes specific high-load serving applications that are designed \ - to take advantage of its versatile no-locking memory access system. Clients \ - are available in several different programming languages, to suit the needs \ - of the specific application. Traditionally this has been used in mod_perl \ - apps to avoid storing large chunks of data in Apache memory, and to share \ - this burden across several machines." -SECTION = "web" -HOMEPAGE = "http://memcached.org/" -LICENSE = "BSD-3-Clause" - -LIC_FILES_CHKSUM = "file://COPYING;md5=7e5ded7363d335e1bb18013ca08046ff" - -inherit autotools - -DEPENDS += "libevent" -RDEPENDS_${PN} += "perl perl-module-posix perl-module-autoloader \ - perl-module-tie-hash bash \ - " - -SRC_URI = "http://www.memcached.org/files/${BP}.tar.gz \ - file://memcached-add-hugetlbfs-check.patch \ - " -SRC_URI[md5sum] = "8462616b554183a75845b03c56837cca" -SRC_URI[sha256sum] = "494c060dbd96d546c74ab85a3cc3984d009b4423767ac33e05dd2340c01f1c4b" - -# set the same COMPATIBLE_HOST as libhugetlbfs -COMPATIBLE_HOST = '(i.86|x86_64|powerpc|powerpc64|arm).*-linux' - -python __anonymous () { - endianness = d.getVar('SITEINFO_ENDIANNESS') - if endianness == 'le': - d.appendVar('EXTRA_OECONF', " ac_cv_c_endian=little") - else: - d.appendVar('EXTRA_OECONF', " ac_cv_c_endian=big") -} - -PACKAGECONFIG ??= "" -PACKAGECONFIG[hugetlbfs] = "--enable-hugetlbfs, --disable-hugetlbfs, libhugetlbfs" - -inherit update-rc.d - -INITSCRIPT_NAME = "memcached" -INITSCRIPT_PARAMS = "defaults" - -do_install_append() { - install -D -m 755 ${S}/scripts/memcached-init ${D}${sysconfdir}/init.d/memcached - mkdir -p ${D}/usr/share/memcached/scripts - install -m 755 ${S}/scripts/memcached-tool ${D}/usr/share/memcached/scripts - install -m 755 ${S}/scripts/start-memcached ${D}/usr/share/memcached/scripts -} diff --git a/meta-openembedded/meta-networking/recipes-support/memcached/memcached_1.5.20.bb b/meta-openembedded/meta-networking/recipes-support/memcached/memcached_1.5.20.bb new file mode 100644 index 0000000000..37a77c3648 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-support/memcached/memcached_1.5.20.bb @@ -0,0 +1,52 @@ +SUMMARY = "A high-performance memory object caching system" +DESCRIPTION = "\ + memcached optimizes specific high-load serving applications that are designed \ + to take advantage of its versatile no-locking memory access system. Clients \ + are available in several different programming languages, to suit the needs \ + of the specific application. Traditionally this has been used in mod_perl \ + apps to avoid storing large chunks of data in Apache memory, and to share \ + this burden across several machines." +SECTION = "web" +HOMEPAGE = "http://memcached.org/" +LICENSE = "BSD-3-Clause" + +LIC_FILES_CHKSUM = "file://COPYING;md5=7e5ded7363d335e1bb18013ca08046ff" + +inherit autotools + +DEPENDS += "libevent" +RDEPENDS_${PN} += "perl perl-module-posix perl-module-autoloader \ + perl-module-tie-hash bash \ + " + +SRC_URI = "http://www.memcached.org/files/${BP}.tar.gz \ + file://memcached-add-hugetlbfs-check.patch \ + " +SRC_URI[md5sum] = "4b64296ea0eeccdee9168c035e0488ab" +SRC_URI[sha256sum] = "cfd7b023a9cefe7ae8a67184f51d841dbbf97994ed0e8a55e31ee092320ea1e4" + +# set the same COMPATIBLE_HOST as libhugetlbfs +COMPATIBLE_HOST = '(i.86|x86_64|powerpc|powerpc64|arm).*-linux' + +python __anonymous () { + endianness = d.getVar('SITEINFO_ENDIANNESS') + if endianness == 'le': + d.appendVar('EXTRA_OECONF', " ac_cv_c_endian=little") + else: + d.appendVar('EXTRA_OECONF', " ac_cv_c_endian=big") +} + +PACKAGECONFIG ??= "" +PACKAGECONFIG[hugetlbfs] = "--enable-hugetlbfs, --disable-hugetlbfs, libhugetlbfs" + +inherit update-rc.d + +INITSCRIPT_NAME = "memcached" +INITSCRIPT_PARAMS = "defaults" + +do_install_append() { + install -D -m 755 ${S}/scripts/memcached-init ${D}${sysconfdir}/init.d/memcached + mkdir -p ${D}/usr/share/memcached/scripts + install -m 755 ${S}/scripts/memcached-tool ${D}/usr/share/memcached/scripts + install -m 755 ${S}/scripts/start-memcached ${D}/usr/share/memcached/scripts +} diff --git a/meta-openembedded/meta-networking/recipes-support/netcat/netcat/gettext.patch b/meta-openembedded/meta-networking/recipes-support/netcat/netcat/gettext.patch new file mode 100644 index 0000000000..f2e5f99270 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-support/netcat/netcat/gettext.patch @@ -0,0 +1,16 @@ +Fix build with gettext 0.20.x + +Upstream-Status: Pending +Signed-off-by: Khem Raj + +--- a/configure.ac ++++ b/configure.ac +@@ -49,7 +49,7 @@ AC_SUBST(all_libraries) + dnl I18n support + ALL_LINGUAS="it sk" + AM_GNU_GETTEXT([external], need-ngettext) +-AM_INTL_SUBDIR ++#AM_INTL_SUBDIR + + dnl find resolver functions and the socket library on some broken OS + AC_LBL_LIBRARY_NET diff --git a/meta-openembedded/meta-networking/recipes-support/netcat/netcat_0.7.1.bb b/meta-openembedded/meta-networking/recipes-support/netcat/netcat_0.7.1.bb index d961af542c..14d743f820 100644 --- a/meta-openembedded/meta-networking/recipes-support/netcat/netcat_0.7.1.bb +++ b/meta-openembedded/meta-networking/recipes-support/netcat/netcat_0.7.1.bb @@ -8,6 +8,7 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/netcat/netcat-${PV}.tar.bz2 \ file://obsolete_autoconf_macros.patch \ file://netcat-locale_h.patch \ file://make-netcat_flag_count_work.patch \ + file://gettext.patch \ " SRC_URI[md5sum] = "0a29eff1736ddb5effd0b1ec1f6fe0ef" diff --git a/meta-openembedded/meta-networking/recipes-support/netperf/netperf_git.bb b/meta-openembedded/meta-networking/recipes-support/netperf/netperf_git.bb index 8921ea7460..f1f62df066 100644 --- a/meta-openembedded/meta-networking/recipes-support/netperf/netperf_git.bb +++ b/meta-openembedded/meta-networking/recipes-support/netperf/netperf_git.bb @@ -31,6 +31,8 @@ CFLAGS_append = "${@bb.utils.contains('DISTRO_FEATURES', 'largefile', \ PACKAGECONFIG ??= "" PACKAGECONFIG[sctp] = "--enable-sctp,--disable-sctp,lksctp-tools," +PACKAGECONFIG[intervals] = "--enable-intervals,--disable-intervals,," +PACKAGECONFIG[histogram] = "--enable-histogram,--disable-histogram,," # autotools.bbclass attends to include m4 files with path depth <= 2 by # "find ${S} -maxdepth 2 -name \*.m4", so move m4 files from m4/m4. diff --git a/meta-openembedded/meta-networking/recipes-support/nghttp2/nghttp2_1.39.2.bb b/meta-openembedded/meta-networking/recipes-support/nghttp2/nghttp2_1.39.2.bb deleted file mode 100644 index c27afdb551..0000000000 --- a/meta-openembedded/meta-networking/recipes-support/nghttp2/nghttp2_1.39.2.bb +++ /dev/null @@ -1,41 +0,0 @@ -SUMMARY = "HTTP/2 C Library and tools" -HOMEPAGE = "https://nghttp2.org/" -SECTION = "libs" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://COPYING;md5=764abdf30b2eadd37ce47dcbce0ea1ec" -DEPENDS = "c-ares cunit jansson libev libevent libxml2 openssl zlib" - -UPSTREAM_CHECK_URI = "https://github.com/nghttp2/nghttp2/releases" - -SRC_URI = "\ - https://github.com/nghttp2/nghttp2/releases/download/v${PV}/nghttp2-${PV}.tar.xz \ - file://0001-fetch-ocsp-response-use-python3.patch \ -" -SRC_URI[md5sum] = "de52cd6b587b76486346745514972995" -SRC_URI[sha256sum] = "a2d216450abd2beaf4e200c168957968e89d602ca4119338b9d7ab059fd4ce8b" - -inherit cmake manpages pythonnative -PACKAGECONFIG[manpages] = "" - -# examples are never installed, and don't need to be built in the -# first place -EXTRA_OECMAKE = "-DENABLE_EXAMPLES=OFF -DENABLE_APP=ON" - -do_install_append() { - rm ${D}${bindir}/deflatehd ${D}${bindir}/inflatehd -} - -PACKAGES =+ "lib${PN} ${PN}-client ${PN}-proxy ${PN}-server" - -RDEPENDS_${PN} = "${PN}-client (>= ${PV}) ${PN}-proxy (>= ${PV}) ${PN}-server (>= ${PV})" -RDEPENDS_${PN}_class-native = "" -RDEPENDS_${PN}-proxy = "openssl python3-core python3-io python3-shell" - -ALLOW_EMPTY_${PN} = "1" -FILES_${PN} = "" -FILES_lib${PN} = "${libdir}/*${SOLIBS}" -FILES_${PN}-client = "${bindir}/h2load ${bindir}/nghttp" -FILES_${PN}-proxy = "${bindir}/nghttpx ${datadir}/${BPN}/fetch-ocsp-response" -FILES_${PN}-server = "${bindir}/nghttpd" - -BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-networking/recipes-support/nghttp2/nghttp2_1.40.0.bb b/meta-openembedded/meta-networking/recipes-support/nghttp2/nghttp2_1.40.0.bb new file mode 100644 index 0000000000..f37e9b7463 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-support/nghttp2/nghttp2_1.40.0.bb @@ -0,0 +1,41 @@ +SUMMARY = "HTTP/2 C Library and tools" +HOMEPAGE = "https://nghttp2.org/" +SECTION = "libs" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=764abdf30b2eadd37ce47dcbce0ea1ec" +DEPENDS = "c-ares cunit jansson libev libevent libxml2 openssl zlib" + +UPSTREAM_CHECK_URI = "https://github.com/nghttp2/nghttp2/releases" + +SRC_URI = "\ + https://github.com/nghttp2/nghttp2/releases/download/v${PV}/nghttp2-${PV}.tar.xz \ + file://0001-fetch-ocsp-response-use-python3.patch \ +" +SRC_URI[md5sum] = "8d1a6b96760254e4dd142d7176e8fb7c" +SRC_URI[sha256sum] = "09fc43d428ff237138733c737b29fb1a7e49d49de06d2edbed3bc4cdcee69073" + +inherit cmake manpages pythonnative +PACKAGECONFIG[manpages] = "" + +# examples are never installed, and don't need to be built in the +# first place +EXTRA_OECMAKE = "-DENABLE_EXAMPLES=OFF -DENABLE_APP=ON" + +do_install_append() { + rm ${D}${bindir}/deflatehd ${D}${bindir}/inflatehd +} + +PACKAGES =+ "lib${PN} ${PN}-client ${PN}-proxy ${PN}-server" + +RDEPENDS_${PN} = "${PN}-client (>= ${PV}) ${PN}-proxy (>= ${PV}) ${PN}-server (>= ${PV})" +RDEPENDS_${PN}_class-native = "" +RDEPENDS_${PN}-proxy = "openssl python3-core python3-io python3-shell" + +ALLOW_EMPTY_${PN} = "1" +FILES_${PN} = "" +FILES_lib${PN} = "${libdir}/*${SOLIBS}" +FILES_${PN}-client = "${bindir}/h2load ${bindir}/nghttp" +FILES_${PN}-proxy = "${bindir}/nghttpx ${datadir}/${BPN}/fetch-ocsp-response" +FILES_${PN}-server = "${bindir}/nghttpd" + +BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-networking/recipes-support/ntp/ntp/ntp.conf b/meta-openembedded/meta-networking/recipes-support/ntp/ntp/ntp.conf index 676e186453..b59003092b 100644 --- a/meta-openembedded/meta-networking/recipes-support/ntp/ntp/ntp.conf +++ b/meta-openembedded/meta-networking/recipes-support/ntp/ntp/ntp.conf @@ -14,4 +14,8 @@ driftfile /var/lib/ntp/drift server 127.127.1.0 fudge 127.127.1.0 stratum 14 # Defining a default security setting -restrict default +restrict -4 default notrap nomodify nopeer noquery +restrict -6 default notrap nomodify nopeer noquery + +restrict 127.0.0.1 # allow local host +restrict ::1 # allow local host diff --git a/meta-openembedded/meta-networking/recipes-support/ntp/ntp_4.2.8p13.bb b/meta-openembedded/meta-networking/recipes-support/ntp/ntp_4.2.8p13.bb index 9b327ba2fa..e950fabe38 100644 --- a/meta-openembedded/meta-networking/recipes-support/ntp/ntp_4.2.8p13.bb +++ b/meta-openembedded/meta-networking/recipes-support/ntp/ntp_4.2.8p13.bb @@ -105,7 +105,7 @@ do_install_append() { rmdir --ignore-fail-on-non-empty ${D}${libexecdir} } -PACKAGES += "ntpdate sntp ntpq ${PN}-tickadj ${PN}-utils" +PACKAGES += "ntpdate sntp ntpdc ntpq ${PN}-tickadj ${PN}-utils" # NOTE: you don't need ntpdate, use "ntpd -q -g -x" # ntp originally includes tickadj. It's split off for inclusion in small firmware images on platforms @@ -117,8 +117,8 @@ RDEPENDS_${PN} += "libgcc" RPROVIDES_${PN}-utils = "${PN}-bin" RREPLACES_${PN}-utils = "${PN}-bin" RCONFLICTS_${PN}-utils = "${PN}-bin" -# ntpq was split out of ntp-utils -RDEPENDS_${PN}-utils = "ntpq" +# ntpdc and ntpq were split out of ntp-utils +RDEPENDS_${PN}-utils = "ntpdc ntpq" SYSTEMD_PACKAGES = "${PN} ntpdate sntp" SYSTEMD_SERVICE_${PN} = "ntpd.service" @@ -153,6 +153,7 @@ FILES_sntp = "${sbindir}/sntp \ ${sysconfdir}/default/sntp \ ${systemd_unitdir}/system/sntp.service \ " +FILES_ntpdc = "${sbindir}/ntpdc" FILES_ntpq = "${sbindir}/ntpq" CONFFILES_${PN} = "${sysconfdir}/ntp.conf" diff --git a/meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core/0001-Remove-man-files-which-cant-be-built.patch b/meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core/0001-Remove-man-files-which-cant-be-built.patch index 4b595613fa..f1437a0fb5 100644 --- a/meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core/0001-Remove-man-files-which-cant-be-built.patch +++ b/meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core/0001-Remove-man-files-which-cant-be-built.patch @@ -14,14 +14,67 @@ Fixes errors | cmake_install.cmake:48 (include) Signed-off-by: Khem Raj + +Update for version 26.1. Remove more man files which can no be built. + +Signed-off-by: Kai Kang --- - libibumad/man/CMakeLists.txt | 1 - - libibverbs/man/CMakeLists.txt | 15 --------------- - providers/mlx5/man/CMakeLists.txt | 1 - - 3 files changed, 17 deletions(-) + infiniband-diags/man/CMakeLists.txt | 34 ------------------- + libibumad/man/CMakeLists.txt | 2 -- + libibverbs/man/CMakeLists.txt | 52 ----------------------------- + librdmacm/man/CMakeLists.txt | 2 -- + providers/efa/man/CMakeLists.txt | 2 -- + providers/mlx4/man/CMakeLists.txt | 1 - + providers/mlx5/man/CMakeLists.txt | 65 ------------------------------------- + 7 files changed, 158 deletions(-) +diff --git a/infiniband-diags/man/CMakeLists.txt b/infiniband-diags/man/CMakeLists.txt +index 1f1f91c9..094a389f 100644 +--- a/infiniband-diags/man/CMakeLists.txt ++++ b/infiniband-diags/man/CMakeLists.txt +@@ -46,40 +46,6 @@ rdma_rst_common( + ) + + rdma_man_pages( +- check_lft_balance.8.in.rst +- dump_fts.8.in.rst +- ibaddr.8.in.rst +- ibcacheedit.8.in.rst +- ibccconfig.8.in.rst +- ibccquery.8.in.rst +- ibfindnodesusing.8.in.rst +- ibhosts.8.in.rst +- ibidsverify.8.in.rst +- iblinkinfo.8.in.rst +- ibnetdiscover.8.in.rst +- ibnodes.8.in.rst +- ibping.8.in.rst +- ibportstate.8.in.rst +- ibqueryerrors.8.in.rst +- ibroute.8.in.rst +- ibrouters.8.in.rst +- ibstat.8.in.rst +- ibstatus.8.in.rst +- ibswitches.8.in.rst +- ibsysstat.8.in.rst +- ibtracert.8.in.rst +- infiniband-diags.8.in.rst +- perfquery.8.in.rst +- saquery.8.in.rst +- sminfo.8.in.rst +- smpdump.8.in.rst +- smpquery.8.in.rst +- vendstat.8.in.rst +- ) +- +-rdma_alias_man_pages( +- dump_fts.8 dump_lfts.8 +- dump_fts.8 dump_mfts.8 + ) + + if (ENABLE_IBDIAGS_COMPAT) diff --git a/libibumad/man/CMakeLists.txt b/libibumad/man/CMakeLists.txt -index 185584a0..ac45a4e9 100644 +index 185584a0..857a4b8b 100644 --- a/libibumad/man/CMakeLists.txt +++ b/libibumad/man/CMakeLists.txt @@ -15,7 +15,6 @@ rdma_man_pages( @@ -32,19 +85,34 @@ index 185584a0..ac45a4e9 100644 umad_open_port.3 umad_poll.3 umad_recv.3 +@@ -38,5 +37,4 @@ rdma_alias_man_pages( + umad_class_str.3 umad_method_str.3 + umad_get_ca.3 umad_release_ca.3 + umad_get_port.3 umad_release_port.3 +- umad_init.3 umad_done.3 + ) diff --git a/libibverbs/man/CMakeLists.txt b/libibverbs/man/CMakeLists.txt -index 86dd49de..b54675be 100644 +index e1d5edf8..92c68611 100644 --- a/libibverbs/man/CMakeLists.txt +++ b/libibverbs/man/CMakeLists.txt -@@ -5,7 +5,6 @@ rdma_man_pages( +@@ -1,24 +1,18 @@ + rdma_man_pages( +- ibv_advise_mr.3.md + ibv_alloc_dm.3 + ibv_alloc_mw.3 +- ibv_alloc_null_mr.3.md + ibv_alloc_parent_domain.3 ibv_alloc_pd.3 ibv_alloc_td.3 ibv_asyncwatch.1 +- ibv_attach_counters_point_flow.3.md - ibv_attach_mcast.3.md ibv_bind_mw.3 ibv_create_ah.3 ibv_create_ah_from_wc.3 -@@ -14,7 +13,6 @@ rdma_man_pages( + ibv_create_comp_channel.3 +- ibv_create_counters.3.md + ibv_create_cq.3 ibv_create_cq_ex.3 ibv_modify_cq.3 ibv_create_flow.3 @@ -52,7 +120,7 @@ index 86dd49de..b54675be 100644 ibv_create_qp.3 ibv_create_qp_ex.3 ibv_create_rwq_ind_table.3 -@@ -23,15 +21,9 @@ rdma_man_pages( +@@ -27,16 +21,8 @@ rdma_man_pages( ibv_create_wq.3 ibv_devices.1 ibv_devinfo.1 @@ -61,14 +129,15 @@ index 86dd49de..b54675be 100644 ibv_get_async_event.3 ibv_get_cq_event.3 - ibv_get_device_guid.3.md - ibv_get_device_list.3 +- ibv_get_device_list.3.md - ibv_get_device_name.3.md +- ibv_get_pkey_index.3.md - ibv_get_srq_num.3.md - ibv_inc_rkey.3.md ibv_modify_qp.3 ibv_modify_qp_rate_limit.3 ibv_modify_srq.3 -@@ -46,19 +38,12 @@ rdma_man_pages( +@@ -51,24 +37,15 @@ rdma_man_pages( ibv_post_srq_recv.3 ibv_query_device.3 ibv_query_device_ex.3 @@ -81,6 +150,7 @@ index 86dd49de..b54675be 100644 - ibv_rate_to_mbps.3.md - ibv_rate_to_mult.3.md ibv_rc_pingpong.1 +- ibv_read_counters.3.md ibv_reg_mr.3 - ibv_req_notify_cq.3.md - ibv_rereg_mr.3.md @@ -88,16 +158,175 @@ index 86dd49de..b54675be 100644 ibv_srq_pingpong.1 ibv_uc_pingpong.1 ibv_ud_pingpong.1 +- ibv_wr_post.3.md + ibv_xsrq_pingpong.1 + ) + rdma_alias_man_pages( +@@ -79,47 +56,18 @@ rdma_alias_man_pages( + ibv_alloc_mw.3 ibv_dealloc_mw.3 + ibv_alloc_pd.3 ibv_dealloc_pd.3 + ibv_alloc_td.3 ibv_dealloc_td.3 +- ibv_attach_mcast.3 ibv_detach_mcast.3 + ibv_create_ah.3 ibv_destroy_ah.3 + ibv_create_ah_from_wc.3 ibv_init_ah_from_wc.3 + ibv_create_comp_channel.3 ibv_destroy_comp_channel.3 +- ibv_create_counters.3 ibv_destroy_counters.3 + ibv_create_cq.3 ibv_destroy_cq.3 + ibv_create_flow.3 ibv_destroy_flow.3 +- ibv_create_flow_action.3 ibv_destroy_flow_action.3 +- ibv_create_flow_action.3 ibv_modify_flow_action.3 + ibv_create_qp.3 ibv_destroy_qp.3 + ibv_create_rwq_ind_table.3 ibv_destroy_rwq_ind_table.3 + ibv_create_srq.3 ibv_destroy_srq.3 + ibv_create_wq.3 ibv_destroy_wq.3 +- ibv_event_type_str.3 ibv_node_type_str.3 +- ibv_event_type_str.3 ibv_port_state_str.3 + ibv_get_async_event.3 ibv_ack_async_event.3 + ibv_get_cq_event.3 ibv_ack_cq_events.3 +- ibv_get_device_list.3 ibv_free_device_list.3 + ibv_open_device.3 ibv_close_device.3 + ibv_open_xrcd.3 ibv_close_xrcd.3 +- ibv_rate_to_mbps.3 mbps_to_ibv_rate.3 +- ibv_rate_to_mult.3 mult_to_ibv_rate.3 + ibv_reg_mr.3 ibv_dereg_mr.3 +- ibv_wr_post.3 ibv_wr_abort.3 +- ibv_wr_post.3 ibv_wr_complete.3 +- ibv_wr_post.3 ibv_wr_start.3 +- ibv_wr_post.3 ibv_wr_atomic_cmp_swp.3 +- ibv_wr_post.3 ibv_wr_atomic_fetch_add.3 +- ibv_wr_post.3 ibv_wr_bind_mw.3 +- ibv_wr_post.3 ibv_wr_local_inv.3 +- ibv_wr_post.3 ibv_wr_rdma_read.3 +- ibv_wr_post.3 ibv_wr_rdma_write.3 +- ibv_wr_post.3 ibv_wr_rdma_write_imm.3 +- ibv_wr_post.3 ibv_wr_send.3 +- ibv_wr_post.3 ibv_wr_send_imm.3 +- ibv_wr_post.3 ibv_wr_send_inv.3 +- ibv_wr_post.3 ibv_wr_send_tso.3 +- ibv_wr_post.3 ibv_wr_set_inline_data.3 +- ibv_wr_post.3 ibv_wr_set_inline_data_list.3 +- ibv_wr_post.3 ibv_wr_set_sge.3 +- ibv_wr_post.3 ibv_wr_set_sge_list.3 +- ibv_wr_post.3 ibv_wr_set_ud_addr.3 +- ibv_wr_post.3 ibv_wr_set_xrc_srqn.3 + ) +diff --git a/librdmacm/man/CMakeLists.txt b/librdmacm/man/CMakeLists.txt +index 2d1efbff..d016c926 100644 +--- a/librdmacm/man/CMakeLists.txt ++++ b/librdmacm/man/CMakeLists.txt +@@ -20,7 +20,6 @@ rdma_man_pages( + rdma_destroy_qp.3 + rdma_destroy_srq.3 + rdma_disconnect.3 +- rdma_establish.3.md + rdma_event_str.3 + rdma_free_devices.3 + rdma_get_cm_event.3 +@@ -33,7 +32,6 @@ rdma_man_pages( + rdma_get_send_comp.3 + rdma_get_src_port.3 + rdma_getaddrinfo.3 +- rdma_init_qp_attr.3.md + rdma_join_multicast.3 + rdma_join_multicast_ex.3 + rdma_leave_multicast.3 +diff --git a/providers/efa/man/CMakeLists.txt b/providers/efa/man/CMakeLists.txt +index d6a4f57b..376f293d 100644 +--- a/providers/efa/man/CMakeLists.txt ++++ b/providers/efa/man/CMakeLists.txt +@@ -1,4 +1,2 @@ + rdma_man_pages( +- efadv_create_driver_qp.3.md +- efadv.7.md + ) +diff --git a/providers/mlx4/man/CMakeLists.txt b/providers/mlx4/man/CMakeLists.txt +index 3df77caf..99a75101 100644 +--- a/providers/mlx4/man/CMakeLists.txt ++++ b/providers/mlx4/man/CMakeLists.txt +@@ -1,6 +1,5 @@ + rdma_man_pages( + mlx4dv_init_obj.3 + mlx4dv_query_device.3 +- mlx4dv_set_context_attr.3.md + mlx4dv.7 + ) diff --git a/providers/mlx5/man/CMakeLists.txt b/providers/mlx5/man/CMakeLists.txt -index cdc7115e..876b6fcf 100644 +index 0bd9eba1..876b6fcf 100644 --- a/providers/mlx5/man/CMakeLists.txt +++ b/providers/mlx5/man/CMakeLists.txt -@@ -1,5 +1,4 @@ +@@ -1,72 +1,7 @@ rdma_man_pages( +- mlx5dv_alloc_dm.3.md +- mlx5dv_create_cq.3.md +- mlx5dv_create_flow.3.md +- mlx5dv_create_flow_action_modify_header.3.md +- mlx5dv_create_flow_action_packet_reformat.3.md +- mlx5dv_create_flow_matcher.3.md +- mlx5dv_create_mkey.3.md +- mlx5dv_create_qp.3.md +- mlx5dv_devx_alloc_uar.3.md +- mlx5dv_devx_create_cmd_comp.3.md +- mlx5dv_devx_create_event_channel.3.md +- mlx5dv_devx_get_event.3.md +- mlx5dv_devx_obj_create.3.md +- mlx5dv_devx_qp_modify.3.md +- mlx5dv_devx_query_eqn.3.md +- mlx5dv_devx_subscribe_devx_event.3.md +- mlx5dv_devx_umem_reg.3.md +- mlx5dv_dr_flow.3.md - mlx5dv_flow_action_esp.3.md mlx5dv_get_clock_info.3 mlx5dv_init_obj.3 +- mlx5dv_is_supported.3.md +- mlx5dv_open_device.3.md mlx5dv_query_device.3 + mlx5dv_ts_to_ns.3 +- mlx5dv_wr_post.3.md + mlx5dv.7 + ) +-rdma_alias_man_pages( +- mlx5dv_create_mkey.3 mlx5dv_destroy_mkey.3 +- mlx5dv_devx_alloc_uar.3 mlx5dv_devx_free_uar.3 +- mlx5dv_devx_create_cmd_comp.3 mlx5dv_devx_destroy_cmd_comp.3 +- mlx5dv_devx_create_event_channel.3 mlx5dv_devx_destroy_event_channel.3 +- mlx5dv_devx_create_cmd_comp.3 mlx5dv_devx_get_async_cmd_comp.3 +- mlx5dv_devx_obj_create.3 mlx5dv_devx_general_cmd.3 +- mlx5dv_devx_obj_create.3 mlx5dv_devx_obj_destroy.3 +- mlx5dv_devx_obj_create.3 mlx5dv_devx_obj_query.3 +- mlx5dv_devx_obj_create.3 mlx5dv_devx_obj_query_async.3 +- mlx5dv_devx_obj_create.3 mlx5dv_devx_obj_modify.3 +- mlx5dv_devx_qp_modify.3 mlx5dv_devx_qp_query.3 +- mlx5dv_devx_qp_modify.3 mlx5dv_devx_cq_modify.3 +- mlx5dv_devx_qp_modify.3 mlx5dv_devx_cq_query.3 +- mlx5dv_devx_qp_modify.3 mlx5dv_devx_wq_modify.3 +- mlx5dv_devx_qp_modify.3 mlx5dv_devx_wq_query.3 +- mlx5dv_devx_qp_modify.3 mlx5dv_devx_srq_modify.3 +- mlx5dv_devx_qp_modify.3 mlx5dv_devx_srq_query.3 +- mlx5dv_devx_qp_modify.3 mlx5dv_devx_ind_tbl_modify.3 +- mlx5dv_devx_qp_modify.3 mlx5dv_devx_ind_tbl_query.3 +- mlx5dv_devx_subscribe_devx_event.3 mlx5dv_devx_subscribe_devx_event_fd.3 +- mlx5dv_devx_umem_reg.3 mlx5dv_devx_umem_dereg.3 +- mlx5dv_dr_flow.3 mlx5dv_dr_action_create_dest_table.3 +- mlx5dv_dr_flow.3 mlx5dv_dr_action_create_dest_ibv_qp.3 +- mlx5dv_dr_flow.3 mlx5dv_dr_action_create_dest_vport.3 +- mlx5dv_dr_flow.3 mlx5dv_dr_action_create_flow_counter.3 +- mlx5dv_dr_flow.3 mlx5dv_dr_action_create_drop.3 +- mlx5dv_dr_flow.3 mlx5dv_dr_action_create_modify_header.3 +- mlx5dv_dr_flow.3 mlx5dv_dr_action_create_packet_reformat.3 +- mlx5dv_dr_flow.3 mlx5dv_dr_action_create_tag.3 +- mlx5dv_dr_flow.3 mlx5dv_dr_action_destroy.3 +- mlx5dv_dr_flow.3 mlx5dv_dr_domain_create.3 +- mlx5dv_dr_flow.3 mlx5dv_dr_domain_destroy.3 +- mlx5dv_dr_flow.3 mlx5dv_dr_domain_sync.3 +- mlx5dv_dr_flow.3 mlx5dv_dr_matcher_create.3 +- mlx5dv_dr_flow.3 mlx5dv_dr_matcher_destroy.3 +- mlx5dv_dr_flow.3 mlx5dv_dr_rule_create.3 +- mlx5dv_dr_flow.3 mlx5dv_dr_rule_destroy.3 +- mlx5dv_dr_flow.3 mlx5dv_dr_table_create.3 +- mlx5dv_dr_flow.3 mlx5dv_dr_table_destroy.3 +- mlx5dv_wr_post.3 mlx5dv_wr_set_dc_addr.3 +- mlx5dv_wr_post.3 mlx5dv_qp_ex_from_ibv_qp_ex.3 +-) -- 2.17.1 diff --git a/meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core/0001-S_IFSOCK-is-defined-in-both-glibc-musl.patch b/meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core/0001-S_IFSOCK-is-defined-in-both-glibc-musl.patch deleted file mode 100644 index b04c9b7230..0000000000 --- a/meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core/0001-S_IFSOCK-is-defined-in-both-glibc-musl.patch +++ /dev/null @@ -1,29 +0,0 @@ -From f2df1db11f3a9580774300e703b6f53dbcdb28ef Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Fri, 8 Jun 2018 20:17:57 -0700 -Subject: [PATCH] S_IFSOCK is defined in both glibc/musl - -Fixes - -preload.c:1183:46: error: '__S_IFSOCK' undeclared (first use in this function); did you mean 'S_IFSOCK'? - -Upstream-Status: Pending - -Signed-off-by: Khem Raj ---- - librdmacm/preload.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/librdmacm/preload.c b/librdmacm/preload.c -index 0f2aa250..d46beb1b 100644 ---- a/librdmacm/preload.c -+++ b/librdmacm/preload.c -@@ -1180,7 +1180,7 @@ int __fxstat(int ver, int socket, struct stat *buf) - if (fd_get(socket, &fd) == fd_rsocket) { - ret = real.fxstat(ver, socket, buf); - if (!ret) -- buf->st_mode = (buf->st_mode & ~S_IFMT) | __S_IFSOCK; -+ buf->st_mode = (buf->st_mode & ~S_IFMT) | S_IFSOCK; - } else { - ret = real.fxstat(ver, fd, buf); - } diff --git a/meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core/0001-include-endian.h-for-htole32-and-friends.patch b/meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core/0001-include-endian.h-for-htole32-and-friends.patch deleted file mode 100644 index aa335244b6..0000000000 --- a/meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core/0001-include-endian.h-for-htole32-and-friends.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 65b9a47c07be4611b4fbbcafff1993186bcb0537 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Tue, 12 Jun 2018 19:15:52 -0700 -Subject: [PATCH 1/2] include endian.h for htole32 and friends - -Signed-off-by: Khem Raj ---- - providers/hns/hns_roce_u.h | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/providers/hns/hns_roce_u.h b/providers/hns/hns_roce_u.h -index bd66c6e7..b07424db 100644 ---- a/providers/hns/hns_roce_u.h -+++ b/providers/hns/hns_roce_u.h -@@ -34,6 +34,7 @@ - #define _HNS_ROCE_U_H - - #include -+#include - #include - - #include --- -2.17.1 - diff --git a/meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core/0001-librdmacm-Use-sched_yield-instead-of-pthread_yield.patch b/meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core/0001-librdmacm-Use-sched_yield-instead-of-pthread_yield.patch new file mode 100644 index 0000000000..80abd33139 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core/0001-librdmacm-Use-sched_yield-instead-of-pthread_yield.patch @@ -0,0 +1,30 @@ +From 6ac9562d756d42592994aeaac7a5e7b2bbce5cab Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sat, 14 Dec 2019 14:07:57 -0800 +Subject: [PATCH] librdmacm: Use sched_yield instead of pthread_yield + +glibc redirects pthread_yield to sched_yield additionally we get it +working with musl on linux + +Upstream-Status: Submitted [https://github.com/linux-rdma/rdma-core/pull/635] +Signed-off-by: Khem Raj +--- + librdmacm/rsocket.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/librdmacm/rsocket.c b/librdmacm/rsocket.c +index 89ae2139..7fc5b266 100644 +--- a/librdmacm/rsocket.c ++++ b/librdmacm/rsocket.c +@@ -3038,7 +3038,7 @@ static int rs_poll_enter(void) + pthread_mutex_lock(&mut); + if (suspendpoll) { + pthread_mutex_unlock(&mut); +- pthread_yield(); ++ sched_yield(); + return -EBUSY; + } + +-- +2.24.1 + diff --git a/meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core/0002-Remove-unused-include-for-execinfo.h.patch b/meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core/0002-Remove-unused-include-for-execinfo.h.patch deleted file mode 100644 index 347f964e94..0000000000 --- a/meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core/0002-Remove-unused-include-for-execinfo.h.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 3d9cae15c69c0b3260a024ad5d6802a8d85515a2 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Tue, 12 Jun 2018 19:18:24 -0700 -Subject: [PATCH 2/2] Remove unused include for execinfo.h - -Fixes build on musl - -Signed-off-by: Khem Raj ---- - providers/qedr/qelr_verbs.c | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/providers/qedr/qelr_verbs.c b/providers/qedr/qelr_verbs.c -index e3b01f28..2ee1c832 100644 ---- a/providers/qedr/qelr_verbs.c -+++ b/providers/qedr/qelr_verbs.c -@@ -54,7 +54,6 @@ - - #include - #include --#include - - #define QELR_SQE_ELEMENT_SIZE (sizeof(struct rdma_sq_sge)) - #define QELR_RQE_ELEMENT_SIZE (sizeof(struct rdma_rq_sge)) --- -2.17.1 - diff --git a/meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core/0002-neigh.c-Do-not-include-net-if_packet.h.patch b/meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core/0002-neigh.c-Do-not-include-net-if_packet.h.patch deleted file mode 100644 index e887f222b0..0000000000 --- a/meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core/0002-neigh.c-Do-not-include-net-if_packet.h.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 82486f7e1ee2aa07a5c12cb357834993aa8c1d20 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Fri, 8 Jun 2018 20:19:13 -0700 -Subject: [PATCH] neigh.c: Do not include net/if_packet.h - -This header is glibc specific - -Upstream-Status: Pending - -Signed-off-by: Khem Raj ---- - libibverbs/neigh.c | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/libibverbs/neigh.c b/libibverbs/neigh.c -index 21177db0..cfc593a0 100644 ---- a/libibverbs/neigh.c -+++ b/libibverbs/neigh.c -@@ -2,7 +2,6 @@ - */ - - #include "config.h" --#include - #include - #include - #include diff --git a/meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core_18.1.bb b/meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core_18.1.bb deleted file mode 100644 index 6ad864d1e8..0000000000 --- a/meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core_18.1.bb +++ /dev/null @@ -1,30 +0,0 @@ -SUMMARY = "Userspace support for InfiniBand/RDMA verbs" -DESCRIPTION = "This is the userspace components for the Linux Kernel's drivers Infiniband/RDMA subsystem." -SECTION = "libs" - -DEPENDS = "libnl" -RDEPENDS_${PN} = "bash perl" - -SRC_URI = "git://github.com/linux-rdma/rdma-core.git;branch=stable-v18 \ - file://0001-S_IFSOCK-is-defined-in-both-glibc-musl.patch \ - file://0002-neigh.c-Do-not-include-net-if_packet.h.patch \ - file://0001-include-endian.h-for-htole32-and-friends.patch \ - file://0002-Remove-unused-include-for-execinfo.h.patch \ - file://0001-Remove-man-files-which-cant-be-built.patch \ - " -SRCREV = "7844b3fbe5120623d63b29ecb43eb83a61129658" -S = "${WORKDIR}/git" - -#Default Dual License https://github.com/linux-rdma/rdma-core/blob/master/COPYING.md -LICENSE = "BSD-2-Clause | GPLv2" -LIC_FILES_CHKSUM = "file://COPYING.BSD_FB;md5=0ec18bae1a9df92c8d6ae01f94a289ae \ - file://COPYING.GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263" - - -FILES_SOLIBSDEV = "" -FILES_${PN} += "${libdir}/*" -INSANE_SKIP_${PN} += "dev-so" - -inherit cmake - -OECMAKE_FIND_ROOT_PATH_MODE_PROGRAM = "BOTH" diff --git a/meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core_27.0.bb b/meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core_27.0.bb new file mode 100644 index 0000000000..361d69b337 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core_27.0.bb @@ -0,0 +1,43 @@ +SUMMARY = "Userspace support for InfiniBand/RDMA verbs" +DESCRIPTION = "This is the userspace components for the Linux Kernel's drivers Infiniband/RDMA subsystem." +SECTION = "libs" + +DEPENDS = "libnl" +RDEPENDS_${PN} = "bash perl" + +BRANCH = "stable-v${@d.getVar('PV').split('.')[0]}" +SRC_URI = "git://github.com/linux-rdma/rdma-core.git;branch=${BRANCH} \ + file://0001-Remove-man-files-which-cant-be-built.patch \ + file://0001-librdmacm-Use-sched_yield-instead-of-pthread_yield.patch \ + " +SRCREV = "84caf035ae6123e2296b72006cd2cf698c65eb46" +S = "${WORKDIR}/git" + +#Default Dual License https://github.com/linux-rdma/rdma-core/blob/master/COPYING.md +LICENSE = "BSD-2-Clause | GPLv2" +LIC_FILES_CHKSUM = "file://COPYING.BSD_FB;md5=0ec18bae1a9df92c8d6ae01f94a289ae \ + file://COPYING.GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +EXTRA_OECMAKE = " \ + -DCMAKE_INSTALL_SYSTEMD_SERVICEDIR=${systemd_system_unitdir} \ + -DCMAKE_INSTALL_PERLDIR=${libdir}/perl5/${@get_perl_version(d)} \ +" + +FILES_SOLIBSDEV = "" +FILES_${PN} += "${libdir}/*" +INSANE_SKIP_${PN} += "dev-so" + +inherit cmake cpan-base systemd + +SYSTEMD_SERVICE_${PN} = " \ + srp_daemon.service \ + iwpmd.service \ + ibacm.socket \ + rdma-load-modules@.service \ + srp_daemon_port@.service \ + rdma-hw.target \ + ibacm.service \ +" +SYSTEMD_AUTO_ENABLE = "disable" + +OECMAKE_FIND_ROOT_PATH_MODE_PROGRAM = "BOTH" diff --git a/meta-openembedded/meta-networking/recipes-support/ruli/files/float-conversion.patch b/meta-openembedded/meta-networking/recipes-support/ruli/files/float-conversion.patch new file mode 100644 index 0000000000..999f23fc6a --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-support/ruli/files/float-conversion.patch @@ -0,0 +1,19 @@ +clarify type conversion + +fixes +| ruli_rand.c:54:47: error: implicit conversion from 'unsigned int' to 'float' changes value from 4294967295 to 4294967296 [-Werror,-Wimplicit-int-float-conversion] +| + +Upstream-Status: Pending +Signed-off-by: Khem Raj +--- a/src/ruli_rand.c ++++ b/src/ruli_rand.c +@@ -51,7 +51,7 @@ int ruli_rand_next(ruli_rand_t *rand_ctx + + u = isaac_rand(&rand_ctx->isaac_ctx); + +- r = (int) ((float) (1.0 + max - min) * u / ISAAC_UB4MAXVAL + min); ++ r = (int) ((float) (1.0 + max - min) * u / (float) (ISAAC_UB4MAXVAL + min)); + + assert(min <= r); + assert(r <= max); diff --git a/meta-openembedded/meta-networking/recipes-support/ruli/ruli_0.36.bb b/meta-openembedded/meta-networking/recipes-support/ruli/ruli_0.36.bb index b82a3d08e8..f920b592ac 100644 --- a/meta-openembedded/meta-networking/recipes-support/ruli/ruli_0.36.bb +++ b/meta-openembedded/meta-networking/recipes-support/ruli/ruli_0.36.bb @@ -12,6 +12,7 @@ SRC_URI = "http://download.savannah.gnu.org/releases/ruli/ruli_${PV}.orig.tar.gz file://0001-src-ruli_addr.c-Add-missing-format-string.patch \ file://0001-ruli_srv-Mark-prev_addr_list_size-as-unused.patch \ file://0001-Make-space-for-flags-from-environment.patch \ + file://float-conversion.patch \ " SRC_URI[md5sum] = "e73fbfdeadddb68a703a70cea5271468" @@ -19,7 +20,10 @@ SRC_URI[sha256sum] = "11d32def5b514748fbd9ea8c88049ae99e1bb358efc74eb91a4d268a39 B = "${S}" -EXTRA_OEMAKE = 'CC="${CC}" OOP_BASE_DIR="${STAGING_EXECPREFIXDIR}" INSTALL_BASE_DIR="${D}${exec_prefix}"' +EXTRA_OEMAKE = 'CC="${CC}" OOP_BASE_DIR="${STAGING_EXECPREFIXDIR}" \ + INSTALL_BASE_DIR="${D}${exec_prefix}" \ + OOP_LIB_DIR=${STAGING_EXECPREFIXDIR}/${baselib} \ + INSTALL_LIB_DIR=${D}${libdir}' do_configure() { touch configure-stamp diff --git a/meta-openembedded/meta-networking/recipes-support/strongswan/strongswan_5.8.1.bb b/meta-openembedded/meta-networking/recipes-support/strongswan/strongswan_5.8.1.bb deleted file mode 100644 index b521633ff4..0000000000 --- a/meta-openembedded/meta-networking/recipes-support/strongswan/strongswan_5.8.1.bb +++ /dev/null @@ -1,135 +0,0 @@ -DESCRIPTION = "strongSwan is an OpenSource IPsec implementation for the \ -Linux operating system." -SUMMARY = "strongSwan is an OpenSource IPsec implementation" -HOMEPAGE = "http://www.strongswan.org" -SECTION = "net" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" -DEPENDS = "gmp openssl flex-native flex bison-native" - -SRC_URI = "http://download.strongswan.org/strongswan-${PV}.tar.bz2 \ - file://fix-funtion-parameter.patch \ - file://0001-memory.h-Include-stdint.h-for-uintptr_t.patch \ - " - -SRC_URI[md5sum] = "5a6b9980cd1ac4fad3c24b55ed960ac9" -SRC_URI[sha256sum] = "d9af70acea5c054952ad1584916c1bf231b064eb6c8a9791dcb6ae90a769990c" - -UPSTREAM_CHECK_REGEX = "strongswan-(?P\d+(\.\d+)+)\.tar" - -EXTRA_OECONF = " \ - --without-lib-prefix \ - --with-dev-headers=${includedir}/strongswan \ -" - -EXTRA_OECONF += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '--with-systemdsystemunitdir=${systemd_unitdir}/system/', '--without-systemdsystemunitdir', d)}" - -PACKAGECONFIG ??= "charon curl gmp openssl stroke sqlite3 \ - ${@bb.utils.filter('DISTRO_FEATURES', 'ldap', d)} \ -" -PACKAGECONFIG[aesni] = "--enable-aesni,--disable-aesni,,${PN}-plugin-aesni" -PACKAGECONFIG[bfd] = "--enable-bfd-backtraces,--disable-bfd-backtraces,binutils" -PACKAGECONFIG[charon] = "--enable-charon,--disable-charon," -PACKAGECONFIG[curl] = "--enable-curl,--disable-curl,curl,${PN}-plugin-curl" -PACKAGECONFIG[gmp] = "--enable-gmp,--disable-gmp,gmp,${PN}-plugin-gmp" -PACKAGECONFIG[ldap] = "--enable-ldap,--disable-ldap,openldap,${PN}-plugin-ldap" -PACKAGECONFIG[mysql] = "--enable-mysql,--disable-mysql,mysql5,${PN}-plugin-mysql" -PACKAGECONFIG[openssl] = "--enable-openssl,--disable-openssl,openssl,${PN}-plugin-openssl" -PACKAGECONFIG[scep] = "--enable-scepclient,--disable-scepclient," -PACKAGECONFIG[soup] = "--enable-soup,--disable-soup,libsoup-2.4,${PN}-plugin-soup" -PACKAGECONFIG[sqlite3] = "--enable-sqlite,--disable-sqlite,sqlite3,${PN}-plugin-sqlite" -PACKAGECONFIG[stroke] = "--enable-stroke,--disable-stroke,,${PN}-plugin-stroke" -PACKAGECONFIG[swanctl] = "--enable-swanctl,--disable-swanctl,,libgcc" - -# requires swanctl -PACKAGECONFIG[systemd-charon] = "--enable-systemd,--disable-systemd,systemd," - -inherit autotools systemd pkgconfig - -RRECOMMENDS_${PN} = "kernel-module-ipsec" - -FILES_${PN} += "${libdir}/ipsec/lib*${SOLIBS}" -FILES_${PN}-dbg += "${bindir}/.debug ${sbindir}/.debug ${libdir}/ipsec/.debug ${libexecdir}/ipsec/.debug" -FILES_${PN}-dev += "${libdir}/ipsec/lib*${SOLIBSDEV} ${libdir}/ipsec/*.la ${libdir}/ipsec/include/config.h" -FILES_${PN}-staticdev += "${libdir}/ipsec/*.a" - -CONFFILES_${PN} = "${sysconfdir}/*.conf ${sysconfdir}/ipsec.d/*.conf ${sysconfdir}/strongswan.d/*.conf" - -PACKAGES += "${PN}-plugins" -ALLOW_EMPTY_${PN}-plugins = "1" - -PACKAGES_DYNAMIC += "^${PN}-plugin-.*$" -NOAUTOPACKAGEDEBUG = "1" - -python split_strongswan_plugins () { - sysconfdir = d.expand('${sysconfdir}/strongswan.d/charon') - libdir = d.expand('${libdir}/ipsec/plugins') - dbglibdir = os.path.join(libdir, '.debug') - - def add_plugin_conf(f, pkg, file_regex, output_pattern, modulename): - dvar = d.getVar('PKGD') - oldfiles = d.getVar('CONFFILES_' + pkg) - newfile = '/' + os.path.relpath(f, dvar) - - if not oldfiles: - d.setVar('CONFFILES_' + pkg, newfile) - else: - d.setVar('CONFFILES_' + pkg, oldfiles + " " + newfile) - - split_packages = do_split_packages(d, libdir, 'libstrongswan-(.*)\.so', '${PN}-plugin-%s', 'strongSwan %s plugin', prepend=True) - do_split_packages(d, sysconfdir, '(.*)\.conf', '${PN}-plugin-%s', 'strongSwan %s plugin', prepend=True, hook=add_plugin_conf) - - split_dbg_packages = do_split_packages(d, dbglibdir, 'libstrongswan-(.*)\.so', '${PN}-plugin-%s-dbg', 'strongSwan %s plugin - Debugging files', prepend=True, extra_depends='${PN}-dbg') - split_dev_packages = do_split_packages(d, libdir, 'libstrongswan-(.*)\.la', '${PN}-plugin-%s-dev', 'strongSwan %s plugin - Development files', prepend=True, extra_depends='${PN}-dev') - split_staticdev_packages = do_split_packages(d, libdir, 'libstrongswan-(.*)\.a', '${PN}-plugin-%s-staticdev', 'strongSwan %s plugin - Development files (Static Libraries)', prepend=True, extra_depends='${PN}-staticdev') - - if split_packages: - pn = d.getVar('PN') - d.setVar('RRECOMMENDS_' + pn + '-plugins', ' '.join(split_packages)) - d.appendVar('RRECOMMENDS_' + pn + '-dbg', ' ' + ' '.join(split_dbg_packages)) - d.appendVar('RRECOMMENDS_' + pn + '-dev', ' ' + ' '.join(split_dev_packages)) - d.appendVar('RRECOMMENDS_' + pn + '-staticdev', ' ' + ' '.join(split_staticdev_packages)) -} - -PACKAGESPLITFUNCS_prepend = "split_strongswan_plugins " - -# Install some default plugins based on default strongSwan ./configure options -# See https://wiki.strongswan.org/projects/strongswan/wiki/Pluginlist -RDEPENDS_${PN} += "\ - ${PN}-plugin-aes \ - ${PN}-plugin-attr \ - ${PN}-plugin-cmac \ - ${PN}-plugin-constraints \ - ${PN}-plugin-des \ - ${PN}-plugin-dnskey \ - ${PN}-plugin-hmac \ - ${PN}-plugin-kernel-netlink \ - ${PN}-plugin-md5 \ - ${PN}-plugin-nonce \ - ${PN}-plugin-pem \ - ${PN}-plugin-pgp \ - ${PN}-plugin-pkcs1 \ - ${PN}-plugin-pkcs7 \ - ${PN}-plugin-pkcs8 \ - ${PN}-plugin-pkcs12 \ - ${PN}-plugin-pubkey \ - ${PN}-plugin-random \ - ${PN}-plugin-rc2 \ - ${PN}-plugin-resolve \ - ${PN}-plugin-revocation \ - ${PN}-plugin-sha1 \ - ${PN}-plugin-sha2 \ - ${PN}-plugin-socket-default \ - ${PN}-plugin-sshkey \ - ${PN}-plugin-updown \ - ${PN}-plugin-vici \ - ${PN}-plugin-x509 \ - ${PN}-plugin-xauth-generic \ - ${PN}-plugin-xcbc \ - ${PN}-plugin-curve25519 \ - " - -RPROVIDES_${PN} += "${PN}-systemd" -RREPLACES_${PN} += "${PN}-systemd" -RCONFLICTS_${PN} += "${PN}-systemd" -SYSTEMD_SERVICE_${PN} = "${@bb.utils.contains('PACKAGECONFIG', 'swanctl', '${BPN}.service', '', d)} ${BPN}-starter.service" diff --git a/meta-openembedded/meta-networking/recipes-support/strongswan/strongswan_5.8.2.bb b/meta-openembedded/meta-networking/recipes-support/strongswan/strongswan_5.8.2.bb new file mode 100644 index 0000000000..f05d696699 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-support/strongswan/strongswan_5.8.2.bb @@ -0,0 +1,135 @@ +DESCRIPTION = "strongSwan is an OpenSource IPsec implementation for the \ +Linux operating system." +SUMMARY = "strongSwan is an OpenSource IPsec implementation" +HOMEPAGE = "http://www.strongswan.org" +SECTION = "net" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" +DEPENDS = "gmp openssl flex-native flex bison-native" + +SRC_URI = "http://download.strongswan.org/strongswan-${PV}.tar.bz2 \ + file://fix-funtion-parameter.patch \ + file://0001-memory.h-Include-stdint.h-for-uintptr_t.patch \ + " + +SRC_URI[md5sum] = "d94eac2caed51b0cc776e5887b10bace" +SRC_URI[sha256sum] = "86900ddbe7337c923dadf2c8339ae8ed2b9158e3691745884d08ae534677430e" + +UPSTREAM_CHECK_REGEX = "strongswan-(?P\d+(\.\d+)+)\.tar" + +EXTRA_OECONF = " \ + --without-lib-prefix \ + --with-dev-headers=${includedir}/strongswan \ +" + +EXTRA_OECONF += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '--with-systemdsystemunitdir=${systemd_unitdir}/system/', '--without-systemdsystemunitdir', d)}" + +PACKAGECONFIG ??= "charon curl gmp openssl stroke sqlite3 \ + ${@bb.utils.filter('DISTRO_FEATURES', 'ldap', d)} \ +" +PACKAGECONFIG[aesni] = "--enable-aesni,--disable-aesni,,${PN}-plugin-aesni" +PACKAGECONFIG[bfd] = "--enable-bfd-backtraces,--disable-bfd-backtraces,binutils" +PACKAGECONFIG[charon] = "--enable-charon,--disable-charon," +PACKAGECONFIG[curl] = "--enable-curl,--disable-curl,curl,${PN}-plugin-curl" +PACKAGECONFIG[gmp] = "--enable-gmp,--disable-gmp,gmp,${PN}-plugin-gmp" +PACKAGECONFIG[ldap] = "--enable-ldap,--disable-ldap,openldap,${PN}-plugin-ldap" +PACKAGECONFIG[mysql] = "--enable-mysql,--disable-mysql,mysql5,${PN}-plugin-mysql" +PACKAGECONFIG[openssl] = "--enable-openssl,--disable-openssl,openssl,${PN}-plugin-openssl" +PACKAGECONFIG[scep] = "--enable-scepclient,--disable-scepclient," +PACKAGECONFIG[soup] = "--enable-soup,--disable-soup,libsoup-2.4,${PN}-plugin-soup" +PACKAGECONFIG[sqlite3] = "--enable-sqlite,--disable-sqlite,sqlite3,${PN}-plugin-sqlite" +PACKAGECONFIG[stroke] = "--enable-stroke,--disable-stroke,,${PN}-plugin-stroke" +PACKAGECONFIG[swanctl] = "--enable-swanctl,--disable-swanctl,,libgcc" + +# requires swanctl +PACKAGECONFIG[systemd-charon] = "--enable-systemd,--disable-systemd,systemd," + +inherit autotools systemd pkgconfig + +RRECOMMENDS_${PN} = "kernel-module-ipsec" + +FILES_${PN} += "${libdir}/ipsec/lib*${SOLIBS}" +FILES_${PN}-dbg += "${bindir}/.debug ${sbindir}/.debug ${libdir}/ipsec/.debug ${libexecdir}/ipsec/.debug" +FILES_${PN}-dev += "${libdir}/ipsec/lib*${SOLIBSDEV} ${libdir}/ipsec/*.la ${libdir}/ipsec/include/config.h" +FILES_${PN}-staticdev += "${libdir}/ipsec/*.a" + +CONFFILES_${PN} = "${sysconfdir}/*.conf ${sysconfdir}/ipsec.d/*.conf ${sysconfdir}/strongswan.d/*.conf" + +PACKAGES += "${PN}-plugins" +ALLOW_EMPTY_${PN}-plugins = "1" + +PACKAGES_DYNAMIC += "^${PN}-plugin-.*$" +NOAUTOPACKAGEDEBUG = "1" + +python split_strongswan_plugins () { + sysconfdir = d.expand('${sysconfdir}/strongswan.d/charon') + libdir = d.expand('${libdir}/ipsec/plugins') + dbglibdir = os.path.join(libdir, '.debug') + + def add_plugin_conf(f, pkg, file_regex, output_pattern, modulename): + dvar = d.getVar('PKGD') + oldfiles = d.getVar('CONFFILES_' + pkg) + newfile = '/' + os.path.relpath(f, dvar) + + if not oldfiles: + d.setVar('CONFFILES_' + pkg, newfile) + else: + d.setVar('CONFFILES_' + pkg, oldfiles + " " + newfile) + + split_packages = do_split_packages(d, libdir, 'libstrongswan-(.*)\.so', '${PN}-plugin-%s', 'strongSwan %s plugin', prepend=True) + do_split_packages(d, sysconfdir, '(.*)\.conf', '${PN}-plugin-%s', 'strongSwan %s plugin', prepend=True, hook=add_plugin_conf) + + split_dbg_packages = do_split_packages(d, dbglibdir, 'libstrongswan-(.*)\.so', '${PN}-plugin-%s-dbg', 'strongSwan %s plugin - Debugging files', prepend=True, extra_depends='${PN}-dbg') + split_dev_packages = do_split_packages(d, libdir, 'libstrongswan-(.*)\.la', '${PN}-plugin-%s-dev', 'strongSwan %s plugin - Development files', prepend=True, extra_depends='${PN}-dev') + split_staticdev_packages = do_split_packages(d, libdir, 'libstrongswan-(.*)\.a', '${PN}-plugin-%s-staticdev', 'strongSwan %s plugin - Development files (Static Libraries)', prepend=True, extra_depends='${PN}-staticdev') + + if split_packages: + pn = d.getVar('PN') + d.setVar('RRECOMMENDS_' + pn + '-plugins', ' '.join(split_packages)) + d.appendVar('RRECOMMENDS_' + pn + '-dbg', ' ' + ' '.join(split_dbg_packages)) + d.appendVar('RRECOMMENDS_' + pn + '-dev', ' ' + ' '.join(split_dev_packages)) + d.appendVar('RRECOMMENDS_' + pn + '-staticdev', ' ' + ' '.join(split_staticdev_packages)) +} + +PACKAGESPLITFUNCS_prepend = "split_strongswan_plugins " + +# Install some default plugins based on default strongSwan ./configure options +# See https://wiki.strongswan.org/projects/strongswan/wiki/Pluginlist +RDEPENDS_${PN} += "\ + ${PN}-plugin-aes \ + ${PN}-plugin-attr \ + ${PN}-plugin-cmac \ + ${PN}-plugin-constraints \ + ${PN}-plugin-des \ + ${PN}-plugin-dnskey \ + ${PN}-plugin-hmac \ + ${PN}-plugin-kernel-netlink \ + ${PN}-plugin-md5 \ + ${PN}-plugin-nonce \ + ${PN}-plugin-pem \ + ${PN}-plugin-pgp \ + ${PN}-plugin-pkcs1 \ + ${PN}-plugin-pkcs7 \ + ${PN}-plugin-pkcs8 \ + ${PN}-plugin-pkcs12 \ + ${PN}-plugin-pubkey \ + ${PN}-plugin-random \ + ${PN}-plugin-rc2 \ + ${PN}-plugin-resolve \ + ${PN}-plugin-revocation \ + ${PN}-plugin-sha1 \ + ${PN}-plugin-sha2 \ + ${PN}-plugin-socket-default \ + ${PN}-plugin-sshkey \ + ${PN}-plugin-updown \ + ${PN}-plugin-vici \ + ${PN}-plugin-x509 \ + ${PN}-plugin-xauth-generic \ + ${PN}-plugin-xcbc \ + ${PN}-plugin-curve25519 \ + " + +RPROVIDES_${PN} += "${PN}-systemd" +RREPLACES_${PN} += "${PN}-systemd" +RCONFLICTS_${PN} += "${PN}-systemd" +SYSTEMD_SERVICE_${PN} = "${@bb.utils.contains('PACKAGECONFIG', 'swanctl', '${BPN}.service', '', d)} ${BPN}-starter.service" diff --git a/meta-openembedded/meta-networking/recipes-support/stunnel/stunnel_5.55.bb b/meta-openembedded/meta-networking/recipes-support/stunnel/stunnel_5.55.bb deleted file mode 100644 index df455dbe30..0000000000 --- a/meta-openembedded/meta-networking/recipes-support/stunnel/stunnel_5.55.bb +++ /dev/null @@ -1,37 +0,0 @@ -SUMMARY = "Program for providing universal TLS/SSL tunneling service" -DESCRIPTION = "SSL encryption wrapper between remote client and local (inetd-startable) or remote server." -HOMEPAGE = "https://www.stunnel.org/" -SECTION = "net" -# Note: Linking stunnel statically or dynamically with other modules is making -# a combined work based on stunnel. Thus, the terms and conditions of the GNU -# General Public License cover the whole combination. -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=c7acb24399f540ea323acb0366aecdbe" - -DEPENDS = "autoconf-archive libnsl2 openssl" - -SRC_URI = "ftp://ftp.stunnel.org/stunnel/archive/5.x/${BP}.tar.gz \ - file://fix-openssl-no-des.patch \ -" - -SRC_URI[md5sum] = "7b41592034ede114e8c4e058fc8c238b" -SRC_URI[sha256sum] = "90de69f41c58342549e74c82503555a6426961b29af3ed92f878192727074c62" - -inherit autotools - -PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6 systemd', d)} libwrap" - -PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6," -PACKAGECONFIG[libwrap] = "--enable-libwrap,--disable-libwrap,tcp-wrappers" -PACKAGECONFIG[systemd] = "--enable-systemd,--disable-systemd,systemd" - -EXTRA_OECONF += "--with-ssl='${STAGING_EXECPREFIXDIR}' --disable-fips" - -# When cross compiling, configure defaults to nobody, but provides no option to change it. -EXTRA_OEMAKE += "DEFAULT_GROUP='nogroup'" - -# stunnel3 is a Perl wrapper to allow use of the legacy stunnel 3.x commandline -# syntax with stunnel >= 4.05 -PACKAGES =+ "stunnel3" -FILES_stunnel3 = "${bindir}/stunnel3" -RDEPENDS_stunnel3 += "${PN} perl" diff --git a/meta-openembedded/meta-networking/recipes-support/stunnel/stunnel_5.56.bb b/meta-openembedded/meta-networking/recipes-support/stunnel/stunnel_5.56.bb new file mode 100644 index 0000000000..3411e5d0c7 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-support/stunnel/stunnel_5.56.bb @@ -0,0 +1,37 @@ +SUMMARY = "Program for providing universal TLS/SSL tunneling service" +DESCRIPTION = "SSL encryption wrapper between remote client and local (inetd-startable) or remote server." +HOMEPAGE = "https://www.stunnel.org/" +SECTION = "net" +# Note: Linking stunnel statically or dynamically with other modules is making +# a combined work based on stunnel. Thus, the terms and conditions of the GNU +# General Public License cover the whole combination. +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING.md;md5=d6d635d290ba1705821254a0278f1ef7" + +DEPENDS = "autoconf-archive libnsl2 openssl" + +SRC_URI = "ftp://ftp.stunnel.org/stunnel/archive/5.x/${BP}.tar.gz \ + file://fix-openssl-no-des.patch \ +" + +SRC_URI[md5sum] = "01b0ca9e071f582ff803a85d5ed72166" +SRC_URI[sha256sum] = "7384bfb356b9a89ddfee70b5ca494d187605bb516b4fff597e167f97e2236b22" + +inherit autotools + +PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6 systemd', d)} libwrap" + +PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6," +PACKAGECONFIG[libwrap] = "--enable-libwrap,--disable-libwrap,tcp-wrappers" +PACKAGECONFIG[systemd] = "--enable-systemd,--disable-systemd,systemd" + +EXTRA_OECONF += "--with-ssl='${STAGING_EXECPREFIXDIR}' --disable-fips" + +# When cross compiling, configure defaults to nobody, but provides no option to change it. +EXTRA_OEMAKE += "DEFAULT_GROUP='nogroup'" + +# stunnel3 is a Perl wrapper to allow use of the legacy stunnel 3.x commandline +# syntax with stunnel >= 4.05 +PACKAGES =+ "stunnel3" +FILES_stunnel3 = "${bindir}/stunnel3" +RDEPENDS_stunnel3 += "${PN} perl" diff --git a/meta-openembedded/meta-networking/recipes-support/tinyproxy/tinyproxy/tinyproxy.conf b/meta-openembedded/meta-networking/recipes-support/tinyproxy/tinyproxy/tinyproxy.conf new file mode 100644 index 0000000000..4ca18efa56 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-support/tinyproxy/tinyproxy/tinyproxy.conf @@ -0,0 +1,330 @@ +## +## tinyproxy.conf -- tinyproxy daemon configuration file +## +## This example tinyproxy.conf file contains example settings +## with explanations in comments. For decriptions of all +## parameters, see the tinproxy.conf(5) manual page. +## + +# +# User/Group: This allows you to set the user and group that will be +# used for tinyproxy after the initial binding to the port has been done +# as the root user. Either the user or group name or the UID or GID +# number may be used. +# +User tinyproxy +Group nogroup + +# +# Port: Specify the port which tinyproxy will listen on. Please note +# that should you choose to run on a port lower than 1024 you will need +# to start tinyproxy using root. +# +Port 8888 + +# +# Listen: If you have multiple interfaces this allows you to bind to +# only one. If this is commented out, tinyproxy will bind to all +# interfaces present. +# +#Listen 192.168.0.1 + +# +# Bind: This allows you to specify which interface will be used for +# outgoing connections. This is useful for multi-home'd machines where +# you want all traffic to appear outgoing from one particular interface. +# +#Bind 192.168.0.1 + +# +# BindSame: If enabled, tinyproxy will bind the outgoing connection to the +# ip address of the incoming connection. +# +#BindSame yes + +# +# Timeout: The maximum number of seconds of inactivity a connection is +# allowed to have before it is closed by tinyproxy. +# +Timeout 600 + +# +# ErrorFile: Defines the HTML file to send when a given HTTP error +# occurs. You will probably need to customize the location to your +# particular install. The usual locations to check are: +# /usr/local/share/tinyproxy +# /usr/share/tinyproxy +# /etc/tinyproxy +# +#ErrorFile 404 "/usr/share/tinyproxy/404.html" +#ErrorFile 400 "/usr/share/tinyproxy/400.html" +#ErrorFile 503 "/usr/share/tinyproxy/503.html" +#ErrorFile 403 "/usr/share/tinyproxy/403.html" +#ErrorFile 408 "/usr/share/tinyproxy/408.html" + +# +# DefaultErrorFile: The HTML file that gets sent if there is no +# HTML file defined with an ErrorFile keyword for the HTTP error +# that has occured. +# +DefaultErrorFile "/usr/share/tinyproxy/default.html" + +# +# StatHost: This configures the host name or IP address that is treated +# as the stat host: Whenever a request for this host is received, +# Tinyproxy will return an internal statistics page instead of +# forwarding the request to that host. The default value of StatHost is +# tinyproxy.stats. +# +#StatHost "tinyproxy.stats" +# + +# +# StatFile: The HTML file that gets sent when a request is made +# for the stathost. If this file doesn't exist a basic page is +# hardcoded in tinyproxy. +# +StatFile "/usr/share/tinyproxy/stats.html" + +# +# LogFile: Allows you to specify the location where information should +# be logged to. If you would prefer to log to syslog, then disable this +# and enable the Syslog directive. These directives are mutually +# exclusive. +# +#LogFile "/var/log/tinyproxy/tinyproxy.log" + +# +# Syslog: Tell tinyproxy to use syslog instead of a logfile. This +# option must not be enabled if the Logfile directive is being used. +# These two directives are mutually exclusive. +# +#Syslog On + +# +# LogLevel: +# +# Set the logging level. Allowed settings are: +# Critical (least verbose) +# Error +# Warning +# Notice +# Connect (to log connections without Info's noise) +# Info (most verbose) +# +# The LogLevel logs from the set level and above. For example, if the +# LogLevel was set to Warning, then all log messages from Warning to +# Critical would be output, but Notice and below would be suppressed. +# +LogLevel Info + +# +# PidFile: Write the PID of the main tinyproxy thread to this file so it +# can be used for signalling purposes. +# +PidFile "/var/run/tinyproxy/tinyproxy.pid" + +# +# XTinyproxy: Tell Tinyproxy to include the X-Tinyproxy header, which +# contains the client's IP address. +# +#XTinyproxy Yes + +# +# Upstream: +# +# Turns on upstream proxy support. +# +# The upstream rules allow you to selectively route upstream connections +# based on the host/domain of the site being accessed. +# +# For example: +# # connection to test domain goes through testproxy +# upstream testproxy:8008 ".test.domain.invalid" +# upstream testproxy:8008 ".our_testbed.example.com" +# upstream testproxy:8008 "192.168.128.0/255.255.254.0" +# +# # no upstream proxy for internal websites and unqualified hosts +# no upstream ".internal.example.com" +# no upstream "www.example.com" +# no upstream "10.0.0.0/8" +# no upstream "192.168.0.0/255.255.254.0" +# no upstream "." +# +# # connection to these boxes go through their DMZ firewalls +# upstream cust1_firewall:8008 "testbed_for_cust1" +# upstream cust2_firewall:8008 "testbed_for_cust2" +# +# # default upstream is internet firewall +# upstream firewall.internal.example.com:80 +# +# The LAST matching rule wins the route decision. As you can see, you +# can use a host, or a domain: +# name matches host exactly +# .name matches any host in domain "name" +# . matches any host with no domain (in 'empty' domain) +# IP/bits matches network/mask +# IP/mask matches network/mask +# +#Upstream some.remote.proxy:port + +# +# MaxClients: This is the absolute highest number of threads which will +# be created. In other words, only MaxClients number of clients can be +# connected at the same time. +# +MaxClients 100 + +# +# MinSpareServers/MaxSpareServers: These settings set the upper and +# lower limit for the number of spare servers which should be available. +# +# If the number of spare servers falls below MinSpareServers then new +# server processes will be spawned. If the number of servers exceeds +# MaxSpareServers then the extras will be killed off. +# +MinSpareServers 5 +MaxSpareServers 20 + +# +# StartServers: The number of servers to start initially. +# +StartServers 10 + +# +# MaxRequestsPerChild: The number of connections a thread will handle +# before it is killed. In practise this should be set to 0, which +# disables thread reaping. If you do notice problems with memory +# leakage, then set this to something like 10000. +# +MaxRequestsPerChild 0 + +# +# Allow: Customization of authorization controls. If there are any +# access control keywords then the default action is to DENY. Otherwise, +# the default action is ALLOW. +# +# The order of the controls are important. All incoming connections are +# tested against the controls based on order. +# +Allow 127.0.0.1 + +# +# AddHeader: Adds the specified headers to outgoing HTTP requests that +# Tinyproxy makes. Note that this option will not work for HTTPS +# traffic, as Tinyproxy has no control over what headers are exchanged. +# +#AddHeader "X-My-Header" "Powered by Tinyproxy" + +# +# ViaProxyName: The "Via" header is required by the HTTP RFC, but using +# the real host name is a security concern. If the following directive +# is enabled, the string supplied will be used as the host name in the +# Via header; otherwise, the server's host name will be used. +# +ViaProxyName "tinyproxy" + +# +# DisableViaHeader: When this is set to yes, Tinyproxy does NOT add +# the Via header to the requests. This virtually puts Tinyproxy into +# stealth mode. Note that RFC 2616 requires proxies to set the Via +# header, so by enabling this option, you break compliance. +# Don't disable the Via header unless you know what you are doing... +# +#DisableViaHeader Yes + +# +# Filter: This allows you to specify the location of the filter file. +# +#Filter "/etc/filter" + +# +# FilterURLs: Filter based on URLs rather than domains. +# +#FilterURLs On + +# +# FilterExtended: Use POSIX Extended regular expressions rather than +# basic. +# +#FilterExtended On + +# +# FilterCaseSensitive: Use case sensitive regular expressions. +# +#FilterCaseSensitive On + +# +# FilterDefaultDeny: Change the default policy of the filtering system. +# If this directive is commented out, or is set to "No" then the default +# policy is to allow everything which is not specifically denied by the +# filter file. +# +# However, by setting this directive to "Yes" the default policy becomes +# to deny everything which is _not_ specifically allowed by the filter +# file. +# +#FilterDefaultDeny Yes + +# +# Anonymous: If an Anonymous keyword is present, then anonymous proxying +# is enabled. The headers listed are allowed through, while all others +# are denied. If no Anonymous keyword is present, then all headers are +# allowed through. You must include quotes around the headers. +# +# Most sites require cookies to be enabled for them to work correctly, so +# you will need to allow Cookies through if you access those sites. +# +#Anonymous "Host" +#Anonymous "Authorization" +#Anonymous "Cookie" + +# +# ConnectPort: This is a list of ports allowed by tinyproxy when the +# CONNECT method is used. To disable the CONNECT method altogether, set +# the value to 0. If no ConnectPort line is found, all ports are +# allowed (which is not very secure.) +# +# The following two ports are used by SSL. +# +ConnectPort 443 +ConnectPort 563 + +# +# Configure one or more ReversePath directives to enable reverse proxy +# support. With reverse proxying it's possible to make a number of +# sites appear as if they were part of a single site. +# +# If you uncomment the following two directives and run tinyproxy +# on your own computer at port 8888, you can access Google using +# http://localhost:8888/google/ and Wired News using +# http://localhost:8888/wired/news/. Neither will actually work +# until you uncomment ReverseMagic as they use absolute linking. +# +#ReversePath "/google/" "http://www.google.com/" +#ReversePath "/wired/" "http://www.wired.com/" + +# +# When using tinyproxy as a reverse proxy, it is STRONGLY recommended +# that the normal proxy is turned off by uncommenting the next directive. +# +#ReverseOnly Yes + +# +# Use a cookie to track reverse proxy mappings. If you need to reverse +# proxy sites which have absolute links you must uncomment this. +# +#ReverseMagic Yes + +# +# The URL that's used to access this reverse proxy. The URL is used to +# rewrite HTTP redirects so that they won't escape the proxy. If you +# have a chain of reverse proxies, you'll need to put the outermost +# URL here (the address which the end user types into his/her browser). +# +# If not set then no rewriting occurs. +# +#ReverseBaseURL "http://localhost:8888/" + + + diff --git a/meta-openembedded/meta-networking/recipes-support/tinyproxy/tinyproxy/tinyproxy.service b/meta-openembedded/meta-networking/recipes-support/tinyproxy/tinyproxy/tinyproxy.service index df42745731..78df437f68 100644 --- a/meta-openembedded/meta-networking/recipes-support/tinyproxy/tinyproxy/tinyproxy.service +++ b/meta-openembedded/meta-networking/recipes-support/tinyproxy/tinyproxy/tinyproxy.service @@ -3,12 +3,12 @@ Description=Tinyproxy, Lightweight http(s) proxy daemon RequiresMountsFor=/var [Service] -Group=tinyproxy ExecStartPre=/bin/mkdir -p /var/log/tinyproxy -ExecStartPre=/bin/chown -R nobody.tinyproxy /var/log/tinyproxy +ExecStartPre=/bin/chown -R tinyproxy.nogroup /var/log/tinyproxy ExecStartPre=/bin/mkdir -p /var/run/tinyproxy -ExecStartPre=/bin/chown -R nobody.tinyproxy /var/run/tinyproxy +ExecStartPre=/bin/chown -R tinyproxy.nogroup /var/run/tinyproxy ExecStart=/usr/bin/tinyproxy -d +PIDFile=/var/run/tinyproxy/tinyproxy.pid [Install] WantedBy=multi-user.target diff --git a/meta-openembedded/meta-networking/recipes-support/tinyproxy/tinyproxy_1.10.0.bb b/meta-openembedded/meta-networking/recipes-support/tinyproxy/tinyproxy_1.10.0.bb index 144dcf33ac..7d97f52a78 100644 --- a/meta-openembedded/meta-networking/recipes-support/tinyproxy/tinyproxy_1.10.0.bb +++ b/meta-openembedded/meta-networking/recipes-support/tinyproxy/tinyproxy_1.10.0.bb @@ -4,8 +4,10 @@ LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/${PV}/${BP}.tar.gz \ - file://disable-documentation.patch \ - file://tinyproxy.service" + file://disable-documentation.patch \ + file://tinyproxy.service \ + file://tinyproxy.conf \ + " SRC_URI[md5sum] = "423047c8dc53a15e19f78e238198549c" SRC_URI[sha256sum] = "6020955e6a0ef0ef898ad5bb17a448c47f9e4c003c464b4ae7c4dba063272055" @@ -23,7 +25,7 @@ inherit autotools systemd useradd #User specific USERADD_PACKAGES = "${PN}" USERADD_PARAM_${PN} = "--system --home /dev/null \ - --no-user-group --gid nogroup tinypoxy" + --no-user-group --gid nogroup tinyproxy" SYSTEMD_PACKAGES += "${BPN}" SYSTEMD_SERVICE_${PN} = "tinyproxy.service" @@ -34,4 +36,5 @@ do_install_append() { install -d ${D}${systemd_system_unitdir} install -m 0644 ${WORKDIR}/tinyproxy.service ${D}${systemd_system_unitdir} fi + install -m 0644 ${WORKDIR}/tinyproxy.conf ${D}${sysconfdir}/tinyproxy.conf } diff --git a/meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_3.0.6.bb b/meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_3.0.6.bb deleted file mode 100644 index ccaa0c94a3..0000000000 --- a/meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_3.0.6.bb +++ /dev/null @@ -1,81 +0,0 @@ -DESCRIPTION = "wireshark - a popular network protocol analyzer" -HOMEPAGE = "http://www.wireshark.org" -SECTION = "net" -LICENSE = "GPL-2.0" -LIC_FILES_CHKSUM = "file://COPYING;md5=6e271234ba1a13c6e512e76b94ac2f77" - -DEPENDS = "pcre expat glib-2.0 glib-2.0-native libgcrypt libgpg-error libxml2 bison-native" - -DEPENDS_append_class-target = " wireshark-native chrpath-replacement-native " - -SRC_URI = "https://1.eu.dl.wireshark.org/src/all-versions/wireshark-${PV}.tar.xz" - -UPSTREAM_CHECK_URI = "https://1.as.dl.wireshark.org/src" - -SRC_URI[md5sum] = "c6f8d12a3efe21cc7885f7cb0c4bd938" -SRC_URI[sha256sum] = "a87f4022a0c15ddbf1730bf1acafce9e75a4e657ce9fa494ceda0324c0c3e33e" - -PE = "1" - -inherit cmake pkgconfig python3native perlnative upstream-version-is-even - -PACKAGECONFIG ?= "libpcap gnutls libnl libcap sbc ${@bb.utils.contains('BBFILE_COLLECTIONS', 'qt5-layer', 'qt5', '', d)}" - -PACKAGECONFIG_class-native = "libpcap gnutls ssl libssh" - -PACKAGECONFIG[libcap] = "-DENABLE_CAP=ON,-DENABLE_CAP=OFF -DENABLE_PCAP_NG_DEFAULT=ON, libcap" -PACKAGECONFIG[libpcap] = "-DENABLE_PCAP=ON,-DENABLE_PCAP=OFF -DENABLE_PCAP_NG_DEFAULT=ON , libpcap" -PACKAGECONFIG[libsmi] = "-DENABLE_SMI=ON,-DENABLE_SMI=OFF,libsmi" -PACKAGECONFIG[libnl] = ",,libnl" -PACKAGECONFIG[portaudio] = "-DENABLE_PORTAUDIO=ON,-DENABLE_PORTAUDIO=OFF, portaudio-v19" -PACKAGECONFIG[gnutls] = "-DENABLE_GNUTLS=ON,-DENABLE_GNUTLS=OFF, gnutls" -PACKAGECONFIG[ssl] = ",,openssl" -PACKAGECONFIG[krb5] = "-DENABLE_KRB5=ON,-DENABLE_KRB5=OFF, krb5" -PACKAGECONFIG[lua] = "-DENABLE_LUA=ON,-DENABLE_LUA=OFF, lua" -PACKAGECONFIG[zlib] = "-DENABLE_ZLIB=ON,-DENABLE_ZLIB=OFF, zlib" -PACKAGECONFIG[geoip] = ",, geoip" -PACKAGECONFIG[plugins] = "-DENABLE_PLUGINS=ON,-DENABLE_PLUGINS=OFF" -PACKAGECONFIG[sbc] = "-DENABLE_SBC=ON,-DENABLE_SBC=OFF, sbc" -PACKAGECONFIG[libssh] = ",,libssh2" -PACKAGECONFIG[lz4] = "-DENABLE_LZ4=ON,-DENABLE_LZ4=OFF, lz4" - -# these next two options require addional layers -PACKAGECONFIG[c-ares] = "-DENABLE_CARES=ON,-DENABLE_CARES=OFF, c-ares" -PACKAGECONFIG[qt5] = "-DENABLE_QT5=ON -DBUILD_wireshark=ON, -DENABLE_QT5=OFF -DBUILD_wireshark=OFF, qttools-native qtmultimedia qtsvg" - -inherit ${@bb.utils.contains('PACKAGECONFIG', 'qt5', 'cmake_qt5', '', d)} - -EXTRA_OECMAKE += "-DENABLE_NETLINK=ON \ - -DBUILD_mmdbresolve=OFF \ - -DBUILD_randpktdump=OFF \ - -DBUILD_androiddump=OFF \ - -DBUILD_dcerpcidl2wrs=OFF \ - -DM_INCLUDE_DIR=${includedir} \ - -DM_LIBRARY=${libdir} \ - " -CFLAGS_append = " -lm" - -do_install_append_class-native() { - install -d ${D}${bindir} - for f in lemon - do - install -m 0755 ${B}/run/$f ${D}${bindir} - done -} - -do_install_append_class-target() { - for f in `find ${D}${libdir} ${D}${bindir} -type f -executable` - do - chrpath --delete $f - done -} - -PACKAGE_BEFORE_PN += "tshark" - -FILES_tshark = "${bindir}/tshark ${mandir}/man1/tshark.*" - -FILES_${PN} += "${datadir}*" - -RDEPENDS_tshark = "wireshark" - -BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_3.2.0.bb b/meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_3.2.0.bb new file mode 100644 index 0000000000..df46b33263 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_3.2.0.bb @@ -0,0 +1,81 @@ +DESCRIPTION = "wireshark - a popular network protocol analyzer" +HOMEPAGE = "http://www.wireshark.org" +SECTION = "net" +LICENSE = "GPL-2.0" +LIC_FILES_CHKSUM = "file://COPYING;md5=6e271234ba1a13c6e512e76b94ac2f77" + +DEPENDS = "pcre expat glib-2.0 glib-2.0-native libgcrypt libgpg-error libxml2 bison-native" + +DEPENDS_append_class-target = " wireshark-native chrpath-replacement-native " + +SRC_URI = "https://1.eu.dl.wireshark.org/src/all-versions/wireshark-${PV}.tar.xz" + +UPSTREAM_CHECK_URI = "https://1.as.dl.wireshark.org/src" + +SRC_URI[md5sum] = "259915adbbaded15de075afe7b4b03b6" +SRC_URI[sha256sum] = "4cfd33a19a454ff4002243e9d04d6afd64280a109a21ae652a192f2be2b1b66c" + +PE = "1" + +inherit cmake pkgconfig python3native perlnative upstream-version-is-even + +PACKAGECONFIG ?= "libpcap gnutls libnl libcap sbc ${@bb.utils.contains('BBFILE_COLLECTIONS', 'qt5-layer', 'qt5 plugins', '', d)}" + +PACKAGECONFIG_class-native = "libpcap gnutls ssl libssh" + +PACKAGECONFIG[libcap] = "-DENABLE_CAP=ON,-DENABLE_CAP=OFF -DENABLE_PCAP_NG_DEFAULT=ON, libcap" +PACKAGECONFIG[libpcap] = "-DENABLE_PCAP=ON,-DENABLE_PCAP=OFF -DENABLE_PCAP_NG_DEFAULT=ON , libpcap" +PACKAGECONFIG[libsmi] = "-DENABLE_SMI=ON,-DENABLE_SMI=OFF,libsmi" +PACKAGECONFIG[libnl] = ",,libnl" +PACKAGECONFIG[portaudio] = "-DENABLE_PORTAUDIO=ON,-DENABLE_PORTAUDIO=OFF, portaudio-v19" +PACKAGECONFIG[gnutls] = "-DENABLE_GNUTLS=ON,-DENABLE_GNUTLS=OFF, gnutls" +PACKAGECONFIG[ssl] = ",,openssl" +PACKAGECONFIG[krb5] = "-DENABLE_KRB5=ON,-DENABLE_KRB5=OFF, krb5" +PACKAGECONFIG[lua] = "-DENABLE_LUA=ON,-DENABLE_LUA=OFF, lua" +PACKAGECONFIG[zlib] = "-DENABLE_ZLIB=ON,-DENABLE_ZLIB=OFF, zlib" +PACKAGECONFIG[geoip] = ",, geoip" +PACKAGECONFIG[plugins] = "-DENABLE_PLUGINS=ON,-DENABLE_PLUGINS=OFF" +PACKAGECONFIG[sbc] = "-DENABLE_SBC=ON,-DENABLE_SBC=OFF, sbc" +PACKAGECONFIG[libssh] = ",,libssh2" +PACKAGECONFIG[lz4] = "-DENABLE_LZ4=ON,-DENABLE_LZ4=OFF, lz4" + +# these next two options require addional layers +PACKAGECONFIG[c-ares] = "-DENABLE_CARES=ON,-DENABLE_CARES=OFF, c-ares" +PACKAGECONFIG[qt5] = "-DENABLE_QT5=ON -DBUILD_wireshark=ON, -DENABLE_QT5=OFF -DBUILD_wireshark=OFF, qttools-native qtmultimedia qtsvg" + +inherit ${@bb.utils.contains('PACKAGECONFIG', 'qt5', 'cmake_qt5', '', d)} + +EXTRA_OECMAKE += "-DENABLE_NETLINK=ON \ + -DBUILD_mmdbresolve=OFF \ + -DBUILD_randpktdump=OFF \ + -DBUILD_androiddump=OFF \ + -DBUILD_dcerpcidl2wrs=OFF \ + -DM_INCLUDE_DIR=${includedir} \ + -DM_LIBRARY=${libdir} \ + " +CFLAGS_append = " -lm" + +do_install_append_class-native() { + install -d ${D}${bindir} + for f in lemon + do + install -m 0755 ${B}/run/$f ${D}${bindir} + done +} + +do_install_append_class-target() { + for f in `find ${D}${libdir} ${D}${bindir} -type f -executable` + do + chrpath --delete $f + done +} + +PACKAGE_BEFORE_PN += "tshark" + +FILES_tshark = "${bindir}/tshark ${mandir}/man1/tshark.*" + +FILES_${PN} += "${datadir}*" + +RDEPENDS_tshark = "wireshark" + +BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-oe/recipes-benchmark/iozone3/iozone3_487.bb b/meta-openembedded/meta-oe/recipes-benchmark/iozone3/iozone3_487.bb deleted file mode 100644 index 42864beada..0000000000 --- a/meta-openembedded/meta-oe/recipes-benchmark/iozone3/iozone3_487.bb +++ /dev/null @@ -1,119 +0,0 @@ -SUMMARY = "Filesystem and Disk Benchmarking Tool" -HOMEPAGE = "http://www.iozone.org/" -AUTHOR = "Don Capps , William D. Norcott " -SECTION = "console/tests" -LICENSE = "iozone3" -LIC_FILES_CHKSUM = "file://iozone.c;beginline=37;endline=48;md5=7331260091868dcad0f9edea735b5f4b \ - file://iozone.c;beginline=276;endline=282;md5=77f9ee51e45b57a7e7519c4fa0b4f00b \ -" -SRC_URI = "http://www.iozone.org/src/current/${BPN}_${PV}.tar \ - file://parallelism.patch \ - file://copyright.txt \ -" -SRC_URI[md5sum] = "2dbe035caf99c5367625352e158bb866" -SRC_URI[sha256sum] = "2c488a7ccddd624fd557af16e71442c367b131d6178e1b4023bbd532bacdda59" - -UPSTREAM_CHECK_REGEX = "iozone3_(?P\d+).tar" - -S = "${WORKDIR}/${BPN}_${PV}/src/current/" - -# -# All other arches can use the default OEMAKE except those -# explicitly listed below. Another, the iozone3 Makefile -# needs to be told about the cross-compiler explicitly here. -# -EXTRA_OEMAKE_powerpc = "linux-powerpc CC='${CC}' GCC='${CC}'" -EXTRA_OEMAKE_powerpc64 = "linux-powerpc64 CC='${CC}' GCC='${CC}'" -EXTRA_OEMAKE_x86-64 = "linux-AMD64 CC='${CC}' GCC='${CC}'" -EXTRA_OEMAKE_arm = "linux-arm CC='${CC}' GCC='${CC}'" -EXTRA_OEMAKE = "linux CC='${CC}' GCC='${CC}'" - -TARGET_CC_ARCH += "${LDFLAGS}" - -do_install() { - install -d ${D}${bindir} \ - ${D}${mandir}/man1 \ - ${D}${datadir}/doc/${BPN}/examples - - install -m 0755 ${S}/iozone ${D}${bindir} - install -m 0755 ${S}/fileop ${D}${bindir} - install -m 0644 ${WORKDIR}/${BPN}_${PV}/docs/iozone.1 ${D}${mandir}/man1/ - install -m 0644 ${WORKDIR}/copyright.txt ${D}${datadir}/doc/${BPN}/ - - install -m 0644 ${S}/*.dem ${D}${datadir}/doc/${BPN}/examples - install -m 0644 ${S}/client_list ${D}${datadir}/doc/${BPN}/examples - install -m 0644 ${S}/Gnuplot.txt ${D}${datadir}/doc/${BPN}/examples - - install -m 0755 ${S}/Generate_Graphs ${D}${datadir}/doc/${BPN}/examples - install -m 0755 ${S}/gengnuplot.sh ${D}${datadir}/doc/${BPN}/examples - install -m 0755 ${S}/report.pl ${D}${datadir}/doc/${BPN}/examples - - install -m 0644 ${WORKDIR}/${BPN}_${PV}/docs/Iozone_ps.gz ${D}${datadir}/doc/${BPN}/ - install -m 0644 ${WORKDIR}/${BPN}_${PV}/docs/IOzone_msword_98.pdf ${D}${datadir}/doc/${BPN}/ - install -m 0644 ${WORKDIR}/${BPN}_${PV}/docs/Run_rules.doc ${D}${datadir}/doc/${BPN}/ -} - -FILES_${PN} += "${datadir}/doc/${PN}/copyright.txt" - -# LICENSE: -# -# Copyright 1991, 1992, 1994, 1998, 1999, 2002 William D. Norcott -# -# License to freely use and distribute this software is hereby granted -# by the author, subject to the condition that this copyright notice -# remains intact. The author retains the exclusive right to publish -# derivative works based on this work, including, but not limited to -# revised versions of this work. -# - -# -# Below is author reply to question about distributing iozone3 in -# OpenEmbedded: -# -# ======================================================================== -# -# Marcin, -# -# Re-distribution is permitted as long as the copyright is -# maintained and the source code is not changed. I do not -# see a problem with your mods to enable fileop for Linux-arm, -# as these mods have been returned to the Iozone folks, -# and they have been accepted for inclusion in the next -# release :-) -# -# Thank you for your contribution, -# Don Capps -# -# ----- Original Message ----- -# From: "Marcin Juszkiewicz" -# To: "Don Capps" ; "William D. Norcott" -# -# Sent: Sunday, October 29, 2006 4:55 PM -# Subject: iozone3 263 patch for arm and License question -# -# -# > Morning -# > -# > I want to include iozone3 in OpenEmbedded [1] metadata to give it for -# > other developers. Currently OE is used to build few distributions for -# > misc platforms: ARM, SH3, SH4, x86, PowerPC and different types of -# > machines (PDA, settopbox, devboards, desktops, thin clients, routers). -# > -# > According to your distribution of derivations is forbidden. Packaging -# > iozone3 in OpenEmbedded will not involve any source code changes. But -# > when I was building it for ARM I discovered that fileop binary was not -# > built - so I created patch for it (attached). Not yet tested it on target -# > device. -# > -# > Thus, I seek your written permission via e-mail to distribute a package of -# > the unmodified source code and also a package of the pre-compiled binary. -# > Your copyright statement will be included in the package. -# > -# > -# > 1. http://www.openembedded.org/ -# > -# > Regards -# > -- -# > JID: hrw-jabber.org -# > OpenEmbedded developer/consultant - diff --git a/meta-openembedded/meta-oe/recipes-benchmark/iozone3/iozone3_488.bb b/meta-openembedded/meta-oe/recipes-benchmark/iozone3/iozone3_488.bb new file mode 100644 index 0000000000..5885b145e9 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-benchmark/iozone3/iozone3_488.bb @@ -0,0 +1,119 @@ +SUMMARY = "Filesystem and Disk Benchmarking Tool" +HOMEPAGE = "http://www.iozone.org/" +AUTHOR = "Don Capps , William D. Norcott " +SECTION = "console/tests" +LICENSE = "iozone3" +LIC_FILES_CHKSUM = "file://iozone.c;beginline=37;endline=48;md5=7331260091868dcad0f9edea735b5f4b \ + file://iozone.c;beginline=276;endline=282;md5=77f9ee51e45b57a7e7519c4fa0b4f00b \ +" +SRC_URI = "http://www.iozone.org/src/current/${BPN}_${PV}.tar \ + file://parallelism.patch \ + file://copyright.txt \ +" +SRC_URI[md5sum] = "d60a69e44cda8436f4f94d860958efc2" +SRC_URI[sha256sum] = "960265163d93f15f7ad352f726d4837c5dd794fff357c743fdb56cbcf4abca04" + +UPSTREAM_CHECK_REGEX = "iozone3_(?P\d+).tar" + +S = "${WORKDIR}/${BPN}_${PV}/src/current/" + +# +# All other arches can use the default OEMAKE except those +# explicitly listed below. Another, the iozone3 Makefile +# needs to be told about the cross-compiler explicitly here. +# +EXTRA_OEMAKE_powerpc = "linux-powerpc CC='${CC}' GCC='${CC}'" +EXTRA_OEMAKE_powerpc64 = "linux-powerpc64 CC='${CC}' GCC='${CC}'" +EXTRA_OEMAKE_x86-64 = "linux-AMD64 CC='${CC}' GCC='${CC}'" +EXTRA_OEMAKE_arm = "linux-arm CC='${CC}' GCC='${CC}'" +EXTRA_OEMAKE = "linux CC='${CC}' GCC='${CC}'" + +TARGET_CC_ARCH += "${LDFLAGS}" + +do_install() { + install -d ${D}${bindir} \ + ${D}${mandir}/man1 \ + ${D}${datadir}/doc/${BPN}/examples + + install -m 0755 ${S}/iozone ${D}${bindir} + install -m 0755 ${S}/fileop ${D}${bindir} + install -m 0644 ${WORKDIR}/${BPN}_${PV}/docs/iozone.1 ${D}${mandir}/man1/ + install -m 0644 ${WORKDIR}/copyright.txt ${D}${datadir}/doc/${BPN}/ + + install -m 0644 ${S}/*.dem ${D}${datadir}/doc/${BPN}/examples + install -m 0644 ${S}/client_list ${D}${datadir}/doc/${BPN}/examples + install -m 0644 ${S}/Gnuplot.txt ${D}${datadir}/doc/${BPN}/examples + + install -m 0755 ${S}/Generate_Graphs ${D}${datadir}/doc/${BPN}/examples + install -m 0755 ${S}/gengnuplot.sh ${D}${datadir}/doc/${BPN}/examples + install -m 0755 ${S}/report.pl ${D}${datadir}/doc/${BPN}/examples + + install -m 0644 ${WORKDIR}/${BPN}_${PV}/docs/Iozone_ps.gz ${D}${datadir}/doc/${BPN}/ + install -m 0644 ${WORKDIR}/${BPN}_${PV}/docs/IOzone_msword_98.pdf ${D}${datadir}/doc/${BPN}/ + install -m 0644 ${WORKDIR}/${BPN}_${PV}/docs/Run_rules.doc ${D}${datadir}/doc/${BPN}/ +} + +FILES_${PN} += "${datadir}/doc/${PN}/copyright.txt" + +# LICENSE: +# +# Copyright 1991, 1992, 1994, 1998, 1999, 2002 William D. Norcott +# +# License to freely use and distribute this software is hereby granted +# by the author, subject to the condition that this copyright notice +# remains intact. The author retains the exclusive right to publish +# derivative works based on this work, including, but not limited to +# revised versions of this work. +# + +# +# Below is author reply to question about distributing iozone3 in +# OpenEmbedded: +# +# ======================================================================== +# +# Marcin, +# +# Re-distribution is permitted as long as the copyright is +# maintained and the source code is not changed. I do not +# see a problem with your mods to enable fileop for Linux-arm, +# as these mods have been returned to the Iozone folks, +# and they have been accepted for inclusion in the next +# release :-) +# +# Thank you for your contribution, +# Don Capps +# +# ----- Original Message ----- +# From: "Marcin Juszkiewicz" +# To: "Don Capps" ; "William D. Norcott" +# +# Sent: Sunday, October 29, 2006 4:55 PM +# Subject: iozone3 263 patch for arm and License question +# +# +# > Morning +# > +# > I want to include iozone3 in OpenEmbedded [1] metadata to give it for +# > other developers. Currently OE is used to build few distributions for +# > misc platforms: ARM, SH3, SH4, x86, PowerPC and different types of +# > machines (PDA, settopbox, devboards, desktops, thin clients, routers). +# > +# > According to your distribution of derivations is forbidden. Packaging +# > iozone3 in OpenEmbedded will not involve any source code changes. But +# > when I was building it for ARM I discovered that fileop binary was not +# > built - so I created patch for it (attached). Not yet tested it on target +# > device. +# > +# > Thus, I seek your written permission via e-mail to distribute a package of +# > the unmodified source code and also a package of the pre-compiled binary. +# > Your copyright statement will be included in the package. +# > +# > +# > 1. http://www.openembedded.org/ +# > +# > Regards +# > -- +# > JID: hrw-jabber.org +# > OpenEmbedded developer/consultant + diff --git a/meta-openembedded/meta-oe/recipes-benchmark/libhugetlbfs/files/0001-run_test.py-not-use-hard-coded-path-.-obj-hugeadm.patch b/meta-openembedded/meta-oe/recipes-benchmark/libhugetlbfs/files/0001-run_test.py-not-use-hard-coded-path-.-obj-hugeadm.patch index 34a62207ec..83934abef8 100644 --- a/meta-openembedded/meta-oe/recipes-benchmark/libhugetlbfs/files/0001-run_test.py-not-use-hard-coded-path-.-obj-hugeadm.patch +++ b/meta-openembedded/meta-oe/recipes-benchmark/libhugetlbfs/files/0001-run_test.py-not-use-hard-coded-path-.-obj-hugeadm.patch @@ -12,6 +12,9 @@ Signed-off-by: Ting Liu Update for 2.22. Signed-off-by: Zheng Ruoqin + +Update to work for python3 +Signed-off-by: Changqing Li --- tests/run_tests.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) @@ -36,7 +39,7 @@ index 018264d..0aabcd1 100755 + return sizes + except OSError: + return sizes -+ out = p.stdout.read().strip() ++ out = p.stdout.read().decode().strip() + if rc != 0 or out == "": return sizes diff --git a/meta-openembedded/meta-oe/recipes-benchmark/phoronix-test-suite/phoronix-test-suite_9.0.1.bb b/meta-openembedded/meta-oe/recipes-benchmark/phoronix-test-suite/phoronix-test-suite_9.0.1.bb deleted file mode 100644 index 89050e4f7e..0000000000 --- a/meta-openembedded/meta-oe/recipes-benchmark/phoronix-test-suite/phoronix-test-suite_9.0.1.bb +++ /dev/null @@ -1,41 +0,0 @@ -SUMMARY = "Phoronix Test Suite" -DESCRIPTION = "The Phoronix Test Suite is designed to carry out both qualitative \ -and quantitative benchmarks in a clean, reproducible, and easy-to-use manner." -LICENSE = "GPLv3" -LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" -SECTION = "console/tests" - -SRC_URI = "http://www.phoronix-test-suite.com/releases/${BP}.tar.gz" -SRC_URI[md5sum] = "58023c8136a0206909552942660fe28a" -SRC_URI[sha256sum] = "a117a4350774e67989d90bf0b5e82a8072652f8caa60a62c3e5f64adc317ce14" - -S = "${WORKDIR}/phoronix-test-suite" - -inherit systemd allarch - -do_install() { - DESTDIR=${D} ./install-sh ${exec_prefix} - - if [ "${systemd_unitdir}" != "/usr/lib/systemd" ]; then - install -d ${D}/${systemd_unitdir}/system/ - mv ${D}/usr/lib/systemd/system/* ${D}/${systemd_unitdir}/system/ - rm -rf ${D}/usr/lib/ - fi -} - -# It is not advisable to enable these services by default since they can cause -# continual target reboots if they encounter network problems. -# -SYSTEMD_AUTO_ENABLE = "disable" -SYSTEMD_SERVICE_${PN} = "phoromatic-client.service phoromatic-server.service" - -RDEPENDS_${PN} += "bash python php-cli util-linux-lscpu os-release lsb-release" - -FILES_${PN} += " \ - ${datadir}/phoronix-test-suite \ - ${datadir}/appdata/phoronix-test-suite.appdata.xml \ - ${datadir}/icons/hicolor/48x48/apps/phoronix-test-suite.png \ - ${datadir}/icons/hicolor/64x64/mimetypes/application-x-openbenchmarking.png \ - ${datadir}/mime/packages/openbenchmarking-mime.xml \ - ${systemd_unitdir}/* \ -" diff --git a/meta-openembedded/meta-oe/recipes-benchmark/phoronix-test-suite/phoronix-test-suite_9.2.1.bb b/meta-openembedded/meta-oe/recipes-benchmark/phoronix-test-suite/phoronix-test-suite_9.2.1.bb new file mode 100644 index 0000000000..52b341b0ed --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-benchmark/phoronix-test-suite/phoronix-test-suite_9.2.1.bb @@ -0,0 +1,41 @@ +SUMMARY = "Phoronix Test Suite" +DESCRIPTION = "The Phoronix Test Suite is designed to carry out both qualitative \ +and quantitative benchmarks in a clean, reproducible, and easy-to-use manner." +LICENSE = "GPLv3" +LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" +SECTION = "console/tests" + +SRC_URI = "http://www.phoronix-test-suite.com/releases/${BP}.tar.gz" +SRC_URI[md5sum] = "ad80ed9a5835929138473f764ff0d5db" +SRC_URI[sha256sum] = "675e7ca96719e2f3b42a6c13421213a398f04da0f8e78f4691fa9261fdeb8501" + +S = "${WORKDIR}/phoronix-test-suite" + +inherit systemd allarch + +do_install() { + DESTDIR=${D} ./install-sh ${exec_prefix} + + if [ "${systemd_unitdir}" != "/usr/lib/systemd" ]; then + install -d ${D}/${systemd_unitdir}/system/ + mv ${D}/usr/lib/systemd/system/* ${D}/${systemd_unitdir}/system/ + rm -rf ${D}/usr/lib/ + fi +} + +# It is not advisable to enable these services by default since they can cause +# continual target reboots if they encounter network problems. +# +SYSTEMD_AUTO_ENABLE = "disable" +SYSTEMD_SERVICE_${PN} = "phoromatic-client.service phoromatic-server.service" + +RDEPENDS_${PN} += "bash python php-cli util-linux-lscpu os-release lsb-release" + +FILES_${PN} += " \ + ${datadir}/phoronix-test-suite \ + ${datadir}/appdata/phoronix-test-suite.appdata.xml \ + ${datadir}/icons/hicolor/48x48/apps/phoronix-test-suite.png \ + ${datadir}/icons/hicolor/64x64/mimetypes/application-x-openbenchmarking.png \ + ${datadir}/mime/packages/openbenchmarking-mime.xml \ + ${systemd_unitdir}/* \ +" diff --git a/meta-openembedded/meta-oe/recipes-benchmark/speedtest-cli/speedtest-cli_2.1.2.bb b/meta-openembedded/meta-oe/recipes-benchmark/speedtest-cli/speedtest-cli_2.1.2.bb new file mode 100644 index 0000000000..de4fa16426 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-benchmark/speedtest-cli/speedtest-cli_2.1.2.bb @@ -0,0 +1,14 @@ +SUMMARY = "Command line interface for testing internet bandwidth using speedtest.net" +AUTHOR = "Matt Martz" + +LICENSE="Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" + +inherit setuptools3 + +SRC_URI = "git://github.com/sivel/speedtest-cli.git" +SRCREV = "c58ad3367bf27f4b4a4d5b1bca29ebd574731c5d" + +S = "${WORKDIR}/git" + +RDEPENDS_${PN} = "python3 python3-setuptools-scm" diff --git a/meta-openembedded/meta-oe/recipes-bsp/nvme-cli/nvme-cli_1.9.bb b/meta-openembedded/meta-oe/recipes-bsp/nvme-cli/nvme-cli_1.9.bb index 92c902b750..ea8bc1738e 100644 --- a/meta-openembedded/meta-oe/recipes-bsp/nvme-cli/nvme-cli_1.9.bb +++ b/meta-openembedded/meta-oe/recipes-bsp/nvme-cli/nvme-cli_1.9.bb @@ -27,7 +27,7 @@ pkg_postinst_ontarget_${PN}() { PACKAGES =+ "${PN}-dracut ${PN}-zsh-completion" FILES_${PN} += "${systemd_system_unitdir}" -FILES_${PN}-dracut = "${libdir}/dracut/dracut.conf.d" +FILES_${PN}-dracut = "${nonarch_libdir}/dracut/dracut.conf.d" FILES_${PN}-zsh-completion = "${datadir}/zsh/site-functions" RDEPENDS_${PN} = "util-linux-uuidgen" diff --git a/meta-openembedded/meta-oe/recipes-bsp/rwmem/rwmem_1.2.bb b/meta-openembedded/meta-oe/recipes-bsp/rwmem/rwmem_1.2.bb index 5d81fdb4dd..065243ccfe 100644 --- a/meta-openembedded/meta-oe/recipes-bsp/rwmem/rwmem_1.2.bb +++ b/meta-openembedded/meta-oe/recipes-bsp/rwmem/rwmem_1.2.bb @@ -15,7 +15,7 @@ DEPENDS += "python3 python3-pybind11" PV .= "+git${SRCPV}" -SRCREV_rwmem = "cc296c5366a35a4c4271cfa3cc9831f6f34bfd9d" +SRCREV_rwmem = "3ec3e421211b58e766651c2e3a3a21acf14a1906" SRCREV_inih = "4b10c654051a86556dfdb634c891b6c3224c4109" SRCREV_FORMAT = "rwmem_inih" diff --git a/meta-openembedded/meta-oe/recipes-connectivity/gattlib/files/0001-cmake-Use-GNUInstallDirs.patch b/meta-openembedded/meta-oe/recipes-connectivity/gattlib/files/0001-cmake-Use-GNUInstallDirs.patch new file mode 100644 index 0000000000..ffe0a00673 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-connectivity/gattlib/files/0001-cmake-Use-GNUInstallDirs.patch @@ -0,0 +1,53 @@ +From 63dc2d0c9384d85482dc4cbb3c179b4b0bb18d4e Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Thu, 19 Dec 2019 22:32:01 -0800 +Subject: [PATCH] cmake: Use GNUInstallDirs + +Helps install cmakefiles in right libdir + +Upstream-Status: Submitted [https://github.com/labapart/gattlib/pull/139] +Signed-off-by: Khem Raj +--- + CMakeLists.txt | 5 +++-- + dbus/CMakeLists.txt | 18 ++++++++++-------- + 2 files changed, 13 insertions(+), 10 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 12d8d71..ded7239 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -152,7 +152,8 @@ endif() + # + # List of file to install + # +-install(FILES include/gattlib.h DESTINATION include) +-install(FILES ${PROJECT_BINARY_DIR}/gattlib.pc DESTINATION lib/pkgconfig) ++include(GNUInstallDirs) ++install(FILES include/gattlib.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) ++install(FILES ${PROJECT_BINARY_DIR}/gattlib.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) + + include(CPack) +diff --git a/dbus/CMakeLists.txt b/dbus/CMakeLists.txt +index f5096ce..cef031f 100644 +--- a/dbus/CMakeLists.txt ++++ b/dbus/CMakeLists.txt +@@ -19,7 +19,7 @@ + # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + # + +-cmake_minimum_required(VERSION 2.6) ++cmake_minimum_required(VERSION 3.0) + + find_package(PkgConfig REQUIRED) + +@@ -119,4 +119,6 @@ endif() + add_library(gattlib SHARED ${gattlib_SRCS}) + target_link_libraries(gattlib ${gattlib_LIBS}) + +-install(TARGETS gattlib LIBRARY DESTINATION lib) ++include(GNUInstallDirs) ++ ++install(TARGETS gattlib LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) +-- +2.24.1 + diff --git a/meta-openembedded/meta-oe/recipes-connectivity/gattlib/gattlib_git.bb b/meta-openembedded/meta-oe/recipes-connectivity/gattlib/gattlib_git.bb index 0e6fce9c91..6b4decce51 100644 --- a/meta-openembedded/meta-oe/recipes-connectivity/gattlib/gattlib_git.bb +++ b/meta-openembedded/meta-oe/recipes-connectivity/gattlib/gattlib_git.bb @@ -9,11 +9,13 @@ DEPENDS += "glib-2.0-native" PV = "0.2+git${SRCPV}" -SRC_URI = "git://github.com/labapart/gattlib.git" -SRC_URI += "file://dbus-avoid-strange-chars-from-the-build-dir.patch" +SRC_URI = "git://github.com/labapart/gattlib.git \ + file://dbus-avoid-strange-chars-from-the-build-dir.patch \ + file://0001-cmake-Use-GNUInstallDirs.patch \ + " SRCBRANCH = "master" -SRCREV = "c6a33252221dff904cf277e085e2ce70aced8788" +SRCREV = "5c7ee43bd70ee09a7170ddd55b9fdbdef69e9080" S = "${WORKDIR}/git" diff --git a/meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd_1.0.bb b/meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd_1.0.bb index d11e0d4ae3..cc34ca2215 100644 --- a/meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd_1.0.bb +++ b/meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd_1.0.bb @@ -28,7 +28,7 @@ do_install_append() { install -m644 ${S}/doc/*.txt ${D}${docdir}/${BPN} } -FILES_${PN} += "${datadir}/dbus-1 ${libdir}/modules-load.d ${systemd_unitdir}/network/" +FILES_${PN} += "${datadir}/dbus-1 ${nonarch_libdir}/modules-load.d ${systemd_unitdir}/network/" SYSTEMD_SERVICE_${PN} = "iwd.service ${@bb.utils.contains('PACKAGECONFIG', 'wired', 'ead.service', '', d)}" diff --git a/meta-openembedded/meta-oe/recipes-connectivity/krb5/krb5_1.17.1.bb b/meta-openembedded/meta-oe/recipes-connectivity/krb5/krb5_1.17.1.bb new file mode 100644 index 0000000000..6164c82480 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-connectivity/krb5/krb5_1.17.1.bb @@ -0,0 +1,192 @@ +SUMMARY = "A network authentication protocol" +DESCRIPTION = "Kerberos is a system for authenticating users and services on a network. \ + Kerberos is a trusted third-party service. That means that there is a \ + third party (the Kerberos server) that is trusted by all the entities on \ + the network (users and services, usually called "principals"). \ + . \ + This is the MIT reference implementation of Kerberos V5. \ + . \ + This package contains the Kerberos key server (KDC). The KDC manages all \ + authentication credentials for a Kerberos realm, holds the master keys \ + for the realm, and responds to authentication requests. This package \ + should be installed on both master and slave KDCs." + +HOMEPAGE = "http://web.mit.edu/Kerberos/" +SECTION = "console/network" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://${S}/../NOTICE;md5=aff541e7261f1926ac6a2a9a7bbab839" +DEPENDS = "bison-native ncurses util-linux e2fsprogs e2fsprogs-native openssl" + +inherit autotools-brokensep binconfig perlnative systemd update-rc.d + +SHRT_VER = "${@oe.utils.trim_version("${PV}", 2)}" +SRC_URI = "http://web.mit.edu/kerberos/dist/${BPN}/${SHRT_VER}/${BP}.tar.gz \ + file://0001-aclocal-Add-parameter-to-disable-keyutils-detection.patch \ + file://debian-suppress-usr-lib-in-krb5-config.patch;striplevel=2 \ + file://crosscompile_nm.patch \ + file://etc/init.d/krb5-kdc \ + file://etc/init.d/krb5-admin-server \ + file://etc/default/krb5-kdc \ + file://etc/default/krb5-admin-server \ + file://krb5-kdc.service \ + file://krb5-admin-server.service \ +" +SRC_URI[md5sum] = "417d654c72526ac51466e7fe84608878" +SRC_URI[sha256sum] = "3706d7ec2eaa773e0e32d3a87bf742ebaecae7d064e190443a3acddfd8afb181" + +CVE_PRODUCT = "kerberos" +CVE_VERSION = "5-${PV}" + +S = "${WORKDIR}/${BP}/src" + +PACKAGECONFIG ??= "pkinit" +PACKAGECONFIG[libedit] = "--with-libedit,--without-libedit,libedit" +PACKAGECONFIG[openssl] = "--with-crypto-impl=openssl,,openssl" +PACKAGECONFIG[keyutils] = "--enable-keyutils,--disable-keyutils,keyutils" +PACKAGECONFIG[ldap] = "--with-ldap,--without-ldap,openldap" +PACKAGECONFIG[readline] = "--with-readline,--without-readline,readline" +PACKAGECONFIG[pkinit] = "--enable-pkinit, --disable-pkinit" + +EXTRA_OECONF += " --without-tcl --with-system-et --disable-rpath" +CACHED_CONFIGUREVARS += "krb5_cv_attr_constructor_destructor=yes ac_cv_func_regcomp=yes \ + ac_cv_printf_positional=yes ac_cv_file__etc_environment=yes \ + ac_cv_file__etc_TIMEZONE=no" + +CFLAGS_append = " -fPIC -DDESTRUCTOR_ATTR_WORKS=1 -I${STAGING_INCDIR}/et" +CFLAGS_append_riscv64 = " -D_REENTRANT -pthread" +LDFLAGS_append = " -pthread" + +do_configure() { + gnu-configize --force + autoreconf + oe_runconf +} + +do_install_append() { + rm -rf ${D}/${localstatedir}/run + rm -f ${D}${bindir}/sclient + rm -f ${D}${bindir}/sim_client + rm -f ${D}${bindir}/uuclient + rm -f ${D}${sbindir}/krb5-send-pr + rm -f ${D}${sbindir}/sim_server + rm -f ${D}${sbindir}/sserver + rm -f ${D}${sbindir}/uuserver + + if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then + mkdir -p ${D}/${sysconfdir}/init.d ${D}/${sysconfdir}/default + install -m 0755 ${WORKDIR}/etc/init.d/* ${D}/${sysconfdir}/init.d + install -m 0644 ${WORKDIR}/etc/default/* ${D}/${sysconfdir}/default + + mkdir -p ${D}/${sysconfdir}/default/volatiles + echo "d root root 0755 ${localstatedir}/run/krb5kdc none" \ + > ${D}${sysconfdir}/default/volatiles/87_krb5 + + echo "RUN_KADMIND=true" >> ${D}/${sysconfdir}/default/krb5-admin-server + fi + if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then + install -d ${D}${sysconfdir}/tmpfiles.d + echo "d /run/krb5kdc - - - -" \ + > ${D}${sysconfdir}/tmpfiles.d/krb5.conf + + mkdir -p ${D}/${sysconfdir}/default + install -m 0644 ${WORKDIR}/etc/default/* ${D}/${sysconfdir}/default + + install -d ${D}${systemd_system_unitdir} + install -m 0644 ${WORKDIR}/krb5-admin-server.service ${D}${systemd_system_unitdir} + install -m 0644 ${WORKDIR}/krb5-kdc.service ${D}${systemd_system_unitdir} + fi +} + +PACKAGES =+ "${PN}-admin-server \ + ${PN}-gss-samples \ + ${PN}-k5tls \ + ${PN}-kdc \ + ${PN}-kdc-ldap \ + ${PN}-kpropd \ + ${PN}-otp \ + ${PN}-pkinit \ + ${PN}-spake \ + ${PN}-user \ + libgssapi-krb5 \ + libgssrpc \ + libk5crypto \ + libkadm5clnt-mit \ + libkadm5srv-mit \ + libkdb5 \ + libkrad \ + libkrb5 \ + libkrb5support \ + libverto" + +FILES_${PN} = "${libdir}/krb5/plugins/preauth/test.so" +FILES_${PN}-doc += "${datadir}/examples" +FILES_${PN}-dbg += "${libdir}/krb5/plugins/*/.debug" + +FILES_${PN}-admin-server = "${sbindir}/kadmin.local \ + ${sbindir}/kadmind \ + ${sbindir}/kprop \ + ${sysconfdir}/default/krb5-admin-server \ + ${sysconfdir}/init.d/krb5-admin-server \ + ${systemd_system_unitdir}/krb5-admin-server.service" + +FILES_${PN}-gss-samples = "${bindir}/gss-client \ + ${sbindir}/gss-server" + +FILES_${PN}-k5tls = "${libdir}/krb5/plugins/tls/k5tls.so" + +FILES_${PN}-kdc = "${libdir}/krb5/plugins/kdb/db2.so \ + ${localstatedir}/krb5kdc \ + ${sbindir}/kdb5_util \ + ${sbindir}/kproplog \ + ${sbindir}/krb5kdc \ + ${sysconfdir}/default/krb5-kdc \ + ${sysconfdir}/default/volatiles/87_krb5 \ + ${sysconfdir}/init.d/krb5-kdc \ + ${sysconfdir}/tmpfiles.d/krb5.conf \ + ${systemd_system_unitdir}/krb5-kdc.service" + +FILES_${PN}-kdc-ldap = "${libdir}/krb5/libkdb_ldap${SOLIBS} \ + ${libdir}/krb5/plugins/kdb/kldap.so \ + ${sbindir}/kdb5_ldap_util" + +FILES_${PN}-kpropd = "${sbindir}/kpropd" +FILES_${PN}-otp = "${libdir}/krb5/plugins/preauth/otp.so" +FILES_${PN}-pkinit = "${libdir}/krb5/plugins/preauth/pkinit.so" +FILES_${PN}-spake = "${libdir}/krb5/plugins/preauth/spake.so" +FILES_${PN}-user = "${bindir}/k*" + +FILES_libgssapi-krb5 = "${libdir}/libgssapi_krb5${SOLIBS}" +FILES_libgssrpc = "${libdir}/libgssrpc${SOLIBS}" +FILES_libk5crypto = "${libdir}/libk5crypto${SOLIBS}" +FILES_libkadm5clnt-mit = "${libdir}/libkadm5clnt_mit${SOLIBS}" +FILES_libkadm5srv-mit = "${libdir}/libkadm5srv_mit${SOLIBS}" +FILES_libkdb5 = "${libdir}/libkdb5${SOLIBS}" +FILES_libkrad = "${libdir}/libkrad${SOLIBS}" +FILES_libkrb5 = "${libdir}/libkrb5${SOLIBS} \ + ${libdir}/krb5/plugins/authdata \ + ${libdir}/krb5/plugins/libkrb5" +FILES_libkrb5support = "${libdir}/libkrb5support${SOLIBS}" +FILES_libverto = "${libdir}/libverto${SOLIBS}" + +RDEPENDS_${PN}-kadmin-server = "${PN}-kdc" +RDEPENDS_${PN}-kpropd = "${PN}-kdc" + +INITSCRIPT_PACKAGES = "${PN}-admin-server ${PN}-kdc" +INITSCRIPT_NAME_${PN}-admin-server = "krb5-admin-server" +INITSCRIPT_NAME_${PN}-kdc = "krb5-kdc" + +SYSTEMD_PACKAGES = "${PN}-admin-server ${PN}-kdc" +SYSTEMD_SERVICE_${PN}-admin-server = "krb5-admin-server.service" +SYSTEMD_SERVICE_${PN}-kdc = "krb5-kdc.service" + +pkg_postinst_${PN}-kdc () { + if [ -z "$D" ]; then + if command -v systemd-tmpfiles >/dev/null; then + systemd-tmpfiles --create ${sysconfdir}/tmpfiles.d/krb5.conf + elif [ -e ${sysconfdir}/init.d/populate-volatile.sh ]; then + ${sysconfdir}/init.d/populate-volatile.sh update + fi + fi +} + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-oe/recipes-connectivity/krb5/krb5_1.17.bb b/meta-openembedded/meta-oe/recipes-connectivity/krb5/krb5_1.17.bb deleted file mode 100644 index e27a4ae078..0000000000 --- a/meta-openembedded/meta-oe/recipes-connectivity/krb5/krb5_1.17.bb +++ /dev/null @@ -1,192 +0,0 @@ -SUMMARY = "A network authentication protocol" -DESCRIPTION = "Kerberos is a system for authenticating users and services on a network. \ - Kerberos is a trusted third-party service. That means that there is a \ - third party (the Kerberos server) that is trusted by all the entities on \ - the network (users and services, usually called "principals"). \ - . \ - This is the MIT reference implementation of Kerberos V5. \ - . \ - This package contains the Kerberos key server (KDC). The KDC manages all \ - authentication credentials for a Kerberos realm, holds the master keys \ - for the realm, and responds to authentication requests. This package \ - should be installed on both master and slave KDCs." - -HOMEPAGE = "http://web.mit.edu/Kerberos/" -SECTION = "console/network" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://${S}/../NOTICE;md5=aff541e7261f1926ac6a2a9a7bbab839" -DEPENDS = "bison-native ncurses util-linux e2fsprogs e2fsprogs-native openssl" - -inherit autotools-brokensep binconfig perlnative systemd update-rc.d - -SHRT_VER = "${@oe.utils.trim_version("${PV}", 2)}" -SRC_URI = "http://web.mit.edu/kerberos/dist/${BPN}/${SHRT_VER}/${BP}.tar.gz \ - file://0001-aclocal-Add-parameter-to-disable-keyutils-detection.patch \ - file://debian-suppress-usr-lib-in-krb5-config.patch;striplevel=2 \ - file://crosscompile_nm.patch \ - file://etc/init.d/krb5-kdc \ - file://etc/init.d/krb5-admin-server \ - file://etc/default/krb5-kdc \ - file://etc/default/krb5-admin-server \ - file://krb5-kdc.service \ - file://krb5-admin-server.service \ -" -SRC_URI[md5sum] = "3b729d89eb441150e146780c4138481b" -SRC_URI[sha256sum] = "5a6e2284a53de5702d3dc2be3b9339c963f9b5397d3fbbc53beb249380a781f5" - -CVE_PRODUCT = "kerberos" -CVE_VERSION = "5-${PV}" - -S = "${WORKDIR}/${BP}/src" - -PACKAGECONFIG ??= "pkinit" -PACKAGECONFIG[libedit] = "--with-libedit,--without-libedit,libedit" -PACKAGECONFIG[openssl] = "--with-crypto-impl=openssl,,openssl" -PACKAGECONFIG[keyutils] = "--enable-keyutils,--disable-keyutils,keyutils" -PACKAGECONFIG[ldap] = "--with-ldap,--without-ldap,openldap" -PACKAGECONFIG[readline] = "--with-readline,--without-readline,readline" -PACKAGECONFIG[pkinit] = "--enable-pkinit, --disable-pkinit" - -EXTRA_OECONF += " --without-tcl --with-system-et --disable-rpath" -CACHED_CONFIGUREVARS += "krb5_cv_attr_constructor_destructor=yes ac_cv_func_regcomp=yes \ - ac_cv_printf_positional=yes ac_cv_file__etc_environment=yes \ - ac_cv_file__etc_TIMEZONE=no" - -CFLAGS_append = " -fPIC -DDESTRUCTOR_ATTR_WORKS=1 -I${STAGING_INCDIR}/et" -CFLAGS_append_riscv64 = " -D_REENTRANT -pthread" -LDFLAGS_append = " -pthread" - -do_configure() { - gnu-configize --force - autoreconf - oe_runconf -} - -do_install_append() { - rm -rf ${D}/${localstatedir}/run - rm -f ${D}${bindir}/sclient - rm -f ${D}${bindir}/sim_client - rm -f ${D}${bindir}/uuclient - rm -f ${D}${sbindir}/krb5-send-pr - rm -f ${D}${sbindir}/sim_server - rm -f ${D}${sbindir}/sserver - rm -f ${D}${sbindir}/uuserver - - if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then - mkdir -p ${D}/${sysconfdir}/init.d ${D}/${sysconfdir}/default - install -m 0755 ${WORKDIR}/etc/init.d/* ${D}/${sysconfdir}/init.d - install -m 0644 ${WORKDIR}/etc/default/* ${D}/${sysconfdir}/default - - mkdir -p ${D}/${sysconfdir}/default/volatiles - echo "d root root 0755 ${localstatedir}/run/krb5kdc none" \ - > ${D}${sysconfdir}/default/volatiles/87_krb5 - - echo "RUN_KADMIND=true" >> ${D}/${sysconfdir}/default/krb5-admin-server - fi - if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then - install -d ${D}${sysconfdir}/tmpfiles.d - echo "d /run/krb5kdc - - - -" \ - > ${D}${sysconfdir}/tmpfiles.d/krb5.conf - - mkdir -p ${D}/${sysconfdir}/default - install -m 0644 ${WORKDIR}/etc/default/* ${D}/${sysconfdir}/default - - install -d ${D}${systemd_system_unitdir} - install -m 0644 ${WORKDIR}/krb5-admin-server.service ${D}${systemd_system_unitdir} - install -m 0644 ${WORKDIR}/krb5-kdc.service ${D}${systemd_system_unitdir} - fi -} - -PACKAGES =+ "${PN}-admin-server \ - ${PN}-gss-samples \ - ${PN}-k5tls \ - ${PN}-kdc \ - ${PN}-kdc-ldap \ - ${PN}-kpropd \ - ${PN}-otp \ - ${PN}-pkinit \ - ${PN}-spake \ - ${PN}-user \ - libgssapi-krb5 \ - libgssrpc \ - libk5crypto \ - libkadm5clnt-mit \ - libkadm5srv-mit \ - libkdb5 \ - libkrad \ - libkrb5 \ - libkrb5support \ - libverto" - -FILES_${PN} = "${libdir}/krb5/plugins/preauth/test.so" -FILES_${PN}-doc += "${datadir}/examples" -FILES_${PN}-dbg += "${libdir}/krb5/plugins/*/.debug" - -FILES_${PN}-admin-server = "${sbindir}/kadmin.local \ - ${sbindir}/kadmind \ - ${sbindir}/kprop \ - ${sysconfdir}/default/krb5-admin-server \ - ${sysconfdir}/init.d/krb5-admin-server \ - ${systemd_system_unitdir}/krb5-admin-server.service" - -FILES_${PN}-gss-samples = "${bindir}/gss-client \ - ${sbindir}/gss-server" - -FILES_${PN}-k5tls = "${libdir}/krb5/plugins/tls/k5tls.so" - -FILES_${PN}-kdc = "${libdir}/krb5/plugins/kdb/db2.so \ - ${localstatedir}/krb5kdc \ - ${sbindir}/kdb5_util \ - ${sbindir}/kproplog \ - ${sbindir}/krb5kdc \ - ${sysconfdir}/default/krb5-kdc \ - ${sysconfdir}/default/volatiles/87_krb5 \ - ${sysconfdir}/init.d/krb5-kdc \ - ${sysconfdir}/tmpfiles.d/krb5.conf \ - ${systemd_system_unitdir}/krb5-kdc.service" - -FILES_${PN}-kdc-ldap = "${libdir}/krb5/libkdb_ldap${SOLIBS} \ - ${libdir}/krb5/plugins/kdb/kldap.so \ - ${sbindir}/kdb5_ldap_util" - -FILES_${PN}-kpropd = "${sbindir}/kpropd" -FILES_${PN}-otp = "${libdir}/krb5/plugins/preauth/otp.so" -FILES_${PN}-pkinit = "${libdir}/krb5/plugins/preauth/pkinit.so" -FILES_${PN}-spake = "${libdir}/krb5/plugins/preauth/spake.so" -FILES_${PN}-user = "${bindir}/k*" - -FILES_libgssapi-krb5 = "${libdir}/libgssapi_krb5${SOLIBS}" -FILES_libgssrpc = "${libdir}/libgssrpc${SOLIBS}" -FILES_libk5crypto = "${libdir}/libk5crypto${SOLIBS}" -FILES_libkadm5clnt-mit = "${libdir}/libkadm5clnt_mit${SOLIBS}" -FILES_libkadm5srv-mit = "${libdir}/libkadm5srv_mit${SOLIBS}" -FILES_libkdb5 = "${libdir}/libkdb5${SOLIBS}" -FILES_libkrad = "${libdir}/libkrad${SOLIBS}" -FILES_libkrb5 = "${libdir}/libkrb5${SOLIBS} \ - ${libdir}/krb5/plugins/authdata \ - ${libdir}/krb5/plugins/libkrb5" -FILES_libkrb5support = "${libdir}/libkrb5support${SOLIBS}" -FILES_libverto = "${libdir}/libverto${SOLIBS}" - -RDEPENDS_${PN}-kadmin-server = "${PN}-kdc" -RDEPENDS_${PN}-kpropd = "${PN}-kdc" - -INITSCRIPT_PACKAGES = "${PN}-admin-server ${PN}-kdc" -INITSCRIPT_NAME_${PN}-admin-server = "krb5-admin-server" -INITSCRIPT_NAME_${PN}-kdc = "krb5-kdc" - -SYSTEMD_PACKAGES = "${PN}-admin-server ${PN}-kdc" -SYSTEMD_SERVICE_${PN}-admin-server = "krb5-admin-server.service" -SYSTEMD_SERVICE_${PN}-kdc = "krb5-kdc.service" - -pkg_postinst_${PN}-kdc () { - if [ -z "$D" ]; then - if command -v systemd-tmpfiles >/dev/null; then - systemd-tmpfiles --create ${sysconfdir}/tmpfiles.d/krb5.conf - elif [ -e ${sysconfdir}/init.d/populate-volatile.sh ]; then - ${sysconfdir}/init.d/populate-volatile.sh update - fi - fi -} - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-oe/recipes-connectivity/libmbim/libmbim_1.20.2.bb b/meta-openembedded/meta-oe/recipes-connectivity/libmbim/libmbim_1.20.2.bb deleted file mode 100644 index 2c4a59f7f6..0000000000 --- a/meta-openembedded/meta-oe/recipes-connectivity/libmbim/libmbim_1.20.2.bb +++ /dev/null @@ -1,18 +0,0 @@ -SUMMARY = "libmbim is library for talking to WWAN devices by MBIM protocol" -DESCRIPTION = "libmbim is a glib-based library for talking to WWAN modems and devices which speak the Mobile Interface Broadband Model (MBIM) protocol" -HOMEPAGE = "http://www.freedesktop.org/wiki/Software/libmbim/" -LICENSE = "GPLv2 & LGPLv2.1" -LIC_FILES_CHKSUM = " \ - file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ - file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c \ -" - -DEPENDS = "glib-2.0 glib-2.0-native libgudev" - -inherit autotools pkgconfig bash-completion - -SRC_URI = "http://www.freedesktop.org/software/${BPN}/${BPN}-${PV}.tar.xz \ - file://clang.patch \ -" -SRC_URI[md5sum] = "988a6a7fd4a2f4e08c098992180e5b02" -SRC_URI[sha256sum] = "550fb69e5e57f7646f8eb9ed8d24e44ea869ad846be9c162893f12e43528059b" diff --git a/meta-openembedded/meta-oe/recipes-connectivity/libmbim/libmbim_1.20.4.bb b/meta-openembedded/meta-oe/recipes-connectivity/libmbim/libmbim_1.20.4.bb new file mode 100644 index 0000000000..a3ef80c1b8 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-connectivity/libmbim/libmbim_1.20.4.bb @@ -0,0 +1,18 @@ +SUMMARY = "libmbim is library for talking to WWAN devices by MBIM protocol" +DESCRIPTION = "libmbim is a glib-based library for talking to WWAN modems and devices which speak the Mobile Interface Broadband Model (MBIM) protocol" +HOMEPAGE = "http://www.freedesktop.org/wiki/Software/libmbim/" +LICENSE = "GPLv2 & LGPLv2.1" +LIC_FILES_CHKSUM = " \ + file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ + file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c \ +" + +DEPENDS = "glib-2.0 glib-2.0-native libgudev" + +inherit autotools pkgconfig bash-completion + +SRC_URI = "http://www.freedesktop.org/software/${BPN}/${BPN}-${PV}.tar.xz \ + file://clang.patch \ +" +SRC_URI[md5sum] = "d38d637e33cde8a91484f53a9f6c4d49" +SRC_URI[sha256sum] = "ac2708a409b09f1f6f1786a8a9e39c36619aa8d6f285ea943daa7a48ea36d3e8" diff --git a/meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi_1.24.0.bb b/meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi_1.24.0.bb deleted file mode 100644 index 9b89e1dd8e..0000000000 --- a/meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi_1.24.0.bb +++ /dev/null @@ -1,24 +0,0 @@ -SUMMARY = "libqmi is a library for talking to WWAN devices by QMI protocol" -DESCRIPTION = "libqmi is a glib-based library for talking to WWAN modems and devices which speak the Qualcomm MSM Interface (QMI) protocol" -HOMEPAGE = "http://www.freedesktop.org/wiki/Software/libqmi" -LICENSE = "GPLv2 & LGPLv2.1" -LIC_FILES_CHKSUM = " \ - file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ - file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c \ -" - -DEPENDS = "glib-2.0 glib-2.0-native" - -inherit autotools pkgconfig bash-completion - -SRC_URI = "http://www.freedesktop.org/software/${BPN}/${BPN}-${PV}.tar.xz \ - " - -SRC_URI[md5sum] = "4b181c0a8b933226ce3dce09565fe8f8" -SRC_URI[sha256sum] = "aeb69f90c273467cce246176cba0967c6413f1995a976992770a597c4fe28c79" - -PACKAGECONFIG ??= "udev mbim" -PACKAGECONFIG[udev] = ",--without-udev,libgudev" -PACKAGECONFIG[mbim] = "--enable-mbim-qmux,--disable-mbim-qmux,libmbim" - -EXTRA_OECONF_append_toolchain-clang = " --enable-more-warnings=no" diff --git a/meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi_1.24.2.bb b/meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi_1.24.2.bb new file mode 100644 index 0000000000..35a58d2f1d --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi_1.24.2.bb @@ -0,0 +1,24 @@ +SUMMARY = "libqmi is a library for talking to WWAN devices by QMI protocol" +DESCRIPTION = "libqmi is a glib-based library for talking to WWAN modems and devices which speak the Qualcomm MSM Interface (QMI) protocol" +HOMEPAGE = "http://www.freedesktop.org/wiki/Software/libqmi" +LICENSE = "GPLv2 & LGPLv2.1" +LIC_FILES_CHKSUM = " \ + file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ + file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c \ +" + +DEPENDS = "glib-2.0 glib-2.0-native" + +inherit autotools pkgconfig bash-completion + +SRC_URI = "http://www.freedesktop.org/software/${BPN}/${BPN}-${PV}.tar.xz \ + " + +SRC_URI[md5sum] = "e49c419112d708b5301af7ccc2c090ff" +SRC_URI[sha256sum] = "4ae4e476f960dbc0d04b1c0368776eb78edffd4421f3e4c074bb2bfb6375b282" + +PACKAGECONFIG ??= "udev mbim" +PACKAGECONFIG[udev] = ",--without-udev,libgudev" +PACKAGECONFIG[mbim] = "--enable-mbim-qmux,--disable-mbim-qmux,libmbim" + +EXTRA_OECONF_append_toolchain-clang = " --enable-more-warnings=no" diff --git a/meta-openembedded/meta-oe/recipes-connectivity/libuv/libuv_1.33.1.bb b/meta-openembedded/meta-oe/recipes-connectivity/libuv/libuv_1.33.1.bb deleted file mode 100644 index 604568e62a..0000000000 --- a/meta-openembedded/meta-oe/recipes-connectivity/libuv/libuv_1.33.1.bb +++ /dev/null @@ -1,19 +0,0 @@ -SUMMARY = "A multi-platform support library with a focus on asynchronous I/O" -HOMEPAGE = "https://github.com/libuv/libuv" -BUGTRACKER = "https://github.com/libuv/libuv/issues" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=a68902a430e32200263d182d44924d47" - -SRCREV = "07ad32138f4d2285ba2226b5e20462b27b091a59" -SRC_URI = "git://github.com/libuv/libuv;branch=v1.x" - -S = "${WORKDIR}/git" - -inherit autotools - -do_configure() { - ${S}/autogen.sh || bbnote "${PN} failed to autogen.sh" - oe_runconf -} - -BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-oe/recipes-connectivity/libuv/libuv_1.34.0.bb b/meta-openembedded/meta-oe/recipes-connectivity/libuv/libuv_1.34.0.bb new file mode 100644 index 0000000000..b842bbda7a --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-connectivity/libuv/libuv_1.34.0.bb @@ -0,0 +1,19 @@ +SUMMARY = "A multi-platform support library with a focus on asynchronous I/O" +HOMEPAGE = "https://github.com/libuv/libuv" +BUGTRACKER = "https://github.com/libuv/libuv/issues" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=a68902a430e32200263d182d44924d47" + +SRCREV = "15ae750151ac9341e5945eb38f8982d59fb99201" +SRC_URI = "git://github.com/libuv/libuv;branch=v1.x" + +S = "${WORKDIR}/git" + +inherit autotools + +do_configure() { + ${S}/autogen.sh || bbnote "${PN} failed to autogen.sh" + oe_runconf +} + +BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-oe/recipes-connectivity/lirc/lirc/0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch b/meta-openembedded/meta-oe/recipes-connectivity/lirc/lirc/0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch new file mode 100644 index 0000000000..0e38f7d8ec --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-connectivity/lirc/lirc/0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch @@ -0,0 +1,40 @@ +From 50a48a7bd8d65a165ce2aac4ba0c1e02bded04aa Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sat, 30 Nov 2019 12:21:31 -0800 +Subject: [PATCH] Fix build on 32bit arches with 64bit time_t + +time element is deprecated on new input_event structure in kernel's +input.h [1] + +[1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit?id=152194fe9c3f + +Signed-off-by: Khem Raj +--- + plugins/devinput.c | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/plugins/devinput.c b/plugins/devinput.c +index d4d733a..feb4a61 100644 +--- a/plugins/devinput.c ++++ b/plugins/devinput.c +@@ -34,6 +34,11 @@ + #include + #include + ++#ifndef input_event_sec ++#define input_event_sec time.tv_sec ++#define input_event_usec time.tv_usec ++#endif ++ + #ifndef EV_SYN + /* previous name */ + #define EV_SYN EV_RST +@@ -459,7 +464,7 @@ char* devinput_rec(struct ir_remote* remotes) + return 0; + } + +- log_trace("time %ld.%06ld type %d code %d value %d", event.time.tv_sec, event.time.tv_usec, event.type, ++ log_trace("time %ld.%06ld type %d code %d value %d", event.input_event_sec, event.input_event_usec, event.type, + event.code, event.value); + + value = (unsigned)event.value; diff --git a/meta-openembedded/meta-oe/recipes-connectivity/lirc/lirc_0.9.4d.bb b/meta-openembedded/meta-oe/recipes-connectivity/lirc/lirc_0.9.4d.bb index b13163debb..606caee892 100644 --- a/meta-openembedded/meta-oe/recipes-connectivity/lirc/lirc_0.9.4d.bb +++ b/meta-openembedded/meta-oe/recipes-connectivity/lirc/lirc_0.9.4d.bb @@ -13,6 +13,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" SRC_URI = "http://prdownloads.sourceforge.net/lirc/lirc-${PV}.tar.bz2 \ file://pollfd.patch \ + file://0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch \ file://lircd.service \ file://lircd.init \ file://lircexec.init \ diff --git a/meta-openembedded/meta-oe/recipes-connectivity/rabbitmq-c/rabbitmq-c_0.10.0.bb b/meta-openembedded/meta-oe/recipes-connectivity/rabbitmq-c/rabbitmq-c_0.10.0.bb new file mode 100644 index 0000000000..2ef6b187e9 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-connectivity/rabbitmq-c/rabbitmq-c_0.10.0.bb @@ -0,0 +1,19 @@ +DESCRIPTION = "A C-language AMQP client library for use with v2.0+ of the RabbitMQ broker" +HOMEPAGE = "https://github.com/alanxz/rabbitmq-c" +LIC_FILES_CHKSUM = "file://LICENSE-MIT;md5=6b7424f9db80cfb11fdd5c980b583f53" +LICENSE = "MIT" + +SRC_URI = "git://github.com/alanxz/rabbitmq-c.git" +# v0.10.0-master +SRCREV = "ffe918a5fcef72038a88054dca3c56762b1953d4" + +S = "${WORKDIR}/git" + +DEPENDS = "popt openssl" + +EXTRA_OECMAKE = "-DBUILD_EXAMPLES=OFF -DBUILD_TOOLS=ON -DBUILD_TOOLS_DOCS=OFF -DBUILD_API_DOCS=OFF" + +inherit cmake pkgconfig + +PACKAGE_BEFORE_PN += "${PN}-tools" +FILES_${PN}-tools = "${bindir}" diff --git a/meta-openembedded/meta-oe/recipes-connectivity/rabbitmq-c/rabbitmq-c_0.9.0.bb b/meta-openembedded/meta-oe/recipes-connectivity/rabbitmq-c/rabbitmq-c_0.9.0.bb deleted file mode 100644 index 5096d6cd3a..0000000000 --- a/meta-openembedded/meta-oe/recipes-connectivity/rabbitmq-c/rabbitmq-c_0.9.0.bb +++ /dev/null @@ -1,19 +0,0 @@ -DESCRIPTION = "A C-language AMQP client library for use with v2.0+ of the RabbitMQ broker" -HOMEPAGE = "https://github.com/alanxz/rabbitmq-c" -LIC_FILES_CHKSUM = "file://LICENSE-MIT;md5=6b7424f9db80cfb11fdd5c980b583f53" -LICENSE = "MIT" - -SRC_URI = "git://github.com/alanxz/rabbitmq-c.git" -# v0.9.0-master -SRCREV = "7e693a23f7fb7120f85995d3c922814495be30db" - -S = "${WORKDIR}/git" - -DEPENDS = "popt openssl" - -EXTRA_OECMAKE = "-DBUILD_EXAMPLES=OFF -DBUILD_TOOLS=ON -DBUILD_TOOLS_DOCS=OFF -DBUILD_API_DOCS=OFF" - -inherit cmake pkgconfig - -PACKAGE_BEFORE_PN += "${PN}-tools" -FILES_${PN}-tools = "${bindir}" diff --git a/meta-openembedded/meta-oe/recipes-connectivity/thrift/thrift/0001-DefineInstallationPaths.cmake-Define-libdir-in-terms.patch b/meta-openembedded/meta-oe/recipes-connectivity/thrift/thrift/0001-DefineInstallationPaths.cmake-Define-libdir-in-terms.patch new file mode 100644 index 0000000000..485d7a4b0b --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-connectivity/thrift/thrift/0001-DefineInstallationPaths.cmake-Define-libdir-in-terms.patch @@ -0,0 +1,42 @@ +From a07e56e1a2e70a9b81eb0a65f345cf45a7a93a81 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Thu, 19 Dec 2019 21:56:23 -0800 +Subject: [PATCH] DefineInstallationPaths.cmake: Define libdir in terms of + LIB_SUFFIX + +Upstream-Status: Pending +Signed-off-by: Khem Raj +--- + build/cmake/DefineInstallationPaths.cmake | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/build/cmake/DefineInstallationPaths.cmake ++++ b/build/cmake/DefineInstallationPaths.cmake +@@ -22,11 +22,11 @@ + set(BIN_INSTALL_DIR "bin" CACHE PATH "The binary install dir (default: bin)") + set(LIB_INSTALL_DIR "lib${LIB_SUFFIX}" CACHE PATH "The library install dir (default: lib${LIB_SUFFIX})") + set(INCLUDE_INSTALL_DIR "include" CACHE PATH "The library install dir (default: include)") +-set(CMAKE_INSTALL_DIR "lib/cmake" CACHE PATH "The subdirectory to install cmake config files (default: cmake)") +-set(PKGCONFIG_INSTALL_DIR "lib/pkgconfig" CACHE PATH "The subdirectory to install pkgconfig config files (default: lib/pkgconfig)") ++set(CMAKE_INSTALL_DIR "lib${LIB_SUFFIX}/cmake" CACHE PATH "The subdirectory to install cmake config files (default: cmake)") ++set(PKGCONFIG_INSTALL_DIR "lib${LIB_SUFFIX}/pkgconfig" CACHE PATH "The subdirectory to install pkgconfig config files (default: lib/pkgconfig)") + set(DOC_INSTALL_DIR "share/doc" CACHE PATH "The subdirectory to install documentation files (default: share/doc)") + set(prefix "${CMAKE_INSTALL_PREFIX}") + set(exec_prefix "${CMAKE_INSTALL_PREFIX}/bin") +-set(libdir "${CMAKE_INSTALL_PREFIX}/lib") ++set(libdir "${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}") + set(includedir "${CMAKE_INSTALL_PREFIX}/include") + set(cmakedir "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_DIR}") +--- a/build/cmake/DefineCMakeDefaults.cmake ++++ b/build/cmake/DefineCMakeDefaults.cmake +@@ -44,8 +44,8 @@ include(BuildType) + # top of the build tree rather than in hard-to-find leaf + # directories. This simplifies manual testing and the use of the build + # tree rather than installed thrift libraries. +-set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib) +-set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib) ++set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib${LIB_SUFFIX}) ++set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib${LIB_SUFFIX}) + set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) + + # diff --git a/meta-openembedded/meta-oe/recipes-connectivity/thrift/thrift_0.12.0.bb b/meta-openembedded/meta-oe/recipes-connectivity/thrift/thrift_0.12.0.bb deleted file mode 100644 index 1c69951bf9..0000000000 --- a/meta-openembedded/meta-oe/recipes-connectivity/thrift/thrift_0.12.0.bb +++ /dev/null @@ -1,66 +0,0 @@ -SUMMARY = "Apache Thrift" -DESCRIPTION = "A software framework, for scalable cross-language services development" -HOMEPAGE = "https://thrift.apache.org/" - -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=394465e125cffc0f133695ed43f14047 \ - file://NOTICE;md5=42748ae4646b45fbfa5182807321fb6c" - -DEPENDS = "thrift-native boost flex-native bison-native openssl" - -SRC_URI = "https://www-eu.apache.org/dist/thrift//${PV}/${BPN}-${PV}.tar.gz" - -SRC_URI[md5sum] = "3deebbb4d1ca77dd9c9e009a1ea02183" -SRC_URI[sha256sum] = "c336099532b765a6815173f62df0ed897528a9d551837d627c1f87fadad90428" - -BBCLASSEXTEND = "native nativesdk" - -inherit pkgconfig cmake pythonnative - -export STAGING_INCDIR -export STAGING_LIBDIR -export BUILD_SYS -export HOST_SYS - -EXTRA_OECMAKE = " \ - -DENABLE_PRECOMPILED_HEADERS=OFF \ - -DBUILD_LIBRARIES=ON \ - -DBUILD_COMPILER=ON \ - -DBUILD_TESTING=OFF \ - -DBUILD_EXAMPLES=OFF \ - -DBUILD_TUTORIALS=OFF \ - -DWITH_CPP=ON \ - -DWITH_JAVA=OFF \ - -DWITH_PYTHON=OFF \ - -DWITH_STATIC_LIB=ON \ - -DWITH_SHARED_LIB=ON \ - -DWITH_OPENSSL=ON \ - -DWITH_QT4=OFF \ - -DWITH_QT5=OFF \ - -DWITH_BOOST_FUNCTIONAL=OFF \ -" - -PACKAGECONFIG ??= "libevent glib boost-smart-ptr" -PACKAGECONFIG[libevent] = "-DWITH_LIBEVENT=ON,-DWITH_LIBEVENT=OFF,libevent" -PACKAGECONFIG[glib] = "-DWITH_C_GLIB=ON,-DWITH_C_GLIB=OFF,glib-2.0" -PACKAGECONFIG[boost-smart-ptr] = "-DWITH_BOOST_SMART_PTR=ON,-DWITH_BOOST_SMART_PTR=OFF,boost" - -do_install_append () { - ln -sf thrift ${D}/${bindir}/thrift-compiler -} - -LEAD_SONAME = "libthrift.so.${PV}" - -# thrift packages -PACKAGE_BEFORE_PN = "${PN}-compiler lib${BPN} lib${BPN}z lib${BPN}nb lib${BPN}-c-glib" -FILES_lib${BPN} = "${libdir}/libthrift.so.*" -FILES_lib${BPN}z = "${libdir}/libthriftz.so.*" -FILES_lib${BPN}nb = "${libdir}/libthriftnb.so.*" -FILES_lib${BPN}-c-glib = "${libdir}/libthrift_c_glib.so.*" -FILES_${PN}-compiler = "${bindir}/*" - -# The thrift packages just pulls in some default dependencies but is otherwise empty -RRECOMMENDS_${PN} = "${PN}-compiler lib${BPN}" -ALLOW_EMPTY_${PN} = "1" -RRECOMMENDS_${PN}_class-native = "" -RRECOMMENDS_${PN}_class-nativesdk = "" diff --git a/meta-openembedded/meta-oe/recipes-connectivity/thrift/thrift_0.13.0.bb b/meta-openembedded/meta-oe/recipes-connectivity/thrift/thrift_0.13.0.bb new file mode 100644 index 0000000000..92bcb21bf1 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-connectivity/thrift/thrift_0.13.0.bb @@ -0,0 +1,67 @@ +SUMMARY = "Apache Thrift" +DESCRIPTION = "A software framework, for scalable cross-language services development" +HOMEPAGE = "https://thrift.apache.org/" + +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=394465e125cffc0f133695ed43f14047 \ + file://NOTICE;md5=2659b43daca219f99a2f2626ea128f73" + +DEPENDS = "thrift-native boost flex-native bison-native openssl" + +SRC_URI = "https://www-eu.apache.org/dist/thrift//${PV}/${BPN}-${PV}.tar.gz \ + file://0001-DefineInstallationPaths.cmake-Define-libdir-in-terms.patch \ + " +SRC_URI[md5sum] = "38a27d391a2b03214b444cb13d5664f1" +SRC_URI[sha256sum] = "7ad348b88033af46ce49148097afe354d513c1fca7c607b59c33ebb6064b5179" + +BBCLASSEXTEND = "native nativesdk" + +inherit pkgconfig cmake python3native + +export STAGING_INCDIR +export STAGING_LIBDIR +export BUILD_SYS +export HOST_SYS + +EXTRA_OECMAKE = " \ + -DENABLE_PRECOMPILED_HEADERS=OFF \ + -DBUILD_LIBRARIES=ON \ + -DBUILD_COMPILER=ON \ + -DBUILD_TESTING=OFF \ + -DBUILD_EXAMPLES=OFF \ + -DBUILD_TUTORIALS=OFF \ + -DWITH_CPP=ON \ + -DWITH_JAVA=OFF \ + -DWITH_PYTHON=OFF \ + -DWITH_STATIC_LIB=ON \ + -DWITH_SHARED_LIB=ON \ + -DWITH_OPENSSL=ON \ + -DWITH_QT4=OFF \ + -DWITH_QT5=OFF \ + -DWITH_BOOST_FUNCTIONAL=OFF \ +" + +PACKAGECONFIG ??= "libevent glib boost-smart-ptr" +PACKAGECONFIG[libevent] = "-DWITH_LIBEVENT=ON,-DWITH_LIBEVENT=OFF,libevent" +PACKAGECONFIG[glib] = "-DWITH_C_GLIB=ON,-DWITH_C_GLIB=OFF,glib-2.0" +PACKAGECONFIG[boost-smart-ptr] = "-DWITH_BOOST_SMART_PTR=ON,-DWITH_BOOST_SMART_PTR=OFF,boost" + +do_install_append () { + ln -sf thrift ${D}/${bindir}/thrift-compiler +} + +LEAD_SONAME = "libthrift.so.${PV}" + +# thrift packages +PACKAGE_BEFORE_PN = "${PN}-compiler lib${BPN} lib${BPN}z lib${BPN}nb lib${BPN}-c-glib" +FILES_lib${BPN} = "${libdir}/libthrift.so.*" +FILES_lib${BPN}z = "${libdir}/libthriftz.so.*" +FILES_lib${BPN}nb = "${libdir}/libthriftnb.so.*" +FILES_lib${BPN}-c-glib = "${libdir}/libthrift_c_glib.so.*" +FILES_${PN}-compiler = "${bindir}/*" + +# The thrift packages just pulls in some default dependencies but is otherwise empty +RRECOMMENDS_${PN} = "${PN}-compiler lib${BPN}" +ALLOW_EMPTY_${PN} = "1" +RRECOMMENDS_${PN}_class-native = "" +RRECOMMENDS_${PN}_class-nativesdk = "" diff --git a/meta-openembedded/meta-oe/recipes-connectivity/wvdial/wvstreams/0001-Fix-narrowing-conversion-error.patch b/meta-openembedded/meta-oe/recipes-connectivity/wvdial/wvstreams/0001-Fix-narrowing-conversion-error.patch new file mode 100644 index 0000000000..fc9abd8e63 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-connectivity/wvdial/wvstreams/0001-Fix-narrowing-conversion-error.patch @@ -0,0 +1,29 @@ +From c86c524f951f6e973473bfee76fd5366368b2cbc Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Wed, 25 Dec 2019 09:32:41 -0800 +Subject: [PATCH] Fix narrowing conversion error + +xplc/moduleloader.cc: In static member function 'static Module* Module::loadModule(const char*)': xplc/moduleloader.cc:67:14: error: narrowing conversion of '-1' from 'int' to 'unsigned int' [-Wnarrowing] 67 | case (int)-1: | ^ + +Upstream-Status: Pending +Signed-off-by: Khem Raj +--- + xplc/moduleloader.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/xplc/moduleloader.cc b/xplc/moduleloader.cc +index 02dd9a4..c53f5d2 100644 +--- a/xplc/moduleloader.cc ++++ b/xplc/moduleloader.cc +@@ -62,7 +62,7 @@ Module* Module::loadModule(const char* modulename) { + return NULL; + } + +- switch(moduleinfo->version_major) { ++ switch((int)moduleinfo->version_major) { + #ifdef UNSTABLE + case -1: + /* nothing to do */ +-- +2.24.1 + diff --git a/meta-openembedded/meta-oe/recipes-connectivity/wvdial/wvstreams_4.6.1.bb b/meta-openembedded/meta-oe/recipes-connectivity/wvdial/wvstreams_4.6.1.bb index b220f9c1bc..20becaf57d 100644 --- a/meta-openembedded/meta-oe/recipes-connectivity/wvdial/wvstreams_4.6.1.bb +++ b/meta-openembedded/meta-oe/recipes-connectivity/wvdial/wvstreams_4.6.1.bb @@ -22,6 +22,7 @@ SRC_URI = "http://${BPN}.googlecode.com/files/${BP}.tar.gz \ file://0002-wvrules.mk-Use-_DEFAULT_SOURCE.patch \ file://openssl-buildfix.patch \ file://0001-Forward-port-to-OpenSSL-1.1.x.patch \ + file://0001-Fix-narrowing-conversion-error.patch \ " SRC_URI[md5sum] = "2760dac31a43d452a19a3147bfde571c" diff --git a/meta-openembedded/meta-oe/recipes-connectivity/zeromq/cppzmq_git.bb b/meta-openembedded/meta-oe/recipes-connectivity/zeromq/cppzmq_git.bb index cdd2f78cc6..369712910c 100644 --- a/meta-openembedded/meta-oe/recipes-connectivity/zeromq/cppzmq_git.bb +++ b/meta-openembedded/meta-oe/recipes-connectivity/zeromq/cppzmq_git.bb @@ -4,8 +4,8 @@ LICENSE = "MIT" LIC_FILES_CHKSUM = "file://LICENSE;md5=db174eaf7b55a34a7c89551197f66e94" DEPENDS = "zeromq" -SRCREV = "f5b36e563598d48fcc0d82e589d3596afef945ae" -PV = "4.4.1" +SRCREV = "e67fa0e16d7964876228952f60693f5c03ea0cc1" +PV = "4.5.0" SRC_URI = "git://github.com/zeromq/cppzmq.git" diff --git a/meta-openembedded/meta-oe/recipes-core/dbus/dbus-broker_21.bb b/meta-openembedded/meta-oe/recipes-core/dbus/dbus-broker_21.bb index 98c50c4b21..8b4101aaf3 100644 --- a/meta-openembedded/meta-oe/recipes-core/dbus/dbus-broker_21.bb +++ b/meta-openembedded/meta-oe/recipes-core/dbus/dbus-broker_21.bb @@ -26,7 +26,8 @@ SYSTEMD_SERVICE_${PN} = "${BPN}.service" FILES_${PN} += "${systemd_system_unitdir}" FILES_${PN} += "${systemd_user_unitdir}" -FILES_${PN} += "${libdir}/systemd/catalog" +FILES_${PN} += "${nonarch_libdir}/systemd/catalog" EXTRA_OEMESON += " -Dselinux=${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'true', 'false', d)}" EXTRA_OEMESON += " -Daudit=${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'true', 'false', d)}" + diff --git a/meta-openembedded/meta-oe/recipes-core/emlog/emlog_git.bb b/meta-openembedded/meta-oe/recipes-core/emlog/emlog_git.bb index 63d12477bf..22308d7e85 100644 --- a/meta-openembedded/meta-oe/recipes-core/emlog/emlog_git.bb +++ b/meta-openembedded/meta-oe/recipes-core/emlog/emlog_git.bb @@ -19,4 +19,4 @@ do_install() { install -Dm 0755 ${S}/mkemlog ${D}${bindir}/mkemlog } -RDEPENDS_${PN} += "kernel-module-emlog" +RRECOMMENDS_${PN} += "kernel-module-emlog" diff --git a/meta-openembedded/meta-oe/recipes-core/emlog/kernel-module-emlog_git.bb b/meta-openembedded/meta-oe/recipes-core/emlog/kernel-module-emlog_git.bb index 51f7226ebd..a554a4c947 100644 --- a/meta-openembedded/meta-oe/recipes-core/emlog/kernel-module-emlog_git.bb +++ b/meta-openembedded/meta-oe/recipes-core/emlog/kernel-module-emlog_git.bb @@ -7,6 +7,4 @@ EXTRA_OEMAKE += " \ KVER=${KERNEL_VERSION} \ " -do_compile() { - oe_runmake modules -} +MAKE_TARGETS = "modules" diff --git a/meta-openembedded/meta-oe/recipes-core/glfw/glfw_3.3.bb b/meta-openembedded/meta-oe/recipes-core/glfw/glfw_3.3.bb index e3853a201c..0fcf716c8e 100644 --- a/meta-openembedded/meta-oe/recipes-core/glfw/glfw_3.3.bb +++ b/meta-openembedded/meta-oe/recipes-core/glfw/glfw_3.3.bb @@ -8,15 +8,19 @@ LICENSE = "Zlib" LIC_FILES_CHKSUM = "file://LICENSE.md;md5=98d93d1ddc537f9b9ea6def64e046b5f" SECTION = "lib" -inherit pkgconfig cmake +inherit pkgconfig cmake features_check -S = "${WORKDIR}/git" +PV .= "+git${SRCPV}" +SRCREV = "781fbbadb0bccc749058177b1385c82da9ace880" SRC_URI = "git://github.com/glfw/glfw.git" -SRCREV = "d25248343e248337284dfbe5ecd1eddbd37ae66d" -EXTRA_OECMAKE += "-DBUILD_SHARED_LIBS=ON" +S = "${WORKDIR}/git" + +EXTRA_OECMAKE += "-DBUILD_SHARED_LIBS=ON -DGLFW_BUILD_DOCS=OFF" + +CFLAGS += "-fPIC" DEPENDS = "libpng libglu zlib libxrandr libxinerama libxi libxcursor" -REQUIRED_DISTRO_FEATURES = "x11" +REQUIRED_DISTRO_FEATURES = "x11 opengl" COMPATIBLE_HOST_libc-musl = "null" diff --git a/meta-openembedded/meta-oe/recipes-core/libnfc/libnfc_git.bb b/meta-openembedded/meta-oe/recipes-core/libnfc/libnfc_git.bb index 7efd3443dd..64c5f5c34d 100644 --- a/meta-openembedded/meta-oe/recipes-core/libnfc/libnfc_git.bb +++ b/meta-openembedded/meta-oe/recipes-core/libnfc/libnfc_git.bb @@ -8,7 +8,7 @@ SECTION = "libs" inherit autotools pkgconfig S = "${WORKDIR}/git" -SRCREV = "c42e2502d4627d3ea62f83c32677b100bb3cebdc" +SRCREV = "2d4543673e9b76c02679ca8b89259659f1afd932" SRC_URI = "git://github.com/nfc-tools/libnfc.git \ file://0001-usbbus-Include-stdint.h-for-uintX_t.patch \ " diff --git a/meta-openembedded/meta-oe/recipes-core/libsigc++-2.0/libsigc++-3_3.0.0.bb b/meta-openembedded/meta-oe/recipes-core/libsigc++-2.0/libsigc++-3_3.0.0.bb deleted file mode 100644 index 3c0330f503..0000000000 --- a/meta-openembedded/meta-oe/recipes-core/libsigc++-2.0/libsigc++-3_3.0.0.bb +++ /dev/null @@ -1,20 +0,0 @@ -SUMMARY = "A library for loose coupling of C++ method calls" -SECTION = "libs" -LICENSE = "LGPLv3" -LIC_FILES_CHKSUM = "file://COPYING;md5=959bffe2993816eb32ec4bc1ec1d5875" - -DEPENDS = "mm-common" - -SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/libsigc++/3.0/libsigc++-${PV}.tar.xz" -SRC_URI[md5sum] = "6ffe924f1d8624b5716468cde67dc03f" -SRC_URI[sha256sum] = "50a0855c1eb26e6044ffe888dbe061938ab4241f96d8f3754ea7ead38ab8ed06" - -S = "${WORKDIR}/libsigc++-${PV}" - -inherit autotools - -FILES_${PN}-dev += "${libdir}/sigc++-*/" -FILES_${PN}-doc += "${datadir}/devhelp" - -BBCLASSEXTEND = "native" -SECURITY_CFLAGS = "${SECURITY_NO_PIE_CFLAGS}" diff --git a/meta-openembedded/meta-oe/recipes-core/libsigc++-2.0/libsigc++-3_3.0.2.bb b/meta-openembedded/meta-oe/recipes-core/libsigc++-2.0/libsigc++-3_3.0.2.bb new file mode 100644 index 0000000000..26bd02c7b9 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-core/libsigc++-2.0/libsigc++-3_3.0.2.bb @@ -0,0 +1,20 @@ +SUMMARY = "A library for loose coupling of C++ method calls" +SECTION = "libs" +LICENSE = "LGPLv3" +LIC_FILES_CHKSUM = "file://COPYING;md5=959bffe2993816eb32ec4bc1ec1d5875" + +DEPENDS = "mm-common" + +SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/libsigc++/3.0/libsigc++-${PV}.tar.xz" +SRC_URI[md5sum] = "1f93f8ed4ead38e876157834b2c57c21" +SRC_URI[sha256sum] = "4b77676de1e74774ec456bcc6ac6f04a2791a12cc1fe07f8305d4c3c86e2f339" + +S = "${WORKDIR}/libsigc++-${PV}" + +inherit setuptools3 meson + +FILES_${PN}-dev += "${libdir}/sigc++-*/" +FILES_${PN}-doc += "${datadir}/devhelp" + +BBCLASSEXTEND = "native" +SECURITY_CFLAGS = "${SECURITY_NO_PIE_CFLAGS}" diff --git a/meta-openembedded/meta-oe/recipes-core/ndctl/ndctl_v65.bb b/meta-openembedded/meta-oe/recipes-core/ndctl/ndctl_v65.bb deleted file mode 100644 index 69ee1d476b..0000000000 --- a/meta-openembedded/meta-oe/recipes-core/ndctl/ndctl_v65.bb +++ /dev/null @@ -1,32 +0,0 @@ -SUMMARY = "libnvdimm utility library" -DESCRIPTION = "Utility library for managing the libnvdimm \ -(non-volatile memory device) sub-system in the Linux kernel. \ -The LIBNVDIMM subsystem provides support for three types of \ -NVDIMMs, namely,PMEM, BLK, and NVDIMM devices that can \ -simultaneously support both PMEM and BLK mode access." -HOMEPAGE = "https://git.kernel.org/cgit/linux/kernel/git/nvdimm/nvdimm.git/tree/Documentation/nvdimm/nvdimm.txt?h=libnvdimm-for-next" -LICENSE = "GPLv2+" -LIC_FILES_CHKSUM = "file://COPYING;md5=e66651809cac5da60c8b80e9e4e79e08" - -inherit autotools-brokensep pkgconfig bash-completion systemd - -SRCREV = "ed17fd14608d8de072c8c090ffc5fcf78c4f48ff" -SRC_URI = "git://github.com/pmem/ndctl.git" - -DEPENDS = "kmod udev json-c keyutils" - -S = "${WORKDIR}/git" - -EXTRA_OECONF += "--enable-test --enable-destructive --disable-docs" - -PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES','systemd','systemd','',d)}" -PACKAGECONFIG[systemd] = "--with-systemd, --without-systemd, systemd" - -do_configure_prepend() { - ${S}/autogen.sh -} - -SYSTEMD_SERVICE_${PN} = "ndctl-monitor.service" -SYSTEMD_AUTO_ENABLE_${PN} = "disable" - -FILES_${PN} += "${datadir}/daxctl/daxctl.conf" diff --git a/meta-openembedded/meta-oe/recipes-core/ndctl/ndctl_v67.bb b/meta-openembedded/meta-oe/recipes-core/ndctl/ndctl_v67.bb new file mode 100644 index 0000000000..da0c6563a7 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-core/ndctl/ndctl_v67.bb @@ -0,0 +1,32 @@ +SUMMARY = "libnvdimm utility library" +DESCRIPTION = "Utility library for managing the libnvdimm \ +(non-volatile memory device) sub-system in the Linux kernel. \ +The LIBNVDIMM subsystem provides support for three types of \ +NVDIMMs, namely,PMEM, BLK, and NVDIMM devices that can \ +simultaneously support both PMEM and BLK mode access." +HOMEPAGE = "https://git.kernel.org/cgit/linux/kernel/git/nvdimm/nvdimm.git/tree/Documentation/nvdimm/nvdimm.txt?h=libnvdimm-for-next" +LICENSE = "GPLv2+" +LIC_FILES_CHKSUM = "file://COPYING;md5=e66651809cac5da60c8b80e9e4e79e08" + +inherit autotools-brokensep pkgconfig bash-completion systemd + +SRCREV = "637bb424dc317a044c722a671355ef9df0e0d30f" +SRC_URI = "git://github.com/pmem/ndctl.git" + +DEPENDS = "kmod udev json-c keyutils" + +S = "${WORKDIR}/git" + +EXTRA_OECONF += "--enable-test --enable-destructive --disable-docs" + +PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES','systemd','systemd','',d)}" +PACKAGECONFIG[systemd] = "--with-systemd, --without-systemd, systemd" + +do_configure_prepend() { + ${S}/autogen.sh +} + +SYSTEMD_SERVICE_${PN} = "ndctl-monitor.service" +SYSTEMD_AUTO_ENABLE_${PN} = "disable" + +FILES_${PN} += "${datadir}/daxctl/daxctl.conf" diff --git a/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb b/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb index 310de53726..31c3f4e95d 100644 --- a/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb +++ b/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb @@ -93,6 +93,7 @@ RDEPENDS_packagegroup-meta-oe-bsp ="\ " RDEPENDS_packagegroup-meta-oe-bsp_remove_mipsarch = "efivar efibootmgr" RDEPENDS_packagegroup-meta-oe-bsp_remove_powerpc = "efivar efibootmgr" +RDEPENDS_packagegroup-meta-oe-bsp_remove_powerpc64 = "efivar efibootmgr" RDEPENDS_packagegroup-meta-oe-bsp_remove_riscv64 = "efivar efibootmgr" RDEPENDS_packagegroup-meta-oe-bsp_remove_riscv32 = "efivar efibootmgr" @@ -123,8 +124,9 @@ RDEPENDS_packagegroup-meta-oe-devtools_remove_mipsarch = "uftrace lshw" RDEPENDS_packagegroup-meta-oe-devtools_remove_mips64 = "nodejs" RDEPENDS_packagegroup-meta-oe-devtools_remove_mips64el = "nodejs" RDEPENDS_packagegroup-meta-oe-devtools_remove_powerpc = "android-tools breakpad uftrace lshw" -RDEPENDS_packagegroup-meta-oe-devtools_remove_riscv64 = "uftrace lshw" -RDEPENDS_packagegroup-meta-oe-devtools_remove_riscv32 = "uftrace lshw" +RDEPENDS_packagegroup-meta-oe-devtools_remove_powerpc64 = "android-tools uftrace lshw" +RDEPENDS_packagegroup-meta-oe-devtools_remove_riscv64 = "nodejs uftrace lshw" +RDEPENDS_packagegroup-meta-oe-devtools_remove_riscv32 = "nodejs uftrace lshw" RDEPENDS_packagegroup-meta-oe-extended ="\ byacc cfengine cfengine-masterfiles cmpi-bindings \ @@ -153,6 +155,7 @@ RDEPENDS_packagegroup-meta-oe-extended ="\ " RDEPENDS_packagegroup-meta-oe-extended_remove_mipsarch = "upm mraa tiptop" RDEPENDS_packagegroup-meta-oe-extended_remove_powerpc = "upm mraa" +RDEPENDS_packagegroup-meta-oe-extended_remove_powerpc64 = "upm mraa" RDEPENDS_packagegroup-meta-oe-extended_remove_riscv64 = "upm mraa tiptop" RDEPENDS_packagegroup-meta-oe-extended_remove_riscv32 = "upm mraa tiptop" RDEPENDS_packagegroup-meta-oe-extended_remove_libc-musl = "lcdproc" @@ -258,6 +261,8 @@ RDEPENDS_packagegroup-meta-oe-support ="\ RDEPENDS_packagegroup-meta-oe-support_remove_arm ="numactl" RDEPENDS_packagegroup-meta-oe-support_remove_mipsarch = "gperftools" +RDEPENDS_packagegroup-meta-oe-support_remove_riscv64 = "uim" +RDEPENDS_packagegroup-meta-oe-support_remove_riscv32 = "uim" RDEPENDS_packagegroup-meta-oe-support-egl ="\ freerdp libnice opencv \ diff --git a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-0.7.6/run-ptest b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-0.7.6/run-ptest new file mode 100755 index 0000000000..f6ade0c7e4 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-0.7.6/run-ptest @@ -0,0 +1,15 @@ +#!/bin/sh +set -e +set -o pipefail + +SCRIPTPATH="$( cd "$(dirname "$0")" ; pwd -P )" + +${SCRIPTPATH}/../tests/sdbus-c++-unit-tests 2>&1 | \ +sed -r 's/^\[\s+OK\s+\] (.*) \([0-9]+\sms\)$/OK: \1 /' | \ +sed -r 's/^\[\s+FAILED\s+\] (.*) \([0-9]+\sms\)$/FAILED: \1 /' | \ +awk '{if ($1 == "OK:" || $1 == "FAILED:") {print $0}}' + +${SCRIPTPATH}/../tests/sdbus-c++-integration-tests 2>&1 | \ +sed -r 's/^\[\s+OK\s+\] (.*) \([0-9]+\sms\)$/OK: \1 /' | \ +sed -r 's/^\[\s+FAILED\s+\] (.*) \([0-9]+\sms\)$/FAILED: \1 /' | \ +awk '{if ($1 == "OK:" || $1 == "FAILED:") {print $0}}' diff --git a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0001-do-not-disable-buffer-in-writing-files.patch b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0001-do-not-disable-buffer-in-writing-files.patch new file mode 100644 index 0000000000..2f4daf8665 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0001-do-not-disable-buffer-in-writing-files.patch @@ -0,0 +1,413 @@ +From 85e3c3046562ec24fc2f09ebfd08bf9f168091d5 Mon Sep 17 00:00:00 2001 +From: Chen Qi +Date: Fri, 1 Mar 2019 15:22:15 +0800 +Subject: [PATCH] do not disable buffer in writing files + +Do not disable buffer in writing files, otherwise we get +failure at boot for musl like below. + + [!!!!!!] Failed to allocate manager object. + +And there will be other failures, critical or not critical. +This is specific to musl. + +Upstream-Status: Inappropriate [musl] + +Signed-off-by: Chen Qi +[Rebased for v242] +Signed-off-by: Andrej Valek +[rebased for systemd 243] +Signed-off-by: Scott Murray +--- + src/basic/cgroup-util.c | 14 +++++++------- + src/basic/procfs-util.c | 4 ++-- + src/basic/smack-util.c | 2 +- + src/basic/util.c | 2 +- + src/binfmt/binfmt.c | 6 +++--- + src/core/main.c | 4 ++-- + src/core/smack-setup.c | 8 ++++---- + src/hibernate-resume/hibernate-resume.c | 2 +- + src/libsystemd/sd-device/sd-device.c | 2 +- + src/login/logind-dbus.c | 2 +- + src/nspawn/nspawn-cgroup.c | 2 +- + src/nspawn/nspawn.c | 6 +++--- + src/shared/sysctl-util.c | 2 +- + src/sleep/sleep.c | 10 +++++----- + src/udev/udevadm-trigger.c | 2 +- + src/udev/udevd.c | 2 +- + src/vconsole/vconsole-setup.c | 2 +- + 17 files changed, 36 insertions(+), 36 deletions(-) + +diff --git a/src/basic/cgroup-util.c b/src/basic/cgroup-util.c +index 7b5839ccd6..18f6e8ffc8 100644 +--- a/src/basic/cgroup-util.c ++++ b/src/basic/cgroup-util.c +@@ -860,7 +860,7 @@ int cg_attach(const char *controller, const char *path, pid_t pid) { + + xsprintf(c, PID_FMT "\n", pid); + +- r = write_string_file(fs, c, WRITE_STRING_FILE_DISABLE_BUFFER); ++ r = write_string_file(fs, c, 0); + if (r < 0) + return r; + +@@ -1142,7 +1142,7 @@ int cg_install_release_agent(const char *controller, const char *agent) { + + sc = strstrip(contents); + if (isempty(sc)) { +- r = write_string_file(fs, agent, WRITE_STRING_FILE_DISABLE_BUFFER); ++ r = write_string_file(fs, agent, 0); + if (r < 0) + return r; + } else if (!path_equal(sc, agent)) +@@ -1160,7 +1160,7 @@ int cg_install_release_agent(const char *controller, const char *agent) { + + sc = strstrip(contents); + if (streq(sc, "0")) { +- r = write_string_file(fs, "1", WRITE_STRING_FILE_DISABLE_BUFFER); ++ r = write_string_file(fs, "1", 0); + if (r < 0) + return r; + +@@ -1187,7 +1187,7 @@ int cg_uninstall_release_agent(const char *controller) { + if (r < 0) + return r; + +- r = write_string_file(fs, "0", WRITE_STRING_FILE_DISABLE_BUFFER); ++ r = write_string_file(fs, "0", 0); + if (r < 0) + return r; + +@@ -1197,7 +1197,7 @@ int cg_uninstall_release_agent(const char *controller) { + if (r < 0) + return r; + +- r = write_string_file(fs, "", WRITE_STRING_FILE_DISABLE_BUFFER); ++ r = write_string_file(fs, "", 0); + if (r < 0) + return r; + +@@ -2053,7 +2053,7 @@ int cg_set_attribute(const char *controller, const char *path, const char *attri + if (r < 0) + return r; + +- return write_string_file(p, value, WRITE_STRING_FILE_DISABLE_BUFFER); ++ return write_string_file(p, value, 0); + } + + int cg_get_attribute(const char *controller, const char *path, const char *attribute, char **ret) { +@@ -2697,7 +2697,7 @@ int cg_enable_everywhere( + return log_debug_errno(errno, "Failed to open cgroup.subtree_control file of %s: %m", p); + } + +- r = write_string_stream(f, s, WRITE_STRING_FILE_DISABLE_BUFFER); ++ r = write_string_stream(f, s, 0); + if (r < 0) { + log_debug_errno(r, "Failed to %s controller %s for %s (%s): %m", + FLAGS_SET(mask, bit) ? "enable" : "disable", n, p, fs); +diff --git a/src/basic/procfs-util.c b/src/basic/procfs-util.c +index 42ce53d5aa..57512532a6 100644 +--- a/src/basic/procfs-util.c ++++ b/src/basic/procfs-util.c +@@ -86,13 +86,13 @@ int procfs_tasks_set_limit(uint64_t limit) { + * decrease it, as threads-max is the much more relevant sysctl. */ + if (limit > pid_max-1) { + sprintf(buffer, "%" PRIu64, limit+1); /* Add one, since PID 0 is not a valid PID */ +- r = write_string_file("/proc/sys/kernel/pid_max", buffer, WRITE_STRING_FILE_DISABLE_BUFFER); ++ r = write_string_file("/proc/sys/kernel/pid_max", buffer, 0); + if (r < 0) + return r; + } + + sprintf(buffer, "%" PRIu64, limit); +- r = write_string_file("/proc/sys/kernel/threads-max", buffer, WRITE_STRING_FILE_DISABLE_BUFFER); ++ r = write_string_file("/proc/sys/kernel/threads-max", buffer, 0); + if (r < 0) { + uint64_t threads_max; + +diff --git a/src/basic/smack-util.c b/src/basic/smack-util.c +index 123d00e13e..e7ea78f349 100644 +--- a/src/basic/smack-util.c ++++ b/src/basic/smack-util.c +@@ -115,7 +115,7 @@ int mac_smack_apply_pid(pid_t pid, const char *label) { + return 0; + + p = procfs_file_alloca(pid, "attr/current"); +- r = write_string_file(p, label, WRITE_STRING_FILE_DISABLE_BUFFER); ++ r = write_string_file(p, label, 0); + if (r < 0) + return r; + +diff --git a/src/basic/util.c b/src/basic/util.c +index 93d610bc98..97dca64f73 100644 +--- a/src/basic/util.c ++++ b/src/basic/util.c +@@ -294,7 +294,7 @@ void disable_coredumps(void) { + if (detect_container() > 0) + return; + +- r = write_string_file("/proc/sys/kernel/core_pattern", "|/bin/false", WRITE_STRING_FILE_DISABLE_BUFFER); ++ r = write_string_file("/proc/sys/kernel/core_pattern", "|/bin/false", 0); + if (r < 0) + log_debug_errno(r, "Failed to turn off coredumps, ignoring: %m"); + } +diff --git a/src/binfmt/binfmt.c b/src/binfmt/binfmt.c +index aa9d811f2e..8c7f2dae7a 100644 +--- a/src/binfmt/binfmt.c ++++ b/src/binfmt/binfmt.c +@@ -48,7 +48,7 @@ static int delete_rule(const char *rule) { + if (!fn) + return log_oom(); + +- return write_string_file(fn, "-1", WRITE_STRING_FILE_DISABLE_BUFFER); ++ return write_string_file(fn, "-1", 0); + } + + static int apply_rule(const char *rule) { +@@ -56,7 +56,7 @@ static int apply_rule(const char *rule) { + + (void) delete_rule(rule); + +- r = write_string_file("/proc/sys/fs/binfmt_misc/register", rule, WRITE_STRING_FILE_DISABLE_BUFFER); ++ r = write_string_file("/proc/sys/fs/binfmt_misc/register", rule, 0); + if (r < 0) + return log_error_errno(r, "Failed to add binary format: %m"); + +@@ -213,7 +213,7 @@ static int run(int argc, char *argv[]) { + } + + /* Flush out all rules */ +- (void) write_string_file("/proc/sys/fs/binfmt_misc/status", "-1", WRITE_STRING_FILE_DISABLE_BUFFER); ++ (void) write_string_file("/proc/sys/fs/binfmt_misc/status", "-1", 0); + + STRV_FOREACH(f, files) { + k = apply_file(*f, true); +diff --git a/src/core/main.c b/src/core/main.c +index bcce7178a8..4199cedab9 100644 +--- a/src/core/main.c ++++ b/src/core/main.c +@@ -1285,7 +1285,7 @@ static int bump_unix_max_dgram_qlen(void) { + if (v >= DEFAULT_UNIX_MAX_DGRAM_QLEN) + return 0; + +- r = write_string_filef("/proc/sys/net/unix/max_dgram_qlen", WRITE_STRING_FILE_DISABLE_BUFFER, "%lu", DEFAULT_UNIX_MAX_DGRAM_QLEN); ++ r = write_string_filef("/proc/sys/net/unix/max_dgram_qlen", 0, "%lu", DEFAULT_UNIX_MAX_DGRAM_QLEN); + if (r < 0) + return log_full_errno(IN_SET(r, -EROFS, -EPERM, -EACCES) ? LOG_DEBUG : LOG_WARNING, r, + "Failed to bump AF_UNIX datagram queue length, ignoring: %m"); +@@ -1509,7 +1509,7 @@ static void initialize_core_pattern(bool skip_setup) { + if (getpid_cached() != 1) + return; + +- r = write_string_file("/proc/sys/kernel/core_pattern", arg_early_core_pattern, WRITE_STRING_FILE_DISABLE_BUFFER); ++ r = write_string_file("/proc/sys/kernel/core_pattern", arg_early_core_pattern, 0); + if (r < 0) + log_warning_errno(r, "Failed to write '%s' to /proc/sys/kernel/core_pattern, ignoring: %m", arg_early_core_pattern); + } +diff --git a/src/core/smack-setup.c b/src/core/smack-setup.c +index b95e6239d4..fdbdaaaccb 100644 +--- a/src/core/smack-setup.c ++++ b/src/core/smack-setup.c +@@ -325,17 +325,17 @@ int mac_smack_setup(bool *loaded_policy) { + } + + #ifdef SMACK_RUN_LABEL +- r = write_string_file("/proc/self/attr/current", SMACK_RUN_LABEL, WRITE_STRING_FILE_DISABLE_BUFFER); ++ r = write_string_file("/proc/self/attr/current", SMACK_RUN_LABEL, 0); + if (r < 0) + log_warning_errno(r, "Failed to set SMACK label \"" SMACK_RUN_LABEL "\" on self: %m"); +- r = write_string_file("/sys/fs/smackfs/ambient", SMACK_RUN_LABEL, WRITE_STRING_FILE_DISABLE_BUFFER); ++ r = write_string_file("/sys/fs/smackfs/ambient", SMACK_RUN_LABEL, 0); + if (r < 0) + log_warning_errno(r, "Failed to set SMACK ambient label \"" SMACK_RUN_LABEL "\": %m"); + r = write_string_file("/sys/fs/smackfs/netlabel", +- "0.0.0.0/0 " SMACK_RUN_LABEL, WRITE_STRING_FILE_DISABLE_BUFFER); ++ "0.0.0.0/0 " SMACK_RUN_LABEL, 0); + if (r < 0) + log_warning_errno(r, "Failed to set SMACK netlabel rule \"0.0.0.0/0 " SMACK_RUN_LABEL "\": %m"); +- r = write_string_file("/sys/fs/smackfs/netlabel", "127.0.0.1 -CIPSO", WRITE_STRING_FILE_DISABLE_BUFFER); ++ r = write_string_file("/sys/fs/smackfs/netlabel", "127.0.0.1 -CIPSO", 0); + if (r < 0) + log_warning_errno(r, "Failed to set SMACK netlabel rule \"127.0.0.1 -CIPSO\": %m"); + #endif +diff --git a/src/hibernate-resume/hibernate-resume.c b/src/hibernate-resume/hibernate-resume.c +index 17e7cd1a00..87a7667716 100644 +--- a/src/hibernate-resume/hibernate-resume.c ++++ b/src/hibernate-resume/hibernate-resume.c +@@ -45,7 +45,7 @@ int main(int argc, char *argv[]) { + return EXIT_FAILURE; + } + +- r = write_string_file("/sys/power/resume", major_minor, WRITE_STRING_FILE_DISABLE_BUFFER); ++ r = write_string_file("/sys/power/resume", major_minor, 0); + if (r < 0) { + log_error_errno(r, "Failed to write '%s' to /sys/power/resume: %m", major_minor); + return EXIT_FAILURE; +diff --git a/src/libsystemd/sd-device/sd-device.c b/src/libsystemd/sd-device/sd-device.c +index c4a7f2f3d3..bcac758284 100644 +--- a/src/libsystemd/sd-device/sd-device.c ++++ b/src/libsystemd/sd-device/sd-device.c +@@ -1849,7 +1849,7 @@ _public_ int sd_device_set_sysattr_value(sd_device *device, const char *sysattr, + if (!value) + return -ENOMEM; + +- r = write_string_file(path, value, WRITE_STRING_FILE_DISABLE_BUFFER | WRITE_STRING_FILE_NOFOLLOW); ++ r = write_string_file(path, value, 0 | WRITE_STRING_FILE_NOFOLLOW); + if (r < 0) { + if (r == -ELOOP) + return -EINVAL; +diff --git a/src/login/logind-dbus.c b/src/login/logind-dbus.c +index 30b9a66334..cc1d577933 100644 +--- a/src/login/logind-dbus.c ++++ b/src/login/logind-dbus.c +@@ -1325,7 +1325,7 @@ static int trigger_device(Manager *m, sd_device *d) { + if (!t) + return -ENOMEM; + +- (void) write_string_file(t, "change", WRITE_STRING_FILE_DISABLE_BUFFER); ++ (void) write_string_file(t, "change", 0); + } + + return 0; +diff --git a/src/nspawn/nspawn-cgroup.c b/src/nspawn/nspawn-cgroup.c +index 0462b46413..7c53d41483 100644 +--- a/src/nspawn/nspawn-cgroup.c ++++ b/src/nspawn/nspawn-cgroup.c +@@ -123,7 +123,7 @@ int sync_cgroup(pid_t pid, CGroupUnified unified_requested, uid_t uid_shift) { + fn = strjoina(tree, cgroup, "/cgroup.procs"); + + sprintf(pid_string, PID_FMT, pid); +- r = write_string_file(fn, pid_string, WRITE_STRING_FILE_DISABLE_BUFFER|WRITE_STRING_FILE_MKDIR_0755); ++ r = write_string_file(fn, pid_string, WRITE_STRING_FILE_MKDIR_0755); + if (r < 0) { + log_error_errno(r, "Failed to move process: %m"); + goto finish; +diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c +index 2aec8041f0..841542f2f3 100644 +--- a/src/nspawn/nspawn.c ++++ b/src/nspawn/nspawn.c +@@ -2357,7 +2357,7 @@ static int reset_audit_loginuid(void) { + if (streq(p, "4294967295")) + return 0; + +- r = write_string_file("/proc/self/loginuid", "4294967295", WRITE_STRING_FILE_DISABLE_BUFFER); ++ r = write_string_file("/proc/self/loginuid", "4294967295", 0); + if (r < 0) { + log_error_errno(r, + "Failed to reset audit login UID. This probably means that your kernel is too\n" +@@ -3566,13 +3566,13 @@ static int setup_uid_map(pid_t pid) { + + xsprintf(uid_map, "/proc/" PID_FMT "/uid_map", pid); + xsprintf(line, UID_FMT " " UID_FMT " " UID_FMT "\n", 0, arg_uid_shift, arg_uid_range); +- r = write_string_file(uid_map, line, WRITE_STRING_FILE_DISABLE_BUFFER); ++ r = write_string_file(uid_map, line, 0); + if (r < 0) + return log_error_errno(r, "Failed to write UID map: %m"); + + /* We always assign the same UID and GID ranges */ + xsprintf(uid_map, "/proc/" PID_FMT "/gid_map", pid); +- r = write_string_file(uid_map, line, WRITE_STRING_FILE_DISABLE_BUFFER); ++ r = write_string_file(uid_map, line, 0); + if (r < 0) + return log_error_errno(r, "Failed to write GID map: %m"); + +diff --git a/src/shared/sysctl-util.c b/src/shared/sysctl-util.c +index 93bdcf11bf..68cddb7a9f 100644 +--- a/src/shared/sysctl-util.c ++++ b/src/shared/sysctl-util.c +@@ -88,7 +88,7 @@ int sysctl_write_ip_property(int af, const char *ifname, const char *property, c + + log_debug("Setting '%s' to '%s'", p, value); + +- return write_string_file(p, value, WRITE_STRING_FILE_VERIFY_ON_FAILURE | WRITE_STRING_FILE_DISABLE_BUFFER); ++ return write_string_file(p, value, WRITE_STRING_FILE_VERIFY_ON_FAILURE | 0); + } + + int sysctl_read(const char *property, char **content) { +diff --git a/src/sleep/sleep.c b/src/sleep/sleep.c +index b9fe96635d..f168d7f890 100644 +--- a/src/sleep/sleep.c ++++ b/src/sleep/sleep.c +@@ -54,7 +54,7 @@ static int write_hibernate_location_info(void) { + + /* if it's a swap partition, we just write the disk to /sys/power/resume */ + if (streq(type, "partition")) { +- r = write_string_file("/sys/power/resume", device, WRITE_STRING_FILE_DISABLE_BUFFER); ++ r = write_string_file("/sys/power/resume", device, 0); + if (r < 0) + return log_debug_errno(r, "Failed to write partition device to /sys/power/resume: %m"); + +@@ -98,14 +98,14 @@ static int write_hibernate_location_info(void) { + + offset = fiemap->fm_extents[0].fe_physical / page_size(); + xsprintf(offset_str, "%" PRIu64, offset); +- r = write_string_file("/sys/power/resume_offset", offset_str, WRITE_STRING_FILE_DISABLE_BUFFER); ++ r = write_string_file("/sys/power/resume_offset", offset_str, 0); + if (r < 0) + return log_debug_errno(r, "Failed to write offset '%s': %m", offset_str); + + log_debug("Wrote calculated resume_offset value to /sys/power/resume_offset: %s", offset_str); + + xsprintf(device_str, "%lx", (unsigned long)stb.st_dev); +- r = write_string_file("/sys/power/resume", device_str, WRITE_STRING_FILE_DISABLE_BUFFER); ++ r = write_string_file("/sys/power/resume", device_str, 0); + if (r < 0) + return log_debug_errno(r, "Failed to write device '%s': %m", device_str); + +@@ -121,7 +121,7 @@ static int write_mode(char **modes) { + STRV_FOREACH(mode, modes) { + int k; + +- k = write_string_file("/sys/power/disk", *mode, WRITE_STRING_FILE_DISABLE_BUFFER); ++ k = write_string_file("/sys/power/disk", *mode, 0); + if (k >= 0) + return 0; + +@@ -140,7 +140,7 @@ static int write_state(FILE **f, char **states) { + STRV_FOREACH(state, states) { + int k; + +- k = write_string_stream(*f, *state, WRITE_STRING_FILE_DISABLE_BUFFER); ++ k = write_string_stream(*f, *state, 0); + if (k >= 0) + return 0; + log_debug_errno(k, "Failed to write '%s' to /sys/power/state: %m", *state); +diff --git a/src/udev/udevadm-trigger.c b/src/udev/udevadm-trigger.c +index 77d95e513f..25ce4abfb1 100644 +--- a/src/udev/udevadm-trigger.c ++++ b/src/udev/udevadm-trigger.c +@@ -43,7 +43,7 @@ static int exec_list(sd_device_enumerator *e, const char *action, Set *settle_se + if (!filename) + return log_oom(); + +- r = write_string_file(filename, action, WRITE_STRING_FILE_DISABLE_BUFFER); ++ r = write_string_file(filename, action, 0); + if (r < 0) { + log_full_errno(r == -ENOENT ? LOG_DEBUG : LOG_ERR, r, + "Failed to write '%s' to '%s': %m", action, filename); +diff --git a/src/udev/udevd.c b/src/udev/udevd.c +index cb5123042a..ea309a9e7f 100644 +--- a/src/udev/udevd.c ++++ b/src/udev/udevd.c +@@ -1113,7 +1113,7 @@ static int synthesize_change_one(sd_device *dev, const char *syspath) { + + filename = strjoina(syspath, "/uevent"); + log_device_debug(dev, "device is closed, synthesising 'change' on %s", syspath); +- r = write_string_file(filename, "change", WRITE_STRING_FILE_DISABLE_BUFFER); ++ r = write_string_file(filename, "change", 0); + if (r < 0) + return log_device_debug_errno(dev, r, "Failed to write 'change' to %s: %m", filename); + return 0; +diff --git a/src/vconsole/vconsole-setup.c b/src/vconsole/vconsole-setup.c +index 75d052ae70..5a15c939d8 100644 +--- a/src/vconsole/vconsole-setup.c ++++ b/src/vconsole/vconsole-setup.c +@@ -117,7 +117,7 @@ static int toggle_utf8_vc(const char *name, int fd, bool utf8) { + static int toggle_utf8_sysfs(bool utf8) { + int r; + +- r = write_string_file("/sys/module/vt/parameters/default_utf8", one_zero(utf8), WRITE_STRING_FILE_DISABLE_BUFFER); ++ r = write_string_file("/sys/module/vt/parameters/default_utf8", one_zero(utf8), 0); + if (r < 0) + return log_warning_errno(r, "Failed to %s sysfs UTF-8 flag: %m", enable_disable(utf8)); + diff --git a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0002-don-t-use-glibc-specific-qsort_r.patch b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0002-don-t-use-glibc-specific-qsort_r.patch new file mode 100644 index 0000000000..c6213ab88e --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0002-don-t-use-glibc-specific-qsort_r.patch @@ -0,0 +1,163 @@ +From 1eb84534dea05d41afed1d898cba212ad7d310dd Mon Sep 17 00:00:00 2001 +From: Chen Qi +Date: Mon, 25 Feb 2019 13:41:41 +0800 +Subject: [PATCH 02/24] don't use glibc-specific qsort_r + +Upstream-Status: Inappropriate [musl specific] + +Signed-off-by: Khem Raj +[Rebased for v241] +Signed-off-by: Chen Qi +[Rebased for v242] +Signed-off-by: Andrej Valek +--- + src/basic/sort-util.h | 14 -------------- + src/libsystemd/sd-hwdb/hwdb-util.c | 19 ++++++++++++++----- + src/shared/format-table.c | 36 ++++++++++++++++++++++++------------ + 3 files changed, 38 insertions(+), 31 deletions(-) + +diff --git a/src/basic/sort-util.h b/src/basic/sort-util.h +index e029f8646e..27d68b341c 100644 +--- a/src/basic/sort-util.h ++++ b/src/basic/sort-util.h +@@ -54,17 +54,3 @@ static inline void qsort_safe(void *base, size_t nmemb, size_t size, __compar_fn + int (*_func_)(const typeof(p[0])*, const typeof(p[0])*) = func; \ + qsort_safe((p), (n), sizeof((p)[0]), (__compar_fn_t) _func_); \ + }) +- +-static inline void qsort_r_safe(void *base, size_t nmemb, size_t size, __compar_d_fn_t compar, void *userdata) { +- if (nmemb <= 1) +- return; +- +- assert(base); +- qsort_r(base, nmemb, size, compar, userdata); +-} +- +-#define typesafe_qsort_r(p, n, func, userdata) \ +- ({ \ +- int (*_func_)(const typeof(p[0])*, const typeof(p[0])*, typeof(userdata)) = func; \ +- qsort_r_safe((p), (n), sizeof((p)[0]), (__compar_d_fn_t) _func_, userdata); \ +- }) +diff --git a/src/libsystemd/sd-hwdb/hwdb-util.c b/src/libsystemd/sd-hwdb/hwdb-util.c +index c83575c7c8..72f8f3a050 100644 +--- a/src/libsystemd/sd-hwdb/hwdb-util.c ++++ b/src/libsystemd/sd-hwdb/hwdb-util.c +@@ -128,9 +128,13 @@ static void trie_free(struct trie *trie) { + + DEFINE_TRIVIAL_CLEANUP_FUNC(struct trie*, trie_free); + +-static int trie_values_cmp(const struct trie_value_entry *a, const struct trie_value_entry *b, struct trie *trie) { +- return strcmp(trie->strings->buf + a->key_off, +- trie->strings->buf + b->key_off); ++static struct trie *trie_node_add_value_trie; ++static int trie_values_cmp(const void *v1, const void *v2) { ++ const struct trie_value_entry *a = v1; ++ const struct trie_value_entry *b = v2; ++ ++ return strcmp(trie_node_add_value_trie->strings->buf + a->key_off, ++ trie_node_add_value_trie->strings->buf + b->key_off); + } + + static int trie_node_add_value(struct trie *trie, struct trie_node *node, +@@ -158,7 +162,10 @@ static int trie_node_add_value(struct trie *trie, struct trie_node *node, + .value_off = v, + }; + +- val = typesafe_bsearch_r(&search, node->values, node->values_count, trie_values_cmp, trie); ++ trie_node_add_value_trie = trie; ++ val = bsearch(&search, node->values, node->values_count, sizeof(struct trie_value_entry), trie_values_cmp); ++ trie_node_add_value_trie = NULL; ++ + if (val) { + /* At this point we have 2 identical properties on the same match-string. + * Since we process files in order, we just replace the previous value. */ +@@ -184,7 +191,9 @@ static int trie_node_add_value(struct trie *trie, struct trie_node *node, + .line_number = line_number, + }; + node->values_count++; +- typesafe_qsort_r(node->values, node->values_count, trie_values_cmp, trie); ++ trie_node_add_value_trie = trie; ++ qsort(node->values, node->values_count, sizeof(struct trie_value_entry), trie_values_cmp); ++ trie_node_add_value_trie = NULL; + return 0; + } + +diff --git a/src/shared/format-table.c b/src/shared/format-table.c +index a5c0a99b08..d595cbe372 100644 +--- a/src/shared/format-table.c ++++ b/src/shared/format-table.c +@@ -850,31 +850,33 @@ static int cell_data_compare(TableData *a, size_t index_a, TableData *b, size_t + return CMP(index_a, index_b); + } + +-static int table_data_compare(const size_t *a, const size_t *b, Table *t) { ++static Table *user_table; ++static int table_data_compare(const void *x, const void *y) { ++ const size_t *a = x, *b=y; + size_t i; + int r; + +- assert(t); +- assert(t->sort_map); ++ assert(user_table); ++ assert(user_table->sort_map); + + /* Make sure the header stays at the beginning */ +- if (*a < t->n_columns && *b < t->n_columns) ++ if (*a < user_table->n_columns && *b < user_table->n_columns) + return 0; +- if (*a < t->n_columns) ++ if (*a < user_table->n_columns) + return -1; +- if (*b < t->n_columns) ++ if (*b < user_table->n_columns) + return 1; + + /* Order other lines by the sorting map */ +- for (i = 0; i < t->n_sort_map; i++) { ++ for (i = 0; i < user_table->n_sort_map; i++) { + TableData *d, *dd; + +- d = t->data[*a + t->sort_map[i]]; +- dd = t->data[*b + t->sort_map[i]]; ++ d = user_table->data[*a + user_table->sort_map[i]]; ++ dd = user_table->data[*b + user_table->sort_map[i]]; + + r = cell_data_compare(d, *a, dd, *b); + if (r != 0) +- return t->reverse_map && t->reverse_map[t->sort_map[i]] ? -r : r; ++ return user_table->reverse_map && user_table->reverse_map[user_table->sort_map[i]] ? -r : r; + } + + /* Order identical lines by the order there were originally added in */ +@@ -1107,7 +1109,12 @@ int table_print(Table *t, FILE *f) { + for (i = 0; i < n_rows; i++) + sorted[i] = i * t->n_columns; + +- typesafe_qsort_r(sorted, n_rows, table_data_compare, t); ++ if (n_rows <= 1) ++ return 0; ++ assert(sorted); ++ user_table = t; ++ qsort(sorted, n_rows, sizeof(size_t), table_data_compare); ++ user_table = NULL; + } + + if (t->display_map) +@@ -1534,7 +1541,12 @@ int table_to_json(Table *t, JsonVariant **ret) { + for (i = 0; i < n_rows; i++) + sorted[i] = i * t->n_columns; + +- typesafe_qsort_r(sorted, n_rows, table_data_compare, t); ++ if (n_rows <= 1) ++ return 0; ++ assert(sorted); ++ user_table = t; ++ qsort(sorted, n_rows, sizeof(size_t), table_data_compare); ++ user_table = NULL; + } + + if (t->display_map) +-- +2.11.0 + diff --git a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0002-src-login-brightness.c-include-sys-wait.h.patch b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0002-src-login-brightness.c-include-sys-wait.h.patch new file mode 100644 index 0000000000..dcae668dcb --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0002-src-login-brightness.c-include-sys-wait.h.patch @@ -0,0 +1,25 @@ +Include sys/wait.h + +Fixes: +src/login/logind-brightness.c:158:85: error: 'WEXITED' undeclared (first use in this function); did you mean 'WIFEXITED'? + 158 | r = sd_event_add_child(w->manager->event, &w->child_event_source, w->child, WEXITED, on_brightness_writer_exit, w); + | ^~~~~~~ + +Upstream-Status: Pending + +Signed-off-by: Scott Murray +--- + src/login/logind-brightness.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/login/logind-brightness.c b/src/login/logind-brightness.c +index 8dfa97d7ae..bddd4a2727 100644 +--- a/src/login/logind-brightness.c ++++ b/src/login/logind-brightness.c +@@ -1,5 +1,6 @@ + /* SPDX-License-Identifier: LGPL-2.1+ */ + ++#include + #include "bus-util.h" + #include "device-util.h" + #include "hash-funcs.h" diff --git a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0003-missing_type.h-add-__compare_fn_t-and-comparison_fn_.patch b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0003-missing_type.h-add-__compare_fn_t-and-comparison_fn_.patch new file mode 100644 index 0000000000..2e39f7a2e1 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0003-missing_type.h-add-__compare_fn_t-and-comparison_fn_.patch @@ -0,0 +1,63 @@ +From a9421d55102fc84f77f7c21a2479fcd00652b896 Mon Sep 17 00:00:00 2001 +From: Chen Qi +Date: Mon, 25 Feb 2019 13:55:12 +0800 +Subject: [PATCH 03/24] missing_type.h: add __compare_fn_t and comparison_fn_t + +Make it work with musl where comparison_fn_t and __compare_fn_t +is not provided. + +Upstream-Status: Inappropriate [musl specific] + +Signed-off-by: Chen Qi +[Rebased for v242] +Signed-off-by: Andrej Valek +--- + src/basic/missing_type.h | 9 +++++++++ + src/basic/sort-util.h | 1 + + src/journal/catalog.c | 1 + + 3 files changed, 11 insertions(+) + +diff --git a/src/basic/missing_type.h b/src/basic/missing_type.h +index bf8a6caa1b..2134fe5095 100644 +--- a/src/basic/missing_type.h ++++ b/src/basic/missing_type.h +@@ -10,3 +10,12 @@ + #if !HAVE_CHAR16_T + #define char16_t uint16_t + #endif ++ ++#ifndef __GLIBC__ ++typedef int (*comparison_fn_t)(const void *, const void *); ++#endif ++ ++#ifndef __COMPAR_FN_T ++#define __COMPAR_FN_T ++typedef int (*__compar_fn_t)(const void *, const void *); ++#endif +diff --git a/src/basic/sort-util.h b/src/basic/sort-util.h +index e029f86..7247d40 100644 +--- a/src/basic/sort-util.h ++++ b/src/basic/sort-util.h +@@ -4,6 +4,7 @@ + #include + + #include "macro.h" ++#include "missing.h" + + void *xbsearch_r(const void *key, const void *base, size_t nmemb, size_t size, + __compar_d_fn_t compar, void *arg); +diff --git a/src/journal/catalog.c b/src/journal/catalog.c +index 7beffc1e1a..4818a2e5cc 100644 +--- a/src/journal/catalog.c ++++ b/src/journal/catalog.c +@@ -29,6 +29,7 @@ + #include "string-util.h" + #include "strv.h" + #include "tmpfile-util.h" ++#include "missing.h" + + const char * const catalog_file_dirs[] = { + "/usr/local/lib/systemd/catalog/", +-- +2.11.0 + diff --git a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0003-src-basic-copy.c-include-signal.h.patch b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0003-src-basic-copy.c-include-signal.h.patch new file mode 100644 index 0000000000..7ee0d48fa6 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0003-src-basic-copy.c-include-signal.h.patch @@ -0,0 +1,27 @@ +Include signal.h + +Fixes several signal set related errors: +src/basic/copy.c:92:19: error: implicit declaration of function 'sigemptyset' [-Werror=implicit-function-declaration] +src/basic/copy.c:93:19: error: implicit declaration of function 'sigaddset' [-Werror=implicit-function-declaration] +src/basic/copy.c:93:34: error: 'SIGINT' undeclared (first use in this function) +src/basic/copy.c:95:13: error: implicit declaration of function 'sigtimedwait' [-Werror=implicit-function-declaration] + +Upstream-Status: Pending + +Signed-off-by: Scott Murray +--- + src/basic/copy.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/basic/copy.c b/src/basic/copy.c +index ca311e021e..3cf7fc1697 100644 +--- a/src/basic/copy.c ++++ b/src/basic/copy.c +@@ -12,6 +12,7 @@ + #include + #include + #include ++#include + + #include "alloc-util.h" + #include "btrfs-util.h" diff --git a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0004-add-fallback-parse_printf_format-implementation.patch b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0004-add-fallback-parse_printf_format-implementation.patch new file mode 100644 index 0000000000..a2aad40ac2 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0004-add-fallback-parse_printf_format-implementation.patch @@ -0,0 +1,432 @@ +From 7bcf3b166694090497a0acd2c5299e4e04fcc9b6 Mon Sep 17 00:00:00 2001 +From: Chen Qi +Date: Mon, 25 Feb 2019 14:04:21 +0800 +Subject: [PATCH 04/24] add fallback parse_printf_format implementation + +Upstream-Status: Inappropriate [musl specific] + +Signed-off-by: Emil Renner Berthing +Signed-off-by: Khem Raj +Signed-off-by: Chen Qi +[rebased for systemd 243] +Signed-off-by: Scott Murray +--- + meson.build | 1 + + src/basic/meson.build | 5 + + src/basic/parse-printf-format.c | 273 ++++++++++++++++++++++++++++++++++++++++ + src/basic/parse-printf-format.h | 57 +++++++++ + src/basic/stdio-util.h | 2 +- + src/journal/journal-send.c | 2 +- + 6 files changed, 338 insertions(+), 2 deletions(-) + create mode 100644 src/basic/parse-printf-format.c + create mode 100644 src/basic/parse-printf-format.h + +diff --git a/meson.build b/meson.build +index 79b762faeb..7f8c679411 100644 +--- a/meson.build ++++ b/meson.build +@@ -613,6 +613,7 @@ endif + foreach header : ['crypt.h', + 'linux/memfd.h', + 'linux/vm_sockets.h', ++ 'printf.h', + 'sys/auxv.h', + 'valgrind/memcheck.h', + 'valgrind/valgrind.h', +diff --git a/src/basic/meson.build b/src/basic/meson.build +index d6caf28f14..32c1acf349 100644 +--- a/src/basic/meson.build ++++ b/src/basic/meson.build +@@ -312,6 +312,11 @@ foreach item : [['af', af_list_txt, 'af', ''], + endforeach + + basic_sources += generated_gperf_headers ++ ++if conf.get('HAVE_PRINTF_H') != 1 ++ basic_sources += [files('parse-printf-format.c')] ++endif ++ + basic_gcrypt_sources = files( + 'gcrypt-util.c', + 'gcrypt-util.h') +diff --git a/src/basic/parse-printf-format.c b/src/basic/parse-printf-format.c +new file mode 100644 +index 0000000000..49437e5445 +--- /dev/null ++++ b/src/basic/parse-printf-format.c +@@ -0,0 +1,273 @@ ++/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/ ++ ++/*** ++ This file is part of systemd. ++ ++ Copyright 2014 Emil Renner Berthing ++ ++ With parts from the musl C library ++ Copyright 2005-2014 Rich Felker, et al. ++ ++ systemd is free software; you can redistribute it and/or modify it ++ under the terms of the GNU Lesser General Public License as published by ++ the Free Software Foundation; either version 2.1 of the License, or ++ (at your option) any later version. ++ ++ systemd is distributed in the hope that it will be useful, but ++ WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public License ++ along with systemd; If not, see . ++***/ ++ ++#include ++#include ++ ++#include "parse-printf-format.h" ++ ++static const char *consume_nonarg(const char *fmt) ++{ ++ do { ++ if (*fmt == '\0') ++ return fmt; ++ } while (*fmt++ != '%'); ++ return fmt; ++} ++ ++static const char *consume_num(const char *fmt) ++{ ++ for (;*fmt >= '0' && *fmt <= '9'; fmt++) ++ /* do nothing */; ++ return fmt; ++} ++ ++static const char *consume_argn(const char *fmt, size_t *arg) ++{ ++ const char *p = fmt; ++ size_t val = 0; ++ ++ if (*p < '1' || *p > '9') ++ return fmt; ++ do { ++ val = 10*val + (*p++ - '0'); ++ } while (*p >= '0' && *p <= '9'); ++ ++ if (*p != '$') ++ return fmt; ++ *arg = val; ++ return p+1; ++} ++ ++static const char *consume_flags(const char *fmt) ++{ ++ while (1) { ++ switch (*fmt) { ++ case '#': ++ case '0': ++ case '-': ++ case ' ': ++ case '+': ++ case '\'': ++ case 'I': ++ fmt++; ++ continue; ++ } ++ return fmt; ++ } ++} ++ ++enum state { ++ BARE, ++ LPRE, ++ LLPRE, ++ HPRE, ++ HHPRE, ++ BIGLPRE, ++ ZTPRE, ++ JPRE, ++ STOP ++}; ++ ++enum type { ++ NONE, ++ PTR, ++ INT, ++ UINT, ++ ULLONG, ++ LONG, ++ ULONG, ++ SHORT, ++ USHORT, ++ CHAR, ++ UCHAR, ++ LLONG, ++ SIZET, ++ IMAX, ++ UMAX, ++ PDIFF, ++ UIPTR, ++ DBL, ++ LDBL, ++ MAXTYPE ++}; ++ ++static const short pa_types[MAXTYPE] = { ++ [NONE] = PA_INT, ++ [PTR] = PA_POINTER, ++ [INT] = PA_INT, ++ [UINT] = PA_INT, ++ [ULLONG] = PA_INT | PA_FLAG_LONG_LONG, ++ [LONG] = PA_INT | PA_FLAG_LONG, ++ [ULONG] = PA_INT | PA_FLAG_LONG, ++ [SHORT] = PA_INT | PA_FLAG_SHORT, ++ [USHORT] = PA_INT | PA_FLAG_SHORT, ++ [CHAR] = PA_CHAR, ++ [UCHAR] = PA_CHAR, ++ [LLONG] = PA_INT | PA_FLAG_LONG_LONG, ++ [SIZET] = PA_INT | PA_FLAG_LONG, ++ [IMAX] = PA_INT | PA_FLAG_LONG_LONG, ++ [UMAX] = PA_INT | PA_FLAG_LONG_LONG, ++ [PDIFF] = PA_INT | PA_FLAG_LONG_LONG, ++ [UIPTR] = PA_INT | PA_FLAG_LONG, ++ [DBL] = PA_DOUBLE, ++ [LDBL] = PA_DOUBLE | PA_FLAG_LONG_DOUBLE ++}; ++ ++#define S(x) [(x)-'A'] ++#define E(x) (STOP + (x)) ++ ++static const unsigned char states[]['z'-'A'+1] = { ++ { /* 0: bare types */ ++ S('d') = E(INT), S('i') = E(INT), ++ S('o') = E(UINT),S('u') = E(UINT),S('x') = E(UINT), S('X') = E(UINT), ++ S('e') = E(DBL), S('f') = E(DBL), S('g') = E(DBL), S('a') = E(DBL), ++ S('E') = E(DBL), S('F') = E(DBL), S('G') = E(DBL), S('A') = E(DBL), ++ S('c') = E(CHAR),S('C') = E(INT), ++ S('s') = E(PTR), S('S') = E(PTR), S('p') = E(UIPTR),S('n') = E(PTR), ++ S('m') = E(NONE), ++ S('l') = LPRE, S('h') = HPRE, S('L') = BIGLPRE, ++ S('z') = ZTPRE, S('j') = JPRE, S('t') = ZTPRE ++ }, { /* 1: l-prefixed */ ++ S('d') = E(LONG), S('i') = E(LONG), ++ S('o') = E(ULONG),S('u') = E(ULONG),S('x') = E(ULONG),S('X') = E(ULONG), ++ S('e') = E(DBL), S('f') = E(DBL), S('g') = E(DBL), S('a') = E(DBL), ++ S('E') = E(DBL), S('F') = E(DBL), S('G') = E(DBL), S('A') = E(DBL), ++ S('c') = E(INT), S('s') = E(PTR), S('n') = E(PTR), ++ S('l') = LLPRE ++ }, { /* 2: ll-prefixed */ ++ S('d') = E(LLONG), S('i') = E(LLONG), ++ S('o') = E(ULLONG),S('u') = E(ULLONG), ++ S('x') = E(ULLONG),S('X') = E(ULLONG), ++ S('n') = E(PTR) ++ }, { /* 3: h-prefixed */ ++ S('d') = E(SHORT), S('i') = E(SHORT), ++ S('o') = E(USHORT),S('u') = E(USHORT), ++ S('x') = E(USHORT),S('X') = E(USHORT), ++ S('n') = E(PTR), ++ S('h') = HHPRE ++ }, { /* 4: hh-prefixed */ ++ S('d') = E(CHAR), S('i') = E(CHAR), ++ S('o') = E(UCHAR),S('u') = E(UCHAR), ++ S('x') = E(UCHAR),S('X') = E(UCHAR), ++ S('n') = E(PTR) ++ }, { /* 5: L-prefixed */ ++ S('e') = E(LDBL),S('f') = E(LDBL),S('g') = E(LDBL), S('a') = E(LDBL), ++ S('E') = E(LDBL),S('F') = E(LDBL),S('G') = E(LDBL), S('A') = E(LDBL), ++ S('n') = E(PTR) ++ }, { /* 6: z- or t-prefixed (assumed to be same size) */ ++ S('d') = E(PDIFF),S('i') = E(PDIFF), ++ S('o') = E(SIZET),S('u') = E(SIZET), ++ S('x') = E(SIZET),S('X') = E(SIZET), ++ S('n') = E(PTR) ++ }, { /* 7: j-prefixed */ ++ S('d') = E(IMAX), S('i') = E(IMAX), ++ S('o') = E(UMAX), S('u') = E(UMAX), ++ S('x') = E(UMAX), S('X') = E(UMAX), ++ S('n') = E(PTR) ++ } ++}; ++ ++size_t parse_printf_format(const char *fmt, size_t n, int *types) ++{ ++ size_t i = 0; ++ size_t last = 0; ++ ++ memset(types, 0, n); ++ ++ while (1) { ++ size_t arg; ++ unsigned int state; ++ ++ fmt = consume_nonarg(fmt); ++ if (*fmt == '\0') ++ break; ++ if (*fmt == '%') { ++ fmt++; ++ continue; ++ } ++ arg = 0; ++ fmt = consume_argn(fmt, &arg); ++ /* flags */ ++ fmt = consume_flags(fmt); ++ /* width */ ++ if (*fmt == '*') { ++ size_t warg = 0; ++ fmt = consume_argn(fmt+1, &warg); ++ if (warg == 0) ++ warg = ++i; ++ if (warg > last) ++ last = warg; ++ if (warg <= n && types[warg-1] == NONE) ++ types[warg-1] = INT; ++ } else ++ fmt = consume_num(fmt); ++ /* precision */ ++ if (*fmt == '.') { ++ fmt++; ++ if (*fmt == '*') { ++ size_t parg = 0; ++ fmt = consume_argn(fmt+1, &parg); ++ if (parg == 0) ++ parg = ++i; ++ if (parg > last) ++ last = parg; ++ if (parg <= n && types[parg-1] == NONE) ++ types[parg-1] = INT; ++ } else { ++ if (*fmt == '-') ++ fmt++; ++ fmt = consume_num(fmt); ++ } ++ } ++ /* length modifier and conversion specifier */ ++ state = BARE; ++ do { ++ unsigned char c = *fmt++; ++ ++ if (c < 'A' || c > 'z') ++ continue; ++ state = states[state]S(c); ++ if (state == 0) ++ continue; ++ } while (state < STOP); ++ ++ if (state == E(NONE)) ++ continue; ++ ++ if (arg == 0) ++ arg = ++i; ++ if (arg > last) ++ last = arg; ++ if (arg <= n) ++ types[arg-1] = state - STOP; ++ } ++ ++ if (last > n) ++ last = n; ++ for (i = 0; i < last; i++) ++ types[i] = pa_types[types[i]]; ++ ++ return last; ++} +diff --git a/src/basic/parse-printf-format.h b/src/basic/parse-printf-format.h +new file mode 100644 +index 0000000000..47be7522d7 +--- /dev/null ++++ b/src/basic/parse-printf-format.h +@@ -0,0 +1,57 @@ ++/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/ ++ ++/*** ++ This file is part of systemd. ++ ++ Copyright 2014 Emil Renner Berthing ++ ++ With parts from the GNU C Library ++ Copyright 1991-2014 Free Software Foundation, Inc. ++ ++ systemd is free software; you can redistribute it and/or modify it ++ under the terms of the GNU Lesser General Public License as published by ++ the Free Software Foundation; either version 2.1 of the License, or ++ (at your option) any later version. ++ ++ systemd is distributed in the hope that it will be useful, but ++ WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public License ++ along with systemd; If not, see . ++***/ ++ ++#pragma once ++ ++#include "config.h" ++ ++#if HAVE_PRINTF_H ++#include ++#else ++ ++#include ++ ++enum { /* C type: */ ++ PA_INT, /* int */ ++ PA_CHAR, /* int, cast to char */ ++ PA_WCHAR, /* wide char */ ++ PA_STRING, /* const char *, a '\0'-terminated string */ ++ PA_WSTRING, /* const wchar_t *, wide character string */ ++ PA_POINTER, /* void * */ ++ PA_FLOAT, /* float */ ++ PA_DOUBLE, /* double */ ++ PA_LAST ++}; ++ ++/* Flag bits that can be set in a type returned by `parse_printf_format'. */ ++#define PA_FLAG_MASK 0xff00 ++#define PA_FLAG_LONG_LONG (1 << 8) ++#define PA_FLAG_LONG_DOUBLE PA_FLAG_LONG_LONG ++#define PA_FLAG_LONG (1 << 9) ++#define PA_FLAG_SHORT (1 << 10) ++#define PA_FLAG_PTR (1 << 11) ++ ++size_t parse_printf_format(const char *fmt, size_t n, int *types); ++ ++#endif /* HAVE_PRINTF_H */ +diff --git a/src/basic/stdio-util.h b/src/basic/stdio-util.h +index c3b9448d4f..2937aa13b1 100644 +--- a/src/basic/stdio-util.h ++++ b/src/basic/stdio-util.h +@@ -1,13 +1,13 @@ + /* SPDX-License-Identifier: LGPL-2.1+ */ + #pragma once + +-#include + #include + #include + #include + + #include "macro.h" + #include "memory-util.h" ++#include "parse-printf-format.h" + + #define snprintf_ok(buf, len, fmt, ...) \ + ((size_t) snprintf(buf, len, fmt, __VA_ARGS__) < (len)) +diff --git a/src/journal/journal-send.c b/src/journal/journal-send.c +index 5ef11fa1a4..6384ab620c 100644 +--- a/src/journal/journal-send.c ++++ b/src/journal/journal-send.c +@@ -2,7 +2,6 @@ + + #include + #include +-#include + #include + #include + #include +@@ -21,6 +20,7 @@ + #include "stdio-util.h" + #include "string-util.h" + #include "tmpfile-util.h" ++#include "parse-printf-format.h" + + #define SNDBUF_SIZE (8*1024*1024) + diff --git a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0004-src-shared-cpu-set-util.h-add-__cpu_mask-definition.patch b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0004-src-shared-cpu-set-util.h-add-__cpu_mask-definition.patch new file mode 100644 index 0000000000..0f75e8c12d --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0004-src-shared-cpu-set-util.h-add-__cpu_mask-definition.patch @@ -0,0 +1,54 @@ +Handle __cpu_mask usage + +Fixes errors: + +src/test/test-cpu-set-util.c:18:54: error: '__cpu_mask' undeclared (first use in this function) +src/test/test-sizeof.c:73:14: error: '__cpu_mask' undeclared (first use in this function) + +__cpu_mask is an internal type of glibc's cpu_set implementation, not +part of the POSIX definition, which is problematic when building with +musl, which does not define a matching type. From inspection of musl's +sched.h, however, it is clear that the corresponding type would be +unsigned long, which does match glibc's actual __CPU_MASK_TYPE. So, +add a typedef to cpu-set-util.h defining __cpu_mask appropriately. + +Upstream-Status: Inappropriate [musl specific] + +Signed-off-by: Scott Murray +--- + src/shared/cpu-set-util.h | 2 ++ + src/test/test-sizeof.c | 2 +- + 2 files changed, 3 insertions(+), 1 deletion(-) + +diff --git a/src/shared/cpu-set-util.h b/src/shared/cpu-set-util.h +index 27812dfd59..f698f9df83 100644 +--- a/src/shared/cpu-set-util.h ++++ b/src/shared/cpu-set-util.h +@@ -6,6 +6,8 @@ + #include "macro.h" + #include "missing_syscall.h" + ++typedef unsigned long __cpu_mask; ++ + /* This wraps the libc interface with a variable to keep the allocated size. */ + typedef struct CPUSet { + cpu_set_t *set; +diff --git a/src/test/test-sizeof.c b/src/test/test-sizeof.c +index a710db5370..d1601ad929 100644 +--- a/src/test/test-sizeof.c ++++ b/src/test/test-sizeof.c +@@ -1,6 +1,5 @@ + /* SPDX-License-Identifier: LGPL-2.1+ */ + +-#include + #include + #include + +@@ -8,6 +7,7 @@ + #include + + #include "time-util.h" ++#include "cpu-set-util.h" + + /* Print information about various types. Useful when diagnosing + * gcc diagnostics on an unfamiliar architecture. */ diff --git a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0005-src-basic-missing.h-check-for-missing-strndupa.patch b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0005-src-basic-missing.h-check-for-missing-strndupa.patch new file mode 100644 index 0000000000..adfc3b7861 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0005-src-basic-missing.h-check-for-missing-strndupa.patch @@ -0,0 +1,442 @@ +From 399fd3eda3045636a70da438a0fd1406cc332ed1 Mon Sep 17 00:00:00 2001 +From: Chen Qi +Date: Mon, 25 Feb 2019 14:18:21 +0800 +Subject: [PATCH 05/24] src/basic/missing.h: check for missing strndupa + +include missing.h for definition of strndupa + +Upstream-Status: Inappropriate [musl specific] + +Signed-off-by: Khem Raj +Signed-off-by: Chen Qi +[Rebased for v242] +Signed-off-by: Andrej Valek +[rebased for systemd 243] +Signed-off-by: Scott Murray +--- + meson.build | 1 + + src/backlight/backlight.c | 1 + + src/basic/env-util.c | 1 + + src/basic/missing_stdlib.h | 12 ++++++++++++ + src/basic/mkdir.c | 1 + + src/basic/parse-util.c | 1 + + src/basic/proc-cmdline.c | 1 + + src/basic/procfs-util.c | 1 + + src/basic/time-util.c | 1 + + src/core/dbus-cgroup.c | 1 + + src/core/dbus-util.c | 1 + + src/core/kmod-setup.c | 1 + + src/core/service.c | 1 + + src/journal/journalctl.c | 1 + + src/libsystemd/sd-bus/bus-message.c | 1 + + src/libsystemd/sd-bus/bus-objects.c | 1 + + src/libsystemd/sd-bus/test-bus-benchmark.c | 1 + + src/locale/keymap-util.c | 1 + + src/login/pam_systemd.c | 1 + + src/network/generator/network-generator.c | 1 + + src/nspawn/nspawn-settings.c | 1 + + src/shared/dns-domain.c | 1 + + src/shared/journal-importer.c | 1 + + src/shared/logs-show.c | 1 + + src/shared/pager.c | 1 + + src/shared/path-lookup.c | 1 + + src/shared/uid-range.c | 1 + + src/socket-proxy/socket-proxyd.c | 1 + + src/test/test-hexdecoct.c | 1 + + src/udev/udev-builtin-path_id.c | 1 + + src/udev/udev-event.c | 1 + + src/udev/udev-rules.c | 1 + + 32 files changed, 43 insertions(+) + +diff --git a/meson.build b/meson.build +index 7f8c679411..81c061b768 100644 +--- a/meson.build ++++ b/meson.build +@@ -506,6 +506,7 @@ foreach ident : [ + #include '''], + ['get_mempolicy', '''#include + #include '''], ++ ['strndupa' , '''#include '''], + ] + + have = cc.has_function(ident[0], prefix : ident[1], args : '-D_GNU_SOURCE') +diff --git a/src/backlight/backlight.c b/src/backlight/backlight.c +index dfd6805398..c2b2ace6ec 100644 +--- a/src/backlight/backlight.c ++++ b/src/backlight/backlight.c +@@ -17,6 +17,7 @@ + #include "string-util.h" + #include "strv.h" + #include "util.h" ++#include "missing.h" + + static int find_pci_or_platform_parent(sd_device *device, sd_device **ret) { + const char *subsystem, *sysname, *value; +diff --git a/src/basic/env-util.c b/src/basic/env-util.c +index a6503cf2b6..ceef9a62c8 100644 +--- a/src/basic/env-util.c ++++ b/src/basic/env-util.c +@@ -16,6 +16,7 @@ + #include "string-util.h" + #include "strv.h" + #include "utf8.h" ++#include "missing.h" + + #define VALID_CHARS_ENV_NAME \ + DIGITS LETTERS \ +diff --git a/src/basic/missing_stdlib.h b/src/basic/missing_stdlib.h +index 188a8d4406..1e16ec287a 100644 +--- a/src/basic/missing_stdlib.h ++++ b/src/basic/missing_stdlib.h +@@ -11,3 +11,15 @@ + # error "neither secure_getenv nor __secure_getenv are available" + # endif + #endif ++ ++/* string.h */ ++#if ! HAVE_STRNDUPA ++#define strndupa(s, n) \ ++ ({ \ ++ const char *__old = (s); \ ++ size_t __len = strnlen(__old, (n)); \ ++ char *__new = (char *)alloca(__len + 1); \ ++ __new[__len] = '\0'; \ ++ (char *)memcpy(__new, __old, __len); \ ++ }) ++#endif +diff --git a/src/basic/mkdir.c b/src/basic/mkdir.c +index 6b82eab640..51c6b78615 100644 +--- a/src/basic/mkdir.c ++++ b/src/basic/mkdir.c +@@ -14,6 +14,7 @@ + #include "stat-util.h" + #include "stdio-util.h" + #include "user-util.h" ++#include "missing.h" + + int mkdir_safe_internal(const char *path, mode_t mode, uid_t uid, gid_t gid, MkdirFlags flags, mkdir_func_t _mkdir) { + struct stat st; +diff --git a/src/basic/parse-util.c b/src/basic/parse-util.c +index 115a1494a2..07a34bfd53 100644 +--- a/src/basic/parse-util.c ++++ b/src/basic/parse-util.c +@@ -20,6 +20,7 @@ + #include "process-util.h" + #include "stat-util.h" + #include "string-util.h" ++#include "missing.h" + + int parse_boolean(const char *v) { + if (!v) +diff --git a/src/basic/proc-cmdline.c b/src/basic/proc-cmdline.c +index 09169cf963..f411ba897f 100644 +--- a/src/basic/proc-cmdline.c ++++ b/src/basic/proc-cmdline.c +@@ -15,6 +15,7 @@ + #include "string-util.h" + #include "util.h" + #include "virt.h" ++#include "missing.h" + + int proc_cmdline(char **ret) { + const char *e; +diff --git a/src/basic/procfs-util.c b/src/basic/procfs-util.c +index 7aaf95bfce..42ce53d5aa 100644 +--- a/src/basic/procfs-util.c ++++ b/src/basic/procfs-util.c +@@ -11,6 +11,7 @@ + #include "procfs-util.h" + #include "stdio-util.h" + #include "string-util.h" ++#include "missing.h" + + int procfs_tasks_get_limit(uint64_t *ret) { + _cleanup_free_ char *value = NULL; +diff --git a/src/basic/time-util.c b/src/basic/time-util.c +index 3018e81acb..4e2b3b66c1 100644 +--- a/src/basic/time-util.c ++++ b/src/basic/time-util.c +@@ -28,6 +28,7 @@ + #include "string-util.h" + #include "strv.h" + #include "time-util.h" ++#include "missing.h" + + static clockid_t map_clock_id(clockid_t c) { + +diff --git a/src/core/dbus-cgroup.c b/src/core/dbus-cgroup.c +index 2f2313c599..c9937f9d62 100644 +--- a/src/core/dbus-cgroup.c ++++ b/src/core/dbus-cgroup.c +@@ -15,6 +15,7 @@ + #include "fileio.h" + #include "limits-util.h" + #include "path-util.h" ++#include "missing.h" + + static BUS_DEFINE_PROPERTY_GET_ENUM(property_get_cgroup_device_policy, cgroup_device_policy, CGroupDevicePolicy); + +diff --git a/src/core/dbus-util.c b/src/core/dbus-util.c +index 7862beaacb..19f6968cfe 100644 +--- a/src/core/dbus-util.c ++++ b/src/core/dbus-util.c +@@ -7,6 +7,7 @@ + #include "unit-printf.h" + #include "user-util.h" + #include "unit.h" ++#include "missing.h" + + int bus_property_get_triggered_unit( + sd_bus *bus, +diff --git a/src/core/kmod-setup.c b/src/core/kmod-setup.c +index a91cfebc67..a45961013f 100644 +--- a/src/core/kmod-setup.c ++++ b/src/core/kmod-setup.c +@@ -11,6 +11,7 @@ + #include "kmod-setup.h" + #include "macro.h" + #include "string-util.h" ++#include "missing.h" + + #if HAVE_KMOD + #include +diff --git a/src/core/service.c b/src/core/service.c +index 73b3c9c316..ef74f00a08 100644 +--- a/src/core/service.c ++++ b/src/core/service.c +@@ -43,6 +43,7 @@ + #include "unit.h" + #include "utf8.h" + #include "util.h" ++#include "missing.h" + + static const UnitActiveState state_translation_table[_SERVICE_STATE_MAX] = { + [SERVICE_DEAD] = UNIT_INACTIVE, +diff --git a/src/journal/journalctl.c b/src/journal/journalctl.c +index 6d6bb1cf63..6666349a35 100644 +--- a/src/journal/journalctl.c ++++ b/src/journal/journalctl.c +@@ -70,6 +70,7 @@ + #include "unit-name.h" + #include "user-util.h" + #include "varlink.h" ++#include "missing.h" + + #define DEFAULT_FSS_INTERVAL_USEC (15*USEC_PER_MINUTE) + +diff --git a/src/libsystemd/sd-bus/bus-message.c b/src/libsystemd/sd-bus/bus-message.c +index eb029e4453..f31fe9d5a8 100644 +--- a/src/libsystemd/sd-bus/bus-message.c ++++ b/src/libsystemd/sd-bus/bus-message.c +@@ -21,6 +21,7 @@ + #include "strv.h" + #include "time-util.h" + #include "utf8.h" ++#include "missing.h" + + static int message_append_basic(sd_bus_message *m, char type, const void *p, const void **stored); + +diff --git a/src/libsystemd/sd-bus/bus-objects.c b/src/libsystemd/sd-bus/bus-objects.c +index ae643cacc7..1b752271a5 100644 +--- a/src/libsystemd/sd-bus/bus-objects.c ++++ b/src/libsystemd/sd-bus/bus-objects.c +@@ -13,6 +13,7 @@ + #include "set.h" + #include "string-util.h" + #include "strv.h" ++#include "missing.h" + + static int node_vtable_get_userdata( + sd_bus *bus, +diff --git a/src/libsystemd/sd-bus/test-bus-benchmark.c b/src/libsystemd/sd-bus/test-bus-benchmark.c +index 8de0a859ee..4fd0a2e692 100644 +--- a/src/libsystemd/sd-bus/test-bus-benchmark.c ++++ b/src/libsystemd/sd-bus/test-bus-benchmark.c +@@ -14,6 +14,7 @@ + #include "missing_resource.h" + #include "time-util.h" + #include "util.h" ++#include "missing.h" + + #define MAX_SIZE (2*1024*1024) + +diff --git a/src/locale/keymap-util.c b/src/locale/keymap-util.c +index f8c36c94f5..41f5606aea 100644 +--- a/src/locale/keymap-util.c ++++ b/src/locale/keymap-util.c +@@ -22,6 +22,7 @@ + #include "string-util.h" + #include "strv.h" + #include "tmpfile-util.h" ++#include "missing.h" + + static bool startswith_comma(const char *s, const char *prefix) { + s = startswith(s, prefix); +diff --git a/src/login/pam_systemd.c b/src/login/pam_systemd.c +index 3f762cbbc3..005cfea658 100644 +--- a/src/login/pam_systemd.c ++++ b/src/login/pam_systemd.c +@@ -28,6 +28,7 @@ + #include "hostname-util.h" + #include "login-util.h" + #include "macro.h" ++#include "missing.h" + #include "parse-util.h" + #include "path-util.h" + #include "process-util.h" +diff --git a/src/network/generator/network-generator.c b/src/network/generator/network-generator.c +index 0b5af33566..9c808cd014 100644 +--- a/src/network/generator/network-generator.c ++++ b/src/network/generator/network-generator.c +@@ -13,6 +13,7 @@ + #include "string-table.h" + #include "string-util.h" + #include "strv.h" ++#include "missing.h" + + /* + # .network +diff --git a/src/nspawn/nspawn-settings.c b/src/nspawn/nspawn-settings.c +index 3a99736813..279fea4d88 100644 +--- a/src/nspawn/nspawn-settings.c ++++ b/src/nspawn/nspawn-settings.c +@@ -16,6 +16,7 @@ + #include "strv.h" + #include "user-util.h" + #include "util.h" ++#include "missing.h" + + Settings *settings_new(void) { + Settings *s; +diff --git a/src/shared/dns-domain.c b/src/shared/dns-domain.c +index f62ad0a0f5..f1a27e158d 100644 +--- a/src/shared/dns-domain.c ++++ b/src/shared/dns-domain.c +@@ -24,6 +24,7 @@ + #include "string-util.h" + #include "strv.h" + #include "utf8.h" ++#include "missing.h" + + int dns_label_unescape(const char **name, char *dest, size_t sz, DNSLabelFlags flags) { + const char *n; +diff --git a/src/shared/journal-importer.c b/src/shared/journal-importer.c +index 7c4fc7021d..a6ff2214df 100644 +--- a/src/shared/journal-importer.c ++++ b/src/shared/journal-importer.c +@@ -14,6 +14,7 @@ + #include "parse-util.h" + #include "string-util.h" + #include "unaligned.h" ++#include "missing.h" + + enum { + IMPORTER_STATE_LINE = 0, /* waiting to read, or reading line */ +diff --git a/src/shared/logs-show.c b/src/shared/logs-show.c +index b615c70dff..75b26e9c21 100644 +--- a/src/shared/logs-show.c ++++ b/src/shared/logs-show.c +@@ -39,6 +39,7 @@ + #include "time-util.h" + #include "utf8.h" + #include "util.h" ++#include "missing.h" + + /* up to three lines (each up to 100 characters) or 300 characters, whichever is less */ + #define PRINT_LINE_THRESHOLD 3 +diff --git a/src/shared/pager.c b/src/shared/pager.c +index 7c20b100b4..e4209d3a95 100644 +--- a/src/shared/pager.c ++++ b/src/shared/pager.c +@@ -25,6 +25,7 @@ + #include "strv.h" + #include "terminal-util.h" + #include "util.h" ++#include "missing.h" + + static pid_t pager_pid = 0; + +diff --git a/src/shared/path-lookup.c b/src/shared/path-lookup.c +index 6bf0ff0316..f6c8009cd2 100644 +--- a/src/shared/path-lookup.c ++++ b/src/shared/path-lookup.c +@@ -20,6 +20,7 @@ + #include "tmpfile-util.h" + #include "user-util.h" + #include "util.h" ++#include "missing.h" + + int xdg_user_runtime_dir(char **ret, const char *suffix) { + const char *e; +diff --git a/src/shared/uid-range.c b/src/shared/uid-range.c +index 7cb7d8a477..8b12b91084 100644 +--- a/src/shared/uid-range.c ++++ b/src/shared/uid-range.c +@@ -9,6 +9,7 @@ + #include "sort-util.h" + #include "uid-range.h" + #include "user-util.h" ++#include "missing.h" + + static bool uid_range_intersect(UidRange *range, uid_t start, uid_t nr) { + assert(range); +diff --git a/src/socket-proxy/socket-proxyd.c b/src/socket-proxy/socket-proxyd.c +index abbbc9f2d6..6179b5851e 100644 +--- a/src/socket-proxy/socket-proxyd.c ++++ b/src/socket-proxy/socket-proxyd.c +@@ -28,6 +28,7 @@ + #include "socket-util.h" + #include "string-util.h" + #include "util.h" ++#include "missing.h" + + #define BUFFER_SIZE (256 * 1024) + +diff --git a/src/test/test-hexdecoct.c b/src/test/test-hexdecoct.c +index 52217429b1..a05e7782f6 100644 +--- a/src/test/test-hexdecoct.c ++++ b/src/test/test-hexdecoct.c +@@ -6,6 +6,7 @@ + #include "hexdecoct.h" + #include "macro.h" + #include "string-util.h" ++#include "missing.h" + + static void test_hexchar(void) { + assert_se(hexchar(0xa) == 'a'); +diff --git a/src/udev/udev-builtin-path_id.c b/src/udev/udev-builtin-path_id.c +index e8f1ce1354..8693cb02a4 100644 +--- a/src/udev/udev-builtin-path_id.c ++++ b/src/udev/udev-builtin-path_id.c +@@ -23,6 +23,7 @@ + #include "strv.h" + #include "sysexits.h" + #include "udev-builtin.h" ++#include "missing.h" + + _printf_(2,3) + static void path_prepend(char **path, const char *fmt, ...) { +diff --git a/src/udev/udev-event.c b/src/udev/udev-event.c +index 8cfa2cdf23..b0670c77ec 100644 +--- a/src/udev/udev-event.c ++++ b/src/udev/udev-event.c +@@ -35,6 +35,7 @@ + #include "udev-util.h" + #include "udev-watch.h" + #include "user-util.h" ++#include "missing.h" + + typedef struct Spawn { + sd_device *device; +diff --git a/src/udev/udev-rules.c b/src/udev/udev-rules.c +index 1642f10535..fe2aa75478 100644 +--- a/src/udev/udev-rules.c ++++ b/src/udev/udev-rules.c +@@ -28,6 +28,7 @@ + #include "udev-event.h" + #include "udev-rules.h" + #include "user-util.h" ++#include "missing.h" + + #define RULES_DIRS (const char* const*) CONF_PATHS_STRV("udev/rules.d") + diff --git a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0006-Include-netinet-if_ether.h.patch b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0006-Include-netinet-if_ether.h.patch new file mode 100644 index 0000000000..6d73d715ce --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0006-Include-netinet-if_ether.h.patch @@ -0,0 +1,227 @@ +Include netinet/if_ether.h + +Fixes +/path/to/systemd/recipe-sysroot/usr/include/netinet/if_ether.h:101:8: error: redefinition of 'struct ethhdr' + struct ethhdr { + ^~~~~~ + +and related arphdr, arpreq, and arpreq_old errors +/path/to/systemd/recipe-sysroot/usr/include/net/if_arp.h:22:8: error: redefinition of 'struct arphdr' + struct arphdr { + ^~~~~~ + +The latter requires removing some includes of net/if_arp.h to avoid +conflicting with netinet/if_ether.h. + +Upstream-Status: Inappropriate [musl specific] + +Signed-off-by: Khem Raj +Signed-off-by: Chen Qi +[rebased for systemd 243] +Signed-off-by: Scott Murray + +Upstream-Status: Inappropriate [musl specific] + +Signed-off-by: Khem Raj +Signed-off-by: Chen Qi +[rebased for systemd 243] +Signed-off-by: Scott Murray +--- + src/libsystemd-network/sd-dhcp6-client.c | 1 - + src/libsystemd/sd-netlink/netlink-types.c | 1 + + src/machine/machine-dbus.c | 1 + + src/network/netdev/macsec.c | 1 + + src/network/netdev/netdev.c | 1 + + src/network/networkd-brvlan.c | 1 + + src/network/networkd-dhcp-common.c | 1 + + src/network/networkd-dhcp4.c | 2 +- + src/network/networkd-dhcp6.c | 2 +- + src/network/networkd-link.c | 2 +- + src/network/networkd-network.c | 1 + + src/shared/ethtool-util.c | 1 + + src/shared/ethtool-util.h | 1 + + src/udev/net/link-config.c | 1 + + src/udev/udev-builtin-net_setup_link.c | 1 + + 15 files changed, 14 insertions(+), 4 deletions(-) + +diff --git a/src/libsystemd-network/sd-dhcp6-client.c b/src/libsystemd-network/sd-dhcp6-client.c +index d7a5349c70..68b41dfb6c 100644 +--- a/src/libsystemd-network/sd-dhcp6-client.c ++++ b/src/libsystemd-network/sd-dhcp6-client.c +@@ -6,7 +6,6 @@ + #include + #include + #include +-#include + #include + + #include "sd-dhcp6-client.h" +diff --git a/src/libsystemd/sd-netlink/netlink-types.c b/src/libsystemd/sd-netlink/netlink-types.c +index de9b8b21ab..f64f6500f7 100644 +--- a/src/libsystemd/sd-netlink/netlink-types.c ++++ b/src/libsystemd/sd-netlink/netlink-types.c +@@ -3,6 +3,7 @@ + #include + #include + #include ++#include + #include + #include + #include +diff --git a/src/machine/machine-dbus.c b/src/machine/machine-dbus.c +index 0d58b5eb8b..01093c1f62 100644 +--- a/src/machine/machine-dbus.c ++++ b/src/machine/machine-dbus.c +@@ -4,6 +4,7 @@ + #include + #include + #include ++#include + + /* When we include libgen.h because we need dirname() we immediately + * undefine basename() since libgen.h defines it as a macro to the POSIX +diff --git a/src/network/netdev/macsec.c b/src/network/netdev/macsec.c +index cf281e75a6..269dc618ff 100644 +--- a/src/network/netdev/macsec.c ++++ b/src/network/netdev/macsec.c +@@ -1,5 +1,6 @@ + /* SPDX-License-Identifier: LGPL-2.1+ */ + ++#include + #include + #include + #include +diff --git a/src/network/netdev/netdev.c b/src/network/netdev/netdev.c +index 7735b455b7..ed4eda4a44 100644 +--- a/src/network/netdev/netdev.c ++++ b/src/network/netdev/netdev.c +@@ -1,5 +1,6 @@ + /* SPDX-License-Identifier: LGPL-2.1+ */ + ++#include + #include + #include + +diff --git a/src/network/networkd-brvlan.c b/src/network/networkd-brvlan.c +index c3c5d535ac..ebea408c89 100644 +--- a/src/network/networkd-brvlan.c ++++ b/src/network/networkd-brvlan.c +@@ -4,6 +4,7 @@ + ***/ + + #include ++#include + #include + #include + +diff --git a/src/network/networkd-dhcp-common.c b/src/network/networkd-dhcp-common.c +index 626b975839..42fe92f320 100644 +--- a/src/network/networkd-dhcp-common.c ++++ b/src/network/networkd-dhcp-common.c +@@ -1,6 +1,7 @@ + /* SPDX-License-Identifier: LGPL-2.1+ */ + + #include "networkd-dhcp-common.h" ++#include + #include "networkd-network.h" + #include "parse-util.h" + #include "string-table.h" +diff --git a/src/network/networkd-dhcp4.c b/src/network/networkd-dhcp4.c +index 662770b50e..c6ab62a94d 100644 +--- a/src/network/networkd-dhcp4.c ++++ b/src/network/networkd-dhcp4.c +@@ -1,8 +1,8 @@ + /* SPDX-License-Identifier: LGPL-2.1+ */ + ++#include + #include + #include +-#include + + #include "alloc-util.h" + #include "hostname-util.h" +diff --git a/src/network/networkd-dhcp6.c b/src/network/networkd-dhcp6.c +index 8ad736a82b..f41b4d834e 100644 +--- a/src/network/networkd-dhcp6.c ++++ b/src/network/networkd-dhcp6.c +@@ -3,9 +3,9 @@ + Copyright © 2014 Intel Corporation. All rights reserved. + ***/ + ++#include + #include + #include +-#include + #include "sd-radv.h" + + #include "sd-dhcp6-client.h" +diff --git a/src/network/networkd-link.c b/src/network/networkd-link.c +index f5bb78890a..f13a36b791 100644 +--- a/src/network/networkd-link.c ++++ b/src/network/networkd-link.c +@@ -1,8 +1,8 @@ + /* SPDX-License-Identifier: LGPL-2.1+ */ + ++#include + #include + #include +-#include + #include + + #include "alloc-util.h" +diff --git a/src/network/networkd-network.c b/src/network/networkd-network.c +index 2b8d0eb2fb..2f79ef25cd 100644 +--- a/src/network/networkd-network.c ++++ b/src/network/networkd-network.c +@@ -1,5 +1,6 @@ + /* SPDX-License-Identifier: LGPL-2.1+ */ + ++#include + #include + #include + #include +diff --git a/src/shared/ethtool-util.c b/src/shared/ethtool-util.c +index b0961df72e..53fcbbd84b 100644 +--- a/src/shared/ethtool-util.c ++++ b/src/shared/ethtool-util.c +@@ -1,5 +1,6 @@ + /* SPDX-License-Identifier: LGPL-2.1+ */ + ++#include + #include + #include + #include +diff --git a/src/shared/ethtool-util.h b/src/shared/ethtool-util.h +index 8b32b243f3..262b819976 100644 +--- a/src/shared/ethtool-util.h ++++ b/src/shared/ethtool-util.h +@@ -2,6 +2,7 @@ + #pragma once + + #include ++#include + #include + + #include "conf-parser.h" +diff --git a/src/udev/net/link-config.c b/src/udev/net/link-config.c +index d44af64d5e..fd052f1591 100644 +--- a/src/udev/net/link-config.c ++++ b/src/udev/net/link-config.c +@@ -1,5 +1,6 @@ + /* SPDX-License-Identifier: LGPL-2.1+ */ + ++#include + #include + #include + +diff --git a/src/udev/udev-builtin-net_setup_link.c b/src/udev/udev-builtin-net_setup_link.c +index ee3ca9fa38..9aa4e82874 100644 +--- a/src/udev/udev-builtin-net_setup_link.c ++++ b/src/udev/udev-builtin-net_setup_link.c +@@ -1,5 +1,6 @@ + /* SPDX-License-Identifier: LGPL-2.1+ */ + ++#include + #include "device-util.h" + #include "alloc-util.h" + #include "link-config.h" diff --git a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0007-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not.patch b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0007-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not.patch new file mode 100644 index 0000000000..34f7f5fb74 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0007-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not.patch @@ -0,0 +1,153 @@ +From f8a239b182158ca0a537ba053cb0e6bad9c3a2fb Mon Sep 17 00:00:00 2001 +From: Chen Qi +Date: Mon, 25 Feb 2019 14:56:21 +0800 +Subject: [PATCH 07/24] don't fail if GLOB_BRACE and GLOB_ALTDIRFUNC is not + defined + +If the standard library doesn't provide brace +expansion users just won't get it. + +Dont use GNU GLOB extentions on non-glibc systems + +Conditionalize use of GLOB_ALTDIRFUNC + +Upstream-Status: Inappropriate [musl specific] + +Signed-off-by: Khem Raj +Signed-off-by: Chen Qi +[rebased for systemd 243] +Signed-off-by: Scott Murray +--- + src/basic/glob-util.c | 12 ++++++++++++ + src/test/test-glob-util.c | 16 ++++++++++++++++ + src/tmpfiles/tmpfiles.c | 10 ++++++++++ + 3 files changed, 38 insertions(+) + +diff --git a/src/basic/glob-util.c b/src/basic/glob-util.c +index b335af8d97..2cdfc11f16 100644 +--- a/src/basic/glob-util.c ++++ b/src/basic/glob-util.c +@@ -14,6 +14,12 @@ + #include "path-util.h" + #include "strv.h" + ++/* Don't fail if the standard library ++ * doesn't provide brace expansion */ ++#ifndef GLOB_BRACE ++#define GLOB_BRACE 0 ++#endif ++ + static void closedir_wrapper(void* v) { + (void) closedir(v); + } +@@ -21,6 +27,7 @@ static void closedir_wrapper(void* v) { + int safe_glob(const char *path, int flags, glob_t *pglob) { + int k; + ++#ifdef GLOB_ALTDIRFUNC + /* We want to set GLOB_ALTDIRFUNC ourselves, don't allow it to be set. */ + assert(!(flags & GLOB_ALTDIRFUNC)); + +@@ -34,9 +41,14 @@ int safe_glob(const char *path, int flags, glob_t *pglob) { + pglob->gl_lstat = lstat; + if (!pglob->gl_stat) + pglob->gl_stat = stat; ++#endif + + errno = 0; ++#ifdef GLOB_ALTDIRFUNC + k = glob(path, flags | GLOB_ALTDIRFUNC, NULL, pglob); ++#else ++ k = glob(path, flags, NULL, pglob); ++#endif + if (k == GLOB_NOMATCH) + return -ENOENT; + if (k == GLOB_NOSPACE) +diff --git a/src/test/test-glob-util.c b/src/test/test-glob-util.c +index b4f41445fe..f0d474ed14 100644 +--- a/src/test/test-glob-util.c ++++ b/src/test/test-glob-util.c +@@ -13,6 +13,12 @@ + #include "rm-rf.h" + #include "tmpfile-util.h" + ++/* Don't fail if the standard library ++ * doesn't provide brace expansion */ ++#ifndef GLOB_BRACE ++#define GLOB_BRACE 0 ++#endif ++ + static void test_glob_exists(void) { + char name[] = "/tmp/test-glob_exists.XXXXXX"; + int fd = -1; +@@ -40,11 +46,13 @@ static void test_glob_no_dot(void) { + const char *fn; + + _cleanup_globfree_ glob_t g = { ++#ifdef GLOB_ALTDIRFUNC + .gl_closedir = closedir_wrapper, + .gl_readdir = (struct dirent *(*)(void *)) readdir_no_dot, + .gl_opendir = (void *(*)(const char *)) opendir, + .gl_lstat = lstat, + .gl_stat = stat, ++#endif + }; + + int r; +@@ -52,11 +60,19 @@ static void test_glob_no_dot(void) { + assert_se(mkdtemp(template)); + + fn = strjoina(template, "/*"); ++#ifdef GLOB_ALTDIRFUNC + r = glob(fn, GLOB_NOSORT|GLOB_BRACE|GLOB_ALTDIRFUNC, NULL, &g); ++#else ++ r = glob(fn, GLOB_NOSORT|GLOB_BRACE, NULL, &g); ++#endif + assert_se(r == GLOB_NOMATCH); + + fn = strjoina(template, "/.*"); ++#ifdef GLOB_ALTDIRFUNC + r = glob(fn, GLOB_NOSORT|GLOB_BRACE|GLOB_ALTDIRFUNC, NULL, &g); ++#else ++ r = glob(fn, GLOB_NOSORT|GLOB_BRACE, NULL, &g); ++#endif + assert_se(r == GLOB_NOMATCH); + + (void) rm_rf(template, REMOVE_ROOT|REMOVE_PHYSICAL); +diff --git a/src/tmpfiles/tmpfiles.c b/src/tmpfiles/tmpfiles.c +index 3c30612af1..14bc428085 100644 +--- a/src/tmpfiles/tmpfiles.c ++++ b/src/tmpfiles/tmpfiles.c +@@ -63,6 +63,12 @@ + #include "umask-util.h" + #include "user-util.h" + ++/* Don't fail if the standard library ++ * doesn't provide brace expansion */ ++#ifndef GLOB_BRACE ++#define GLOB_BRACE 0 ++#endif ++ + /* This reads all files listed in /etc/tmpfiles.d/?*.conf and creates + * them in the file system. This is intended to be used to create + * properly owned directories beneath /tmp, /var/tmp, /run, which are +@@ -1853,7 +1859,9 @@ finish: + + static int glob_item(Item *i, action_t action) { + _cleanup_globfree_ glob_t g = { ++#ifdef GLOB_ALTDIRFUNC + .gl_opendir = (void *(*)(const char *)) opendir_nomod, ++#endif + }; + int r = 0, k; + char **fn; +@@ -1873,7 +1881,9 @@ static int glob_item(Item *i, action_t action) { + + static int glob_item_recursively(Item *i, fdaction_t action) { + _cleanup_globfree_ glob_t g = { ++#ifdef GLOB_ALTDIRFUNC + .gl_opendir = (void *(*)(const char *)) opendir_nomod, ++#endif + }; + int r = 0, k; + char **fn; diff --git a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0008-add-missing-FTW_-macros-for-musl.patch b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0008-add-missing-FTW_-macros-for-musl.patch new file mode 100644 index 0000000000..d5f2349f2b --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0008-add-missing-FTW_-macros-for-musl.patch @@ -0,0 +1,47 @@ +From 6cd17c753d2c0a90fc791f69bbc694cbc8556a4f Mon Sep 17 00:00:00 2001 +From: Chen Qi +Date: Mon, 25 Feb 2019 15:00:06 +0800 +Subject: [PATCH 08/24] add missing FTW_ macros for musl + +This is to avoid build failures like below for musl. + + locale-util.c:296:24: error: 'FTW_STOP' undeclared + +Upstream-Status: Inappropriate [musl specific] + +Signed-off-by: Chen Qi +--- + src/basic/missing_type.h | 20 ++++++++++++++++++++ + 1 file changed, 20 insertions(+) + +diff --git a/src/basic/missing_type.h b/src/basic/missing_type.h +index c487e65..23602eb 100644 +--- a/src/basic/missing_type.h ++++ b/src/basic/missing_type.h +@@ -19,3 +19,23 @@ typedef int (*comparison_fn_t)(const void *, const void *); + #define __COMPAR_FN_T + typedef int (*__compar_fn_t)(const void *, const void *); + #endif ++ ++#ifndef FTW_ACTIONRETVAL ++#define FTW_ACTIONRETVAL 16 ++#endif ++ ++#ifndef FTW_CONTINUE ++#define FTW_CONTINUE 0 ++#endif ++ ++#ifndef FTW_STOP ++#define FTW_STOP 1 ++#endif ++ ++#ifndef FTW_SKIP_SUBTREE ++#define FTW_SKIP_SUBTREE 2 ++#endif ++ ++#ifndef FTW_SKIP_SIBLINGS ++#define FTW_SKIP_SIBLINGS 3 ++#endif +-- +2.7.4 + diff --git a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0010-fix-missing-of-__register_atfork-for-non-glibc-build.patch b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0010-fix-missing-of-__register_atfork-for-non-glibc-build.patch new file mode 100644 index 0000000000..8bacd0289d --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0010-fix-missing-of-__register_atfork-for-non-glibc-build.patch @@ -0,0 +1,45 @@ +From f1f4b4f9684fed185bfa8b9ed409cdf241657e99 Mon Sep 17 00:00:00 2001 +From: Chen Qi +Date: Mon, 25 Feb 2019 15:03:47 +0800 +Subject: [PATCH 10/24] fix missing of __register_atfork for non-glibc builds + +Upstream-Status: Inappropriate [musl specific] + +Signed-off-by: Chen Qi +--- + src/basic/process-util.c | 7 +++++++ + 1 file changed, 7 insertions(+) + +diff --git a/src/basic/process-util.c b/src/basic/process-util.c +index 78ce43b..aec2daf 100644 +--- a/src/basic/process-util.c ++++ b/src/basic/process-util.c +@@ -22,6 +22,9 @@ + #if HAVE_VALGRIND_VALGRIND_H + #include + #endif ++#ifndef __GLIBC__ ++#include ++#endif + + #include "alloc-util.h" + #include "architecture.h" +@@ -1160,11 +1163,15 @@ void reset_cached_pid(void) { + cached_pid = CACHED_PID_UNSET; + } + ++#ifdef __GLIBC__ + /* We use glibc __register_atfork() + __dso_handle directly here, as they are not included in the glibc + * headers. __register_atfork() is mostly equivalent to pthread_atfork(), but doesn't require us to link against + * libpthread, as it is part of glibc anyway. */ + extern int __register_atfork(void (*prepare) (void), void (*parent) (void), void (*child) (void), void *dso_handle); + extern void* __dso_handle _weak_; ++#else ++#define __register_atfork(prepare,parent,child,dso) pthread_atfork(prepare,parent,child) ++#endif + + pid_t getpid_cached(void) { + static bool installed = false; +-- +2.7.4 + diff --git a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0011-Use-uintmax_t-for-handling-rlim_t.patch b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0011-Use-uintmax_t-for-handling-rlim_t.patch new file mode 100644 index 0000000000..d6eda9c038 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0011-Use-uintmax_t-for-handling-rlim_t.patch @@ -0,0 +1,97 @@ +From e3f847bd0338d27aff3335b42661d8a4b66b965e Mon Sep 17 00:00:00 2001 +From: Chen Qi +Date: Mon, 25 Feb 2019 15:12:41 +0800 +Subject: [PATCH 11/24] Use uintmax_t for handling rlim_t + +PRIu{32,64} is not right format to represent rlim_t type +therefore use %ju and typecast the rlim_t variables to +uintmax_t. + +Fixes portablility errors like + +execute.c:3446:36: error: format '%lu' expects argument of type 'long unsigned int', but argument 5 has type 'rlim_t {aka long long unsigned int}' [-Werror=format=] +| fprintf(f, "%s%s: " RLIM_FMT "\n", +| ^~~~~~~~ +| prefix, rlimit_to_string(i), c->rlimit[i]->rlim_max); +| ~~~~~~~~~~~~~~~~~~~~~~ + +Upstream-Status: Denied [https://github.com/systemd/systemd/pull/7199] + +Signed-off-by: Khem Raj +[Rebased for v241] +Signed-off-by: Chen Qi +--- + src/basic/format-util.h | 8 +------- + src/basic/rlimit-util.c | 10 +++++----- + src/core/execute.c | 4 ++-- + 3 files changed, 8 insertions(+), 14 deletions(-) + +diff --git a/src/basic/format-util.h b/src/basic/format-util.h +index dece5d3..dbb87bc 100644 +--- a/src/basic/format-util.h ++++ b/src/basic/format-util.h +@@ -42,13 +42,7 @@ + # define PRI_TIMEX "li" + #endif + +-#if SIZEOF_RLIM_T == 8 +-# define RLIM_FMT "%" PRIu64 +-#elif SIZEOF_RLIM_T == 4 +-# define RLIM_FMT "%" PRIu32 +-#else +-# error Unknown rlim_t size +-#endif ++#define RLIM_FMT "%ju" + + #if SIZEOF_DEV_T == 8 + # define DEV_FMT "%" PRIu64 +diff --git a/src/basic/rlimit-util.c b/src/basic/rlimit-util.c +index 74b3a02..b02c03c 100644 +--- a/src/basic/rlimit-util.c ++++ b/src/basic/rlimit-util.c +@@ -307,13 +307,13 @@ int rlimit_format(const struct rlimit *rl, char **ret) { + if (rl->rlim_cur >= RLIM_INFINITY && rl->rlim_max >= RLIM_INFINITY) + s = strdup("infinity"); + else if (rl->rlim_cur >= RLIM_INFINITY) +- (void) asprintf(&s, "infinity:" RLIM_FMT, rl->rlim_max); ++ (void) asprintf(&s, "infinity:" RLIM_FMT, (uintmax_t)rl->rlim_max); + else if (rl->rlim_max >= RLIM_INFINITY) +- (void) asprintf(&s, RLIM_FMT ":infinity", rl->rlim_cur); ++ (void) asprintf(&s, RLIM_FMT ":infinity", (uintmax_t)rl->rlim_cur); + else if (rl->rlim_cur == rl->rlim_max) +- (void) asprintf(&s, RLIM_FMT, rl->rlim_cur); ++ (void) asprintf(&s, RLIM_FMT, (uintmax_t)rl->rlim_cur); + else +- (void) asprintf(&s, RLIM_FMT ":" RLIM_FMT, rl->rlim_cur, rl->rlim_max); ++ (void) asprintf(&s, RLIM_FMT ":" RLIM_FMT, (uintmax_t)rl->rlim_cur, (uintmax_t)rl->rlim_max); + + if (!s) + return -ENOMEM; +@@ -404,7 +404,7 @@ int rlimit_nofile_safe(void) { + + rl.rlim_cur = FD_SETSIZE; + if (setrlimit(RLIMIT_NOFILE, &rl) < 0) +- return log_debug_errno(errno, "Failed to lower RLIMIT_NOFILE's soft limit to " RLIM_FMT ": %m", rl.rlim_cur); ++ return log_debug_errno(errno, "Failed to lower RLIMIT_NOFILE's soft limit to " RLIM_FMT ": %m", (uintmax_t)rl.rlim_cur); + + return 1; + } +diff --git a/src/core/execute.c b/src/core/execute.c +index a708231..e2b8748 100644 +--- a/src/core/execute.c ++++ b/src/core/execute.c +@@ -4220,9 +4220,9 @@ void exec_context_dump(const ExecContext *c, FILE* f, const char *prefix) { + for (i = 0; i < RLIM_NLIMITS; i++) + if (c->rlimit[i]) { + fprintf(f, "%sLimit%s: " RLIM_FMT "\n", +- prefix, rlimit_to_string(i), c->rlimit[i]->rlim_max); ++ prefix, rlimit_to_string(i), (uintmax_t)c->rlimit[i]->rlim_max); + fprintf(f, "%sLimit%sSoft: " RLIM_FMT "\n", +- prefix, rlimit_to_string(i), c->rlimit[i]->rlim_cur); ++ prefix, rlimit_to_string(i), (uintmax_t)c->rlimit[i]->rlim_cur); + } + + if (c->ioprio_set) { +-- +2.7.4 + diff --git a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0014-test-sizeof.c-Disable-tests-for-missing-typedefs-in-.patch b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0014-test-sizeof.c-Disable-tests-for-missing-typedefs-in-.patch new file mode 100644 index 0000000000..914589dbd3 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0014-test-sizeof.c-Disable-tests-for-missing-typedefs-in-.patch @@ -0,0 +1,42 @@ +From d3d65d4036670cbd5129fe55c09ca391286ef4b3 Mon Sep 17 00:00:00 2001 +From: Chen Qi +Date: Wed, 28 Feb 2018 21:25:22 -0800 +Subject: [PATCH 14/24] test-sizeof.c: Disable tests for missing typedefs in + musl + +Upstream-Status: Inappropriate [musl specific] + +Signed-off-by: Khem Raj +Signed-off-by: Chen Qi +--- + src/test/test-sizeof.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/src/test/test-sizeof.c b/src/test/test-sizeof.c +index 35b0876..e78e7ca 100644 +--- a/src/test/test-sizeof.c ++++ b/src/test/test-sizeof.c +@@ -41,8 +41,10 @@ int main(void) { + info(unsigned); + info(long unsigned); + info(long long unsigned); ++#ifdef __GLIBC__ + info(__syscall_ulong_t); + info(__syscall_slong_t); ++#endif + + info(float); + info(double); +@@ -60,7 +62,9 @@ int main(void) { + info(ssize_t); + info(time_t); + info(usec_t); ++#ifdef __GLIBC__ + info(__time_t); ++#endif + info(pid_t); + info(uid_t); + info(gid_t); +-- +2.7.4 + diff --git a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0015-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0015-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch new file mode 100644 index 0000000000..fd407f604d --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0015-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch @@ -0,0 +1,99 @@ +From 48c628f532f6025c2d1646b6819cd81eb789d7fb Mon Sep 17 00:00:00 2001 +From: Andre McCurdy +Date: Tue, 10 Oct 2017 14:33:30 -0700 +Subject: [PATCH 15/24] don't pass AT_SYMLINK_NOFOLLOW flag to faccessat() + +Avoid using AT_SYMLINK_NOFOLLOW flag. It doesn't seem like the right +thing to do and it's not portable (not supported by musl). See: + + http://lists.landley.net/pipermail/toybox-landley.net/2014-September/003610.html + http://www.openwall.com/lists/musl/2015/02/05/2 + +Note that laccess() is never passing AT_EACCESS so a lot of the +discussion in the links above doesn't apply. Note also that +(currently) all systemd callers of laccess() pass mode as F_OK, so +only check for existence of a file, not access permissions. +Therefore, in this case, the only distiction between faccessat() +with (flag == 0) and (flag == AT_SYMLINK_NOFOLLOW) is the behaviour +for broken symlinks; laccess() on a broken symlink will succeed with +(flag == AT_SYMLINK_NOFOLLOW) and fail (flag == 0). + +The laccess() macros was added to systemd some time ago and it's not +clear if or why it needs to return success for broken symlinks. Maybe +just historical and not actually necessary or desired behaviour? + +Upstream-Status: Inappropriate [musl specific] + +Signed-off-by: Andre McCurdy +--- + src/basic/fs-util.h | 22 +++++++++++++++++++++- + src/shared/base-filesystem.c | 6 +++--- + 2 files changed, 24 insertions(+), 4 deletions(-) + +diff --git a/src/basic/fs-util.h b/src/basic/fs-util.h +index 7ad030b..d4cb1e9 100644 +--- a/src/basic/fs-util.h ++++ b/src/basic/fs-util.h +@@ -32,7 +32,27 @@ int fchmod_opath(int fd, mode_t m); + + int fd_warn_permissions(const char *path, int fd); + +-#define laccess(path, mode) faccessat(AT_FDCWD, (path), (mode), AT_SYMLINK_NOFOLLOW) ++/* ++ Avoid using AT_SYMLINK_NOFOLLOW flag. It doesn't seem like the right thing to ++ do and it's not portable (not supported by musl). See: ++ ++ http://lists.landley.net/pipermail/toybox-landley.net/2014-September/003610.html ++ http://www.openwall.com/lists/musl/2015/02/05/2 ++ ++ Note that laccess() is never passing AT_EACCESS so a lot of the discussion in ++ the links above doesn't apply. Note also that (currently) all systemd callers ++ of laccess() pass mode as F_OK, so only check for existence of a file, not ++ access permissions. Therefore, in this case, the only distiction between ++ faccessat() with (flag == 0) and (flag == AT_SYMLINK_NOFOLLOW) is the ++ behaviour for broken symlinks; laccess() on a broken symlink will succeed ++ with (flag == AT_SYMLINK_NOFOLLOW) and fail (flag == 0). ++ ++ The laccess() macros was added to systemd some time ago and it's not clear if ++ or why it needs to return success for broken symlinks. Maybe just historical ++ and not actually necessary or desired behaviour? ++*/ ++ ++#define laccess(path, mode) faccessat(AT_FDCWD, (path), (mode), 0) + + int touch_file(const char *path, bool parents, usec_t stamp, uid_t uid, gid_t gid, mode_t mode); + int touch(const char *path); +diff --git a/src/shared/base-filesystem.c b/src/shared/base-filesystem.c +index 89d7a7d..34b4ad5 100644 +--- a/src/shared/base-filesystem.c ++++ b/src/shared/base-filesystem.c +@@ -53,7 +53,7 @@ int base_filesystem_create(const char *root, uid_t uid, gid_t gid) { + return log_error_errno(errno, "Failed to open root file system: %m"); + + for (i = 0; i < ELEMENTSOF(table); i ++) { +- if (faccessat(fd, table[i].dir, F_OK, AT_SYMLINK_NOFOLLOW) >= 0) ++ if (faccessat(fd, table[i].dir, F_OK, 0) >= 0) + continue; + + if (table[i].target) { +@@ -61,7 +61,7 @@ int base_filesystem_create(const char *root, uid_t uid, gid_t gid) { + + /* check if one of the targets exists */ + NULSTR_FOREACH(s, table[i].target) { +- if (faccessat(fd, s, F_OK, AT_SYMLINK_NOFOLLOW) < 0) ++ if (faccessat(fd, s, F_OK, 0) < 0) + continue; + + /* check if a specific file exists at the target path */ +@@ -72,7 +72,7 @@ int base_filesystem_create(const char *root, uid_t uid, gid_t gid) { + if (!p) + return log_oom(); + +- if (faccessat(fd, p, F_OK, AT_SYMLINK_NOFOLLOW) < 0) ++ if (faccessat(fd, p, F_OK, 0) < 0) + continue; + } + +-- +2.7.4 + diff --git a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0016-Define-glibc-compatible-basename-for-non-glibc-syste.patch b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0016-Define-glibc-compatible-basename-for-non-glibc-syste.patch new file mode 100644 index 0000000000..d5565698aa --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0016-Define-glibc-compatible-basename-for-non-glibc-syste.patch @@ -0,0 +1,34 @@ +From af76c973e41929360a6e021f2ff9a7fc1d7994e9 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sun, 27 May 2018 08:36:44 -0700 +Subject: [PATCH 16/24] Define glibc compatible basename() for non-glibc + systems + +Fixes builds with musl, even though systemd is adamant about +using non-posix basename implementation, we have a way out + +Upstream-Status: Inappropriate [musl specific] + +Signed-off-by: Khem Raj +--- + src/machine/machine-dbus.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/src/machine/machine-dbus.c b/src/machine/machine-dbus.c +index 7a558df..eca7d4b 100644 +--- a/src/machine/machine-dbus.c ++++ b/src/machine/machine-dbus.c +@@ -11,6 +11,10 @@ + #include + #undef basename + ++#if !defined(__GLIBC__) ++#define basename(src) (strrchr(src,'/') ? strrchr(src,'/')+1 : src) ++#endif ++ + #include "alloc-util.h" + #include "bus-common-errors.h" + #include "bus-internal.h" +-- +2.7.4 + diff --git a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0017-Do-not-disable-buffering-when-writing-to-oom_score_a.patch b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0017-Do-not-disable-buffering-when-writing-to-oom_score_a.patch new file mode 100644 index 0000000000..24e24e8e5a --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0017-Do-not-disable-buffering-when-writing-to-oom_score_a.patch @@ -0,0 +1,38 @@ +From c7a4efb8bccb52e1714c151929c23e12bde59b82 Mon Sep 17 00:00:00 2001 +From: Chen Qi +Date: Wed, 4 Jul 2018 15:00:44 +0800 +Subject: [PATCH 17/24] Do not disable buffering when writing to oom_score_adj + +On musl, disabling buffering when writing to oom_score_adj will +cause the following error. + + Failed to adjust OOM setting: Invalid argument + +This error appears for systemd-udevd.service and dbus.service. +This is because kernel receives '-' instead of the whole '-900' +if buffering is disabled. + +This is libc implementation specific, as glibc does not have this issue. + +Upstream-Status: Inappropriate [musl specific] + +Signed-off-by: Chen Qi +[rebased for systemd 243] +Signed-off-by: Scott Murray +--- + src/basic/process-util.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/basic/process-util.c b/src/basic/process-util.c +index b1c08fcade..0a7a1f7d89 100644 +--- a/src/basic/process-util.c ++++ b/src/basic/process-util.c +@@ -1474,7 +1474,7 @@ int set_oom_score_adjust(int value) { + sprintf(t, "%i", value); + + return write_string_file("/proc/self/oom_score_adj", t, +- WRITE_STRING_FILE_VERIFY_ON_FAILURE|WRITE_STRING_FILE_DISABLE_BUFFER); ++ WRITE_STRING_FILE_VERIFY_ON_FAILURE); + } + + static const char *const ioprio_class_table[] = { diff --git a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0018-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0018-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch new file mode 100644 index 0000000000..5901772998 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0018-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch @@ -0,0 +1,62 @@ +From fffb2810611b4a26f5c6c0958093b5b3b7d4cd99 Mon Sep 17 00:00:00 2001 +From: Chen Qi +Date: Tue, 10 Jul 2018 15:40:17 +0800 +Subject: [PATCH 18/24] distinguish XSI-compliant strerror_r from GNU-specifi + strerror_r + +XSI-compliant strerror_r and GNU-specifi strerror_r are different. + + int strerror_r(int errnum, char *buf, size_t buflen); + /* XSI-compliant */ + + char *strerror_r(int errnum, char *buf, size_t buflen); + /* GNU-specific */ + +We need to distinguish between them. Otherwise, we'll get an int value +assigned to (char *) variable, resulting in segment fault. + +Upstream-Status: Inappropriate [musl specific] + +Signed-off-by: Chen Qi +--- + src/journal/journal-send.c | 5 +++++ + src/libsystemd/sd-bus/bus-error.c | 5 +++++ + 2 files changed, 10 insertions(+) + +diff --git a/src/journal/journal-send.c b/src/journal/journal-send.c +index 3fea912..4f1e592 100644 +--- a/src/journal/journal-send.c ++++ b/src/journal/journal-send.c +@@ -337,7 +337,12 @@ static int fill_iovec_perror_and_send(const char *message, int skip, struct iove + char* j; + + errno = 0; ++#ifndef __GLIBC__ ++ strerror_r(_saved_errno_, buffer + 8 + k, n - 8 - k); ++ j = buffer + 8 + k; ++#else + j = strerror_r(_saved_errno_, buffer + 8 + k, n - 8 - k); ++#endif + if (errno == 0) { + char error[STRLEN("ERRNO=") + DECIMAL_STR_MAX(int) + 1]; + +diff --git a/src/libsystemd/sd-bus/bus-error.c b/src/libsystemd/sd-bus/bus-error.c +index dc95237..bdda30f 100644 +--- a/src/libsystemd/sd-bus/bus-error.c ++++ b/src/libsystemd/sd-bus/bus-error.c +@@ -379,7 +379,12 @@ static void bus_error_strerror(sd_bus_error *e, int error) { + return; + + errno = 0; ++#ifndef __GLIBC__ ++ strerror_r(error, m, k); ++ x = m; ++#else + x = strerror_r(error, m, k); ++#endif + if (errno == ERANGE || strlen(x) >= k - 1) { + free(m); + k *= 2; +-- +2.7.4 + diff --git a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0019-Hide-__start_BUS_ERROR_MAP-and-__stop_BUS_ERROR_MAP.patch b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0019-Hide-__start_BUS_ERROR_MAP-and-__stop_BUS_ERROR_MAP.patch new file mode 100644 index 0000000000..35cc66ff66 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0019-Hide-__start_BUS_ERROR_MAP-and-__stop_BUS_ERROR_MAP.patch @@ -0,0 +1,35 @@ +From 969ab9e68249fd383f4b513b1c9306bdac4ae9b2 Mon Sep 17 00:00:00 2001 +From: Chen Qi +Date: Mon, 25 Feb 2019 15:18:00 +0800 +Subject: [PATCH 19/24] Hide __start_BUS_ERROR_MAP and __stop_BUS_ERROR_MAP + +for currently unknown reasons they get exported to the shared libries +even without being listed in the sym file + +Upstream-Status: Pending + +Signed-off-by: Khem Raj +[Rebased for v241] +Signed-off-by: Chen Qi +--- + src/libsystemd/sd-bus/bus-error.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/libsystemd/sd-bus/bus-error.c b/src/libsystemd/sd-bus/bus-error.c +index bdda30f..e21853c 100644 +--- a/src/libsystemd/sd-bus/bus-error.c ++++ b/src/libsystemd/sd-bus/bus-error.c +@@ -54,8 +54,8 @@ BUS_ERROR_MAP_ELF_REGISTER const sd_bus_error_map bus_standard_errors[] = { + }; + + /* GCC maps this magically to the beginning and end of the BUS_ERROR_MAP section */ +-extern const sd_bus_error_map __start_SYSTEMD_BUS_ERROR_MAP[]; +-extern const sd_bus_error_map __stop_SYSTEMD_BUS_ERROR_MAP[]; ++extern const sd_bus_error_map __start_SYSTEMD_BUS_ERROR_MAP[] _hidden_; ++extern const sd_bus_error_map __stop_SYSTEMD_BUS_ERROR_MAP[] _hidden_; + + /* Additional maps registered with sd_bus_error_add_map() are in this + * NULL terminated array */ +-- +2.7.4 + diff --git a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0020-missing_type.h-add-__compar_d_fn_t-definition.patch b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0020-missing_type.h-add-__compar_d_fn_t-definition.patch new file mode 100644 index 0000000000..753d5116ac --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0020-missing_type.h-add-__compar_d_fn_t-definition.patch @@ -0,0 +1,30 @@ +From 75c06e3e2a4760b36fffd95cdf5535b8ad73c481 Mon Sep 17 00:00:00 2001 +From: Chen Qi +Date: Mon, 25 Feb 2019 15:27:54 +0800 +Subject: [PATCH 20/24] missing_type.h: add __compar_d_fn_t definition + +Fix the following compile failure: +src/basic/util.h:71:18: error: unknown type name '__compar_d_fn_t'; did you mean '__compar_fn_t'? + +Upstream-Status: Inappropriate [musl specific] + +Signed-off-by: Chen Qi +--- + src/basic/missing_type.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/basic/missing_type.h b/src/basic/missing_type.h +index 7d7c1e4..85902ab 100644 +--- a/src/basic/missing_type.h ++++ b/src/basic/missing_type.h +@@ -13,6 +13,7 @@ + + #ifndef __GLIBC__ + typedef int (*comparison_fn_t)(const void *, const void *); ++typedef int (*__compar_d_fn_t) (const void *, const void *, void *); + #endif + + #ifndef __COMPAR_FN_T +-- +2.7.4 + diff --git a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0021-avoid-redefinition-of-prctl_mm_map-structure.patch b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0021-avoid-redefinition-of-prctl_mm_map-structure.patch new file mode 100644 index 0000000000..cdddf83890 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0021-avoid-redefinition-of-prctl_mm_map-structure.patch @@ -0,0 +1,32 @@ +From 3fbf61d54b82fc9bf21d8039bfd89dc9efc5bbcd Mon Sep 17 00:00:00 2001 +From: Chen Qi +Date: Mon, 25 Feb 2019 15:44:54 +0800 +Subject: [PATCH 21/24] avoid redefinition of prctl_mm_map structure + +Fix the following compile failure: +error: redefinition of 'struct prctl_mm_map' + +Upstream-Status: Inappropriate [musl specific] + +Signed-off-by: Chen Qi +--- + src/basic/missing_prctl.h | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/src/basic/missing_prctl.h b/src/basic/missing_prctl.h +index f80cd17..47e4893 100644 +--- a/src/basic/missing_prctl.h ++++ b/src/basic/missing_prctl.h +@@ -1,7 +1,9 @@ + /* SPDX-License-Identifier: LGPL-2.1+ */ + #pragma once + ++#ifdef __GLIBC__ + #include ++#endif + + /* 58319057b7847667f0c9585b9de0e8932b0fdb08 (4.3) */ + #ifndef PR_CAP_AMBIENT +-- +2.11.0 + diff --git a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0024-test-json.c-define-M_PIl.patch b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0024-test-json.c-define-M_PIl.patch new file mode 100644 index 0000000000..0e5629d37b --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0024-test-json.c-define-M_PIl.patch @@ -0,0 +1,33 @@ +From 902412c271e0c5d9cb93b10ec0fb5b119b393474 Mon Sep 17 00:00:00 2001 +From: Chen Qi +Date: Mon, 25 Feb 2019 16:53:06 +0800 +Subject: [PATCH 24/24] test-json.c: define M_PIl + +Fix the following compile failure: +src/test/test-json.c:305:50: error: 'M_PIl' undeclared (first use in this function); did you mean 'M_PI'? + +Upstream-Status: Inappropriate [musl specific] + +Signed-off-by: Chen Qi +--- + src/test/test-json.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/src/test/test-json.c b/src/test/test-json.c +index 9b8a2a9..efc746c 100644 +--- a/src/test/test-json.c ++++ b/src/test/test-json.c +@@ -11,6 +11,10 @@ + #include "tests.h" + #include "util.h" + ++#ifndef M_PIl ++#define M_PIl 3.141592653589793238462643383279502884L ++#endif ++ + static void test_tokenizer(const char *data, ...) { + unsigned line = 0, column = 0; + void *state = NULL; +-- +2.11.0 + diff --git a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/static-libsystemd-pkgconfig.patch b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/static-libsystemd-pkgconfig.patch new file mode 100644 index 0000000000..eb018bbcc4 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/static-libsystemd-pkgconfig.patch @@ -0,0 +1,11 @@ +Index: git/src/libsystemd/libsystemd.pc.in +=================================================================== +--- git.orig/src/libsystemd/libsystemd.pc.in ++++ git/src/libsystemd/libsystemd.pc.in +@@ -16,5 +16,5 @@ Name: systemd + Description: systemd Library + URL: @PROJECT_URL@ + Version: @PROJECT_VERSION@ +-Libs: -L${libdir} -lsystemd ++Libs: -L${libdir} -lsystemd -lrt -lmount -lcap + Cflags: -I${includedir} diff --git a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd_243.bb b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd_243.bb new file mode 100644 index 0000000000..c8e81a4123 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd_243.bb @@ -0,0 +1,69 @@ +SUMMARY = "libsystemd static library" +DESCRIPTION = "libsystemd static library built specifically as an integral component of sdbus-c++" + +SECTION = "libs" + +LICENSE = "LGPLv2.1+" +LIC_FILES_CHKSUM = "file://LICENSE.LGPL2.1;md5=4fbd65380cdd255951079008b364516c" + +inherit meson pkgconfig + +DEPENDS += "gperf-native gettext-native util-linux libcap" + +SRCREV = "efb536d0cbe2e58f80e501d19999928c75e08f6a" +SRCBRANCH = "v243-stable" +SRC_URI = "git://github.com/systemd/systemd-stable.git;protocol=git;branch=${SRCBRANCH}" + +SRC_URI += "file://static-libsystemd-pkgconfig.patch" + +# patches needed by musl +SRC_URI_append_libc-musl = " ${SRC_URI_MUSL}" +SRC_URI_MUSL = "\ + file://0002-don-t-use-glibc-specific-qsort_r.patch \ + file://0003-missing_type.h-add-__compare_fn_t-and-comparison_fn_.patch \ + file://0004-add-fallback-parse_printf_format-implementation.patch \ + file://0005-src-basic-missing.h-check-for-missing-strndupa.patch \ + file://0006-Include-netinet-if_ether.h.patch \ + file://0007-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not.patch \ + file://0008-add-missing-FTW_-macros-for-musl.patch \ + file://0010-fix-missing-of-__register_atfork-for-non-glibc-build.patch \ + file://0011-Use-uintmax_t-for-handling-rlim_t.patch \ + file://0014-test-sizeof.c-Disable-tests-for-missing-typedefs-in-.patch \ + file://0015-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch \ + file://0016-Define-glibc-compatible-basename-for-non-glibc-syste.patch \ + file://0017-Do-not-disable-buffering-when-writing-to-oom_score_a.patch \ + file://0018-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch \ + file://0019-Hide-__start_BUS_ERROR_MAP-and-__stop_BUS_ERROR_MAP.patch \ + file://0020-missing_type.h-add-__compar_d_fn_t-definition.patch \ + file://0021-avoid-redefinition-of-prctl_mm_map-structure.patch \ + file://0024-test-json.c-define-M_PIl.patch \ + file://0001-do-not-disable-buffer-in-writing-files.patch \ + file://0002-src-login-brightness.c-include-sys-wait.h.patch \ + file://0003-src-basic-copy.c-include-signal.h.patch \ + file://0004-src-shared-cpu-set-util.h-add-__cpu_mask-definition.patch \ + " + +PACKAGECONFIG ??= "gshadow idn" +PACKAGECONFIG_remove_libc-musl = " gshadow idn" +PACKAGECONFIG[gshadow] = "-Dgshadow=true,-Dgshadow=false" +PACKAGECONFIG[idn] = "-Didn=true,-Didn=false" + +EXTRA_OEMESON += "-Dstatic-libsystemd=pic" + +S = "${WORKDIR}/git" + +do_compile() { + ninja -v ${PARALLEL_MAKE} version.h + ninja -v ${PARALLEL_MAKE} libsystemd.a +} + +do_install () { + install -d ${D}${libdir} + install ${B}/libsystemd.a ${D}${libdir} + + install -d ${D}${includedir}/systemd + install ${S}/src/systemd/*.h ${D}${includedir}/systemd + + install -d ${D}${libdir}/pkgconfig + install ${B}/src/libsystemd/libsystemd.pc ${D}${libdir}/pkgconfig +} diff --git a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-tools-native_0.7.6.bb b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-tools-native_0.7.6.bb new file mode 100644 index 0000000000..6492c23680 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-tools-native_0.7.6.bb @@ -0,0 +1,14 @@ +SUMMARY = "sdbus-c++ native tools" +DESCRIPTION = "Native interface code generator for development with sdbus-c++" + +LICENSE = "LGPLv2.1" +LIC_FILES_CHKSUM = "file://${S}/COPYING;md5=1803fa9c2c3ce8cb06b4861d75310742" + +inherit cmake native + +DEPENDS += "expat" + +SRCREV = "5121d46eed42231285c18d317a9f48e0b2849d5e" +SRC_URI = "git://github.com/Kistler-Group/sdbus-cpp.git;protocol=https;branch=master;subpath=tools" + +S = "${WORKDIR}/tools" diff --git a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++_0.7.6.bb b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++_0.7.6.bb new file mode 100644 index 0000000000..57774cbdf7 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++_0.7.6.bb @@ -0,0 +1,32 @@ +SUMMARY = "sdbus-c++" +DESCRIPTION = "High-level C++ D-Bus library designed to provide easy-to-use yet powerful API in modern C++" + +SECTION = "libs" + +LICENSE = "LGPLv2.1" +LIC_FILES_CHKSUM = "file://COPYING;md5=1803fa9c2c3ce8cb06b4861d75310742" + +inherit cmake pkgconfig systemd ptest + +PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'with-external-libsystemd', 'with-builtin-libsystemd', d)} \ + ${@bb.utils.contains('PTEST_ENABLED', '1', 'with-tests', '', d)}" +PACKAGECONFIG[with-builtin-libsystemd] = ",,sdbus-c++-libsystemd,libcap" +PACKAGECONFIG[with-external-libsystemd] = ",,systemd,libsystemd" +PACKAGECONFIG[with-tests] = "-DBUILD_TESTS=ON -DTESTS_INSTALL_PATH=${libdir}/${BPN}/tests,-DBUILD_TESTS=OFF" + +DEPENDS += "expat" + +SRCREV = "5121d46eed42231285c18d317a9f48e0b2849d5e" +SRC_URI = "git://github.com/Kistler-Group/sdbus-cpp.git;protocol=https;branch=master" +SRC_URI += "file://run-ptest" + +EXTRA_OECMAKE = "-DBUILD_CODE_GEN=ON \ + -DBUILD_DOC=ON \ + -DBUILD_DOXYGEN_DOC=OFF" + +S = "${WORKDIR}/git" + +FILES_${PN}_remove = "${sysconfdir}" +FILES_${PN}-ptest += "${sysconfdir}/dbus-1/system.d/" +FILES_${PN}-ptest += "${libdir}/${BPN}/tests" +FILES_${PN}-dev += "${bindir}/sdbus-c++-xml2cpp" diff --git a/meta-openembedded/meta-oe/recipes-crypto/botan/botan_2.11.0.bb b/meta-openembedded/meta-oe/recipes-crypto/botan/botan_2.11.0.bb deleted file mode 100644 index c2d644b417..0000000000 --- a/meta-openembedded/meta-oe/recipes-crypto/botan/botan_2.11.0.bb +++ /dev/null @@ -1,50 +0,0 @@ -SUMMARY = "Crypto and TLS for C++11" -HOMEPAGE = "https://botan.randombit.net" -LICENSE = "BSD-2-Clause" -LIC_FILES_CHKSUM = "file://license.txt;md5=f4c145d4d70a3244a053c9f90d4841fc" -SECTION = "libs" - -SRC_URI = "https://botan.randombit.net/releases/Botan-${PV}.tar.xz" -SRC_URI[md5sum] = "2dba13b0d25d0e9d2a6f9867c62c9f2e" -SRC_URI[sha256sum] = "f7874da2aeb8c018fd77df40b2137879bf90b66f5589490c991e83fb3e8094be" - -S = "${WORKDIR}/Botan-${PV}" - -inherit python3native siteinfo lib_package - -CPU ?= "${TARGET_ARCH}" -CPU_x86 = "x86_32" -CPU_armv7a = "armv7" -CPU_armv7ve = "armv7" - -do_configure() { - python3 ${S}/configure.py \ - --prefix="${D}${prefix}" \ - --cpu="${CPU}" \ - --cc-bin="${CXX}" \ - --cxxflags="${CXXFLAGS}" \ - --ldflags="${LDFLAGS}" \ - --with-endian=${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'le', 'little', 'big', d)} \ - ${@bb.utils.contains("TUNE_FEATURES","neon","","--disable-neon",d)} \ - --with-sysroot-dir=${STAGING_DIR_TARGET} \ - --with-build-dir="${B}" \ - --optimize-for-size \ - --with-stack-protector \ - --enable-shared-library \ - --with-python-versions=3 \ - ${EXTRA_OECONF} -} - -do_compile() { - oe_runmake -} -do_install() { - oe_runmake install - sed -i -e "s|${D}||g" ${D}${libdir}/pkgconfig/botan-2.pc -} - -PACKAGES += "${PN}-python3" - -FILES_${PN}-python3 = "${libdir}/python3" - -RDEPENDS_${PN}-python3 += "python3" diff --git a/meta-openembedded/meta-oe/recipes-crypto/botan/botan_2.13.0.bb b/meta-openembedded/meta-oe/recipes-crypto/botan/botan_2.13.0.bb new file mode 100644 index 0000000000..0854bd6728 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-crypto/botan/botan_2.13.0.bb @@ -0,0 +1,50 @@ +SUMMARY = "Crypto and TLS for C++11" +HOMEPAGE = "https://botan.randombit.net" +LICENSE = "BSD-2-Clause" +LIC_FILES_CHKSUM = "file://license.txt;md5=a02e03c8fa2c5e7b9b3fcc1b9811fd3b" +SECTION = "libs" + +SRC_URI = "https://botan.randombit.net/releases/Botan-${PV}.tar.xz" +SRC_URI[md5sum] = "9f90c7d523778be5f23f3ce79046ba35" +SRC_URI[sha256sum] = "f57ae42a41e1091bca58f44f41addebd9a390b651603952c881ec89d50187e90" + +S = "${WORKDIR}/Botan-${PV}" + +inherit python3native siteinfo lib_package + +CPU ?= "${TARGET_ARCH}" +CPU_x86 = "x86_32" +CPU_armv7a = "armv7" +CPU_armv7ve = "armv7" + +do_configure() { + python3 ${S}/configure.py \ + --prefix="${D}${prefix}" \ + --cpu="${CPU}" \ + --cc-bin="${CXX}" \ + --cxxflags="${CXXFLAGS}" \ + --ldflags="${LDFLAGS}" \ + --with-endian=${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'le', 'little', 'big', d)} \ + ${@bb.utils.contains("TUNE_FEATURES","neon","","--disable-neon",d)} \ + --with-sysroot-dir=${STAGING_DIR_TARGET} \ + --with-build-dir="${B}" \ + --optimize-for-size \ + --with-stack-protector \ + --enable-shared-library \ + --with-python-versions=3 \ + ${EXTRA_OECONF} +} + +do_compile() { + oe_runmake +} +do_install() { + oe_runmake install + sed -i -e "s|${D}||g" ${D}${libdir}/pkgconfig/botan-2.pc +} + +PACKAGES += "${PN}-python3" + +FILES_${PN}-python3 = "${libdir}/python3" + +RDEPENDS_${PN}-python3 += "python3" diff --git a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb-native_10.3.18.bb b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb-native_10.3.18.bb deleted file mode 100644 index e1a038dfa3..0000000000 --- a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb-native_10.3.18.bb +++ /dev/null @@ -1,20 +0,0 @@ -require mariadb.inc -inherit native - -PROVIDES += "mysql5-native" -DEPENDS = "ncurses-native zlib-native bison-native" - -RDEPENDS_${PN} = "" -PACKAGES = "" -EXTRA_OEMAKE = "" - -do_install() { - oe_runmake 'DESTDIR=${D}' install - - install -d ${D}${bindir} - install -m 0755 sql/gen_lex_hash ${D}${bindir}/ - install -m 0755 sql/gen_lex_token ${D}${bindir}/ - install -m 0755 extra/comp_err ${D}${bindir}/ - install -m 0755 scripts/comp_sql ${D}${bindir}/ -} - diff --git a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb-native_10.4.11.bb b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb-native_10.4.11.bb new file mode 100644 index 0000000000..e1a038dfa3 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb-native_10.4.11.bb @@ -0,0 +1,20 @@ +require mariadb.inc +inherit native + +PROVIDES += "mysql5-native" +DEPENDS = "ncurses-native zlib-native bison-native" + +RDEPENDS_${PN} = "" +PACKAGES = "" +EXTRA_OEMAKE = "" + +do_install() { + oe_runmake 'DESTDIR=${D}' install + + install -d ${D}${bindir} + install -m 0755 sql/gen_lex_hash ${D}${bindir}/ + install -m 0755 sql/gen_lex_token ${D}${bindir}/ + install -m 0755 extra/comp_err ${D}${bindir}/ + install -m 0755 scripts/comp_sql ${D}${bindir}/ +} + diff --git a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb.inc b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb.inc index ec5ac11ef0..23de69dd25 100644 --- a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb.inc +++ b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb.inc @@ -4,7 +4,7 @@ SECTION = "libs" LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=b1becf0cfa3366e0f4d854d1d264f311" -SRC_URI = "http://archive.mariadb.org/${BP}/source/${BP}.tar.gz \ +SRC_URI = "https://downloads.mariadb.org/interstitial/${BP}/source/${BP}.tar.gz \ file://my.cnf \ file://mysqld.service \ file://install_db.service \ @@ -18,9 +18,11 @@ SRC_URI = "http://archive.mariadb.org/${BP}/source/${BP}.tar.gz \ file://c11_atomics.patch \ file://clang_version_header_conflict.patch \ file://fix-arm-atomic.patch \ + file://0001-Fix-build-breakage-from-lock_guard-error-6161.patch \ + file://0001-Fix-library-LZ4-lookup.patch \ " -SRC_URI[md5sum] = "b3524c0825c3a1c255496daea38304a0" -SRC_URI[sha256sum] = "69456ca85bf9d96c6d28b4ade2a9f6787d79a602e27ef941f9ba4e0b55dddedc" +SRC_URI[md5sum] = "d0de881ab8ead46928cafb7d558535c1" +SRC_URI[sha256sum] = "4c076232b99433b09eb3c6d62f607192b3474d022703699b8f6aef4e79de3fb9" UPSTREAM_CHECK_URI = "https://github.com/MariaDB/server/releases" diff --git a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/0001-Fix-build-breakage-from-lock_guard-error-6161.patch b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/0001-Fix-build-breakage-from-lock_guard-error-6161.patch new file mode 100644 index 0000000000..87c70617a1 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/0001-Fix-build-breakage-from-lock_guard-error-6161.patch @@ -0,0 +1,32 @@ +Subject: [PATCH] Fix build breakage from lock_guard error (#6161) + +Summary: +This change fixes a source issue that caused compile time error which +breaks build for many fbcode services in that setup. The size() member +function of channel is a const member, so member variables accessed +within it are implicitly const as well. This caused error when clang +fails to resolve to a constructor that takes std::mutex because the +suitable constructor got rejected due to loss of constness for its +argument. The fix is to add mutable modifier to the lock_ member of +channel. + +Pull Request resolved: https://github.com/facebook/rocksdb/pull/6161 + +Differential Revision: D18967685 + +Pulled By: maysamyabandeh + +Upstream-Status: Backport + +fbshipit-source-id:698b6a5153c3c92eeacb842c467aa28cc350d432 +--- a/storage/rocksdb/rocksdb/util/channel.h ++++ b/storage/rocksdb/rocksdb/util/channel.h +@@ -60,7 +60,7 @@ class channel { + + private: + std::condition_variable cv_; +- std::mutex lock_; ++ mutable std::mutex lock_; + std::queue buffer_; + bool eof_; + }; diff --git a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/0001-Fix-library-LZ4-lookup.patch b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/0001-Fix-library-LZ4-lookup.patch new file mode 100644 index 0000000000..574dfd317a --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/0001-Fix-library-LZ4-lookup.patch @@ -0,0 +1,30 @@ +From 1d7612b063eb1fc7bf97bc27b13e1de596748aa1 Mon Sep 17 00:00:00 2001 +From: Sumit Garg +Date: Wed, 8 Jan 2020 04:58:30 +0000 +Subject: [PATCH] Fix library LZ4 lookup. + +Signed-off-by: Sumit Garg +--- + cmake/FindLZ4.cmake | 9 +++++++-- + 1 file changed, 7 insertions(+), 2 deletions(-) + +diff --git a/cmake/FindLZ4.cmake b/cmake/FindLZ4.cmake +index e97dd63e2b0..2f4694e727c 100644 +--- a/cmake/FindLZ4.cmake ++++ b/cmake/FindLZ4.cmake +@@ -1,5 +1,10 @@ +-find_path(LZ4_INCLUDE_DIR NAMES lz4.h) +-find_library(LZ4_LIBRARY NAMES lz4) ++find_path(LZ4_INCLUDE_DIR ++ NAMES lz4.h ++ NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH) ++ ++find_library(LZ4_LIBRARY ++ NAMES lz4 ++ NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH) + + include(FindPackageHandleStandardArgs) + FIND_PACKAGE_HANDLE_STANDARD_ARGS( +-- +2.17.1 + diff --git a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/fix-arm-atomic.patch b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/fix-arm-atomic.patch index 34d31148b4..185b7b77ff 100644 --- a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/fix-arm-atomic.patch +++ b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/fix-arm-atomic.patch @@ -15,11 +15,9 @@ Signed-off-by: Mingli Yu storage/rocksdb/build_rocksdb.cmake | 3 +++ 1 file changed, 3 insertions(+) -diff --git a/storage/rocksdb/build_rocksdb.cmake b/storage/rocksdb/build_rocksdb.cmake -index c36c761..2b539ff 100644 --- a/storage/rocksdb/build_rocksdb.cmake +++ b/storage/rocksdb/build_rocksdb.cmake -@@ -424,6 +424,9 @@ list(APPEND SOURCES ${CMAKE_CURRENT_BINARY_DIR}/build_version.cc) +@@ -470,6 +470,9 @@ list(APPEND SOURCES ${CMAKE_CURRENT_BINA ADD_CONVENIENCE_LIBRARY(rocksdblib ${SOURCES}) target_link_libraries(rocksdblib ${THIRDPARTY_LIBS} ${SYSTEM_LIBS}) @@ -27,8 +25,5 @@ index c36c761..2b539ff 100644 + TARGET_LINK_LIBRARIES(rocksdblib atomic) +ENDIF() IF(CMAKE_CXX_COMPILER_ID MATCHES "GNU" OR CMAKE_CXX_COMPILER_ID MATCHES "Clang") - set_target_properties(rocksdblib PROPERTIES COMPILE_FLAGS "-fPIC -fno-builtin-memcmp -frtti") + set_target_properties(rocksdblib PROPERTIES COMPILE_FLAGS "-fPIC -fno-builtin-memcmp") endif() --- -2.17.1 - diff --git a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb_10.3.18.bb b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb_10.3.18.bb deleted file mode 100644 index c0b53379d9..0000000000 --- a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb_10.3.18.bb +++ /dev/null @@ -1,27 +0,0 @@ -require mariadb.inc - -EXTRA_OECMAKE += "-DSTACK_DIRECTION=-1" - -DEPENDS += "mariadb-native bison-native openssl ncurses zlib libaio libedit libevent libxml2" - -PROVIDES += "mysql5 libmysqlclient" - -RPROVIDES_${PN} += "mysql5" -RREPLACES_${PN} += "mysql5" -RCONFLICTS_${PN} += "mysql5" - -RPROVIDES_${PN}-dbg += "mysql5-dbg" -RREPLACES_${PN}-dbg += "mysql5-dbg" -RCONFLICTS_${PN}-dbg += "mysql5-dbg" - -RPROVIDES_${PN}-leftovers += "mysql5-leftovers" -RREPLACES_${PN}-leftovers += "mysql5-leftovers" -RCONFLICTS_${PN}-leftovers += "mysql5-leftovers" - -RPROVIDES_${PN}-client += "mysql5-client" -RREPLACES_${PN}-client += "mysql5-client" -RCONFLICTS_${PN}-client += "mysql5-client" - -RPROVIDES_${PN}-server += "mysql5-server" -RREPLACES_${PN}-server += "mysql5-server" -RCONFLICTS_${PN}-server += "mysql5-server" diff --git a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb_10.4.11.bb b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb_10.4.11.bb new file mode 100644 index 0000000000..c0b53379d9 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb_10.4.11.bb @@ -0,0 +1,27 @@ +require mariadb.inc + +EXTRA_OECMAKE += "-DSTACK_DIRECTION=-1" + +DEPENDS += "mariadb-native bison-native openssl ncurses zlib libaio libedit libevent libxml2" + +PROVIDES += "mysql5 libmysqlclient" + +RPROVIDES_${PN} += "mysql5" +RREPLACES_${PN} += "mysql5" +RCONFLICTS_${PN} += "mysql5" + +RPROVIDES_${PN}-dbg += "mysql5-dbg" +RREPLACES_${PN}-dbg += "mysql5-dbg" +RCONFLICTS_${PN}-dbg += "mysql5-dbg" + +RPROVIDES_${PN}-leftovers += "mysql5-leftovers" +RREPLACES_${PN}-leftovers += "mysql5-leftovers" +RCONFLICTS_${PN}-leftovers += "mysql5-leftovers" + +RPROVIDES_${PN}-client += "mysql5-client" +RREPLACES_${PN}-client += "mysql5-client" +RCONFLICTS_${PN}-client += "mysql5-client" + +RPROVIDES_${PN}-server += "mysql5-server" +RREPLACES_${PN}-server += "mysql5-server" +RCONFLICTS_${PN}-server += "mysql5-server" diff --git a/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql_12.0.bb b/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql_12.0.bb deleted file mode 100644 index d5b1ebdb5e..0000000000 --- a/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql_12.0.bb +++ /dev/null @@ -1,12 +0,0 @@ -require postgresql.inc - -LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=87da2b84884860b71f5f24ab37e7da78" - -SRC_URI += "\ - file://not-check-libperl.patch \ - file://0001-Add-support-for-RISC-V.patch \ - file://0001-Improve-reproducibility.patch \ -" - -SRC_URI[md5sum] = "87545416ef021eee8621d31a93fcc899" -SRC_URI[sha256sum] = "cda2397215f758b793f741c86be05468257b0e6bcb1a6113882ab5d0df0855c6" diff --git a/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql_12.1.bb b/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql_12.1.bb new file mode 100644 index 0000000000..486851941d --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql_12.1.bb @@ -0,0 +1,12 @@ +require postgresql.inc + +LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=87da2b84884860b71f5f24ab37e7da78" + +SRC_URI += "\ + file://not-check-libperl.patch \ + file://0001-Add-support-for-RISC-V.patch \ + file://0001-Improve-reproducibility.patch \ +" + +SRC_URI[md5sum] = "2ee1bd4ec5f49363a3f456f07e599b41" +SRC_URI[sha256sum] = "a09bf3abbaf6763980d0f8acbb943b7629a8b20073de18d867aecdb7988483ed" diff --git a/meta-openembedded/meta-oe/recipes-dbs/rocksdb/files/0001-CMake-has-stock-FindZLIB-in-upper-case.patch b/meta-openembedded/meta-oe/recipes-dbs/rocksdb/files/0001-CMake-has-stock-FindZLIB-in-upper-case.patch deleted file mode 100644 index 9682f8ad40..0000000000 --- a/meta-openembedded/meta-oe/recipes-dbs/rocksdb/files/0001-CMake-has-stock-FindZLIB-in-upper-case.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 38146a5d803a1fb9b10f011aa857872b6f20cd02 Mon Sep 17 00:00:00 2001 -From: Tongliang Liao -Date: Mon, 29 Apr 2019 03:51:51 -0700 -Subject: [PATCH] CMake has stock FindZLIB in upper case. More details in - https://cmake.org/cmake/help/v3.14/module/FindZLIB.html - - -Upstream-Status: Backport https://github.com/facebook/rocksdb/pull/5261 - ---- - CMakeLists.txt | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 40cdd26bb..355686566 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -92,7 +92,7 @@ else() - endif() - - if(WITH_ZLIB) -- find_package(zlib REQUIRED) -+ find_package(ZLIB REQUIRED) - add_definitions(-DZLIB) - if(ZLIB_INCLUDE_DIRS) - # CMake 3 --- -2.11.0 - diff --git a/meta-openembedded/meta-oe/recipes-dbs/rocksdb/files/0001-Disable-Wshadow-and-do-not-mark-default-copy-constru.patch b/meta-openembedded/meta-oe/recipes-dbs/rocksdb/files/0001-Disable-Wshadow-and-do-not-mark-default-copy-constru.patch deleted file mode 100644 index eccaa3a37a..0000000000 --- a/meta-openembedded/meta-oe/recipes-dbs/rocksdb/files/0001-Disable-Wshadow-and-do-not-mark-default-copy-constru.patch +++ /dev/null @@ -1,57 +0,0 @@ -From ee728434124b9b7d17abbd060a62aac79a9b79c0 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Tue, 12 Feb 2019 14:31:24 -0800 -Subject: [PATCH] Disable -Wshadow and do not mark default copy constructors - -Signed-off-by: Khem Raj ---- - CMakeLists.txt | 2 +- - utilities/persistent_cache/block_cache_tier.h | 4 ++-- - utilities/persistent_cache/block_cache_tier_file.h | 2 +- - 3 files changed, 4 insertions(+), 4 deletions(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 98e2e1973..3a24a075b 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -254,7 +254,7 @@ if(FAIL_ON_WARNINGS) - if(MSVC) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /WX") - else() # assume GCC -- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror") -+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror -Wno-error=shadow") - endif() - endif() - -diff --git a/utilities/persistent_cache/block_cache_tier.h b/utilities/persistent_cache/block_cache_tier.h -index 2b2c0ef4f..96d0540a4 100644 ---- a/utilities/persistent_cache/block_cache_tier.h -+++ b/utilities/persistent_cache/block_cache_tier.h -@@ -91,9 +91,9 @@ class BlockCacheTier : public PersistentCacheTier { - : key_(std::move(key)), data_(data) {} - ~InsertOp() {} - -- InsertOp() = delete; -+ InsertOp() = default; - InsertOp(InsertOp&& /*rhs*/) = default; -- InsertOp& operator=(InsertOp&& rhs) = default; -+ InsertOp& operator=(InsertOp&& rhs) = delete; - - // used for estimating size by bounded queue - size_t Size() { return data_.size() + key_.size(); } -diff --git a/utilities/persistent_cache/block_cache_tier_file.h b/utilities/persistent_cache/block_cache_tier_file.h -index e38b6c9a1..d9b89a4f7 100644 ---- a/utilities/persistent_cache/block_cache_tier_file.h -+++ b/utilities/persistent_cache/block_cache_tier_file.h -@@ -262,7 +262,7 @@ class ThreadedWriter : public Writer { - : file_(file), buf_(buf), file_off_(file_off), callback_(callback) {} - - IO(const IO&) = default; -- IO& operator=(const IO&) = default; -+ IO& operator=(const IO&) = delete; - size_t Size() const { return sizeof(IO); } - - WritableFile* file_ = nullptr; // File to write to --- -2.20.1 - diff --git a/meta-openembedded/meta-oe/recipes-dbs/rocksdb/files/0001-Fix-build-breakage-from-lock_guard-error-6161.patch b/meta-openembedded/meta-oe/recipes-dbs/rocksdb/files/0001-Fix-build-breakage-from-lock_guard-error-6161.patch new file mode 100644 index 0000000000..ac87d0c60d --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-dbs/rocksdb/files/0001-Fix-build-breakage-from-lock_guard-error-6161.patch @@ -0,0 +1,36 @@ +From b626703de7ece507f360507e49d3ecb448b12e07 Mon Sep 17 00:00:00 2001 +From: Maysam Yabandeh +Date: Thu, 12 Dec 2019 13:48:50 -0800 +Subject: [PATCH] Fix build breakage from lock_guard error (#6161) + +Summary: +This change fixes a source issue that caused compile time error which breaks build for many fbcode services in that setup. The size() member function of channel is a const member, so member variables accessed within it are implicitly const as well. This caused error when clang fails to resolve to a constructor that takes std::mutex because the suitable constructor got rejected due to loss of constness for its argument. The fix is to add mutable modifier to the lock_ member of channel. +Pull Request resolved: https://github.com/facebook/rocksdb/pull/6161 + +Differential Revision: D18967685 + +Pulled By: maysamyabandeh + +Upstream-Status: Backport + +fbshipit-source-id: 698b6a5153c3c92eeacb842c467aa28cc350d432 +--- + util/channel.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/util/channel.h b/util/channel.h +index 0225482c0..a8a47680a 100644 +--- a/util/channel.h ++++ b/util/channel.h +@@ -60,7 +60,7 @@ class channel { + + private: + std::condition_variable cv_; +- std::mutex lock_; ++ mutable std::mutex lock_; + std::queue buffer_; + bool eof_; + }; +-- +2.24.1 + diff --git a/meta-openembedded/meta-oe/recipes-dbs/rocksdb/files/0001-db-write_thread.cc-Initialize-state.patch b/meta-openembedded/meta-oe/recipes-dbs/rocksdb/files/0001-db-write_thread.cc-Initialize-state.patch new file mode 100644 index 0000000000..97ddbce597 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-dbs/rocksdb/files/0001-db-write_thread.cc-Initialize-state.patch @@ -0,0 +1,31 @@ +From 49dcd22dcf1aae5995c42eac0fda68516fc1cd43 Mon Sep 17 00:00:00 2001 +From: Robert Yang +Date: Wed, 19 Jun 2019 17:57:24 +0800 +Subject: [PATCH] db/write_thread.cc: Initialize state + +Fixed an error when compiled without -O2: +db/write_thread.cc:183:14: error: 'state' may be used uninitialized in this function [-Werror=maybe-uninitialized] + +Upstream-Status: Pending + +Signed-off-by: Robert Yang +--- + db/write_thread.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/db/write_thread.cc b/db/write_thread.cc +index 835992c..6f99a11 100644 +--- a/db/write_thread.cc ++++ b/db/write_thread.cc +@@ -59,7 +59,7 @@ uint8_t WriteThread::BlockingAwaitState(Writer* w, uint8_t goal_mask) { + + uint8_t WriteThread::AwaitState(Writer* w, uint8_t goal_mask, + AdaptationContext* ctx) { +- uint8_t state; ++ uint8_t state = 0; + + // 1. Busy loop using "pause" for 1 micro sec + // 2. Else SOMETIMES busy loop using "yield" for 100 micro sec (default) +-- +2.7.4 + diff --git a/meta-openembedded/meta-oe/recipes-dbs/rocksdb/files/0001-fix-Issue-5303.patch b/meta-openembedded/meta-oe/recipes-dbs/rocksdb/files/0001-fix-Issue-5303.patch deleted file mode 100644 index ba9834dfef..0000000000 --- a/meta-openembedded/meta-oe/recipes-dbs/rocksdb/files/0001-fix-Issue-5303.patch +++ /dev/null @@ -1,80 +0,0 @@ -From 512aaf3d833973f6146c6f1235b590901876175e Mon Sep 17 00:00:00 2001 -From: biocodz -Date: Fri, 7 Jun 2019 09:49:37 -0400 -Subject: [PATCH] fix Issue 5303 - -Upstream-Status: Submitted [https://github.com/facebook/rocksdb/pull/5426] - ---- - db/internal_stats.h | 21 +++++++++++++++++++++ - db/version_edit.h | 8 ++++++++ - utilities/persistent_cache/persistent_cache_util.h | 2 +- - 3 files changed, 30 insertions(+), 1 deletion(-) - -diff --git a/db/internal_stats.h b/db/internal_stats.h -index 6fa8727a4..09447644d 100644 ---- a/db/internal_stats.h -+++ b/db/internal_stats.h -@@ -236,6 +236,27 @@ class InternalStats { - } - } - -+ CompactionStats & operator=(const CompactionStats& c) { -+ count = c.count; -+ micros = c.micros; -+ cpu_micros = c.cpu_micros; -+ bytes_read_non_output_levels = c.bytes_read_non_output_levels; -+ bytes_read_output_level = c.bytes_read_output_level; -+ bytes_written = c.bytes_written; -+ bytes_moved = c.bytes_moved; -+ num_input_files_in_non_output_levels = -+ c.num_input_files_in_non_output_levels; -+ num_input_files_in_output_level = c.num_input_files_in_output_level; -+ num_output_files = c.num_output_files; -+ num_input_records = c.num_input_records; -+ num_dropped_records = c.num_dropped_records; -+ int num_of_reasons = static_cast(CompactionReason::kNumOfReasons); -+ for (int i = 0; i < num_of_reasons; i++) { -+ counts[i] = c.counts[i]; -+ } -+ return *this; -+ } -+ - void Clear() { - this->micros = 0; - this->cpu_micros = 0; -diff --git a/db/version_edit.h b/db/version_edit.h -index 229531792..5c50ef552 100644 ---- a/db/version_edit.h -+++ b/db/version_edit.h -@@ -52,6 +52,14 @@ struct FileDescriptor { - smallest_seqno(_smallest_seqno), - largest_seqno(_largest_seqno) {} - -+ FileDescriptor(const FileDescriptor& fd) { -+ table_reader = fd.table_reader; -+ packed_number_and_path_id = fd.packed_number_and_path_id; -+ file_size = fd.file_size; -+ smallest_seqno = fd.smallest_seqno; -+ largest_seqno = fd.largest_seqno; -+ } -+ - FileDescriptor& operator=(const FileDescriptor& fd) { - table_reader = fd.table_reader; - packed_number_and_path_id = fd.packed_number_and_path_id; -diff --git a/utilities/persistent_cache/persistent_cache_util.h b/utilities/persistent_cache/persistent_cache_util.h -index 214bb5875..254c038f9 100644 ---- a/utilities/persistent_cache/persistent_cache_util.h -+++ b/utilities/persistent_cache/persistent_cache_util.h -@@ -48,7 +48,7 @@ class BoundedQueue { - T t = std::move(q_.front()); - size_ -= t.Size(); - q_.pop_front(); -- return std::move(t); -+ return t; - } - - size_t Size() const { --- -2.11.0 - diff --git a/meta-openembedded/meta-oe/recipes-dbs/rocksdb/files/0001-utilities-Fix-build-failure-with-Werror-maybe-uninit.patch b/meta-openembedded/meta-oe/recipes-dbs/rocksdb/files/0001-utilities-Fix-build-failure-with-Werror-maybe-uninit.patch deleted file mode 100644 index ef0429a3c8..0000000000 --- a/meta-openembedded/meta-oe/recipes-dbs/rocksdb/files/0001-utilities-Fix-build-failure-with-Werror-maybe-uninit.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 8996f075e64da0e6ffeda57632ef31f8710defcc Mon Sep 17 00:00:00 2001 -From: He Zhe -Date: Fri, 15 Mar 2019 16:47:03 +0800 -Subject: [PATCH] utilities: Fix build failure with -Werror=maybe-uninitialized - -Summary: -Initialize magic_number to zero to avoid such failure. -utilities/blob_db/blob_log_format.cc:91:3: error: 'magic_number' may be used -uninitialized in this function [-Werror=maybe-uninitialized] - if (magic_number != kMagicNumber) { - ^~ - -Upstream-Status: Accepted [expected version 5.19] - -Signed-off-by: He Zhe ---- - utilities/blob_db/blob_log_format.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/utilities/blob_db/blob_log_format.cc b/utilities/blob_db/blob_log_format.cc -index 2bf7028..8726cb8 100644 ---- a/utilities/blob_db/blob_log_format.cc -+++ b/utilities/blob_db/blob_log_format.cc -@@ -82,7 +82,7 @@ Status BlobLogFooter::DecodeFrom(Slice src) { - uint32_t src_crc = 0; - src_crc = crc32c::Value(src.data(), BlobLogFooter::kSize - sizeof(uint32_t)); - src_crc = crc32c::Mask(src_crc); -- uint32_t magic_number; -+ uint32_t magic_number = 0; - if (!GetFixed32(&src, &magic_number) || !GetFixed64(&src, &blob_count) || - !GetFixed64(&src, &expiration_range.first) || - !GetFixed64(&src, &expiration_range.second) || !GetFixed32(&src, &crc)) { --- -2.7.4 - diff --git a/meta-openembedded/meta-oe/recipes-dbs/rocksdb/rocksdb_git.bb b/meta-openembedded/meta-oe/recipes-dbs/rocksdb/rocksdb_git.bb index 9fd5ee15be..713d5bb145 100644 --- a/meta-openembedded/meta-oe/recipes-dbs/rocksdb/rocksdb_git.bb +++ b/meta-openembedded/meta-oe/recipes-dbs/rocksdb/rocksdb_git.bb @@ -6,15 +6,13 @@ LIC_FILES_CHKSUM = "file://LICENSE.Apache;md5=3b83ef96387f14655fc854ddc3c6bd57 \ file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ file://LICENSE.leveldb;md5=fb04ff57a14f308f2eed4a9b87d45837" -SRCREV = "628a7fd74b5611657106c57f724f1682b114684c" -SRCBRANCH = "6.0.fb" -PV = "6.0.2" +SRCREV = "4cfbd87afd08a16df28436fb990ef6b154ee6114" +SRCBRANCH = "6.5.fb" +PV = "6.5.2" SRC_URI = "git://github.com/facebook/${BPN}.git;branch=${SRCBRANCH} \ - file://0001-CMake-has-stock-FindZLIB-in-upper-case.patch \ - file://0001-Disable-Wshadow-and-do-not-mark-default-copy-constru.patch \ - file://0001-utilities-Fix-build-failure-with-Werror-maybe-uninit.patch \ - file://0001-fix-Issue-5303.patch \ + file://0001-Fix-build-breakage-from-lock_guard-error-6161.patch \ + file://0001-db-write_thread.cc-Initialize-state.patch \ " S = "${WORKDIR}/git" @@ -22,9 +20,9 @@ S = "${WORKDIR}/git" inherit cmake PACKAGECONFIG ??= "bzip2 zlib lz4 gflags" -PACKAGECONFIG[bzip2] = "-DWITH_BZ2=ON -DBZIP2_LIBRARIES:STRING=bz2,-DWITH_BZ2=OFF,bzip2" -PACKAGECONFIG[lz4] = "-DWITH_LZ4=ON -DLZ4_LIBRARIES:STRING=lz4,-DWITH_LZ4=OFF,lz4" -PACKAGECONFIG[zlib] = "-DWITH_ZLIB=ON -DZLIB_LIBRARY:STRING=z,-DWITH_ZLIB=OFF,zlib" +PACKAGECONFIG[bzip2] = "-DWITH_BZ2=ON,-DWITH_BZ2=OFF,bzip2" +PACKAGECONFIG[lz4] = "-DWITH_LZ4=ON,-DWITH_LZ4=OFF,lz4" +PACKAGECONFIG[zlib] = "-DWITH_ZLIB=ON,-DWITH_ZLIB=OFF,zlib" PACKAGECONFIG[zstd] = "-DWITH_ZSTD=ON,-DWITH_ZSTD=OFF,zstd" PACKAGECONFIG[lite] = "-DROCKSDB_LITE=ON,-DROCKSDB_LITE=OFF" PACKAGECONFIG[gflags] = "-DWITH_GFLAGS=ON,-DWITH_GFLAGS=OFF,gflags" @@ -34,6 +32,7 @@ EXTRA_OECMAKE = "\ -DPORTABLE=ON \ -DWITH_TESTS=OFF \ -DWITH_TOOLS=OFF \ + -DFAIL_ON_WARNINGS=OFF \ " do_install_append() { diff --git a/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0001-Do-not-add-stack-pointer-to-clobber-list.patch b/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0001-Do-not-add-stack-pointer-to-clobber-list.patch new file mode 100644 index 0000000000..6e58490980 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0001-Do-not-add-stack-pointer-to-clobber-list.patch @@ -0,0 +1,61 @@ +From 5c63eb5d56abd4e5232add4727247965a863d851 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sun, 15 Dec 2019 14:02:45 -0800 +Subject: [PATCH] Do not add stack pointer to clobber list + +It was being ignored until now when gcc 9.0 became capable +of flagging these silent ignore via [1]. + +We weren't actually clobbering the stack pointers here +so it should not cause change in behavior. + +[1] https://gcc.gnu.org/PR52813 + +Signed-off-by: Khem Raj +--- + linux_syscall_support.h | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/linux_syscall_support.h b/linux_syscall_support.h +index 9276f56..6e73309 100644 +--- a/linux_syscall_support.h ++++ b/linux_syscall_support.h +@@ -1955,7 +1955,7 @@ struct kernel_statfs { + LSS_ENTRYPOINT \ + "pop %%ebx" \ + args \ +- : "esp", "memory"); \ ++ : "memory"); \ + LSS_RETURN(type,__res) + #undef _syscall0 + #define _syscall0(type,name) \ +@@ -2012,7 +2012,7 @@ struct kernel_statfs { + : "i" (__NR_##name), "ri" ((long)(arg1)), \ + "c" ((long)(arg2)), "d" ((long)(arg3)), \ + "S" ((long)(arg4)), "D" ((long)(arg5)) \ +- : "esp", "memory"); \ ++ : "memory"); \ + LSS_RETURN(type,__res); \ + } + #undef _syscall6 +@@ -2034,7 +2034,7 @@ struct kernel_statfs { + : "i" (__NR_##name), "0" ((long)(&__s)), \ + "c" ((long)(arg2)), "d" ((long)(arg3)), \ + "S" ((long)(arg4)), "D" ((long)(arg5)) \ +- : "esp", "memory"); \ ++ : "memory"); \ + LSS_RETURN(type,__res); \ + } + LSS_INLINE int LSS_NAME(clone)(int (*fn)(void *), void *child_stack, +@@ -2120,7 +2120,7 @@ struct kernel_statfs { + : "0"(-EINVAL), "i"(__NR_clone), + "m"(fn), "m"(child_stack), "m"(flags), "m"(arg), + "m"(parent_tidptr), "m"(newtls), "m"(child_tidptr) +- : "esp", "memory", "ecx", "edx", "esi", "edi"); ++ : "memory", "ecx", "edx", "esi", "edi"); + LSS_RETURN(int, __res); + } + +-- +2.24.1 + diff --git a/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0001-disable-calls-to-getcontext-with-musl.patch b/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0001-disable-calls-to-getcontext-with-musl.patch index bc79727edd..466abe5f87 100644 --- a/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0001-disable-calls-to-getcontext-with-musl.patch +++ b/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0001-disable-calls-to-getcontext-with-musl.patch @@ -8,11 +8,9 @@ Signed-off-by: Andre McCurdy src/client/linux/handler/exception_handler.cc | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) -Index: git/src/client/linux/handler/exception_handler.cc -=================================================================== ---- git.orig/src/client/linux/handler/exception_handler.cc -+++ git/src/client/linux/handler/exception_handler.cc -@@ -495,7 +495,19 @@ bool ExceptionHandler::SimulateSignalDel +--- a/src/client/linux/handler/exception_handler.cc ++++ b/src/client/linux/handler/exception_handler.cc +@@ -490,7 +490,19 @@ bool ExceptionHandler::SimulateSignalDel siginfo.si_code = SI_USER; siginfo.si_pid = getpid(); ucontext_t context; @@ -32,7 +30,7 @@ Index: git/src/client/linux/handler/exception_handler.cc return HandleSignal(sig, &siginfo, &context); } -@@ -680,9 +692,14 @@ bool ExceptionHandler::WriteMinidump() { +@@ -675,9 +687,14 @@ bool ExceptionHandler::WriteMinidump() { sys_prctl(PR_SET_DUMPABLE, 1, 0, 0, 0); CrashContext context; diff --git a/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0001-lss-Match-syscalls-to-match-musl.patch b/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0001-lss-Match-syscalls-to-match-musl.patch index 2b892ad64f..bdd787afd5 100644 --- a/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0001-lss-Match-syscalls-to-match-musl.patch +++ b/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0001-lss-Match-syscalls-to-match-musl.patch @@ -8,11 +8,9 @@ Signed-off-by: Khem Raj linux_syscall_support.h | 3 +++ 1 file changed, 3 insertions(+) -Index: lss/linux_syscall_support.h -=================================================================== ---- lss.orig/linux_syscall_support.h -+++ lss/linux_syscall_support.h -@@ -793,6 +793,9 @@ struct kernel_statfs { +--- a/linux_syscall_support.h ++++ b/linux_syscall_support.h +@@ -816,6 +816,9 @@ struct kernel_statfs { #define FUTEX_TRYLOCK_PI_PRIVATE (FUTEX_TRYLOCK_PI | FUTEX_PRIVATE_FLAG) #endif @@ -22,7 +20,7 @@ Index: lss/linux_syscall_support.h #if defined(__x86_64__) #ifndef ARCH_SET_GS -@@ -924,6 +927,7 @@ struct kernel_statfs { +@@ -947,6 +950,7 @@ struct kernel_statfs { #ifndef __NR_fallocate #define __NR_fallocate 324 #endif @@ -30,7 +28,7 @@ Index: lss/linux_syscall_support.h /* End of i386 definitions */ #elif defined(__ARM_ARCH_3__) || defined(__ARM_EABI__) #ifndef __NR_setresuid -@@ -1211,6 +1215,12 @@ struct kernel_statfs { +@@ -1239,6 +1243,12 @@ struct kernel_statfs { #ifndef __NR_fallocate #define __NR_fallocate 285 #endif @@ -43,3 +41,16 @@ Index: lss/linux_syscall_support.h /* End of x86-64 definitions */ #elif defined(__mips__) #if _MIPS_SIM == _MIPS_SIM_ABI32 +@@ -1418,6 +1428,12 @@ struct kernel_statfs { + #ifndef __NR_ioprio_get + #define __NR_ioprio_get (__NR_Linux + 274) + #endif ++ ++#undef __NR_pread ++#define __NR_pread __NR_pread64 ++#undef __NR_pwrite ++#define __NR_pwrite __NR_pwrite64 ++ + /* End of MIPS (64bit API) definitions */ + #else + #ifndef __NR_setresuid diff --git a/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/dont-clobber-rsp.patch b/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/dont-clobber-rsp.patch deleted file mode 100644 index edf903552d..0000000000 --- a/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/dont-clobber-rsp.patch +++ /dev/null @@ -1,76 +0,0 @@ -From d1d7b616219fd47736c804ff4c2f393d7184a75b Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Sun, 23 Dec 2018 16:58:04 -0800 -Subject: [PATCH] chromium: stack pointer clobber - -Do not add stack pointer to clobber list - -it was being ignored until gcc 9.0 became capable -of flagging this silent ignoring via [1] - -[1] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=52813 - -Upstream-Status: Submitted [https://chromium-review.googlesource.com/c/linux-syscall-support/+/1390160] -Signed-off-by: Khem Raj ---- - src/third_party/lss/linux_syscall_support.h | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - -Index: b/src/third_party/lss/linux_syscall_support.h -=================================================================== ---- a/src/third_party/lss/linux_syscall_support.h -+++ b/src/third_party/lss/linux_syscall_support.h -@@ -1957,7 +1957,7 @@ struct kernel_statfs { - LSS_ENTRYPOINT \ - "pop %%ebx" \ - args \ -- : "esp", "memory"); \ -+ : "memory"); \ - LSS_RETURN(type,__res) - #undef _syscall0 - #define _syscall0(type,name) \ -@@ -1966,7 +1966,7 @@ struct kernel_statfs { - __asm__ volatile(LSS_ENTRYPOINT \ - : "=a" (__res) \ - : "0" (__NR_##name) \ -- : "esp", "memory"); \ -+ : "memory"); \ - LSS_RETURN(type,__res); \ - } - #undef _syscall1 -@@ -2014,7 +2014,7 @@ struct kernel_statfs { - : "i" (__NR_##name), "ri" ((long)(arg1)), \ - "c" ((long)(arg2)), "d" ((long)(arg3)), \ - "S" ((long)(arg4)), "D" ((long)(arg5)) \ -- : "esp", "memory"); \ -+ : "memory"); \ - LSS_RETURN(type,__res); \ - } - #undef _syscall6 -@@ -2036,7 +2036,7 @@ struct kernel_statfs { - : "i" (__NR_##name), "0" ((long)(&__s)), \ - "c" ((long)(arg2)), "d" ((long)(arg3)), \ - "S" ((long)(arg4)), "D" ((long)(arg5)) \ -- : "esp", "memory"); \ -+ : "memory"); \ - LSS_RETURN(type,__res); \ - } - LSS_INLINE int LSS_NAME(clone)(int (*fn)(void *), void *child_stack, -@@ -2122,7 +2122,7 @@ struct kernel_statfs { - : "0"(-EINVAL), "i"(__NR_clone), - "m"(fn), "m"(child_stack), "m"(flags), "m"(arg), - "m"(parent_tidptr), "m"(newtls), "m"(child_tidptr) -- : "esp", "memory", "ecx", "edx", "esi", "edi"); -+ : "memory", "ecx", "edx", "esi", "edi"); - LSS_RETURN(int, __res); - } - -@@ -2407,7 +2407,7 @@ struct kernel_statfs { - "d"(LSS_SYSCALL_ARG(parent_tidptr)), - "r"(LSS_SYSCALL_ARG(newtls)), - "r"(LSS_SYSCALL_ARG(child_tidptr)) -- : "rsp", "memory", "r8", "r10", "r11", "rcx"); -+ : "memory", "r8", "r10", "r11", "rcx"); - } - LSS_RETURN(int, __res); - } diff --git a/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/mcontext.patch b/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/mcontext.patch index 42e073b94d..51393967bc 100644 --- a/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/mcontext.patch +++ b/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/mcontext.patch @@ -3,48 +3,6 @@ map the mcontext_t structure for musl Upstream-Status: Inappropriate[need to consider Android] Signed-off-by: Khem Raj -Index: git/src/client/linux/dump_writer_common/thread_info.cc -=================================================================== ---- git.orig/src/client/linux/dump_writer_common/thread_info.cc -+++ git/src/client/linux/dump_writer_common/thread_info.cc -@@ -229,7 +229,6 @@ void ThreadInfo::FillCPUContext(RawConte - } - - #elif defined(__mips__) -- - uintptr_t ThreadInfo::GetInstructionPointer() const { - return mcontext.pc; - } -@@ -263,8 +262,11 @@ void ThreadInfo::FillCPUContext(RawConte - out->cause = 0; // Not stored in mcontext - - for (int i = 0; i < MD_FLOATINGSAVEAREA_MIPS_FPR_COUNT; ++i) -+#ifdef __GLIBC__ - out->float_save.regs[i] = mcontext.fpregs.fp_r.fp_fregs[i]._fp_fregs; -- -+#else -+ out->float_save.regs[i] = mcontext.fpregs[i]; -+#endif - out->float_save.fpcsr = mcontext.fpc_csr; - #if _MIPS_SIM == _ABIO32 - out->float_save.fir = mcontext.fpc_eir; -Index: git/src/client/linux/dump_writer_common/ucontext_reader.cc -=================================================================== ---- git.orig/src/client/linux/dump_writer_common/ucontext_reader.cc -+++ git/src/client/linux/dump_writer_common/ucontext_reader.cc -@@ -247,8 +247,11 @@ void UContextReader::FillCPUContext(RawC - out->cause = 0; // Not reported in signal context. - - for (int i = 0; i < MD_FLOATINGSAVEAREA_MIPS_FPR_COUNT; ++i) -+#ifdef __GLIBC__ - out->float_save.regs[i] = uc->uc_mcontext.fpregs.fp_r.fp_dregs[i]; -- -+#else -+ out->float_save.regs[i] = uc->uc_mcontext.fpregs[i]; -+#endif - out->float_save.fpcsr = uc->uc_mcontext.fpc_csr; - #if _MIPS_SIM == _ABIO32 - out->float_save.fir = uc->uc_mcontext.fpc_eir; // Unused. Index: git/src/client/linux/minidump_writer/linux_core_dumper.cc =================================================================== --- git.orig/src/client/linux/minidump_writer/linux_core_dumper.cc @@ -58,20 +16,3 @@ Index: git/src/client/linux/minidump_writer/linux_core_dumper.cc for (int i = EF_R0; i <= EF_R31; i++) info.mcontext.gregs[i - EF_R0] = status->pr_reg[i]; #else // __ANDROID__ -Index: git/src/tools/linux/md2core/minidump-2-core.cc -=================================================================== ---- git.orig/src/tools/linux/md2core/minidump-2-core.cc -+++ git/src/tools/linux/md2core/minidump-2-core.cc -@@ -516,8 +516,12 @@ ParseThreadRegisters(CrashedProcess::Thr - thread->mcontext.lo3 = rawregs->lo[2]; - - for (int i = 0; i < MD_FLOATINGSAVEAREA_MIPS_FPR_COUNT; ++i) { -+#ifdef __GLIBC__ - thread->mcontext.fpregs.fp_r.fp_fregs[i]._fp_fregs = - rawregs->float_save.regs[i]; -+#else -+ thread->mcontext.fpregs[i] = rawregs->float_save.regs[i]; -+#endif - } - - thread->mcontext.fpc_csr = rawregs->float_save.fpcsr; diff --git a/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad_git.bb b/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad_git.bb index 06f3ee87da..ff5acbeac2 100644 --- a/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad_git.bb +++ b/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad_git.bb @@ -19,11 +19,11 @@ PV = "1.0" SRCREV_FORMAT = "breakpad_gtest_protobuf_lss_gyp" -SRCREV_breakpad = "5467393a3d1e7ab929fd01d79971701bf4e2c2c6" -#v1.8.0 -SRCREV_gtest = "ec44c6c1675c25b9827aacd08c02433cccde7780" +SRCREV_breakpad = "0c0e24f709288a129d665ec27d6f089189318385" +#v1.10.0 +SRCREV_gtest = "5ec7f0c4a113e2f18ac2c6cc7df51ad6afc24081" SRCREV_protobuf = "cb6dd4ef5f82e41e06179dcd57d3b1d9246ad6ac" -SRCREV_lss = "a89bf7903f3169e6bc7b8efc10a73a7571de21cf" +SRCREV_lss = "8048ece6c16c91acfe0d36d1d3cc0890ab6e945c" SRCREV_gyp = "324dd166b7c0b39d513026fa52d6280ac6d56770" SRC_URI = "git://github.com/google/breakpad;name=breakpad \ @@ -42,7 +42,7 @@ SRC_URI = "git://github.com/google/breakpad;name=breakpad \ file://0001-disable-calls-to-getcontext-with-musl.patch \ file://0001-lss-Match-syscalls-to-match-musl.patch;patchdir=src/third_party/lss \ file://mips_asm_sgidefs.patch;patchdir=src/third_party/lss \ - file://dont-clobber-rsp.patch;patchdir=src/third_party/lss;striplevel=4 \ + file://0001-Do-not-add-stack-pointer-to-clobber-list.patch;patchdir=src/third_party/lss \ " S = "${WORKDIR}/git" @@ -121,3 +121,5 @@ breakpad_populate_sysroot() { #| make: *** [src/client/linux/handler/exception_handler.o] Error 1 ARM_INSTRUCTION_SET_armv5 = "arm" ARM_INSTRUCTION_SET_armv4 = "arm" + +TOOLCHAIN = "gcc" diff --git a/meta-openembedded/meta-oe/recipes-devtools/cloc/cloc_1.84.bb b/meta-openembedded/meta-oe/recipes-devtools/cloc/cloc_1.84.bb new file mode 100644 index 0000000000..f9ecd0ee44 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-devtools/cloc/cloc_1.84.bb @@ -0,0 +1,19 @@ +SUMMARY = "Count blank lines, comment lines, and physical lines of source code \ +in many programming languages." +AUTHOR = "Al Danial" + +LICENSE="GPL-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=2c1c00f9d3ed9e24fa69b932b7e7aff2" + +SRC_URI = "https://github.com/AlDanial/cloc/releases/download/${PV}/${BP}.tar.gz" +SRC_URI[md5sum] = "a52f3843825377cfa4e4b3b30a567ab4" +SRC_URI[sha256sum] = "c3f0a6bd2319110418ccb3e55a7a1b6d0edfd7528bfd2ae5d530938abe90f254" + +do_configure[noexec] = "1" +do_compile[noexec] = "1" + +do_install() { + install -D -m 0755 ${S}/cloc ${D}${bindir}/cloc +} + +RDEPENDS_${PN} = "perl perl-modules" diff --git a/meta-openembedded/meta-oe/recipes-devtools/cscope/cscope_15.8b.bb b/meta-openembedded/meta-oe/recipes-devtools/cscope/cscope_15.8b.bb deleted file mode 100644 index 199c31e154..0000000000 --- a/meta-openembedded/meta-oe/recipes-devtools/cscope/cscope_15.8b.bb +++ /dev/null @@ -1,24 +0,0 @@ -# Copyright (C) 2015 Igor Santos -# Released under the MIT license (see COPYING.MIT for the terms) - -SUMMARY = "Cscope is a text screen based source browser" -DESCRIPTION = "Cscope is a developer's tool for browsing source code. \ - It has an impeccable Unix pedigree, having been originally \ - developed at Bell Labs back in the days of the PDP-11. \ - Cscope was part of the official AT&T Unix distribution for \ - many years, and has been used to manage projects involving 20 \ - million lines of code!" - -HOMEPAGE = "http://cscope.sourceforge.net/" - -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://COPYING;md5=d4667b67b483823043fcffa489ea343b" - -inherit autotools - -DEPENDS += "ncurses" - -SRC_URI = "http://downloads.sourceforge.net/project/cscope/cscope/${PV}/${BP}.tar.gz" - -SRC_URI[md5sum] = "8f9409a238ee313a96f9f87fe0f3b176" -SRC_URI[sha256sum] = "4889d091f05aa0845384b1e4965aa31d2b20911fb2c001b2cdcffbcb7212d3af" diff --git a/meta-openembedded/meta-oe/recipes-devtools/cscope/cscope_15.9.bb b/meta-openembedded/meta-oe/recipes-devtools/cscope/cscope_15.9.bb new file mode 100644 index 0000000000..99f3ba85de --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-devtools/cscope/cscope_15.9.bb @@ -0,0 +1,24 @@ +# Copyright (C) 2015 Igor Santos +# Released under the MIT license (see COPYING.MIT for the terms) + +SUMMARY = "Cscope is a text screen based source browser" +DESCRIPTION = "Cscope is a developer's tool for browsing source code. \ + It has an impeccable Unix pedigree, having been originally \ + developed at Bell Labs back in the days of the PDP-11. \ + Cscope was part of the official AT&T Unix distribution for \ + many years, and has been used to manage projects involving 20 \ + million lines of code!" + +HOMEPAGE = "http://cscope.sourceforge.net/" + +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://COPYING;md5=d4667b67b483823043fcffa489ea343b" + +inherit autotools + +DEPENDS += "ncurses" + +SRC_URI = "http://downloads.sourceforge.net/project/cscope/cscope/v${PV}/${BP}.tar.gz" + +SRC_URI[md5sum] = "16f3cce078b6c0e42299def4028eea6f" +SRC_URI[sha256sum] = "c5505ae075a871a9cd8d9801859b0ff1c09782075df281c72c23e72115d9f159" diff --git a/meta-openembedded/meta-oe/recipes-devtools/doxygen/doxygen_1.8.16.bb b/meta-openembedded/meta-oe/recipes-devtools/doxygen/doxygen_1.8.16.bb deleted file mode 100644 index 4df994c751..0000000000 --- a/meta-openembedded/meta-oe/recipes-devtools/doxygen/doxygen_1.8.16.bb +++ /dev/null @@ -1,17 +0,0 @@ -DESCRIPTION = "Doxygen is the de facto standard tool for generating documentation from annotated C++ sources." -HOMEPAGE = "http://www.doxygen.org/" - -LICENSE = "GPL-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263" - -DEPENDS = "flex-native bison-native" - -SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.src.tar.gz \ - file://0001-build-don-t-look-for-Iconv.patch \ -" -SRC_URI[md5sum] = "3ec5f8bfda38a05845161fbbd5d8b439" -SRC_URI[sha256sum] = "ff981fb6f5db4af9deb1dd0c0d9325e0f9ba807d17bd5750636595cf16da3c82" - -inherit cmake python3native - -BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-oe/recipes-devtools/doxygen/doxygen_1.8.17.bb b/meta-openembedded/meta-oe/recipes-devtools/doxygen/doxygen_1.8.17.bb new file mode 100644 index 0000000000..7a4eee32ca --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-devtools/doxygen/doxygen_1.8.17.bb @@ -0,0 +1,17 @@ +DESCRIPTION = "Doxygen is the de facto standard tool for generating documentation from annotated C++ sources." +HOMEPAGE = "http://www.doxygen.org/" + +LICENSE = "GPL-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +DEPENDS = "flex-native bison-native" + +SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.src.tar.gz \ + file://0001-build-don-t-look-for-Iconv.patch \ +" +SRC_URI[md5sum] = "7997a15c73a8bd6d003eaba5c2ee2b47" +SRC_URI[sha256sum] = "2cba988af2d495541cbbe5541b3bee0ee11144dcb23a81eada19f5501fd8b599" + +inherit cmake python3native + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-oe/recipes-devtools/flatbuffers/flatbuffers_1.11.0.bb b/meta-openembedded/meta-oe/recipes-devtools/flatbuffers/flatbuffers_1.11.0.bb index bd6dcef4e3..529441de10 100644 --- a/meta-openembedded/meta-oe/recipes-devtools/flatbuffers/flatbuffers_1.11.0.bb +++ b/meta-openembedded/meta-oe/recipes-devtools/flatbuffers/flatbuffers_1.11.0.bb @@ -17,8 +17,8 @@ SRC_URI = "git://github.com/google/flatbuffers.git \ " # Make sure C++11 is used, required for example for GCC 4.9 -CXXFLAGS += "-std=c++11" -BUILD_CXXFLAGS += "-std=c++11" +CXXFLAGS += "-std=c++11 -fPIC" +BUILD_CXXFLAGS += "-std=c++11 -fPIC" # BUILD_TYPE=Release is required, otherwise flatc is not installed EXTRA_OECMAKE += "\ diff --git a/meta-openembedded/meta-oe/recipes-devtools/geany/geany-plugins_1.36.bb b/meta-openembedded/meta-oe/recipes-devtools/geany/geany-plugins_1.36.bb index c43d23b347..a6a0b17dd4 100644 --- a/meta-openembedded/meta-oe/recipes-devtools/geany/geany-plugins_1.36.bb +++ b/meta-openembedded/meta-oe/recipes-devtools/geany/geany-plugins_1.36.bb @@ -16,7 +16,7 @@ DEPENDS = " \ geany \ libxml2 \ libsoup-2.4 \ - enchant \ + enchant2 \ intltool-native \ libassuan \ gpgme \ diff --git a/meta-openembedded/meta-oe/recipes-devtools/geany/geany_1.36.bb b/meta-openembedded/meta-oe/recipes-devtools/geany/geany_1.36.bb index 0d29b138a9..17e16bf561 100644 --- a/meta-openembedded/meta-oe/recipes-devtools/geany/geany_1.36.bb +++ b/meta-openembedded/meta-oe/recipes-devtools/geany/geany_1.36.bb @@ -5,7 +5,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=bd7b2c994af21d318bd2cd3b3f80c2d5" DEPENDS = "gtk+3 libxml-parser-perl-native python3-docutils-native intltool-native" -inherit features_check autotools pkgconfig perlnative pythonnative gettext +inherit features_check autotools pkgconfig perlnative gettext REQUIRED_DISTRO_FEATURES = "x11" diff --git a/meta-openembedded/meta-oe/recipes-devtools/jsoncpp/jsoncpp_1.8.4.bb b/meta-openembedded/meta-oe/recipes-devtools/jsoncpp/jsoncpp_1.8.4.bb deleted file mode 100644 index 97fc6c73b2..0000000000 --- a/meta-openembedded/meta-oe/recipes-devtools/jsoncpp/jsoncpp_1.8.4.bb +++ /dev/null @@ -1,23 +0,0 @@ -SUMMARY = "JSON C++ lib used to read and write json file." -DESCRIPTION = "Jsoncpp is an implementation of a JSON (http://json.org) reader \ - and writer in C++. JSON (JavaScript Object Notation) is a \ - lightweight data-interchange format. It is easy for humans to \ - read and write. It is easy for machines to parse and generate." - -HOMEPAGE = "https://github.com/open-source-parsers/jsoncpp" - -SECTION = "libs" - -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=fa2a23dd1dc6c139f35105379d76df2b" - -SRCREV = "ddabf50f72cf369bf652a95c4d9fe31a1865a781" -SRC_URI = "git://github.com/open-source-parsers/jsoncpp" - -S = "${WORKDIR}/git" - -inherit cmake - -EXTRA_OECMAKE += "-DBUILD_SHARED_LIBS=ON -DJSONCPP_WITH_TESTS=OFF" - -BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-oe/recipes-devtools/jsoncpp/jsoncpp_1.9.2.bb b/meta-openembedded/meta-oe/recipes-devtools/jsoncpp/jsoncpp_1.9.2.bb new file mode 100644 index 0000000000..a88410f2ff --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-devtools/jsoncpp/jsoncpp_1.9.2.bb @@ -0,0 +1,23 @@ +SUMMARY = "JSON C++ lib used to read and write json file." +DESCRIPTION = "Jsoncpp is an implementation of a JSON (http://json.org) reader \ + and writer in C++. JSON (JavaScript Object Notation) is a \ + lightweight data-interchange format. It is easy for humans to \ + read and write. It is easy for machines to parse and generate." + +HOMEPAGE = "https://github.com/open-source-parsers/jsoncpp" + +SECTION = "libs" + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=fa2a23dd1dc6c139f35105379d76df2b" + +SRCREV = "d2e6a971f4544c55b8e3b25cf96db266971b778f" +SRC_URI = "git://github.com/open-source-parsers/jsoncpp" + +S = "${WORKDIR}/git" + +inherit cmake + +EXTRA_OECMAKE += "-DBUILD_SHARED_LIBS=ON -DJSONCPP_WITH_TESTS=OFF" + +BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-oe/recipes-devtools/ldns/ldns_1.7.1.bb b/meta-openembedded/meta-oe/recipes-devtools/ldns/ldns_1.7.1.bb new file mode 100644 index 0000000000..2a52dd688a --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-devtools/ldns/ldns_1.7.1.bb @@ -0,0 +1,18 @@ +SUMMARY = "LDNS is a DNS library that facilitates DNS tool programming" +HOMEPAGE = "https://nlnetlabs.nl/ldns" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=34330f15b2b4abbbaaa7623f79a6a019" + +SRC_URI = "https://www.nlnetlabs.nl/downloads/ldns/ldns-${PV}.tar.gz" +SRC_URI[md5sum] = "166262a46995d9972aba417fd091acd5" +SRC_URI[sha256sum] = "8ac84c16bdca60e710eea75782356f3ac3b55680d40e1530d7cea474ac208229" + +DEPENDS = "openssl" + +inherit autotools-brokensep + +PACKAGECONFIG ??= "" +PACKAGECONFIG[drill] = "--with-drill,--without-drill" + +EXTRA_OECONF = "--with-ssl=${STAGING_EXECPREFIXDIR} \ + libtool=${TARGET_PREFIX}libtool" diff --git a/meta-openembedded/meta-oe/recipes-devtools/libubox/libubox/0001-blobmsg-fix-array-out-of-bounds-GCC-10-warning.patch b/meta-openembedded/meta-oe/recipes-devtools/libubox/libubox/0001-blobmsg-fix-array-out-of-bounds-GCC-10-warning.patch new file mode 100644 index 0000000000..4f1dd76326 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-devtools/libubox/libubox/0001-blobmsg-fix-array-out-of-bounds-GCC-10-warning.patch @@ -0,0 +1,42 @@ +From a12325a0cbf3bf1d66a0b0f8d85e08083bae6066 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Petr=20=C5=A0tetiar?= +Date: Wed, 25 Dec 2019 10:27:59 +0100 +Subject: [PATCH] blobmsg: fix array out of bounds GCC 10 warning +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Fixes following warning reported by GCC 10.0.0 20191203: + + blobmsg.c:234:2: error: 'strcpy' offset 6 from the object at 'attr' is out of the bounds of referenced subobject 'name' with type 'uint8_t[0]' {aka 'unsigned char[0]'} at offset 6 [-Werror=array-bounds] + 234 | strcpy((char *) hdr->name, (const char *)name); + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + In file included from blobmsg.c:16: + blobmsg.h:42:10: note: subobject 'name' declared here + 42 | uint8_t name[]; + | ^~~~ + +Upstream-Status: Submitted [https://gitlab.com/ynezz/openwrt-libubox/commit/3775b3aa28de8c20d96b6f02786a327423b0748a] +Reported-by: Khem Raj +Signed-off-by: Petr Štetiar +--- + blobmsg.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/blobmsg.c b/blobmsg.c +index a860483..b6b7535 100644 +--- a/blobmsg.c ++++ b/blobmsg.c +@@ -195,7 +195,7 @@ blobmsg_new(struct blob_buf *buf, int type, const char *name, int payload_len, v + attr->id_len |= be32_to_cpu(BLOB_ATTR_EXTENDED); + hdr = blob_data(attr); + hdr->namelen = cpu_to_be16(namelen); +- strcpy((char *) hdr->name, (const char *)name); ++ memcpy(hdr->name, name, namelen); + pad_end = *data = blobmsg_data(attr); + pad_start = (char *) &hdr->name[namelen]; + if (pad_start < pad_end) +-- +2.24.1 + diff --git a/meta-openembedded/meta-oe/recipes-devtools/libubox/libubox_git.bb b/meta-openembedded/meta-oe/recipes-devtools/libubox/libubox_git.bb index f9f4e08b71..7dbefa1152 100644 --- a/meta-openembedded/meta-oe/recipes-devtools/libubox/libubox_git.bb +++ b/meta-openembedded/meta-oe/recipes-devtools/libubox/libubox_git.bb @@ -16,9 +16,10 @@ SRC_URI = "\ git://git.openwrt.org/project/libubox.git \ file://0001-version-libraries.patch \ file://fix-libdir.patch \ + file://0001-blobmsg-fix-array-out-of-bounds-GCC-10-warning.patch \ " -SRCREV = "155bf39896f126b1ba121b816922a88dc34c31e3" +SRCREV = "07413cce72e19520af55dfcbc765484f5ab41dd9" PV = "1.0.1+git${SRCPV}" S = "${WORKDIR}/git" 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 deleted file mode 100644 index 44a835c35f..0000000000 --- a/meta-openembedded/meta-oe/recipes-devtools/log4cplus/log4cplus/0001-Remove-log4cplus-version-entry-from-ELF-.comment-sec.patch +++ /dev/null @@ -1,40 +0,0 @@ -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.4.bb b/meta-openembedded/meta-oe/recipes-devtools/log4cplus/log4cplus_2.0.4.bb deleted file mode 100644 index 566de28535..0000000000 --- a/meta-openembedded/meta-oe/recipes-devtools/log4cplus/log4cplus_2.0.4.bb +++ /dev/null @@ -1,20 +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 \ - 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/log4cplus/log4cplus_2.0.5.bb b/meta-openembedded/meta-oe/recipes-devtools/log4cplus/log4cplus_2.0.5.bb new file mode 100644 index 0000000000..967ac7623a --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-devtools/log4cplus/log4cplus_2.0.5.bb @@ -0,0 +1,19 @@ +SUMMARY = "log4cplus provides a simple C++ logging API for log management" +SECTION = "libs" +HOMEPAGE = "http://sourceforge.net/projects/log4cplus/" +BUGTRACKER = "http://sourceforge.net/p/log4cplus/bugs/" + +LICENSE = "Apache-2.0 & BSD-2-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=41e8e060c26822886b592ab4765c756b" + +SRC_URI = "${SOURCEFORGE_MIRROR}/project/${BPN}/${BPN}-stable/${PV}/${BP}.tar.gz \ + " +SRC_URI[md5sum] = "71dd956bf686195127559671f1426cff" +SRC_URI[sha256sum] = "c07115c23219390633798def30b7b51a0f79fdeb857e4b49632f17746d0ceb97" + +UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/log4cplus/files/log4cplus-stable/" +UPSTREAM_CHECK_REGEX = "log4cplus-stable/(?P\d+(\.\d+)+)/" + +inherit autotools pkgconfig + +BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace/0001-ensure-the-struct-pointers-are-null-initilized.patch b/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace/0001-ensure-the-struct-pointers-are-null-initilized.patch new file mode 100644 index 0000000000..9def41ca60 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace/0001-ensure-the-struct-pointers-are-null-initilized.patch @@ -0,0 +1,46 @@ +From 67a8fa478a4484bc4dbfb3ac74e11be1dd5af594 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Mon, 23 Dec 2019 19:35:48 -0800 +Subject: [PATCH] ensure the struct pointers are null initilized + +Do not delete if pointer is already null + +Upstream-Status: Pending + +Signed-off-by: Khem Raj +--- + expr.c | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +diff --git a/expr.c b/expr.c +index 4059a32..5ffd0ad 100644 +--- a/expr.c ++++ b/expr.c +@@ -189,10 +189,8 @@ int + expr_clone(struct expr_node *retp, const struct expr_node *node) + { + *retp = *node; +- ++ struct expr_node *nlhs = 0, *nrhs = 0; + switch (node->kind) { +- struct expr_node *nlhs; +- struct expr_node *nrhs; + + case EXPR_OP_ARGNO: + case EXPR_OP_SELF: +@@ -236,8 +234,10 @@ expr_clone(struct expr_node *retp, const struct expr_node *node) + if (expr_alloc_and_clone(&nlhs, node->lhs, node->own_lhs) < 0) { + if (node->kind == EXPR_OP_CALL2 + && node->u.call.own_rhs) { +- expr_destroy(nrhs); +- free(nrhs); ++ if (nrhs) { ++ expr_destroy(nrhs); ++ free(nrhs); ++ } + return -1; + } + } +-- +2.24.1 + diff --git a/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace/0001-hook-Do-not-append-int-to-std-string.patch b/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace/0001-hook-Do-not-append-int-to-std-string.patch index 8f1c4b9b9b..2890373821 100644 --- a/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace/0001-hook-Do-not-append-int-to-std-string.patch +++ b/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace/0001-hook-Do-not-append-int-to-std-string.patch @@ -23,7 +23,7 @@ Signed-off-by: Khem Raj if (sysconfdir != NULL && *sysconfdir != '\0') { /* No +1, we skip the initial period. */ - syspath = malloc(strlen(sysconfdir) + sizeof FN); -+ syspath = malloc(strlen(sysconfdir) + sizeof FN + 1); ++ syspath = malloc(strlen(sysconfdir) + sizeof FN + 2); + syspath[strlen(sysconfdir) + sizeof FN + 1] = '\0'; if (syspath == NULL - || sprintf(syspath, "%s/%s", sysconfdir, FN + 1) < 0) diff --git a/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace_git.bb b/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace_git.bb index bb21cbca8a..6b66c25297 100644 --- a/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace_git.bb +++ b/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace_git.bb @@ -28,6 +28,7 @@ SRC_URI = "git://github.com/sparkleholic/ltrace.git;branch=master;protocol=http file://0001-hook-Do-not-append-int-to-std-string.patch \ file://include_unistd_nr.patch \ file://0001-Bug-fix-for-data-type-length-judgment.patch \ + file://0001-ensure-the-struct-pointers-are-null-initilized.patch \ " S = "${WORKDIR}/git" diff --git a/meta-openembedded/meta-oe/recipes-devtools/luajit/luajit_2.0.5.bb b/meta-openembedded/meta-oe/recipes-devtools/luajit/luajit_2.0.5.bb index c2d2180bae..08a0470b04 100644 --- a/meta-openembedded/meta-oe/recipes-devtools/luajit/luajit_2.0.5.bb +++ b/meta-openembedded/meta-oe/recipes-devtools/luajit/luajit_2.0.5.bb @@ -90,7 +90,9 @@ FILES_${PN}-dev += "${libdir}/libluajit-5.1.a \ " FILES_luajit-common = "${datadir}/${BPN}-${PV}" -# Aarch64/mips64 is not supported in this release +# Aarch64/mips64/ppc/ppc64 is not supported in this release COMPATIBLE_HOST_aarch64 = "null" COMPATIBLE_HOST_mipsarchn32 = "null" COMPATIBLE_HOST_mipsarchn64 = "null" +COMPATIBLE_HOST_powerpc = "null" +COMPATIBLE_HOST_powerpc64 = "null" diff --git a/meta-openembedded/meta-oe/recipes-devtools/mercurial/mercurial_5.2.bb b/meta-openembedded/meta-oe/recipes-devtools/mercurial/mercurial_5.2.bb index 0fec4d1f17..6dedb02aa3 100644 --- a/meta-openembedded/meta-oe/recipes-devtools/mercurial/mercurial_5.2.bb +++ b/meta-openembedded/meta-oe/recipes-devtools/mercurial/mercurial_5.2.bb @@ -30,6 +30,9 @@ do_install () { oe_runmake -e install-bin DESTDIR=${D} PREFIX=${prefix} sed -i -e 's:${STAGING_BINDIR_NATIVE}/python3-native/python3:${USRBINPATH}/env python3:g' ${D}${bindir}/hg } +PACKAGES =+ "${PN}-python" FILES_${PN} += "${PYTHON_SITEPACKAGES_DIR}" +FILES_${PN}-python = "${nonarch_libdir}/${PYTHON_DIR}" + diff --git a/meta-openembedded/meta-oe/recipes-devtools/msgpack/msgpack-c_3.1.1.bb b/meta-openembedded/meta-oe/recipes-devtools/msgpack/msgpack-c_3.1.1.bb deleted file mode 100644 index 90fd44e607..0000000000 --- a/meta-openembedded/meta-oe/recipes-devtools/msgpack/msgpack-c_3.1.1.bb +++ /dev/null @@ -1,19 +0,0 @@ -SUMMARY = "MessagePack implementation for C and C++" -DESCRIPTION = "MessagePack is an efficient binary serialization format. It's like JSON. but fast and small" -HOMEPAGE = "http://msgpack.org/index.html" -LICENSE = "BSL-1.0" -LIC_FILES_CHKSUM = "file://NOTICE;md5=7a858c074723608e08614061dc044352 \ - file://COPYING;md5=0639c4209b6f2abf1437c813b208f2d3 \ - file://LICENSE_1_0.txt;md5=e4224ccaecb14d942c71d31bef20d78c \ - " - -PV .= "+git${SRCPV}" - -SRC_URI = "git://github.com/msgpack/msgpack-c \ - " -# cpp-3.1.1 -SRCREV = "83a82e3eb512b18d4149cabb7eb43c7e8bc081af" - -S = "${WORKDIR}/git" - -inherit cmake pkgconfig diff --git a/meta-openembedded/meta-oe/recipes-devtools/msgpack/msgpack-c_3.2.1.bb b/meta-openembedded/meta-oe/recipes-devtools/msgpack/msgpack-c_3.2.1.bb new file mode 100644 index 0000000000..d410dc6e0a --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-devtools/msgpack/msgpack-c_3.2.1.bb @@ -0,0 +1,19 @@ +SUMMARY = "MessagePack implementation for C and C++" +DESCRIPTION = "MessagePack is an efficient binary serialization format. It's like JSON. but fast and small" +HOMEPAGE = "http://msgpack.org/index.html" +LICENSE = "BSL-1.0" +LIC_FILES_CHKSUM = "file://NOTICE;md5=7a858c074723608e08614061dc044352 \ + file://COPYING;md5=0639c4209b6f2abf1437c813b208f2d3 \ + file://LICENSE_1_0.txt;md5=e4224ccaecb14d942c71d31bef20d78c \ + " + +PV .= "+git${SRCPV}" + +SRC_URI = "git://github.com/msgpack/msgpack-c \ + " +# cpp-3.2.1 +SRCREV = "8085ab8721090a447cf98bb802d1406ad7afe420" + +S = "${WORKDIR}/git" + +inherit cmake pkgconfig diff --git a/meta-openembedded/meta-oe/recipes-devtools/nanopb/nanopb_0.4.0.bb b/meta-openembedded/meta-oe/recipes-devtools/nanopb/nanopb_0.4.0.bb new file mode 100644 index 0000000000..aedd53a7a4 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-devtools/nanopb/nanopb_0.4.0.bb @@ -0,0 +1,28 @@ +DESCRIPTION="Protocol Buffers with small code size" +LICENSE="Zlib" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=9db4b73a55a3994384112efcdb37c01f" + +DEPENDS = "protobuf-native" + +SRC_URI = "git://github.com/nanopb/nanopb.git" +SRCREV = "70f0de9877b1ce12abc0229d5df84db6349fcbfc" + +S = "${WORKDIR}/git" + +inherit cmake pythonnative + +do_install_append() { + install -Dm 0755 ${S}/generator/nanopb_generator.py ${D}${bindir}/nanopb_generator.py + install -Dm 0755 ${S}/generator/protoc-gen-nanopb ${D}${bindir}/protoc-gen-nanopb + install -Dm 0755 ${S}/generator/proto/__init__.py ${D}${PYTHON_SITEPACKAGES_DIR}/proto/__init__.py +} + +FILES_${PN} += "${PYTHON_SITEPACKAGES_DIR}" +FILES_${PN}-dev += "${libdir}/cmake/${BPN}" + +RDEPENDS_${PN} += "\ + ${PYTHON_PN}-protobuf \ + protobuf-compiler \ +" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json_3.7.3.bb b/meta-openembedded/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json_3.7.3.bb new file mode 100644 index 0000000000..86fe673b47 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json_3.7.3.bb @@ -0,0 +1,27 @@ +SUMMARY = "JSON for modern C++" +HOMEPAGE = "https://nlohmann.github.io/json/" +SECTION = "libs" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE.MIT;md5=f5f7c71504da070bcf4f090205ce1080" + +SRC_URI = "git://github.com/nlohmann/json.git;nobranch=1" + +SRCREV = "e7b3b40b5a95bc74b9a7f662830a27c49ffc01b4" + +S = "${WORKDIR}/git" + +inherit cmake + +EXTRA_OECMAKE += "-DJSON_BuildTests=OFF" + +# nlohmann-json is a header only C++ library, so the main package will be empty. + +RDEPENDS_${PN}-dev = "" + +BBCLASSEXTEND = "native nativesdk" + +# other packages commonly reference the file directly as "json.hpp" +# create symlink to allow this usage +do_install_append() { + ln -s nlohmann/json.hpp ${D}${includedir}/json.hpp +} diff --git a/meta-openembedded/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json_git.bb b/meta-openembedded/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json_git.bb deleted file mode 100644 index 4399edaab1..0000000000 --- a/meta-openembedded/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json_git.bb +++ /dev/null @@ -1,29 +0,0 @@ -SUMMARY = "JSON for modern C++" -HOMEPAGE = "https://nlohmann.github.io/json/" -SECTION = "libs" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE.MIT;md5=f5f7c71504da070bcf4f090205ce1080" - -SRC_URI = "git://github.com/nlohmann/json.git" - -PV = "3.7.0+git${SRCPV}" - -SRCREV = "ea60d40f4a60a47d3be9560d8f7bc37c163fe47b" - -S = "${WORKDIR}/git" - -inherit cmake - -EXTRA_OECMAKE += "-DJSON_BuildTests=OFF" - -# nlohmann-json is a header only C++ library, so the main package will be empty. - -RDEPENDS_${PN}-dev = "" - -BBCLASSEXTEND = "native nativesdk" - -# other packages commonly reference the file directly as "json.hpp" -# create symlink to allow this usage -do_install_append() { - ln -s nlohmann/json.hpp ${D}${includedir}/json.hpp -} diff --git a/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0003-Install-both-binaries-and-use-libdir.patch b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0003-Install-both-binaries-and-use-libdir.patch new file mode 100644 index 0000000000..7aa70fec99 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0003-Install-both-binaries-and-use-libdir.patch @@ -0,0 +1,96 @@ +From 5bfeffdf4b5de1c60a2ff0d1ddf65db2bb9a1533 Mon Sep 17 00:00:00 2001 +From: Elliott Sales de Andrade +Date: Tue, 19 Mar 2019 23:22:40 -0400 +Subject: [PATCH 3/3] Install both binaries and use libdir. + +This allows us to build with a shared library for other users while +still providing the normal executable. + +Signed-off-by: Elliott Sales de Andrade + +Stolen from [1] + +[1] https://src.fedoraproject.org/rpms/nodejs/raw/master/f/0003-Install-both-binaries-and-use-libdir.patch + +Upstream-Status: Pending + +Signed-off-by: Andreas Müller + +--- + configure.py | 7 +++++++ + tools/install.py | 31 ++++++++++++++----------------- + 2 files changed, 21 insertions(+), 17 deletions(-) + +diff --git a/configure.py b/configure.py +index cfd4207..eb26f7d 100755 +--- a/configure.py ++++ b/configure.py +@@ -552,6 +552,12 @@ parser.add_option('--shared', + help='compile shared library for embedding node in another project. ' + + '(This mode is not officially supported for regular applications)') + ++parser.add_option('--libdir', ++ action='store', ++ dest='libdir', ++ default='lib', ++ help='a directory to install the shared library into') ++ + parser.add_option('--without-v8-platform', + action='store_true', + dest='without_v8_platform', +@@ -1095,6 +1101,7 @@ def configure_node(o): + if options.code_cache_path: + o['variables']['node_code_cache_path'] = options.code_cache_path + o['variables']['node_shared'] = b(options.shared) ++ o['variables']['libdir'] = options.libdir + node_module_version = getmoduleversion.get_version() + + if sys.platform == 'darwin': +diff --git a/tools/install.py b/tools/install.py +index 028c32e..bf443c4 100755 +--- a/tools/install.py ++++ b/tools/install.py +@@ -117,26 +117,23 @@ def subdir_files(path, dest, action): + + def files(action): + is_windows = sys.platform == 'win32' +- output_file = 'node' + output_prefix = 'out/Release/' ++ output_libprefix = output_prefix + +- if 'false' == variables.get('node_shared'): +- if is_windows: +- output_file += '.exe' ++ if is_windows: ++ output_bin = 'node.exe' ++ output_lib = 'node.dll' + else: +- if is_windows: +- output_file += '.dll' +- else: +- output_file = 'lib' + output_file + '.' + variables.get('shlib_suffix') +- # GYP will output to lib.target except on OS X, this is hardcoded +- # in its source - see the _InstallableTargetInstallPath function. +- if sys.platform != 'darwin': +- output_prefix += 'lib.target/' +- +- if 'false' == variables.get('node_shared'): +- action([output_prefix + output_file], 'bin/' + output_file) +- else: +- action([output_prefix + output_file], 'lib/' + output_file) ++ output_bin = 'node' ++ output_lib = 'libnode.' + variables.get('shlib_suffix') ++ # GYP will output to lib.target except on OS X, this is hardcoded ++ # in its source - see the _InstallableTargetInstallPath function. ++ if sys.platform != 'darwin': ++ output_libprefix += 'lib.target/' ++ ++ action([output_prefix + output_bin], 'bin/' + output_bin) ++ if 'true' == variables.get('node_shared'): ++ action([output_libprefix + output_lib], variables.get('libdir') + '/' + output_lib) + + if 'true' == variables.get('node_use_dtrace'): + action(['out/Release/node.d'], 'lib/dtrace/node.d') +-- +2.23.0 + diff --git a/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_10.17.0.bb b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_10.17.0.bb index e36995c258..71a47636b0 100644 --- a/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_10.17.0.bb +++ b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_10.17.0.bb @@ -17,12 +17,13 @@ COMPATIBLE_HOST_riscv32 = "null" 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-Install-both-binaries-and-use-libdir.patch \ file://0004-Make-compatibility-with-gcc-4.8.patch \ file://0007-v8-don-t-override-ARM-CFLAGS.patch \ " SRC_URI_append_class-target = " \ - file://0005-Link-atomic-library.patch \ file://0002-Using-native-torque.patch \ + file://0005-Link-atomic-library.patch \ " SRC_URI[md5sum] = "d5a56d0abf764a91f627f0690cd4b9f3" @@ -57,6 +58,7 @@ PACKAGECONFIG[gyp] = ",,gyp-py2-native" PACKAGECONFIG[icu] = "--with-intl=system-icu,--without-intl,icu" PACKAGECONFIG[libuv] = "--shared-libuv,,libuv" PACKAGECONFIG[nghttp2] = "--shared-nghttp2,,nghttp2" +PACKAGECONFIG[shared] = "--shared" PACKAGECONFIG[zlib] = "--shared-zlib,,zlib" # We don't want to cross-compile during target compile, @@ -99,6 +101,7 @@ do_configure () { ./configure --prefix=${prefix} --without-snapshot --shared-openssl \ --dest-cpu="${@map_nodejs_arch(d.getVar('TARGET_ARCH'), d)}" \ --dest-os=linux \ + --libdir=${D}${libdir} \ ${ARCHFLAGS} \ ${PACKAGECONFIG_CONFARGS} } 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 9ec77fdc4d..e95f1cfa54 100644 --- a/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd_git.bb +++ b/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd_git.bb @@ -53,4 +53,5 @@ FILES_${PN} = " \ " PACKAGECONFIG[sysfsgpio] = "--enable-sysfsgpio,--disable-sysfsgpio" -PACKAGECONFIG ??= "sysfsgpio" +PACKAGECONFIG[remote-bitbang] = "--enable-remote-bitbang,--disable-remote-bitbang" +PACKAGECONFIG ??= "sysfsgpio remote-bitbang" diff --git a/meta-openembedded/meta-oe/recipes-devtools/sqlite-orm/sqlite-orm_1.5.bb b/meta-openembedded/meta-oe/recipes-devtools/sqlite-orm/sqlite-orm_1.5.bb new file mode 100644 index 0000000000..4a27e4b2a5 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-devtools/sqlite-orm/sqlite-orm_1.5.bb @@ -0,0 +1,22 @@ +SUMMARY = "SQLite ORM light header only library for modern C++" +HOMEPAGE = "https://github.com/fnc12/sqlite_orm" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=3b5bf5ee8bb16d8e19359efe11bdc3f2" + +inherit cmake + +DEPENDS += "sqlite3" + +SRCREV = "e8a9e9416f421303f4b8970caab26dadf8bae98b" +SRC_URI = "git://github.com/fnc12/sqlite_orm;protocol=https" +S = "${WORKDIR}/git" + +EXTRA_OECMAKE += "-DSqliteOrm_BuildTests=OFF" + +BBCLASSEXTEND = "native nativesdk" + +FILES_${PN}-dev += "${libdir}/cmake/${BPN}" + +# Header-only library +RDEPENDS_${PN}-dev = "" +RRECOMMENDS_${PN}-dbg = "${PN}-dev (= ${EXTENDPKGV})" \ No newline at end of file diff --git a/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk/configure.use.fontconfig.with.xft.patch b/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk/configure.use.fontconfig.with.xft.patch deleted file mode 100644 index a0c157f5ad..0000000000 --- a/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk/configure.use.fontconfig.with.xft.patch +++ /dev/null @@ -1,13 +0,0 @@ ---- a/configure.in.orig 2014-05-10 14:35:39.859147385 +0000 -+++ b/configure.in 2014-05-10 14:36:20.282925184 +0000 -@@ -554,8 +554,8 @@ - dnl make sure package configurator (xft-config or pkg-config - dnl says that xft is present. - found_xft=yes -- XFT_CFLAGS=`pkg-config --cflags xft 2>/dev/null` || found_xft="no" -- XFT_LIBS=`pkg-config --libs xft 2>/dev/null` || found_xft="no" -+ XFT_CFLAGS=`pkg-config --cflags xft fontconfig 2>/dev/null` || found_xft="no" -+ XFT_LIBS=`pkg-config --libs xft fontconfig 2>/dev/null` || found_xft="no" - AC_MSG_RESULT([$found_xft]) - dnl make sure that compiling against Xft header file doesn't bomb - if test "$found_xft" = "yes" ; then diff --git a/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk/confsearch.diff b/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk/confsearch.diff index 8cc07bcfac..229acf3e7a 100644 --- a/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk/confsearch.diff +++ b/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk/confsearch.diff @@ -16,31 +16,31 @@ Index: a/unix/configure =================================================================== --- a/unix/configure.orig +++ b/unix/configure -@@ -1432,6 +1432,7 @@ echo "$as_me: error: ${with_tclconfig} d +@@ -1431,6 +1431,7 @@ echo "$as_me: error: ${with_tclconfig} d `ls -d /usr/local/lib 2>/dev/null` \ `ls -d /usr/contrib/lib 2>/dev/null` \ `ls -d /usr/pkg/lib 2>/dev/null` \ + `ls -d /usr/share/tcltk/tcl8.6 2>/dev/null` \ + `ls -d /usr/lib/tcl8.6 2>/dev/null` \ `ls -d /usr/lib 2>/dev/null` \ `ls -d /usr/lib64 2>/dev/null` \ - `ls -d /usr/local/lib/tcl8.6 2>/dev/null` \ Index: a/unix/tcl.m4 =================================================================== --- a/unix/tcl.m4.orig +++ b/unix/tcl.m4 -@@ -94,6 +94,7 @@ AC_DEFUN([SC_PATH_TCLCONFIG], [ +@@ -93,6 +93,7 @@ AC_DEFUN([SC_PATH_TCLCONFIG], [ `ls -d /usr/local/lib 2>/dev/null` \ `ls -d /usr/contrib/lib 2>/dev/null` \ `ls -d /usr/pkg/lib 2>/dev/null` \ + `ls -d /usr/share/tcltk/tcl8.6 2>/dev/null` \ + `ls -d /usr/lib/tcl8.6 2>/dev/null` \ `ls -d /usr/lib 2>/dev/null` \ `ls -d /usr/lib64 2>/dev/null` \ - `ls -d /usr/local/lib/tcl8.6 2>/dev/null` \ -@@ -227,6 +228,7 @@ AC_DEFUN([SC_PATH_TKCONFIG], [ +@@ -226,6 +227,7 @@ AC_DEFUN([SC_PATH_TKCONFIG], [ `ls -d /usr/local/lib 2>/dev/null` \ `ls -d /usr/contrib/lib 2>/dev/null` \ `ls -d /usr/pkg/lib 2>/dev/null` \ -+ `ls -d /usr/share/tcltk/tk8.6 2>/dev/null` \ ++ `ls -d /usr/share/tcltk/tcl8.6 2>/dev/null` \ + `ls -d /usr/lib/tk8.6 2>/dev/null` \ `ls -d /usr/lib 2>/dev/null` \ `ls -d /usr/lib64 2>/dev/null` \ - `ls -d /usr/local/lib/tk8.6 2>/dev/null` \ diff --git a/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk/fix-xft.diff b/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk/fix-xft.diff index d1bb7105c6..4aa5d6b894 100644 --- a/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk/fix-xft.diff +++ b/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk/fix-xft.diff @@ -8,8 +8,8 @@ - XFT_LIBS=`xft-config --libs 2>/dev/null` || found_xft="no" - if test "$found_xft" = "no" ; then found_xft=yes - XFT_CFLAGS=`pkg-config --cflags xft 2>/dev/null` || found_xft="no" - XFT_LIBS=`pkg-config --libs xft 2>/dev/null` || found_xft="no" + XFT_CFLAGS=`pkg-config --cflags xft fontconfig 2>/dev/null` || found_xft="no" + XFT_LIBS=`pkg-config --libs xft fontconfig 2>/dev/null` || found_xft="no" - fi AC_MSG_RESULT([$found_xft]) dnl make sure that compiling against Xft header file doesn't bomb diff --git a/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk/non-linux.diff b/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk/non-linux.diff deleted file mode 100644 index 7d31f9fdca..0000000000 --- a/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk/non-linux.diff +++ /dev/null @@ -1,27 +0,0 @@ -Patch by Sergei Golovan (originally by Mike Markley and Chris Waters) fixes -building on non-linux Debian architectures. - ---- tk8.5-8.5.8.orig/unix/configure -+++ tk8.5-8.5.8/unix/configure -@@ -4447,6 +4447,9 @@ - if test "`uname -s`" = "AIX" ; then - tcl_cv_sys_version=AIX-`uname -v`.`uname -r` - fi -+ if test "`uname -s`" = "NetBSD" -a -f /etc/debian_version ; then -+ tcl_cv_sys_version=NetBSD-Debian -+ fi - fi - fi - ---- tk8.5-8.5.8.orig/unix/tcl.m4 -+++ tk8.5-8.5.8/unix/tcl.m4 -@@ -962,6 +962,9 @@ - if test "`uname -s`" = "AIX" ; then - tcl_cv_sys_version=AIX-`uname -v`.`uname -r` - fi -+ if test "`uname -s`" = "NetBSD" -a -f /etc/debian_version ; then -+ tcl_cv_sys_version=NetBSD-Debian -+ fi - fi - fi - ]) diff --git a/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk/tklibrary.diff b/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk/tklibrary.diff deleted file mode 100644 index ee38c2a1a5..0000000000 --- a/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk/tklibrary.diff +++ /dev/null @@ -1,22 +0,0 @@ ---- tk8.5-8.5.8.orig/unix/configure -+++ tk8.5-8.5.8/unix/configure -@@ -11070,7 +11070,7 @@ - TCL_STUB_FLAGS="-DUSE_TCL_STUBS" - fi - --TK_LIBRARY='$(prefix)/lib/tk$(VERSION)' -+test -z "$TK_LIBRARY" && TK_LIBRARY='$(prefix)/lib/tk$(VERSION)' - PRIVATE_INCLUDE_DIR='$(includedir)' - HTML_DIR='$(DISTDIR)/html' - TK_PKG_DIR='tk$(VERSION)' ---- tk8.5-8.5.8.orig/unix/configure.in -+++ tk8.5-8.5.8/unix/configure.in -@@ -607,7 +607,7 @@ - TCL_STUB_FLAGS="-DUSE_TCL_STUBS" - fi - --TK_LIBRARY='$(prefix)/lib/tk$(VERSION)' -+test -z "$TK_LIBRARY" && TK_LIBRARY='$(prefix)/lib/tk$(VERSION)' - PRIVATE_INCLUDE_DIR='$(includedir)' - HTML_DIR='$(DISTDIR)/html' - TK_PKG_DIR='tk$(VERSION)' diff --git a/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk_8.6.10.bb b/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk_8.6.10.bb new file mode 100644 index 0000000000..b564e12603 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk_8.6.10.bb @@ -0,0 +1,93 @@ +SUMMARY = "Tool Command Language ToolKit Extension" +HOMEPAGE = "http://tcl.sourceforge.net" +SECTION = "devel/tcltk" + +# http://www.tcl.tk/software/tcltk/license.html +LICENSE = "tcl" +LIC_FILES_CHKSUM = "file://${S}/../license.terms;md5=c88f99decec11afa967ad33d314f87fe \ + file://${S}/../compat/license.terms;md5=c88f99decec11afa967ad33d314f87fe \ + file://${S}/../doc/license.terms;md5=c88f99decec11afa967ad33d314f87fe \ + file://${S}/../library/license.terms;md5=c88f99decec11afa967ad33d314f87fe \ + file://${S}/../macosx/license.terms;md5=c88f99decec11afa967ad33d314f87fe \ + file://${S}/../tests/license.terms;md5=c88f99decec11afa967ad33d314f87fe \ + file://${S}/../unix/license.terms;md5=c88f99decec11afa967ad33d314f87fe \ + file://${S}/../win/license.terms;md5=c88f99decec11afa967ad33d314f87fe \ + file://${S}/../xlib/license.terms;md5=c88f99decec11afa967ad33d314f87fe \ +" + +DEPENDS = "tcl virtual/libx11 libxt" + +SRC_URI = "\ + ${SOURCEFORGE_MIRROR}/tcl/${BPN}${PV}-src.tar.gz \ + file://confsearch.diff;striplevel=2 \ + file://tkprivate.diff;striplevel=2 \ + file://fix-xft.diff \ +" +SRC_URI[md5sum] = "602a47ad9ecac7bf655ada729d140a94" +SRC_URI[sha256sum] = "63df418a859d0a463347f95ded5cd88a3dd3aaa1ceecaeee362194bc30f3e386" + +S = "${WORKDIR}/${BPN}${PV}/unix" + +# Short version format: "8.6" +VER = "${@os.path.splitext(d.getVar('PV'))[0]}" + +LDFLAGS += "-Wl,-rpath,${libdir}/tcltk/${PV}/lib" +inherit autotools features_check +# depends on virtual/libx11 +REQUIRED_DISTRO_FEATURES = "x11" + +EXTRA_OECONF = "\ + --enable-threads \ + --with-x \ + --with-tcl=${STAGING_BINDIR}/crossscripts \ + --libdir=${libdir} \ +" +export TK_LIBRARY='${libdir}/tk${VER}' +do_install_append() { + ln -sf libtk${VER}.so ${D}${libdir}/libtk${VER}.so.0 + oe_libinstall -so libtk${VER} ${D}${libdir} + ln -sf wish${VER} ${D}${bindir}/wish + + sed -i "s;-L${B};-L${STAGING_LIBDIR};g" tkConfig.sh + sed -i "s;'${WORKDIR};'${STAGING_INCDIR};g" tkConfig.sh + install -d ${D}${bindir_crossscripts} + install -m 0755 tkConfig.sh ${D}${bindir_crossscripts} +} + +PACKAGECONFIG ??= "xft" +PACKAGECONFIG[xft] = "--enable-xft,--disable-xft,xft" +PACKAGECONFIG[xss] = "--enable-xss,--disable-xss,libxscrnsaver libxext" + +PACKAGES =+ "${PN}-lib" + +FILES_${PN}-lib = "${libdir}/libtk${VER}.so*" +FILES_${PN} += "${libdir}/tk*" + +# isn't getting picked up by shlibs code +RDEPENDS_${PN} += "tk-lib" +RDEPENDS_${PN}_class-native = "" + +BBCLASSEXTEND = "native nativesdk" + +# Fix the path in sstate +SSTATE_SCAN_FILES += "*Config.sh" + +inherit binconfig + +SYSROOT_DIRS += "${bindir_crossscripts}" + +# Fix some paths that might be used by Tcl extensions +BINCONFIG_GLOB = "*Config.sh" + +# Cleanup host path from ${libdir}/tclConfig.sh and remove the +# ${bindir_crossscripts}/tclConfig.sh from target +PACKAGE_PREPROCESS_FUNCS += "tcl_package_preprocess" +tcl_package_preprocess() { + sed -i -e "s;${DEBUG_PREFIX_MAP};;g" \ + -e "s;-L${STAGING_LIBDIR};-L${libdir};g" \ + -e "s;${STAGING_INCDIR};${includedir};g" \ + -e "s;--sysroot=${RECIPE_SYSROOT};;g" \ + ${PKGD}${libdir}/tkConfig.sh + + rm -f ${PKGD}${bindir_crossscripts}/tkConfig.sh +} diff --git a/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk_8.6.9.bb b/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk_8.6.9.bb deleted file mode 100644 index 3d77670749..0000000000 --- a/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk_8.6.9.bb +++ /dev/null @@ -1,96 +0,0 @@ -SUMMARY = "Tool Command Language ToolKit Extension" -HOMEPAGE = "http://tcl.sourceforge.net" -SECTION = "devel/tcltk" - -# http://www.tcl.tk/software/tcltk/license.html -LICENSE = "tcl" -LIC_FILES_CHKSUM = "file://${S}/../license.terms;md5=c88f99decec11afa967ad33d314f87fe \ - file://${S}/../compat/license.terms;md5=c88f99decec11afa967ad33d314f87fe \ - file://${S}/../doc/license.terms;md5=c88f99decec11afa967ad33d314f87fe \ - file://${S}/../library/license.terms;md5=c88f99decec11afa967ad33d314f87fe \ - file://${S}/../macosx/license.terms;md5=c88f99decec11afa967ad33d314f87fe \ - file://${S}/../tests/license.terms;md5=c88f99decec11afa967ad33d314f87fe \ - file://${S}/../unix/license.terms;md5=c88f99decec11afa967ad33d314f87fe \ - file://${S}/../win/license.terms;md5=c88f99decec11afa967ad33d314f87fe \ - file://${S}/../xlib/license.terms;md5=c88f99decec11afa967ad33d314f87fe \ -" - -DEPENDS = "tcl virtual/libx11 libxt" - -SRC_URI = "\ - ${SOURCEFORGE_MIRROR}/tcl/${BPN}${PV}-src.tar.gz \ - file://confsearch.diff;striplevel=2 \ - file://non-linux.diff;striplevel=2 \ - file://tklibrary.diff;striplevel=2 \ - file://tkprivate.diff;striplevel=2 \ - file://fix-xft.diff \ - file://configure.use.fontconfig.with.xft.patch \ -" -SRC_URI[md5sum] = "e3cf6290999ee30651d75864eccfec63" -SRC_URI[sha256sum] = "d3f9161e8ba0f107fe8d4df1f6d3a14c30cc3512dfc12a795daa367a27660dac" - -S = "${WORKDIR}/${BPN}${PV}/unix" - -# Short version format: "8.6" -VER = "${@os.path.splitext(d.getVar('PV'))[0]}" - -LDFLAGS += "-Wl,-rpath,${libdir}/tcltk/${PV}/lib" -inherit autotools features_check -# depends on virtual/libx11 -REQUIRED_DISTRO_FEATURES = "x11" - -EXTRA_OECONF = "\ - --enable-threads \ - --with-x \ - --with-tcl=${STAGING_BINDIR}/crossscripts \ - --libdir=${libdir} \ -" -export TK_LIBRARY='${libdir}/tk${VER}' -do_install_append() { - ln -sf libtk${VER}.so ${D}${libdir}/libtk${VER}.so.0 - oe_libinstall -so libtk${VER} ${D}${libdir} - ln -sf wish${VER} ${D}${bindir}/wish - - sed -i "s;-L${B};-L${STAGING_LIBDIR};g" tkConfig.sh - sed -i "s;'${WORKDIR};'${STAGING_INCDIR};g" tkConfig.sh - install -d ${D}${bindir_crossscripts} - install -m 0755 tkConfig.sh ${D}${bindir_crossscripts} -} - -PACKAGECONFIG ??= "xft" -PACKAGECONFIG[xft] = "--enable-xft,--disable-xft,xft" -PACKAGECONFIG[xss] = "--enable-xss,--disable-xss,libxscrnsaver libxext" - -PACKAGES =+ "${PN}-lib" - -FILES_${PN}-lib = "${libdir}/libtk${VER}.so*" -FILES_${PN} += "${libdir}/tk*" - -# isn't getting picked up by shlibs code -RDEPENDS_${PN} += "tk-lib" -RDEPENDS_${PN}_class-native = "" - -BBCLASSEXTEND = "native nativesdk" - -# Fix the path in sstate -SSTATE_SCAN_FILES += "*Config.sh" - -inherit binconfig - -SYSROOT_DIRS += "${bindir_crossscripts}" - -# Fix some paths that might be used by Tcl extensions -BINCONFIG_GLOB = "*Config.sh" - -# Cleanup host path from ${libdir}/tclConfig.sh and remove the -# ${bindir_crossscripts}/tclConfig.sh from target -PACKAGE_PREPROCESS_FUNCS += "tcl_package_preprocess" -tcl_package_preprocess() { - sed -i -e "s;${DEBUG_PREFIX_MAP};;g" \ - -e "s;-L${STAGING_LIBDIR};-L${libdir};g" \ - -e "s;${STAGING_INCDIR};${includedir};g" \ - -e "s;--sysroot=${RECIPE_SYSROOT};;g" \ - ${PKGD}${libdir}/tkConfig.sh - - rm -f ${PKGD}${bindir_crossscripts}/tkConfig.sh -} diff --git a/meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client/boinc-AM_CONDITIONAL.patch b/meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client/boinc-AM_CONDITIONAL.patch index ab8042f723..7c3b0325dd 100644 --- a/meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client/boinc-AM_CONDITIONAL.patch +++ b/meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client/boinc-AM_CONDITIONAL.patch @@ -1,21 +1,28 @@ -Add configure check for gtk2+ and objc++ +From 7957756a3dd16498cf7a75e1fb6675a33bc7f3dc Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Thu, 3 Nov 2016 01:20:33 -0700 +Subject: [PATCH] Add configure check for gtk2+ and objc++ Signed-off-by: Khem Raj Upstream-Status: Pending -Index: boinc-client_release-7.6-7.6.33/configure.ac -=================================================================== ---- boinc-client_release-7.6-7.6.33.orig/configure.ac -+++ boinc-client_release-7.6-7.6.33/configure.ac -@@ -64,6 +64,7 @@ m4_ifdef([AC_PROG_OBJCXX],[AC_PROG_OBJCX +--- + configure.ac | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/configure.ac b/configure.ac +index d81d795de4..7beeb34ae2 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -63,6 +63,7 @@ m4_pattern_allow([AC_PROG_OBJCXX]) + m4_ifdef([AC_PROG_OBJCXX],[AC_PROG_OBJCXX],) dnl ------ - AC_PROG_F77 AC_PROG_CPP +AC_PROG_OBJCXX AC_PROG_MAKE_SET SAH_LINKS AC_LANG_PUSH(C) -@@ -1081,6 +1082,8 @@ AM_CONDITIONAL(ENABLE_BOINCCRYPT, [test +@@ -1068,6 +1069,8 @@ AM_CONDITIONAL(ENABLE_BOINCCRYPT, [test "x${enable_server}" = xyes || test "x${ AM_CONDITIONAL(INSTALL_HEADERS, [test "${enable_install_headers}" = yes]) AM_CONDITIONAL(HAVE_CUDA_LIB, [test "${enable_client}" = yes -a -f ./coprocs/CUDA/posix/${boinc_platform}/libcudart.so]) diff --git a/meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client/gtk-configure.patch b/meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client/gtk-configure.patch index 4ae8d580d7..e060b1a40c 100644 --- a/meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client/gtk-configure.patch +++ b/meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client/gtk-configure.patch @@ -1,13 +1,20 @@ -Check for gtk2+ only when manager is enabled +From d53e9617fb6446780478bb13907efd111f241cd1 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Thu, 3 Nov 2016 01:20:33 -0700 +Subject: [PATCH] Check for gtk2+ only when manager is enabled Signed-off-by: Khem Raj Upstream-Status: Pending -Index: boinc-client_release-7.6-7.6.33/configure.ac -=================================================================== ---- boinc-client_release-7.6-7.6.33.orig/configure.ac -+++ boinc-client_release-7.6-7.6.33/configure.ac -@@ -1033,6 +1033,11 @@ else +--- + configure.ac | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index 7beeb34ae2..35234c2762 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -1018,6 +1018,11 @@ else AM_CONDITIONAL([GUI_GTK], false) fi @@ -19,7 +26,7 @@ Index: boinc-client_release-7.6-7.6.33/configure.ac dnl ---------- libNotify -------------------------------------------------- if test "${enable_manager}" = yes ; then PKG_CHECK_MODULES(LIBNOTIFY, [libnotify]) -@@ -1082,7 +1087,6 @@ AM_CONDITIONAL(ENABLE_BOINCCRYPT, [test +@@ -1069,7 +1074,6 @@ AM_CONDITIONAL(ENABLE_BOINCCRYPT, [test "x${enable_server}" = xyes || test "x${ AM_CONDITIONAL(INSTALL_HEADERS, [test "${enable_install_headers}" = yes]) AM_CONDITIONAL(HAVE_CUDA_LIB, [test "${enable_client}" = yes -a -f ./coprocs/CUDA/posix/${boinc_platform}/libcudart.so]) diff --git a/meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client/opengl_m4_check.patch b/meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client/opengl_m4_check.patch index 0b057eabc8..ad4493f0b6 100644 --- a/meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client/opengl_m4_check.patch +++ b/meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client/opengl_m4_check.patch @@ -1,13 +1,22 @@ +From 4f2dd929618f149087249f3c90cc056d5080b1e4 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Thu, 3 Nov 2016 01:20:33 -0700 +Subject: [PATCH] boinc: Add recipe for boinc-client + Do not add prefix/lib to library search path let sysroot take care of that Signed-off-by: Khem Raj Upstream-Status: Inappropriate[Cross-compile specific] -Index: boinc-client_release-7.6-7.6.33/m4/ax_check_gl.m4 -=================================================================== ---- boinc-client_release-7.6-7.6.33.orig/m4/ax_check_gl.m4 -+++ boinc-client_release-7.6-7.6.33/m4/ax_check_gl.m4 +--- + m4/ax_check_gl.m4 | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/m4/ax_check_gl.m4 b/m4/ax_check_gl.m4 +index e26ce5b930..1e60c9266a 100644 +--- a/m4/ax_check_gl.m4 ++++ b/m4/ax_check_gl.m4 @@ -58,7 +58,7 @@ else else ax_try_lib="${ax_lib}" diff --git a/meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client_7.12.bb b/meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client_7.12.bb deleted file mode 100644 index d472d3269e..0000000000 --- a/meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client_7.12.bb +++ /dev/null @@ -1,87 +0,0 @@ -# Copyright (C) 2016 Khem Raj -# Released under the MIT license (see COPYING.MIT for the terms) - -SUMMARY = "Open-source software for volunteer computing" -DESCRIPTION = "The Berkeley Open Infrastructure for Network Computing (BOINC) is an open- \ -source software platform which supports distributed computing, primarily in \ -the form of volunteer computing and desktop Grid computing. It is well \ -suited for problems which are often described as trivially parallel. BOINC \ -is the underlying software used by projects such as SETI@home, Einstein@Home, \ -ClimatePrediciton.net, the World Community Grid, and many other distributed \ -computing projects. \ -This package installs the BOINC client software, which will allow your \ -computer to participate in one or more BOINC projects, using your spare \ -computer time to search for cures for diseases, model protein folding, study \ -global warming, discover sources of gravitational waves, and many other types \ -of scientific and mathematical research." - -HOMEPAGE = "http://boinc.berkeley.edu/" -LICENSE = "LGPLv2+ & GPLv3" -LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \ - file://COPYING.LESSER;md5=6a6a8e020838b23406c81b19c1d46df6" -SECTION = "applications" -DEPENDS = "curl \ - jpeg \ - openssl \ - sqlite3 \ - virtual/libgl \ - ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'libnotify', '', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'gtk+ libnotify xcb-util libxscrnsaver', '', d)} \ - nettle \ -" -SRCREV = "bd12338dbd29083daa5a4b022592ca31ff68cd98" -BRANCH = "client_release/7/${PV}" -SRC_URI = "git://github.com/BOINC/boinc;protocol=https;branch=${BRANCH} \ - file://boinc-AM_CONDITIONAL.patch \ - file://opengl_m4_check.patch \ - file://gtk-configure.patch \ -" - -inherit gettext autotools pkgconfig features_check systemd - -REQUIRED_DISTRO_FEATURES += "opengl" - -S = "${WORKDIR}/git" - -EXTRA_OECONF += "\ - --enable-libraries \ - --enable-unicode \ - --enable-shared \ - --enable-dynamic-client-linkage \ - --enable-client \ - --disable-server \ - --disable-static \ - --disable-manager \ - --with-ssl=${STAGING_EXECPREFIXDIR} \ - --without-wxdir \ - --without-x \ - --with-boinc-platform=${TARGET_SYS} \ -" -export PKG_CONFIG = "${STAGING_BINDIR_NATIVE}/pkg-config" - -do_configure_prepend () { - if "${@bb.utils.contains('DEPENDS', 'gtk+', '1', '0', d)}" = "0" - then - export GTK2_CFLAGS="" - export GTK2_LIBS="" - fi -} - -do_compile_prepend () { - # Disable rpaths - sed -i -e 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' ${B}/${TARGET_SYS}-libtool - sed -i -e 's|^sys_lib_dlsearch_path_spec=.*|sys_lib_dlsearch_path_spec=""|g' ${B}/${TARGET_SYS}-libtool - sed -i -e 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' ${B}/${TARGET_SYS}-libtool -} -do_install_append() { - if [ -e ${D}${libdir}/systemd/system/boinc-client.service ]; then - install -D -m 0644 \ - ${D}${libdir}/systemd/system/boinc-client.service \ - ${D}${systemd_system_unitdir}/boinc-client.service - rm -rf ${D}${libdir}/systemd - fi -} - -SYSTEMD_SERVICE_${PN} = "boinc-client.service" - -FILES_${PN} += "${libdir}/systemd" diff --git a/meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client_7.16.bb b/meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client_7.16.bb new file mode 100644 index 0000000000..1b0af5549a --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client_7.16.bb @@ -0,0 +1,90 @@ +# Copyright (C) 2016 Khem Raj +# Released under the MIT license (see COPYING.MIT for the terms) + +SUMMARY = "Open-source software for volunteer computing" +DESCRIPTION = "The Berkeley Open Infrastructure for Network Computing (BOINC) is an open- \ +source software platform which supports distributed computing, primarily in \ +the form of volunteer computing and desktop Grid computing. It is well \ +suited for problems which are often described as trivially parallel. BOINC \ +is the underlying software used by projects such as SETI@home, Einstein@Home, \ +ClimatePrediciton.net, the World Community Grid, and many other distributed \ +computing projects. \ +This package installs the BOINC client software, which will allow your \ +computer to participate in one or more BOINC projects, using your spare \ +computer time to search for cures for diseases, model protein folding, study \ +global warming, discover sources of gravitational waves, and many other types \ +of scientific and mathematical research." + +HOMEPAGE = "http://boinc.berkeley.edu/" +LICENSE = "LGPLv2+ & GPLv3" +LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \ + file://COPYING.LESSER;md5=6a6a8e020838b23406c81b19c1d46df6" +SECTION = "applications" +DEPENDS = "curl \ + jpeg \ + openssl \ + sqlite3 \ + virtual/libgl \ + ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'libnotify', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'gtk+ libnotify xcb-util libxscrnsaver', '', d)} \ + nettle \ +" +SRCREV = "a432e1ccbf864f99c7b29a1645de38056915f944" +BRANCH = "client_release/7/${PV}" +SRC_URI = "git://github.com/BOINC/boinc;protocol=https;branch=${BRANCH} \ + file://boinc-AM_CONDITIONAL.patch \ + file://opengl_m4_check.patch \ + file://gtk-configure.patch \ +" + +inherit gettext autotools pkgconfig features_check systemd + +REQUIRED_DISTRO_FEATURES += "opengl" + +S = "${WORKDIR}/git" + +EXTRA_OECONF += "\ + --enable-libraries \ + --enable-unicode \ + --enable-shared \ + --enable-dynamic-client-linkage \ + --enable-client \ + --disable-server \ + --disable-static \ + --disable-manager \ + --with-ssl=${STAGING_EXECPREFIXDIR} \ + --without-wxdir \ + --without-x \ + --with-boinc-platform=${TARGET_SYS} \ +" +export PKG_CONFIG = "${STAGING_BINDIR_NATIVE}/pkg-config" + +do_configure_prepend () { + if "${@bb.utils.contains('DEPENDS', 'gtk+', '1', '0', d)}" = "0" + then + export GTK2_CFLAGS="" + export GTK2_LIBS="" + fi +} + +do_compile_prepend () { + # Disable rpaths + sed -i -e 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' ${B}/${TARGET_SYS}-libtool + sed -i -e 's|^sys_lib_dlsearch_path_spec=.*|sys_lib_dlsearch_path_spec=""|g' ${B}/${TARGET_SYS}-libtool + sed -i -e 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' ${B}/${TARGET_SYS}-libtool +} +do_install_append() { + if [ -e ${D}${nonarch_libdir}/systemd/system/boinc-client.service ]; then + install -d ${D}${systemd_system_unitdir} + mv \ + ${D}${nonarch_libdir}/systemd/system/boinc-client.service \ + ${D}${systemd_system_unitdir}/boinc-client.service + rmdir --ignore-fail-on-non-empty ${D}${nonarch_libdir}/systemd/system \ + ${D}${nonarch_libdir}/systemd \ + ${D}${nonarch_libdir} + fi +} + +SYSTEMD_SERVICE_${PN} = "boinc-client.service" + +FILES_${PN} += "${libdir}/systemd" diff --git a/meta-openembedded/meta-oe/recipes-extended/brotli/brotli_1.0.7.bb b/meta-openembedded/meta-oe/recipes-extended/brotli/brotli_1.0.7.bb index b4d4773ee0..e4e454bda3 100644 --- a/meta-openembedded/meta-oe/recipes-extended/brotli/brotli_1.0.7.bb +++ b/meta-openembedded/meta-oe/recipes-extended/brotli/brotli_1.0.7.bb @@ -12,3 +12,9 @@ SRCREV= "d6d98957ca8ccb1ef45922e978bb10efca0ea541" S = "${WORKDIR}/git" inherit cmake lib_package + +do_install_append () { + for lib in $(ls ${D}${libdir}/*-static.a); do + mv -v "${lib}" "$(echo ${lib} | sed s/-static//)" + done +} diff --git a/meta-openembedded/meta-oe/recipes-extended/cmpi-bindings/cmpi-bindings/0001-Add-PYTHON_ABI-suffix-to-the-python-library-name.patch b/meta-openembedded/meta-oe/recipes-extended/cmpi-bindings/cmpi-bindings/0001-Add-PYTHON_ABI-suffix-to-the-python-library-name.patch index b2a149b0f4..fa029da2b8 100644 --- a/meta-openembedded/meta-oe/recipes-extended/cmpi-bindings/cmpi-bindings/0001-Add-PYTHON_ABI-suffix-to-the-python-library-name.patch +++ b/meta-openembedded/meta-oe/recipes-extended/cmpi-bindings/cmpi-bindings/0001-Add-PYTHON_ABI-suffix-to-the-python-library-name.patch @@ -9,19 +9,14 @@ Signed-off-by: Alexander Kanavin swig/python/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/swig/python/CMakeLists.txt b/swig/python/CMakeLists.txt -index 128798b..391cef7 100644 --- a/swig/python/CMakeLists.txt +++ b/swig/python/CMakeLists.txt -@@ -49,7 +49,7 @@ ADD_DEFINITIONS(-DCMPI_PLATFORM_LINUX_GENERIC_GNU -DCMPI_VERSION=200) +@@ -49,7 +49,7 @@ ADD_DEFINITIONS(-DCMPI_PLATFORM_LINUX_GE SET( NAME pyCmpiProvider ) ADD_LIBRARY( ${NAME} SHARED ${SWIG_OUTPUT}) #TARGET_LINK_LIBRARIES( ${NAME} ${PYTHON_LIBRARIES} ) -TARGET_LINK_LIBRARIES( ${NAME} python${PYTHON_MAJOR_VERSION}.${PYTHON_MINOR_VERSION} ) -+TARGET_LINK_LIBRARIES( ${NAME} python${PYTHON_MAJOR_VERSION}.${PYTHON_MINOR_VERSION}m ) ++TARGET_LINK_LIBRARIES( ${NAME} python${PYTHON_MAJOR_VERSION}.${PYTHON_MINOR_VERSION}${PYTHON_ABI} ) TARGET_LINK_LIBRARIES( ${NAME} pthread ) TARGET_LINK_LIBRARIES( ${NAME} dl ) TARGET_LINK_LIBRARIES( ${NAME} util ) --- -2.8.1 - diff --git a/meta-openembedded/meta-oe/recipes-extended/cmpi-bindings/cmpi-bindings_1.0.1.bb b/meta-openembedded/meta-oe/recipes-extended/cmpi-bindings/cmpi-bindings_1.0.1.bb index 251c5d0f5a..6c71d534be 100644 --- a/meta-openembedded/meta-oe/recipes-extended/cmpi-bindings/cmpi-bindings_1.0.1.bb +++ b/meta-openembedded/meta-oe/recipes-extended/cmpi-bindings/cmpi-bindings_1.0.1.bb @@ -22,7 +22,9 @@ S = "${WORKDIR}/git" inherit cmake python3native EXTRA_OECMAKE = "-DLIB='${baselib}' \ - -DPYTHON_INCLUDE_PATH=${STAGING_INCDIR}/python${PYTHON_BASEVERSION}" + -DPYTHON_INCLUDE_PATH=${STAGING_INCDIR}/python${PYTHON_BASEVERSION} \ + -DPYTHON_ABI=${PYTHON_ABI} \ + " # With Ninja it fails with: # ninja: error: build.ninja:282: bad $-escape (literal $ must be written as $$) diff --git a/meta-openembedded/meta-oe/recipes-extended/enscript/enscript/0001-Fix-builds-with-recent-gettext.patch b/meta-openembedded/meta-oe/recipes-extended/enscript/enscript/0001-Fix-builds-with-recent-gettext.patch new file mode 100644 index 0000000000..ecfafce1a7 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/enscript/enscript/0001-Fix-builds-with-recent-gettext.patch @@ -0,0 +1,24 @@ +From 771cd2a12db8b8c9a558f1a04958df8ed614f2e0 Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin +Date: Fri, 20 Dec 2019 14:06:50 +0100 +Subject: [PATCH] Fix builds with recent gettext + +Upstream-Status: Pending +Signed-off-by: Alexander Kanavin +--- + Makefile.am | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile.am b/Makefile.am +index dedabd6..8833ac9 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -22,7 +22,7 @@ + # along with Enscript. If not, see . + # + +-SUBDIRS = intl compat afm afmlib lib scripts src po states docs w32 ++SUBDIRS = compat afm afmlib lib scripts src po states docs w32 + + EXTRA_DIST = README.ESCAPES README.DOS ascii.txt \ + asciifise.txt asciidkno.txt 88591.txt 88592.txt 88593.txt 88594.txt \ diff --git a/meta-openembedded/meta-oe/recipes-extended/enscript/enscript_1.6.6.bb b/meta-openembedded/meta-oe/recipes-extended/enscript/enscript_1.6.6.bb index 2b6d14e6c1..82791f5794 100644 --- a/meta-openembedded/meta-oe/recipes-extended/enscript/enscript_1.6.6.bb +++ b/meta-openembedded/meta-oe/recipes-extended/enscript/enscript_1.6.6.bb @@ -12,7 +12,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=f27defe1e96c2e1ecd4e0c9be8967949" SRC_URI = "${GNU_MIRROR}/${BPN}/${BP}.tar.gz \ file://enscript-autoconf.patch \ -" + file://0001-Fix-builds-with-recent-gettext.patch \ + " inherit autotools gettext diff --git a/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/builtin-nan.patch b/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/builtin-nan.patch new file mode 100644 index 0000000000..8ffc3be3ef --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/builtin-nan.patch @@ -0,0 +1,27 @@ +help complier to use intrinsics, clang in few cases e.g. aarch64 can not +and then requires linking with libm, its the only function needed from libm then +its good to avoid needing it. + +Upstream-Status: Pending +Signed-off-by: Khem Raj + +--- a/include/fluent-bit/stream_processor/flb_sp_timeseries.h ++++ b/include/fluent-bit/stream_processor/flb_sp_timeseries.h +@@ -207,7 +207,7 @@ void cb_forecast_calc(struct timeseries + result = b0 + b1 * (val->f64 + *forecast->latest_x); + break; + default: +- result = nan(""); ++ result = __builtin_nan(""); + break; + } + +@@ -283,7 +283,7 @@ void cb_forecast_r_calc(struct timeserie + result = ((val->i64 - b0) / b1) - *forecast->latest_x; + break; + default: +- result = nan(""); ++ result = __builtin_nan(""); + break; + } + diff --git a/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/cross-build-init-system-detection.patch b/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/cross-build-init-system-detection.patch new file mode 100644 index 0000000000..a185789992 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/cross-build-init-system-detection.patch @@ -0,0 +1,38 @@ +Define CMake variables to indicate init system for target +incase of cross compile, detecting systemd support based on +host directory structure is not right thing to do + +Upstream-Status: Pending +Signed-off-by: Khem Raj + +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -317,7 +317,7 @@ if(FLB_BINARY) + install(TARGETS fluent-bit-bin RUNTIME DESTINATION ${FLB_INSTALL_BINDIR}) + + # Detect init system, install upstart, systemd or init.d script +- if(IS_DIRECTORY /lib/systemd/system) ++ if(IS_DIRECTORY /lib/systemd/system OR FLB_SYSTEMD) + set(FLB_SYSTEMD_SCRIPT "${PROJECT_SOURCE_DIR}/init/${FLB_OUT_NAME}.service") + configure_file( + "${PROJECT_SOURCE_DIR}/init/systemd.in" +@@ -325,7 +325,7 @@ if(FLB_BINARY) + ) + install(FILES ${FLB_SYSTEMD_SCRIPT} DESTINATION /lib/systemd/system) + install(DIRECTORY DESTINATION ${FLB_INSTALL_CONFDIR}) +- elseif(IS_DIRECTORY /usr/share/upstart) ++ elseif(IS_DIRECTORY /usr/share/upstart OR FLB_UPSTART) + set(FLB_UPSTART_SCRIPT "${PROJECT_SOURCE_DIR}/init/${FLB_OUT_NAME}.conf") + configure_file( + "${PROJECT_SOURCE_DIR}/init/upstart.in" +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -70,6 +70,8 @@ option(FLB_RECORD_ACCESSOR "Enable re + option(FLB_SYSTEM_STRPTIME "Use strptime in system libc" Yes) + option(FLB_STATIC_CONF "Build binary using static configuration") + option(FLB_STREAM_PROCESSOR "Enable Stream Processor" Yes) ++option(FLB_SYSTEMD "Enable systemd init system" No) ++option(FLB_UPSTART "Enable upstart init system" No) + option(FLB_CORO_STACK_SIZE "Set coroutine stack size") + + # Metrics: Experimental Feature, disabled by default on 0.12 series diff --git a/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/jemalloc.patch b/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/jemalloc.patch index abaf92c052..67b3397a6f 100644 --- a/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/jemalloc.patch +++ b/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/jemalloc.patch @@ -3,16 +3,14 @@ Add --with-jemalloc-prefix=je_ so it compiles on musl Signed-off-by: Khem Raj Upstream-Status: Pending -Index: fluent-bit-0.12.1/CMakeLists.txt -=================================================================== ---- fluent-bit-0.12.1.orig/CMakeLists.txt -+++ fluent-bit-0.12.1/CMakeLists.txt -@@ -325,7 +325,7 @@ if(FLB_JEMALLOC AND ${CMAKE_SYSTEM_NAME} +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -523,7 +523,7 @@ if(FLB_JEMALLOC AND ${CMAKE_SYSTEM_NAME} # Link to Jemalloc as an external dependency ExternalProject_Add(jemalloc - SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/lib/jemalloc -- CONFIGURE_COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/lib/jemalloc/configure ${AUTOCONF_HOST_OPT} --with-lg-quantum=3 --enable-cc-silence --prefix= -+ CONFIGURE_COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/lib/jemalloc/configure --with-jemalloc-prefix=je_ ${AUTOCONF_HOST_OPT} --with-lg-quantum=3 --enable-cc-silence --prefix= + SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/lib/jemalloc-5.2.1 +- CONFIGURE_COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/lib/jemalloc-5.2.1/configure ${AUTOCONF_HOST_OPT} --with-lg-quantum=3 --enable-cc-silence --prefix= ++ CONFIGURE_COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/lib/jemalloc-5.2.1/configure ${AUTOCONF_HOST_OPT} --with-jemalloc-prefix=je_ --with-lg-quantum=3 --enable-cc-silence --prefix= CFLAGS=-std=gnu99\ -Wall\ -pipe\ -g3\ -O3\ -funroll-loops - BUILD_COMMAND ${MAKE} + BUILD_COMMAND $(MAKE) INSTALL_DIR ${CMAKE_CURRENT_BINARY_DIR}/ diff --git a/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit_0.12.19.bb b/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit_0.12.19.bb deleted file mode 100644 index e50aa71a9f..0000000000 --- a/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit_0.12.19.bb +++ /dev/null @@ -1,29 +0,0 @@ -SUMMARY = "Fast data collector for Embedded Linux" -HOMEPAGE = "http://fluentbit.io" -BUGTRACKER = "https://github.com/fluent/fluent-bit/issues" - -SRC_URI = "http://fluentbit.io/releases/0.12/fluent-bit-${PV}.tar.gz \ - file://jemalloc.patch \ - " -SRC_URI[md5sum] = "7c8708312ac9122faacf9e2a4751eb34" -SRC_URI[sha256sum] = "23a81087edf0e2c6f2d49411c6a82308afc5224f67bbaa45729c057af62e9241" - -S = "${WORKDIR}/fluent-bit-${PV}" - -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=2ee41112a44fe7014dce33e26468ba93" - -DEPENDS = "zlib" -INSANE_SKIP_${PN}-dev += "dev-elf" - -inherit cmake systemd - -EXTRA_OECMAKE = "-DGNU_HOST=${HOST_SYS} -DFLB_ALL=ON -DFLB_TD=1" - -# With Ninja it fails with: -# ninja: error: build.ninja:134: bad $-escape (literal $ must be written as $$) -OECMAKE_GENERATOR = "Unix Makefiles" - -SYSTEMD_SERVICE_${PN} = "td-agent-bit.service" - -TARGET_CC_ARCH_append = " ${SELECTED_OPTIMIZATION}" diff --git a/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit_1.3.5.bb b/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit_1.3.5.bb new file mode 100644 index 0000000000..aad1499b94 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit_1.3.5.bb @@ -0,0 +1,55 @@ +SUMMARY = "Fast Log processor and Forwarder" +DESCRIPTION = "Fluent Bit is a data collector, processor and \ +forwarder for Linux. It supports several input sources and \ +backends (destinations) for your data. \ +" + +HOMEPAGE = "http://fluentbit.io" +BUGTRACKER = "https://github.com/fluent/fluent-bit/issues" + +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=2ee41112a44fe7014dce33e26468ba93" +SECTION = "net" + +SRC_URI = "http://fluentbit.io/releases/1.3/fluent-bit-${PV}.tar.gz \ + file://jemalloc.patch \ + file://cross-build-init-system-detection.patch \ + file://builtin-nan.patch \ + " +SRC_URI[md5sum] = "6eae6dfd0a874e5dd270c36e9c68f747" +SRC_URI[sha256sum] = "e037c76c89269c8dc4027a08e442fefd2751b0f1e0f9c38f9a4b12d781a9c789" + +S = "${WORKDIR}/fluent-bit-${PV}" +DEPENDS = "zlib bison-native flex-native" +DEPENDS_append_libc-musl = " fts " + +INSANE_SKIP_${PN}-dev += "dev-elf" + +# Use CMake 'Unix Makefiles' generator +OECMAKE_GENERATOR ?= "Unix Makefiles" + +# Fluent Bit build options +# ======================== + +# Host related setup +EXTRA_OECMAKE += "-DGNU_HOST=${HOST_SYS} -DFLB_ALL=ON -DFLB_TD=1" + +# Disable LuaJIT and filter_lua support +EXTRA_OECMAKE += "-DFLB_LUAJIT=Off -DFLB_FILTER_LUA=Off " + +# Disable Library and examples +EXTRA_OECMAKE += "-DFLB_SHARED_LIB=Off -DFLB_EXAMPLES=Off " + +EXTRA_OECMAKE += "${@bb.utils.contains('DISTRO_FEATURES','systemd','-DFLB_SYSTEMD=On','',d)}" + +# Kafka Output plugin (disabled by default): note that when +# enabling Kafka output plugin, the backend library librdkafka +# requires 'openssl' as a dependency. +# +# DEPENDS += "openssl " +# EXTRA_OECMAKE += "-DFLB_OUT_KAFKA=On " + +inherit cmake systemd features_check + +SYSTEMD_SERVICE_${PN} = "td-agent-bit.service" +TARGET_CC_ARCH_append = " ${SELECTED_OPTIMIZATION}" diff --git a/meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot_5.2.2.bb b/meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot_5.2.2.bb deleted file mode 100644 index 898627bc17..0000000000 --- a/meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot_5.2.2.bb +++ /dev/null @@ -1,71 +0,0 @@ -SUMMARY = "Gnuplot is a portable command-line driven graphing utility" -DESCRIPTION = "Gnuplot is a portable command-line driven interactive datafile \ -(text or binary) and function plotting utility." -HOMEPAGE = "http://www.gnuplot.info/" -SECTION = "console/scientific" -LICENSE = "gnuplot" -LIC_FILES_CHKSUM = "file://Copyright;md5=243a186fc2fd3b992125d60d5b1bab8f" -DEPENDS = "${BPN}-native virtual/libx11 gd readline" - -inherit autotools features_check -# depends on virtual/libx11 -REQUIRED_DISTRO_FEATURES = "x11" - -SRC_URI = "${SOURCEFORGE_MIRROR}/gnuplot/${BP}.tar.gz;name=archive \ - http://www.mneuroth.de/privat/zaurus/qtplot-0.2.tar.gz;name=qtplot \ - file://gnuplot.desktop \ - file://gnuplot.png \ -" -SRC_URI_append_class-target = " \ - file://0002-do-not-build-demos.patch \ - file://0003-Use-native-tools-to-build-docs.patch \ - file://0004-Add-configure-option-to-find-qt5-native-tools.patch \ -" - -SRC_URI[archive.md5sum] = "60aedd08998160593199459dea8467fe" -SRC_URI[archive.sha256sum] = "a416d22f02bdf3873ef82c5eb7f8e94146795811ef808e12b035ada88ef7b1a1" -SRC_URI[qtplot.md5sum] = "0a481885a496092c77eb4017540b5cf6" -SRC_URI[qtplot.sha256sum] = "6df317183ff62cc82f3dcf88207a267cd6478cb5147f55d7530c94f1ad5f4132" - -# for building docs (they deserve it) we need *doc2* tools native -BBCLASSEXTEND = "native" -DEPENDS_class-native = "readline-native" -PACKAGECONFIG_class-native = "" - -SRC_URI_append_class-native = "file://0001-reduce-build-to-conversion-tools-for-native-build.patch" - -do_install_class-native() { - install -d ${D}${bindir} - install ${B}/docs/*doc* ${D}${bindir} - rm ${D}${bindir}/*.o -} - -PACKAGECONFIG ??= "cairo" -PACKAGECONFIG[cairo] = "--with-cairo,--without-cairo,cairo pango" -PACKAGECONFIG[lua] = "--with-lua,--without-lua,lua" -PACKAGECONFIG[qt5] = "--with-qt --with-qt5nativesysroot=${STAGING_DIR_NATIVE},--without-qt,qtbase-native qtbase qtsvg qttools-native" - -EXTRA_OECONF = "--with-readline=${STAGING_LIBDIR}/.. \ - --without-tutorial \ - --disable-wxwidgets" - -do_compile_prepend() { - install -m 0644 ${WORKDIR}/qtplot-0.2/qtopia.trm ${S}/term/ -} - -do_install_append_class-target() { - install -d ${D}${datadir}/applications/ - install -m 0644 ${WORKDIR}/gnuplot.desktop ${D}${datadir}/applications/ - install -d ${D}${datadir}/pixmaps/ - install -m 0644 ${WORKDIR}/gnuplot.png ${D}${datadir}/pixmaps/ -} - -PACKAGES =+ "${PN}-x11" - -RPROVIDES_${PN}-dbg += "${PN}-x11-dbg" - -DESCRIPTION_${PN}-x11 = "X11 display terminal for Gnuplot." -SECTION_${PN}-x11 = "x11/scientific" -FILES_${PN}-x11 = "${libexecdir} ${datadir}/applications ${datadir}/pixmaps ${libdir}/X11 " - -FILES_${PN} += "${datadir}/texmf" diff --git a/meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot_5.2.8.bb b/meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot_5.2.8.bb new file mode 100644 index 0000000000..926d8851d2 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot_5.2.8.bb @@ -0,0 +1,71 @@ +SUMMARY = "Gnuplot is a portable command-line driven graphing utility" +DESCRIPTION = "Gnuplot is a portable command-line driven interactive datafile \ +(text or binary) and function plotting utility." +HOMEPAGE = "http://www.gnuplot.info/" +SECTION = "console/scientific" +LICENSE = "gnuplot" +LIC_FILES_CHKSUM = "file://Copyright;md5=243a186fc2fd3b992125d60d5b1bab8f" +DEPENDS = "${BPN}-native virtual/libx11 gd readline" + +inherit autotools features_check +# depends on virtual/libx11 +REQUIRED_DISTRO_FEATURES = "x11" + +SRC_URI = "${SOURCEFORGE_MIRROR}/gnuplot/${BP}.tar.gz;name=archive \ + http://www.mneuroth.de/privat/zaurus/qtplot-0.2.tar.gz;name=qtplot \ + file://gnuplot.desktop \ + file://gnuplot.png \ +" +SRC_URI_append_class-target = " \ + file://0002-do-not-build-demos.patch \ + file://0003-Use-native-tools-to-build-docs.patch \ + file://0004-Add-configure-option-to-find-qt5-native-tools.patch \ +" + +SRC_URI[archive.md5sum] = "2df8767c7399bee57a96296d46b4d5fb" +SRC_URI[archive.sha256sum] = "60a6764ccf404a1668c140f11cc1f699290ab70daa1151bb58fed6139a28ac37" +SRC_URI[qtplot.md5sum] = "0a481885a496092c77eb4017540b5cf6" +SRC_URI[qtplot.sha256sum] = "6df317183ff62cc82f3dcf88207a267cd6478cb5147f55d7530c94f1ad5f4132" + +# for building docs (they deserve it) we need *doc2* tools native +BBCLASSEXTEND = "native" +DEPENDS_class-native = "readline-native" +PACKAGECONFIG_class-native = "" + +SRC_URI_append_class-native = "file://0001-reduce-build-to-conversion-tools-for-native-build.patch" + +do_install_class-native() { + install -d ${D}${bindir} + install ${B}/docs/*doc* ${D}${bindir} + rm ${D}${bindir}/*.o +} + +PACKAGECONFIG ??= "cairo" +PACKAGECONFIG[cairo] = "--with-cairo,--without-cairo,cairo pango" +PACKAGECONFIG[lua] = "--with-lua,--without-lua,lua" +PACKAGECONFIG[qt5] = "--with-qt --with-qt5nativesysroot=${STAGING_DIR_NATIVE},--without-qt,qtbase-native qtbase qtsvg qttools-native" + +EXTRA_OECONF = "--with-readline=${STAGING_LIBDIR}/.. \ + --without-tutorial \ + --disable-wxwidgets" + +do_compile_prepend() { + install -m 0644 ${WORKDIR}/qtplot-0.2/qtopia.trm ${S}/term/ +} + +do_install_append_class-target() { + install -d ${D}${datadir}/applications/ + install -m 0644 ${WORKDIR}/gnuplot.desktop ${D}${datadir}/applications/ + install -d ${D}${datadir}/pixmaps/ + install -m 0644 ${WORKDIR}/gnuplot.png ${D}${datadir}/pixmaps/ +} + +PACKAGES =+ "${PN}-x11" + +RPROVIDES_${PN}-dbg += "${PN}-x11-dbg" + +DESCRIPTION_${PN}-x11 = "X11 display terminal for Gnuplot." +SECTION_${PN}-x11 = "x11/scientific" +FILES_${PN}-x11 = "${libexecdir} ${datadir}/applications ${datadir}/pixmaps ${libdir}/X11 " + +FILES_${PN} += "${datadir}/texmf" diff --git a/meta-openembedded/meta-oe/recipes-extended/haveged/haveged_1.9.6.bb b/meta-openembedded/meta-oe/recipes-extended/haveged/haveged_1.9.6.bb deleted file mode 100644 index e5b9bc9476..0000000000 --- a/meta-openembedded/meta-oe/recipes-extended/haveged/haveged_1.9.6.bb +++ /dev/null @@ -1,47 +0,0 @@ -SUMMARY = "haveged - A simple entropy daemon" -DESCRIPTION = "The haveged project is an attempt to provide an easy-to-use, unpredictable random number generator based upon an adaptation of the HAVEGE algorithm. Haveged was created to remedy low-entropy conditions in the Linux random device that can occur under some workloads, especially on headless servers." -AUTHOR = "Gary Wuertz" -HOMEPAGE = "http://www.issihosts.com/haveged/index.html" -LICENSE = "GPLv3" -LIC_FILES_CHKSUM="file://COPYING;md5=d32239bcb673463ab874e80d47fae504" - -# v1.9.6 -SRCREV = "1470a82a7f79110c79beea1ca5f2d3b0fd1a4668" -SRC_URI = "git://github.com/jirka-h/haveged.git \ -" -S = "${WORKDIR}/git" - -UPSTREAM_CHECK_URI = "https://github.com/jirka-h/haveged/releases" - -inherit autotools update-rc.d systemd - -EXTRA_OECONF = "\ - --enable-nistest=yes \ - --enable-olt=yes \ - --enable-threads=no \ -" - -PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}" -PACKAGECONFIG[systemd] = "--enable-init=service.fedora --enable-initdir=${systemd_system_unitdir}, --enable-init=sysv.redhat, systemd" - -INITSCRIPT_PACKAGES = "${PN}" -INITSCRIPT_NAME = "haveged" -INITSCRIPT_PARAMS_${PN} = "defaults 9" - -SYSTEMD_PACKAGES = "${PN}" -SYSTEMD_SERVICE_${PN} = "haveged.service" - -do_install_append() { - # The exit status is 143 when the service is stopped - if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then - sed -i '/ExecStart/a SuccessExitStatus=143' ${D}${systemd_system_unitdir}/haveged.service - # Hybrid systemd-sysvinit distros must install the initscript manually - if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then - install -d ${D}${INIT_D_DIR} - sed -e "s,@SBINDIR@,${sbindir},g" <${S}/init.d/sysv.redhat >${D}${INIT_D_DIR}/haveged - chmod 755 ${D}${INIT_D_DIR}/haveged - fi - fi -} - -MIPS_INSTRUCTION_SET = "mips" diff --git a/meta-openembedded/meta-oe/recipes-extended/haveged/haveged_1.9.8.bb b/meta-openembedded/meta-oe/recipes-extended/haveged/haveged_1.9.8.bb new file mode 100644 index 0000000000..403956efa1 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/haveged/haveged_1.9.8.bb @@ -0,0 +1,47 @@ +SUMMARY = "haveged - A simple entropy daemon" +DESCRIPTION = "The haveged project is an attempt to provide an easy-to-use, unpredictable random number generator based upon an adaptation of the HAVEGE algorithm. Haveged was created to remedy low-entropy conditions in the Linux random device that can occur under some workloads, especially on headless servers." +AUTHOR = "Gary Wuertz" +HOMEPAGE = "http://www.issihosts.com/haveged/index.html" +LICENSE = "GPLv3" +LIC_FILES_CHKSUM="file://COPYING;md5=d32239bcb673463ab874e80d47fae504" + +# v1.9.8 +SRCREV = "8cd0266472aff59821718c4410e80f28978310f9" +SRC_URI = "git://github.com/jirka-h/haveged.git \ +" +S = "${WORKDIR}/git" + +UPSTREAM_CHECK_URI = "https://github.com/jirka-h/haveged/releases" + +inherit autotools update-rc.d systemd + +EXTRA_OECONF = "\ + --enable-nistest=yes \ + --enable-olt=yes \ + --enable-threads=no \ +" + +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}" +PACKAGECONFIG[systemd] = "--enable-init=service.fedora --enable-initdir=${systemd_system_unitdir}, --enable-init=sysv.redhat, systemd" + +INITSCRIPT_PACKAGES = "${PN}" +INITSCRIPT_NAME = "haveged" +INITSCRIPT_PARAMS_${PN} = "defaults 9" + +SYSTEMD_PACKAGES = "${PN}" +SYSTEMD_SERVICE_${PN} = "haveged.service" + +do_install_append() { + # The exit status is 143 when the service is stopped + if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then + sed -i '/ExecStart/a SuccessExitStatus=143' ${D}${systemd_system_unitdir}/haveged.service + # Hybrid systemd-sysvinit distros must install the initscript manually + if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then + install -d ${D}${INIT_D_DIR} + sed -e "s,@SBINDIR@,${sbindir},g" <${S}/init.d/sysv.redhat >${D}${INIT_D_DIR}/haveged + chmod 755 ${D}${INIT_D_DIR}/haveged + fi + fi +} + +MIPS_INSTRUCTION_SET = "mips" diff --git a/meta-openembedded/meta-oe/recipes-extended/hiredis/files/0001-Makefile-remove-hardcoding-of-CC.patch b/meta-openembedded/meta-oe/recipes-extended/hiredis/files/0001-Makefile-remove-hardcoding-of-CC.patch index fef2bc7541..1af5d26ac0 100644 --- a/meta-openembedded/meta-oe/recipes-extended/hiredis/files/0001-Makefile-remove-hardcoding-of-CC.patch +++ b/meta-openembedded/meta-oe/recipes-extended/hiredis/files/0001-Makefile-remove-hardcoding-of-CC.patch @@ -11,22 +11,18 @@ Signed-off-by: Andrea Galbusera Makefile | 5 ----- 1 file changed, 5 deletions(-) -diff --git a/Makefile b/Makefile -index 8b0f0c2..66a4317 100644 --- a/Makefile +++ b/Makefile -@@ -34,11 +34,6 @@ define REDIS_TEST_CONFIG +@@ -35,12 +35,6 @@ define REDIS_TEST_CONFIG endef export REDIS_TEST_CONFIG -# Fallback to gcc when $CC is not in $PATH. --CC:=$(shell sh -c 'type $(CC) >/dev/null 2>/dev/null && echo $(CC) || echo gcc') +-CC:=$(shell sh -c 'type $${CC%% *} >/dev/null 2>/dev/null && echo $(CC) || echo gcc') +-CXX:=$(shell sh -c 'type $${CXX%% *} >/dev/null 2>/dev/null && echo $(CXX) || echo g++') -OPTIMIZATION?=-O3 -WARNINGS=-Wall -W -Wstrict-prototypes -Wwrite-strings --DEBUG?= -g -ggdb - REAL_CFLAGS=$(OPTIMIZATION) -fPIC $(CFLAGS) $(WARNINGS) $(DEBUG) $(ARCH) - REAL_LDFLAGS=$(LDFLAGS) $(ARCH) +-DEBUG_FLAGS?= -g -ggdb + REAL_CFLAGS=$(OPTIMIZATION) -fPIC $(CFLAGS) $(WARNINGS) $(DEBUG_FLAGS) + REAL_LDFLAGS=$(LDFLAGS) --- -1.9.1 - diff --git a/meta-openembedded/meta-oe/recipes-extended/hiredis/hiredis_0.13.1.bb b/meta-openembedded/meta-oe/recipes-extended/hiredis/hiredis_0.13.1.bb deleted file mode 100644 index fae30d771d..0000000000 --- a/meta-openembedded/meta-oe/recipes-extended/hiredis/hiredis_0.13.1.bb +++ /dev/null @@ -1,22 +0,0 @@ -DESCRIPTION = "Minimalistic C client library for Redis" -HOMEPAGE = "http://github.com/redis/hiredis" -LICENSE = "BSD-3-Clause" -SECTION = "libs" -DEPENDS = "redis" - -LIC_FILES_CHKSUM = "file://COPYING;md5=d84d659a35c666d23233e54503aaea51" -SRC_URI = "git://github.com/redis/hiredis;protocol=git;rev=f58dd249d6ed47a7e835463c3b04722972281dbb \ - file://0001-Makefile-remove-hardcoding-of-CC.patch" - -S = "${WORKDIR}/git" - -inherit autotools-brokensep pkgconfig - -EXTRA_OEMAKE = "PREFIX=${prefix}" - -# By default INSTALL variable in Makefile is equal to 'cp -a', which preserves -# ownership and causes host-user-contamination QA issue. -# And PREFIX defaults to /usr/local. -do_install_prepend() { - export INSTALL='cp -r' -} diff --git a/meta-openembedded/meta-oe/recipes-extended/hiredis/hiredis_0.14.0.bb b/meta-openembedded/meta-oe/recipes-extended/hiredis/hiredis_0.14.0.bb new file mode 100644 index 0000000000..29f8de8d2f --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/hiredis/hiredis_0.14.0.bb @@ -0,0 +1,23 @@ +DESCRIPTION = "Minimalistic C client library for Redis" +HOMEPAGE = "http://github.com/redis/hiredis" +LICENSE = "BSD-3-Clause" +SECTION = "libs" +DEPENDS = "redis" + +LIC_FILES_CHKSUM = "file://COPYING;md5=d84d659a35c666d23233e54503aaea51" +SRCREV = "685030652cd98c5414ce554ff5b356dfe8437870" +SRC_URI = "git://github.com/redis/hiredis;protocol=git \ + file://0001-Makefile-remove-hardcoding-of-CC.patch" + +S = "${WORKDIR}/git" + +inherit autotools-brokensep pkgconfig + +EXTRA_OEMAKE = "PREFIX=${prefix} LIBRARY_PATH=${baselib}" + +# By default INSTALL variable in Makefile is equal to 'cp -a', which preserves +# ownership and causes host-user-contamination QA issue. +# And PREFIX defaults to /usr/local. +do_install_prepend() { + export INSTALL='cp -r' +} diff --git a/meta-openembedded/meta-oe/recipes-extended/indent/indent/0001-Fix-builds-with-recent-gettext.patch b/meta-openembedded/meta-oe/recipes-extended/indent/indent/0001-Fix-builds-with-recent-gettext.patch new file mode 100644 index 0000000000..e48dfb33c0 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/indent/indent/0001-Fix-builds-with-recent-gettext.patch @@ -0,0 +1,24 @@ +From 3349812de0598ca7722e0b7c7b7e5d48bd79bea9 Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin +Date: Fri, 20 Dec 2019 14:01:18 +0100 +Subject: [PATCH] Fix builds with recent gettext + +Upstream-Status: Pending +Signed-off-by: Alexander Kanavin +--- + Makefile.am | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile.am b/Makefile.am +index 548fea7..cf01c5e 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -1,7 +1,7 @@ + ## Process this file with automake to produce Makefile.in + AUTOMAKE_OPTIONS = no-texinfo.tex + +-SUBDIRS = intl src doc po man ++SUBDIRS = src doc po man + + BUILT_SOURCES = + diff --git a/meta-openembedded/meta-oe/recipes-extended/indent/indent_2.2.12.bb b/meta-openembedded/meta-oe/recipes-extended/indent/indent_2.2.12.bb index f2891df50d..f8d63d43ce 100644 --- a/meta-openembedded/meta-oe/recipes-extended/indent/indent_2.2.12.bb +++ b/meta-openembedded/meta-oe/recipes-extended/indent/indent_2.2.12.bb @@ -14,7 +14,8 @@ DEPENDS = "virtual/gettext" SRC_URI = "${GNU_MIRROR}/${BPN}/${BP}.tar.gz \ file://0001-src-indent.c-correct-the-check-for-locale.h.patch \ file://0001-Makefile.am-remove-regression-dir.patch \ -" + file://0001-Fix-builds-with-recent-gettext.patch \ + " SRC_URI[md5sum] = "4764b6ac98f6654a35da117b8e5e8e14" SRC_URI[sha256sum] = "e77d68c0211515459b8812118d606812e300097cfac0b4e9fb3472664263bb8b" diff --git a/meta-openembedded/meta-oe/recipes-extended/lcdproc/lcdproc/0001-Fix-parallel-build-fix-port-internal-make-dependenci.patch b/meta-openembedded/meta-oe/recipes-extended/lcdproc/lcdproc/0001-Fix-parallel-build-fix-port-internal-make-dependenci.patch index 8505ea34c8..f6a7956db2 100644 --- a/meta-openembedded/meta-oe/recipes-extended/lcdproc/lcdproc/0001-Fix-parallel-build-fix-port-internal-make-dependenci.patch +++ b/meta-openembedded/meta-oe/recipes-extended/lcdproc/lcdproc/0001-Fix-parallel-build-fix-port-internal-make-dependenci.patch @@ -1,17 +1,17 @@ -From 67d808b8739817c122bed8ba1a8308d01cb5ad0b Mon Sep 17 00:00:00 2001 +From a20feee4963bc38975fbaf44bbe85a31825f59db Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Sat, 6 Apr 2019 17:28:28 -0700 -Subject: [PATCH] Fix parallel build (fix port-internal make dependencies) on - many cores +Subject: [PATCH 1/3] Fix parallel build (fix port-internal make dependencies) + on many cores -Upstream-Status: Pending +Upstream-Status: Submitted [https://github.com/lcdproc/lcdproc/pull/142] Signed-off-by: Khem Raj --- server/drivers/Makefile.am | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/server/drivers/Makefile.am b/server/drivers/Makefile.am -index 0c23a9b..6777047 100644 +index e08f2b2d..4fd2e3f1 100644 --- a/server/drivers/Makefile.am +++ b/server/drivers/Makefile.am @@ -47,11 +47,11 @@ CwLnx_LDADD = libLCD.a libbignum.a @@ -29,5 +29,5 @@ index 0c23a9b..6777047 100644 imon_LDADD = libLCD.a libbignum.a imonlcd_LDADD = libLCD.a -- -2.21.0 +2.24.1 diff --git a/meta-openembedded/meta-oe/recipes-extended/lcdproc/lcdproc/0002-Include-limits.h-for-PATH_MAX-definition.patch b/meta-openembedded/meta-oe/recipes-extended/lcdproc/lcdproc/0002-Include-limits.h-for-PATH_MAX-definition.patch new file mode 100644 index 0000000000..eb866bf10a --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/lcdproc/lcdproc/0002-Include-limits.h-for-PATH_MAX-definition.patch @@ -0,0 +1,41 @@ +From d447a05ee560ba5894d2ed4cd93d0475c2f3c08e Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Tue, 17 Dec 2019 17:39:32 -0800 +Subject: [PATCH 2/3] Include for PATH_MAX definition + +musl libc exposes the missing include + +Upstream-Status: Submitted [https://github.com/lcdproc/lcdproc/pull/142] +Signed-off-by: Khem Raj +--- + server/drivers/hidraw_lib.c | 1 + + server/drivers/linux_input.c | 1 + + 2 files changed, 2 insertions(+) + +diff --git a/server/drivers/hidraw_lib.c b/server/drivers/hidraw_lib.c +index 49b03f20..3b51f279 100644 +--- a/server/drivers/hidraw_lib.c ++++ b/server/drivers/hidraw_lib.c +@@ -8,6 +8,7 @@ + #include + #include + #include ++#include + #include + #include + #include +diff --git a/server/drivers/linux_input.c b/server/drivers/linux_input.c +index 5b914d4c..6fcfc591 100644 +--- a/server/drivers/linux_input.c ++++ b/server/drivers/linux_input.c +@@ -5,6 +5,7 @@ + + #include + #include ++#include + #include + #include + #include +-- +2.24.1 + diff --git a/meta-openembedded/meta-oe/recipes-extended/lcdproc/lcdproc/0003-Fix-non-x86-platforms-on-musl.patch b/meta-openembedded/meta-oe/recipes-extended/lcdproc/lcdproc/0003-Fix-non-x86-platforms-on-musl.patch new file mode 100644 index 0000000000..e39e9bda14 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/lcdproc/lcdproc/0003-Fix-non-x86-platforms-on-musl.patch @@ -0,0 +1,35 @@ +From 7fd144f101fa5c9316d3468ed26f55629afe1305 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Tue, 17 Dec 2019 17:55:54 -0800 +Subject: [PATCH 3/3] Fix non x86 platforms on musl + +Musl only specifies in/outb for x86/x86. Use the fallback path in case +musl is used. + +This should fail compilation during the linking stage but for some reason +does not. Will do if -Werror=implicit-function-declaration is specified. + +Original here: https://github.com/openwrt/packages/blob/master/utils/lcdproc/patches/110-in-outb.patch +Upstream-Status: Pending + +Signed-off-by: Khem Raj +--- + server/drivers/port.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/server/drivers/port.h b/server/drivers/port.h +index c584cd4e..bde235b3 100644 +--- a/server/drivers/port.h ++++ b/server/drivers/port.h +@@ -94,7 +94,7 @@ static inline int port_deny_multiple(unsigned short port, unsigned short count); + /* ---------------------------- Linux ------------------------------------ */ + /* Use ioperm, inb and outb in (Linux) */ + /* And iopl for higher addresses of PCI LPT cards */ +-#if defined HAVE_IOPERM ++#if defined(__GLIBC__) || (defined(__x86__) || defined(__x86_64__)) + + /* Glibc2 and Glibc1 */ + # ifdef HAVE_SYS_IO_H +-- +2.24.1 + diff --git a/meta-openembedded/meta-oe/recipes-extended/lcdproc/lcdproc_git.bb b/meta-openembedded/meta-oe/recipes-extended/lcdproc/lcdproc_git.bb index 7ddc55f5e7..275b984e47 100644 --- a/meta-openembedded/meta-oe/recipes-extended/lcdproc/lcdproc_git.bb +++ b/meta-openembedded/meta-oe/recipes-extended/lcdproc/lcdproc_git.bb @@ -7,22 +7,25 @@ LICENSE = "GPLv2+" DEPENDS = "ncurses lirc" LIC_FILES_CHKSUM = "file://COPYING;md5=18810669f13b87348459e611d31ab760 \ - file://README.md;beginline=107;md5=5c927ce1742d6d5cddc45b7ad6230f75" + file://README.md;beginline=107;md5=5db392f043253a2d64b1737068ce6b58" -BASEPV = "0.5.9" -PV = "${BASEPV}+git${SRCPV}" -SRCREV = "e08546c13a4157ed98cd4a8e9086e7acd66f93c0" +PV = "0.5.9+git${SRCPV}" +SRCREV = "3a3d622d9bb74c44fa67bc20573751a207514134" SRC_URI = "git://github.com/lcdproc/lcdproc \ file://0001-Fix-parallel-build-fix-port-internal-make-dependenci.patch \ + file://0002-Include-limits.h-for-PATH_MAX-definition.patch \ + file://0003-Fix-non-x86-platforms-on-musl.patch \ " S = "${WORKDIR}/git" inherit autotools pkgconfig update-rc.d -LCD_DRIVERS ?= "all,!irman,!svga" -LCD_DRIVERS_append_aarch64 = ",!serialVFD" -LCD_DRIVERS_append_arm = ",!serialVFD" +LCD_DRIVERS ?= "all,!irman,!svga${SERIALVFD}" +SERIALVFD ?= "" +SERIALVFD_libc-musl = ",!serialVFD" +SERIALVFD_libc-musl_x86 = "" +SERIALVFD_libc-musl_x86-64 = "" LCD_DEFAULT_DRIVER ?= "curses" diff --git a/meta-openembedded/meta-oe/recipes-extended/libblockdev/libblockdev_2.23.bb b/meta-openembedded/meta-oe/recipes-extended/libblockdev/libblockdev_2.23.bb index 761619d9af..3f4eec274f 100644 --- a/meta-openembedded/meta-oe/recipes-extended/libblockdev/libblockdev_2.23.bb +++ b/meta-openembedded/meta-oe/recipes-extended/libblockdev/libblockdev_2.23.bb @@ -17,7 +17,7 @@ SRC_URI = " \ S = "${WORKDIR}/git" -FILES_${PN} += "${libdir}/python2.7/dist-packages ${libdir}/python3.7/site-packages" +FILES_${PN} += "${libdir}/python2.7/dist-packages ${libdir}/python3.*/site-packages" PACKAGECONFIG ??= "python3 lvm dm kmod parted fs escrow btrfs crypto mdraid kbd mpath nvdimm" PACKAGECONFIG[python3] = "--with-python3, --without-python3,,python3" diff --git a/meta-openembedded/meta-oe/recipes-extended/libcec/libcec/0001-CheckPlatformSupport.cmake-Do-not-hardcode-lib-path.patch b/meta-openembedded/meta-oe/recipes-extended/libcec/libcec/0001-CheckPlatformSupport.cmake-Do-not-hardcode-lib-path.patch new file mode 100644 index 0000000000..3ecbfce250 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/libcec/libcec/0001-CheckPlatformSupport.cmake-Do-not-hardcode-lib-path.patch @@ -0,0 +1,42 @@ +From 95d4df3b713925e2c4894a2e4d50b06df861d9ef Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Wed, 18 Dec 2019 23:37:40 -0800 +Subject: [PATCH] CheckPlatformSupport.cmake: Do not hardcode lib path + +Using CMAKE_INSTALL_LIBDIR ensures that we can build for multilib env + +Upstream-Status: Pending +Signed-off-by: Khem Raj +--- + src/libcec/cmake/CheckPlatformSupport.cmake | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +diff --git a/src/libcec/cmake/CheckPlatformSupport.cmake b/src/libcec/cmake/CheckPlatformSupport.cmake +index 2d7102f..55e78f8 100644 +--- a/src/libcec/cmake/CheckPlatformSupport.cmake ++++ b/src/libcec/cmake/CheckPlatformSupport.cmake +@@ -224,16 +224,16 @@ else() + + if (${PYTHON_MAJOR_VERSION} EQUAL 2) + install(TARGETS ${SWIG_MODULE_cec_REAL_NAME} +- DESTINATION lib/python${PYTHON_VERSION}/${PYTHON_PKG_DIR}/${PYTHON_LIB_INSTALL_PATH}/cec) ++ DESTINATION ${CMAKE_INSTALL_LIBDIR}/python${PYTHON_VERSION}/${PYTHON_PKG_DIR}/${PYTHON_LIB_INSTALL_PATH}/cec) + install(FILES ${CMAKE_BINARY_DIR}/src/libcec/cec.py +- DESTINATION lib/python${PYTHON_VERSION}/${PYTHON_PKG_DIR}) ++ DESTINATION l${CMAKE_INSTALL_LIBDIR}/python${PYTHON_VERSION}/${PYTHON_PKG_DIR}) + install(FILES ${CMAKE_SOURCE_DIR}/src/libcec/cmake/__init__.py +- DESTINATION lib/python${PYTHON_VERSION}/${PYTHON_PKG_DIR}/cec) ++ DESTINATION ${CMAKE_INSTALL_LIBDIR}/python${PYTHON_VERSION}/${PYTHON_PKG_DIR}/cec) + else() + install(TARGETS ${SWIG_MODULE_cec_REAL_NAME} +- DESTINATION lib/python${PYTHON_VERSION}/${PYTHON_PKG_DIR}/${PYTHON_LIB_INSTALL_PATH}) ++ DESTINATION ${CMAKE_INSTALL_LIBDIR}/python${PYTHON_VERSION}/${PYTHON_PKG_DIR}/${PYTHON_LIB_INSTALL_PATH}) + install(FILES ${CMAKE_BINARY_DIR}/src/libcec/cec.py +- DESTINATION lib/python${PYTHON_VERSION}/${PYTHON_PKG_DIR}) ++ DESTINATION ${CMAKE_INSTALL_LIBDIR}/python${PYTHON_VERSION}/${PYTHON_PKG_DIR}) + endif() + endif() + endif() +-- +2.24.1 + diff --git a/meta-openembedded/meta-oe/recipes-extended/libcec/libcec_git.bb b/meta-openembedded/meta-oe/recipes-extended/libcec/libcec_git.bb index eaf6b9b437..8d5a82455b 100644 --- a/meta-openembedded/meta-oe/recipes-extended/libcec/libcec_git.bb +++ b/meta-openembedded/meta-oe/recipes-extended/libcec/libcec_git.bb @@ -13,7 +13,8 @@ PV = "4.0.4" SRCREV = "3bbd4321618503d14008387a72fabb6743878831" SRC_URI = "git://github.com/Pulse-Eight/libcec.git \ -" + file://0001-CheckPlatformSupport.cmake-Do-not-hardcode-lib-path.patch \ + " S = "${WORKDIR}/git" diff --git a/meta-openembedded/meta-oe/recipes-extended/libimobiledevice/libplist_2.0.0.bb b/meta-openembedded/meta-oe/recipes-extended/libimobiledevice/libplist_2.0.0.bb deleted file mode 100644 index 43c1fd5cab..0000000000 --- a/meta-openembedded/meta-oe/recipes-extended/libimobiledevice/libplist_2.0.0.bb +++ /dev/null @@ -1,29 +0,0 @@ -SUMMARY = "A library to handle Apple Property List format whereas it's binary or XML" - -LICENSE = "GPLv2 & LGPLv2.1" -LIC_FILES_CHKSUM = "file://COPYING;md5=ebb5c50ab7cab4baeffba14977030c07 \ - file://COPYING.LESSER;md5=6ab17b41640564434dda85c06b7124f7" - -DEPENDS = "libxml2 glib-2.0 swig python" - -inherit autotools pkgconfig pythonnative - -SRCREV = "62ec804736435fa34e37e66e228e17e2aacee1d7" -SRC_URI = "git://github.com/libimobiledevice/libplist;protocol=https \ - " - -S = "${WORKDIR}/git" - -do_install_append () { - if [ -e ${D}${libdir}/python*/site-packages/plist/_plist.so ]; then - chrpath -d ${D}${libdir}/python*/site-packages/plist/_plist.so - fi -} - -PACKAGES =+ "${PN}-utils ${PN}++ ${PN}-python" -FILES_${PN} = "${libdir}/libplist${SOLIBS}" -FILES_${PN}++ = "${libdir}/libplist++${SOLIBS}" -FILES_${PN}-utils = "${bindir}/*" -FILES_${PN}-python = "${libdir}/python*/site-packages/*" - - diff --git a/meta-openembedded/meta-oe/recipes-extended/libimobiledevice/libplist_2.1.0.bb b/meta-openembedded/meta-oe/recipes-extended/libimobiledevice/libplist_2.1.0.bb new file mode 100644 index 0000000000..48dec47a81 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/libimobiledevice/libplist_2.1.0.bb @@ -0,0 +1,29 @@ +SUMMARY = "A library to handle Apple Property List format whereas it's binary or XML" + +LICENSE = "GPLv2 & LGPLv2.1" +LIC_FILES_CHKSUM = "file://COPYING;md5=ebb5c50ab7cab4baeffba14977030c07 \ + file://COPYING.LESSER;md5=6ab17b41640564434dda85c06b7124f7" + +DEPENDS = "libxml2 glib-2.0 swig python" + +inherit autotools pkgconfig pythonnative + +SRCREV = "3df02d4d0e9008771e8622fdc10de8333b3f0d85" +SRC_URI = "git://github.com/libimobiledevice/libplist;protocol=https \ + " + +S = "${WORKDIR}/git" + +do_install_append () { + if [ -e ${D}${libdir}/python*/site-packages/plist/_plist.so ]; then + chrpath -d ${D}${libdir}/python*/site-packages/plist/_plist.so + fi +} + +PACKAGES =+ "${PN}-utils ${PN}++ ${PN}-python" +FILES_${PN} = "${libdir}/libplist${SOLIBS}" +FILES_${PN}++ = "${libdir}/libplist++${SOLIBS}" +FILES_${PN}-utils = "${bindir}/*" +FILES_${PN}-python = "${libdir}/python*/site-packages/*" + + diff --git a/meta-openembedded/meta-oe/recipes-extended/liblightmodbus/liblightmodbus/0001-cmake-Use-GNUInstallDirs-instead-of-hardcoding-lib-p.patch b/meta-openembedded/meta-oe/recipes-extended/liblightmodbus/liblightmodbus/0001-cmake-Use-GNUInstallDirs-instead-of-hardcoding-lib-p.patch new file mode 100644 index 0000000000..321b41289d --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/liblightmodbus/liblightmodbus/0001-cmake-Use-GNUInstallDirs-instead-of-hardcoding-lib-p.patch @@ -0,0 +1,37 @@ +From 066c49158a71ea77598c9e1ae16bba63d6ac6bb5 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Thu, 19 Dec 2019 23:41:35 -0800 +Subject: [PATCH] cmake: Use GNUInstallDirs instead of hardcoding lib path + +Upstream-Status: Submitted [https://github.com/Jacajack/liblightmodbus/pull/12] +Signed-off-by: Khem Raj +--- + CMakeLists.txt | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index ce6cc88..bee83aa 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -242,14 +242,14 @@ if ( DEFINED AVR ) + ) + endif( ) + +- ++include(GNUInstallDirs) + #Installation + install( + TARGETS lightmodbus +- ARCHIVE DESTINATION "${CMAKE_INSTALL_PREFIX}/lib/" ++ ARCHIVE DESTINATION "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/" + ) + + #Install headers + install( + DIRECTORY "${CMAKE_SOURCE_DIR}/include/" DESTINATION "${CMAKE_INSTALL_PREFIX}/include/" FILES_MATCHING PATTERN "*.h" +-) +\ No newline at end of file ++) +-- +2.24.1 + diff --git a/meta-openembedded/meta-oe/recipes-extended/liblightmodbus/liblightmodbus_2.0.2.bb b/meta-openembedded/meta-oe/recipes-extended/liblightmodbus/liblightmodbus_2.0.2.bb index 1e35f08c0f..7fc5997983 100644 --- a/meta-openembedded/meta-oe/recipes-extended/liblightmodbus/liblightmodbus_2.0.2.bb +++ b/meta-openembedded/meta-oe/recipes-extended/liblightmodbus/liblightmodbus_2.0.2.bb @@ -7,7 +7,9 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=84dcc94da3adb52b53ae4fa38fe49e5d" inherit cmake pkgconfig -SRC_URI = "git://github.com/Jacajack/liblightmodbus.git;protocol=https" +SRC_URI = "git://github.com/Jacajack/liblightmodbus.git;protocol=https \ + file://0001-cmake-Use-GNUInstallDirs-instead-of-hardcoding-lib-p.patch \ + " SRCREV = "59d2b405f95701e5b04326589786dbb43ce49e81" S = "${WORKDIR}/git" diff --git a/meta-openembedded/meta-oe/recipes-extended/libqb/libqb_1.0.5.bb b/meta-openembedded/meta-oe/recipes-extended/libqb/libqb_1.0.5.bb index b205186e0b..82503a168b 100644 --- a/meta-openembedded/meta-oe/recipes-extended/libqb/libqb_1.0.5.bb +++ b/meta-openembedded/meta-oe/recipes-extended/libqb/libqb_1.0.5.bb @@ -22,9 +22,13 @@ S = "${WORKDIR}/git" # WORKDIR/libqb/1.0.3+gitAUTOINC+c235284b5f-r0/recipe-sysroot-native/usr/bin/i586-oe-linux/../../libexec/i586-oe-linux/gcc/i586-oe-linux/8.1.0/ld: error: conftest.ld: SECTIONS seen after other input files; try -T/--script # WORKDIR/libqb/1.0.3+gitAUTOINC+c235284b5f-r0/recipe-sysroot-native/usr/bin/i586-oe-linux/../../libexec/i586-oe-linux/gcc/i586-oe-linux/8.1.0/ld: internal error in write_sections, at ../../gold/reloc.cc:791 # collect2: error: ld returned 1 exit status -EXTRA_OECONF_append = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' --enable-nosection-fallback', '', d)}" +NOSECTION_FALLBACK = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', '--enable-nosection-fallback', '', d)}" +NOSECTION_FALLBACK_toolchain-clang_mips64 = "--enable-nosection-fallback" + +EXTRA_OECONF += "${NOSECTION_FALLBACK}" CFLAGS += "-pthread -D_REENTRANT" + do_configure_prepend() { ( cd ${S} ${S}/autogen.sh ) diff --git a/meta-openembedded/meta-oe/recipes-extended/libstatgrab/libstatgrab_0.92.bb b/meta-openembedded/meta-oe/recipes-extended/libstatgrab/libstatgrab_0.92.bb index 4ede3c8c6b..c61d7c99dc 100644 --- a/meta-openembedded/meta-oe/recipes-extended/libstatgrab/libstatgrab_0.92.bb +++ b/meta-openembedded/meta-oe/recipes-extended/libstatgrab/libstatgrab_0.92.bb @@ -17,6 +17,11 @@ SRC_URI[sha256sum] = "5bf1906aff9ffc3eeacf32567270f4d819055d8386d98b9c8c05519012 # Perl5 is for tests only EXTRA_OECONF = "--without-perl5 --with-mnttab=/proc/mounts" +# use with caution - default properties are configured to trace +PACKAGECONFIG ??= "" +PACKAGECONFIG[log4cplus] = "--with-log4cplus,--without-log4cplus,log4cplus" +PACKAGECONFIG[logging] = "--enable-logging,--disable-logging," + inherit autotools pkgconfig FILES_statgrab = "${bindir}/statgrab" diff --git a/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs_60.5.2.bb b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs_60.5.2.bb index 41a79daf4c..f52bcca735 100644 --- a/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs_60.5.2.bb +++ b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs_60.5.2.bb @@ -56,7 +56,7 @@ EXTRA_OECONF = " \ " # Without this, JS_Init() will fail for mips64. -EXTRA_OECONF_append_mips64 = " --with-intl-api=build" +EXTRA_OECONF_append_mipsarch = " --with-intl-api=build" EXTRA_OECONF_append_mipsarch = " --disable-ion" EXTRA_OECONF_append_riscv64 = " --disable-ion" diff --git a/meta-openembedded/meta-oe/recipes-extended/ostree/ostree/0001-build-create-tests-directory-for-split-builds.patch b/meta-openembedded/meta-oe/recipes-extended/ostree/ostree/0001-build-create-tests-directory-for-split-builds.patch deleted file mode 100644 index d94b3ded9b..0000000000 --- a/meta-openembedded/meta-oe/recipes-extended/ostree/ostree/0001-build-create-tests-directory-for-split-builds.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 114fe5067b58a2434b44855eee48f865186fe0fa Mon Sep 17 00:00:00 2001 -From: Alex Kiernan -Date: Tue, 5 Nov 2019 22:26:23 +0000 -Subject: [PATCH] build: create tests directory for split builds - -When `--disable-dependency-tracking` is in effect with separate build -directory, the tests directory isn't created as a result of the -dependency generation, which leads to a build race for the tests -directory being created and failures: - - Making all in . - make[2]: Entering directory 'TOPDIR/build/tmp/work/riscv64-yoe-linux-musl/ostree/2019.5-r0/build' - (echo '[Test]' > tests/test-local-pull-depth.sh.test.tmp; \ - echo 'Type=session' >> tests/test-local-pull-depth.sh.test.tmp; \ - echo 'Exec=env G_TEST_SRCDIR=/usr/libexec/installed-tests/libostree G_TEST_BUILDDIR=/usr/libexec/installed-tests/libostree /usr/libexec/installed-tests/libostree/test-local-pull-depth.sh' >> tests/test-local-pull-depth.sh.test.tmp; \ - mv tests/test-local-pull-depth.sh.test.tmp tests/test-local-pull-depth.sh.test) - /bin/sh: tests/test-local-pull-depth.sh.test.tmp: No such file or directory - /bin/sh: line 1: tests/test-local-pull-depth.sh.test.tmp: No such file or directory - /bin/sh: line 2: tests/test-local-pull-depth.sh.test.tmp: No such file or directory - mv: cannot stat 'tests/test-local-pull-depth.sh.test.tmp': No such file or directory - make[2]: *** [Makefile:9282: tests/test-local-pull-depth.sh.test] Error 1 - -Signed-off-by: Alex Kiernan -Upstream-Status: Pending ---- - buildutil/glib-tap.mk | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/buildutil/glib-tap.mk b/buildutil/glib-tap.mk -index 34b8f21ea26a..9a944a0acc88 100644 ---- a/buildutil/glib-tap.mk -+++ b/buildutil/glib-tap.mk -@@ -116,6 +116,7 @@ installed_testcases = $(test_programs) $(installed_test_programs) \ - installed_test_meta_DATA = $(installed_testcases:=.test) - - %.test: %$(EXEEXT) Makefile -+ @$(MKDIR_P) $(dir $@) - $(AM_V_GEN) (echo '[Test]' > $@.tmp; \ - echo 'Type=session' >> $@.tmp; \ - echo 'Exec=env G_TEST_SRCDIR=$(installed_testdir) G_TEST_BUILDDIR=$(installed_testdir) $(installed_testdir)/$(notdir $<)' >> $@.tmp; \ --- -2.17.1 - diff --git a/meta-openembedded/meta-oe/recipes-extended/ostree/ostree/0001-macros-Add-TEMP_FAILURE_RETRY-for-musl.patch b/meta-openembedded/meta-oe/recipes-extended/ostree/ostree/0001-macros-Add-TEMP_FAILURE_RETRY-for-musl.patch deleted file mode 100644 index d8c044cb92..0000000000 --- a/meta-openembedded/meta-oe/recipes-extended/ostree/ostree/0001-macros-Add-TEMP_FAILURE_RETRY-for-musl.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 5a4f2ddb0a6c656b425a3caa41f5af766ed5f44b Mon Sep 17 00:00:00 2001 -From: Alex Kiernan -Date: Mon, 9 Sep 2019 14:19:18 +0100 -Subject: [PATCH] macros: Add TEMP_FAILURE_RETRY for musl - -TEMP_FAILURE_RETRY is glibc specific, add a definition for musl. - -See https://github.com/ostreedev/ostree/issues/731 - -Signed-off-by: Leon Woestenberg -Signed-off-by: Alex Kiernan -Upstream-Status: Accepted [https://gitlab.gnome.org/GNOME/libglnx/commit/15c06468804014fc49f6f340132930703f919b19] ---- - glnx-macros.h | 10 ++++++++++ - 1 file changed, 10 insertions(+) - -diff --git a/libglnx.glnx-macros.h b/libglnx/glnx-macros.h -index 6d8aca93f8a3..700fc75ceed0 100644 ---- a/libglnx.glnx-macros.h -+++ b/libglnx/glnx-macros.h -@@ -31,6 +31,16 @@ G_BEGIN_DECLS - /* All of these are for C only. */ - #ifndef __GI_SCANNER__ - -+/* fixes builds against musl, taken from glibc unistd.h */ -+#ifndef TEMP_FAILURE_RETRY -+#define TEMP_FAILURE_RETRY(expression) \ -+ (__extension__ \ -+ ({ long int __result; \ -+ do __result = (long int) (expression); \ -+ while (__result == -1L && errno == EINTR); \ -+ __result; })) -+#endif -+ - /* Taken from https://github.com/systemd/systemd/src/basic/string-util.h - * at revision v228-666-gcf6c8c4 - */ --- -2.17.1 - diff --git a/meta-openembedded/meta-oe/recipes-extended/ostree/ostree/0001-tests-Handle-EPIPE-failures-when-head-terminates.patch b/meta-openembedded/meta-oe/recipes-extended/ostree/ostree/0001-tests-Handle-EPIPE-failures-when-head-terminates.patch deleted file mode 100644 index fdb733ebe4..0000000000 --- a/meta-openembedded/meta-oe/recipes-extended/ostree/ostree/0001-tests-Handle-EPIPE-failures-when-head-terminates.patch +++ /dev/null @@ -1,51 +0,0 @@ -From fb519f0361565cad0d340095263a1e8866ec4f89 Mon Sep 17 00:00:00 2001 -From: Alex Kiernan -Date: Thu, 31 Oct 2019 11:30:00 +0000 -Subject: [PATCH 1/3] tests: Handle EPIPE failures when head terminates - -When using musl, it appears that the default is line buffered output, so -when `head -1` reads from a pipe we have to handle the source end of the -pipe getting EPIPE. - -Signed-off-by: Alex Kiernan -Upstream-Status: Accepted [v2019.6] ---- - tests/pull-test.sh | 2 +- - tests/test-pull-mirrorlist.sh | 4 ++-- - 2 files changed, 3 insertions(+), 3 deletions(-) - -diff --git a/tests/pull-test.sh b/tests/pull-test.sh -index 0a97a1195582..2cfd8e02f790 100644 ---- a/tests/pull-test.sh -+++ b/tests/pull-test.sh -@@ -177,7 +177,7 @@ if ! skip_one_without_user_xattrs; then - ${CMD_PREFIX} ostree --repo=cacherepo pull-local ostree-srv/gnomerepo main - rev=$(ostree --repo=cacherepo rev-parse main) - ${CMD_PREFIX} ostree --repo=cacherepo ls -R -C main > ls.txt -- regfile_hash=$(grep -E -e '^-0' ls.txt | head -1 | awk '{ print $5 }') -+ regfile_hash=$((grep -E -e '^-0' ls.txt || true) | head -1 | awk '{ print $5 }') - ${CMD_PREFIX} ostree --repo=repo remote add --set=gpg-verify=false corruptrepo $(cat httpd-address)/ostree/corruptrepo - # Make this a loop so in the future we can add more object types like commit etc. - for object in ${regfile_hash}.file; do -diff --git a/tests/test-pull-mirrorlist.sh b/tests/test-pull-mirrorlist.sh -index 4e44852d3971..85ff66e99f8e 100755 ---- a/tests/test-pull-mirrorlist.sh -+++ b/tests/test-pull-mirrorlist.sh -@@ -47,12 +47,12 @@ setup_mirror content_mirror3 - - # Let's delete a file from 1 so that it falls back on 2 - cd ${test_tmpdir}/content_mirror1/ostree/gnomerepo --filez=$(find objects/ -name '*.filez' | head -n 1) -+filez=$((find objects/ -name '*.filez' || true) | head -n 1) - rm ${filez} - - # Let's delete a file from 1 and 2 so that it falls back on 3 - cd ${test_tmpdir}/content_mirror1/ostree/gnomerepo --filez=$(find objects/ -name '*.filez' | head -n 1) -+filez=$((find objects/ -name '*.filez' || true) | head -n 1) - rm ${filez} - cd ${test_tmpdir}/content_mirror2/ostree/gnomerepo - rm ${filez} --- -2.17.1 - diff --git a/meta-openembedded/meta-oe/recipes-extended/ostree/ostree/0001-tests-core-Fallback-to-en_US.UTF-8-locale.patch b/meta-openembedded/meta-oe/recipes-extended/ostree/ostree/0001-tests-core-Fallback-to-en_US.UTF-8-locale.patch deleted file mode 100644 index dcafb09957..0000000000 --- a/meta-openembedded/meta-oe/recipes-extended/ostree/ostree/0001-tests-core-Fallback-to-en_US.UTF-8-locale.patch +++ /dev/null @@ -1,42 +0,0 @@ -From 4d17cd917fe4fb67d2f9e4881b6693ac7289f423 Mon Sep 17 00:00:00 2001 -From: Alex Kiernan -Date: Wed, 30 Oct 2019 07:55:41 +0000 -Subject: [PATCH 1/4] tests/core: Fallback to en_US.UTF-8 locale - -A number of tests expect explicit left/right single quotes in their -messages, which will never happen in the C locale. Change so we pick a -likely UTF-8 locale, or fail if we can't find one. - -Signed-off-by: Alex Kiernan -Upstream-Status: Accepted [v2019.6] ---- - tests/libtest-core.sh | 12 ++++-------- - 1 file changed, 4 insertions(+), 8 deletions(-) - -diff --git a/tests/libtest-core.sh b/tests/libtest-core.sh -index f6f94288fc61..bc191332c916 100644 ---- a/tests/libtest-core.sh -+++ b/tests/libtest-core.sh -@@ -35,15 +35,11 @@ assert_not_reached () { - } - - # Some tests look for specific English strings. Use a UTF-8 version --# of the C (POSIX) locale if we have one, or fall back to POSIX -+# of the C (POSIX) locale if we have one, or fall back to en_US.UTF-8 - # (https://sourceware.org/glibc/wiki/Proposals/C.UTF-8) --if locale -a | grep '^C.UTF-8$' >/dev/null; then -- export LC_ALL=C.UTF-8 --elif locale -a | grep '^C.utf8$' >/dev/null; then -- export LC_ALL=C.utf8 --else -- export LC_ALL=C --fi -+export LC_ALL=$(locale -a | grep -Ee '\.(UTF-8|utf8)' | grep -iEe '^(C|en_US)' | head -1 || true) -+if [ -z "${LC_ALL}" ]; then fatal "Can't find suitable UTF-8 locale"; fi -+ - # A GNU extension, used whenever LC_ALL is not C - unset LANGUAGE - --- -2.17.1 - diff --git a/meta-openembedded/meta-oe/recipes-extended/ostree/ostree/0002-tests-core-Assume-C.UTF-8-if-locale-isn-t-found.patch b/meta-openembedded/meta-oe/recipes-extended/ostree/ostree/0002-tests-core-Assume-C.UTF-8-if-locale-isn-t-found.patch deleted file mode 100644 index 5ab9c8f6d7..0000000000 --- a/meta-openembedded/meta-oe/recipes-extended/ostree/ostree/0002-tests-core-Assume-C.UTF-8-if-locale-isn-t-found.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 3d48021fb0892721fab8359b49470e521aaed493 Mon Sep 17 00:00:00 2001 -From: Alex Kiernan -Date: Thu, 31 Oct 2019 11:28:07 +0000 -Subject: [PATCH 2/3] tests/core: Assume C.UTF-8 if locale isn't found - -When building with musl there's no locale command, also its default -locale is C.UTF-8, so just get C.UTF-8 if we can't find locale. - -Signed-off-by: Alex Kiernan -Upstream-Status: Accepted [v2019.6] ---- - tests/libtest-core.sh | 12 +++++++++--- - 1 file changed, 9 insertions(+), 3 deletions(-) - -diff --git a/tests/libtest-core.sh b/tests/libtest-core.sh -index bc191332c916..46aafab03cc8 100644 ---- a/tests/libtest-core.sh -+++ b/tests/libtest-core.sh -@@ -37,9 +37,15 @@ assert_not_reached () { - # Some tests look for specific English strings. Use a UTF-8 version - # of the C (POSIX) locale if we have one, or fall back to en_US.UTF-8 - # (https://sourceware.org/glibc/wiki/Proposals/C.UTF-8) --export LC_ALL=$(locale -a | grep -Ee '\.(UTF-8|utf8)' | grep -iEe '^(C|en_US)' | head -1 || true) --if [ -z "${LC_ALL}" ]; then fatal "Can't find suitable UTF-8 locale"; fi -- -+# -+# If we can't find the locale command assume we have support for C.UTF-8 -+# (e.g. musl based systems) -+if type -p locale >/dev/null; then -+ export LC_ALL=$(locale -a | grep -Ee '\.(UTF-8|utf8)' | grep -iEe '^(C|en_US)' | head -1 || true) -+ if [ -z "${LC_ALL}" ]; then fatal "Can't find suitable UTF-8 locale"; fi -+else -+ export LC_ALL=C.UTF-8 -+fi - # A GNU extension, used whenever LC_ALL is not C - unset LANGUAGE - --- -2.17.1 - diff --git a/meta-openembedded/meta-oe/recipes-extended/ostree/ostree/0003-tests-Avoid-musl-failure-with-cp-a.patch b/meta-openembedded/meta-oe/recipes-extended/ostree/ostree/0003-tests-Avoid-musl-failure-with-cp-a.patch deleted file mode 100644 index 834617c12d..0000000000 --- a/meta-openembedded/meta-oe/recipes-extended/ostree/ostree/0003-tests-Avoid-musl-failure-with-cp-a.patch +++ /dev/null @@ -1,52 +0,0 @@ -From abf1a7392b2fa1945286a39a35190d74fe141e52 Mon Sep 17 00:00:00 2001 -From: Alex Kiernan -Date: Thu, 31 Oct 2019 17:09:36 +0000 -Subject: [PATCH 3/3] tests: Avoid musl failure with `cp -a` - -When copying the tree, using musl and GNU coreutils, something gets confused -when setting the ownership of symlinks and the copy fails with: - - cp: failed to preserve ownership for osdata-devel/bin: Not supported - -Rework using tar to avoid the problem. - -Signed-off-by: Alex Kiernan -Upstream-Status: Accepted [v2019.6] ---- - tests/libtest.sh | 4 +++- - tests/test-admin-gpg.sh | 4 +++- - 2 files changed, 6 insertions(+), 2 deletions(-) - -diff --git a/tests/libtest.sh b/tests/libtest.sh -index ba00073a10a7..3f5fd931bc1e 100755 ---- a/tests/libtest.sh -+++ b/tests/libtest.sh -@@ -440,7 +440,9 @@ EOF - ${CMD_PREFIX} ostree --repo=${test_tmpdir}/testos-repo commit --add-metadata-string version=1.0.10 -b testos/buildmaster/x86_64-runtime -s "Build" - - cd ${test_tmpdir} -- cp -a osdata osdata-devel -+ rm -rf osdata-devel -+ mkdir osdata-devel -+ tar -C osdata -cf - . | tar -C osdata-devel -xf - - cd osdata-devel - mkdir -p usr/include - echo "a development header" > usr/include/foo.h -diff --git a/tests/test-admin-gpg.sh b/tests/test-admin-gpg.sh -index 1f50c8a9a508..dc776743776c 100755 ---- a/tests/test-admin-gpg.sh -+++ b/tests/test-admin-gpg.sh -@@ -90,7 +90,9 @@ EOF - ${CMD_PREFIX} ostree --repo=${test_tmpdir}/testos-repo commit --add-metadata-string version=1.0.10 -b testos/buildmaster/x86_64-runtime -s "Build" --gpg-sign=$keyid --gpg-homedir=${test_tmpdir}/gpghome - - cd ${test_tmpdir} -- cp -a osdata osdata-devel -+ rm -rf osdata-devel -+ mkdir osdata-devel -+ tar -C osdata -cf - . | tar -C osdata-devel -xf - - cd osdata-devel - mkdir -p usr/include - echo "a development header" > usr/include/foo.h --- -2.17.1 - diff --git a/meta-openembedded/meta-oe/recipes-extended/ostree/ostree_2019.5.bb b/meta-openembedded/meta-oe/recipes-extended/ostree/ostree_2019.5.bb deleted file mode 100644 index b3b34a15e6..0000000000 --- a/meta-openembedded/meta-oe/recipes-extended/ostree/ostree_2019.5.bb +++ /dev/null @@ -1,192 +0,0 @@ -SUMMARY = "Versioned Operating System Repository." -DESCRIPTION = "libostree is both a shared library and suite of command line \ -tools that combines a \"git-like\" model for committing and downloading \ -bootable filesystem trees, along with a layer for deploying them and managing \ -the bootloader configuration." -HOMEPAGE = "https://ostree.readthedocs.io" -LICENSE = "LGPLv2.1" - -LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2" - -DEPENDS = " \ - glib-2.0 \ - gpgme \ - e2fsprogs \ - libcap \ - zlib \ - xz \ - bison-native \ -" - -# The Yocto mirror has an old export of ostree: -# http://downloads.yoctoproject.org/mirror/sources/git2_github.com.ostreedev.ostree.tar.gz -PREMIRRORS = "" - -SRC_URI = " \ - gitsm://github.com/ostreedev/ostree \ - file://0001-macros-Add-TEMP_FAILURE_RETRY-for-musl.patch \ - file://run-ptest \ - file://0001-tests-core-Fallback-to-en_US.UTF-8-locale.patch \ - file://0001-tests-Handle-EPIPE-failures-when-head-terminates.patch \ - file://0002-tests-core-Assume-C.UTF-8-if-locale-isn-t-found.patch \ - file://0003-tests-Avoid-musl-failure-with-cp-a.patch \ - file://0001-build-create-tests-directory-for-split-builds.patch \ -" -SRCREV = "980ca07b03b3aa7e0012729dd6c84b0878775d93" - -UPSTREAM_CHECK_GITTAGREGEX = "v(?P\d+\.\d+)" - -S = "${WORKDIR}/git" - -inherit autotools bash-completion gobject-introspection gtk-doc pkgconfig ptest-gnome systemd - -# Package configuration - match ostree defaults, but without rofiles-fuse -# otherwise we introduce a dependendency on meta-filesystems -PACKAGECONFIG ??= " \ - ${@bb.utils.filter('DISTRO_FEATURES', 'selinux smack', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd libmount', '', d)} \ - soup \ -" - -# We include soup because ostree can't (currently) be built without -# soup or curl - https://github.com/ostreedev/ostree/issues/1897 -PACKAGECONFIG_class-native ??= " \ - ${@bb.utils.filter('DISTRO_FEATURES', 'selinux smack', d)} \ - soup \ -" - -PACKAGECONFIG[avahi] = "--with-avahi, --without-avahi, avahi" -PACKAGECONFIG[curl] = "--with-curl, --without-curl, curl" -PACKAGECONFIG[dracut] = "--with-dracut, --without-dracut" -PACKAGECONFIG[gnutls] = "--with-crypto=gnutls, , gnutls" -PACKAGECONFIG[libarchive] = "--with-libarchive, --without-libarchive, libarchive" -PACKAGECONFIG[libmount] = "--with-libmount, --without-libmount, util-linux" -PACKAGECONFIG[man] = "--enable-man, --disable-man, libxslt-native docbook-xsl-stylesheets-native" -PACKAGECONFIG[mkinitcpio] = "--with-mkinitcpio, --without-mkinitcpio" -PACKAGECONFIG[no-http2] = "--disable-http2, --enable-http2" -PACKAGECONFIG[openssl] = "--with-crypto=openssl, , openssl" -PACKAGECONFIG[rofiles-fuse] = "--enable-rofiles-fuse, --disable-rofiles-fuse, fuse" -PACKAGECONFIG[selinux] = "--with-selinux, --without-selinux, libselinux" -PACKAGECONFIG[smack] = "--with-smack, --without-smack, smack" -PACKAGECONFIG[soup] = "--with-soup, --without-soup --disable-glibtest, libsoup-2.4" -PACKAGECONFIG[static] = "" -PACKAGECONFIG[systemd] = "--with-libsystemd --with-systemdsystemunitdir=${systemd_unitdir}/system, --without-libsystemd, systemd" -PACKAGECONFIG[trivial-httpd-cmdline] = "--enable-trivial-httpd-cmdline, --disable-trivial-httpd-cmdline" - -EXTRA_OECONF = " \ - ${@bb.utils.contains('PACKAGECONFIG', 'static', '--with-static-compiler=\'${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS}\'', '', d)} \ -" - -# Makefile-libostree.am overrides this to avoid a build problem with clang, -# but that fix breaks cross compilation and we don't need it -EXTRA_OEMAKE = " \ - INTROSPECTION_SCANNER_ENV= \ -" - -EXTRA_OECONF_class-native = " \ - --with-builtin-grub2-mkconfig \ - --enable-wrpseudo-compat \ - --disable-otmpfile \ -" - -# Path to ${prefix}/lib/ostree/ostree-grub-generator is hardcoded on the -# do_configure stage so we do depend on it -SYSROOT_DIR = "${STAGING_DIR_TARGET}" -SYSROOT_DIR_class-native = "${STAGING_DIR_NATIVE}" -do_configure[vardeps] += "SYSROOT_DIR" - -do_configure_prepend() { - # this reflects what autogen.sh does, but the OE wrappers for autoreconf - # allow it to work without the other gyrations which exist there - cp ${S}/libglnx/Makefile-libglnx.am ${S}/libglnx/Makefile-libglnx.am.inc - cp ${S}/bsdiff/Makefile-bsdiff.am ${S}/bsdiff/Makefile-bsdiff.am.inc -} - -do_install_append_class-native() { - create_wrapper ${D}${bindir}/ostree OSTREE_GRUB2_EXEC="${STAGING_LIBDIR_NATIVE}/ostree/ostree-grub-generator" -} - -PACKAGES += " \ - ${PN}-dracut \ - ${PN}-grub \ - ${PN}-mkinitcpio \ - ${PN}-switchroot \ - ${PN}-trivial-httpd \ -" - -FILES_${PN} = " \ - ${bindir}/ostree \ - ${bindir}/rofiles-fuse \ - ${datadir}/${BPN} \ - ${datadir}/gir-1.0 \ - ${libdir}/${BPN}/ostree-remount \ - ${libdir}/girepository-1.0 \ - ${libdir}/lib*${SOLIBS} \ - ${libdir}/tmpfiles.d/ostree-tmpfiles.conf \ - ${sysconfdir}/ostree/remotes.d \ - ${systemd_unitdir}/system-generators/ostree-system-generator \ - ${systemd_unitdir}/system/ostree-finalize-staged.path \ - ${systemd_unitdir}/system/ostree-finalize-staged.service \ - ${systemd_unitdir}/system/ostree-remount.service \ -" -FILES_${PN}-dracut = " \ - ${sysconfdir}/dracut.conf.d \ - ${libdir}/dracut \ -" -FILES_${PN}-grub = " \ - ${sysconfdir}/grub.d \ - ${libexecdir}/libostree/grub2-15_ostree \ -" -FILES_${PN}-mkinitcpio = " \ - ${sysconfdir}/ostree-mkinitcpio.conf \ - ${libdir}/initcpio \ -" -FILES_${PN}-switchroot = " \ - ${libdir}/ostree/ostree-prepare-root \ - ${systemd_unitdir}/system/ostree-prepare-root.service \ -" -FILES_${PN}-trivial-httpd = " \ - ${libexecdir}/libostree/ostree-trivial-httpd \ -" - -RDEPENDS_${PN} = " \ - ${@bb.utils.contains('PACKAGECONFIG', 'trivial-httpd-cmdline', '${PN}-trivial-httpd', '', d)} \ -" -RDEPENDS_${PN}-dracut = "bash" -RDEPENDS_${PN}-mkinitcpio = "bash" -RDEPENDS_${PN}_class-target = " \ - gnupg \ - ${PN}-switchroot \ -" -RDEPENDS_${PN}-ptest += " \ - attr \ - bash \ - coreutils \ - cpio \ - diffutils \ - findutils \ - grep \ - python3-core \ - python3-multiprocessing \ - python3-pyyaml \ - ${PN}-trivial-httpd \ -" -RDEPENDS_${PN}-ptest_append_libc-glibc = " glibc-utils glibc-localedata-en-us" - -RRECOMMENDS_${PN} += "kernel-module-overlay" -RRECOMMENDS_${PN}-ptest += "strace" - -SYSTEMD_SERVICE_${PN} = "ostree-remount.service ostree-finalize-staged.path" -SYSTEMD_SERVICE_${PN}-switchroot = "ostree-prepare-root.service" - -BBCLASSEXTEND = "native" - -python __anonymous() { - if not bb.data.inherits_class('native', d) and bb.utils.contains('PTEST_ENABLED', '1', 'True', 'False', d): - if not bb.utils.contains_any('BBFILE_COLLECTIONS', 'meta-python', 'True', 'False', d): - raise bb.parse.SkipRecipe('ptest requires meta-python to be present.') - elif not bb.utils.contains_any('PACKAGECONFIG', 'soup curl', 'True', 'False', d): - raise bb.parse.SkipRecipe('ptest requires soup enabled in PACKAGECONFIG.') - elif not oe.utils.any_distro_features(d, "xattr"): - raise bb.parse.SkipRecipe('ptest requires xattr enabled in DISTRO_FEATURES.') -} diff --git a/meta-openembedded/meta-oe/recipes-extended/ostree/ostree_2019.6.bb b/meta-openembedded/meta-oe/recipes-extended/ostree/ostree_2019.6.bb new file mode 100644 index 0000000000..bcf511b902 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/ostree/ostree_2019.6.bb @@ -0,0 +1,173 @@ +SUMMARY = "Versioned Operating System Repository." +DESCRIPTION = "libostree is both a shared library and suite of command line \ +tools that combines a \"git-like\" model for committing and downloading \ +bootable filesystem trees, along with a layer for deploying them and managing \ +the bootloader configuration." +HOMEPAGE = "https://ostree.readthedocs.io" +LICENSE = "LGPLv2.1" + +LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2" + +DEPENDS = " \ + glib-2.0 \ + gpgme \ + e2fsprogs \ + libcap \ + zlib \ + xz \ + bison-native \ +" + +# The Yocto mirror has an old export of ostree: +# http://downloads.yoctoproject.org/mirror/sources/git2_github.com.ostreedev.ostree.tar.gz +PREMIRRORS = "" + +SRC_URI = " \ + gitsm://github.com/ostreedev/ostree \ + file://run-ptest \ +" +SRCREV = "43706202f7de2ce0c829a46caab350ae1656f6ad" + +UPSTREAM_CHECK_GITTAGREGEX = "v(?P\d+\.\d+)" + +S = "${WORKDIR}/git" + +inherit autotools bash-completion gobject-introspection gtk-doc manpages pkgconfig ptest-gnome systemd + +# Package configuration - match ostree defaults, but without rofiles-fuse +# otherwise we introduce a dependendency on meta-filesystems +# +# If running with ptest, both soup (for trivial-httpd) and xattr are required +PACKAGECONFIG ??= " \ + ${@bb.utils.filter('DISTRO_FEATURES', 'selinux smack', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd libmount', '', d)} \ + soup \ +" + +# We include soup because ostree can't (currently) be built without +# soup or curl - https://github.com/ostreedev/ostree/issues/1897 +PACKAGECONFIG_class-native ??= " \ + ${@bb.utils.filter('DISTRO_FEATURES', 'selinux smack', d)} \ + builtin-grub2-mkconfig \ + soup \ +" + +PACKAGECONFIG[avahi] = "--with-avahi, --without-avahi, avahi" +PACKAGECONFIG[builtin-grub2-mkconfig] = "--with-builtin-grub2-mkconfig, --without-builtin-grub2-mkconfig" +PACKAGECONFIG[curl] = "--with-curl, --without-curl, curl" +PACKAGECONFIG[dracut] = "--with-dracut, --without-dracut" +PACKAGECONFIG[gjs] = "ac_cv_path_GJS=${bindir}/gjs" +PACKAGECONFIG[gnutls] = "--with-crypto=gnutls, , gnutls" +PACKAGECONFIG[libarchive] = "--with-libarchive, --without-libarchive, libarchive" +PACKAGECONFIG[libmount] = "--with-libmount, --without-libmount, util-linux" +PACKAGECONFIG[manpages] = "--enable-man, --disable-man, libxslt-native docbook-xsl-stylesheets-native" +PACKAGECONFIG[mkinitcpio] = "--with-mkinitcpio, --without-mkinitcpio" +PACKAGECONFIG[no-http2] = "--disable-http2, --enable-http2" +PACKAGECONFIG[openssl] = "--with-crypto=openssl, , openssl" +PACKAGECONFIG[rofiles-fuse] = "--enable-rofiles-fuse, --disable-rofiles-fuse, fuse" +PACKAGECONFIG[selinux] = "--with-selinux, --without-selinux, libselinux" +PACKAGECONFIG[smack] = "--with-smack, --without-smack, smack" +PACKAGECONFIG[soup] = "--with-soup, --without-soup --disable-glibtest, libsoup-2.4" +PACKAGECONFIG[static] = "" +PACKAGECONFIG[systemd] = "--with-libsystemd --with-systemdsystemunitdir=${systemd_unitdir}/system, --without-libsystemd, systemd" +PACKAGECONFIG[trivial-httpd-cmdline] = "--enable-trivial-httpd-cmdline, --disable-trivial-httpd-cmdline" + +EXTRA_OECONF = " \ + ${@bb.utils.contains('PACKAGECONFIG', 'static', '--with-static-compiler=\'${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS}\'', '', d)} \ +" + +# Makefile-libostree.am overrides this to avoid a build problem with clang, +# but that fix breaks cross compilation and we don't need it +EXTRA_OEMAKE = " \ + INTROSPECTION_SCANNER_ENV= \ +" + +EXTRA_OECONF_class-native = " \ + --enable-wrpseudo-compat \ + --disable-otmpfile \ +" + +# Path to ${prefix}/lib/ostree/ostree-grub-generator is hardcoded on the +# do_configure stage so we do depend on it +SYSROOT_DIR = "${STAGING_DIR_TARGET}" +SYSROOT_DIR_class-native = "${STAGING_DIR_NATIVE}" +do_configure[vardeps] += "SYSROOT_DIR" + +do_configure_prepend() { + # this reflects what autogen.sh does, but the OE wrappers for autoreconf + # allow it to work without the other gyrations which exist there + cp ${S}/libglnx/Makefile-libglnx.am ${S}/libglnx/Makefile-libglnx.am.inc + cp ${S}/bsdiff/Makefile-bsdiff.am ${S}/bsdiff/Makefile-bsdiff.am.inc +} + +do_install_append_class-native() { + create_wrapper ${D}${bindir}/ostree OSTREE_GRUB2_EXEC="${STAGING_LIBDIR_NATIVE}/ostree/ostree-grub-generator" +} + +PACKAGE_BEFORE_PN = " \ + ${PN}-dracut \ + ${PN}-grub \ + ${PN}-mkinitcpio \ + ${PN}-switchroot \ + ${PN}-trivial-httpd \ +" + +FILES_${PN} += " \ + ${nonarch_libdir}/${BPN} \ + ${nonarch_libdir}/tmpfiles.d \ + ${systemd_unitdir}/system \ + ${systemd_unitdir}/system-generators \ +" +FILES_${PN}-dracut = " \ + ${sysconfdir}/dracut.conf.d \ + ${libdir}/dracut \ +" +FILES_${PN}-grub = " \ + ${sysconfdir}/grub.d \ + ${libexecdir}/libostree/grub2-15_ostree \ +" +FILES_${PN}-mkinitcpio = " \ + ${sysconfdir}/ostree-mkinitcpio.conf \ + ${libdir}/initcpio \ +" +FILES_${PN}-switchroot = " \ + ${nonarch_libdir}/${BPN}/ostree-prepare-root \ + ${systemd_unitdir}/system/ostree-prepare-root.service \ +" +FILES_${PN}-trivial-httpd = " \ + ${libexecdir}/libostree/ostree-trivial-httpd \ +" + +RDEPENDS_${PN} = " \ + ${@bb.utils.contains('PACKAGECONFIG', 'trivial-httpd-cmdline', '${PN}-trivial-httpd', '', d)} \ +" +RDEPENDS_${PN}-dracut = "bash" +RDEPENDS_${PN}-mkinitcpio = "bash" +RDEPENDS_${PN}_class-target = " \ + gnupg \ + ${PN}-switchroot \ +" +RDEPENDS_${PN}-ptest += " \ + attr \ + bash \ + coreutils \ + cpio \ + diffutils \ + findutils \ + grep \ + python3-core \ + python3-multiprocessing \ + tar \ + ${PN}-trivial-httpd \ + ${@bb.utils.contains('BBFILE_COLLECTIONS', 'meta-python', 'python3-pyyaml', '', d)} \ + ${@bb.utils.contains('PACKAGECONFIG', 'gjs', 'gjs', '', d)} \ +" +RDEPENDS_${PN}-ptest_append_libc-glibc = " glibc-utils glibc-localedata-en-us" + +RRECOMMENDS_${PN} += "kernel-module-overlay" +RRECOMMENDS_${PN}-ptest += "strace" + +SYSTEMD_SERVICE_${PN} = "ostree-remount.service ostree-finalize-staged.path" +SYSTEMD_SERVICE_${PN}-switchroot = "ostree-prepare-root.service" + +BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-oe/recipes-extended/pam/pam-plugin-ldapdb/0001-include-stdexcept-for-std-invalid_argument.patch b/meta-openembedded/meta-oe/recipes-extended/pam/pam-plugin-ldapdb/0001-include-stdexcept-for-std-invalid_argument.patch new file mode 100644 index 0000000000..0a93411533 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/pam/pam-plugin-ldapdb/0001-include-stdexcept-for-std-invalid_argument.patch @@ -0,0 +1,25 @@ +From 3e97c9004f4ec58ca3696ee6298f91e6eeb76e04 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Mon, 23 Dec 2019 14:46:25 -0800 +Subject: [PATCH] include for std::invalid_argument + +Upstream-Status: Submitted [https://github.com/rmbreak/pam_ldapdb/pull/11] +Signed-off-by: Khem Raj +--- + pam_ldapdb.cpp | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/pam_ldapdb.cpp b/pam_ldapdb.cpp +index 9baf1e6..be5d85c 100644 +--- a/pam_ldapdb.cpp ++++ b/pam_ldapdb.cpp +@@ -1,5 +1,6 @@ + #include + #include ++#include + #include + #include + #include +-- +2.24.1 + diff --git a/meta-openembedded/meta-oe/recipes-extended/pam/pam-plugin-ldapdb_1.3.bb b/meta-openembedded/meta-oe/recipes-extended/pam/pam-plugin-ldapdb_1.3.bb index 6864cc3174..626b22fe48 100644 --- a/meta-openembedded/meta-oe/recipes-extended/pam/pam-plugin-ldapdb_1.3.bb +++ b/meta-openembedded/meta-oe/recipes-extended/pam/pam-plugin-ldapdb_1.3.bb @@ -11,7 +11,9 @@ inherit features_check REQUIRED_DISTRO_FEATURES = "pam" SRCREV = "84d7b260f1ae6857ae36e014c9a5968e8aa1cbe8" -SRC_URI = "git://github.com/rmbreak/pam_ldapdb" +SRC_URI = "git://github.com/rmbreak/pam_ldapdb \ + file://0001-include-stdexcept-for-std-invalid_argument.patch \ +" S = "${WORKDIR}/git" diff --git a/meta-openembedded/meta-oe/recipes-extended/redis/redis/0005-Mark-extern-definition-of-SDS_NOINIT-in-sds.h.patch b/meta-openembedded/meta-oe/recipes-extended/redis/redis/0005-Mark-extern-definition-of-SDS_NOINIT-in-sds.h.patch new file mode 100644 index 0000000000..4675687c3f --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/redis/redis/0005-Mark-extern-definition-of-SDS_NOINIT-in-sds.h.patch @@ -0,0 +1,27 @@ +From 7f7f710c8821b7254baeaf945ca3ca263b9845e2 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sat, 21 Dec 2019 11:17:50 -0800 +Subject: [PATCH] Mark extern definition of SDS_NOINIT in sds.h + +This helps avoiding multiple definition of this variable, its also +defined globally in sds.c + +Upstream-Status: Pending +Signed-off-by: Khem Raj +--- + src/sds.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/sds.h b/src/sds.h +index 1bdb60d..adcc12c 100644 +--- a/src/sds.h ++++ b/src/sds.h +@@ -34,7 +34,7 @@ + #define __SDS_H + + #define SDS_MAX_PREALLOC (1024*1024) +-const char *SDS_NOINIT; ++extern const char *SDS_NOINIT; + + #include + #include diff --git a/meta-openembedded/meta-oe/recipes-extended/redis/redis/Fixed-stack-trace-generation-on-aarch64.patch b/meta-openembedded/meta-oe/recipes-extended/redis/redis/Fixed-stack-trace-generation-on-aarch64.patch deleted file mode 100644 index 82ca307391..0000000000 --- a/meta-openembedded/meta-oe/recipes-extended/redis/redis/Fixed-stack-trace-generation-on-aarch64.patch +++ /dev/null @@ -1,45 +0,0 @@ -From c8ca71d40bc51e255457cd4374dd45ec9ebf8ae1 Mon Sep 17 00:00:00 2001 -From: Jun He -Date: Mon, 3 Jul 2017 07:18:32 +0000 -Subject: [PATCH] Fixed stack trace generation on aarch64 - -Change-Id: I9801239c98cb7362ed07e8b9ec2ba7e45749dba7 -Signed-off-by: Jun He - -* fixes also this error when building with -Werror=return-type: - debug.c:698:1: error: no return statement in function returning non-void [-Werror=return-type] - -Upstream-Status: Backport [https://github.com/antirez/redis/commit/c8ca71d40bc51e255457cd4374dd45ec9ebf8ae1] - -Signed-off-by: Martin Jansa ---- - src/Makefile | 2 +- - src/debug.c | 2 ++ - 2 files changed, 3 insertions(+), 1 deletion(-) - -diff --git a/src/Makefile b/src/Makefile -index 24e960593eb..a1ff4258a9d 100644 ---- a/src/Makefile -+++ b/src/Makefile -@@ -40,7 +40,7 @@ - endif - - # To get ARM stack traces if Redis crashes we need a special C flag. --ifneq (,$(findstring armv,$(uname_M))) -+ifneq (,$(filter aarch64 armv,$(uname_M))) - CFLAGS+=-funwind-tables - endif - -diff --git a/src/debug.c b/src/debug.c -index a4caa49f285..c976d0ed919 100644 ---- a/src/debug.c -+++ b/src/debug.c -@@ -691,6 +691,8 @@ - return (void*) uc->uc_mcontext.sc_ip; - #elif defined(__arm__) /* Linux ARM */ - return (void*) uc->uc_mcontext.arm_pc; -+ #elif defined(__aarch64__) /* Linux AArch64 */ -+ return (void*) uc->uc_mcontext.pc; - #endif - #else - return NULL; diff --git a/meta-openembedded/meta-oe/recipes-extended/redis/redis/GNU_SOURCE.patch b/meta-openembedded/meta-oe/recipes-extended/redis/redis/GNU_SOURCE.patch new file mode 100644 index 0000000000..9a40d832f1 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/redis/redis/GNU_SOURCE.patch @@ -0,0 +1,19 @@ +Define _GNU_SOURCE to get PTHREAD_MUTEX_INITIALIZER + +Fixes +| zmalloc.c:87:37: error: 'PTHREAD_MUTEX_DEFAULT' undeclared here (not in a function) +| 87 | pthread_mutex_t used_memory_mutex = PTHREAD_MUTEX_INITIALIZER; +| | ^~~~~~~~~~~~~~~~~~~~~~~~~ + +Upstream-Status: Pending +Signed-off-by: Khem Raj +--- a/src/zmalloc.c ++++ b/src/zmalloc.c +@@ -28,6 +28,7 @@ + * POSSIBILITY OF SUCH DAMAGE. + */ + ++#define _GNU_SOURCE + #include + #include + #include diff --git a/meta-openembedded/meta-oe/recipes-extended/redis/redis/remove-atomics.patch b/meta-openembedded/meta-oe/recipes-extended/redis/redis/remove-atomics.patch deleted file mode 100644 index 23b2f2aaf0..0000000000 --- a/meta-openembedded/meta-oe/recipes-extended/redis/redis/remove-atomics.patch +++ /dev/null @@ -1,72 +0,0 @@ -From c486455e0691f9915018b9d8b133200a6c61a3c5 Mon Sep 17 00:00:00 2001 -From: Alistair Francis -Date: Thu, 24 May 2018 09:58:42 -0700 -Subject: [PATCH] Remove atomics - -Based on this patch: -https://github.com/patrikx3/lede-redis/blob/master/redis/patches/010-redis.patch - -Signed-off-by: Alistair Francis ---- - deps/jemalloc/src/pages.c | 22 +--------------------- - src/atomicvar.h | 4 ++-- - 2 files changed, 3 insertions(+), 23 deletions(-) - -diff --git a/deps/jemalloc/src/pages.c b/deps/jemalloc/src/pages.c -index 83a167f6..8e82c78d 100644 ---- a/deps/jemalloc/src/pages.c -+++ b/deps/jemalloc/src/pages.c -@@ -147,27 +147,7 @@ pages_purge(void *addr, size_t size) - { - bool unzeroed; - --#ifdef _WIN32 -- VirtualAlloc(addr, size, MEM_RESET, PAGE_READWRITE); -- unzeroed = true; --#elif defined(JEMALLOC_HAVE_MADVISE) --# ifdef JEMALLOC_PURGE_MADVISE_DONTNEED --# define JEMALLOC_MADV_PURGE MADV_DONTNEED --# define JEMALLOC_MADV_ZEROS true --# elif defined(JEMALLOC_PURGE_MADVISE_FREE) --# define JEMALLOC_MADV_PURGE MADV_FREE --# define JEMALLOC_MADV_ZEROS false --# else --# error "No madvise(2) flag defined for purging unused dirty pages." --# endif -- int err = madvise(addr, size, JEMALLOC_MADV_PURGE); -- unzeroed = (!JEMALLOC_MADV_ZEROS || err != 0); --# undef JEMALLOC_MADV_PURGE --# undef JEMALLOC_MADV_ZEROS --#else -- /* Last resort no-op. */ -- unzeroed = true; --#endif -+ unzeroed = false; - return (unzeroed); - } - -diff --git a/src/atomicvar.h b/src/atomicvar.h -index 84a5bbc5..f9b563c2 100644 ---- a/src/atomicvar.h -+++ b/src/atomicvar.h -@@ -68,7 +68,7 @@ - * is reported. */ - // #define __ATOMIC_VAR_FORCE_SYNC_MACROS - --#if !defined(__ATOMIC_VAR_FORCE_SYNC_MACROS) && defined(__ATOMIC_RELAXED) && !defined(__sun) && (!defined(__clang__) || !defined(__APPLE__) || __apple_build_version__ > 4210057) -+#if defined(CONFIG_EDAC_ATOMIC_SCRUB) && !defined(__ATOMIC_VAR_FORCE_SYNC_MACROS) && defined(__ATOMIC_RELAXED) && !defined(__sun) && (!defined(__clang__) || !defined(__APPLE__) || __apple_build_version__ > 4210057) - /* Implementation using __atomic macros. */ - - #define atomicIncr(var,count) __atomic_add_fetch(&var,(count),__ATOMIC_RELAXED) -@@ -82,7 +82,7 @@ - #define atomicSet(var,value) __atomic_store_n(&var,value,__ATOMIC_RELAXED) - #define REDIS_ATOMIC_API "atomic-builtin" - --#elif defined(HAVE_ATOMIC) -+#elif defined(CONFIG_EDAC_ATOMIC_SCRUB) && defined(HAVE_ATOMIC) - /* Implementation using __sync macros. */ - - #define atomicIncr(var,count) __sync_add_and_fetch(&var,(count)) --- -2.17.0 - diff --git a/meta-openembedded/meta-oe/recipes-extended/redis/redis_4.0.14.bb b/meta-openembedded/meta-oe/recipes-extended/redis/redis_4.0.14.bb deleted file mode 100644 index 7dc6f97115..0000000000 --- a/meta-openembedded/meta-oe/recipes-extended/redis/redis_4.0.14.bb +++ /dev/null @@ -1,66 +0,0 @@ -SUMMARY = "Redis key-value store" -DESCRIPTION = "Redis is an open source, advanced key-value store." -HOMEPAGE = "http://redis.io" -SECTION = "libs" -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://COPYING;md5=3c01b49fed4df1a79843688fa3f7b9d6" -DEPENDS = "readline lua ncurses" - -SRC_URI = "http://download.redis.io/releases/${BP}.tar.gz \ - file://hiredis-use-default-CC-if-it-is-set.patch \ - file://lua-update-Makefile-to-use-environment-build-setting.patch \ - file://oe-use-libc-malloc.patch \ - file://Fixed-stack-trace-generation-on-aarch64.patch \ - file://0001-src-Do-not-reset-FINAL_LIBS.patch \ - file://redis.conf \ - file://init-redis-server \ - file://redis.service \ -" - -SRC_URI_append_mips = " file://remove-atomics.patch" -SRC_URI_append_arm = " file://remove-atomics.patch" -SRC_URI_append_powerpc = " file://remove-atomics.patch" - -SRC_URI[md5sum] = "96ae20ffd68b9daee24b702b754d89f3" -SRC_URI[sha256sum] = "1e1e18420a86cfb285933123b04a82e1ebda20bfb0a289472745a087587e93a7" - -inherit autotools-brokensep update-rc.d systemd useradd - -FINAL_LIBS_x86_toolchain-clang = "-latomic" -export FINAL_LIBS - -USERADD_PACKAGES = "${PN}" -USERADD_PARAM_${PN} = "--system --home-dir /var/lib/redis -g redis --shell /bin/false redis" -GROUPADD_PARAM_${PN} = "--system redis" - -REDIS_ON_SYSTEMD = "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}" - -do_compile_prepend() { - (cd deps && oe_runmake hiredis lua linenoise) -} - -do_install() { - export PREFIX=${D}/${prefix} - oe_runmake install - install -d ${D}/${sysconfdir}/redis - install -m 0644 ${WORKDIR}/redis.conf ${D}/${sysconfdir}/redis/redis.conf - install -d ${D}/${sysconfdir}/init.d - install -m 0755 ${WORKDIR}/init-redis-server ${D}/${sysconfdir}/init.d/redis-server - install -d ${D}/var/lib/redis/ - chown redis.redis ${D}/var/lib/redis/ - - install -d ${D}${systemd_system_unitdir} - install -m 0644 ${WORKDIR}/redis.service ${D}${systemd_system_unitdir} - sed -i 's!/usr/sbin/!${sbindir}/!g' ${D}${systemd_system_unitdir}/redis.service - - if [ "${REDIS_ON_SYSTEMD}" = true ]; then - sed -i 's!daemonize yes!# daemonize yes!' ${D}/${sysconfdir}/redis/redis.conf - fi -} - -CONFFILES_${PN} = "${sysconfdir}/redis/redis.conf" - -INITSCRIPT_NAME = "redis-server" -INITSCRIPT_PARAMS = "defaults 87" - -SYSTEMD_SERVICE_${PN} = "redis.service" diff --git a/meta-openembedded/meta-oe/recipes-extended/redis/redis_5.0.7.bb b/meta-openembedded/meta-oe/recipes-extended/redis/redis_5.0.7.bb new file mode 100644 index 0000000000..b91575552d --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/redis/redis_5.0.7.bb @@ -0,0 +1,67 @@ +SUMMARY = "Redis key-value store" +DESCRIPTION = "Redis is an open source, advanced key-value store." +HOMEPAGE = "http://redis.io" +SECTION = "libs" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://COPYING;md5=3c01b49fed4df1a79843688fa3f7b9d6" +DEPENDS = "readline lua ncurses" + +SRC_URI = "http://download.redis.io/releases/${BP}.tar.gz \ + file://redis.conf \ + file://init-redis-server \ + file://redis.service \ + file://hiredis-use-default-CC-if-it-is-set.patch \ + file://lua-update-Makefile-to-use-environment-build-setting.patch \ + file://oe-use-libc-malloc.patch \ + file://0001-src-Do-not-reset-FINAL_LIBS.patch \ + file://0005-Mark-extern-definition-of-SDS_NOINIT-in-sds.h.patch \ + file://GNU_SOURCE.patch \ + " + +SRC_URI[md5sum] = "612ec43075a888bc8b8a7dd8ccb2e0f7" +SRC_URI[sha256sum] = "61db74eabf6801f057fd24b590232f2f337d422280fd19486eca03be87d3a82b" + +inherit autotools-brokensep update-rc.d systemd useradd + +FINAL_LIBS_x86_toolchain-clang = "-latomic" +FINAL_LIBS_mips = "-latomic" +FINAL_LIBS_arm = "-latomic" +FINAL_LIBS_powerpc = "-latomic" + +export FINAL_LIBS + +USERADD_PACKAGES = "${PN}" +USERADD_PARAM_${PN} = "--system --home-dir /var/lib/redis -g redis --shell /bin/false redis" +GROUPADD_PARAM_${PN} = "--system redis" + +REDIS_ON_SYSTEMD = "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}" + +do_compile_prepend() { + (cd deps && oe_runmake hiredis lua linenoise) +} + +do_install() { + export PREFIX=${D}/${prefix} + oe_runmake install + install -d ${D}/${sysconfdir}/redis + install -m 0644 ${WORKDIR}/redis.conf ${D}/${sysconfdir}/redis/redis.conf + install -d ${D}/${sysconfdir}/init.d + install -m 0755 ${WORKDIR}/init-redis-server ${D}/${sysconfdir}/init.d/redis-server + install -d ${D}/var/lib/redis/ + chown redis.redis ${D}/var/lib/redis/ + + install -d ${D}${systemd_system_unitdir} + install -m 0644 ${WORKDIR}/redis.service ${D}${systemd_system_unitdir} + sed -i 's!/usr/sbin/!${sbindir}/!g' ${D}${systemd_system_unitdir}/redis.service + + if [ "${REDIS_ON_SYSTEMD}" = true ]; then + sed -i 's!daemonize yes!# daemonize yes!' ${D}/${sysconfdir}/redis/redis.conf + fi +} + +CONFFILES_${PN} = "${sysconfdir}/redis/redis.conf" + +INITSCRIPT_NAME = "redis-server" +INITSCRIPT_PARAMS = "defaults 87" + +SYSTEMD_SERVICE_${PN} = "redis.service" diff --git a/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog_8.1910.0.bb b/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog_8.1910.0.bb deleted file mode 100644 index 8287d2b7fe..0000000000 --- a/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog_8.1910.0.bb +++ /dev/null @@ -1,175 +0,0 @@ -SUMMARY = "Rsyslog is an enhanced multi-threaded syslogd" -DESCRIPTION = "\ -Rsyslog is an enhanced syslogd supporting, among others, MySQL,\ - PostgreSQL, failover log destinations, syslog/tcp, fine grain\ - output format control, high precision timestamps, queued operations\ - and the ability to filter on any message part. It is quite\ - compatible to stock sysklogd and can be used as a drop-in replacement.\ - Its advanced features make it suitable for enterprise-class,\ - encryption protected syslog relay chains while at the same time being\ - very easy to setup for the novice user." - -DEPENDS = "zlib libestr libfastjson bison-native flex-native liblogging" -HOMEPAGE = "http://www.rsyslog.com/" -LICENSE = "GPLv3 & LGPLv3 & Apache-2.0" -LIC_FILES_CHKSUM = "file://COPYING;md5=51d9635e646fb75e1b74c074f788e973 \ - file://COPYING.LESSER;md5=cb7903f1e5c39ae838209e130dca270a \ - file://COPYING.ASL20;md5=052f8a09206615ab07326ff8ce2d9d32\ -" - -SRC_URI = "http://www.rsyslog.com/download/files/download/rsyslog/${BPN}-${PV}.tar.gz \ - file://initscript \ - file://rsyslog.conf \ - file://rsyslog.logrotate \ - file://use-pkgconfig-to-check-libgcrypt.patch \ - file://run-ptest \ -" - -SRC_URI_append_libc-musl = " \ - file://0001-Include-sys-time-h.patch \ -" - -SRC_URI[md5sum] = "6d4d94359d083f449f089b8dbb93c423" -SRC_URI[sha256sum] = "0219ee692f31a39743acb62aaf4196b644ce94edf386df4605fd6a11a4fe0c93" - -UPSTREAM_CHECK_URI = "https://github.com/rsyslog/rsyslog/releases" -UPSTREAM_CHECK_REGEX = "(?P\d+(\.\d+)+)" - -inherit autotools pkgconfig systemd update-rc.d ptest - -EXTRA_OECONF += "--disable-generate-man-pages ap_cv_atomic_builtins=yes" -EXTRA_OECONF += "--enable-imfile-tests" -EXTRA_OECONF_remove_mipsarch = "ap_cv_atomic_builtins=yes" - -# first line is default yes in configure -PACKAGECONFIG ??= " \ - rsyslogd rsyslogrt klog inet regexp uuid libgcrypt \ - fmhttp imdiag gnutls imfile \ - ${@bb.utils.filter('DISTRO_FEATURES', 'snmp systemd', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'ptest', 'testbench relp ${VALGRIND}', '', d)} \ -" - -# default yes in configure -PACKAGECONFIG[relp] = "--enable-relp,--disable-relp,librelp," -PACKAGECONFIG[rsyslogd] = "--enable-rsyslogd,--disable-rsyslogd,," -PACKAGECONFIG[rsyslogrt] = "--enable-rsyslogrt,--disable-rsyslogrt,," -PACKAGECONFIG[fmhttp] = "--enable-fmhttp,--disable-fmhttp,curl," -PACKAGECONFIG[inet] = "--enable-inet,--disable-inet,," -PACKAGECONFIG[klog] = "--enable-klog,--disable-klog,," -PACKAGECONFIG[regexp] = "--enable-regexp,--disable-regexp,," -PACKAGECONFIG[uuid] = "--enable-uuid,--disable-uuid,util-linux," -PACKAGECONFIG[libgcrypt] = "--enable-libgcrypt,--disable-libgcrypt,libgcrypt," -PACKAGECONFIG[testbench] = "--enable-testbench --enable-omstdout,--disable-testbench --disable-omstdout,," - -# default no in configure -PACKAGECONFIG[debug] = "--enable-debug,--disable-debug,," -PACKAGECONFIG[imdiag] = "--enable-imdiag,--disable-imdiag,," -PACKAGECONFIG[imfile] = "--enable-imfile,--disable-imfile,," -PACKAGECONFIG[snmp] = "--enable-snmp,--disable-snmp,net-snmp," -PACKAGECONFIG[gnutls] = "--enable-gnutls,--disable-gnutls,gnutls," -PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_unitdir}/system/,--without-systemdsystemunitdir,systemd," -PACKAGECONFIG[imjournal] = "--enable-imjournal,--disable-imjournal," -PACKAGECONFIG[mmjsonparse] = "--enable-mmjsonparse,--disable-mmjsonparse," -PACKAGECONFIG[mysql] = "--enable-mysql,--disable-mysql,mysql5," -PACKAGECONFIG[postgresql] = "--enable-pgsql,--disable-pgsql,postgresql," -PACKAGECONFIG[libdbi] = "--enable-libdbi,--disable-libdbi,libdbi," -PACKAGECONFIG[mail] = "--enable-mail,--disable-mail,," -PACKAGECONFIG[valgrind] = "--enable-valgrind,--disable-valgrind,valgrind," - -TESTDIR = "tests" -do_compile_ptest() { - echo 'buildtest-TESTS: $(check_PROGRAMS)' >> ${TESTDIR}/Makefile - oe_runmake -C ${TESTDIR} buildtest-TESTS -} - -do_install_ptest() { - # install the tests - cp -rf ${S}/${TESTDIR} ${D}${PTEST_PATH} - cp -rf ${B}/${TESTDIR} ${D}${PTEST_PATH} - - # do NOT need to rebuild Makefile itself - sed -i 's/^Makefile:.*$/Makefile:/' ${D}${PTEST_PATH}/${TESTDIR}/Makefile - # do NOT need to rebuild $(check_PROGRAMS) - sed -i 's/^check-TESTS:.*$/check-TESTS:/' ${D}${PTEST_PATH}/${TESTDIR}/Makefile - - # fix the srcdir, top_srcdir - sed -i 's,^\(srcdir = \).*,\1${PTEST_PATH}/tests,' ${D}${PTEST_PATH}/${TESTDIR}/Makefile - sed -i 's,^\(top_srcdir = \).*,\1${PTEST_PATH}/tests,' ${D}${PTEST_PATH}/${TESTDIR}/Makefile - # fix the abs_top_builddir - sed -i 's,^\(abs_top_builddir = \).*,\1${PTEST_PATH}/,' ${D}${PTEST_PATH}/${TESTDIR}/Makefile - - # valgrind is not compatible with arm and mips, - # so remove related test cases if there is no valgrind. - if [ x${VALGRIND} = x ]; then - sed -i '/udp-msgreduc-/d' ${D}${PTEST_PATH}/${TESTDIR}/Makefile - fi - - # install test-driver - install -m 644 ${S}/test-driver ${D}${PTEST_PATH} - - # install necessary links - install -d ${D}${PTEST_PATH}/tools - ln -sf ${sbindir}/rsyslogd ${D}${PTEST_PATH}/tools/rsyslogd - - install -d ${D}${PTEST_PATH}/runtime - install -d ${D}${PTEST_PATH}/runtime/.libs - ( - cd ${D}/${libdir}/rsyslog - allso="*.so" - for i in $allso; do - ln -sf ${libdir}/rsyslog/$i ${D}${PTEST_PATH}/runtime/.libs/$i - done - ) - - # fix the module load path with runtime/.libs - find ${D}${PTEST_PATH}/${TESTDIR} -name "*.conf" -o -name "*.sh" -o -name "*.c" | xargs \ - sed -i -e 's:../plugins/.*/.libs/:../runtime/.libs/:g' -} - -do_install_append() { - install -d "${D}${sysconfdir}/init.d" - install -d "${D}${sysconfdir}/logrotate.d" - install -m 755 ${WORKDIR}/initscript ${D}${sysconfdir}/init.d/syslog - install -m 644 ${WORKDIR}/rsyslog.conf ${D}${sysconfdir}/rsyslog.conf - install -m 644 ${WORKDIR}/rsyslog.logrotate ${D}${sysconfdir}/logrotate.d/logrotate.rsyslog - sed -i -e "s#@BINDIR@#${bindir}#g" ${D}${sysconfdir}/logrotate.d/logrotate.rsyslog - - if ${@bb.utils.contains('PACKAGECONFIG', 'imjournal', 'true', 'false', d)}; then - install -d 0755 ${D}${sysconfdir}/rsyslog.d - echo '$ModLoad imjournal' >> ${D}${sysconfdir}/rsyslog.d/imjournal.conf - fi - if ${@bb.utils.contains('PACKAGECONFIG', 'mmjsonparse', 'true', 'false', d)}; then - install -d 0755 ${D}${sysconfdir}/rsyslog.d - echo '$ModLoad mmjsonparse' >> ${D}${sysconfdir}/rsyslog.d/mmjsonparse.conf - fi -} - -FILES_${PN} += "${bindir}" - -INITSCRIPT_NAME = "syslog" -INITSCRIPT_PARAMS = "defaults" - -CONFFILES_${PN} = "${sysconfdir}/rsyslog.conf" - -RCONFLICTS_${PN} = "busybox-syslog sysklogd syslog-ng" - -RPROVIDES_${PN} += "${PN}-systemd" -RREPLACES_${PN} += "${PN}-systemd" -RCONFLICTS_${PN} += "${PN}-systemd" -SYSTEMD_SERVICE_${PN} = "${BPN}.service" - -RDEPENDS_${PN} += "logrotate" - -# for rsyslog-ptest -VALGRIND = "valgrind" -VALGRIND_mips = "" -VALGRIND_mips64 = "" -VALGRIND_mips64n32 = "" -VALGRIND_arm = "" -VALGRIND_aarch64 = "" -VALGRIND_riscv64 = "" -RDEPENDS_${PN}-ptest += "\ - make diffutils gzip bash gawk coreutils procps \ - libgcc python-core python-io \ - " -RRECOMMENDS_${PN}-ptest += "${TCLIBC}-dbg ${VALGRIND}" diff --git a/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog_8.1911.0.bb b/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog_8.1911.0.bb new file mode 100644 index 0000000000..02ac03eae3 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog_8.1911.0.bb @@ -0,0 +1,190 @@ +SUMMARY = "Rsyslog is an enhanced multi-threaded syslogd" +DESCRIPTION = "\ +Rsyslog is an enhanced syslogd supporting, among others, MySQL,\ + PostgreSQL, failover log destinations, syslog/tcp, fine grain\ + output format control, high precision timestamps, queued operations\ + and the ability to filter on any message part. It is quite\ + compatible to stock sysklogd and can be used as a drop-in replacement.\ + Its advanced features make it suitable for enterprise-class,\ + encryption protected syslog relay chains while at the same time being\ + very easy to setup for the novice user." + +DEPENDS = "zlib libestr libfastjson bison-native flex-native liblogging" +HOMEPAGE = "http://www.rsyslog.com/" +LICENSE = "GPLv3 & LGPLv3 & Apache-2.0" +LIC_FILES_CHKSUM = "file://COPYING;md5=51d9635e646fb75e1b74c074f788e973 \ + file://COPYING.LESSER;md5=cb7903f1e5c39ae838209e130dca270a \ + file://COPYING.ASL20;md5=052f8a09206615ab07326ff8ce2d9d32\ +" + +SRC_URI = "http://www.rsyslog.com/download/files/download/rsyslog/${BPN}-${PV}.tar.gz \ + file://initscript \ + file://rsyslog.conf \ + file://rsyslog.logrotate \ + file://use-pkgconfig-to-check-libgcrypt.patch \ + file://run-ptest \ +" + +SRC_URI_append_libc-musl = " \ + file://0001-Include-sys-time-h.patch \ +" + +SRC_URI[md5sum] = "154e33feb587216f2955050a8301104c" +SRC_URI[sha256sum] = "e1f4776b1c62ad7220f4d624a89a96b0c3d4738006899356eaaef0f1f91ee104" + +UPSTREAM_CHECK_URI = "https://github.com/rsyslog/rsyslog/releases" +UPSTREAM_CHECK_REGEX = "(?P\d+(\.\d+)+)" + +inherit autotools pkgconfig systemd update-rc.d ptest + +EXTRA_OECONF += "--disable-generate-man-pages ap_cv_atomic_builtins=yes" +EXTRA_OECONF += "--enable-imfile-tests" +EXTRA_OECONF_remove_mipsarch = "ap_cv_atomic_builtins=yes" +EXTRA_OECONF_remove_powerpc = "ap_cv_atomic_builtins=yes" + +# first line is default yes in configure +PACKAGECONFIG ??= " \ + rsyslogd rsyslogrt klog inet regexp uuid libgcrypt \ + fmhttp imdiag gnutls imfile \ + ${@bb.utils.filter('DISTRO_FEATURES', 'snmp systemd', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'ptest', 'testbench relp ${VALGRIND}', '', d)} \ +" + +# default yes in configure +PACKAGECONFIG[relp] = "--enable-relp,--disable-relp,librelp," +PACKAGECONFIG[rsyslogd] = "--enable-rsyslogd,--disable-rsyslogd,," +PACKAGECONFIG[rsyslogrt] = "--enable-rsyslogrt,--disable-rsyslogrt,," +PACKAGECONFIG[fmhttp] = "--enable-fmhttp,--disable-fmhttp,curl," +PACKAGECONFIG[inet] = "--enable-inet,--disable-inet,," +PACKAGECONFIG[klog] = "--enable-klog,--disable-klog,," +PACKAGECONFIG[regexp] = "--enable-regexp,--disable-regexp,," +PACKAGECONFIG[uuid] = "--enable-uuid,--disable-uuid,util-linux," +PACKAGECONFIG[libgcrypt] = "--enable-libgcrypt,--disable-libgcrypt,libgcrypt," +PACKAGECONFIG[testbench] = "--enable-testbench --enable-omstdout,--disable-testbench --disable-omstdout,," + +# default no in configure +PACKAGECONFIG[debug] = "--enable-debug,--disable-debug,," +PACKAGECONFIG[imdiag] = "--enable-imdiag,--disable-imdiag,," +PACKAGECONFIG[imfile] = "--enable-imfile,--disable-imfile,," +PACKAGECONFIG[snmp] = "--enable-snmp,--disable-snmp,net-snmp," +PACKAGECONFIG[gnutls] = "--enable-gnutls,--disable-gnutls,gnutls," +PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_unitdir}/system/,--without-systemdsystemunitdir,systemd," +PACKAGECONFIG[imjournal] = "--enable-imjournal,--disable-imjournal," +PACKAGECONFIG[mmjsonparse] = "--enable-mmjsonparse,--disable-mmjsonparse," +PACKAGECONFIG[mysql] = "--enable-mysql,--disable-mysql,mysql5," +PACKAGECONFIG[postgresql] = "--enable-pgsql,--disable-pgsql,postgresql," +PACKAGECONFIG[libdbi] = "--enable-libdbi,--disable-libdbi,libdbi," +PACKAGECONFIG[mail] = "--enable-mail,--disable-mail,," +PACKAGECONFIG[valgrind] = "--enable-valgrind,--disable-valgrind,valgrind," + +TESTDIR = "tests" +do_compile_ptest() { + echo 'buildtest-TESTS: $(check_PROGRAMS)' >> ${TESTDIR}/Makefile + oe_runmake -C ${TESTDIR} buildtest-TESTS +} + +do_install_ptest() { + # install the tests + cp -rf ${S}/${TESTDIR} ${D}${PTEST_PATH} + cp -rf ${B}/${TESTDIR} ${D}${PTEST_PATH} + + # do NOT need to rebuild Makefile itself + sed -i 's/^Makefile:.*$/Makefile:/' ${D}${PTEST_PATH}/${TESTDIR}/Makefile + # do NOT need to rebuild $(check_PROGRAMS) + sed -i 's/^check-TESTS:.*$/check-TESTS:/' ${D}${PTEST_PATH}/${TESTDIR}/Makefile + + # fix the srcdir, top_srcdir + sed -i 's,^\(srcdir = \).*,\1${PTEST_PATH}/tests,' ${D}${PTEST_PATH}/${TESTDIR}/Makefile + sed -i 's,^\(top_srcdir = \).*,\1${PTEST_PATH}/tests,' ${D}${PTEST_PATH}/${TESTDIR}/Makefile + # fix the abs_top_builddir + sed -i 's,^\(abs_top_builddir = \).*,\1${PTEST_PATH}/,' ${D}${PTEST_PATH}/${TESTDIR}/Makefile + + # valgrind is not compatible with arm and mips, + # so remove related test cases if there is no valgrind. + if [ x${VALGRIND} = x ]; then + sed -i '/udp-msgreduc-/d' ${D}${PTEST_PATH}/${TESTDIR}/Makefile + fi + + # install test-driver + install -m 644 ${S}/test-driver ${D}${PTEST_PATH} + + # install necessary links + install -d ${D}${PTEST_PATH}/tools + ln -sf ${sbindir}/rsyslogd ${D}${PTEST_PATH}/tools/rsyslogd + + install -d ${D}${PTEST_PATH}/runtime + install -d ${D}${PTEST_PATH}/runtime/.libs + ( + cd ${D}/${libdir}/rsyslog + allso="*.so" + for i in $allso; do + ln -sf ${libdir}/rsyslog/$i ${D}${PTEST_PATH}/runtime/.libs/$i + done + ) + + # fix the module load path with runtime/.libs + find ${D}${PTEST_PATH}/${TESTDIR} -name "*.conf" -o -name "*.sh" -o -name "*.c" | xargs \ + sed -i -e 's:../plugins/.*/.libs/:../runtime/.libs/:g' +} + +do_install_append() { + install -d "${D}${sysconfdir}/init.d" + install -d "${D}${sysconfdir}/logrotate.d" + install -m 755 ${WORKDIR}/initscript ${D}${sysconfdir}/init.d/syslog + install -m 644 ${WORKDIR}/rsyslog.conf ${D}${sysconfdir}/rsyslog.conf + install -m 644 ${WORKDIR}/rsyslog.logrotate ${D}${sysconfdir}/logrotate.d/logrotate.rsyslog + sed -i -e "s#@BINDIR@#${bindir}#g" ${D}${sysconfdir}/logrotate.d/logrotate.rsyslog + + if ${@bb.utils.contains('PACKAGECONFIG', 'imjournal', 'true', 'false', d)}; then + install -d 0755 ${D}${sysconfdir}/rsyslog.d + echo '$ModLoad imjournal' >> ${D}${sysconfdir}/rsyslog.d/imjournal.conf + fi + if ${@bb.utils.contains('PACKAGECONFIG', 'mmjsonparse', 'true', 'false', d)}; then + install -d 0755 ${D}${sysconfdir}/rsyslog.d + echo '$ModLoad mmjsonparse' >> ${D}${sysconfdir}/rsyslog.d/mmjsonparse.conf + fi +} + +FILES_${PN} += "${bindir}" + +INITSCRIPT_NAME = "syslog" +INITSCRIPT_PARAMS = "defaults" + +CONFFILES_${PN} = "${sysconfdir}/rsyslog.conf" + +RCONFLICTS_${PN} = "busybox-syslog sysklogd syslog-ng" + +RPROVIDES_${PN} += "${PN}-systemd" +RREPLACES_${PN} += "${PN}-systemd" +RCONFLICTS_${PN} += "${PN}-systemd" +SYSTEMD_SERVICE_${PN} = "${BPN}.service" + +RDEPENDS_${PN} += "logrotate" + +# for rsyslog-ptest +VALGRIND = "valgrind" + +# valgrind supports armv7 and above +VALGRIND_armv4 = '' +VALGRIND_armv5 = '' +VALGRIND_armv6 = '' + +# X32 isn't supported by valgrind at this time +VALGRIND_linux-gnux32 = '' +VALGRIND_linux-muslx32 = '' + +# Disable for some MIPS variants +VALGRIND_mipsarchr6 = '' +VALGRIND_linux-gnun32 = '' + +# Disable for powerpc64 with musl +VALGRIND_libc-musl_powerpc64 = '' + +# RISC-V support for valgrind is not there yet +VALGRIND_riscv64 = "" + +RDEPENDS_${PN}-ptest += "\ + make diffutils gzip bash gawk coreutils procps \ + libgcc python-core python-io \ + " +RRECOMMENDS_${PN}-ptest += "${TCLIBC}-dbg ${VALGRIND}" diff --git a/meta-openembedded/meta-oe/recipes-extended/sanlock/sanlock_3.8.0.bb b/meta-openembedded/meta-oe/recipes-extended/sanlock/sanlock_3.8.0.bb index bf7eaf4111..ffd46da0af 100644 --- a/meta-openembedded/meta-oe/recipes-extended/sanlock/sanlock_3.8.0.bb +++ b/meta-openembedded/meta-oe/recipes-extended/sanlock/sanlock_3.8.0.bb @@ -9,13 +9,16 @@ HOMEPAGE = "https://pagure.io/sanlock" SECTION = "utils" LICENSE = "LGPLv2+ & GPLv2 & GPLv2+" -LIC_FILES_CHKSUM = "file://README.license;md5=60487bf0bf429d6b5aa72b6d37a0eb22" +LIC_FILES_CHKSUM = "file://../README.license;md5=60487bf0bf429d6b5aa72b6d37a0eb22" + +PV .= "+git${SRCPV}" SRC_URI = "git://pagure.io/sanlock.git;protocol=http \ - file://0001-sanlock-Replace-cp-a-with-cp-R-no-dereference-preser.patch \ + file://0001-sanlock-Replace-cp-a-with-cp-R-no-dereference-preser.patch;patchdir=../ \ " -SRCREV = "7afe0e66f5c7f24894896fad20ffa6f39733d80f" -S = "${WORKDIR}/git" +SRCREV = "cff348800722f7dadf030ffe7494c2df714996e3" + +S = "${WORKDIR}/git/python" DEPENDS = "libaio util-linux" @@ -24,15 +27,13 @@ inherit distutils3 useradd do_configure[noexec] = "1" do_compile_prepend () { - oe_runmake -C wdmd CMD_LDFLAGS="${LDFLAGS}" LIB_LDFLAGS="${LDFLAGS}" - oe_runmake -C src CMD_LDFLAGS="${LDFLAGS}" LIB_ENTIRE_LDFLAGS="${LDFLAGS}" LIB_CLIENT_LDFLAGS="${LDFLAGS}" - cd ${S}/python + oe_runmake -C ${S}/../wdmd CMD_LDFLAGS="${LDFLAGS}" LIB_LDFLAGS="${LDFLAGS}" + oe_runmake -C ${S}/../src CMD_LDFLAGS="${LDFLAGS}" LIB_ENTIRE_LDFLAGS="${LDFLAGS}" LIB_CLIENT_LDFLAGS="${LDFLAGS}" } do_install_prepend () { - oe_runmake -C wdmd DESTDIR=${D} LIBDIR=${libdir} install - oe_runmake -C src DESTDIR=${D} LIBDIR=${libdir} install - cd ${S}/python + oe_runmake -C ${S}/../wdmd DESTDIR=${D} LIBDIR=${libdir} install + oe_runmake -C ${S}/../src DESTDIR=${D} LIBDIR=${libdir} install } SANLOCKGROUP ?= "sanlock" diff --git a/meta-openembedded/meta-oe/recipes-extended/sigrok/libsigrok_0.5.1.bb b/meta-openembedded/meta-oe/recipes-extended/sigrok/libsigrok_0.5.1.bb deleted file mode 100644 index 8152ca7ca3..0000000000 --- a/meta-openembedded/meta-oe/recipes-extended/sigrok/libsigrok_0.5.1.bb +++ /dev/null @@ -1,23 +0,0 @@ -DESCRIPTION = "libsigrok is a shared library written in C, which provides the basic hardware access drivers for logic analyzers and other supported devices, as well as input/output file format support." -HOMEPAGE = "http://sigrok.org/wiki/Main_Page" - -LICENSE = "GPLv3" -LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" - -DEPENDS = "glib-2.0 libzip" - -PACKAGECONFIG[serialport] = "--with-libserialport,--without-libserialport,libserialport" -PACKAGECONFIG[ftdi] = "--with-libftdi,--without-libftdi,libftdi" -PACKAGECONFIG[usb] = "--with-libusb,--without-libusb,libusb" -PACKAGECONFIG[cxx] = "--enable-cxx,--disable-cxx,glibmm doxygen-native" - -PACKAGECONFIG ??= "serialport ftdi usb" - -inherit autotools pkgconfig - -SRC_URI = "http://sigrok.org/download/source/libsigrok/libsigrok-${PV}.tar.gz" - -SRC_URI[md5sum] = "a3de9e52a660e51d27a6aca025d204a7" -SRC_URI[sha256sum] = "e40fde7af98d29e922e9d3cbe0a6c0569889153fc31e47b8b1afe4d846292b9c" - -FILES_${PN} += "${datadir}/*" diff --git a/meta-openembedded/meta-oe/recipes-extended/sigrok/libsigrok_0.5.2.bb b/meta-openembedded/meta-oe/recipes-extended/sigrok/libsigrok_0.5.2.bb new file mode 100644 index 0000000000..35e59d6d7d --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/sigrok/libsigrok_0.5.2.bb @@ -0,0 +1,25 @@ +DESCRIPTION = "libsigrok is a shared library written in C, which provides the basic hardware access drivers for logic analyzers and other supported devices, as well as input/output file format support." +HOMEPAGE = "http://sigrok.org/wiki/Main_Page" + +LICENSE = "GPLv3" +LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" + +DEPENDS = "glib-2.0 libzip" + +PACKAGECONFIG[serialport] = "--with-libserialport,--without-libserialport,libserialport" +PACKAGECONFIG[ftdi] = "--with-libftdi,--without-libftdi,libftdi" +PACKAGECONFIG[usb] = "--with-libusb,--without-libusb,libusb" +PACKAGECONFIG[cxx] = "--enable-cxx,--disable-cxx,glibmm doxygen-native" +PACKAGECONFIG[bluez5] = "--with-libbluez,--without-libbluez,bluez5" +PACKAGECONFIG[hidapi] = "--with-libhidapi,--without-libhidapi,hidapi" + +PACKAGECONFIG ??= "serialport ftdi usb" + +inherit autotools pkgconfig + +SRC_URI = "http://sigrok.org/download/source/libsigrok/libsigrok-${PV}.tar.gz" + +SRC_URI[md5sum] = "e258d471b6d5eaa58daf927a0dc3ba67" +SRC_URI[sha256sum] = "4d341f90b6220d3e8cb251dacf726c41165285612248f2c52d15df4590a1ce3c" + +FILES_${PN} += "${datadir}/*" diff --git a/meta-openembedded/meta-oe/recipes-extended/sigrok/libsigrokdecode_0.5.2.bb b/meta-openembedded/meta-oe/recipes-extended/sigrok/libsigrokdecode_0.5.2.bb deleted file mode 100644 index b8e1e4705d..0000000000 --- a/meta-openembedded/meta-oe/recipes-extended/sigrok/libsigrokdecode_0.5.2.bb +++ /dev/null @@ -1,14 +0,0 @@ -DESCRIPTION = "libsigrokdecode is a shared library written in C, which provides (streaming) protocol decoding functionality." -HOMEPAGE = "http://sigrok.org/wiki/Main_Page" - -LICENSE = "GPLv3" -LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" - -DEPENDS = "glib-2.0 python3" - -inherit autotools pkgconfig - -SRC_URI = "http://sigrok.org/download/source/libsigrokdecode/libsigrokdecode-${PV}.tar.gz" - -SRC_URI[md5sum] = "b9033bc7e68bc17fffffd4fdd793f5a1" -SRC_URI[sha256sum] = "e08d9e797c54eccf3144da631b6e5f1498ac531e51520428df537a1da82583f0" diff --git a/meta-openembedded/meta-oe/recipes-extended/sigrok/libsigrokdecode_0.5.3.bb b/meta-openembedded/meta-oe/recipes-extended/sigrok/libsigrokdecode_0.5.3.bb new file mode 100644 index 0000000000..f9c1d1a3a5 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/sigrok/libsigrokdecode_0.5.3.bb @@ -0,0 +1,14 @@ +DESCRIPTION = "libsigrokdecode is a shared library written in C, which provides (streaming) protocol decoding functionality." +HOMEPAGE = "http://sigrok.org/wiki/Main_Page" + +LICENSE = "GPLv3" +LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" + +DEPENDS = "glib-2.0 python3" + +inherit autotools pkgconfig + +SRC_URI = "http://sigrok.org/download/source/libsigrokdecode/libsigrokdecode-${PV}.tar.gz" + +SRC_URI[md5sum] = "7ba4ed4ef1f06ae96979751e096c2821" +SRC_URI[sha256sum] = "c50814aa6743cd8c4e88c84a0cdd8889d883c3be122289be90c63d7d67883fc0" diff --git a/meta-openembedded/meta-oe/recipes-extended/sigrok/sigrok-cli_0.7.0.bb b/meta-openembedded/meta-oe/recipes-extended/sigrok/sigrok-cli_0.7.0.bb deleted file mode 100644 index d31bcd282f..0000000000 --- a/meta-openembedded/meta-oe/recipes-extended/sigrok/sigrok-cli_0.7.0.bb +++ /dev/null @@ -1,18 +0,0 @@ -DESCRIPTION = "sigrok-cli is a command-line frontend for sigrok." -HOMEPAGE = "http://sigrok.org/wiki/Main_Page" - -LICENSE = "GPLv3" -LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" - -DEPENDS = "libsigrok" - -PACKAGECONFIG[decode] = "--with-libsigrokdecode,--without-libsigrokdecode,libsigrokdecode" - -PACKAGECONFIG ??= "decode" - -inherit autotools pkgconfig - -SRC_URI = "http://sigrok.org/download/source/sigrok-cli/sigrok-cli-${PV}.tar.gz" - -SRC_URI[md5sum] = "77cb745e2fa239c7bd1ea81e2d67ede9" -SRC_URI[sha256sum] = "5669d968c2de3dfc6adfda76e83789b6ba76368407c832438cef5e7099a65e1c" diff --git a/meta-openembedded/meta-oe/recipes-extended/sigrok/sigrok-cli_0.7.1.bb b/meta-openembedded/meta-oe/recipes-extended/sigrok/sigrok-cli_0.7.1.bb new file mode 100644 index 0000000000..2293f142b3 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/sigrok/sigrok-cli_0.7.1.bb @@ -0,0 +1,19 @@ +DESCRIPTION = "sigrok-cli is a command-line frontend for sigrok." +HOMEPAGE = "http://sigrok.org/wiki/Main_Page" + +LICENSE = "GPLv3" +LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" + +DEPENDS = "libsigrok" + +PACKAGECONFIG[decode] = "--with-libsigrokdecode,--without-libsigrokdecode,libsigrokdecode" + +PACKAGECONFIG ??= "decode" + +inherit autotools pkgconfig + +SRC_URI = "http://sigrok.org/download/source/sigrok-cli/sigrok-cli-${PV}.tar.gz" +SRC_URI[md5sum] = "3f45ce664bad529d8b3f78a61b017d75" +SRC_URI[sha256sum] = "f52413429f47d457c333db0fd068416ab7a3f9e35ca76de8624dc5ac6fb07797" + +FILES_${PN} += "${datadir}/icons/hicolor" diff --git a/meta-openembedded/meta-oe/recipes-extended/smartmontools/smartmontools_7.0.bb b/meta-openembedded/meta-oe/recipes-extended/smartmontools/smartmontools_7.0.bb deleted file mode 100644 index d984566547..0000000000 --- a/meta-openembedded/meta-oe/recipes-extended/smartmontools/smartmontools_7.0.bb +++ /dev/null @@ -1,52 +0,0 @@ -SUMMARY = "Control and monitor storage systems using S.M.A.R.T" -DESCRIPTION = "\ -The smartmontools package contains two utility programs (smartctl \ -and smartd) to control and monitor storage systems using the Self-\ -Monitoring, Analysis and Reporting Technology System (SMART) built \ -into most modern ATA and SCSI hard disks. In many cases, these \ -utilities will provide advanced warning of disk degradation and failure." - -HOMEPAGE = "http://smartmontools.sourceforge.net/" -SECTION = "console/utils" - -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" - -SRC_URI = "${SOURCEFORGE_MIRROR}/smartmontools/smartmontools-${PV}.tar.gz \ - file://initd.smartd \ - file://smartmontools.default \ - file://smartd.service \ - " - -PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'libcap-ng selinux', d)}" -PACKAGECONFIG[libcap-ng] = "--with-libcap-ng=yes,--with-libcap-ng=no,libcap-ng" -PACKAGECONFIG[selinux] = "--with-selinux=yes,--with-selinux=no,libselinux" - -SRC_URI[md5sum] = "b2a80e4789af23d67dfe1e88a997abbf" -SRC_URI[sha256sum] = "e5e1ac2786bc87fdbd6f92d0ee751b799fbb3e1a09c0a6a379f9eb64b3e8f61c" - -inherit autotools update-rc.d systemd - -SYSTEMD_SERVICE_${PN} = "smartd.service" -SYSTEMD_AUTO_ENABLE = "disable" - -do_install_append () { - #install the init.d/smartd - install -d ${D}${sysconfdir}/init.d - install -p -m 0755 ${WORKDIR}/initd.smartd ${D}${sysconfdir}/init.d/smartd - install -d ${D}${sysconfdir}/default - install -p -m 0644 ${WORKDIR}/smartmontools.default ${D}${sysconfdir}/default/smartmontools - - #install systemd service file - install -d ${D}${systemd_unitdir}/system - install -m 0644 ${WORKDIR}/smartd.service ${D}${systemd_unitdir}/system - sed -i -e 's,@BASE_BINDIR@,${base_bindir},g' \ - -e 's,@SYSCONFDIR@,${sysconfdir},g' \ - -e 's,@SBINDIR@,${sbindir},g' \ - ${D}${systemd_unitdir}/system/smartd.service -} - -INITSCRIPT_NAME = "smartd" -INITSCRIPT_PARAMS = "start 60 2 3 4 5 . stop 60 0 1 6 ." - -RDEPENDS_${PN} += "mailx" diff --git a/meta-openembedded/meta-oe/recipes-extended/smartmontools/smartmontools_7.1.bb b/meta-openembedded/meta-oe/recipes-extended/smartmontools/smartmontools_7.1.bb new file mode 100644 index 0000000000..b401272d24 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/smartmontools/smartmontools_7.1.bb @@ -0,0 +1,52 @@ +SUMMARY = "Control and monitor storage systems using S.M.A.R.T" +DESCRIPTION = "\ +The smartmontools package contains two utility programs (smartctl \ +and smartd) to control and monitor storage systems using the Self-\ +Monitoring, Analysis and Reporting Technology System (SMART) built \ +into most modern ATA and SCSI hard disks. In many cases, these \ +utilities will provide advanced warning of disk degradation and failure." + +HOMEPAGE = "http://smartmontools.sourceforge.net/" +SECTION = "console/utils" + +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +SRC_URI = "${SOURCEFORGE_MIRROR}/smartmontools/smartmontools-${PV}.tar.gz \ + file://initd.smartd \ + file://smartmontools.default \ + file://smartd.service \ + " + +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'libcap-ng selinux', d)}" +PACKAGECONFIG[libcap-ng] = "--with-libcap-ng=yes,--with-libcap-ng=no,libcap-ng" +PACKAGECONFIG[selinux] = "--with-selinux=yes,--with-selinux=no,libselinux" + +SRC_URI[md5sum] = "430cd5f64caa4524018b536e5ecd9c29" +SRC_URI[sha256sum] = "3f734d2c99deb1e4af62b25d944c6252de70ca64d766c4c7294545a2e659b846" + +inherit autotools update-rc.d systemd + +SYSTEMD_SERVICE_${PN} = "smartd.service" +SYSTEMD_AUTO_ENABLE = "disable" + +do_install_append () { + #install the init.d/smartd + install -d ${D}${sysconfdir}/init.d + install -p -m 0755 ${WORKDIR}/initd.smartd ${D}${sysconfdir}/init.d/smartd + install -d ${D}${sysconfdir}/default + install -p -m 0644 ${WORKDIR}/smartmontools.default ${D}${sysconfdir}/default/smartmontools + + #install systemd service file + install -d ${D}${systemd_unitdir}/system + install -m 0644 ${WORKDIR}/smartd.service ${D}${systemd_unitdir}/system + sed -i -e 's,@BASE_BINDIR@,${base_bindir},g' \ + -e 's,@SYSCONFDIR@,${sysconfdir},g' \ + -e 's,@SBINDIR@,${sbindir},g' \ + ${D}${systemd_unitdir}/system/smartd.service +} + +INITSCRIPT_NAME = "smartd" +INITSCRIPT_PARAMS = "start 60 2 3 4 5 . stop 60 0 1 6 ." + +RDEPENDS_${PN} += "mailx" diff --git a/meta-openembedded/meta-oe/recipes-extended/upm/upm/0001-cmake-Disable-Wno-misleading-indentation-with-clang-.patch b/meta-openembedded/meta-oe/recipes-extended/upm/upm/0001-cmake-Disable-Wno-misleading-indentation-with-clang-.patch new file mode 100644 index 0000000000..68b73bc2cc --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/upm/upm/0001-cmake-Disable-Wno-misleading-indentation-with-clang-.patch @@ -0,0 +1,33 @@ +From d41e2bef1c39dcbc4896b1dd7ab168da530672b5 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Mon, 30 Dec 2019 13:33:39 -0800 +Subject: [PATCH] cmake: Disable -Wno-misleading-indentation with clang-10 onwards + +clang also introduced this warning now + +Upstream-Status: Submitted [https://github.com/eclipse/upm/pull/693] + +Signed-off-by: Khem Raj +--- + CMakeLists.txt | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 069e4902..47c7f4c3 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -99,6 +99,11 @@ if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND CMAKE_CXX_COMPILER_VERSION VERSION_ + list (APPEND C_CXX_WARNING_FLAGS -Wno-misleading-indentation) + endif () + ++# clang-10 added -Wmisleading-indentation as well, skipp it too ++if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang" AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER "9") ++ list (APPEND C_CXX_WARNING_FLAGS -Wno-misleading-indentation) ++endif () ++ + # Warnings as errors? + if (WERROR) + list (APPEND C_CXX_WARNING_FLAGS -Werror) +-- +2.24.1 + diff --git a/meta-openembedded/meta-oe/recipes-extended/upm/upm/0001-initialize-local-variables-before-use.patch b/meta-openembedded/meta-oe/recipes-extended/upm/upm/0001-initialize-local-variables-before-use.patch new file mode 100644 index 0000000000..f9fae1641d --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/upm/upm/0001-initialize-local-variables-before-use.patch @@ -0,0 +1,57 @@ +From cce8be3966b602cf7e20d559e50fcf493b9b42cc Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Mon, 23 Dec 2019 18:13:21 -0800 +Subject: [PATCH] initialize local variables before use + +fixes +error: 'ctrl_reg2_data' may be used uninitialized in this function [-Werror=maybe-uninitialized] + +Upstream-Status: Submitted [https://github.com/eclipse/upm/pull/693] +Signed-off-by: Khem Raj +--- + src/kxtj3/kxtj3.c | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/src/kxtj3/kxtj3.c b/src/kxtj3/kxtj3.c +index a6f3c4f8..050ae585 100755 +--- a/src/kxtj3/kxtj3.c ++++ b/src/kxtj3/kxtj3.c +@@ -715,7 +715,7 @@ upm_result_t kxtj3_sensor_software_reset(const kxtj3_context dev) + if (kxtj3_set_bit_on(dev, KXTJ3_CTRL_REG2, KXTJ3_CTRL_REG2_SRST) != UPM_SUCCESS) + return UPM_ERROR_OPERATION_FAILED; + +- uint8_t ctrl_reg2_data; ++ uint8_t ctrl_reg2_data = 0; + kxtj3_read_register(dev, KXTJ3_CTRL_REG2, &ctrl_reg2_data); + + uint8_t srst_counter = 0; +@@ -824,7 +824,7 @@ upm_result_t kxtj3_enable_interrupt_pin(const kxtj3_context dev, KXTJ3_INTERRUPT + KXTJ3_INTERRUPT_RESPONSE_T response_type) + { + assert(dev != NULL); +- uint8_t int_reg_value; ++ uint8_t int_reg_value = 0; + kxtj3_read_register(dev, KXTJ3_INT_CTRL_REG1, &int_reg_value); + + if (polarity) +@@ -865,7 +865,7 @@ upm_result_t kxtj3_set_interrupt_response(const kxtj3_context dev, KXTJ3_INTERRU + bool kxtj3_get_interrupt_status(const kxtj3_context dev) + { + assert(dev != NULL); +- uint8_t status_reg_value; ++ uint8_t status_reg_value = 0; + kxtj3_read_register(dev, KXTJ3_STATUS_REG, &status_reg_value); + if (!(status_reg_value & KXTJ3_STATUS_REG_INT)) + return false; +@@ -955,7 +955,7 @@ kxtj3_wakeup_axes kxtj3_get_wakeup_axis_and_direction(kxtj3_context dev) + { + assert(dev != NULL); + +- uint8_t int_source2_value; ++ uint8_t int_source2_value = 0; + kxtj3_read_register(dev, KXTJ3_INT_SOURCE2, &int_source2_value); + + kxtj3_wakeup_axes wakeup_axis; +-- +2.24.1 + diff --git a/meta-openembedded/meta-oe/recipes-extended/upm/upm_git.bb b/meta-openembedded/meta-oe/recipes-extended/upm/upm_git.bb index dbe97370d5..6db8f88252 100644 --- a/meta-openembedded/meta-oe/recipes-extended/upm/upm_git.bb +++ b/meta-openembedded/meta-oe/recipes-extended/upm/upm_git.bb @@ -13,6 +13,8 @@ PV = "2.0.0+git${SRCPV}" SRC_URI = "git://github.com/intel-iot-devkit/${BPN}.git;protocol=http \ file://0001-CMakeLists.txt-Use-SWIG_SUPPORT_FILES-to-find-the-li.patch \ file://0001-Use-stdint-types.patch \ + file://0001-initialize-local-variables-before-use.patch \ + file://0001-cmake-Disable-Wno-misleading-indentation-with-clang-.patch \ " SRC_URI_append_toolchain-clang_x86 = " file://0001-nmea_gps-Link-with-latomic.patch " diff --git a/meta-openembedded/meta-oe/recipes-extended/volume_key/volume-key_0.3.12.bb b/meta-openembedded/meta-oe/recipes-extended/volume_key/volume-key_0.3.12.bb index 3103748e40..e036f714ba 100644 --- a/meta-openembedded/meta-oe/recipes-extended/volume_key/volume-key_0.3.12.bb +++ b/meta-openembedded/meta-oe/recipes-extended/volume_key/volume-key_0.3.12.bb @@ -28,9 +28,10 @@ DEPENDS += " \ " PACKAGECONFIG ??= "python3" -PACKAGECONFIG[python] = "--with-python,--without-python,python,python" PACKAGECONFIG[python3] = "--with-python3,--without-python3,python3,python3" +EXTRA_OECONF = "--without-python" + RDEPENDS_python3-${BPN} += "${PN}" PACKAGES += "python3-${BPN}" diff --git a/meta-openembedded/meta-oe/recipes-extended/zstd/zstd_1.4.4.bb b/meta-openembedded/meta-oe/recipes-extended/zstd/zstd_1.4.4.bb new file mode 100644 index 0000000000..eb201f4139 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/zstd/zstd_1.4.4.bb @@ -0,0 +1,35 @@ +SUMMARY = "Zstandard - Fast real-time compression algorithm" +DESCRIPTION = "Zstandard is a fast lossless compression algorithm, targeting \ +real-time compression scenarios at zlib-level and better compression ratios. \ +It's backed by a very fast entropy stage, provided by Huff0 and FSE library." +HOMEPAGE = "http://www.zstd.net/" +SECTION = "console/utils" + +LICENSE = "BSD-3-Clause & GPLv2" +LIC_FILES_CHKSUM = "file://LICENSE;md5=c7f0b161edbe52f5f345a3d1311d0b32 \ + file://COPYING;md5=39bba7d2cf0ba1036f2a6e2be52fe3f0" + +SRC_URI = "git://github.com/facebook/zstd.git;nobranch=1" + +SRCREV = "10f0e6993f9d2f682da6d04aa2385b7d53cbb4ee" +UPSTREAM_CHECK_GITTAGREGEX = "v(?P\d+(\.\d+)+)" + +S = "${WORKDIR}/git" + +PACKAGECONFIG ??= "" +PACKAGECONFIG[lz4] = "HAVE_LZ4=1,HAVE_LZ4=0,lz4" +PACKAGECONFIG[lzma] = "HAVE_LZMA=1,HAVE_LZMA=0,xz" +PACKAGECONFIG[zlib] = "HAVE_ZLIB=1,HAVE_ZLIB=0,zlib" + +# See programs/README.md for how to use this +ZSTD_LEGACY_SUPPORT ??= "4" + +do_compile () { + oe_runmake ${PACKAGECONFIG_CONFARGS} ZSTD_LEGACY_SUPPORT=${ZSTD_LEGACY_SUPPORT} +} + +do_install () { + oe_runmake install 'DESTDIR=${D}' +} + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb.inc b/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb.inc index 96aa31117f..65fd89e6fe 100644 --- a/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb.inc +++ b/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb.inc @@ -21,7 +21,8 @@ SRC_URI = "http://downloads.yoctoproject.org/mirror/sources/DirectFB-${PV}.tar.g file://use-PTHREAD_MUTEX_RECURSIVE.patch \ file://fix-client-gfx_state-initialisation.patch \ file://fix-tslib-version-check.patch \ - " + file://0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch \ + " S = "${WORKDIR}/DirectFB-${PV}" diff --git a/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb/0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch b/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb/0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch new file mode 100644 index 0000000000..2f766465e1 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb/0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch @@ -0,0 +1,139 @@ +From 0b66557f2e924023b12006b58d8e86149c745aed Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sat, 30 Nov 2019 20:34:33 -0800 +Subject: [PATCH] Fix build on 32bit arches with 64bit time_t + +time element is deprecated on new input_event structure in kernel's +input.h [1] + +[1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit?id=152194fe9c3f + +Upstream-Status: Pending +Signed-off-by: Khem Raj +--- + inputdrivers/linux_input/linux_input.c | 36 ++++++++++++++++++-------- + 1 file changed, 25 insertions(+), 11 deletions(-) + +diff --git a/inputdrivers/linux_input/linux_input.c b/inputdrivers/linux_input/linux_input.c +index 7e9a6ad..03deebc 100644 +--- a/inputdrivers/linux_input/linux_input.c ++++ b/inputdrivers/linux_input/linux_input.c +@@ -42,6 +42,11 @@ typedef unsigned long kernel_ulong_t; + + #include + ++#ifndef input_event_sec ++#define input_event_sec time.tv_sec ++#define input_event_usec time.tv_usec ++#endif ++ + #ifndef KEY_OK + /* Linux kernel 2.5.42+ defines additional keys in linux/input.h */ + #include "input_fake.h" +@@ -754,7 +759,8 @@ translate_event( const LinuxInputData *data, + DFBInputEvent *devt ) + { + devt->flags = DIEF_TIMESTAMP; +- devt->timestamp = levt->time; ++ devt->timestamp.tv_sec = levt->input_event_sec; ++ devt->timestamp.tv_usec = levt->input_event_usec; + + switch (levt->type) { + case EV_KEY: +@@ -2139,7 +2145,8 @@ touchpad_translate( struct touchpad_fsm_state *state, + int abs, rel; + + devt->flags = DIEF_TIMESTAMP | (dfb_config->linux_input_touch_abs ? DIEF_AXISABS : DIEF_AXISREL); +- devt->timestamp = levt->time; ++ devt->timestamp.tv_sec = levt->input_event_sec; ++ devt->timestamp.tv_usec = levt->input_event_usec; + devt->type = DIET_AXISMOTION; + + switch (levt->code) { +@@ -2204,7 +2211,7 @@ touchpad_fsm( struct touchpad_fsm_state *state, + DFBInputEvent *devt ) + { + struct timeval timeout = { 0, 125000 }; +- ++ struct timeval tval; + /* select() timeout? */ + if (!levt) { + /* Check if button release is due. */ +@@ -2223,6 +2230,8 @@ touchpad_fsm( struct touchpad_fsm_state *state, + return 0; + } + ++ tval.tv_sec = levt->input_event_sec; ++ tval.tv_usec = levt->input_event_usec; + /* More or less ignore these events for now */ + if ((levt->type == EV_SYN && levt->code == SYN_REPORT) || + (levt->type == EV_ABS && levt->code == ABS_PRESSURE) || +@@ -2233,7 +2242,7 @@ touchpad_fsm( struct touchpad_fsm_state *state, + + /* Check if button release is due. */ + if (state->fsm_state == TOUCHPAD_FSM_DRAG_START && +- timeout_passed( &state->timeout, &levt->time )) { ++ timeout_passed( &state->timeout, &tval )) { + devt->flags = DIEF_TIMESTAMP; + devt->timestamp = state->timeout; /* timeout of levt->time? */ + devt->type = DIET_BUTTONRELEASE; +@@ -2255,7 +2264,8 @@ touchpad_fsm( struct touchpad_fsm_state *state, + case TOUCHPAD_FSM_START: + if (touchpad_finger_landing( levt )) { + state->fsm_state = TOUCHPAD_FSM_MAIN; +- state->timeout = levt->time; ++ state->timeout.tv_sec = levt->input_event_sec; ++ state->timeout.tv_usec = levt->input_event_usec; + timeout_add( &state->timeout, &timeout ); + } + return 0; +@@ -2268,15 +2278,17 @@ touchpad_fsm( struct touchpad_fsm_state *state, + } + } + else if (touchpad_finger_leaving( levt )) { +- if (!timeout_passed( &state->timeout, &levt->time )) { ++ if (!timeout_passed( &state->timeout, &tval )) { + devt->flags = DIEF_TIMESTAMP; +- devt->timestamp = levt->time; ++ devt->timestamp.tv_sec = levt->input_event_sec; ++ devt->timestamp.tv_usec = levt->input_event_usec; + devt->type = DIET_BUTTONPRESS; + devt->button = DIBI_FIRST; + + touchpad_fsm_init( state ); + state->fsm_state = TOUCHPAD_FSM_DRAG_START; +- state->timeout = levt->time; ++ state->timeout.tv_sec = levt->input_event_sec; ++ state->timeout.tv_usec = levt->input_event_usec; + timeout_add( &state->timeout, &timeout ); + return 1; + } +@@ -2287,7 +2299,7 @@ touchpad_fsm( struct touchpad_fsm_state *state, + return 0; + + case TOUCHPAD_FSM_DRAG_START: +- if (timeout_passed( &state->timeout, &levt->time )){ ++ if (timeout_passed( &state->timeout, &tval )){ + devt->flags = DIEF_TIMESTAMP; + devt->timestamp = state->timeout; /* timeout of levt->time? */ + devt->type = DIET_BUTTONRELEASE; +@@ -2299,7 +2311,8 @@ touchpad_fsm( struct touchpad_fsm_state *state, + else { + if (touchpad_finger_landing( levt )) { + state->fsm_state = TOUCHPAD_FSM_DRAG_MAIN; +- state->timeout = levt->time; ++ state->timeout.tv_sec = levt->input_event_sec; ++ state->timeout.tv_usec = levt->input_event_usec; + timeout_add( &state->timeout, &timeout ); + } + } +@@ -2314,7 +2327,8 @@ touchpad_fsm( struct touchpad_fsm_state *state, + } + else if (touchpad_finger_leaving( levt )) { + devt->flags = DIEF_TIMESTAMP; +- devt->timestamp = levt->time; ++ devt->timestamp.tv_sec = levt->input_event_sec; ++ devt->timestamp.tv_usec = levt->input_event_usec; + devt->type = DIET_BUTTONRELEASE; + devt->button = DIBI_FIRST; + diff --git a/meta-openembedded/meta-oe/recipes-graphics/fvwm/fvwm/0001-Fix-compilation-for-disabled-gnome.patch b/meta-openembedded/meta-oe/recipes-graphics/fvwm/fvwm/0001-Fix-compilation-for-disabled-gnome.patch index e81d395b9c..50003e3318 100644 --- a/meta-openembedded/meta-oe/recipes-graphics/fvwm/fvwm/0001-Fix-compilation-for-disabled-gnome.patch +++ b/meta-openembedded/meta-oe/recipes-graphics/fvwm/fvwm/0001-Fix-compilation-for-disabled-gnome.patch @@ -10,10 +10,6 @@ COMPAT_OLD_KEYSYMDEF is a check for a legacy system, which our system most definitely is not. It is accomplished by trying to execute a program, which does not work when cross compiling. -The fvwm(1) man page is created from Docbook XML which is set for -a Windows code page that is not available when compiling. Easiest is -to just not create the man page as those are not needed on the monitor. - Upstream-Status: inappropriate [OE specific] Signed-off-by: Jarmo Jaakkola Signed-off-by: Riku Hämäläinen @@ -36,19 +32,6 @@ index 48ce264..fab7b44 100644 AH_VERBATIM([_COMPAT_OLD_KEYSYMDEF], [#ifdef COMPAT_OLD_KEYSYMDEF # define XK_Page_Up XK_Prior -diff --git a/doc/fvwm/Makefile.am b/doc/fvwm/Makefile.am -index cddb102..ff00149 100755 ---- a/doc/fvwm/Makefile.am -+++ b/doc/fvwm/Makefile.am -@@ -10,7 +10,7 @@ XSL_PROFILE = $(srcdir)/../docbook-xsl/profiling/profile.xsl - HTML_FILES = fvwm.man.html - XML_FILES = @DOC_SECTIONS_XML_PATH@ - EXTRA_DIST = @DOC_SECTIONS_XML@ $(man_MANS) sections --man_MANS = fvwm.1 -+man_MANS = - - if FVWM_BUILD_HTMLDOC - doc_DATA = $(HTML_FILES) -- 1.9.1 diff --git a/meta-openembedded/meta-oe/recipes-graphics/fvwm/fvwm_2.6.8.bb b/meta-openembedded/meta-oe/recipes-graphics/fvwm/fvwm_2.6.8.bb deleted file mode 100644 index b3cb01aaa7..0000000000 --- a/meta-openembedded/meta-oe/recipes-graphics/fvwm/fvwm_2.6.8.bb +++ /dev/null @@ -1,112 +0,0 @@ -SUMMARY = "F Virtual Window Manager " -HOMEPAGE = "http://www.fvwm.org/" -SECTION = "x11/wm" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=f8204787357db6ea518dcc9b6cf08388" - -DEPENDS = " \ - bison-native \ - flex-native \ - freetype-native \ - gettext-native \ - libxslt-native \ - fontconfig \ - libice \ - libpng \ - librsvg \ - libsm \ - libxau \ - libxcb \ - libxcursor \ - libxdmcp \ - libxext \ - libxfixes \ - libxft \ - libxinerama \ - libxml2 \ - libxrender \ - libxt \ - virtual/libx11 \ - xrandr \ - zlib \ -" - -PV = "2.6.8" - -SRC_URI = " \ - git://github.com/fvwmorg/fvwm.git;protocol=https \ - file://0001-Fix-compilation-for-disabled-gnome.patch \ -" - -SRCREV = "dc6a396bfe5cd6c53eb1df103c3af505d0899f90" - -S = "${WORKDIR}/git" - -inherit autotools gettext update-alternatives pkgconfig pythonnative perlnative features_check -# depends on virtual/libx11 -REQUIRED_DISTRO_FEATURES = "x11" - -ALTERNATIVE_${PN} = "x-window-manager" -ALTERNATIVE_TARGET[x-window-manager] = "${bindir}/fvwm" -ALTERNATIVE_PRIORITY[x-window-manager] = "20" - -EXTRA_OECONF = " \ - --disable-bidi \ - --disable-fontconfigtest \ - --disable-htmldoc \ - --disable-imlibtest \ - --disable-mandoc \ - --disable-nls \ - --disable-perllib \ - --disable-rsvg \ - --disable-shape \ - --disable-sm \ - --disable-xfttest \ - --with-imlib-exec-prefix=/nonexistent \ - --with-imlib-prefix=/nonexistent \ - --without-ncurses-library \ - --without-readline-library \ - --without-rplay-library \ - --without-stroke-library \ - --without-termcap-library \ - --without-xpm-library \ - ac_cv_func_mkstemp=no \ - has_safety_mkstemp=yes \ -" - -# show the exact commands in the log file -EXTRA_OEMAKE = " \ - V=1 \ -" - -do_install_append() { - install -d -m 0755 ${D}/${sysconfdir}/xdg/fvwm - # You can install the config file here - - install -d -m 0755 ${D}/${datadir}/fvwm - touch ${D}/${datadir}/fvwm/ConfigFvwmDefaults -} - -# the only needed packages (note: locale packages are automatically generated -# as well) -PACKAGES = " \ - ${PN} \ - ${PN}-dbg \ -" - -# minimal set of binaries -FILES_${PN} = " \ - ${bindir}/fvwm \ - ${bindir}/fvwm-root \ - ${datadir}/fvwm/ConfigFvwmDefaults \ -" - -RDEPENDS_${PN} = " \ - xuser-account \ -" - -# by default a lot of stuff is installed and it's not easy to control what to -# install, so install everything, but skip the check -INSANE_SKIP_${PN} = " \ - installed-vs-shipped \ -" diff --git a/meta-openembedded/meta-oe/recipes-graphics/fvwm/fvwm_2.6.9.bb b/meta-openembedded/meta-oe/recipes-graphics/fvwm/fvwm_2.6.9.bb new file mode 100644 index 0000000000..d1ba482039 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/fvwm/fvwm_2.6.9.bb @@ -0,0 +1,109 @@ +SUMMARY = "F Virtual Window Manager " +HOMEPAGE = "http://www.fvwm.org/" +SECTION = "x11/wm" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=f8204787357db6ea518dcc9b6cf08388" + +DEPENDS = " \ + bison-native \ + flex-native \ + freetype-native \ + gettext-native \ + libxslt-native \ + fontconfig \ + libice \ + libpng \ + librsvg \ + libsm \ + libxau \ + libxcb \ + libxcursor \ + libxdmcp \ + libxext \ + libxfixes \ + libxft \ + libxinerama \ + libxml2 \ + libxrender \ + libxt \ + virtual/libx11 \ + xrandr \ + zlib \ +" + +SRC_URI = " \ + git://github.com/fvwmorg/fvwm.git;protocol=https \ + file://0001-Fix-compilation-for-disabled-gnome.patch \ +" + +SRCREV = "88eab6dc16da6e5dd25fe97fbb56b96ef0d58657" + +S = "${WORKDIR}/git" + +inherit autotools gettext update-alternatives pkgconfig pythonnative perlnative features_check +# depends on virtual/libx11 +REQUIRED_DISTRO_FEATURES = "x11" + +ALTERNATIVE_${PN} = "x-window-manager" +ALTERNATIVE_TARGET[x-window-manager] = "${bindir}/fvwm" +ALTERNATIVE_PRIORITY[x-window-manager] = "20" + +EXTRA_OECONF = " \ + --disable-bidi \ + --disable-fontconfigtest \ + --disable-htmldoc \ + --disable-imlibtest \ + --disable-nls \ + --disable-perllib \ + --disable-rsvg \ + --disable-shape \ + --disable-sm \ + --disable-xfttest \ + --with-imlib-exec-prefix=/nonexistent \ + --with-imlib-prefix=/nonexistent \ + --without-ncurses-library \ + --without-readline-library \ + --without-rplay-library \ + --without-stroke-library \ + --without-termcap-library \ + --without-xpm-library \ + ac_cv_func_mkstemp=no \ + has_safety_mkstemp=yes \ +" + +# show the exact commands in the log file +EXTRA_OEMAKE = " \ + V=1 \ +" + +do_install_append() { + install -d -m 0755 ${D}/${sysconfdir}/xdg/fvwm + # You can install the config file here + + install -d -m 0755 ${D}/${datadir}/fvwm + touch ${D}/${datadir}/fvwm/ConfigFvwmDefaults +} + +# the only needed packages (note: locale packages are automatically generated +# as well) +PACKAGES = " \ + ${PN} \ + ${PN}-dbg \ +" + +# minimal set of binaries +FILES_${PN} = " \ + ${bindir}/fvwm \ + ${bindir}/fvwm-root \ + ${datadir}/fvwm/ConfigFvwmDefaults \ +" + +RDEPENDS_${PN} = " \ + xuser-account \ +" + +# by default a lot of stuff is installed and it's not easy to control what to +# install, so install everything, but skip the check +INSANE_SKIP_${PN} = " \ + installed-vs-shipped \ +" diff --git a/meta-openembedded/meta-oe/recipes-graphics/glm/glm/0001-Fix-Wimplicit-int-float-conversion-warnings-with-cla.patch b/meta-openembedded/meta-oe/recipes-graphics/glm/glm/0001-Fix-Wimplicit-int-float-conversion-warnings-with-cla.patch new file mode 100644 index 0000000000..2eb50a5a3a --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/glm/glm/0001-Fix-Wimplicit-int-float-conversion-warnings-with-cla.patch @@ -0,0 +1,158 @@ +From 461861cd2e34294830b121db834c05ff39424f6f Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Fri, 27 Dec 2019 18:42:51 -0800 +Subject: [PATCH] Fix Wimplicit-int-float-conversion warnings with clang 10+ + +This is a new warning in clang which will be available in clang 10 +onwards + +Fixes +error: implicit conversion from 'const int' to 'float' may lose precision [-Werror,-Wimplicit-int-float-conversion] + +Upstream-Status: Submitted [https://github.com/g-truc/glm/pull/986] +Signed-off-by: Khem Raj +--- + glm/gtx/scalar_multiplication.hpp | 2 +- + test/gtx/gtx_fast_trigonometry.cpp | 32 +++++++++++++++--------------- + 2 files changed, 17 insertions(+), 17 deletions(-) + +diff --git a/glm/gtx/scalar_multiplication.hpp b/glm/gtx/scalar_multiplication.hpp +index f391f8de..496ba193 100644 +--- a/glm/gtx/scalar_multiplication.hpp ++++ b/glm/gtx/scalar_multiplication.hpp +@@ -54,7 +54,7 @@ namespace glm + template \ + return_type_scalar_multiplication \ + operator/(Vec lh, T const& s){ \ +- return lh *= 1.0f / s; \ ++ return lh *= 1.0f / static_cast(s); \ + } + + GLM_IMPLEMENT_SCAL_MULT(vec2) +diff --git a/test/gtx/gtx_fast_trigonometry.cpp b/test/gtx/gtx_fast_trigonometry.cpp +index f3bf17bf..f3c4e957 100644 +--- a/test/gtx/gtx_fast_trigonometry.cpp ++++ b/test/gtx/gtx_fast_trigonometry.cpp +@@ -239,12 +239,12 @@ namespace taylorCos + std::vector Results; + Results.resize(Samples); + +- float Steps = (End - Begin) / Samples; ++ float Steps = (End - Begin) / float(Samples); + + std::clock_t const TimeStampBegin = std::clock(); + + for(std::size_t i = 0; i < Samples; ++i) +- Results[i] = fastCosNew(AngleShift + glm::vec4(Begin + Steps * i)); ++ Results[i] = fastCosNew(AngleShift + glm::vec4(Begin + Steps * float(i))); + + std::clock_t const TimeStampEnd = std::clock(); + +@@ -280,12 +280,12 @@ namespace taylorCos + std::vector Results; + Results.resize(Samples); + +- float Steps = (End - Begin) / Samples; ++ float Steps = (End - Begin) / float(Samples); + + std::clock_t const TimeStampBegin = std::clock(); + + for(std::size_t i = 0; i < Samples; ++i) +- Results[i] = taylorCos::fastCosDeterminisctic(AngleShift + glm::vec4(Begin + Steps * i)); ++ Results[i] = taylorCos::fastCosDeterminisctic(AngleShift + glm::vec4(Begin + Steps * float(i))); + + std::clock_t const TimeStampEnd = std::clock(); + +@@ -327,12 +327,12 @@ namespace taylorCos + std::vector Results; + Results.resize(Samples); + +- float Steps = (End - Begin) / Samples; ++ float Steps = (End - Begin) / float(Samples); + + std::clock_t const TimeStampBegin = std::clock(); + + for(std::size_t i = 0; i < Samples; ++i) +- Results[i] = taylorCos::fastRefCos(AngleShift + glm::vec4(Begin + Steps * i)); ++ Results[i] = taylorCos::fastRefCos(AngleShift + glm::vec4(Begin + Steps * float(i))); + + std::clock_t const TimeStampEnd = std::clock(); + +@@ -349,12 +349,12 @@ namespace taylorCos + std::vector Results; + Results.resize(Samples); + +- float Steps = (End - Begin) / Samples; ++ float Steps = (End - Begin) / float(Samples); + + std::clock_t const TimeStampBegin = std::clock(); + + for(std::size_t i = 0; i < Samples; ++i) +- Results[i] = glm::fastCos(AngleShift + glm::vec4(Begin + Steps * i)); ++ Results[i] = glm::fastCos(AngleShift + glm::vec4(Begin + Steps * float(i))); + + std::clock_t const TimeStampEnd = std::clock(); + +@@ -371,12 +371,12 @@ namespace taylorCos + std::vector Results; + Results.resize(Samples); + +- float Steps = (End - Begin) / Samples; ++ float Steps = (End - Begin) / float(Samples); + + std::clock_t const TimeStampBegin = std::clock(); + + for(std::size_t i = 0; i < Samples; ++i) +- Results[i] = glm::cos(AngleShift + glm::vec4(Begin + Steps * i)); ++ Results[i] = glm::cos(AngleShift + glm::vec4(Begin + Steps * float(i))); + + std::clock_t const TimeStampEnd = std::clock(); + +@@ -466,12 +466,12 @@ namespace taylor2 + std::vector Results; + Results.resize(Samples); + +- float Steps = (End - Begin) / Samples; ++ float Steps = (End - Begin) / float(Samples); + + std::clock_t const TimeStampBegin = std::clock(); + + for(std::size_t i = 0; i < Samples; ++i) +- Results[i] = taylorCosA(AngleShift.x + Begin + Steps * i); ++ Results[i] = taylorCosA(AngleShift.x + Begin + Steps * float(i)); + + std::clock_t const TimeStampEnd = std::clock(); + +@@ -488,12 +488,12 @@ namespace taylor2 + std::vector Results; + Results.resize(Samples); + +- float Steps = (End - Begin) / Samples; ++ float Steps = (End - Begin) / float(Samples); + + std::clock_t const TimeStampBegin = std::clock(); + + for(std::size_t i = 0; i < Samples; ++i) +- Results[i] = taylorCosB(AngleShift.x + Begin + Steps * i); ++ Results[i] = taylorCosB(AngleShift.x + Begin + Steps * float(i)); + + std::clock_t const TimeStampEnd = std::clock(); + +@@ -510,12 +510,12 @@ namespace taylor2 + std::vector Results; + Results.resize(Samples); + +- float Steps = (End - Begin) / Samples; ++ float Steps = (End - Begin) / float(Samples); + + std::clock_t const TimeStampBegin = std::clock(); + + for(std::size_t i = 0; i < Samples; ++i) +- Results[i] = taylorCosC(AngleShift.x + Begin + Steps * i); ++ Results[i] = taylorCosC(AngleShift.x + Begin + Steps * float(i)); + + std::clock_t const TimeStampEnd = std::clock(); + +-- +2.24.1 + diff --git a/meta-openembedded/meta-oe/recipes-graphics/glm/glm/glm.pc.in b/meta-openembedded/meta-oe/recipes-graphics/glm/glm/glm.pc.in new file mode 100644 index 0000000000..54052e287d --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/glm/glm/glm.pc.in @@ -0,0 +1,7 @@ +prefix=/usr +includedir=${prefix}/include + +Name: GLM +Description: OpenGL Mathematics +Version: @VERSION@ +Cflags: -I${includedir} diff --git a/meta-openembedded/meta-oe/recipes-graphics/glm/glm/glmConfig.cmake.in b/meta-openembedded/meta-oe/recipes-graphics/glm/glm/glmConfig.cmake.in new file mode 100644 index 0000000000..8ab23a18d7 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/glm/glm/glmConfig.cmake.in @@ -0,0 +1,20 @@ +set(GLM_VERSION "@VERSION@") + + +####### Expanded from @PACKAGE_INIT@ by configure_package_config_file() ####### +get_filename_component(PACKAGE_PREFIX_DIR "${CMAKE_CURRENT_LIST_DIR}/../../../" ABSOLUTE) + +macro(set_and_check _var _file) + set(${_var} "${_file}") + if(NOT EXISTS "${_file}") + message(FATAL_ERROR "File or directory ${_file} referenced by variable ${_var} does not exist !") + endif() +endmacro() + +#################################################################################### + +set_and_check(GLM_INCLUDE_DIRS "${PACKAGE_PREFIX_DIR}/include") + +if (NOT CMAKE_VERSION VERSION_LESS "3.0") + include("${CMAKE_CURRENT_LIST_DIR}/glmTargets.cmake") +endif() diff --git a/meta-openembedded/meta-oe/recipes-graphics/glm/glm/glmConfigVersion.cmake.in b/meta-openembedded/meta-oe/recipes-graphics/glm/glm/glmConfigVersion.cmake.in new file mode 100644 index 0000000000..561a0db61f --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/glm/glm/glmConfigVersion.cmake.in @@ -0,0 +1,31 @@ +# This is a basic version file for the Config-mode of find_package(). +# It is used by write_basic_package_version_file() as input file for configure_file() +# to create a version-file which can be installed along a config.cmake file. +# +# The created file sets PACKAGE_VERSION_EXACT if the current version string and +# the requested version string are exactly the same and it sets +# PACKAGE_VERSION_COMPATIBLE if the current version is >= requested version. +# The variable CVF_VERSION must be set before calling configure_file(). + +set(PACKAGE_VERSION "@VERSION@") + +if(PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION) + set(PACKAGE_VERSION_COMPATIBLE FALSE) +else() + set(PACKAGE_VERSION_COMPATIBLE TRUE) + if(PACKAGE_FIND_VERSION STREQUAL PACKAGE_VERSION) + set(PACKAGE_VERSION_EXACT TRUE) + endif() +endif() + +# if the installed or the using project don't have CMAKE_SIZEOF_VOID_P set, ignore it: +if("${CMAKE_SIZEOF_VOID_P}" STREQUAL "" OR "8" STREQUAL "") + return() +endif() + +# check that the installed version has the same 32/64bit-ness as the one which is currently searching: +if(NOT CMAKE_SIZEOF_VOID_P STREQUAL "8") + math(EXPR installedBits "8 * 8") + set(PACKAGE_VERSION "${PACKAGE_VERSION} (${installedBits}bit)") + set(PACKAGE_VERSION_UNSUITABLE FALSE) +endif() diff --git a/meta-openembedded/meta-oe/recipes-graphics/glm/glm/glmTargets.cmake b/meta-openembedded/meta-oe/recipes-graphics/glm/glm/glmTargets.cmake new file mode 100644 index 0000000000..905b67731b --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/glm/glm/glmTargets.cmake @@ -0,0 +1,107 @@ +# Generated by CMake + +if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.5) + message(FATAL_ERROR "CMake >= 2.6.0 required") +endif() +cmake_policy(PUSH) +cmake_policy(VERSION 2.6) +#---------------------------------------------------------------- +# Generated CMake target import file. +#---------------------------------------------------------------- + +# Commands may need to know the format version. +set(CMAKE_IMPORT_FILE_VERSION 1) + +# Protect against multiple inclusion, which would fail when already imported targets are added once more. +set(_targetsDefined) +set(_targetsNotDefined) +set(_expectedTargets) +foreach(_expectedTarget glm) + list(APPEND _expectedTargets ${_expectedTarget}) + if(NOT TARGET ${_expectedTarget}) + list(APPEND _targetsNotDefined ${_expectedTarget}) + endif() + if(TARGET ${_expectedTarget}) + list(APPEND _targetsDefined ${_expectedTarget}) + endif() +endforeach() +if("${_targetsDefined}" STREQUAL "${_expectedTargets}") + unset(_targetsDefined) + unset(_targetsNotDefined) + unset(_expectedTargets) + set(CMAKE_IMPORT_FILE_VERSION) + cmake_policy(POP) + return() +endif() +if(NOT "${_targetsDefined}" STREQUAL "") + message(FATAL_ERROR "Some (but not all) targets in this export set were already defined.\nTargets Defined: ${_targetsDefined}\nTargets not yet defined: ${_targetsNotDefined}\n") +endif() +unset(_targetsDefined) +unset(_targetsNotDefined) +unset(_expectedTargets) + + +# Compute the installation prefix relative to this file. +get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH) +# Use original install prefix when loaded through a +# cross-prefix symbolic link such as /lib -> /usr/lib. +get_filename_component(_realCurr "${_IMPORT_PREFIX}" REALPATH) +get_filename_component(_realOrig "/usr/lib/cmake/glm" REALPATH) +if(_realCurr STREQUAL _realOrig) + set(_IMPORT_PREFIX "/usr/lib/cmake/glm") +endif() +unset(_realOrig) +unset(_realCurr) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +if(_IMPORT_PREFIX STREQUAL "/") + set(_IMPORT_PREFIX "") +endif() + +# Create imported target glm +add_library(glm INTERFACE IMPORTED) + +set_target_properties(glm PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include" +) + +if(CMAKE_VERSION VERSION_LESS 3.0.0) + message(FATAL_ERROR "This file relies on consumers using CMake 3.0.0 or greater.") +endif() + +# Load information for each installed configuration. +get_filename_component(_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH) +file(GLOB CONFIG_FILES "${_DIR}/glmTargets-*.cmake") +foreach(f ${CONFIG_FILES}) + include(${f}) +endforeach() + +# Cleanup temporary variables. +set(_IMPORT_PREFIX) + +# Loop over all imported files and verify that they actually exist +foreach(target ${_IMPORT_CHECK_TARGETS} ) + foreach(file ${_IMPORT_CHECK_FILES_FOR_${target}} ) + if(NOT EXISTS "${file}" ) + message(FATAL_ERROR "The imported target \"${target}\" references the file + \"${file}\" +but this file does not exist. Possible reasons include: +* The file was deleted, renamed, or moved to another location. +* An install or uninstall procedure did not complete successfully. +* The installation package was faulty and contained + \"${CMAKE_CURRENT_LIST_FILE}\" +but not all the files it references. +") + endif() + endforeach() + unset(_IMPORT_CHECK_FILES_FOR_${target}) +endforeach() +unset(_IMPORT_CHECK_TARGETS) + +# This file does not depend on other imported targets which have +# been exported from the same project but in a separate export set. + +# Commands beyond this point should not need to know the version. +set(CMAKE_IMPORT_FILE_VERSION) +cmake_policy(POP) diff --git a/meta-openembedded/meta-oe/recipes-graphics/glm/glm_0.9.9.5.bb b/meta-openembedded/meta-oe/recipes-graphics/glm/glm_0.9.9.5.bb deleted file mode 100644 index f367e4eae0..0000000000 --- a/meta-openembedded/meta-oe/recipes-graphics/glm/glm_0.9.9.5.bb +++ /dev/null @@ -1,23 +0,0 @@ -SUMMARY = "OpenGL Mathematics Library" -DESCRIPTION = "OpenGL Mathematics (GLM) is a header only C++ \ -mathematics library for graphics software based on the OpenGL \ -Shading Language (GLSL) specifications." -HOMEPAGE = "https://glm.g-truc.net" -BUGTRACKER = "https://github.com/g-truc/glm/issues" -SECTION = "libs" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://readme.md;beginline=21;endline=22;md5=3075b5727d36f29edccf97b93e72b790" - -SRC_URI = " \ - git://github.com/g-truc/glm;branch=master \ -" -# v0.9.9.5 -SRCREV = "d162eee1e6f7c317a09229fe6ceab8ec6ab9a4b4" - -S = "${WORKDIR}/git" - -inherit cmake - -RDEPENDS_${PN}-dev = "" - -BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-oe/recipes-graphics/glm/glm_0.9.9.6.bb b/meta-openembedded/meta-oe/recipes-graphics/glm/glm_0.9.9.6.bb new file mode 100644 index 0000000000..e2f4dbebc5 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/glm/glm_0.9.9.6.bb @@ -0,0 +1,39 @@ +SUMMARY = "OpenGL Mathematics Library" +DESCRIPTION = "OpenGL Mathematics (GLM) is a header only C++ \ +mathematics library for graphics software based on the OpenGL \ +Shading Language (GLSL) specifications." +HOMEPAGE = "https://glm.g-truc.net" +BUGTRACKER = "https://github.com/g-truc/glm/issues" +SECTION = "libs" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://copying.txt;md5=4a735e33f271f57404fda17e80085411" + +SRC_URI = " \ + git://github.com/g-truc/glm;branch=master \ + file://0001-Fix-Wimplicit-int-float-conversion-warnings-with-cla.patch \ + file://glmConfig.cmake.in \ + file://glmConfigVersion.cmake.in \ + file://glm.pc.in \ + file://glmTargets.cmake \ +" +SRCREV = "4db8f89aace8f04c839b606e15b39fb8383ec732" + +S = "${WORKDIR}/git" + +inherit cmake + +do_install() { + install -d ${D}${includedir} ${D}${docdir}/glm ${D}${libdir}/pkgconfig ${D}${libdir}/cmake/glm + cp -R --no-dereference --preserve=mode,links ${S}/glm ${D}${includedir} + cp -R --no-dereference --preserve=mode,links ${S}/doc ${D}${docdir}/glm + rm ${D}${includedir}/glm/CMakeLists.txt + sed "s/@VERSION@/${PV}/" ${WORKDIR}/glmConfigVersion.cmake.in > ${D}${libdir}/cmake/glm/glmConfigVersion.cmake + sed "s/@VERSION@/${PV}/" ${WORKDIR}/glmConfig.cmake.in > ${D}${libdir}/cmake/glm/glmConfig.cmake + sed "s/@VERSION@/${PV}/" ${WORKDIR}/glm.pc.in > ${D}${libdir}/pkgconfig/glm.pc + install -Dm644 ${WORKDIR}/glmTargets.cmake ${D}${libdir}/cmake/glm/glmTargets.cmake + +} + +RDEPENDS_${PN}-dev = "" + +BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-oe/recipes-graphics/gphoto2/gphoto2_2.5.14.bb b/meta-openembedded/meta-oe/recipes-graphics/gphoto2/gphoto2_2.5.14.bb deleted file mode 100644 index 75ad7f4f0f..0000000000 --- a/meta-openembedded/meta-oe/recipes-graphics/gphoto2/gphoto2_2.5.14.bb +++ /dev/null @@ -1,22 +0,0 @@ -SUMMARY = "gphoto2 - a command-line frontend to libgphoto2" -HOMEPAGE = "http://www.gphoto.com/" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552" - -DEPENDS = "libgphoto2 popt readline" -RDEPENDS_gphoto2 = "libgphoto2" - -SRC_URI = "${SOURCEFORGE_MIRROR}/gphoto/gphoto2-${PV}.tar.bz2;name=gphoto2 \ - file://0001-configure.ac-remove-AM_PO_SUBDIRS.patch \ - file://0002-Look-for-popt-with-GP_CHECK_LIBRARY-function.patch \ -" - -SRC_URI[gphoto2.md5sum] = "6c6a21b5e879330cdd71ef92dce36399" -SRC_URI[gphoto2.sha256sum] = "9302d02fb472d4936988382b7277ccdc4edaf7ede56c490278912ffd0627699c" - -inherit autotools pkgconfig gettext - -EXTRA_OECONF += "--with-jpeg-prefix=${STAGING_INCDIR} \ - --without-cdk \ -" - diff --git a/meta-openembedded/meta-oe/recipes-graphics/gphoto2/gphoto2_2.5.23.bb b/meta-openembedded/meta-oe/recipes-graphics/gphoto2/gphoto2_2.5.23.bb new file mode 100644 index 0000000000..ef3100f665 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/gphoto2/gphoto2_2.5.23.bb @@ -0,0 +1,22 @@ +SUMMARY = "gphoto2 - a command-line frontend to libgphoto2" +HOMEPAGE = "http://www.gphoto.com/" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552" + +DEPENDS = "libgphoto2 popt readline" +RDEPENDS_gphoto2 = "libgphoto2" + +SRC_URI = "${SOURCEFORGE_MIRROR}/gphoto/gphoto2-${PV}.tar.bz2;name=gphoto2 \ + file://0001-configure.ac-remove-AM_PO_SUBDIRS.patch \ + file://0002-Look-for-popt-with-GP_CHECK_LIBRARY-function.patch \ +" + +SRC_URI[gphoto2.md5sum] = "0abd5ae8315109ae66bf06ac37902678" +SRC_URI[gphoto2.sha256sum] = "df87092100e7766c9d0a4323217c91908a9c891c0d3670ebf40b76903be458d1" + +inherit autotools pkgconfig gettext + +EXTRA_OECONF += "--with-jpeg-prefix=${STAGING_INCDIR} \ + --without-cdk \ +" + diff --git a/meta-openembedded/meta-oe/recipes-graphics/gphoto2/libgphoto2_2.5.17.bb b/meta-openembedded/meta-oe/recipes-graphics/gphoto2/libgphoto2_2.5.17.bb deleted file mode 100644 index 623037bc3e..0000000000 --- a/meta-openembedded/meta-oe/recipes-graphics/gphoto2/libgphoto2_2.5.17.bb +++ /dev/null @@ -1,49 +0,0 @@ -SUMMARY = "libgphoto2 allows you to access digital cameras" -SECTION = "libs" -LICENSE = "LGPLv2.1" -LIC_FILES_CHKSUM = "file://COPYING;md5=0448d3676bc0de00406af227d341a4d1" - -DEPENDS = "libtool jpeg virtual/libusb0 libexif zlib libxml2" - -# The .fdi and .rules files were generated with: -# libgphoto2-2.5.8/packaging/generic$ qemu-arm -s 1048576 -r 2.6.24 -L /OE/angstrom-dev/staging/armv5te-angstrom-linux-gnueabi/ .libs/print-camera-list -# They are release specific, so please regen when adding new releases - -SRC_URI = "${SOURCEFORGE_MIRROR}/gphoto/libgphoto2-${PV}.tar.bz2;name=libgphoto2 \ - file://40-libgphoto2.rules \ - file://0001-configure.ac-remove-AM_PO_SUBDIRS.patch \ -" - -SRC_URI[libgphoto2.md5sum] = "ae78e7a7936a6962c3a22b256bee1869" -SRC_URI[libgphoto2.sha256sum] = "417464f0a313fa937e8a71cdf18a371cf01e750830195cd63ae31da0d092b555" - -inherit autotools pkgconfig gettext lib_package - -EXTRA_OECONF = " --with-drivers=all udevscriptdir=${nonarch_base_libdir}/udev ac_cv_lib_ltdl_lt_dlcaller_register=yes" - -PACKAGECONFIG ??= "" -PACKAGECONFIG[gd] = ",--without-gdlib,gd" -PACKAGECONFIG[serial] = "--enable-serial,--disable-serial,lockdev" - -do_configure_append() { - cp ${STAGING_DATADIR_NATIVE}/gettext/po/Makefile.in.in ${S}/libgphoto2_port/po/ - cd ${S}/libgphoto2_port/ - autoreconf -Wcross --verbose --install --force ${EXTRA_AUTORECONF} $acpaths - cd ${S} -} - -do_install_append() { - install -d ${D}${sysconfdir}/udev/rules.d/ - install -m 0755 ${WORKDIR}/*.rules ${D}${sysconfdir}/udev/rules.d/ -} - -PACKAGES =+ "libgphotoport libgphoto2-camlibs" -FILES_libgphoto2-camlibs = "${libdir}/libgphoto2*/*/*.so*" -RRECOMMENDS_${PN} = "libgphoto2-camlibs" - -FILES_libgphotoport = "${libdir}/libgphoto2_port.so.*" - -FILES_${PN} += "${nonarch_base_libdir}/udev/*" -FILES_${PN}-dbg += "${libdir}/*/*/.debug" -FILES_${PN}-dev += "${libdir}/*/*/*.la" -FILES_${PN}-doc += "${datadir}/libgphoto2_port/0.12.0/vcamera/README.txt" diff --git a/meta-openembedded/meta-oe/recipes-graphics/gphoto2/libgphoto2_2.5.23.bb b/meta-openembedded/meta-oe/recipes-graphics/gphoto2/libgphoto2_2.5.23.bb new file mode 100644 index 0000000000..a3bdf9cea4 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/gphoto2/libgphoto2_2.5.23.bb @@ -0,0 +1,49 @@ +SUMMARY = "libgphoto2 allows you to access digital cameras" +SECTION = "libs" +LICENSE = "LGPLv2.1" +LIC_FILES_CHKSUM = "file://COPYING;md5=0448d3676bc0de00406af227d341a4d1" + +DEPENDS = "libtool jpeg virtual/libusb0 libexif zlib libxml2" + +# The .fdi and .rules files were generated with: +# libgphoto2-2.5.8/packaging/generic$ qemu-arm -s 1048576 -r 2.6.24 -L /OE/angstrom-dev/staging/armv5te-angstrom-linux-gnueabi/ .libs/print-camera-list +# They are release specific, so please regen when adding new releases + +SRC_URI = "${SOURCEFORGE_MIRROR}/gphoto/libgphoto2-${PV}.tar.bz2;name=libgphoto2 \ + file://40-libgphoto2.rules \ + file://0001-configure.ac-remove-AM_PO_SUBDIRS.patch \ +" + +SRC_URI[libgphoto2.md5sum] = "bf052ce815e607dc781c5b0f3c5ca5c0" +SRC_URI[libgphoto2.sha256sum] = "d8af23364aa40fd8607f7e073df74e7ace05582f4ba13f1724d12d3c97e8852d" + +inherit autotools pkgconfig gettext lib_package + +EXTRA_OECONF = " --with-drivers=all udevscriptdir=${nonarch_base_libdir}/udev ac_cv_lib_ltdl_lt_dlcaller_register=yes" + +PACKAGECONFIG ??= "" +PACKAGECONFIG[gd] = ",--without-gdlib,gd" +PACKAGECONFIG[serial] = "--enable-serial,--disable-serial,lockdev" + +do_configure_append() { + cp ${STAGING_DATADIR_NATIVE}/gettext/po/Makefile.in.in ${S}/libgphoto2_port/po/ + cd ${S}/libgphoto2_port/ + autoreconf -Wcross --verbose --install --force ${EXTRA_AUTORECONF} $acpaths + cd ${S} +} + +do_install_append() { + install -d ${D}${sysconfdir}/udev/rules.d/ + install -m 0755 ${WORKDIR}/*.rules ${D}${sysconfdir}/udev/rules.d/ +} + +PACKAGES =+ "libgphotoport libgphoto2-camlibs" +FILES_libgphoto2-camlibs = "${libdir}/libgphoto2*/*/*.so*" +RRECOMMENDS_${PN} = "libgphoto2-camlibs" + +FILES_libgphotoport = "${libdir}/libgphoto2_port.so.*" + +FILES_${PN} += "${nonarch_base_libdir}/udev/*" +FILES_${PN}-dbg += "${libdir}/*/*/.debug" +FILES_${PN}-dev += "${libdir}/*/*/*.la" +FILES_${PN}-doc += "${datadir}/libgphoto2_port/0.12.0/vcamera/README.txt" diff --git a/meta-openembedded/meta-oe/recipes-graphics/gtkperf/gtkperf/gettext.patch b/meta-openembedded/meta-oe/recipes-graphics/gtkperf/gtkperf/gettext.patch new file mode 100644 index 0000000000..4a727d3c06 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/gtkperf/gtkperf/gettext.patch @@ -0,0 +1,36 @@ +Fix build with gettext 0.20.x + +Upstream-Status: Pending +Signed-off-by: Khem Raj + +--- a/Makefile.am ++++ b/Makefile.am +@@ -3,7 +3,7 @@ + ## If you don't want it to overwrite it, + ## Please disable it in the Anjuta project configuration + +-SUBDIRS = intl po src pixmaps ++SUBDIRS = po src pixmaps + + gtkperfdocdir = ${prefix}/doc/gtkperf + gtkperfdoc_DATA = \ +--- a/configure.in ++++ b/configure.in +@@ -31,8 +31,7 @@ AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GE + + dnl Languages which your application supports + ALL_LINGUAS="" +-AM_GNU_GETTEXT +-AM_GNU_GETTEXT_VERSION(0.10.40) ++AM_GNU_GETTEXT([external]) + + dnl Set PACKAGE_LOCALE_DIR in config.h. + if test "x${prefix}" = "xNONE"; then +@@ -100,7 +99,6 @@ AC_DEFINE_UNQUOTED(PACKAGE_SOURCE_DIR, " + + AC_OUTPUT([ + Makefile +-intl/Makefile + po/Makefile.in + src/Makefile + pixmaps/Makefile diff --git a/meta-openembedded/meta-oe/recipes-graphics/gtkperf/gtkperf_0.40.bb b/meta-openembedded/meta-oe/recipes-graphics/gtkperf/gtkperf_0.40.bb index 6fe258271d..b4d94ff6a2 100644 --- a/meta-openembedded/meta-oe/recipes-graphics/gtkperf/gtkperf_0.40.bb +++ b/meta-openembedded/meta-oe/recipes-graphics/gtkperf/gtkperf_0.40.bb @@ -7,6 +7,7 @@ SRC_URI = "http://prdownloads.sourceforge.net/${BPN}/${BPN}_${PV}.tar.gz \ file://Makevars \ file://0001-Include-stdlib.h-for-exit-API.patch \ file://0002-timing.c-Fix-format-security-errors.patch \ + file://gettext.patch \ " SRC_URI[md5sum] = "4331dde4bb83865e15482885fcb0cc53" diff --git a/meta-openembedded/meta-oe/recipes-graphics/gtkwave/gtkwave_3.3.102.bb b/meta-openembedded/meta-oe/recipes-graphics/gtkwave/gtkwave_3.3.102.bb deleted file mode 100644 index cd3b6629e4..0000000000 --- a/meta-openembedded/meta-oe/recipes-graphics/gtkwave/gtkwave_3.3.102.bb +++ /dev/null @@ -1,23 +0,0 @@ -SUMMARY = "VCD (Value Change Dump) file waveform viewer" -DESCRIPTION = "gtkwave is a viewer for VCD (Value Change Dump) files which are usually created by digital circuit simulators. (These files have no connection to video CDs!) " -HOMEPAGE = "http://gtkwave.sourceforge.net/" - -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=75859989545e37968a99b631ef42722e" - -SRC_URI = "http://gtkwave.sourceforge.net/${BP}.tar.gz" - -SRC_URI[md5sum] = "13da7d4235d4031fde52971830458850" -SRC_URI[sha256sum] = "80bb7cb92db45872209f4ca48fc95a0460e0d89b0fe0c310c836d9b04c77fec7" - -inherit pkgconfig autotools gettext texinfo -DEPENDS = "tcl tk gperf-native bzip2 xz pango zlib gtk+ gdk-pixbuf glib-2.0" -RDEPENDS_${PN} = "tk-lib" - -# depends on gtk+ which has this restriction -inherit features_check -ANY_OF_DISTRO_FEATURES = "${GTK2DISTROFEATURES}" - -EXTRA_OECONF = "--with-tcl=${STAGING_BINDIR_CROSS} --with-tk=${STAGING_BINDIR_CROSS} --with-tirpc" - -FILES_${PN} = "${bindir} ${datadir}" diff --git a/meta-openembedded/meta-oe/recipes-graphics/gtkwave/gtkwave_3.3.103.bb b/meta-openembedded/meta-oe/recipes-graphics/gtkwave/gtkwave_3.3.103.bb new file mode 100644 index 0000000000..286d9aa6a1 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/gtkwave/gtkwave_3.3.103.bb @@ -0,0 +1,23 @@ +SUMMARY = "VCD (Value Change Dump) file waveform viewer" +DESCRIPTION = "gtkwave is a viewer for VCD (Value Change Dump) files which are usually created by digital circuit simulators. (These files have no connection to video CDs!) " +HOMEPAGE = "http://gtkwave.sourceforge.net/" + +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=75859989545e37968a99b631ef42722e" + +SRC_URI = "http://gtkwave.sourceforge.net/${BP}.tar.gz" + +SRC_URI[md5sum] = "5a9a5913f9a02a333b2b23626f153fd7" +SRC_URI[sha256sum] = "c325abf7cf26c53309a67c0ecaaf196774fa982a717a102c599ac8a516eeeaf7" + +inherit pkgconfig autotools gettext texinfo +DEPENDS = "tcl tk gperf-native bzip2 xz pango zlib gtk+ gdk-pixbuf glib-2.0" +RDEPENDS_${PN} = "tk-lib" + +# depends on gtk+ which has this restriction +inherit features_check +ANY_OF_DISTRO_FEATURES = "${GTK2DISTROFEATURES}" + +EXTRA_OECONF = "--with-tcl=${STAGING_BINDIR_CROSS} --with-tk=${STAGING_BINDIR_CROSS} --with-tirpc" + +FILES_${PN} = "${bindir} ${datadir}" diff --git a/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl2-image_2.0.3.bb b/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl2-image_2.0.3.bb deleted file mode 100644 index 6deb352e65..0000000000 --- a/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl2-image_2.0.3.bb +++ /dev/null @@ -1,31 +0,0 @@ -SUMMARY = "Simple DirectMedia Layer image library v2" -SECTION = "libs" - -LICENSE = "Zlib" -LIC_FILES_CHKSUM = "file://COPYING.txt;md5=a855a9eb5507fc556e672080c4b428ca" - -DEPENDS = "tiff zlib libpng jpeg virtual/libsdl2 libwebp" - -SRC_URI = "http://www.libsdl.org/projects/SDL_image/release/SDL2_image-${PV}.tar.gz" -SRC_URI[md5sum] = "c6baf6dfa80fa8a66853661a36a6034e" -SRC_URI[sha256sum] = "3510c25da735ffcd8ce3b65073150ff4f7f9493b866e85b83738083b556d2368" - -S = "${WORKDIR}/SDL2_image-${PV}" - -inherit autotools pkgconfig - -# Disable the run-time loading of the libs and bring back the soname dependencies. -EXTRA_OECONF += "--disable-jpg-shared --disable-png-shared -disable-tif-shared" - -do_configure_prepend() { - # make autoreconf happy - touch ${S}/NEWS ${S}/README ${S}/AUTHORS ${S}/ChangeLog - # Removing these files fixes a libtool version mismatch. - rm -f ${S}/acinclude/libtool.m4 - rm -f ${S}/acinclude/sdl2.m4 - rm -f ${S}/acinclude/pkg.m4 - rm -f ${S}/acinclude/lt~obsolete.m4 - rm -f ${S}/acinclude/ltoptions.m4 - rm -f ${S}/acinclude/ltsugar.m4 - rm -f ${S}/acinclude/ltversion.m4 -} diff --git a/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl2-image_2.0.5.bb b/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl2-image_2.0.5.bb new file mode 100644 index 0000000000..0a346bd9e6 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl2-image_2.0.5.bb @@ -0,0 +1,31 @@ +SUMMARY = "Simple DirectMedia Layer image library v2" +SECTION = "libs" + +LICENSE = "Zlib" +LIC_FILES_CHKSUM = "file://COPYING.txt;md5=822edb694b20ff16ceef85b27f61c11f" + +DEPENDS = "tiff zlib libpng jpeg virtual/libsdl2 libwebp" + +SRC_URI = "http://www.libsdl.org/projects/SDL_image/release/SDL2_image-${PV}.tar.gz" +SRC_URI[md5sum] = "f26f3a153360a8f09ed5220ef7b07aea" +SRC_URI[sha256sum] = "bdd5f6e026682f7d7e1be0b6051b209da2f402a2dd8bd1c4bd9c25ad263108d0" + +S = "${WORKDIR}/SDL2_image-${PV}" + +inherit autotools pkgconfig + +# Disable the run-time loading of the libs and bring back the soname dependencies. +EXTRA_OECONF += "--disable-jpg-shared --disable-png-shared -disable-tif-shared" + +do_configure_prepend() { + # make autoreconf happy + touch ${S}/NEWS ${S}/README ${S}/AUTHORS ${S}/ChangeLog + # Removing these files fixes a libtool version mismatch. + rm -f ${S}/acinclude/libtool.m4 + rm -f ${S}/acinclude/sdl2.m4 + rm -f ${S}/acinclude/pkg.m4 + rm -f ${S}/acinclude/lt~obsolete.m4 + rm -f ${S}/acinclude/ltoptions.m4 + rm -f ${S}/acinclude/ltsugar.m4 + rm -f ${S}/acinclude/ltversion.m4 +} diff --git a/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl2-mixer_2.0.2.bb b/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl2-mixer_2.0.2.bb deleted file mode 100644 index 718f3f5fde..0000000000 --- a/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl2-mixer_2.0.2.bb +++ /dev/null @@ -1,27 +0,0 @@ -SUMMARY = "Simple DirectMedia Layer mixer library V2" -SECTION = "libs" -DEPENDS = "virtual/libsdl2 flac libmikmod libvorbis" -LICENSE = "Zlib" -LIC_FILES_CHKSUM = "file://COPYING.txt;md5=95e0c3cf63f71b950911e698a54b7fc5" - -SRC_URI = "http://www.libsdl.org/projects/SDL_mixer/release/SDL2_mixer-${PV}.tar.gz" - -SRC_URI[md5sum] = "aaa0551393993c14a13f72b339c0ed6c" -SRC_URI[sha256sum] = "4e615e27efca4f439df9af6aa2c6de84150d17cbfd12174b54868c12f19c83bb" - -S = "${WORKDIR}/SDL2_mixer-${PV}" - -inherit autotools-brokensep pkgconfig - -EXTRA_AUTORECONF += "--include=acinclude" -EXTRA_OECONF = "--disable-music-mp3 --enable-music-ogg --enable-music-ogg-tremor LIBS=-L${STAGING_LIBDIR}" - -PACKAGECONFIG[mad] = "--enable-music-mp3-mad-gpl,--disable-music-mp3-mad-gpl,libmad" - -do_configure_prepend () { - # Remove old libtool macros. - MACROS="libtool.m4 lt~obsolete.m4 ltoptions.m4 ltsugar.m4 ltversion.m4" - for i in ${MACROS}; do - rm -f acinclude/$i - done -} diff --git a/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl2-mixer_2.0.4.bb b/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl2-mixer_2.0.4.bb new file mode 100644 index 0000000000..aa246f9995 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl2-mixer_2.0.4.bb @@ -0,0 +1,27 @@ +SUMMARY = "Simple DirectMedia Layer mixer library V2" +SECTION = "libs" +DEPENDS = "virtual/libsdl2 flac libmikmod libvorbis" +LICENSE = "Zlib" +LIC_FILES_CHKSUM = "file://COPYING.txt;md5=516daf7a177ad4c8874bb9efa1a69c1f" + +SRC_URI = "http://www.libsdl.org/projects/SDL_mixer/release/SDL2_mixer-${PV}.tar.gz" + +SRC_URI[md5sum] = "a36e8410cac46b00a4d01752b32c3eb1" +SRC_URI[sha256sum] = "b4cf5a382c061cd75081cf246c2aa2f9df8db04bdda8dcdc6b6cca55bede2419" + +S = "${WORKDIR}/SDL2_mixer-${PV}" + +inherit autotools-brokensep pkgconfig + +EXTRA_AUTORECONF += "--include=acinclude" +EXTRA_OECONF = "--disable-music-mp3 --enable-music-ogg --enable-music-ogg-tremor LIBS=-L${STAGING_LIBDIR}" + +PACKAGECONFIG[mad] = "--enable-music-mp3-mad-gpl,--disable-music-mp3-mad-gpl,libmad" + +do_configure_prepend () { + # Remove old libtool macros. + MACROS="libtool.m4 lt~obsolete.m4 ltoptions.m4 ltsugar.m4 ltversion.m4" + for i in ${MACROS}; do + rm -f acinclude/$i + done +} diff --git a/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl2-ttf/use.pkg-config.for.freetype2.patch b/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl2-ttf/use.pkg-config.for.freetype2.patch deleted file mode 100644 index 1dfbec6edd..0000000000 --- a/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl2-ttf/use.pkg-config.for.freetype2.patch +++ /dev/null @@ -1,62 +0,0 @@ -From e6d2c0e130811c15b5f5cc10221fae182cb8609e Mon Sep 17 00:00:00 2001 -From: Richard Purdie -Date: Thu, 22 May 2014 10:59:33 +0100 -Subject: [PATCH] freetype-config was removed from oe-core in - -commit 5870bd272b0b077d0826fb900b251884c1c05061 - - binconfig-disabled: Add class and use - ---- - configure.in | 38 +++++--------------------------------- - 1 file changed, 5 insertions(+), 33 deletions(-) - -diff --git a/configure.in b/configure.in -index 9b36e15..f300cae 100644 ---- a/configure.in -+++ b/configure.in -@@ -86,39 +86,11 @@ case "$host" in - esac - AM_CONDITIONAL(USE_VERSION_RC, test x$use_version_rc = xtrue) - --dnl Check for the FreeType 2 library --dnl --dnl Get the cflags and libraries from the freetype-config script --dnl --AC_ARG_WITH(freetype-prefix,[ --with-freetype-prefix=PFX Prefix where FREETYPE is --installed (optional)], -- freetype_prefix="$withval", freetype_prefix="") --AC_ARG_WITH(freetype-exec-prefix,[ --with-freetype-exec-prefix=PFX Exec prefix --where FREETYPE is installed (optional)], -- freetype_exec_prefix="$withval", freetype_exec_prefix="") -- --if test x$freetype_exec_prefix != x ; then -- freetype_args="$freetype_args --exec-prefix=$freetype_exec_prefix" -- if test x${FREETYPE_CONFIG+set} != xset ; then -- FREETYPE_CONFIG=$freetype_exec_prefix/bin/freetype-config -- fi --fi --if test x$freetype_prefix != x ; then -- freetype_args="$freetype_args --prefix=$freetype_prefix" -- if test x${FREETYPE_CONFIG+set} != xset ; then -- FREETYPE_CONFIG=$freetype_prefix/bin/freetype-config -- fi --fi --AC_PATH_PROG(FREETYPE_CONFIG, freetype-config, no) --no_freetype="" --if test "$FREETYPE_CONFIG" = "no" ; then -- AC_MSG_ERROR([ --*** Unable to find FreeType2 library (http://www.freetype.org/) --]) --else -- CFLAGS="$CFLAGS `$FREETYPE_CONFIG $freetypeconf_args --cflags`" -- LIBS="$LIBS `$FREETYPE_CONFIG $freetypeconf_args --libs`" --fi -+PKG_CHECK_MODULES(FREETYPE2, freetype2, -+ CFLAGS="$CFLAGS $FREETYPE2_CFLAGS" -+ LIBS="$LIBS $FREETYPE2_LIBS", -+ AC_MSG_ERROR([*** Unable to find FreeType2 library (http://www.freetype.org/)]) -+) - - dnl Check for SDL - SDL_VERSION=2.0.0 diff --git a/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl2-ttf_2.0.14.bb b/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl2-ttf_2.0.14.bb deleted file mode 100644 index 6224ad3e75..0000000000 --- a/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl2-ttf_2.0.14.bb +++ /dev/null @@ -1,30 +0,0 @@ -SUMMARY = "Simple DirectMedia Layer truetype font library" -SECTION = "libs" -DEPENDS = "virtual/libsdl2 freetype virtual/libgl" -LICENSE = "Zlib" -LIC_FILES_CHKSUM = "file://COPYING.txt;md5=cb33e7c4df9fbde389f149ad6bc93ce5" - -SRC_URI = " \ - http://www.libsdl.org/projects/SDL_ttf/release/SDL2_ttf-${PV}.tar.gz \ - file://use.pkg-config.for.freetype2.patch \ - file://automake_foreign.patch \ -" -SRC_URI[md5sum] = "e53c05e1e7f1382c316afd6c763388b1" -SRC_URI[sha256sum] = "34db5e20bcf64e7071fe9ae25acaa7d72bdc4f11ab3ce59acc768ab62fe39276" - -S = "${WORKDIR}/SDL2_ttf-${PV}" - -inherit autotools pkgconfig features_check - -# links to libGL.so -REQUIRED_DISTRO_FEATURES += "x11 opengl" - -do_configure_prepend() { - # Removing these files fixes a libtool version mismatch. - MACROS="libtool.m4 lt~obsolete.m4 ltoptions.m4 ltsugar.m4 ltversion.m4" - - for i in ${MACROS}; do - rm -f ${S}/acinclude/$i - done -} -ASNEEDED = "" diff --git a/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl2-ttf_2.0.15.bb b/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl2-ttf_2.0.15.bb new file mode 100644 index 0000000000..7d896cf00b --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl2-ttf_2.0.15.bb @@ -0,0 +1,29 @@ +SUMMARY = "Simple DirectMedia Layer truetype font library" +SECTION = "libs" +DEPENDS = "virtual/libsdl2 freetype virtual/libgl" +LICENSE = "Zlib" +LIC_FILES_CHKSUM = "file://COPYING.txt;md5=4bb27d550fdafcd8f8e4fb8cbb2775ef" + +SRC_URI = " \ + http://www.libsdl.org/projects/SDL_ttf/release/SDL2_ttf-${PV}.tar.gz \ + file://automake_foreign.patch \ +" +SRC_URI[md5sum] = "04fe06ff7623d7bdcb704e82f5f88391" +SRC_URI[sha256sum] = "a9eceb1ad88c1f1545cd7bd28e7cbc0b2c14191d40238f531a15b01b1b22cd33" + +S = "${WORKDIR}/SDL2_ttf-${PV}" + +inherit autotools pkgconfig features_check + +# links to libGL.so +REQUIRED_DISTRO_FEATURES += "x11 opengl" + +do_configure_prepend() { + # Removing these files fixes a libtool version mismatch. + MACROS="libtool.m4 lt~obsolete.m4 ltoptions.m4 ltsugar.m4 ltversion.m4" + + for i in ${MACROS}; do + rm -f ${S}/acinclude/$i + done +} +ASNEEDED = "" diff --git a/meta-openembedded/meta-oe/recipes-graphics/libvncserver/libvncserver_0.9.12.bb b/meta-openembedded/meta-oe/recipes-graphics/libvncserver/libvncserver_0.9.12.bb index 4e4acb835c..22fc83a64f 100644 --- a/meta-openembedded/meta-oe/recipes-graphics/libvncserver/libvncserver_0.9.12.bb +++ b/meta-openembedded/meta-oe/recipes-graphics/libvncserver/libvncserver_0.9.12.bb @@ -6,23 +6,38 @@ LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=361b6b837cad26c6900a926b62aada5f" PACKAGECONFIG ??= " \ + 24bpp \ + filetransfer \ + ${@bb.utils.contains('LICENSE_FLAGS_WHITELIST','commercial','ffmpeg','',d)} \ gcrypt \ gnutls \ jpeg \ lzo \ png \ + pthread \ ${@bb.utils.contains('DISTRO_FEATURES','systemd','systemd','',d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', 'ipv6', '',d)} \ + sasl \ sdl \ + websockets \ zlib \ " + +PACKAGECONFIG[24bpp] = "-DWITH_24BPP=ON,-DWITH_24BPP=OFF," +PACKAGECONFIG[filetransfer] = "-DWITH_TIGHTVNC_FILETRANSFER=ON,-DWITH_TIGHTVNC_FILETRANSFER=OFF," +PACKAGECONFIG[ffmpeg] = "-DWITH_FFMPEG=ON,-DWITH_FFMPEG=OFF,ffmpeg,ffmpeg" PACKAGECONFIG[gcrypt] = "-DWITH_GCRYPT=ON,-DWITH_GCRYPT=OFF,libgcrypt,libgcrypt" PACKAGECONFIG[gnutls] = "-DWITH_GNUTLS=ON,-DWITH_GNUTLS=OFF,gnutls" PACKAGECONFIG[jpeg] = "-DWITH_JPEG=ON,-DWITH_JPEG=OFF,jpeg" +PACKAGECONFIG[ipv6] = "-DWITH_IPv6=ON,-DWITH_IPv6=OFF," PACKAGECONFIG[lzo] = "-DWITH_LZO=ON,-DWITH_LZO=OFF,lzo" PACKAGECONFIG[openssl] = "-DWITH_OPENSSL=ON,-DWITH_OPENSSL=OFF,openssl" PACKAGECONFIG[png] = "-DWITH_PNG=ON,-DWITH_PNG=OFF,libpng,libpng" +PACKAGECONFIG[pthread] = "-DWITH_THREADS=ON,-DWITH_THREADS=OFF," PACKAGECONFIG[systemd] = "-DWITH_SYSTEMD=ON,-DWITH_SYSTEMD=OFF,systemd" +PACKAGECONFIG[sasl] = "-DWITH_SASL=ON,-DWITH_SASL=OFF,cyrus-sasl" PACKAGECONFIG[sdl] = "-DWITH_SDL=ON,-DWITH_SDL=OFF,libsdl2" +PACKAGECONFIG[websockets] = "-DWITH_WEBSOCKETS=ON,-DWITH_WEBSOCKETS=OFF," PACKAGECONFIG[zlib] = "-DWITH_ZLIB=ON,-DWITH_ZLIB=OFF,zlib" PACKAGE_BEFORE_PN = "libvncclient" diff --git a/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui/0001-Fix-build-with-clang.patch b/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui/0001-Fix-build-with-clang.patch index 4269018192..b03723ac04 100644 --- a/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui/0001-Fix-build-with-clang.patch +++ b/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui/0001-Fix-build-with-clang.patch @@ -65,8 +65,6 @@ Upstream-Status: Submitted [https://github.com/libyui/libyui/pull/123] src/YWizard.h | 2 +- 47 files changed, 48 insertions(+), 48 deletions(-) -diff --git a/src/YAlignment.h b/src/YAlignment.h -index d716c77..7276944 100644 --- a/src/YAlignment.h +++ b/src/YAlignment.h @@ -28,7 +28,7 @@ @@ -78,8 +76,6 @@ index d716c77..7276944 100644 /** * Implementation of all the alignment widgets: -diff --git a/src/YBarGraph.h b/src/YBarGraph.h -index 29f7f26..d7eaad2 100644 --- a/src/YBarGraph.h +++ b/src/YBarGraph.h @@ -29,7 +29,7 @@ @@ -91,8 +87,6 @@ index 29f7f26..d7eaad2 100644 class YBarGraphSegment; /** -diff --git a/src/YBusyIndicator.h b/src/YBusyIndicator.h -index 9530fa5..75297d8 100644 --- a/src/YBusyIndicator.h +++ b/src/YBusyIndicator.h @@ -27,7 +27,7 @@ @@ -104,8 +98,6 @@ index 9530fa5..75297d8 100644 /** -diff --git a/src/YButtonBox.h b/src/YButtonBox.h -index 84f8dbb..ca51f57 100644 --- a/src/YButtonBox.h +++ b/src/YButtonBox.h @@ -30,7 +30,7 @@ @@ -126,8 +118,6 @@ index 84f8dbb..ca51f57 100644 protected: /** -diff --git a/src/YCheckBox.h b/src/YCheckBox.h -index 793cc77..03f3faa 100644 --- a/src/YCheckBox.h +++ b/src/YCheckBox.h @@ -30,7 +30,7 @@ @@ -139,8 +129,6 @@ index 793cc77..03f3faa 100644 enum YCheckBoxState { -diff --git a/src/YCheckBoxFrame.h b/src/YCheckBoxFrame.h -index 243f1a0..7017110 100644 --- a/src/YCheckBoxFrame.h +++ b/src/YCheckBoxFrame.h @@ -29,7 +29,7 @@ @@ -152,8 +140,6 @@ index 243f1a0..7017110 100644 /** -diff --git a/src/YComboBox.h b/src/YComboBox.h -index 416359a..ad0e550 100644 --- a/src/YComboBox.h +++ b/src/YComboBox.h @@ -27,7 +27,7 @@ @@ -165,8 +151,6 @@ index 416359a..ad0e550 100644 /** -diff --git a/src/YCommandLine.h b/src/YCommandLine.h -index 70cb4fe..f344a3b 100644 --- a/src/YCommandLine.h +++ b/src/YCommandLine.h @@ -28,7 +28,7 @@ @@ -178,8 +162,6 @@ index 70cb4fe..f344a3b 100644 /** -diff --git a/src/YContextMenu.h b/src/YContextMenu.h -index a4acb1c..1253002 100644 --- a/src/YContextMenu.h +++ b/src/YContextMenu.h @@ -29,7 +29,7 @@ @@ -191,8 +173,6 @@ index a4acb1c..1253002 100644 /** -diff --git a/src/YDateField.h b/src/YDateField.h -index e5a468d..6164fba 100644 --- a/src/YDateField.h +++ b/src/YDateField.h @@ -27,7 +27,7 @@ @@ -204,8 +184,6 @@ index e5a468d..6164fba 100644 /** * Input field for entering a date. -diff --git a/src/YDialog.h b/src/YDialog.h -index 66c25c0..371209b 100644 --- a/src/YDialog.h +++ b/src/YDialog.h @@ -32,7 +32,7 @@ @@ -217,8 +195,6 @@ index 66c25c0..371209b 100644 class YEvent; class YEventFilter; -diff --git a/src/YDownloadProgress.h b/src/YDownloadProgress.h -index c47ec4f..fe09a9d 100644 --- a/src/YDownloadProgress.h +++ b/src/YDownloadProgress.h @@ -28,7 +28,7 @@ @@ -230,8 +206,6 @@ index c47ec4f..fe09a9d 100644 /** * DownloadProgress: A progress bar that monitors downloading a file by -diff --git a/src/YDumbTab.h b/src/YDumbTab.h -index aec17a3..f8fb250 100644 --- a/src/YDumbTab.h +++ b/src/YDumbTab.h @@ -27,7 +27,7 @@ @@ -243,8 +217,6 @@ index aec17a3..f8fb250 100644 /** * DumbTab: A very simple tab widget that can display and switch between a -diff --git a/src/YEmpty.h b/src/YEmpty.h -index 9a3cb36..9b88fbc 100644 --- a/src/YEmpty.h +++ b/src/YEmpty.h @@ -29,7 +29,7 @@ @@ -256,8 +228,6 @@ index 9a3cb36..9b88fbc 100644 /** * A widget with zero size, useful as a placeholder. -diff --git a/src/YEventFilter.h b/src/YEventFilter.h -index 3dc1803..74aa62d 100644 --- a/src/YEventFilter.h +++ b/src/YEventFilter.h @@ -32,7 +32,7 @@ @@ -269,8 +239,6 @@ index 3dc1803..74aa62d 100644 /** -diff --git a/src/YFrame.h b/src/YFrame.h -index 111e8ec..4f8c61e 100644 --- a/src/YFrame.h +++ b/src/YFrame.h @@ -29,7 +29,7 @@ @@ -282,8 +250,6 @@ index 111e8ec..4f8c61e 100644 /** -diff --git a/src/YGraph.h b/src/YGraph.h -index d90d1ae..287d800 100644 --- a/src/YGraph.h +++ b/src/YGraph.h @@ -37,7 +37,7 @@ @@ -295,8 +261,6 @@ index d90d1ae..287d800 100644 /** * A graph with nodes and edges, rendered with Graphviz. -diff --git a/src/YImage.h b/src/YImage.h -index 17bea21..84eb674 100644 --- a/src/YImage.h +++ b/src/YImage.h @@ -29,7 +29,7 @@ @@ -308,8 +272,6 @@ index 17bea21..84eb674 100644 /** * A picture, possibly animated, loaded from a file. -diff --git a/src/YInputField.h b/src/YInputField.h -index 70641ce..fa29b42 100644 --- a/src/YInputField.h +++ b/src/YInputField.h @@ -28,7 +28,7 @@ @@ -321,8 +283,6 @@ index 70641ce..fa29b42 100644 -diff --git a/src/YIntField.h b/src/YIntField.h -index 9da0537..8ad2949 100644 --- a/src/YIntField.h +++ b/src/YIntField.h @@ -27,7 +27,7 @@ @@ -334,8 +294,6 @@ index 9da0537..8ad2949 100644 -diff --git a/src/YLabel.h b/src/YLabel.h -index d2fff61..bf06d8b 100644 --- a/src/YLabel.h +++ b/src/YLabel.h @@ -30,7 +30,7 @@ @@ -347,8 +305,6 @@ index d2fff61..bf06d8b 100644 /** * Implementation of the Label, Heading and OutputField widgets -diff --git a/src/YLayoutBox.h b/src/YLayoutBox.h -index e652a45..070eaff 100644 --- a/src/YLayoutBox.h +++ b/src/YLayoutBox.h @@ -29,7 +29,7 @@ @@ -360,8 +316,6 @@ index e652a45..070eaff 100644 /** * A vertical or horizontal stacking of widgets, implementing HBox and VBox. -diff --git a/src/YLogView.h b/src/YLogView.h -index 53fb9ee..5b44229 100644 --- a/src/YLogView.h +++ b/src/YLogView.h @@ -27,7 +27,7 @@ @@ -373,8 +327,6 @@ index 53fb9ee..5b44229 100644 /** -diff --git a/src/YMenuButton.h b/src/YMenuButton.h -index 205e730..5df7efb 100644 --- a/src/YMenuButton.h +++ b/src/YMenuButton.h @@ -29,7 +29,7 @@ @@ -386,8 +338,6 @@ index 205e730..5df7efb 100644 /** -diff --git a/src/YMultiLineEdit.h b/src/YMultiLineEdit.h -index c52a6ae..1f792f8 100644 --- a/src/YMultiLineEdit.h +++ b/src/YMultiLineEdit.h @@ -27,7 +27,7 @@ @@ -399,8 +349,6 @@ index c52a6ae..1f792f8 100644 /** * A multi-line plain-text area -diff --git a/src/YMultiProgressMeter.h b/src/YMultiProgressMeter.h -index 57c758d..f6bec91 100644 --- a/src/YMultiProgressMeter.h +++ b/src/YMultiProgressMeter.h @@ -28,7 +28,7 @@ @@ -412,8 +360,6 @@ index 57c758d..f6bec91 100644 /** -diff --git a/src/YMultiSelectionBox.h b/src/YMultiSelectionBox.h -index bbe5a20..f3a2947 100644 --- a/src/YMultiSelectionBox.h +++ b/src/YMultiSelectionBox.h @@ -27,7 +27,7 @@ @@ -425,8 +371,6 @@ index bbe5a20..f3a2947 100644 /** -diff --git a/src/YPartitionSplitter.h b/src/YPartitionSplitter.h -index 2839bbc..9de1174 100644 --- a/src/YPartitionSplitter.h +++ b/src/YPartitionSplitter.h @@ -28,7 +28,7 @@ @@ -438,8 +382,6 @@ index 2839bbc..9de1174 100644 /** -diff --git a/src/YProgressBar.h b/src/YProgressBar.h -index 718352f..baab662 100644 --- a/src/YProgressBar.h +++ b/src/YProgressBar.h @@ -27,7 +27,7 @@ @@ -451,8 +393,6 @@ index 718352f..baab662 100644 /** -diff --git a/src/YPushButton.h b/src/YPushButton.h -index 5b65c98..e288252 100644 --- a/src/YPushButton.h +++ b/src/YPushButton.h @@ -27,7 +27,7 @@ @@ -464,8 +404,6 @@ index 5b65c98..e288252 100644 -diff --git a/src/YRadioButton.h b/src/YRadioButton.h -index 9dc62de..5a7c0dd 100644 --- a/src/YRadioButton.h +++ b/src/YRadioButton.h @@ -28,7 +28,7 @@ @@ -477,8 +415,6 @@ index 9dc62de..5a7c0dd 100644 /** -diff --git a/src/YRadioButtonGroup.h b/src/YRadioButtonGroup.h -index 063a52e..671a257 100644 --- a/src/YRadioButtonGroup.h +++ b/src/YRadioButtonGroup.h @@ -28,7 +28,7 @@ @@ -490,8 +426,6 @@ index 063a52e..671a257 100644 typedef std::list YRadioButtonList; typedef YRadioButtonList::iterator YRadioButtonListIterator; -diff --git a/src/YRichText.h b/src/YRichText.h -index 149bfb3..86b3f80 100644 --- a/src/YRichText.h +++ b/src/YRichText.h @@ -30,7 +30,7 @@ @@ -503,8 +437,6 @@ index 149bfb3..86b3f80 100644 /** -diff --git a/src/YSelectionBox.h b/src/YSelectionBox.h -index 7fc4fb8..9bbf9f3 100644 --- a/src/YSelectionBox.h +++ b/src/YSelectionBox.h @@ -27,7 +27,7 @@ @@ -516,8 +448,6 @@ index 7fc4fb8..9bbf9f3 100644 /** -diff --git a/src/YSelectionWidget.h b/src/YSelectionWidget.h -index abbdfb4..cf05afd 100644 --- a/src/YSelectionWidget.h +++ b/src/YSelectionWidget.h @@ -29,7 +29,7 @@ @@ -529,8 +459,6 @@ index abbdfb4..cf05afd 100644 /** * Base class for various kinds of multi-value widgets. -diff --git a/src/YSimpleInputField.h b/src/YSimpleInputField.h -index 6d926d4..b93fe6b 100644 --- a/src/YSimpleInputField.h +++ b/src/YSimpleInputField.h @@ -27,7 +27,7 @@ @@ -542,8 +470,6 @@ index 6d926d4..b93fe6b 100644 /** -diff --git a/src/YSlider.h b/src/YSlider.h -index d29f6b8..4bcd7d3 100644 --- a/src/YSlider.h +++ b/src/YSlider.h @@ -27,7 +27,7 @@ @@ -555,8 +481,6 @@ index d29f6b8..4bcd7d3 100644 /** -diff --git a/src/YSpacing.h b/src/YSpacing.h -index e8aafd3..066cd68 100644 --- a/src/YSpacing.h +++ b/src/YSpacing.h @@ -28,7 +28,7 @@ @@ -568,8 +492,6 @@ index e8aafd3..066cd68 100644 /** -diff --git a/src/YSquash.h b/src/YSquash.h -index 4bd0fb6..3804cc4 100644 --- a/src/YSquash.h +++ b/src/YSquash.h @@ -29,7 +29,7 @@ @@ -581,8 +503,6 @@ index 4bd0fb6..3804cc4 100644 /** * HSquash, VSquash HVSquash: reduce child to its preferred size. -diff --git a/src/YTable.h b/src/YTable.h -index 6694f10..469b8ca 100644 --- a/src/YTable.h +++ b/src/YTable.h @@ -30,7 +30,7 @@ @@ -594,8 +514,6 @@ index 6694f10..469b8ca 100644 -diff --git a/src/YTableHeader.h b/src/YTableHeader.h -index 70166c2..4ae99b4 100644 --- a/src/YTableHeader.h +++ b/src/YTableHeader.h @@ -31,7 +31,7 @@ @@ -607,8 +525,6 @@ index 70166c2..4ae99b4 100644 /** * Helper class for YTable for table column properties: -diff --git a/src/YTimeField.h b/src/YTimeField.h -index ab2f9a3..f3a7b94 100644 --- a/src/YTimeField.h +++ b/src/YTimeField.h @@ -27,7 +27,7 @@ @@ -620,8 +536,6 @@ index ab2f9a3..f3a7b94 100644 /** -diff --git a/src/YTimezoneSelector.cc b/src/YTimezoneSelector.cc -index 9259b64..e2f9b6f 100644 --- a/src/YTimezoneSelector.cc +++ b/src/YTimezoneSelector.cc @@ -32,7 +32,7 @@ @@ -633,8 +547,6 @@ index 9259b64..e2f9b6f 100644 }; -diff --git a/src/YTree.h b/src/YTree.h -index 14fa279..70e1364 100644 --- a/src/YTree.h +++ b/src/YTree.h @@ -28,7 +28,7 @@ @@ -646,8 +558,6 @@ index 14fa279..70e1364 100644 /** -diff --git a/src/YUILog.h b/src/YUILog.h -index 0890bc5..4a927a7 100644 --- a/src/YUILog.h +++ b/src/YUILog.h @@ -64,7 +64,7 @@ @@ -659,11 +569,9 @@ index 0890bc5..4a927a7 100644 enum YUILogLevel_t { -diff --git a/src/YWidget.h b/src/YWidget.h -index 5b285d0..636a41b 100644 --- a/src/YWidget.h +++ b/src/YWidget.h -@@ -45,7 +45,7 @@ typedef YChildrenManager YWidgetChildrenManager; +@@ -45,7 +45,7 @@ typedef YChildrenManager YWidge typedef YSingleChildManager YSingleWidgetChildManager; typedef YChildrenRejector YWidgetChildrenRejector; @@ -672,8 +580,6 @@ index 5b285d0..636a41b 100644 /** -diff --git a/src/YWizard.h b/src/YWizard.h -index 7671cbf..975b597 100644 --- a/src/YWizard.h +++ b/src/YWizard.h @@ -28,7 +28,7 @@ diff --git a/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui_3.6.0.bb b/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui_3.6.0.bb index d8a921925a..7c6f4c13d2 100644 --- a/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui_3.6.0.bb +++ b/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui_3.6.0.bb @@ -18,6 +18,8 @@ inherit cmake gettext pkgconfig DEPENDS += "boost" +EXTRA_OECMAKE += "-DENABLE_WERROR=OFF" + BBCLASSEXTEND = "native nativesdk" do_configure_prepend () { diff --git a/meta-openembedded/meta-oe/recipes-graphics/renderdoc/renderdoc/0001-Remove-glslang-pool_allocator-setAllocator.patch b/meta-openembedded/meta-oe/recipes-graphics/renderdoc/renderdoc/0001-Remove-glslang-pool_allocator-setAllocator.patch new file mode 100644 index 0000000000..6ba1e42687 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/renderdoc/renderdoc/0001-Remove-glslang-pool_allocator-setAllocator.patch @@ -0,0 +1,31 @@ +From 49dd914109fd1ee9e1e917890bf18f85dd95ff31 Mon Sep 17 00:00:00 2001 +From: Reid Kleckner +Date: Sun, 29 Dec 2019 23:17:16 -0800 +Subject: [PATCH] Remove glslang::pool_allocator::setAllocator + +TPoolAllocator is not copy assignable, so this setter could never have +been used. After a recent change (878a24ee2), new versions of Clang +reject this code outright. + +Upstream-Status: Backport [https://github.com/KhronosGroup/glslang/commit/0de87ee9a5bf5d094a3faa1a71fd9080e80b6be0] + +Signed-off-by: Khem Raj +--- + renderdoc/3rdparty/glslang/glslang/Include/PoolAlloc.h | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/renderdoc/3rdparty/glslang/glslang/Include/PoolAlloc.h b/renderdoc/3rdparty/glslang/glslang/Include/PoolAlloc.h +index 0e237a6a2..b8eccb883 100644 +--- a/renderdoc/3rdparty/glslang/glslang/Include/PoolAlloc.h ++++ b/renderdoc/3rdparty/glslang/glslang/Include/PoolAlloc.h +@@ -304,7 +304,6 @@ public: + size_type max_size() const { return static_cast(-1) / sizeof(T); } + size_type max_size(int size) const { return static_cast(-1) / size; } + +- void setAllocator(TPoolAllocator* a) { allocator = *a; } + TPoolAllocator& getAllocator() const { return allocator; } + + protected: +-- +2.24.1 + diff --git a/meta-openembedded/meta-oe/recipes-graphics/renderdoc/renderdoc_1.4.bb b/meta-openembedded/meta-oe/recipes-graphics/renderdoc/renderdoc_1.4.bb deleted file mode 100644 index 784f6fbb8c..0000000000 --- a/meta-openembedded/meta-oe/recipes-graphics/renderdoc/renderdoc_1.4.bb +++ /dev/null @@ -1,37 +0,0 @@ -SUMMARY = "RenderDoc recipe providing renderdoccmd" -DESCRIPTION = "RenderDoc is a frame-capture based graphics debugger" -HOMEPAGE = "https://github.com/baldurk/renderdoc" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE.md;md5=9753b1b4fba3261c27d1ce5c1acef667" - -SRCREV = "214d85228538e71cc63a0d7fa11dd75b1d56cc81" -SRC_URI = "git://github.com/baldurk/${BPN}.git;protocol=http;branch=v1.x \ - file://0001-renderdoc-use-xxd-instead-of-cross-compiling-shim-bi.patch \ -" -S = "${WORKDIR}/git" - -DEPENDS += "virtual/libx11 virtual/libgl libxcb xcb-util-keysyms vim-native" - -RDEPENDS_${PN} = "libxcb xcb-util-keysyms" - -inherit cmake python3native features_check - -REQUIRED_DISTRO_FEATURES = "x11 opengl" - -python __anonymous () { - # only works on glibc systems - if d.getVar('TCLIBC') != "glibc": - raise bb.parse.SkipRecipe("incompatible with %s C library" % d.getVar('TCLIBC')) -} - -COMPATIBLE_HOST = "(x86_64|i.86|arm|aarch64).*-linux" - -EXTRA_OECMAKE += "\ - -DENABLE_QRENDERDOC=OFF \ - -DENABLE_PYRENDERDOC=OFF \ - -DENABLE_RENDERDOCCMD=ON \ - -DCMAKE_BUILD_TYPE=Release \ -" - -FILES_${PN} += "${libdir}" -FILES_${PN}-dev = "${includedir}" diff --git a/meta-openembedded/meta-oe/recipes-graphics/renderdoc/renderdoc_1.5.bb b/meta-openembedded/meta-oe/recipes-graphics/renderdoc/renderdoc_1.5.bb new file mode 100644 index 0000000000..5f81e841dc --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/renderdoc/renderdoc_1.5.bb @@ -0,0 +1,38 @@ +SUMMARY = "RenderDoc recipe providing renderdoccmd" +DESCRIPTION = "RenderDoc is a frame-capture based graphics debugger" +HOMEPAGE = "https://github.com/baldurk/renderdoc" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE.md;md5=9753b1b4fba3261c27d1ce5c1acef667" + +SRCREV = "a94f238e37cfe2f142093eb8e5da7775abaa88c6" +SRC_URI = "git://github.com/baldurk/${BPN}.git;protocol=http;branch=v1.x \ + file://0001-renderdoc-use-xxd-instead-of-cross-compiling-shim-bi.patch \ + file://0001-Remove-glslang-pool_allocator-setAllocator.patch \ +" +S = "${WORKDIR}/git" + +DEPENDS += "virtual/libx11 virtual/libgl libxcb xcb-util-keysyms vim-native" + +RDEPENDS_${PN} = "libxcb xcb-util-keysyms" + +inherit cmake python3native features_check + +REQUIRED_DISTRO_FEATURES = "x11 opengl" + +python __anonymous () { + # only works on glibc systems + if d.getVar('TCLIBC') != "glibc": + raise bb.parse.SkipRecipe("incompatible with %s C library" % d.getVar('TCLIBC')) +} + +COMPATIBLE_HOST = "(x86_64|i.86|arm|aarch64).*-linux" + +EXTRA_OECMAKE += "\ + -DENABLE_QRENDERDOC=OFF \ + -DENABLE_PYRENDERDOC=OFF \ + -DENABLE_RENDERDOCCMD=ON \ + -DCMAKE_BUILD_TYPE=Release \ +" + +FILES_${PN} += "${libdir}" +FILES_${PN}-dev = "${includedir}" diff --git a/meta-openembedded/meta-oe/recipes-graphics/spir/files/0001-Avoid-pessimizing-std-move-3124.patch b/meta-openembedded/meta-oe/recipes-graphics/spir/files/0001-Avoid-pessimizing-std-move-3124.patch new file mode 100644 index 0000000000..9b48cdcd09 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/spir/files/0001-Avoid-pessimizing-std-move-3124.patch @@ -0,0 +1,50 @@ +From 4fffcd275b50d08b54b0411679ead98970651bad Mon Sep 17 00:00:00 2001 +From: David Neto +Date: Fri, 27 Dec 2019 12:05:58 -0500 +Subject: [PATCH] Avoid pessimizing std::move (#3124) + +Should fix a warning + +Upstream-Status: Backport [https://github.com/KhronosGroup/SPIRV-Tools/commit/8aa423930db37e37086665efcc55944d577c06e5] +Signed-off-by: Khem Raj +--- + test/opt/pass_fixture.h | 9 +++------ + 1 file changed, 3 insertions(+), 6 deletions(-) + +diff --git a/test/opt/pass_fixture.h b/test/opt/pass_fixture.h +index 53fb206f..64c089d8 100644 +--- a/test/opt/pass_fixture.h ++++ b/test/opt/pass_fixture.h +@@ -60,8 +60,7 @@ class PassTest : public TestT { + // from pass Process() function. + std::tuple, Pass::Status> OptimizeToBinary( + Pass* pass, const std::string& original, bool skip_nop) { +- context_ = +- std::move(BuildModule(env_, consumer_, original, assemble_options_)); ++ context_ = BuildModule(env_, consumer_, original, assemble_options_); + EXPECT_NE(nullptr, context()) << "Assembling failed for shader:\n" + << original << std::endl; + if (!context()) { +@@ -197,8 +196,7 @@ class PassTest : public TestT { + // messages. + template + void SinglePassRunAndFail(const std::string& original, Args&&... args) { +- context_ = +- std::move(BuildModule(env_, consumer_, original, assemble_options_)); ++ context_ = BuildModule(env_, consumer_, original, assemble_options_); + EXPECT_NE(nullptr, context()) << "Assembling failed for shader:\n" + << original << std::endl; + std::ostringstream errs; +@@ -235,8 +233,7 @@ class PassTest : public TestT { + void RunAndCheck(const std::string& original, const std::string& expected) { + assert(manager_->NumPasses()); + +- context_ = +- std::move(BuildModule(env_, nullptr, original, assemble_options_)); ++ context_ = BuildModule(env_, nullptr, original, assemble_options_); + ASSERT_NE(nullptr, context()); + + context()->set_preserve_bindings(OptimizerOptions()->preserve_bindings_); +-- +2.24.1 + diff --git a/meta-openembedded/meta-oe/recipes-graphics/spir/files/0001-Respect-CMAKE_INSTALL_LIBDIR-in-installed-CMake-file.patch b/meta-openembedded/meta-oe/recipes-graphics/spir/files/0001-Respect-CMAKE_INSTALL_LIBDIR-in-installed-CMake-file.patch new file mode 100644 index 0000000000..5d37da8fe0 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/spir/files/0001-Respect-CMAKE_INSTALL_LIBDIR-in-installed-CMake-file.patch @@ -0,0 +1,35 @@ +From caf59c46ea5dc49e4dbf756c642b03e52c1b5468 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Fri, 20 Dec 2019 07:02:24 -0800 +Subject: [PATCH] Respect CMAKE_INSTALL_LIBDIR in installed CMake files + +Upstream-Status: Submitted [https://github.com/google/effcee/pull/36] +Signed-off-by: Khem Raj +--- + CMakeLists.txt | 1 + + effcee/CMakeLists.txt | 4 ++-- + 2 files changed, 3 insertions(+), 2 deletions(-) + +--- a/external/effcee/CMakeLists.txt ++++ b/external/effcee/CMakeLists.txt +@@ -27,6 +27,7 @@ endif() + + include(cmake/setup_build.cmake) + include(cmake/utils.cmake) ++include(GNUInstallDirs) + + add_subdirectory(third_party) + add_subdirectory(effcee) +--- a/external/effcee/effcee/CMakeLists.txt ++++ b/external/effcee/effcee/CMakeLists.txt +@@ -14,8 +14,8 @@ install( + DESTINATION + include/effcee) + install(TARGETS effcee +- LIBRARY DESTINATION lib +- ARCHIVE DESTINATION lib) ++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) + + if(EFFCEE_BUILD_TESTING) + add_executable(effcee-test diff --git a/meta-openembedded/meta-oe/recipes-graphics/spir/files/0001-tools-lesspipe-Allow-generic-shell.patch b/meta-openembedded/meta-oe/recipes-graphics/spir/files/0001-tools-lesspipe-Allow-generic-shell.patch deleted file mode 100644 index e9a45c24fc..0000000000 --- a/meta-openembedded/meta-oe/recipes-graphics/spir/files/0001-tools-lesspipe-Allow-generic-shell.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 03127fd5a6eff5ae2ebea2e9c6c01fbf1a0a421a Mon Sep 17 00:00:00 2001 -From: Ankit Navik -Date: Tue, 25 Dec 2018 14:34:09 +0530 -Subject: [PATCH] tools/lesspipe: Allow generic shell - -Upstream-Status: Submitted [https://github.com/KhronosGroup/SPIRV-Tools/pull/2255] -Signed-off-by: Ankit Navik ---- - tools/lesspipe/spirv-lesspipe.sh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/tools/lesspipe/spirv-lesspipe.sh b/tools/lesspipe/spirv-lesspipe.sh -index 81e3355..f955259 100644 ---- a/tools/lesspipe/spirv-lesspipe.sh -+++ b/tools/lesspipe/spirv-lesspipe.sh -@@ -1,4 +1,4 @@ --#!/bin/bash -+#!/usr/bin/env sh - # Copyright (c) 2016 The Khronos Group Inc. - - # Licensed under the Apache License, Version 2.0 (the "License"); --- -2.7.4 - diff --git a/meta-openembedded/meta-oe/recipes-graphics/spir/spirv-tools_git.bb b/meta-openembedded/meta-oe/recipes-graphics/spir/spirv-tools_git.bb index aae11dffcd..8e8388e8d4 100644 --- a/meta-openembedded/meta-oe/recipes-graphics/spir/spirv-tools_git.bb +++ b/meta-openembedded/meta-oe/recipes-graphics/spir/spirv-tools_git.bb @@ -9,20 +9,23 @@ SECTION = "graphics" S = "${WORKDIR}/git" DEST_DIR = "${S}/external" SRC_URI = "git://github.com/KhronosGroup/SPIRV-Tools.git;name=spirv-tools \ - file://0001-tools-lesspipe-Allow-generic-shell.patch \ git://github.com/KhronosGroup/SPIRV-Headers.git;name=spirv-headers;destsuffix=${DEST_DIR}/spirv-headers \ git://github.com/google/effcee.git;name=effcee;destsuffix=${DEST_DIR}/effcee \ git://github.com/google/re2.git;name=re2;destsuffix=${DEST_DIR}/re2 \ git://github.com/google/googletest.git;name=googletest;destsuffix=${DEST_DIR}/googletest \ + file://0001-Respect-CMAKE_INSTALL_LIBDIR-in-installed-CMake-file.patch \ + file://0001-Avoid-pessimizing-std-move-3124.patch \ " -SRCREV_spirv-tools = "167f1270a9ee641b17c016a545741e4aadfabe86" -SRCREV_spirv-headers = "4618b86e9e4b027a22040732dfee35e399cd2c47" -SRCREV_effcee = "8f0a61dc95e0df18c18e0ac56d83b3fa9d2fe90b" -SRCREV_re2 = "2cf86e5ab6dcfe045a1f510c2b9a8b012a4158cd" -SRCREV_googletest = "150613166524c474a8a97df4c01d46b72050c495" +SRCREV_spirv-tools = "c413b982c316b14e784f50d941814fc737b55b4a" +SRCREV_spirv-headers = "af64a9e826bf5bb5fcd2434dd71be1e41e922563" +SRCREV_effcee = "cd25ec17e9382f99a895b9ef53ff3c277464d07d" +SRCREV_re2 = "5bd613749fd530b576b890283bfb6bc6ea6246cb" +SRCREV_googletest = "f2fb48c3b3d79a75a88a99fba6576b25d42ec528" inherit cmake python3native +EXTRA_OECMAKE += "-DSPIRV_WERROR=OFF" + do_install_append() { install -d ${D}/${includedir}/spirv install -m 0644 ${DEST_DIR}/spirv-headers/include/spirv/1.2/* ${D}/${includedir}/spirv diff --git a/meta-openembedded/meta-oe/recipes-graphics/stalonetray/stalonetray_0.8.3.bb b/meta-openembedded/meta-oe/recipes-graphics/stalonetray/stalonetray_0.8.3.bb index 8851729f5a..7db70ec96e 100644 --- a/meta-openembedded/meta-oe/recipes-graphics/stalonetray/stalonetray_0.8.3.bb +++ b/meta-openembedded/meta-oe/recipes-graphics/stalonetray/stalonetray_0.8.3.bb @@ -11,4 +11,6 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}-${PV}.tar.bz2" SRC_URI[md5sum] = "ae95dbbacc2620e032acea8abab8c9ef" SRC_URI[sha256sum] = "36548a588b2d466913423245dda6ffb6313132cd0cec635a117d37b3dab5fd4c" -inherit autotools +inherit autotools features_check + +REQUIRED_DISTRO_FEATURES = "x11" diff --git a/meta-openembedded/meta-oe/recipes-graphics/surf/surf_2.0.bb b/meta-openembedded/meta-oe/recipes-graphics/surf/surf_2.0.bb index 9932d0a1c4..989730186a 100644 --- a/meta-openembedded/meta-oe/recipes-graphics/surf/surf_2.0.bb +++ b/meta-openembedded/meta-oe/recipes-graphics/surf/surf_2.0.bb @@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=b57e7f7720307a02d5a6598b00fe3afa" DEPENDS = "webkitgtk gtk+3 glib-2.0" -REQUIRED_DISTRO_FEATURES = "x11" +REQUIRED_DISTRO_FEATURES = "x11 opengl" SRC_URI = "git://git.suckless.org/surf;branch=surf-webkit2 \ file://0001-config.mk-Fix-compiler-and-linker.patch \ diff --git a/meta-openembedded/meta-oe/recipes-graphics/tigervnc/tigervnc_1.10.1.bb b/meta-openembedded/meta-oe/recipes-graphics/tigervnc/tigervnc_1.10.1.bb new file mode 100644 index 0000000000..16937792eb --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/tigervnc/tigervnc_1.10.1.bb @@ -0,0 +1,130 @@ +DESCRIPTION = "TigerVNC remote display system" +HOMEPAGE = "http://www.tigervnc.com/" +LICENSE = "GPLv2+" +SECTION = "x11/utils" +DEPENDS = "xserver-xorg gnutls jpeg libxtst gettext-native fltk" +RDEPENDS_${PN} = "chkconfig coreutils hicolor-icon-theme perl" + +LIC_FILES_CHKSUM = "file://LICENCE.TXT;md5=75b02c2872421380bbd47781d2bd75d3" + +S = "${WORKDIR}/git" + +inherit features_check +REQUIRED_DISTRO_FEATURES = "x11" + +inherit autotools cmake +B = "${S}" + +SRCREV = "4739493b635372bd40a34640a719f79fa90e4dba" + +SRC_URI = "git://github.com/TigerVNC/tigervnc.git;branch=1.10-branch \ + file://0002-do-not-build-tests-sub-directory.patch \ + file://0003-add-missing-dynamic-library-to-FLTK_LIBRARIES.patch \ + file://0004-tigervnc-add-fPIC-option-to-COMPILE_FLAGS.patch \ +" + +# Keep sync with xorg-server in oe-core +XORG_PN ?= "xorg-server" +XORG_PV ?= "1.20.6" +SRC_URI += "${XORG_MIRROR}/individual/xserver/${XORG_PN}-${XORG_PV}.tar.bz2;name=xorg" +XORG_S = "${WORKDIR}/${XORG_PN}-${XORG_PV}" +SRC_URI[xorg.md5sum] = "a98170084f2c8fed480d2ff601f8a14b" +SRC_URI[xorg.sha256sum] = "6316146304e6e8a36d5904987ae2917b5d5b195dc9fc63d67f7aca137e5a51d1" + +# It is the directory containing the Xorg source for the +# machine on which you are building TigerVNC. +XSERVER_SOURCE_DIR="${S}/unix/xserver" + +do_patch[postfuncs] += "do_patch_xserver" +do_patch_xserver () { + for subdir in Xext xkb GL hw/xquartz/bundle hw/xfree86/common; do + install -d ${XSERVER_SOURCE_DIR}/$subdir + done + + for subdir in hw/dmx/doc man doc hw/dmx/doxygen; do + install -d ${XSERVER_SOURCE_DIR}/$subdir + done + + sources="hw/xquartz/bundle/cpprules.in man/Xserver.man doc/smartsched \ + hw/dmx/doxygen/doxygen.conf.in xserver.ent.in xkb/README.compiled \ + hw/xfree86/xorgconf.cpp hw/xfree86/Xorg.sh.in" + for i in ${sources}; do + install -m 0644 ${XORG_S}/$i ${XSERVER_SOURCE_DIR}/$i; + done + + cd ${XORG_S} + find . -type f | egrep '.*\.(c|h|am|ac|inc|m4|h.in|pc.in|man.pre|pl|txt)$' | \ + xargs tar cf - | (cd ${XSERVER_SOURCE_DIR} && tar xf -) + + cd ${XSERVER_SOURCE_DIR} + xserverpatch="${S}/unix/xserver120.patch" + echo "Apply $xserverpatch" + patch -p1 -b --suffix .vnc < $xserverpatch +} + +EXTRA_OECONF = "--disable-xorg --disable-xnest --disable-xvfb --disable-dmx \ + --disable-xwin --disable-xephyr --disable-kdrive --with-pic \ + --disable-static --disable-xinerama \ + --with-xkb-output=${localstatedir}/lib/xkb \ + --disable-glx --disable-dri --disable-dri2 \ + --disable-config-hal \ + --disable-config-udev \ + --without-dtrace \ + --disable-unit-tests \ + --disable-devel-docs \ + --disable-selective-werror \ + --disable-xshmfence \ + --disable-config-udev \ + --disable-dri3 \ + --disable-libunwind \ + --without-xmlto \ + --enable-systemd-logind=no \ + --disable-xinerama \ + --disable-xwayland \ +" + +do_configure_append () { + olddir=`pwd` + cd ${XSERVER_SOURCE_DIR} + + rm -rf aclocal-copy/ + rm -f aclocal.m4 + + export ACLOCALDIR="${XSERVER_SOURCE_DIR}/aclocal-copy" + mkdir -p ${ACLOCALDIR}/ + if [ -d ${STAGING_DATADIR_NATIVE}/aclocal ]; then + cp-noerror ${STAGING_DATADIR_NATIVE}/aclocal/ ${ACLOCALDIR}/ + fi + if [ -d ${STAGING_DATADIR}/aclocal -a "${STAGING_DATADIR_NATIVE}/aclocal" != "${STAGING_DATADIR}/aclocal" ]; then + cp-noerror ${STAGING_DATADIR}/aclocal/ ${ACLOCALDIR}/ + fi + ACLOCAL="aclocal --system-acdir=${ACLOCALDIR}/" autoreconf -Wcross --verbose --install --force ${EXTRA_AUTORECONF} $acpaths || bbfatal "autoreconf execution failed." + chmod +x ./configure + ${CACHED_CONFIGUREVARS} ./configure ${CONFIGUREOPTS} ${EXTRA_OECONF} + cd $olddir +} + +do_compile_append () { + olddir=`pwd` + cd ${XSERVER_SOURCE_DIR} + + oe_runmake + + cd $olddir +} + +do_install_append() { + olddir=`pwd` + cd ${XSERVER_SOURCE_DIR}/hw/vnc + + oe_runmake 'DESTDIR=${D}' install + + cd $olddir +} + +FILES_${PN} += " \ + ${libdir}/xorg/modules/extensions \ + ${datadir}/icons \ +" + +FILES_${PN}-dbg += "${libdir}/xorg/modules/extensions/.debug" diff --git a/meta-openembedded/meta-oe/recipes-graphics/tigervnc/tigervnc_1.9.0.bb b/meta-openembedded/meta-oe/recipes-graphics/tigervnc/tigervnc_1.9.0.bb deleted file mode 100644 index d0ee2a50ec..0000000000 --- a/meta-openembedded/meta-oe/recipes-graphics/tigervnc/tigervnc_1.9.0.bb +++ /dev/null @@ -1,131 +0,0 @@ -DESCRIPTION = "TigerVNC remote display system" -HOMEPAGE = "http://www.tigervnc.com/" -LICENSE = "GPLv2+" -SECTION = "x11/utils" -DEPENDS = "xserver-xorg gnutls jpeg libxtst gettext-native fltk" -RDEPENDS_${PN} = "chkconfig coreutils hicolor-icon-theme" - -LIC_FILES_CHKSUM = "file://LICENCE.TXT;md5=75b02c2872421380bbd47781d2bd75d3" - -S = "${WORKDIR}/git" - -inherit features_check -REQUIRED_DISTRO_FEATURES = "x11" - -inherit autotools cmake -B = "${S}" - -SRCREV = "6f2301d08e64a965ad36b401ec8dc2b24bc47075" - -SRC_URI = "git://github.com/TigerVNC/tigervnc.git;branch=1.9-branch \ - file://0001-tigervnc-remove-includedir.patch \ - file://0002-do-not-build-tests-sub-directory.patch \ - file://0003-add-missing-dynamic-library-to-FLTK_LIBRARIES.patch \ - file://0004-tigervnc-add-fPIC-option-to-COMPILE_FLAGS.patch \ -" - -# Keep sync with xorg-server in oe-core -XORG_PN ?= "xorg-server" -XORG_PV ?= "1.19.6" -SRC_URI += "${XORG_MIRROR}/individual/xserver/${XORG_PN}-${XORG_PV}.tar.bz2;name=xorg" -XORG_S = "${WORKDIR}/${XORG_PN}-${XORG_PV}" -SRC_URI[xorg.md5sum] = "3e47777ff034a331aed2322b078694a8" -SRC_URI[xorg.sha256sum] = "a732502f1db000cf36a376cd0c010ffdbf32ecdd7f1fa08ba7f5bdf9601cc197" - -# It is the directory containing the Xorg source for the -# machine on which you are building TigerVNC. -XSERVER_SOURCE_DIR="${S}/unix/xserver" - -do_patch[postfuncs] += "do_patch_xserver" -do_patch_xserver () { - for subdir in Xext xkb GL hw/xquartz/bundle hw/xfree86/common; do - install -d ${XSERVER_SOURCE_DIR}/$subdir - done - - for subdir in hw/dmx/doc man doc hw/dmx/doxygen; do - install -d ${XSERVER_SOURCE_DIR}/$subdir - done - - sources="hw/xquartz/bundle/cpprules.in man/Xserver.man doc/smartsched \ - hw/dmx/doxygen/doxygen.conf.in xserver.ent.in xkb/README.compiled \ - hw/xfree86/xorgconf.cpp hw/xfree86/Xorg.sh.in" - for i in ${sources}; do - install -m 0644 ${XORG_S}/$i ${XSERVER_SOURCE_DIR}/$i; - done - - cd ${XORG_S} - find . -type f | egrep '.*\.(c|h|am|ac|inc|m4|h.in|pc.in|man.pre|pl|txt)$' | \ - xargs tar cf - | (cd ${XSERVER_SOURCE_DIR} && tar xf -) - - cd ${XSERVER_SOURCE_DIR} - xserverpatch="${S}/unix/xserver119.patch" - echo "Apply $xserverpatch" - patch -p1 -b --suffix .vnc < $xserverpatch -} - -EXTRA_OECONF = "--disable-xorg --disable-xnest --disable-xvfb --disable-dmx \ - --disable-xwin --disable-xephyr --disable-kdrive --with-pic \ - --disable-static --disable-xinerama \ - --with-xkb-output=${localstatedir}/lib/xkb \ - --disable-glx --disable-dri --disable-dri2 \ - --disable-config-hal \ - --disable-config-udev \ - --without-dtrace \ - --disable-unit-tests \ - --disable-devel-docs \ - --disable-selective-werror \ - --disable-xshmfence \ - --disable-config-udev \ - --disable-dri3 \ - --disable-libunwind \ - --without-xmlto \ - --enable-systemd-logind=no \ - --disable-xinerama \ - --disable-xwayland \ -" - -do_configure_append () { - olddir=`pwd` - cd ${XSERVER_SOURCE_DIR} - - rm -rf aclocal-copy/ - rm -f aclocal.m4 - - export ACLOCALDIR="${XSERVER_SOURCE_DIR}/aclocal-copy" - mkdir -p ${ACLOCALDIR}/ - if [ -d ${STAGING_DATADIR_NATIVE}/aclocal ]; then - cp-noerror ${STAGING_DATADIR_NATIVE}/aclocal/ ${ACLOCALDIR}/ - fi - if [ -d ${STAGING_DATADIR}/aclocal -a "${STAGING_DATADIR_NATIVE}/aclocal" != "${STAGING_DATADIR}/aclocal" ]; then - cp-noerror ${STAGING_DATADIR}/aclocal/ ${ACLOCALDIR}/ - fi - ACLOCAL="aclocal --system-acdir=${ACLOCALDIR}/" autoreconf -Wcross --verbose --install --force ${EXTRA_AUTORECONF} $acpaths || bbfatal "autoreconf execution failed." - chmod +x ./configure - ${CACHED_CONFIGUREVARS} ./configure ${CONFIGUREOPTS} ${EXTRA_OECONF} - cd $olddir -} - -do_compile_append () { - olddir=`pwd` - cd ${XSERVER_SOURCE_DIR} - - oe_runmake - - cd $olddir -} - -do_install_append() { - olddir=`pwd` - cd ${XSERVER_SOURCE_DIR}/hw/vnc - - oe_runmake 'DESTDIR=${D}' install - - cd $olddir -} - -FILES_${PN} += " \ - ${libdir}/xorg/modules/extensions \ - ${datadir}/icons \ -" - -FILES_${PN}-dbg += "${libdir}/xorg/modules/extensions/.debug" diff --git a/meta-openembedded/meta-oe/recipes-graphics/tslib/tslib/0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch b/meta-openembedded/meta-oe/recipes-graphics/tslib/tslib/0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch new file mode 100644 index 0000000000..59bd97a0f2 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/tslib/tslib/0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch @@ -0,0 +1,389 @@ +From 5455055660700be18eb8800e56e2423031ed4c76 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sat, 30 Nov 2019 19:59:29 -0800 +Subject: [PATCH] Fix build on 32bit arches with 64bit time_t + +time element is deprecated on new input_event structure in kernel's +input.h [1] + +[1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit?id=152194fe9c3f + +Upstream-Status: Submitted [https://github.com/libts/tslib/pull/162] + +Signed-off-by: Khem Raj +--- + plugins/input-raw.c | 59 +++++++++++++++++++++++++++------------- + tools/ts_uinput.c | 66 ++++++++++++++++++++++++++++++--------------- + 2 files changed, 85 insertions(+), 40 deletions(-) + +diff --git a/plugins/input-raw.c b/plugins/input-raw.c +index 64f0156..f030836 100644 +--- a/plugins/input-raw.c ++++ b/plugins/input-raw.c +@@ -40,6 +40,11 @@ + # include + #endif + ++#ifndef input_event_sec ++#define input_event_sec time.tv_sec ++#define input_event_usec time.tv_usec ++#endif ++ + #ifndef EV_SYN /* 2.4 kernel headers */ + # define EV_SYN 0x00 + #endif +@@ -384,7 +389,8 @@ static int ts_input_read(struct tslib_module_info *inf, + samp->y = i->current_y; + samp->pressure = i->current_p; + } +- samp->tv = ev.time; ++ samp->tv.tv_sec = ev.input_event_sec; ++ samp->tv.tv_usec = ev.input_event_usec; + #ifdef DEBUG + fprintf(stderr, + "RAW---------------------> %d %d %d %ld.%ld\n", +@@ -519,7 +525,8 @@ static int ts_input_read(struct tslib_module_info *inf, + samp->pressure = i->current_p = ev.value; + break; + } +- samp->tv = ev.time; ++ samp->tv.tv_sec = ev.input_event_sec; ++ samp->tv.tv_usec = ev.input_event_usec; + #ifdef DEBUG + fprintf(stderr, + "RAW---------------------------> %d %d %d\n", +@@ -536,7 +543,8 @@ static int ts_input_read(struct tslib_module_info *inf, + samp->x = 0; + samp->y = 0; + samp->pressure = 0; +- samp->tv = ev.time; ++ samp->tv.tv_sec = ev.input_event_sec; ++ samp->tv.tv_usec = ev.input_event_usec; + samp++; + total++; + } +@@ -651,7 +659,8 @@ static int ts_input_read_mt(struct tslib_module_info *inf, + switch (i->ev[it].code) { + case BTN_TOUCH: + i->buf[total][i->slot].pen_down = i->ev[it].value; +- i->buf[total][i->slot].tv = i->ev[it].time; ++ i->buf[total][i->slot].tv.tv_sec = i->ev[it].input_event_sec; ++ i->buf[total][i->slot].tv.tv_usec = i->ev[it].input_event_usec; + i->buf[total][i->slot].valid |= TSLIB_MT_VALID; + if (i->ev[it].value == 0) + pen_up = 1; +@@ -751,7 +760,8 @@ static int ts_input_read_mt(struct tslib_module_info *inf, + // fall through + case ABS_MT_POSITION_X: + i->buf[total][i->slot].x = i->ev[it].value; +- i->buf[total][i->slot].tv = i->ev[it].time; ++ i->buf[total][i->slot].tv.tv_sec = i->ev[it].input_event_sec; ++ i->buf[total][i->slot].tv.tv_usec = i->ev[it].input_event_usec; + i->buf[total][i->slot].valid |= TSLIB_MT_VALID; + break; + case ABS_Y: +@@ -760,7 +770,8 @@ static int ts_input_read_mt(struct tslib_module_info *inf, + // fall through + case ABS_MT_POSITION_Y: + i->buf[total][i->slot].y = i->ev[it].value; +- i->buf[total][i->slot].tv = i->ev[it].time; ++ i->buf[total][i->slot].tv.tv_sec = i->ev[it].input_event_sec; ++ i->buf[total][i->slot].tv.tv_usec = i->ev[it].input_event_usec; + i->buf[total][i->slot].valid |= TSLIB_MT_VALID; + break; + case ABS_PRESSURE: +@@ -769,12 +780,14 @@ static int ts_input_read_mt(struct tslib_module_info *inf, + // fall through + case ABS_MT_PRESSURE: + i->buf[total][i->slot].pressure = i->ev[it].value; +- i->buf[total][i->slot].tv = i->ev[it].time; ++ i->buf[total][i->slot].tv.tv_sec = i->ev[it].input_event_sec; ++ i->buf[total][i->slot].tv.tv_usec = i->ev[it].input_event_usec; + i->buf[total][i->slot].valid |= TSLIB_MT_VALID; + break; + case ABS_MT_TOOL_X: + i->buf[total][i->slot].tool_x = i->ev[it].value; +- i->buf[total][i->slot].tv = i->ev[it].time; ++ i->buf[total][i->slot].tv.tv_sec = i->ev[it].input_event_sec; ++ i->buf[total][i->slot].tv.tv_usec = i->ev[it].input_event_usec; + i->buf[total][i->slot].valid |= TSLIB_MT_VALID; + /* for future use + * i->buf[total][i->slot].valid |= TSLIB_MT_VALID_TOOL; +@@ -782,7 +795,8 @@ static int ts_input_read_mt(struct tslib_module_info *inf, + break; + case ABS_MT_TOOL_Y: + i->buf[total][i->slot].tool_y = i->ev[it].value; +- i->buf[total][i->slot].tv = i->ev[it].time; ++ i->buf[total][i->slot].tv.tv_sec = i->ev[it].input_event_sec; ++ i->buf[total][i->slot].tv.tv_usec = i->ev[it].input_event_usec; + i->buf[total][i->slot].valid |= TSLIB_MT_VALID; + /* for future use + * i->buf[total][i->slot].valid |= TSLIB_MT_VALID_TOOL; +@@ -790,7 +804,8 @@ static int ts_input_read_mt(struct tslib_module_info *inf, + break; + case ABS_MT_TOOL_TYPE: + i->buf[total][i->slot].tool_type = i->ev[it].value; +- i->buf[total][i->slot].tv = i->ev[it].time; ++ i->buf[total][i->slot].tv.tv_sec = i->ev[it].input_event_sec; ++ i->buf[total][i->slot].tv.tv_usec = i->ev[it].input_event_usec; + i->buf[total][i->slot].valid |= TSLIB_MT_VALID; + /* for future use + * i->buf[total][i->slot].valid |= TSLIB_MT_VALID_TOOL; +@@ -798,12 +813,14 @@ static int ts_input_read_mt(struct tslib_module_info *inf, + break; + case ABS_MT_ORIENTATION: + i->buf[total][i->slot].orientation = i->ev[it].value; +- i->buf[total][i->slot].tv = i->ev[it].time; ++ i->buf[total][i->slot].tv.tv_sec = i->ev[it].input_event_sec; ++ i->buf[total][i->slot].tv.tv_usec = i->ev[it].input_event_usec; + i->buf[total][i->slot].valid |= TSLIB_MT_VALID; + break; + case ABS_MT_DISTANCE: + i->buf[total][i->slot].distance = i->ev[it].value; +- i->buf[total][i->slot].tv = i->ev[it].time; ++ i->buf[total][i->slot].tv.tv_sec = i->ev[it].input_event_sec; ++ i->buf[total][i->slot].tv.tv_usec = i->ev[it].input_event_usec; + i->buf[total][i->slot].valid |= TSLIB_MT_VALID; + + if (i->special_device == EGALAX_VERSION_210) { +@@ -816,34 +833,40 @@ static int ts_input_read_mt(struct tslib_module_info *inf, + break; + case ABS_MT_BLOB_ID: + i->buf[total][i->slot].blob_id = i->ev[it].value; +- i->buf[total][i->slot].tv = i->ev[it].time; ++ i->buf[total][i->slot].tv.tv_sec = i->ev[it].input_event_sec; ++ i->buf[total][i->slot].tv.tv_usec = i->ev[it].input_event_usec; + i->buf[total][i->slot].valid |= TSLIB_MT_VALID; + break; + case ABS_MT_TOUCH_MAJOR: + i->buf[total][i->slot].touch_major = i->ev[it].value; +- i->buf[total][i->slot].tv = i->ev[it].time; ++ i->buf[total][i->slot].tv.tv_sec = i->ev[it].input_event_sec; ++ i->buf[total][i->slot].tv.tv_usec = i->ev[it].input_event_usec; + i->buf[total][i->slot].valid |= TSLIB_MT_VALID; + if (i->ev[it].value == 0) + i->buf[total][i->slot].pressure = 0; + break; + case ABS_MT_WIDTH_MAJOR: + i->buf[total][i->slot].width_major = i->ev[it].value; +- i->buf[total][i->slot].tv = i->ev[it].time; ++ i->buf[total][i->slot].tv.tv_sec = i->ev[it].input_event_sec; ++ i->buf[total][i->slot].tv.tv_usec = i->ev[it].input_event_usec; + i->buf[total][i->slot].valid |= TSLIB_MT_VALID; + break; + case ABS_MT_TOUCH_MINOR: + i->buf[total][i->slot].touch_minor = i->ev[it].value; +- i->buf[total][i->slot].tv = i->ev[it].time; ++ i->buf[total][i->slot].tv.tv_sec = i->ev[it].input_event_sec; ++ i->buf[total][i->slot].tv.tv_usec = i->ev[it].input_event_usec; + i->buf[total][i->slot].valid |= TSLIB_MT_VALID; + break; + case ABS_MT_WIDTH_MINOR: + i->buf[total][i->slot].width_minor = i->ev[it].value; +- i->buf[total][i->slot].tv = i->ev[it].time; ++ i->buf[total][i->slot].tv.tv_sec = i->ev[it].input_event_sec; ++ i->buf[total][i->slot].tv.tv_usec = i->ev[it].input_event_usec; + i->buf[total][i->slot].valid |= TSLIB_MT_VALID; + break; + case ABS_MT_TRACKING_ID: + i->buf[total][i->slot].tracking_id = i->ev[it].value; +- i->buf[total][i->slot].tv = i->ev[it].time; ++ i->buf[total][i->slot].tv.tv_sec = i->ev[it].input_event_sec; ++ i->buf[total][i->slot].tv.tv_usec = i->ev[it].input_event_usec; + i->buf[total][i->slot].valid |= TSLIB_MT_VALID; + if (i->ev[it].value == -1) + i->buf[total][i->slot].pressure = 0; +diff --git a/tools/ts_uinput.c b/tools/ts_uinput.c +index 6ca4c3d..1832a07 100644 +--- a/tools/ts_uinput.c ++++ b/tools/ts_uinput.c +@@ -170,14 +170,16 @@ static int send_touch_events(struct data_t *data, struct ts_sample_mt **s, + continue; + + if (s[j][i].pen_down == 1) { +- data->ev[c].time = s[j][i].tv; ++ data->ev[c].input_event_sec = s[j][i].tv.tv_sec; ++ data->ev[c].input_event_usec = s[j][i].tv.tv_usec; + data->ev[c].type = EV_KEY; + data->ev[c].code = BTN_TOUCH; + data->ev[c].value = s[j][i].pen_down; + c++; + } + +- data->ev[c].time = s[j][i].tv; ++ data->ev[c].input_event_sec = s[j][i].tv.tv_sec; ++ data->ev[c].input_event_usec = s[j][i].tv.tv_usec; + data->ev[c].type = EV_ABS; + data->ev[c].code = ABS_MT_SLOT; + data->ev[c].value = s[j][i].slot; +@@ -190,111 +192,129 @@ static int send_touch_events(struct data_t *data, struct ts_sample_mt **s, + * we should use slot 1 and so on. + */ + if (i == 0) { +- data->ev[c].time = s[j][i].tv; ++ data->ev[c].input_event_sec = s[j][i].tv.tv_sec; ++ data->ev[c].input_event_usec = s[j][i].tv.tv_usec; + data->ev[c].type = EV_ABS; + data->ev[c].code = ABS_X; + data->ev[c].value = s[j][i].x; + c++; + +- data->ev[c].time = s[j][i].tv; ++ data->ev[c].input_event_sec = s[j][i].tv.tv_sec; ++ data->ev[c].input_event_usec = s[j][i].tv.tv_usec; + data->ev[c].type = EV_ABS; + data->ev[c].code = ABS_Y; + data->ev[c].value = s[j][i].y; + c++; + +- data->ev[c].time = s[j][i].tv; ++ data->ev[c].input_event_sec = s[j][i].tv.tv_sec; ++ data->ev[c].input_event_usec = s[j][i].tv.tv_usec; + data->ev[c].type = EV_ABS; + data->ev[c].code = ABS_PRESSURE; + data->ev[c].value = s[j][i].pressure; + c++; + } + +- data->ev[c].time = s[j][i].tv; ++ data->ev[c].input_event_sec = s[j][i].tv.tv_sec; ++ data->ev[c].input_event_usec = s[j][i].tv.tv_usec; + data->ev[c].type = EV_ABS; + data->ev[c].code = ABS_MT_POSITION_X; + data->ev[c].value = s[j][i].x; + c++; + +- data->ev[c].time = s[j][i].tv; ++ data->ev[c].input_event_sec = s[j][i].tv.tv_sec; ++ data->ev[c].input_event_usec = s[j][i].tv.tv_usec; + data->ev[c].type = EV_ABS; + data->ev[c].code = ABS_MT_POSITION_Y; + data->ev[c].value = s[j][i].y; + c++; + +- data->ev[c].time = s[j][i].tv; ++ data->ev[c].input_event_sec = s[j][i].tv.tv_sec; ++ data->ev[c].input_event_usec = s[j][i].tv.tv_usec; + data->ev[c].type = EV_ABS; + data->ev[c].code = ABS_MT_PRESSURE; + data->ev[c].value = s[j][i].pressure; + c++; + +- data->ev[c].time = s[j][i].tv; ++ data->ev[c].input_event_sec = s[j][i].tv.tv_sec; ++ data->ev[c].input_event_usec = s[j][i].tv.tv_usec; + data->ev[c].type = EV_ABS; + data->ev[c].code = ABS_MT_TOUCH_MAJOR; + data->ev[c].value = s[j][i].touch_major; + c++; + +- data->ev[c].time = s[j][i].tv; ++ data->ev[c].input_event_sec = s[j][i].tv.tv_sec; ++ data->ev[c].input_event_usec = s[j][i].tv.tv_usec; + data->ev[c].type = EV_ABS; + data->ev[c].code = ABS_MT_WIDTH_MAJOR; + data->ev[c].value = s[j][i].width_major; + c++; + +- data->ev[c].time = s[j][i].tv; ++ data->ev[c].input_event_sec = s[j][i].tv.tv_sec; ++ data->ev[c].input_event_usec = s[j][i].tv.tv_usec; + data->ev[c].type = EV_ABS; + data->ev[c].code = ABS_MT_TOUCH_MINOR; + data->ev[c].value = s[j][i].touch_minor; + c++; + +- data->ev[c].time = s[j][i].tv; ++ data->ev[c].input_event_sec = s[j][i].tv.tv_sec; ++ data->ev[c].input_event_usec = s[j][i].tv.tv_usec; + data->ev[c].type = EV_ABS; + data->ev[c].code = ABS_MT_WIDTH_MINOR; + data->ev[c].value = s[j][i].width_minor; + c++; + +- data->ev[c].time = s[j][i].tv; ++ data->ev[c].input_event_sec = s[j][i].tv.tv_sec; ++ data->ev[c].input_event_usec = s[j][i].tv.tv_usec; + data->ev[c].type = EV_ABS; + data->ev[c].code = ABS_MT_TOOL_TYPE; + data->ev[c].value = s[j][i].tool_type; + c++; + +- data->ev[c].time = s[j][i].tv; ++ data->ev[c].input_event_sec = s[j][i].tv.tv_sec; ++ data->ev[c].input_event_usec = s[j][i].tv.tv_usec; + data->ev[c].type = EV_ABS; + data->ev[c].code = ABS_MT_TOOL_X; + data->ev[c].value = s[j][i].tool_x; + c++; + +- data->ev[c].time = s[j][i].tv; ++ data->ev[c].input_event_sec = s[j][i].tv.tv_sec; ++ data->ev[c].input_event_usec = s[j][i].tv.tv_usec; + data->ev[c].type = EV_ABS; + data->ev[c].code = ABS_MT_TOOL_Y; + data->ev[c].value = s[j][i].tool_y; + c++; + +- data->ev[c].time = s[j][i].tv; ++ data->ev[c].input_event_sec = s[j][i].tv.tv_sec; ++ data->ev[c].input_event_usec = s[j][i].tv.tv_usec; + data->ev[c].type = EV_ABS; + data->ev[c].code = ABS_MT_ORIENTATION; + data->ev[c].value = s[j][i].orientation; + c++; + +- data->ev[c].time = s[j][i].tv; ++ data->ev[c].input_event_sec = s[j][i].tv.tv_sec; ++ data->ev[c].input_event_usec = s[j][i].tv.tv_usec; + data->ev[c].type = EV_ABS; + data->ev[c].code = ABS_MT_DISTANCE; + data->ev[c].value = s[j][i].distance; + c++; + +- data->ev[c].time = s[j][i].tv; ++ data->ev[c].input_event_sec = s[j][i].tv.tv_sec; ++ data->ev[c].input_event_usec = s[j][i].tv.tv_usec; + data->ev[c].type = EV_ABS; + data->ev[c].code = ABS_MT_BLOB_ID; + data->ev[c].value = s[j][i].blob_id; + c++; + +- data->ev[c].time = s[j][i].tv; ++ data->ev[c].input_event_sec = s[j][i].tv.tv_sec; ++ data->ev[c].input_event_usec = s[j][i].tv.tv_usec; + data->ev[c].type = EV_ABS; + data->ev[c].code = ABS_MT_TRACKING_ID; + data->ev[c].value = s[j][i].tracking_id; + c++; + + if (data->mt_type_a == 1) { +- data->ev[c].time = s[j][i].tv; ++ data->ev[c].input_event_sec = s[j][i].tv.tv_sec; ++ data->ev[c].input_event_usec = s[j][i].tv.tv_usec; + data->ev[c].type = EV_SYN; + data->ev[c].code = SYN_MT_REPORT; + data->ev[c].value = 0; +@@ -302,7 +322,8 @@ static int send_touch_events(struct data_t *data, struct ts_sample_mt **s, + } + + if (s[j][i].pen_down == 0) { +- data->ev[c].time = s[j][i].tv; ++ data->ev[c].input_event_sec = s[j][i].tv.tv_sec; ++ data->ev[c].input_event_usec = s[j][i].tv.tv_usec; + data->ev[c].type = EV_KEY; + data->ev[c].code = BTN_TOUCH; + data->ev[c].value = s[j][i].pen_down; +@@ -312,7 +333,8 @@ static int send_touch_events(struct data_t *data, struct ts_sample_mt **s, + } + + if (c > 0) { +- data->ev[c].time = s[j][i].tv; ++ data->ev[c].input_event_sec = s[j][i].tv.tv_sec; ++ data->ev[c].input_event_usec = s[j][i].tv.tv_usec; + data->ev[c].type = EV_SYN; + data->ev[c].code = SYN_REPORT; + data->ev[c].value = 0; +-- +2.24.0 + diff --git a/meta-openembedded/meta-oe/recipes-graphics/tslib/tslib_1.21.bb b/meta-openembedded/meta-oe/recipes-graphics/tslib/tslib_1.21.bb index 2bc40d9391..bb28ee410c 100644 --- a/meta-openembedded/meta-oe/recipes-graphics/tslib/tslib_1.21.bb +++ b/meta-openembedded/meta-oe/recipes-graphics/tslib/tslib_1.21.bb @@ -14,6 +14,7 @@ LIC_FILES_CHKSUM = "\ " SRC_URI = "https://github.com/kergoth/tslib/releases/download/${PV}/tslib-${PV}.tar.xz;downloadfilename=tslib-${PV}.tar.xz \ + file://0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch \ file://ts.conf \ file://tslib.sh \ " diff --git a/meta-openembedded/meta-oe/recipes-graphics/x11vnc/files/0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch b/meta-openembedded/meta-oe/recipes-graphics/x11vnc/files/0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch new file mode 100644 index 0000000000..d44445fa9f --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/x11vnc/files/0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch @@ -0,0 +1,111 @@ +From 8ab672ccc67b64058cffac2cd19a0d3b75d5aa25 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sat, 30 Nov 2019 11:43:32 -0800 +Subject: [PATCH] Fix build on 32bit arches with 64bit time_t + +time element is deprecated on new input_event structure in kernel's +input.h [1] + +[1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit?id=152194fe9c3f + +Upstream-Status: Submitted [https://github.com/LibVNC/x11vnc/pull/117] +Signed-off-by: Khem Raj +--- + src/uinput.c | 28 ++++++++++++++++++++++++---- + 1 file changed, 24 insertions(+), 4 deletions(-) + +diff --git a/src/uinput.c b/src/uinput.c +index 28fbad3..343b7c5 100644 +--- a/src/uinput.c ++++ b/src/uinput.c +@@ -54,6 +54,11 @@ so, delete this exception statement from your version. + #include + #include + ++#ifndef input_event_sec ++#define input_event_sec time.tv_sec ++#define input_event_usec time.tv_usec ++#endif ++ + #if !defined(EV_SYN) || !defined(SYN_REPORT) + #undef UINPUT_OK + #endif +@@ -710,6 +715,7 @@ void parse_uinput_str(char *in) { + static void ptr_move(int dx, int dy) { + #ifdef UINPUT_OK + struct input_event ev; ++ struct timeval tval; + int d = direct_rel_fd < 0 ? fd : direct_rel_fd; + + if (injectable && strchr(injectable, 'M') == NULL) { +@@ -720,7 +726,9 @@ static void ptr_move(int dx, int dy) { + + if (db) fprintf(stderr, "ptr_move(%d, %d) fd=%d\n", dx, dy, d); + +- gettimeofday(&ev.time, NULL); ++ gettimeofday(&tval, NULL); ++ ev.input_event_sec = tval.tv_sec; ++ ev.input_event_usec = tval.tv_usec; + ev.type = EV_REL; + ev.code = REL_Y; + ev.value = dy; +@@ -755,6 +763,7 @@ static void apply_tslib(int *x, int *y) { + static void ptr_abs(int x, int y, int p) { + #ifdef UINPUT_OK + struct input_event ev; ++ struct timeval tval; + int x0, y0; + int d = direct_abs_fd < 0 ? fd : direct_abs_fd; + +@@ -773,7 +782,9 @@ static void ptr_abs(int x, int y, int p) { + + if (db) fprintf(stderr, "ptr_abs(%d, %d => %d %d, p=%d) fd=%d\n", x0, y0, x, y, p, d); + +- gettimeofday(&ev.time, NULL); ++ gettimeofday(&tval, NULL); ++ ev.input_event_sec = tval.tv_sec; ++ ev.input_event_usec = tval.tv_usec; + ev.type = EV_ABS; + ev.code = ABS_Y; + ev.value = y; +@@ -950,6 +961,7 @@ if (0) {usleep(100*1000) ;} + static void button_click(int down, int btn) { + #ifdef UINPUT_OK + struct input_event ev; ++ struct timeval tval; + int d = direct_btn_fd < 0 ? fd : direct_btn_fd; + + if (injectable && strchr(injectable, 'B') == NULL) { +@@ -959,7 +971,12 @@ static void button_click(int down, int btn) { + if (db) fprintf(stderr, "button_click: btn %d %s fd=%d\n", btn, down ? "down" : "up", d); + + memset(&ev, 0, sizeof(ev)); +- gettimeofday(&ev.time, NULL); ++ gettimeofday(&tval, NULL); ++ gettimeofday(&tval, NULL); ++ ev.input_event_sec = tval.tv_sec; ++ ev.input_event_usec = tval.tv_usec; ++ ev.input_event_sec = tval.tv_sec; ++ ev.input_event_usec = tval.tv_usec; + ev.type = EV_KEY; + ev.value = down; + +@@ -1230,6 +1247,7 @@ void uinput_pointer_command(int mask, int x, int y, rfbClientPtr client) { + void uinput_key_command(int down, int keysym, rfbClientPtr client) { + #ifdef UINPUT_OK + struct input_event ev; ++ struct timeval tval; + int scancode; + allowed_input_t input; + int d = direct_key_fd < 0 ? fd : direct_key_fd; +@@ -1253,7 +1271,9 @@ void uinput_key_command(int down, int keysym, rfbClientPtr client) { + if (db) fprintf(stderr, "uinput_key_command: %d -> %d %s fd=%d\n", keysym, scancode, down ? "down" : "up", d); + + memset(&ev, 0, sizeof(ev)); +- gettimeofday(&ev.time, NULL); ++ gettimeofday(&tval, NULL); ++ ev.input_event_sec = tval.tv_sec; ++ ev.input_event_usec = tval.tv_usec; + ev.type = EV_KEY; + ev.code = (unsigned char) scancode; + ev.value = down; diff --git a/meta-openembedded/meta-oe/recipes-graphics/x11vnc/x11vnc_0.9.16.bb b/meta-openembedded/meta-oe/recipes-graphics/x11vnc/x11vnc_0.9.16.bb index d0c9f774fe..0d84c420a1 100644 --- a/meta-openembedded/meta-oe/recipes-graphics/x11vnc/x11vnc_0.9.16.bb +++ b/meta-openembedded/meta-oe/recipes-graphics/x11vnc/x11vnc_0.9.16.bb @@ -10,8 +10,9 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ SRCREV = "4ca006fed80410bd9b061a1519bd5d9366bb0bc8" SRC_URI = "git://github.com/LibVNC/x11vnc \ file://starting-fix.patch \ - file://0001-misc-Makefile.am-don-t-install-Xdummy-when-configure.patch \ -" + file://0001-misc-Makefile.am-don-t-install-Xdummy-when-configure.patch \ + file://0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch \ + " S = "${WORKDIR}/git" DEPENDS = "\ diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xterm/0001-Add-configure-time-check-for-setsid.patch b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xterm/0001-Add-configure-time-check-for-setsid.patch new file mode 100644 index 0000000000..d3beea8be1 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xterm/0001-Add-configure-time-check-for-setsid.patch @@ -0,0 +1,77 @@ +From 3730a38efad969fb6f8227df07eb4461a078f5a3 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Fri, 13 Dec 2019 12:59:26 -0800 +Subject: [PATCH] Add configure time check for setsid + +Do not assume glibc == linux + +Upstream-Status: Pending +Signed-off-by: Khem Raj +--- + configure | 1 + + configure.in | 1 + + main.c | 4 ++-- + xtermcfg.hin | 1 + + 5 files changed, 6 insertions(+), 2 deletions(-) + +diff --git a/configure b/configure +index 0aafefc..03e8df0 100755 +--- a/configure ++++ b/configure +@@ -5411,6 +5411,7 @@ for ac_func in \ + unsetenv \ + sched_yield \ + setpgid \ ++ setsid \ + strftime \ + tcgetattr \ + waitpid \ +diff --git a/configure.in b/configure.in +index d2fee88..74d65df 100644 +--- a/configure.in ++++ b/configure.in +@@ -99,6 +99,7 @@ AC_CHECK_FUNCS( \ + unsetenv \ + sched_yield \ + setpgid \ ++ setsid \ + strftime \ + tcgetattr \ + waitpid \ +diff --git a/main.c b/main.c +index 5e60589..b81d2be 100644 +--- a/main.c ++++ b/main.c +@@ -2868,7 +2868,7 @@ main(int argc, char *argv[]ENVP_ARG) + } + } + +-#if defined(__osf__) || (defined(__GLIBC__) && !defined(USE_USG_PTYS)) || defined(__DragonFly__) || defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__APPLE__) ++#if defined(__osf__) || (defined(__linux__) && !defined(USE_USG_PTYS)) || defined(__DragonFly__) || defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__APPLE__) + #define USE_OPENPTY 1 + static int opened_tty = -1; + #endif +@@ -4040,7 +4040,7 @@ spawnXTerm(XtermWidget xw, unsigned line_speed) + /* + * now in child process + */ +-#if defined(_POSIX_SOURCE) || defined(SVR4) || defined(__convex__) || defined(__SCO__) || defined(__QNX__) ++#if HAVE_SETSID + int pgrp = setsid(); /* variable may not be used... */ + #else + int pgrp = getpid(); +diff --git a/xtermcfg.hin b/xtermcfg.hin +index 1dbc3b8..4f3ff5b 100644 +--- a/xtermcfg.hin ++++ b/xtermcfg.hin +@@ -96,6 +96,7 @@ + #undef HAVE_PUTENV /* AC_CHECK_FUNCS(putenv) */ + #undef HAVE_SCHED_YIELD /* AC_CHECK_FUNCS(sched_yield) */ + #undef HAVE_SETPGID /* AC_CHECK_FUNCS(setpgid) */ ++#undef HAVE_SETSID /* AC_CHECK_FUNCS(setsid) */ + #undef HAVE_STDINT_H /* AC_PROG_CC_STDC */ + #undef HAVE_STDLIB_H /* AC_CHECK_HEADERS(stdlib.h) */ + #undef HAVE_STRFTIME /* AC_CHECK_FUNCS(strftime) */ +-- +2.24.1 + diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xterm_350.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xterm_350.bb deleted file mode 100644 index d98ce47519..0000000000 --- a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xterm_350.bb +++ /dev/null @@ -1,34 +0,0 @@ -require recipes-graphics/xorg-app/xorg-app-common.inc -SUMMARY = "xterm is the standard terminal emulator for the X Window System" -DEPENDS = "libxaw xorgproto libxext libxau libxinerama libxpm ncurses" - -LIC_FILES_CHKSUM = "file://xterm.h;beginline=3;endline=31;md5=c7faceb872d90115e7c0ad90e90c390d" - -SRC_URI = "http://invisible-mirror.net/archives/${BPN}/${BP}.tgz" - -SRC_URI[md5sum] = "189b593841189da66bc1cea92df602a5" -SRC_URI[sha256sum] = "aefb59eefd310268080d1a90a447368fb97a9a6737bfecfc3800bf6cc304104d" -PACKAGECONFIG ?= "" -PACKAGECONFIG[xft] = "--enable-freetype,--disable-freetype,libxft fontconfig freetype-native" - -EXTRA_OECONF = " --x-includes=${STAGING_INCDIR} \ - --x-libraries=${STAGING_LIBDIR} \ - FREETYPE_CONFIG=${STAGING_BINDIR_CROSS}/freetype-config \ - --disable-imake \ - --disable-rpath-hack \ - --disable-setuid \ - --with-app-defaults=${datadir}/X11/app-defaults \ - " - -B = "${S}" - -do_configure() { - gnu-configize --force - sed -e "s%/usr/contrib/X11R6%${STAGING_LIBDIR}%g" -i configure - oe_runconf -} - -# busybox can supply resize too -inherit update-alternatives - -ALTERNATIVE_${PN} = "resize" diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xterm_351.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xterm_351.bb new file mode 100644 index 0000000000..40ee555db7 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xterm_351.bb @@ -0,0 +1,36 @@ +require recipes-graphics/xorg-app/xorg-app-common.inc +SUMMARY = "xterm is the standard terminal emulator for the X Window System" +DEPENDS = "libxaw xorgproto libxext libxau libxinerama libxpm ncurses" + +LIC_FILES_CHKSUM = "file://xterm.h;beginline=3;endline=31;md5=c7faceb872d90115e7c0ad90e90c390d" + +SRC_URI = "http://invisible-mirror.net/archives/${BPN}/${BP}.tgz \ + file://0001-Add-configure-time-check-for-setsid.patch \ + " + +SRC_URI[md5sum] = "a07edfbee2e2f4c6a9ddbf834fa4bbec" +SRC_URI[sha256sum] = "760a8a10221c9c9744afd86db87c7ad95bbf9be4f5f525fecf39125f0d2a6e16" +PACKAGECONFIG ?= "" +PACKAGECONFIG[xft] = "--enable-freetype,--disable-freetype,libxft fontconfig freetype-native" + +EXTRA_OECONF = " --x-includes=${STAGING_INCDIR} \ + --x-libraries=${STAGING_LIBDIR} \ + FREETYPE_CONFIG=${STAGING_BINDIR_CROSS}/freetype-config \ + --disable-imake \ + --disable-rpath-hack \ + --disable-setuid \ + --with-app-defaults=${datadir}/X11/app-defaults \ + " + +B = "${S}" + +do_configure() { + gnu-configize --force + sed -e "s%/usr/contrib/X11R6%${STAGING_LIBDIR}%g" -i configure + oe_runconf +} + +# busybox can supply resize too +inherit update-alternatives + +ALTERNATIVE_${PN} = "resize" diff --git a/meta-openembedded/meta-oe/recipes-graphics/yad/yad_4.1.bb b/meta-openembedded/meta-oe/recipes-graphics/yad/yad_4.1.bb deleted file mode 100644 index c69f47dcd0..0000000000 --- a/meta-openembedded/meta-oe/recipes-graphics/yad/yad_4.1.bb +++ /dev/null @@ -1,17 +0,0 @@ -SUMMARY = "Yet Another Dialog" -DESCRIPTION = "Program allowing you to display GTK+ dialog boxes from command line or shell scripts." -AUTHOR = "Victor Ananjevsky" - -LICENSE = "GPLv3" -LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" - -SRC_URI = "git://github.com/v1cont/yad.git" -SRCREV = "3857a0a8822fc0a7206e804f15cc17b85a5f8ce2" - -inherit autotools gsettings - -DEPENDS = "gtk+3 glib-2.0-native intltool-native" - -S = "${WORKDIR}/git" - -FILES_${PN} += "${datadir}/icons/" diff --git a/meta-openembedded/meta-oe/recipes-graphics/yad/yad_5.0.bb b/meta-openembedded/meta-oe/recipes-graphics/yad/yad_5.0.bb new file mode 100644 index 0000000000..e53c04bbc6 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/yad/yad_5.0.bb @@ -0,0 +1,17 @@ +SUMMARY = "Yet Another Dialog" +DESCRIPTION = "Program allowing you to display GTK+ dialog boxes from command line or shell scripts." +AUTHOR = "Victor Ananjevsky" + +LICENSE = "GPLv3" +LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" + +SRC_URI = "git://github.com/v1cont/yad.git" +SRCREV = "c8eac89cc20d915cb5ed185f423091a291c8af24" + +inherit autotools gsettings + +DEPENDS = "gtk+3 glib-2.0-native intltool-native" + +S = "${WORKDIR}/git" + +FILES_${PN} += "${datadir}/icons/" diff --git a/meta-openembedded/meta-oe/recipes-kernel/ipmiutil/ipmiutil_3.0.5.bb b/meta-openembedded/meta-oe/recipes-kernel/ipmiutil/ipmiutil_3.0.5.bb deleted file mode 100644 index 338cafd536..0000000000 --- a/meta-openembedded/meta-oe/recipes-kernel/ipmiutil/ipmiutil_3.0.5.bb +++ /dev/null @@ -1,46 +0,0 @@ -SUMMARY = "ipmiutil is an easy-to-use set of IPMI server management utilities.\ -It can get/set sensor thresholds, automate SEL management, do SOL console, etc." - -DESCRIPTION = "The IPMI Management Utilities currently work with platforms that \ -support the IPMI 1.5 or 2.0 specification. IPMI servers can be managed\ -locally, or remotely via IPMI LAN, even when the OS or main CPU is not\ -functional.\n \ -The ipmiutil utilities will use an IPMI Driver, either the Intel IPMI package \ -(ipmidrvr, /dev/imb), MontaVista OpenIPMI (/dev/ipmi0), the valinux IPMI \ -Driver (/dev/ipmikcs), or the LANDesk ldipmi daemon. The ipmiutil utilities \ -can also use direct user-space I/Os in Linux or FreeBSD if no IPMI driver \ -is detected." - -HOMEPAGE = "http://ipmiutil.sourceforge.net" -LICENSE = "BSD-2-Clause" -LIC_FILES_CHKSUM = "file://COPYING;md5=626a5970304daa1fcb87f757fb42b795" - -DEPENDS += "openssl" - -PARALLEL_MAKE = "" - -SRC_URI = "${SOURCEFORGE_MIRROR}/ipmiutil/ipmiutil-${PV}.tar.gz \ - file://fix_systemd_path.patch \ - " -SRC_URI[md5sum] = "5feaf6a827205792e057bb4ff5c4e842" -SRC_URI[sha256sum] = "b2d7f72535131c7832ba4be13dc33c81513fc3ee43fe797b4b52014600ecee5e" - -inherit autotools-brokensep pkgconfig systemd - -PACKAGECONFIG ?= "lanplus gpl" -PACKAGECONFIG += "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}" -PACKAGECONFIG[systemd] = "--enable-systemd=${datadir}/${BPN}, --enable-systemd=no" -PACKAGECONFIG[sha256] = "--enable-sha256, --enable-sha256=no, openssl-native, openssl" -PACKAGECONFIG[lanplus] = "--enable-lanplus, --enable-lanplus=no, openssl-native, openssl" -PACKAGECONFIG[landesk] = "--enable-landesk, --enable-landesk=no" -PACKAGECONFIG[sensors] = "--enable-libsensors, --enable-libsensors=no" - -#build with some GPL code -PACKAGECONFIG[gpl] = "--enable-gpl, --enable-gpl=no" -#no GPL or LanPlus libs -PACKAGECONFIG[standalone] = "--enable-standalone, --enable-standalone=no" - -CFLAGS += "-I${STAGING_INCDIR}" -LDFLAGS += "-L${STAGING_LIBDIR}" - -COMPATIBLE_HOST = '(x86_64|i.86).*-linux' diff --git a/meta-openembedded/meta-oe/recipes-kernel/ipmiutil/ipmiutil_3.1.5.bb b/meta-openembedded/meta-oe/recipes-kernel/ipmiutil/ipmiutil_3.1.5.bb new file mode 100644 index 0000000000..3e26340285 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-kernel/ipmiutil/ipmiutil_3.1.5.bb @@ -0,0 +1,46 @@ +SUMMARY = "ipmiutil is an easy-to-use set of IPMI server management utilities.\ +It can get/set sensor thresholds, automate SEL management, do SOL console, etc." + +DESCRIPTION = "The IPMI Management Utilities currently work with platforms that \ +support the IPMI 1.5 or 2.0 specification. IPMI servers can be managed\ +locally, or remotely via IPMI LAN, even when the OS or main CPU is not\ +functional.\n \ +The ipmiutil utilities will use an IPMI Driver, either the Intel IPMI package \ +(ipmidrvr, /dev/imb), MontaVista OpenIPMI (/dev/ipmi0), the valinux IPMI \ +Driver (/dev/ipmikcs), or the LANDesk ldipmi daemon. The ipmiutil utilities \ +can also use direct user-space I/Os in Linux or FreeBSD if no IPMI driver \ +is detected." + +HOMEPAGE = "http://ipmiutil.sourceforge.net" +LICENSE = "BSD-2-Clause" +LIC_FILES_CHKSUM = "file://COPYING;md5=626a5970304daa1fcb87f757fb42b795" + +DEPENDS += "openssl" + +PARALLEL_MAKE = "" + +SRC_URI = "${SOURCEFORGE_MIRROR}/ipmiutil/ipmiutil-${PV}.tar.gz \ + file://fix_systemd_path.patch \ + " +SRC_URI[md5sum] = "292d6df25cad678bb27e5c8cdc6748f9" +SRC_URI[sha256sum] = "58ccdbd5755d7dd72478756715af09e9c73330dfad2b91dbf03d2ac504b301a3" + +inherit autotools-brokensep pkgconfig systemd + +PACKAGECONFIG ?= "lanplus gpl" +PACKAGECONFIG += "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}" +PACKAGECONFIG[systemd] = "--enable-systemd=${datadir}/${BPN}, --enable-systemd=no" +PACKAGECONFIG[sha256] = "--enable-sha256, --enable-sha256=no, openssl-native, openssl" +PACKAGECONFIG[lanplus] = "--enable-lanplus, --enable-lanplus=no, openssl-native, openssl" +PACKAGECONFIG[landesk] = "--enable-landesk, --enable-landesk=no" +PACKAGECONFIG[sensors] = "--enable-libsensors, --enable-libsensors=no" + +#build with some GPL code +PACKAGECONFIG[gpl] = "--enable-gpl, --enable-gpl=no" +#no GPL or LanPlus libs +PACKAGECONFIG[standalone] = "--enable-standalone, --enable-standalone=no" + +CFLAGS += "-I${STAGING_INCDIR}" +LDFLAGS += "-L${STAGING_LIBDIR}" + +COMPATIBLE_HOST = '(x86_64|i.86).*-linux' diff --git a/meta-openembedded/meta-oe/recipes-kernel/kernel-selftest/kernel-selftest.bb b/meta-openembedded/meta-oe/recipes-kernel/kernel-selftest/kernel-selftest.bb index 02359e782b..02c56bee60 100644 --- a/meta-openembedded/meta-oe/recipes-kernel/kernel-selftest/kernel-selftest.bb +++ b/meta-openembedded/meta-oe/recipes-kernel/kernel-selftest/kernel-selftest.bb @@ -33,6 +33,7 @@ S = "${WORKDIR}/${BP}" TEST_LIST = "\ ${@bb.utils.filter('PACKAGECONFIG', 'bpf vm', d)} \ + rtc \ " EXTRA_OEMAKE = '\ diff --git a/meta-openembedded/meta-oe/recipes-kernel/libpfm/libpfm4/0001-Include-poll.h-instead-of-sys-poll.h.patch b/meta-openembedded/meta-oe/recipes-kernel/libpfm/libpfm4/0001-Include-poll.h-instead-of-sys-poll.h.patch new file mode 100644 index 0000000000..fe13df2b53 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-kernel/libpfm/libpfm4/0001-Include-poll.h-instead-of-sys-poll.h.patch @@ -0,0 +1,86 @@ +From f62b629c1e1e968f90aafbc0cf9116b49eea9d8e Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sun, 15 Dec 2019 16:24:37 -0800 +Subject: [PATCH] Include poll.h instead of sys/poll.h + +Fixes +error: redirecting incorrect #include to [-Werror,-W#warnings] + +Upstream-Status: Pending +Signed-off-by: Khem Raj +--- + perf_examples/branch_smpl.c | 2 +- + perf_examples/syst_smpl.c | 2 +- + perf_examples/task_attach_timeout.c | 2 +- + perf_examples/task_smpl.c | 2 +- + perf_examples/x86/bts_smpl.c | 2 +- + 5 files changed, 5 insertions(+), 5 deletions(-) + +diff --git a/perf_examples/branch_smpl.c b/perf_examples/branch_smpl.c +index 87cd303..4d16b04 100644 +--- a/perf_examples/branch_smpl.c ++++ b/perf_examples/branch_smpl.c +@@ -32,7 +32,7 @@ + #include + #include + #include +-#include ++#include + #include + #include + #include +diff --git a/perf_examples/syst_smpl.c b/perf_examples/syst_smpl.c +index 04580fd..d059c08 100755 +--- a/perf_examples/syst_smpl.c ++++ b/perf_examples/syst_smpl.c +@@ -33,7 +33,7 @@ + #include + #include + #include +-#include ++#include + #include + #include + #include +diff --git a/perf_examples/task_attach_timeout.c b/perf_examples/task_attach_timeout.c +index 7fc5524..a0367c8 100644 +--- a/perf_examples/task_attach_timeout.c ++++ b/perf_examples/task_attach_timeout.c +@@ -36,7 +36,7 @@ + #include + #include + #include +-#include ++#include + + #include "perf_util.h" + +diff --git a/perf_examples/task_smpl.c b/perf_examples/task_smpl.c +index dcb7481..95c432c 100644 +--- a/perf_examples/task_smpl.c ++++ b/perf_examples/task_smpl.c +@@ -37,7 +37,7 @@ + #include + #include + #include +-#include ++#include + #include + #include + #include +diff --git a/perf_examples/x86/bts_smpl.c b/perf_examples/x86/bts_smpl.c +index 6498776..d66d5e6 100644 +--- a/perf_examples/x86/bts_smpl.c ++++ b/perf_examples/x86/bts_smpl.c +@@ -41,7 +41,7 @@ + #include + #include + #include +-#include ++#include + #include + #include + #include +-- +2.24.1 + diff --git a/meta-openembedded/meta-oe/recipes-kernel/libpfm/libpfm4_4.10.1.bb b/meta-openembedded/meta-oe/recipes-kernel/libpfm/libpfm4_4.10.1.bb new file mode 100644 index 0000000000..9b43b4a975 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-kernel/libpfm/libpfm4_4.10.1.bb @@ -0,0 +1,31 @@ +SUMMARY = "Monitoring tools exploiting the performance monitoring events" +DESCRIPTION = "This package provides a library, called libpfm4 which is used to develop \ +monitoring tools exploiting the performance monitoring events such as those \ +provided by the Performance Monitoring Unit (PMU) of modern processors." +HOMEPAGE = "http://perfmon2.sourceforge.net/" +BUGTRACKER = "http://sourceforge.net/tracker/?group_id=144822&atid=759953&source=navbar" + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=0de488f3bd4424e308e2e399cb99c788" + +SECTION = "devel" + +COMPATIBLE_HOST = "powerpc64" + +SRC_URI = "${SOURCEFORGE_MIRROR}/perfmon2/${BPN}/libpfm-${PV}.tar.gz \ + file://0001-Include-poll.h-instead-of-sys-poll.h.patch \ + " +SRC_URI[md5sum] = "d8f66cb9bfa7e1434434e0de6409db5b" +SRC_URI[sha256sum] = "c61c575378b5c17ccfc5806761e4038828610de76e2e34fac9f7fa73ba844b49" + +UPSTREAM_CHECK_URI = "http://sourceforge.net/projects/perfmon2/files/libpfm4/" + +EXTRA_OEMAKE = "DESTDIR=\"${D}\" PREFIX=\"${prefix}\" LIBDIR=\"${libdir}\" LDCONFIG=\"true\"" +EXTRA_OEMAKE_append_powerpc = " ARCH=\"powerpc\"" +EXTRA_OEMAKE_append_powerpc64 = " ARCH=\"powerpc\" BITMODE=\"64\"" + +S = "${WORKDIR}/libpfm-${PV}" + +do_install () { + oe_runmake install +} diff --git a/meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile/0003-build-Delete-libebl-from-required-libraries-during-l.patch b/meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile/0003-build-Delete-libebl-from-required-libraries-during-l.patch new file mode 100644 index 0000000000..40956434de --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile/0003-build-Delete-libebl-from-required-libraries-during-l.patch @@ -0,0 +1,34 @@ +From 460851c15e807d1a2515dfb985423f8a6624f4aa Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Wed, 8 Jan 2020 19:14:19 -0800 +Subject: [PATCH 3/3] build: Delete libebl from required libraries during link + +This is a static library from elfutils, which is not made available when +static archives are disabled, this can result in link failures e.g. + +aarch64-yoe-linux-musl/9.2.0/ld: cannot find -lebl +collect2: error: ld returned 1 exit status +Makefile:93: recipe for target 'makedumpfile' failed + +Upstream-Status: Pending +Signed-off-by: Khem Raj +--- + Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index 5dce589..c3a4054 100644 +--- a/Makefile ++++ b/Makefile +@@ -51,7 +51,7 @@ OBJ_PART=$(patsubst %.c,%.o,$(SRC_PART)) + SRC_ARCH = arch/arm.c arch/arm64.c arch/x86.c arch/x86_64.c arch/ia64.c arch/ppc64.c arch/s390x.c arch/ppc.c arch/sparc64.c + OBJ_ARCH=$(patsubst %.c,%.o,$(SRC_ARCH)) + +-LIBS = -ldw -lbz2 -lebl -ldl -lelf -lz ++LIBS = -ldw -lbz2 -ldl -lelf -lz + ifneq ($(LINKTYPE), dynamic) + LIBS := $(LIBS) + endif +-- +2.24.1 + diff --git a/meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile_1.6.6.bb b/meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile_1.6.6.bb index 9c357bf6e6..6924e39d60 100644 --- a/meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile_1.6.6.bb +++ b/meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile_1.6.6.bb @@ -24,6 +24,7 @@ SRC_URI = "\ ${SOURCEFORGE_MIRROR}/makedumpfile/${BPN}-${PV}.tar.gz \ file://0001-makedumpfile-replace-hardcode-CFLAGS.patch \ file://0002-mem_section-Support-only-46-bit-for-MAX_PHYSMEM_BITS.patch \ + file://0003-build-Delete-libebl-from-required-libraries-during-l.patch \ " SRC_URI[md5sum] = "6fd632b97ad78d9a0a3b0f0989094064" SRC_URI[sha256sum] = "d007eec05cb14f0155f2d06a0d4dc70d321dbb2aec65fccdce953145c8230324" diff --git a/meta-openembedded/meta-oe/recipes-multimedia/id3lib/id3lib_3.8.3.bb b/meta-openembedded/meta-oe/recipes-multimedia/id3lib/id3lib_3.8.3.bb index fc80cc0acf..9d311608e4 100644 --- a/meta-openembedded/meta-oe/recipes-multimedia/id3lib/id3lib_3.8.3.bb +++ b/meta-openembedded/meta-oe/recipes-multimedia/id3lib/id3lib_3.8.3.bb @@ -7,12 +7,46 @@ DEPENDS = "zlib" PR = "r1" SRC_URI = "${SOURCEFORGE_MIRROR}/id3lib/id3lib-${PV}.tar.gz;name=archive \ - http://ftp.de.debian.org/debian/pool/main/i/id3lib3.8.3/id3lib3.8.3_3.8.3-7.2.diff.gz;name=patch \ + ${DEBIAN_MIRROR}/main/i/id3lib3.8.3/id3lib3.8.3_3.8.3-16.2.debian.tar.xz;name=patch;subdir=${BP} \ file://acdefine.patch \ " SRC_URI[archive.md5sum] = "19f27ddd2dda4b2d26a559a4f0f402a7" SRC_URI[archive.sha256sum] = "2749cc3c0cd7280b299518b1ddf5a5bcfe2d1100614519b68702230e26c7d079" -SRC_URI[patch.md5sum] = "805c0320a2efb21c40ce06fa13cd7c4b" -SRC_URI[patch.sha256sum] = "9f03b59ccc8826a5be55a3dcde2f889067d58bdc72bf846416a198c9b933704c" +SRC_URI[patch.md5sum] = "997c764d3be11c9a51779d93facf1118" +SRC_URI[patch.sha256sum] = "ac2ee23ec89ba2af51d2c6dd5b1b6bf9f8a9f813de251bc182941439a4053176" inherit autotools + +# Unlike other Debian packages, id3lib*.diff.gz contains another series of +# patches maintained by quilt. So manually apply them before applying other local +# patches. Also remove all temp files before leaving, because do_patch() will pop +# up all previously applied patches in the start +id3lib_do_patch() { + cd ${S} + # it's important that we only pop the existing patches when they've + # been applied, otherwise quilt will climb the directory tree + # and reverse out some completely different set of patches + if [ -d ${S}/patches ]; then + # whilst this is the default directory, doing it like this + # defeats the directory climbing that quilt will otherwise + # do; note the directory must exist to defeat this, hence + # the test inside which we operate + QUILT_PATCHES=${S}/patches quilt pop -a + fi + if [ -d ${S}/.pc-id3lib ]; then + rm -rf ${S}/.pc + mv ${S}/.pc-id3lib ${S}/.pc + QUILT_PATCHES=${S}/debian/patches quilt pop -a + rm -rf ${S}/.pc ${S}/debian + fi + QUILT_PATCHES=${S}/debian/patches quilt push -a + mv ${S}/.pc ${S}/.pc-id3lib +} + +do_unpack[cleandirs] += "${S}" + +# We invoke base do_patch at end, to incorporate any local patch +python do_patch() { + bb.build.exec_func('id3lib_do_patch', d) + bb.build.exec_func('patch_do_patch', d) +} diff --git a/meta-openembedded/meta-oe/recipes-multimedia/libburn/libburn_1.5.0.bb b/meta-openembedded/meta-oe/recipes-multimedia/libburn/libburn_1.5.0.bb deleted file mode 100644 index 612000e674..0000000000 --- a/meta-openembedded/meta-oe/recipes-multimedia/libburn/libburn_1.5.0.bb +++ /dev/null @@ -1,11 +0,0 @@ -SUMMARY = "Library for reading, mastering and writing optical discs" -HOMEPAGE = "http://libburnia-project.org/" - -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=9ac2e7cff1ddaf48b6eab6028f23ef88" - -SRC_URI = "http://files.libburnia-project.org/releases/${BPN}-${PV}.tar.gz" -SRC_URI[md5sum] = "b32edefdd9a978edc65aacddfe7c588a" -SRC_URI[sha256sum] = "582b12c236c1365211946f2fe3c254976af37bbec244051f7742a98ded9be2bd" - -inherit autotools pkgconfig diff --git a/meta-openembedded/meta-oe/recipes-multimedia/libburn/libburn_1.5.2.bb b/meta-openembedded/meta-oe/recipes-multimedia/libburn/libburn_1.5.2.bb new file mode 100644 index 0000000000..73e8e3f564 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-multimedia/libburn/libburn_1.5.2.bb @@ -0,0 +1,11 @@ +SUMMARY = "Library for reading, mastering and writing optical discs" +HOMEPAGE = "http://libburnia-project.org/" + +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=9ac2e7cff1ddaf48b6eab6028f23ef88" + +SRC_URI = "http://files.libburnia-project.org/releases/${BPN}-${PV}.tar.gz" +SRC_URI[md5sum] = "096f4acfba00f1210a84fb7650f7693d" +SRC_URI[sha256sum] = "7b32db1719d7f6516cce82a9d00dfddfb3581725db732ea87d41ea8ef0ce5227" + +inherit autotools pkgconfig diff --git a/meta-openembedded/meta-oe/recipes-multimedia/libdvdread/libdvdread_6.0.1.bb b/meta-openembedded/meta-oe/recipes-multimedia/libdvdread/libdvdread_6.0.1.bb deleted file mode 100644 index d68e792bab..0000000000 --- a/meta-openembedded/meta-oe/recipes-multimedia/libdvdread/libdvdread_6.0.1.bb +++ /dev/null @@ -1,12 +0,0 @@ -SUMMARY = "DVD access multimeda library" -SECTION = "libs/multimedia" -LICENSE = "GPLv2+" -LIC_FILES_CHKSUM = "file://COPYING;md5=64e753fa7d1ca31632bc383da3b57c27" - -SRC_URI = "http://download.videolan.org/pub/videolan/libdvdread/${PV}/libdvdread-${PV}.tar.bz2" -SRC_URI[md5sum] = "b9eeaaaf3c41b1c3cb6c1622e7219aeb" -SRC_URI[sha256sum] = "28ce4f0063883ca4d37dfd40a2f6685503d679bca7d88d58e04ee8112382d5bd" - -inherit autotools lib_package binconfig pkgconfig - -CONFIGUREOPTS_remove = "--disable-silent-rules" diff --git a/meta-openembedded/meta-oe/recipes-multimedia/libdvdread/libdvdread_6.0.2.bb b/meta-openembedded/meta-oe/recipes-multimedia/libdvdread/libdvdread_6.0.2.bb new file mode 100644 index 0000000000..2ca74f6da8 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-multimedia/libdvdread/libdvdread_6.0.2.bb @@ -0,0 +1,12 @@ +SUMMARY = "DVD access multimeda library" +SECTION = "libs/multimedia" +LICENSE = "GPLv2+" +LIC_FILES_CHKSUM = "file://COPYING;md5=64e753fa7d1ca31632bc383da3b57c27" + +SRC_URI = "http://download.videolan.org/pub/videolan/libdvdread/${PV}/libdvdread-${PV}.tar.bz2" +SRC_URI[md5sum] = "49990935174bf6b2fa501e789c578135" +SRC_URI[sha256sum] = "f91401af213b219cdde24b46c50a57f29301feb7f965678f1d7ed4632cc6feb0" + +inherit autotools lib_package binconfig pkgconfig + +CONFIGUREOPTS_remove = "--disable-silent-rules" diff --git a/meta-openembedded/meta-oe/recipes-multimedia/mplayer/mpv_0.26.0.bb b/meta-openembedded/meta-oe/recipes-multimedia/mplayer/mpv_0.26.0.bb index 1ba9f0f6c8..29bcfe49f5 100644 --- a/meta-openembedded/meta-oe/recipes-multimedia/mplayer/mpv_0.26.0.bb +++ b/meta-openembedded/meta-oe/recipes-multimedia/mplayer/mpv_0.26.0.bb @@ -29,6 +29,8 @@ inherit waf pkgconfig pythonnative features_check LUA ?= "lua" LUA_mips64 = "" LUA_aarch64 = "" +LUA_powerpc64 = "" + # Note: both lua and libass are required to get on-screen-display (controls) PACKAGECONFIG ??= " \ ${LUA} \ diff --git a/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0003-v4l2-ctl-Do-not-use-getsubopt.patch b/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0003-v4l2-ctl-Do-not-use-getsubopt.patch deleted file mode 100644 index 5b84af2c32..0000000000 --- a/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0003-v4l2-ctl-Do-not-use-getsubopt.patch +++ /dev/null @@ -1,47 +0,0 @@ -From f7a4b79b3323534460a63b3e6c58ebaf06adf207 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Fri, 14 Jul 2017 13:20:05 -0700 -Subject: [PATCH] v4l2-ctl: Do not use getsubopt - -POSIX says that behavior when subopts list is empty is undefined. -musl libs will set value to NULL which leads to crash. - -Taken from AlpineLinux - -Signed-off-by: Khem Raj - ---- - utils/v4l2-ctl/v4l2-ctl-common.cpp | 19 ++++++++++--------- - 1 file changed, 10 insertions(+), 9 deletions(-) - -diff --git a/utils/v4l2-ctl/v4l2-ctl-common.cpp b/utils/v4l2-ctl/v4l2-ctl-common.cpp -index 3ea6cd3..291fb3e 100644 ---- a/utils/v4l2-ctl/v4l2-ctl-common.cpp -+++ b/utils/v4l2-ctl/v4l2-ctl-common.cpp -@@ -692,16 +692,17 @@ static bool parse_subset(char *optarg) - - static bool parse_next_subopt(char **subs, char **value) - { -- static char *const subopts[] = { -- NULL -- }; -- int opt = getsubopt(subs, subopts, value); -+ char *p = *subs; -+ *value = *subs; - -- if (opt < 0 || *value) -- return false; -- fprintf(stderr, "No value given to suboption <%s>\n", -- subopts[opt]); -- return true; -+ while (*p && *p != ',') -+ p++; -+ -+ if (*p) -+ *p++ = '\0'; -+ -+ *subs = p; -+ return false; - } - - void common_cmd(int ch, char *optarg) diff --git a/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0005-Define-error_t-and-include-sys-types.h.patch b/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0005-Define-error_t-and-include-sys-types.h.patch new file mode 100644 index 0000000000..57948add6e --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0005-Define-error_t-and-include-sys-types.h.patch @@ -0,0 +1,45 @@ +From 137ce23ae677b11e5483ef810751edae7bf96bb9 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sat, 30 Nov 2019 18:40:06 -0800 +Subject: [PATCH] Define error_t and include sys/types.h + +Fix 'unknown type name' for error_t and u_int32_t. +u_int32_t is defined in sys/type.h + +Signed-off-by: Khem Raj +--- + utils/ir-ctl/keymap.h | 4 ++++ + utils/keytable/keymap.h | 5 +++++ + 2 files changed, 9 insertions(+) + +diff --git a/utils/ir-ctl/keymap.h b/utils/ir-ctl/keymap.h +index f2b2963..1f8a3f8 100644 +--- a/utils/ir-ctl/keymap.h ++++ b/utils/ir-ctl/keymap.h +@@ -2,6 +2,10 @@ + #ifndef __KEYMAP_H + #define __KEYMAP_H + ++#include ++#ifndef error_t ++typedef int error_t; ++#endif + struct keymap { + struct keymap *next; + char *name; +diff --git a/utils/keytable/keymap.h b/utils/keytable/keymap.h +index f2b2963..345d55d 100644 +--- a/utils/keytable/keymap.h ++++ b/utils/keytable/keymap.h +@@ -2,6 +2,11 @@ + #ifndef __KEYMAP_H + #define __KEYMAP_H + ++#include ++#ifndef error_t ++typedef int error_t; ++#endif ++ + struct keymap { + struct keymap *next; + char *name; diff --git a/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0006-Fix-build-on-32bit-arches-with-64bit-time_t.patch b/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0006-Fix-build-on-32bit-arches-with-64bit-time_t.patch new file mode 100644 index 0000000000..a8926762ed --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0006-Fix-build-on-32bit-arches-with-64bit-time_t.patch @@ -0,0 +1,41 @@ +From b213da2d5fcc93cd24fc880c71c717d8e2ce2968 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sat, 30 Nov 2019 18:43:21 -0800 +Subject: [PATCH] Fix build on 32bit arches with 64bit time_t + +time element is deprecated on new input_event structure in kernel's +input.h [1] + +[1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit?id=152194fe9c3f + +Upstream-Status: Pending +Signed-off-by: Khem Raj +--- + utils/keytable/keytable.c | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/utils/keytable/keytable.c b/utils/keytable/keytable.c +index 6cb0217..59ff1ee 100644 +--- a/utils/keytable/keytable.c ++++ b/utils/keytable/keytable.c +@@ -53,6 +53,11 @@ + + # define N_(string) string + ++#ifndef input_event_sec ++#define input_event_sec time.tv_sec ++#define input_event_usec time.tv_usec ++#endif ++ + struct input_keymap_entry_v2 { + #define KEYMAP_BY_INDEX (1 << 0) + u_int8_t flags; +@@ -1533,7 +1538,7 @@ static void test_event(struct rc_device *rc_dev, int fd) + + for (i = 0; i < rd / sizeof(struct input_event); i++) { + printf(_("%ld.%06ld: event type %s(0x%02x)"), +- ev[i].time.tv_sec, ev[i].time.tv_usec, ++ ev[i].input_event_sec, ev[i].input_event_usec, + get_event_name(events_type, ev[i].type), ev[i].type); + + switch (ev[i].type) { diff --git a/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0007-Do-not-use-getsubopt.patch b/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0007-Do-not-use-getsubopt.patch new file mode 100644 index 0000000000..ac704c72dc --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0007-Do-not-use-getsubopt.patch @@ -0,0 +1,48 @@ +From 4a10eab0e31d69948161241b1801c41201a5d081 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sat, 30 Nov 2019 18:50:34 -0800 +Subject: [PATCH] Do not use getsubopt + +POSIX says that behavior when subopts list is empty is undefined. +musl libs will set value to NULL which leads to crash. + +Simply avoid getsubopt, since we cannot rely on it. + +Imported from Alpine Linux + +Upstream-Status: Pending +Signed-off-by: Khem Raj +--- + utils/v4l2-ctl/v4l2-ctl-common.cpp | 18 ++++++++++-------- + 1 file changed, 10 insertions(+), 8 deletions(-) + +diff --git a/utils/v4l2-ctl/v4l2-ctl-common.cpp b/utils/v4l2-ctl/v4l2-ctl-common.cpp +index 651917e..cea57b7 100644 +--- a/utils/v4l2-ctl/v4l2-ctl-common.cpp ++++ b/utils/v4l2-ctl/v4l2-ctl-common.cpp +@@ -782,15 +782,17 @@ static bool parse_subset(char *optarg) + + static bool parse_next_subopt(char **subs, char **value) + { +- static char *const subopts[] = { +- NULL +- }; +- int opt = getsubopt(subs, subopts, value); ++ char *p = *subs; ++ *value = *subs; + +- if (opt < 0 || *value) +- return false; +- fprintf(stderr, "Missing suboption value\n"); +- return true; ++ while (*p && *p != ',') ++ p++; ++ ++ if (*p) ++ *p++ = '\0'; ++ ++ *subs = p; ++ return false; + } + + void common_cmd(const std::string &media_bus_info, int ch, char *optarg) diff --git a/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.16.5.bb b/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.16.5.bb deleted file mode 100644 index 415446844d..0000000000 --- a/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.16.5.bb +++ /dev/null @@ -1,54 +0,0 @@ -SUMMARY = "v4l2 and IR applications" -LICENSE = "GPLv2 & LGPLv2.1" -LIC_FILES_CHKSUM = "file://COPYING;md5=48da9957849056017dc568bbc43d8975 \ - file://COPYING.libv4l;md5=d749e86a105281d7a44c2328acebc4b0" -PROVIDES = "libv4l media-ctl" - -DEPENDS = "jpeg \ - ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'virtual/libx11', '', d)}" -DEPENDS_append_libc-musl = " argp-standalone" -DEPENDS_append_class-target = " udev" -LDFLAGS_append = " -pthread" - -inherit autotools gettext pkgconfig - -PACKAGECONFIG ??= "media-ctl" -PACKAGECONFIG[media-ctl] = "--enable-v4l-utils,--disable-v4l-utils,," - -SRC_URI = "http://linuxtv.org/downloads/v4l-utils/v4l-utils-${PV}.tar.bz2 \ - file://0001-Revert-media-ctl-Don-t-install-libmediactl-and-libv4.patch \ - file://mediactl-pkgconfig.patch \ - file://export-mediactl-headers.patch \ - file://0002-contrib-test-Link-mc_nextgen_test-with-libargp-if-ne.patch \ - file://0003-v4l2-ctl-Do-not-use-getsubopt.patch \ - " -SRC_URI[md5sum] = "de272817133c0dca000a78a5c8c8ec8b" -SRC_URI[sha256sum] = "ed80242510385017a1dc566e17a285a77222bb301f5bc19386badfcc2c19df1b" - -EXTRA_OECONF = "--disable-qv4l2 --enable-shared --with-udevdir=${base_libdir}/udev" - -VIRTUAL-RUNTIME_ir-keytable-keymaps ?= "rc-keymaps" - -PACKAGES =+ "media-ctl ir-keytable rc-keymaps libv4l libv4l-dev" - -RPROVIDES_${PN}-dbg += "libv4l-dbg" - -FILES_media-ctl = "${bindir}/media-ctl ${libdir}/libmediactl.so.*" - -FILES_ir-keytable = "${bindir}/ir-keytable ${base_libdir}/udev/rules.d/*-infrared.rules" -RDEPENDS_ir-keytable += "${VIRTUAL-RUNTIME_ir-keytable-keymaps}" - -FILES_rc-keymaps = "${sysconfdir}/rc* ${base_libdir}/udev/rc*" - -FILES_${PN} = "${bindir} ${sbindir}" - -FILES_libv4l += "${libdir}/libv4l*${SOLIBS} ${libdir}/libv4l/*.so ${libdir}/libv4l/plugins/*.so \ - ${libdir}/libdvbv5*${SOLIBS} \ - ${libdir}/libv4l/*-decomp" - -FILES_libv4l-dev += "${includedir} ${libdir}/pkgconfig \ - ${libdir}/libv4l*${SOLIBSDEV} ${libdir}/*.la \ - ${libdir}/v4l*${SOLIBSDEV} ${libdir}/libv4l/*.la ${libdir}/libv4l/plugins/*.la" - -PARALLEL_MAKE_class-native = "" -BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.18.0.bb b/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.18.0.bb new file mode 100644 index 0000000000..9cc2a8e5b4 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.18.0.bb @@ -0,0 +1,56 @@ +SUMMARY = "v4l2 and IR applications" +LICENSE = "GPLv2 & LGPLv2.1" +LIC_FILES_CHKSUM = "file://COPYING;md5=48da9957849056017dc568bbc43d8975 \ + file://COPYING.libv4l;md5=d749e86a105281d7a44c2328acebc4b0" +PROVIDES = "libv4l media-ctl" + +DEPENDS = "jpeg \ + ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'virtual/libx11', '', d)}" +DEPENDS_append_libc-musl = " argp-standalone" +DEPENDS_append_class-target = " udev" +LDFLAGS_append = " -pthread" + +inherit autotools gettext pkgconfig + +PACKAGECONFIG ??= "media-ctl" +PACKAGECONFIG[media-ctl] = "--enable-v4l-utils,--disable-v4l-utils,," + +SRC_URI = "http://linuxtv.org/downloads/v4l-utils/v4l-utils-${PV}.tar.bz2 \ + file://0001-Revert-media-ctl-Don-t-install-libmediactl-and-libv4.patch \ + file://mediactl-pkgconfig.patch \ + file://export-mediactl-headers.patch \ + file://0002-contrib-test-Link-mc_nextgen_test-with-libargp-if-ne.patch \ + file://0005-Define-error_t-and-include-sys-types.h.patch \ + file://0006-Fix-build-on-32bit-arches-with-64bit-time_t.patch \ + file://0007-Do-not-use-getsubopt.patch \ + " +SRC_URI[md5sum] = "18996bd5e9d83d47055c05de376708cd" +SRC_URI[sha256sum] = "6cb60d822eeed20486a03cc23e0fc65956fbc1e85e0c1a7477f68bbd9802880d" + +EXTRA_OECONF = "--disable-qv4l2 --enable-shared --with-udevdir=${base_libdir}/udev" + +VIRTUAL-RUNTIME_ir-keytable-keymaps ?= "rc-keymaps" + +PACKAGES =+ "media-ctl ir-keytable rc-keymaps libv4l libv4l-dev" + +RPROVIDES_${PN}-dbg += "libv4l-dbg" + +FILES_media-ctl = "${bindir}/media-ctl ${libdir}/libmediactl.so.*" + +FILES_ir-keytable = "${bindir}/ir-keytable ${base_libdir}/udev/rules.d/*-infrared.rules" +RDEPENDS_ir-keytable += "${VIRTUAL-RUNTIME_ir-keytable-keymaps}" + +FILES_rc-keymaps = "${sysconfdir}/rc* ${base_libdir}/udev/rc*" + +FILES_${PN} = "${bindir} ${sbindir}" + +FILES_libv4l += "${libdir}/libv4l*${SOLIBS} ${libdir}/libv4l/*.so ${libdir}/libv4l/plugins/*.so \ + ${libdir}/libdvbv5*${SOLIBS} \ + ${libdir}/libv4l/*-decomp" + +FILES_libv4l-dev += "${includedir} ${libdir}/pkgconfig \ + ${libdir}/libv4l*${SOLIBSDEV} ${libdir}/*.la \ + ${libdir}/v4l*${SOLIBSDEV} ${libdir}/libv4l/*.la ${libdir}/libv4l/plugins/*.la" + +PARALLEL_MAKE_class-native = "" +BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd_3.19.bb b/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd_3.19.bb index 6834bd45a7..9fdbbf254c 100644 --- a/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd_3.19.bb +++ b/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd_3.19.bb @@ -2,7 +2,7 @@ SUMMARY = "A TCP/IP Daemon simplifying the communication with GPS devices" SECTION = "console/network" LICENSE = "BSD-2-Clause" LIC_FILES_CHKSUM = "file://COPYING;md5=01764c35ae34d9521944bb6ab312af53" -DEPENDS = "dbus ncurses python python3 libusb1 pps-tools" +DEPENDS = "dbus ncurses python python3 pps-tools" PROVIDES = "virtual/gpsd" SRC_URI = "${SAVANNAH_GNU_MIRROR}/${BPN}/${BP}.tar.gz \ @@ -23,9 +23,10 @@ SYSTEMD_OESCONS = "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'f export STAGING_INCDIR export STAGING_LIBDIR -PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez', '', d)}" +PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez', '', d)} usb" PACKAGECONFIG[bluez] = "bluez='true',bluez='false',bluez5" PACKAGECONFIG[qt] = "qt='yes' qt_versioned=5,qt='no',qtbase" +PACKAGECONFIG[usb] = "usb='true',usb='false',libusb1" EXTRA_OESCONS = " \ sysroot=${STAGING_DIR_TARGET} \ libQgpsmm='false' \ diff --git a/meta-openembedded/meta-oe/recipes-navigation/libspatialite/libspatialite_4.3.0a.bb b/meta-openembedded/meta-oe/recipes-navigation/libspatialite/libspatialite_4.3.0a.bb index a3f09036c2..b33f5a31e4 100644 --- a/meta-openembedded/meta-oe/recipes-navigation/libspatialite/libspatialite_4.3.0a.bb +++ b/meta-openembedded/meta-oe/recipes-navigation/libspatialite/libspatialite_4.3.0a.bb @@ -14,6 +14,7 @@ SRC_URI[sha256sum] = "88900030a4762904a7880273f292e5e8ca6b15b7c6c3fb88ffa9e67ee8 inherit autotools pkgconfig EXTRA_OECONF = "--enable-freexl=no" +CFLAGS += "-DACCEPT_USE_OF_DEPRECATED_PROJ_API_H" # package plugins for SQLite3 PACKAGES += "${PN}-plugin" diff --git a/meta-openembedded/meta-oe/recipes-navigation/proj/proj_4.9.3.bb b/meta-openembedded/meta-oe/recipes-navigation/proj/proj_4.9.3.bb deleted file mode 100644 index f45f8948d5..0000000000 --- a/meta-openembedded/meta-oe/recipes-navigation/proj/proj_4.9.3.bb +++ /dev/null @@ -1,14 +0,0 @@ -SUMMARY = "PROJ.4 - Cartographic Projections library" -HOMEPAGE = "http://trac.osgeo.org/proj/" -SECTION = "libs" - -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://COPYING;md5=74d9aaec5fa0cd734341e8c4dc91b608" - -SRC_URI = "http://download.osgeo.org/proj/proj-${PV}.tar.gz" -SRC_URI[md5sum] = "d598336ca834742735137c5674b214a1" -SRC_URI[sha256sum] = "6984542fea333488de5c82eea58d699e4aff4b359200a9971537cd7e047185f7" - -inherit autotools pkgconfig lib_package - -FILES_${PN} += "${datadir}/proj" diff --git a/meta-openembedded/meta-oe/recipes-navigation/proj/proj_6.2.0.bb b/meta-openembedded/meta-oe/recipes-navigation/proj/proj_6.2.0.bb new file mode 100644 index 0000000000..fa269d01b3 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-navigation/proj/proj_6.2.0.bb @@ -0,0 +1,16 @@ +SUMMARY = "PROJ.4 - Cartographic Projections library" +HOMEPAGE = "http://trac.osgeo.org/proj/" +SECTION = "libs" + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=74d9aaec5fa0cd734341e8c4dc91b608" + +SRC_URI = "http://download.osgeo.org/${BPN}/${BP}.tar.gz" +SRC_URI[md5sum] = "5cde556545828beaffbe50b1bb038480" +SRC_URI[sha256sum] = "b300c0f872f632ad7f8eb60725edbf14f0f8f52db740a3ab23e7b94f1cd22a50" + +DEPENDS = "sqlite3 sqlite3-native" + +inherit autotools pkgconfig lib_package + +FILES_${PN} += "${datadir}/proj" diff --git a/meta-openembedded/meta-oe/recipes-printing/cups/cups-filters.inc b/meta-openembedded/meta-oe/recipes-printing/cups/cups-filters.inc new file mode 100644 index 0000000000..45bdab3836 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-printing/cups/cups-filters.inc @@ -0,0 +1,95 @@ +DESCRIPTION = "CUPS backends, filters, and other software" +HOMEPAGE = "http://www.linuxfoundation.org/collaborate/workgroups/openprinting/cups-filters" + +LICENSE = "GPLv2 & LGPLv2 & MIT & GPLv2+ & GPLv3" +LIC_FILES_CHKSUM = "file://COPYING;md5=516215fd57564996d70327db19b368ff" + +SECTION = "console/utils" + +DEPENDS = "cups glib-2.0 glib-2.0-native dbus dbus-glib lcms ghostscript poppler qpdf libpng" +DEPENDS_class-native = "poppler-native glib-2.0-native dbus-native pkgconfig-native gettext-native libpng-native" + +SRC_URI = "http://openprinting.org/download/cups-filters/cups-filters-${PV}.tar.gz" + +inherit autotools-brokensep gettext pkgconfig + +EXTRA_OECONF += " --enable-ghostscript --disable-ldap \ + --with-pdftops=hybrid --enable-imagefilters \ + --enable-ghostscript --with-gs-path=${bindir}/gs \ + --with-pdftops-path=${bindir}/gs \ + --with-fontdir=${datadir}/fonts --with-rcdir=no \ + --with-cups-rundir=${localstatedir}/run/cups \ + --localstatedir=${localstatedir}/var \ + --with-rcdir=no \ + --without-php" + +EXTRA_OECONF_class-native += " --with-pdftops=pdftops \ + --disable-avahi --disable-ghostscript \ + --disable-ldap \ + --with-png --without-jpeg --without-tiff" + +BBCLASSEXTEND = "native" + +PACKAGECONFIG[jpeg] = "--with-jpeg,--without-jpeg,jpeg" +PACKAGECONFIG[png] = "--with-png,--without-png,libpng" +PACKAGECONFIG[tiff] = "--with-tiff,--without-tiff,tiff" + +PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'zeroconf', 'avahi', '', d)}" + +PACKAGECONFIG[avahi] = "--enable-avahi,--disable-avahi,avahi" +PACKAGECONFIG[dbus] = "--enable-dbus,--disable-dbus,dbus" + +DIRFILES = "1" + +PACKAGES =+ "\ + ${PN}-gst \ + ${PN}-data \ + " + +FILES_${PN}-gst = "\ + ${libdir}/cups/filter/gstopxl \ + ${libdir}/cups/filter/gstoraster \ + " + +FILES_${PN}-data = "\ + ${datadir}/cups/data \ + " + +FILES_${PN}-dbg += "\ + ${libdir}/cups/filter/.debug \ + ${libdir}/cups/backend/.debug \ + " + +FILES_${PN} += "\ + ${libdir}/cups/filter \ + ${libdir}/cups/backend \ + ${libdir}/cups/driver \ + ${datadir}/cups/charsets \ + ${datadir}/cups/drv \ + ${datadir}/cups/mime \ + ${datadir}/cups/ppdc \ + ${datadir}/ppd/cupsfilters \ + ${datadir}/cups/braille \ + ${datadir}/cups/banners \ + ${datadir}/cups/braille/index.sh \ + ${datadir}/cups/braille/cups-braille.sh \ + ${datadir}/cups/braille/indexv3.sh \ + ${datadir}/cups/braille/indexv4.sh \ + ${datadir}/cups/banners/topsecret \ + ${datadir}/cups/banners/secret \ + ${datadir}/cups/banners/confidential \ + ${datadir}/cups/banners/unclassified \ + ${datadir}/cups/banners/form \ + ${datadir}/cups/banners/classified \ + ${datadir}/cups/banners/standard \ +" + +do_install_append() { + # remove banners, braille dirs + rm -rf ${D}${datadir}/cups/{banners,braille} + + # remove sysroot path contamination from pkgconfig file + sed -i -e 's:${STAGING_DIR_TARGET}::' ${D}/${libdir}/pkgconfig/libcupsfilters.pc +} + +RDEPENDS_${PN} += "bash" diff --git a/meta-openembedded/meta-oe/recipes-printing/cups/cups-filters_1.26.0.bb b/meta-openembedded/meta-oe/recipes-printing/cups/cups-filters_1.26.0.bb new file mode 100644 index 0000000000..619602a6cc --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-printing/cups/cups-filters_1.26.0.bb @@ -0,0 +1,4 @@ +include cups-filters.inc + +SRC_URI[md5sum] = "afb278c77bb195c2a32fc64e5c8378fb" +SRC_URI[sha256sum] = "ff8679fcd0c31c25d229262c7ad100ba161ef6b2aa455a2df673dd74ef93f488" diff --git a/meta-openembedded/meta-oe/recipes-printing/qpdf/qpdf_9.1.0.bb b/meta-openembedded/meta-oe/recipes-printing/qpdf/qpdf_9.1.0.bb new file mode 100644 index 0000000000..44a5fea841 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-printing/qpdf/qpdf_9.1.0.bb @@ -0,0 +1,33 @@ +DESCRIPTION = "PDF transformation/inspection software" +HOMEPAGE = "http://qpdf.sourceforge.net" +LICENSE = "Artistic-2.0" +SECTION = "libs" +DEPENDS = "libpcre zlib libjpeg-turbo" + +SRC_URI = "${SOURCEFORGE_MIRROR}/qpdf/qpdf-${PV}.tar.gz" + +LIC_FILES_CHKSUM = "file://Artistic-2.0;md5=7806296b9fae874361e6fb10072b7ee3" +SRC_URI[md5sum] = "090d03ab179c281233f8240ade179d54" +SRC_URI[sha256sum] = "3abbbb7907f2e750336b9c97e67b6e806aca91ab537402ec080656d63940ed79" + +inherit autotools-brokensep gettext + +# disable random file detection for cross-compile +EXTRA_OECONF = "--without-random \ + --disable-static \ + --disable-check-autofiles \ + " + +EXTRA_OEMAKE_class-target = "LIBTOOL=${HOST_SYS}-libtool" + +S="${WORKDIR}/${BPN}-${PV}" + +# avoid Makefile returning error on 'make clean' before configure was run +CLEANBROKEN = "1" + +DEBIAN_NOAUTONAME_libqpdf = "1" + +PACKAGES =+ "libqpdf" +FILES_libqpdf = "${libdir}/libqpdf.so.*" + +RDEPEND_${PN} = "libqpdf" diff --git a/meta-openembedded/meta-oe/recipes-support/avro/avro-c/0001-Allow-avro-C-to-be-built-on-musl-based-systems.patch b/meta-openembedded/meta-oe/recipes-support/avro/avro-c/0001-Allow-avro-C-to-be-built-on-musl-based-systems.patch new file mode 100644 index 0000000000..8964d6b72f --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/avro/avro-c/0001-Allow-avro-C-to-be-built-on-musl-based-systems.patch @@ -0,0 +1,42 @@ +From 9b39a985bcd6cd34f0820f3680f145d46c0e56bd Mon Sep 17 00:00:00 2001 +From: Titouan Christophe +Date: Sun, 8 Dec 2019 01:55:59 +0100 +Subject: [PATCH] Allow avro C to be built on musl based systems. +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +The type `ssize_t` is defined in sys/types.h, and nowhere else +in the musl standard C library, so it should be included for the +compilation to succeed. + +This fixes several errors like: + + In file included from src/generic.c:29:0: + src/generic.c: In function ‘avro_generic_value_new’: + src/avro_generic_internal.h:63:39: + error: ‘ssize_t’ undeclared (first use in this function); + did you mean ‘size_t’? + +Upstream-Status: Backport +Signed-off-by: Titouan Christophe +--- + lang/c/src/avro_generic_internal.h | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/lang/c/src/avro_generic_internal.h b/lang/c/src/avro_generic_internal.h +index 709403c03..9843ed652 100644 +--- a/lang/c/src/avro_generic_internal.h ++++ b/lang/c/src/avro_generic_internal.h +@@ -24,6 +24,8 @@ extern "C" { + #define CLOSE_EXTERN + #endif + ++#include ++ + #include "avro/generic.h" + #include "avro/schema.h" + #include "avro/value.h" +-- +2.24.1 + diff --git a/meta-openembedded/meta-oe/recipes-support/avro/avro-c/0001-avro-c-Fix-build-with-clang-compiler.patch b/meta-openembedded/meta-oe/recipes-support/avro/avro-c/0001-avro-c-Fix-build-with-clang-compiler.patch deleted file mode 100644 index 01235d8ef3..0000000000 --- a/meta-openembedded/meta-oe/recipes-support/avro/avro-c/0001-avro-c-Fix-build-with-clang-compiler.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 518bb8ccfb3f3fc143fbd571782f3e40573d01b5 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Mon, 10 Apr 2017 09:15:04 -0700 -Subject: [PATCH] avro-c: Fix build with clang compiler - -Clang advertizes itself to be compatible with gcc 4.2.1 -while that was true several years ago, it now supports -a lot more newer features, the test to just check gcc -version should be supplanted with clang check as well -so atomic support in clang can be asserted as well - -Fixes - -lang/c/src/avro/refcount.h:301:2: error: "No atomic implementation!" - -Signed-off-by: Khem Raj ---- - lang/c/src/avro/refcount.h | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/lang/c/src/avro/refcount.h b/lang/c/src/avro/refcount.h -index 69afa4fc..d76ba057 100644 ---- a/lang/c/src/avro/refcount.h -+++ b/lang/c/src/avro/refcount.h -@@ -118,7 +118,8 @@ avro_refcount_dec(volatile int *refcount) - * GCC intrinsics - */ - --#elif (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) > 40500 -+#elif (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) > 40500 \ -+|| defined(__clang__) - - static inline void - avro_refcount_set(volatile int *refcount, int value) --- -2.12.2 - diff --git a/meta-openembedded/meta-oe/recipes-support/avro/avro-c/0001-cmake-Use-GNUInstallDirs-instead-of-hard-coded-paths.patch b/meta-openembedded/meta-oe/recipes-support/avro/avro-c/0001-cmake-Use-GNUInstallDirs-instead-of-hard-coded-paths.patch new file mode 100644 index 0000000000..6496b92dfe --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/avro/avro-c/0001-cmake-Use-GNUInstallDirs-instead-of-hard-coded-paths.patch @@ -0,0 +1,70 @@ +From f24f863f3a8ca86f44123a58613f62c3b511da1e Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Thu, 19 Dec 2019 18:23:41 -0800 +Subject: [PATCH] cmake: Use GNUInstallDirs instead of hard-coded paths + +This ensures that it can be built on platforms where libdir is not +/usr/lib e.g. ppc64 + +Upstream-Status: Submitted [https://github.com/apache/avro/pull/749] +Signed-off-by: Khem Raj +--- + lang/c/CMakeLists.txt | 2 +- + lang/c/src/CMakeLists.txt | 16 +++++++++------- + 2 files changed, 10 insertions(+), 8 deletions(-) + +diff --git a/lang/c/CMakeLists.txt b/lang/c/CMakeLists.txt +index 11cbf018e..6c8d7aaf3 100644 +--- a/lang/c/CMakeLists.txt ++++ b/lang/c/CMakeLists.txt +@@ -16,7 +16,7 @@ + # specific language governing permissions and limitations + # under the License. + # +-cmake_minimum_required(VERSION 2.4) ++cmake_minimum_required(VERSION 3.1) + project(AvroC) + enable_testing() + +diff --git a/lang/c/src/CMakeLists.txt b/lang/c/src/CMakeLists.txt +index 6f5659750..c1761c8de 100644 +--- a/lang/c/src/CMakeLists.txt ++++ b/lang/c/src/CMakeLists.txt +@@ -106,17 +106,19 @@ install(DIRECTORY + DESTINATION include + FILES_MATCHING PATTERN "*.h") + ++include(GNUInstallDirs) ++ + if (WIN32) + install(TARGETS avro-static +- RUNTIME DESTINATION bin +- LIBRARY DESTINATION lib +- ARCHIVE DESTINATION lib ++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} ++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + ) + else(WIN32) + install(TARGETS avro-static avro-shared +- RUNTIME DESTINATION bin +- LIBRARY DESTINATION lib +- ARCHIVE DESTINATION lib ++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} ++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + ) + endif(WIN32) + +@@ -126,7 +128,7 @@ set(prefix ${CMAKE_INSTALL_PREFIX}) + set(VERSION ${AVRO_VERSION}) + configure_file(avro-c.pc.in avro-c.pc) + install(FILES ${CMAKE_CURRENT_BINARY_DIR}/avro-c.pc +- DESTINATION lib/pkgconfig) ++ DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) + + add_executable(avrocat avrocat.c) + target_link_libraries(avrocat avro-static) +-- +2.24.1 + diff --git a/meta-openembedded/meta-oe/recipes-support/avro/avro-c_1.8.1.bb b/meta-openembedded/meta-oe/recipes-support/avro/avro-c_1.8.1.bb deleted file mode 100644 index 276fe2b5ae..0000000000 --- a/meta-openembedded/meta-oe/recipes-support/avro/avro-c_1.8.1.bb +++ /dev/null @@ -1,20 +0,0 @@ -SUMMARY = "Apache Avro data serialization system." -HOMEPAGE = "http://apr.apache.org/" -SECTION = "libs" - -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=73bdf70f268f0b3b9c5a83dd7a6f3324" - -DEPENDS = "jansson zlib xz" -PV .= "+git${SRCPV}" - -SRCREV = "4b3677c32b879e0e7f717eb95f9135ac654da760" -SRC_URI = "git://github.com/apache/avro \ - file://0001-avro-c-Fix-build-with-clang-compiler.patch;patchdir=../../ \ -" - -S = "${WORKDIR}/git/lang/c" - -LDFLAGS_append_libc-uclibc = " -lm" - -inherit cmake diff --git a/meta-openembedded/meta-oe/recipes-support/avro/avro-c_1.9.1.bb b/meta-openembedded/meta-oe/recipes-support/avro/avro-c_1.9.1.bb new file mode 100644 index 0000000000..8954c9802f --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/avro/avro-c_1.9.1.bb @@ -0,0 +1,19 @@ +SUMMARY = "Apache Avro data serialization system." +HOMEPAGE = "http://apr.apache.org/" +SECTION = "libs" + +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=6d502b41f76179fc84e536236f359cae" + +DEPENDS = "jansson zlib xz" + +BRANCH = "branch-1.9" +SRCREV = "89218262cde62e98fcb3778b86cd3f03056c54f3" +SRC_URI = "git://github.com/apache/avro;branch=${BRANCH} \ + file://0001-Allow-avro-C-to-be-built-on-musl-based-systems.patch;patchdir=../../ \ + file://0001-cmake-Use-GNUInstallDirs-instead-of-hard-coded-paths.patch;patchdir=../../ \ + " + +S = "${WORKDIR}/git/lang/c" + +inherit cmake diff --git a/meta-openembedded/meta-oe/recipes-support/bdwgc/bdwgc_8.0.4.bb b/meta-openembedded/meta-oe/recipes-support/bdwgc/bdwgc_8.0.4.bb index 905f95396a..f4ea173788 100644 --- a/meta-openembedded/meta-oe/recipes-support/bdwgc/bdwgc_8.0.4.bb +++ b/meta-openembedded/meta-oe/recipes-support/bdwgc/bdwgc_8.0.4.bb @@ -21,11 +21,10 @@ SECTION = "devel" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://README.QUICK;md5=81b447d779e278628c843aef92f088fa" -SRCREV = "d3dede3ce4462cd82a15f161af797ca51654546a" -SRC_URI = "git://github.com/ivmai/bdwgc.git;branch=release-8_0 \ - " +DEPENDS = "libatomic-ops" -FILES_${PN}-doc = "${datadir}" +SRCREV = "d3dede3ce4462cd82a15f161af797ca51654546a" +SRC_URI = "git://github.com/ivmai/bdwgc.git;branch=release-8_0" S = "${WORKDIR}/git" @@ -33,12 +32,10 @@ ARM_INSTRUCTION_SET = "arm" inherit autotools pkgconfig -# by default use external libatomic-ops -PACKAGECONFIG ??= "libatomic-ops" -PACKAGECONFIG[libatomic-ops] = "--with-libatomic-ops=yes,--with-libatomic-ops=no,libatomic-ops" - EXTRA_OECONF += "--enable-cpluscplus" CFLAGS_append_libc-musl = " -D_GNU_SOURCE -DNO_GETCONTEXT -DSEARCH_FOR_DATA_START -DUSE_MMAP -DHAVE_DL_ITERATE_PHDR" +FILES_${PN}-doc = "${datadir}" + BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-oe/recipes-support/cli11/cli11_1.8.0.bb b/meta-openembedded/meta-oe/recipes-support/cli11/cli11_1.8.0.bb index 404545d5e7..dd129cbec9 100644 --- a/meta-openembedded/meta-oe/recipes-support/cli11/cli11_1.8.0.bb +++ b/meta-openembedded/meta-oe/recipes-support/cli11/cli11_1.8.0.bb @@ -8,6 +8,7 @@ PV .= "+git${SRCPV}" SRC_URI += "gitsm://github.com/CLIUtils/CLI11 \ file://0001-Add-CLANG_TIDY-check.patch \ + file://0001-Use-GNUInstallDirs-instead-of-hard-coded-path.patch \ " S = "${WORKDIR}/git" diff --git a/meta-openembedded/meta-oe/recipes-support/cli11/files/0001-Use-GNUInstallDirs-instead-of-hard-coded-path.patch b/meta-openembedded/meta-oe/recipes-support/cli11/files/0001-Use-GNUInstallDirs-instead-of-hard-coded-path.patch new file mode 100644 index 0000000000..4541cd929d --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/cli11/files/0001-Use-GNUInstallDirs-instead-of-hard-coded-path.patch @@ -0,0 +1,39 @@ +From 8c51221f748bca1483fe1141e584867d2ff34a07 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Thu, 19 Dec 2019 16:26:39 -0800 +Subject: [PATCH] Use GNUInstallDirs instead of hard-coded path + +Upstream-Status: Submitted [https://github.com/CLIUtils/CLI11/pull/373] +Signed-off-by: Khem Raj +--- + CMakeLists.txt | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 7073a0b..5236fd2 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -120,17 +120,18 @@ endif() + configure_file("${CMAKE_CURRENT_SOURCE_DIR}/cmake/CLI11ConfigVersion.cmake.in" + "${CMAKE_CURRENT_BINARY_DIR}/CLI11ConfigVersion.cmake" @ONLY) + ++include(GNUInstallDirs) + # These installs only make sense for a local project + if(CUR_PROJ) + # Make version available in the install + install(FILES "${CMAKE_CURRENT_BINARY_DIR}/CLI11ConfigVersion.cmake" +- DESTINATION lib/cmake/CLI11) ++ DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/CLI11) + + # Install the export target as a file + install(EXPORT CLI11Targets + FILE CLI11Config.cmake + NAMESPACE CLI11:: +- DESTINATION lib/cmake/CLI11) ++ DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/CLI11) + + # Use find_package on the installed package + export(TARGETS CLI11 +-- +2.24.1 + diff --git a/meta-openembedded/meta-oe/recipes-support/cpprest/cpprest_2.10.14.bb b/meta-openembedded/meta-oe/recipes-support/cpprest/cpprest_2.10.14.bb index 53f6469b28..11c8eab553 100644 --- a/meta-openembedded/meta-oe/recipes-support/cpprest/cpprest_2.10.14.bb +++ b/meta-openembedded/meta-oe/recipes-support/cpprest/cpprest_2.10.14.bb @@ -5,7 +5,7 @@ LICENSE = "MIT" LIC_FILES_CHKSUM = "file://${S}/license.txt;md5=a2e15b954769218ff912468eecd6a02f" DEPENDS = "openssl websocketpp zlib boost brotli" -EXTRA_OECMAKE = "-DCPPREST_EXPORT_DIR=cmake -DCPPREST_EXCLUDE_BROTLI=OFF -DWERROR=OFF" +EXTRA_OECMAKE = "-DCPPREST_EXPORT_DIR=cmake/cpprestsdk -DCPPREST_EXCLUDE_BROTLI=OFF -DWERROR=OFF" SRC_URI = "git://github.com/Microsoft/cpprestsdk.git;protocol=https;branch=master \ file://disable-float-tests.patch \ diff --git a/meta-openembedded/meta-oe/recipes-support/dfu-util/dfu-util-native_0.9.bb b/meta-openembedded/meta-oe/recipes-support/dfu-util/dfu-util-native_0.9.bb index 76faefefbb..feb16fa730 100644 --- a/meta-openembedded/meta-oe/recipes-support/dfu-util/dfu-util-native_0.9.bb +++ b/meta-openembedded/meta-oe/recipes-support/dfu-util/dfu-util-native_0.9.bb @@ -8,7 +8,6 @@ PACKAGECONFIG ??= "" PACKAGECONFIG[static] = "CFLAGS='${CFLAGS} -pthread -static',," -do_deploy[sstate-outputdirs] = "${DEPLOY_DIR_TOOLS}" do_deploy() { install -m 0755 src/dfu-util ${DEPLOYDIR}/dfu-util-${PV} rm -f ${DEPLOYDIR}/dfu-util @@ -16,3 +15,11 @@ do_deploy() { } addtask deploy before do_package after do_install + +do_deploy[sstate-outputdirs] = "${DEPLOY_DIR_TOOLS}" +# cleandirs should possibly be in deploy.bbclass but we need it +do_deploy[cleandirs] = "${DEPLOYDIR}" +# clear stamp-extra-info since MACHINE_ARCH is normally put there by +# deploy.bbclass +do_deploy[stamp-extra-info] = "" + diff --git a/meta-openembedded/meta-oe/recipes-support/enchant/enchant2_2.2.3.bb b/meta-openembedded/meta-oe/recipes-support/enchant/enchant2_2.2.3.bb deleted file mode 100644 index 42150c88f3..0000000000 --- a/meta-openembedded/meta-oe/recipes-support/enchant/enchant2_2.2.3.bb +++ /dev/null @@ -1,26 +0,0 @@ -SUMMARY = "Enchant Spell checker API Library v2" -SECTION = "libs" -HOMEPAGE = "https://abiword.github.io/enchant/" -LICENSE = "LGPLv2.1+" -LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=a916467b91076e631dd8edb7424769c7" - -DEPENDS = "glib-2.0" - -inherit autotools pkgconfig - -SRC_URI = "https://github.com/AbiWord/enchant/releases/download/v${PV}/enchant-${PV}.tar.gz" -SRC_URI[md5sum] = "4b8abb58e00e93363591b3f5ea4f52d5" -SRC_URI[sha256sum] = "abd8e915675cff54c0d4da5029d95c528362266557c61c7149d53fa069b8076d" - -S = "${WORKDIR}/enchant-${PV}" - -EXTRA_OEMAKE = "pkgdatadir=${datadir}/enchant-2" - -PACKAGECONFIG ??= "hunspell" -PACKAGECONFIG[aspell] = "--with-aspell,--without-aspell,aspell,aspell" -PACKAGECONFIG[hunspell] = "--with-hunspell,--without-hunspell,hunspell,hunspell" - -FILES_${PN} += " \ - ${datadir}/enchant-2 \ - ${libdir}/enchant-2 \ -" diff --git a/meta-openembedded/meta-oe/recipes-support/fltk/fltk.bb b/meta-openembedded/meta-oe/recipes-support/fltk/fltk.bb index 7ad4ac70a9..0d033f3610 100644 --- a/meta-openembedded/meta-oe/recipes-support/fltk/fltk.bb +++ b/meta-openembedded/meta-oe/recipes-support/fltk/fltk.bb @@ -5,7 +5,10 @@ DEPENDS = "alsa-lib zlib jpeg libpng libxext libxft" inherit features_check binconfig lib_package gtk-icon-cache mime REQUIRED_DISTRO_FEATURES = "x11" -SRC_URI += "file://0003-CMake-build-Force-shared-libs-with-unsuffixed-names.patch" +SRC_URI += " \ + file://0003-CMake-build-Force-shared-libs-with-unsuffixed-names.patch \ + file://0004-Fix-build-error-when-enable-package-config-examples.patch \ +" EXTRA_OECMAKE = " \ -DOPTION_BUILD_SHARED_LIBS=ON \ @@ -17,7 +20,7 @@ EXTRA_OECMAKE = " \ PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'opengl', d)}" -PACKAGECONFIG[examples] = "-DOPTION_BUILD_EXAMPLES=ON,-DOPTION_BUILD_EXAMPLES=OFF," +PACKAGECONFIG[examples] = "-DOPTION_BUILD_EXAMPLES=ON,-DOPTION_BUILD_EXAMPLES=OFF,fltk-native" PACKAGECONFIG[cairo] = "-DOPTION_CAIRO=ON,-DOPTION_CAIRO=OFF,cairo" PACKAGECONFIG[opengl] = "-DOPTION_USE_GL=ON,-DOPTION_USE_GL=OFF,virtual/libgl" PACKAGECONFIG[xinerama] = "-DOPTION_USE_XINERAMA=ON,-DOPTION_USE_XINERAMA=OFF,libxinerama" diff --git a/meta-openembedded/meta-oe/recipes-support/fltk/fltk/0004-Fix-build-error-when-enable-package-config-examples.patch b/meta-openembedded/meta-oe/recipes-support/fltk/fltk/0004-Fix-build-error-when-enable-package-config-examples.patch new file mode 100644 index 0000000000..974c02fe61 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/fltk/fltk/0004-Fix-build-error-when-enable-package-config-examples.patch @@ -0,0 +1,182 @@ +Fix build error when enable package config examples. + +Upstream-Status: Backport [https://github.com/fltk/fltk/commit/16774dd] + +Signed-off-by: Kai Kang + + +From 16774ddc4e000c89e560fde0ced8be9814ef041e Mon Sep 17 00:00:00 2001 +From: Albrecht Schlosser +Date: Wed, 8 Feb 2017 02:06:52 +0000 +Subject: [PATCH] Rename test/help demo program to test/help_dialog. + +This change avoids a name conflict with CMake's auto-generated target 'help' +for "Unix Makefiles", "Ninja", and supposedly other generators as well. + + +git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12171 ea41ed52-d2ee-0310-a9c1-e6b18d33e121 +--- + CMake/macros.cmake | 5 ----- + documentation/src/examples.dox | 8 +++---- + test/CMakeLists.txt | 27 +++++++++++++++++++---- + test/demo.menu | 2 +- + test/{help.cxx => help_dialog.cxx} | 6 ++--- + test/{help-test.html => help_dialog.html} | 0 + 6 files changed, 31 insertions(+), 17 deletions(-) + rename test/{help.cxx => help_dialog.cxx} (88%) + rename test/{help-test.html => help_dialog.html} (100%) + +diff --git a/CMake/macros.cmake b/CMake/macros.cmake +index 5b0d0fa..7134fcb 100644 +--- a/CMake/macros.cmake ++++ b/CMake/macros.cmake +@@ -90,11 +90,6 @@ function(CREATE_EXAMPLE NAME SOURCES LIBRARIES) + + set (tname ${NAME}) # target name + +- # rename reserved target name "help" (CMake 2.8.12 and later) +- if (${tname} MATCHES "^help$") +- set (tname "test_help") +- endif (${tname} MATCHES "^help$") +- + foreach(src ${SOURCES}) + if ("${src}" MATCHES "\\.fl$") + list(APPEND flsrcs ${src}) +diff --git a/documentation/src/examples.dox b/documentation/src/examples.dox +index 5105b7b..7961b02 100644 +--- a/documentation/src/examples.dox ++++ b/documentation/src/examples.dox +@@ -60,7 +60,7 @@ you build FLTK, unlike those in the 'test' directory shown below. + + + \ref examples_hello +- \ref examples_help ++ \ref examples_help_dialog + \ref examples_iconize + \ref examples_image + \ref examples_inactive +@@ -326,13 +326,13 @@ easily under FLTK. + tiny demo shows how little is needed to get a functioning application + running with FLTK. Quite impressive, I'd say. + +-\subsection examples_help help ++\subsection examples_help_dialog help_dialog + + \par +-\c help displays the built-in FLTK help browser. The ++\c help_dialog displays the built-in FLTK help browser. The + Fl_Help_Dialog understands a subset of html and renders + various image formats. This widget makes it easy to provide help +-pages to the user without depending on the operating system's ++pages to the user without depending on the operating system's + html browser. + + \subsection examples_iconize iconize +diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt +index 22ec9ab..4caffa5 100644 +--- a/test/CMakeLists.txt ++++ b/test/CMakeLists.txt +@@ -1,3 +1,22 @@ ++# ++# "$Id$" ++# ++# CMakeLists.txt used to build test and demo apps by the CMake build system ++# ++# Copyright 2004-2017 by Bill Spitzak and others. ++# ++# This library is free software. Distribution and use rights are outlined in ++# the file "COPYING" which should have been included with this file. If this ++# file is missing or damaged, see the license at: ++# ++# http://www.fltk.org/COPYING.php ++# ++# Please report all bugs and problems on the following page: ++# ++# http://www.fltk.org/str.php ++# ++####################################################################### ++ + set(EXECUTABLE_OUTPUT_PATH ${FLTK_BINARY_DIR}/bin/examples) + + ####################################################################### +@@ -64,7 +83,7 @@ CREATE_EXAMPLE(file_chooser file_chooser.cxx "fltk;fltk_images") + CREATE_EXAMPLE(fonts fonts.cxx fltk) + CREATE_EXAMPLE(forms forms.cxx "fltk;fltk_forms") + CREATE_EXAMPLE(hello hello.cxx fltk) +-CREATE_EXAMPLE(help help.cxx "fltk;fltk_images") ++CREATE_EXAMPLE(help_dialog help_dialog.cxx "fltk;fltk_images") + CREATE_EXAMPLE(icon icon.cxx fltk) + CREATE_EXAMPLE(iconize iconize.cxx fltk) + CREATE_EXAMPLE(image image.cxx fltk) +@@ -134,7 +153,7 @@ endif(FLTK_HAVE_CAIRO) + # Note: this is incomplete as of 11 Feb 2015 + # Todo: currently all files are copied, but some of them need configuration: + # - demo.menu: fluid can't be started (wrong path) +-# - demo.menu: help (help-test.html) can't find its images (not copied) ++# - demo.menu: help_dialog (help_dialog.html) can't find its images (not copied) + # - maybe more ... + + # prepare for a "better" test file installation path +@@ -149,11 +168,11 @@ configure_file(demo.menu ${TESTFILE_PATH}/demo.menu COPYONLY) + + # use target directory only to avoid redundancy + configure_file(rgb.txt ${TESTFILE_PATH} COPYONLY) +-configure_file(help-test.html ${TESTFILE_PATH} COPYONLY) ++configure_file(help_dialog.html ${TESTFILE_PATH} COPYONLY) + configure_file(browser.cxx ${TESTFILE_PATH} COPYONLY) + configure_file(editor.cxx ${TESTFILE_PATH} COPYONLY) + if(APPLE AND NOT OPTION_APPLE_X11) + configure_file(browser.cxx "${TESTFILE_PATH}/browser.app/Contents/Resources/browser.cxx" COPYONLY) + configure_file(rgb.txt ${TESTFILE_PATH}/colbrowser.app/Contents/Resources/rgb.txt COPYONLY) +- configure_file(help-test.html ${TESTFILE_PATH}/help.app/Contents/Resources/help-test.html COPYONLY) ++ configure_file(help_dialog.html ${TESTFILE_PATH}/help_dialog.app/Contents/Resources/help_dialog.html COPYONLY) + endif(APPLE AND NOT OPTION_APPLE_X11) +diff --git a/test/demo.menu b/test/demo.menu +index 337a71c..97e522a 100644 +--- a/test/demo.menu ++++ b/test/demo.menu +@@ -77,7 +77,7 @@ + @o:Font Tests...:@of + @of:Fonts:fonts + @of:UTF-8:utf8 +- @o:HelpDialog:help ++ @o:HelpDialog:help_dialog + @o:Input Choice:input_choice + @o:Preferences:preferences + @o:Threading:threads +diff --git a/test/help.cxx b/test/help_dialog.cxx +similarity index 88% +rename from test/help.cxx +rename to test/help_dialog.cxx +index f5c51d6..7866641 100644 +--- a/test/help.cxx ++++ b/test/help_dialog.cxx +@@ -3,7 +3,7 @@ + // + // Fl_Help_Dialog test program. + // +-// Copyright 1999-2010 by Easy Software Products. ++// Copyright 2011-2017 by Bill Spitzak and others. + // + // This library is free software. Distribution and use rights are outlined in + // the file "COPYING" which should have been included with this file. If this +@@ -46,13 +46,13 @@ main(int argc, // I - Number of command-line arguments + strcpy(buf, argv[0]); + char *slash = strrchr(buf, '/'); + if (slash) +- strcpy(slash, "/../Resources/help-test.html"); ++ strcpy(slash, "/../Resources/help_dialog.html"); + help->load(buf); + + #else + + if (argc <= 1) +- help->load("help-test.html"); ++ help->load("help_dialog.html"); + else + help->load(argv[1]); + +diff --git a/test/help-test.html b/test/help_dialog.html +similarity index 100% +rename from test/help-test.html +rename to test/help_dialog.html diff --git a/meta-openembedded/meta-oe/recipes-support/glog/glog_0.3.5.bb b/meta-openembedded/meta-oe/recipes-support/glog/glog_0.3.5.bb index 3de01ef5b6..70eef72057 100644 --- a/meta-openembedded/meta-oe/recipes-support/glog/glog_0.3.5.bb +++ b/meta-openembedded/meta-oe/recipes-support/glog/glog_0.3.5.bb @@ -9,7 +9,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=dc9db360e0bbd4e46672f3fd91dd6c4b" DEPENDS = "libunwind" SRC_URI = " \ - git://github.com/google/glog.git;branch=v035 \ + git://github.com/google/glog.git;nobranch=1 \ file://0001-Rework-CMake-glog-VERSION-management.patch \ file://0002-Find-Libunwind-during-configure.patch \ file://0003-installation-path-fix.patch \ diff --git a/meta-openembedded/meta-oe/recipes-support/hddtemp/hddtemp/0001-configure.ac-Rename-to-configure.ac-and-use-external.patch b/meta-openembedded/meta-oe/recipes-support/hddtemp/hddtemp/0001-configure.ac-Rename-to-configure.ac-and-use-external.patch new file mode 100644 index 0000000000..d2de0bbe61 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/hddtemp/hddtemp/0001-configure.ac-Rename-to-configure.ac-and-use-external.patch @@ -0,0 +1,703 @@ +From d7e6fe2ac69333c2d943a4b8eb139373d1fb2ce2 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Tue, 31 Dec 2019 18:08:09 -0800 +Subject: [PATCH] configure.ac: Rename to configure.ac and use external gettext + +Upstream-Status: Pending +Signed-off-by: Khem Raj +--- + configure.ac | 81 ++++++++++++++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 81 insertions(+) + create mode 100644 configure.ac + +--- /dev/null ++++ b/configure.ac +@@ -0,0 +1,81 @@ ++dnl Process this file with autoconf to produce a configure script. ++ ++# Initialization ++AC_INIT ++AC_CONFIG_SRCDIR([Makefile.am]) ++AC_CONFIG_HEADERS([config.h]) ++ ++# Determine the host and build type. The target is always a PIC. ++AC_CANONICAL_HOST ++ ++AM_INIT_AUTOMAKE(hddtemp, 0.3-beta15) ++ ++dnl Checks for programs. ++AC_PROG_CC ++AC_PROG_INSTALL ++ ++# append the host alias to the tools for cross compiling ++AC_HEADER_STDC ++AC_CHECK_HEADERS(fcntl.h) ++AC_CHECK_HEADERS(iconv.h) ++AC_CHECK_HEADERS(netinet/in.h) ++AC_CHECK_TYPE(in_addr_t, ,[AC_DEFINE_UNQUOTED([in_addr_t], [uint32_t], [Define to 'uint32_t' if does not define.])], [#include ]) ++ ++# Checks for typedefs, structures, and compiler characteristics. ++AC_C_CONST ++AC_STRUCT_TM ++ ++dnl internationalization macros ++AM_GNU_GETTEXT([external]) ++ ++AC_CHECK_FUNCS([bindtextdomain textdomain iconv]) ++ ++dnl reasonable guesses for where stuff is installed ++dnl if we don't do that now, the config.h will use ${prefix} ++dnl for DEFAULT_DATABASE_PATH. ++if test "x$prefix" = "xNONE"; then ++ prefix="/usr/local" ++fi ++if test "x$exec_prefix" = "xNONE"; then ++ exec_prefix=$prefix ++fi ++ ++AC_MSG_CHECKING([Location of hddtemp.db]) ++DEFAULT_DATABASE_PATH= ++#db_path=\"`eval echo ${datadir}`/misc/hddtemp.db\" ++db_path=\"/usr/share/misc/hddtemp.db\" ++AC_ARG_WITH(db_path, ++ [ --with-db-path=PATH \ ++ Default location of hddtemp.db file [/usr/share/misc/hddtemp.db]], ++ [ if test -d "$withval"; then ++ AC_MSG_FAILURE([new file name for db-path]) ++ fi ++ DEFAULT_DATABASE_PATH="\"$withval\"" ++ ], ++ [ DEFAULT_DATABASE_PATH="$db_path" ]) ++AC_MSG_RESULT($DEFAULT_DATABASE_PATH) ++AC_DEFINE_UNQUOTED([DEFAULT_DATABASE_PATH], [$DEFAULT_DATABASE_PATH], [Default location of drive info database]) ++ ++#CFLAGS="$CFLAGS -Wall -fomit-frame-pointer -Wcast-align" ++CFLAGS="$CFLAGS -Wall -W -Wcast-align" ++ ++# Substitute configuration variables ++AC_CONFIG_FILES([Makefile \ ++po/Makefile.in \ ++m4/Makefile \ ++src/Makefile \ ++doc/Makefile \ ++]) ++AC_OUTPUT ++ ++AC_MSG_RESULT([ ++ ++hddtemp-$VERSION is now configured for $canonical_host_type ++ ++ Build: $build ++ Host: $host ++ Source directory: $srcdir ++ Installation prefix: $prefix ++ C compiler: $CC $CFLAGS ++ ++]) +--- a/Makefile.am ++++ b/Makefile.am +@@ -12,7 +12,7 @@ EXTRA_DIST = config.rpath autogen.sh \ + README \ + TODO + +-SUBDIRS = intl po m4 src doc ++SUBDIRS = po m4 src doc + + CLEANFILES = *~ + +--- a/configure.in ++++ /dev/null +@@ -1,83 +0,0 @@ +-dnl Process this file with autoconf to produce a configure script. +- +-# Initialization +-AC_INIT +-AC_CONFIG_SRCDIR([Makefile.am]) +-AC_CONFIG_HEADERS([config.h]) +- +-# Determine the host and build type. The target is always a PIC. +-AC_CANONICAL_HOST +- +-AM_INIT_AUTOMAKE(hddtemp, 0.3-beta15) +- +-dnl Checks for programs. +-AC_PROG_CC +-AC_PROG_INSTALL +- +-# append the host alias to the tools for cross compiling +-AC_HEADER_STDC +-AC_CHECK_HEADERS(fcntl.h) +-AC_CHECK_HEADERS(iconv.h) +-AC_CHECK_HEADERS(netinet/in.h) +-AC_CHECK_TYPE(in_addr_t, ,[AC_DEFINE_UNQUOTED([in_addr_t], [uint32_t], [Define to 'uint32_t' if does not define.])], [#include ]) +- +-# Checks for typedefs, structures, and compiler characteristics. +-AC_C_CONST +-AC_STRUCT_TM +- +-dnl internationalization macros +-AM_GNU_GETTEXT_VERSION +-AM_GNU_GETTEXT +-#AM_GNU_GETTEXT([external]) +- +-AC_CHECK_FUNCS([bindtextdomain textdomain iconv]) +- +-dnl reasonable guesses for where stuff is installed +-dnl if we don't do that now, the config.h will use ${prefix} +-dnl for DEFAULT_DATABASE_PATH. +-if test "x$prefix" = "xNONE"; then +- prefix="/usr/local" +-fi +-if test "x$exec_prefix" = "xNONE"; then +- exec_prefix=$prefix +-fi +- +-AC_MSG_CHECKING([Location of hddtemp.db]) +-DEFAULT_DATABASE_PATH= +-#db_path=\"`eval echo ${datadir}`/misc/hddtemp.db\" +-db_path=\"/usr/share/misc/hddtemp.db\" +-AC_ARG_WITH(db_path, +- [ --with-db-path=PATH \ +- Default location of hddtemp.db file [/usr/share/misc/hddtemp.db]], +- [ if test -d "$withval"; then +- AC_MSG_FAILURE([new file name for db-path]) +- fi +- DEFAULT_DATABASE_PATH="\"$withval\"" +- ], +- [ DEFAULT_DATABASE_PATH="$db_path" ]) +-AC_MSG_RESULT($DEFAULT_DATABASE_PATH) +-AC_DEFINE_UNQUOTED([DEFAULT_DATABASE_PATH], [$DEFAULT_DATABASE_PATH], [Default location of drive info database]) +- +-#CFLAGS="$CFLAGS -Wall -fomit-frame-pointer -Wcast-align" +-CFLAGS="$CFLAGS -Wall -W -Wcast-align" +- +-# Substitute configuration variables +-AC_CONFIG_FILES([Makefile intl/Makefile \ +-po/Makefile.in \ +-m4/Makefile \ +-src/Makefile \ +-doc/Makefile \ +-]) +-AC_OUTPUT +- +-AC_MSG_RESULT([ +- +-hddtemp-$VERSION is now configured for $canonical_host_type +- +- Build: $build +- Host: $host +- Source directory: $srcdir +- Installation prefix: $prefix +- C compiler: $CC $CFLAGS +- +-]) +--- a/intl/ChangeLog ++++ /dev/null +@@ -1,4 +0,0 @@ +-2005-02-24 GNU +- +- * Version 0.14.2 released. +- +--- a/intl/Makefile.in ++++ /dev/null +@@ -1,500 +0,0 @@ +-# Makefile for directory with message catalog handling library of GNU gettext +-# Copyright (C) 1995-1998, 2000-2005 Free Software Foundation, Inc. +-# +-# This program is free software; you can redistribute it and/or modify it +-# under the terms of the GNU Library General Public License as published +-# by the Free Software Foundation; either version 2, or (at your option) +-# any later version. +-# +-# This program is distributed in the hope that it will be useful, +-# but WITHOUT ANY WARRANTY; without even the implied warranty of +-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +-# Library General Public License for more details. +-# +-# You should have received a copy of the GNU Library General Public +-# License along with this program; if not, write to the Free Software +-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, +-# USA. +- +-PACKAGE = @PACKAGE@ +-VERSION = @VERSION@ +- +-SHELL = /bin/sh +- +-srcdir = @srcdir@ +-top_srcdir = @top_srcdir@ +-top_builddir = .. +-VPATH = $(srcdir) +- +-prefix = @prefix@ +-exec_prefix = @exec_prefix@ +-transform = @program_transform_name@ +-libdir = @libdir@ +-includedir = @includedir@ +-datadir = @datadir@ +-localedir = $(datadir)/locale +-gettextsrcdir = $(datadir)/gettext/intl +-aliaspath = $(localedir) +-subdir = intl +- +-INSTALL = @INSTALL@ +-INSTALL_DATA = @INSTALL_DATA@ +-MKINSTALLDIRS = @MKINSTALLDIRS@ +-mkinstalldirs = $(SHELL) $(MKINSTALLDIRS) +- +-l = @INTL_LIBTOOL_SUFFIX_PREFIX@ +- +-AR = ar +-CC = @CC@ +-LIBTOOL = @LIBTOOL@ +-RANLIB = @RANLIB@ +-YACC = @INTLBISON@ -y -d +-YFLAGS = --name-prefix=__gettext +- +-DEFS = -DLOCALEDIR=\"$(localedir)\" -DLOCALE_ALIAS_PATH=\"$(aliaspath)\" \ +--DLIBDIR=\"$(libdir)\" -DIN_LIBINTL \ +--DENABLE_RELOCATABLE=1 -DIN_LIBRARY -DINSTALLDIR=\"$(libdir)\" -DNO_XMALLOC \ +--Dset_relocation_prefix=libintl_set_relocation_prefix \ +--Drelocate=libintl_relocate \ +--DDEPENDS_ON_LIBICONV=1 @DEFS@ +-CPPFLAGS = @CPPFLAGS@ +-CFLAGS = @CFLAGS@ +-LDFLAGS = @LDFLAGS@ +-LIBS = @LIBS@ +- +-COMPILE = $(CC) -c $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) $(XCFLAGS) +- +-HEADERS = \ +- gmo.h \ +- gettextP.h \ +- hash-string.h \ +- loadinfo.h \ +- plural-exp.h \ +- eval-plural.h \ +- localcharset.h \ +- relocatable.h \ +- xsize.h \ +- printf-args.h printf-args.c \ +- printf-parse.h wprintf-parse.h printf-parse.c \ +- vasnprintf.h vasnwprintf.h vasnprintf.c \ +- os2compat.h \ +- libgnuintl.h.in +-SOURCES = \ +- bindtextdom.c \ +- dcgettext.c \ +- dgettext.c \ +- gettext.c \ +- finddomain.c \ +- loadmsgcat.c \ +- localealias.c \ +- textdomain.c \ +- l10nflist.c \ +- explodename.c \ +- dcigettext.c \ +- dcngettext.c \ +- dngettext.c \ +- ngettext.c \ +- plural.y \ +- plural-exp.c \ +- localcharset.c \ +- relocatable.c \ +- langprefs.c \ +- localename.c \ +- log.c \ +- printf.c \ +- osdep.c \ +- os2compat.c \ +- intl-compat.c +-OBJECTS = \ +- bindtextdom.$lo \ +- dcgettext.$lo \ +- dgettext.$lo \ +- gettext.$lo \ +- finddomain.$lo \ +- loadmsgcat.$lo \ +- localealias.$lo \ +- textdomain.$lo \ +- l10nflist.$lo \ +- explodename.$lo \ +- dcigettext.$lo \ +- dcngettext.$lo \ +- dngettext.$lo \ +- ngettext.$lo \ +- plural.$lo \ +- plural-exp.$lo \ +- localcharset.$lo \ +- relocatable.$lo \ +- langprefs.$lo \ +- localename.$lo \ +- log.$lo \ +- printf.$lo \ +- osdep.$lo \ +- intl-compat.$lo +-DISTFILES.common = Makefile.in \ +-config.charset locale.alias ref-add.sin ref-del.sin $(HEADERS) $(SOURCES) +-DISTFILES.generated = plural.c +-DISTFILES.normal = VERSION +-DISTFILES.gettext = COPYING.LIB-2.0 COPYING.LIB-2.1 libintl.glibc \ +-libgnuintl.h_vms Makefile.vms \ +-libgnuintl.h.msvc-static libgnuintl.h.msvc-shared README.woe32 Makefile.msvc +-DISTFILES.obsolete = xopen-msg.sed linux-msg.sed po2tbl.sed.in cat-compat.c \ +-COPYING.LIB-2 gettext.h libgettext.h plural-eval.c libgnuintl.h +- +-all: all-@USE_INCLUDED_LIBINTL@ +-all-yes: libintl.$la libintl.h charset.alias ref-add.sed ref-del.sed +-all-no: all-no-@BUILD_INCLUDED_LIBINTL@ +-all-no-yes: libgnuintl.$la +-all-no-no: +- +-libintl.a libgnuintl.a: $(OBJECTS) +- rm -f $@ +- $(AR) cru $@ $(OBJECTS) +- $(RANLIB) $@ +- +-libintl.la libgnuintl.la: $(OBJECTS) +- $(LIBTOOL) --mode=link \ +- $(CC) $(CPPFLAGS) $(CFLAGS) $(XCFLAGS) $(LDFLAGS) -o $@ \ +- $(OBJECTS) @LTLIBICONV@ @INTL_MACOSX_LIBS@ $(LIBS) -lc \ +- -version-info $(LTV_CURRENT):$(LTV_REVISION):$(LTV_AGE) \ +- -rpath $(libdir) \ +- -no-undefined +- +-# Libtool's library version information for libintl. +-# Before making a gettext release, the gettext maintainer must change this +-# according to the libtool documentation, section "Library interface versions". +-# Maintainers of other packages that include the intl directory must *not* +-# change these values. +-LTV_CURRENT=7 +-LTV_REVISION=1 +-LTV_AGE=4 +- +-.SUFFIXES: +-.SUFFIXES: .c .y .o .lo .sin .sed +- +-.c.o: +- $(COMPILE) $< +- +-.y.c: +- $(YACC) $(YFLAGS) --output $@ $< +- rm -f $*.h +- +-bindtextdom.lo: $(srcdir)/bindtextdom.c +- $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/bindtextdom.c +-dcgettext.lo: $(srcdir)/dcgettext.c +- $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/dcgettext.c +-dgettext.lo: $(srcdir)/dgettext.c +- $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/dgettext.c +-gettext.lo: $(srcdir)/gettext.c +- $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/gettext.c +-finddomain.lo: $(srcdir)/finddomain.c +- $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/finddomain.c +-loadmsgcat.lo: $(srcdir)/loadmsgcat.c +- $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/loadmsgcat.c +-localealias.lo: $(srcdir)/localealias.c +- $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/localealias.c +-textdomain.lo: $(srcdir)/textdomain.c +- $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/textdomain.c +-l10nflist.lo: $(srcdir)/l10nflist.c +- $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/l10nflist.c +-explodename.lo: $(srcdir)/explodename.c +- $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/explodename.c +-dcigettext.lo: $(srcdir)/dcigettext.c +- $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/dcigettext.c +-dcngettext.lo: $(srcdir)/dcngettext.c +- $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/dcngettext.c +-dngettext.lo: $(srcdir)/dngettext.c +- $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/dngettext.c +-ngettext.lo: $(srcdir)/ngettext.c +- $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/ngettext.c +-plural.lo: $(srcdir)/plural.c +- $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/plural.c +-plural-exp.lo: $(srcdir)/plural-exp.c +- $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/plural-exp.c +-localcharset.lo: $(srcdir)/localcharset.c +- $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/localcharset.c +-relocatable.lo: $(srcdir)/relocatable.c +- $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/relocatable.c +-langprefs.lo: $(srcdir)/langprefs.c +- $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/langprefs.c +-localename.lo: $(srcdir)/localename.c +- $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/localename.c +-log.lo: $(srcdir)/log.c +- $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/log.c +-printf.lo: $(srcdir)/printf.c +- $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/printf.c +-osdep.lo: $(srcdir)/osdep.c +- $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/osdep.c +-intl-compat.lo: $(srcdir)/intl-compat.c +- $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/intl-compat.c +- +-ref-add.sed: $(srcdir)/ref-add.sin +- sed -e '/^#/d' -e 's/@''PACKAGE''@/@PACKAGE@/g' $(srcdir)/ref-add.sin > t-ref-add.sed +- mv t-ref-add.sed ref-add.sed +-ref-del.sed: $(srcdir)/ref-del.sin +- sed -e '/^#/d' -e 's/@''PACKAGE''@/@PACKAGE@/g' $(srcdir)/ref-del.sin > t-ref-del.sed +- mv t-ref-del.sed ref-del.sed +- +-INCLUDES = -I. -I$(srcdir) -I.. +- +-libgnuintl.h: $(srcdir)/libgnuintl.h.in +- sed -e 's,@''HAVE_POSIX_PRINTF''@,@HAVE_POSIX_PRINTF@,g' \ +- -e 's,@''HAVE_ASPRINTF''@,@HAVE_ASPRINTF@,g' \ +- -e 's,@''HAVE_SNPRINTF''@,@HAVE_SNPRINTF@,g' \ +- -e 's,@''HAVE_WPRINTF''@,@HAVE_WPRINTF@,g' \ +- < $(srcdir)/libgnuintl.h.in > libgnuintl.h +- +-libintl.h: libgnuintl.h +- cp libgnuintl.h libintl.h +- +-charset.alias: $(srcdir)/config.charset +- $(SHELL) $(srcdir)/config.charset '@host@' > t-$@ +- mv t-$@ $@ +- +-check: all +- +-# We must not install the libintl.h/libintl.a files if we are on a +-# system which has the GNU gettext() function in its C library or in a +-# separate library. +-# If you want to use the one which comes with this version of the +-# package, you have to use `configure --with-included-gettext'. +-install: install-exec install-data +-install-exec: all +- if { test "$(PACKAGE)" = "gettext-runtime" || test "$(PACKAGE)" = "gettext-tools"; } \ +- && test '@USE_INCLUDED_LIBINTL@' = yes; then \ +- $(mkinstalldirs) $(DESTDIR)$(libdir) $(DESTDIR)$(includedir); \ +- $(INSTALL_DATA) libintl.h $(DESTDIR)$(includedir)/libintl.h; \ +- $(LIBTOOL) --mode=install \ +- $(INSTALL_DATA) libintl.$la $(DESTDIR)$(libdir)/libintl.$la; \ +- if test "@RELOCATABLE@" = yes; then \ +- dependencies=`sed -n -e 's,^dependency_libs=\(.*\),\1,p' < $(DESTDIR)$(libdir)/libintl.la | sed -e "s,^',," -e "s,'\$$,,"`; \ +- if test -n "$$dependencies"; then \ +- rm -f $(DESTDIR)$(libdir)/libintl.la; \ +- fi; \ +- fi; \ +- else \ +- : ; \ +- fi +- if test "$(PACKAGE)" = "gettext-tools" \ +- && test '@USE_INCLUDED_LIBINTL@' = no \ +- && test @GLIBC2@ != no; then \ +- $(mkinstalldirs) $(DESTDIR)$(libdir); \ +- $(LIBTOOL) --mode=install \ +- $(INSTALL_DATA) libgnuintl.$la $(DESTDIR)$(libdir)/libgnuintl.$la; \ +- rm -f $(DESTDIR)$(libdir)/preloadable_libintl.so; \ +- $(INSTALL_DATA) $(DESTDIR)$(libdir)/libgnuintl.so $(DESTDIR)$(libdir)/preloadable_libintl.so; \ +- $(LIBTOOL) --mode=uninstall \ +- rm -f $(DESTDIR)$(libdir)/libgnuintl.$la; \ +- else \ +- : ; \ +- fi +- if test '@USE_INCLUDED_LIBINTL@' = yes; then \ +- test @GLIBC21@ != no || $(mkinstalldirs) $(DESTDIR)$(libdir); \ +- temp=$(DESTDIR)$(libdir)/t-charset.alias; \ +- dest=$(DESTDIR)$(libdir)/charset.alias; \ +- if test -f $(DESTDIR)$(libdir)/charset.alias; then \ +- orig=$(DESTDIR)$(libdir)/charset.alias; \ +- sed -f ref-add.sed $$orig > $$temp; \ +- $(INSTALL_DATA) $$temp $$dest; \ +- rm -f $$temp; \ +- else \ +- if test @GLIBC21@ = no; then \ +- orig=charset.alias; \ +- sed -f ref-add.sed $$orig > $$temp; \ +- $(INSTALL_DATA) $$temp $$dest; \ +- rm -f $$temp; \ +- fi; \ +- fi; \ +- $(mkinstalldirs) $(DESTDIR)$(localedir); \ +- test -f $(DESTDIR)$(localedir)/locale.alias \ +- && orig=$(DESTDIR)$(localedir)/locale.alias \ +- || orig=$(srcdir)/locale.alias; \ +- temp=$(DESTDIR)$(localedir)/t-locale.alias; \ +- dest=$(DESTDIR)$(localedir)/locale.alias; \ +- sed -f ref-add.sed $$orig > $$temp; \ +- $(INSTALL_DATA) $$temp $$dest; \ +- rm -f $$temp; \ +- else \ +- : ; \ +- fi +-install-data: all +- if test "$(PACKAGE)" = "gettext-tools"; then \ +- $(mkinstalldirs) $(DESTDIR)$(gettextsrcdir); \ +- $(INSTALL_DATA) VERSION $(DESTDIR)$(gettextsrcdir)/VERSION; \ +- $(INSTALL_DATA) ChangeLog.inst $(DESTDIR)$(gettextsrcdir)/ChangeLog; \ +- dists="COPYING.LIB-2.0 COPYING.LIB-2.1 $(DISTFILES.common)"; \ +- for file in $$dists; do \ +- $(INSTALL_DATA) $(srcdir)/$$file \ +- $(DESTDIR)$(gettextsrcdir)/$$file; \ +- done; \ +- chmod a+x $(DESTDIR)$(gettextsrcdir)/config.charset; \ +- dists="$(DISTFILES.generated)"; \ +- for file in $$dists; do \ +- if test -f $$file; then dir=.; else dir=$(srcdir); fi; \ +- $(INSTALL_DATA) $$dir/$$file \ +- $(DESTDIR)$(gettextsrcdir)/$$file; \ +- done; \ +- dists="$(DISTFILES.obsolete)"; \ +- for file in $$dists; do \ +- rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \ +- done; \ +- else \ +- : ; \ +- fi +- +-install-strip: install +- +-installdirs: +- if { test "$(PACKAGE)" = "gettext-runtime" || test "$(PACKAGE)" = "gettext-tools"; } \ +- && test '@USE_INCLUDED_LIBINTL@' = yes; then \ +- $(mkinstalldirs) $(DESTDIR)$(libdir) $(DESTDIR)$(includedir); \ +- else \ +- : ; \ +- fi +- if test "$(PACKAGE)" = "gettext-tools" \ +- && test '@USE_INCLUDED_LIBINTL@' = no \ +- && test @GLIBC2@ != no; then \ +- $(mkinstalldirs) $(DESTDIR)$(libdir); \ +- else \ +- : ; \ +- fi +- if test '@USE_INCLUDED_LIBINTL@' = yes; then \ +- test @GLIBC21@ != no || $(mkinstalldirs) $(DESTDIR)$(libdir); \ +- $(mkinstalldirs) $(DESTDIR)$(localedir); \ +- else \ +- : ; \ +- fi +- if test "$(PACKAGE)" = "gettext-tools"; then \ +- $(mkinstalldirs) $(DESTDIR)$(gettextsrcdir); \ +- else \ +- : ; \ +- fi +- +-# Define this as empty until I found a useful application. +-installcheck: +- +-uninstall: +- if { test "$(PACKAGE)" = "gettext-runtime" || test "$(PACKAGE)" = "gettext-tools"; } \ +- && test '@USE_INCLUDED_LIBINTL@' = yes; then \ +- rm -f $(DESTDIR)$(includedir)/libintl.h; \ +- $(LIBTOOL) --mode=uninstall \ +- rm -f $(DESTDIR)$(libdir)/libintl.$la; \ +- else \ +- : ; \ +- fi +- if test "$(PACKAGE)" = "gettext-tools" \ +- && test '@USE_INCLUDED_LIBINTL@' = no \ +- && test @GLIBC2@ != no; then \ +- rm -f $(DESTDIR)$(libdir)/preloadable_libintl.so; \ +- else \ +- : ; \ +- fi +- if test '@USE_INCLUDED_LIBINTL@' = yes; then \ +- if test -f $(DESTDIR)$(libdir)/charset.alias; then \ +- temp=$(DESTDIR)$(libdir)/t-charset.alias; \ +- dest=$(DESTDIR)$(libdir)/charset.alias; \ +- sed -f ref-del.sed $$dest > $$temp; \ +- if grep '^# Packages using this file: $$' $$temp > /dev/null; then \ +- rm -f $$dest; \ +- else \ +- $(INSTALL_DATA) $$temp $$dest; \ +- fi; \ +- rm -f $$temp; \ +- fi; \ +- if test -f $(DESTDIR)$(localedir)/locale.alias; then \ +- temp=$(DESTDIR)$(localedir)/t-locale.alias; \ +- dest=$(DESTDIR)$(localedir)/locale.alias; \ +- sed -f ref-del.sed $$dest > $$temp; \ +- if grep '^# Packages using this file: $$' $$temp > /dev/null; then \ +- rm -f $$dest; \ +- else \ +- $(INSTALL_DATA) $$temp $$dest; \ +- fi; \ +- rm -f $$temp; \ +- fi; \ +- else \ +- : ; \ +- fi +- if test "$(PACKAGE)" = "gettext-tools"; then \ +- for file in VERSION ChangeLog COPYING.LIB-2.0 COPYING.LIB-2.1 $(DISTFILES.common) $(DISTFILES.generated); do \ +- rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \ +- done; \ +- else \ +- : ; \ +- fi +- +-info dvi ps pdf html: +- +-$(OBJECTS): ../config.h libgnuintl.h +-bindtextdom.$lo dcgettext.$lo dcigettext.$lo dcngettext.$lo dgettext.$lo dngettext.$lo finddomain.$lo gettext.$lo intl-compat.$lo loadmsgcat.$lo localealias.$lo ngettext.$lo textdomain.$lo: $(srcdir)/gettextP.h $(srcdir)/gmo.h $(srcdir)/loadinfo.h +-dcigettext.$lo loadmsgcat.$lo: $(srcdir)/hash-string.h +-explodename.$lo l10nflist.$lo: $(srcdir)/loadinfo.h +-dcigettext.$lo loadmsgcat.$lo plural.$lo plural-exp.$lo: $(srcdir)/plural-exp.h +-dcigettext.$lo: $(srcdir)/eval-plural.h +-localcharset.$lo: $(srcdir)/localcharset.h +-localealias.$lo localcharset.$lo relocatable.$lo: $(srcdir)/relocatable.h +-printf.$lo: $(srcdir)/printf-args.h $(srcdir)/printf-args.c $(srcdir)/printf-parse.h $(srcdir)/wprintf-parse.h $(srcdir)/xsize.h $(srcdir)/printf-parse.c $(srcdir)/vasnprintf.h $(srcdir)/vasnwprintf.h $(srcdir)/vasnprintf.c +- +-tags: TAGS +- +-TAGS: $(HEADERS) $(SOURCES) +- here=`pwd`; cd $(srcdir) && etags -o $$here/TAGS $(HEADERS) $(SOURCES) +- +-ctags: CTAGS +- +-CTAGS: $(HEADERS) $(SOURCES) +- here=`pwd`; cd $(srcdir) && ctags -o $$here/CTAGS $(HEADERS) $(SOURCES) +- +-id: ID +- +-ID: $(HEADERS) $(SOURCES) +- here=`pwd`; cd $(srcdir) && mkid -f$$here/ID $(HEADERS) $(SOURCES) +- +- +-mostlyclean: +- rm -f *.a *.la *.o *.obj *.lo core core.* +- rm -f libgnuintl.h libintl.h charset.alias ref-add.sed ref-del.sed +- rm -f -r .libs _libs +- +-clean: mostlyclean +- +-distclean: clean +- rm -f Makefile ID TAGS +- if test "$(PACKAGE)" = "gettext-runtime" || test "$(PACKAGE)" = "gettext-tools"; then \ +- rm -f ChangeLog.inst $(DISTFILES.normal); \ +- else \ +- : ; \ +- fi +- +-maintainer-clean: distclean +- @echo "This command is intended for maintainers to use;" +- @echo "it deletes files that may require special tools to rebuild." +- +- +-# GNU gettext needs not contain the file `VERSION' but contains some +-# other files which should not be distributed in other packages. +-distdir = ../$(PACKAGE)-$(VERSION)/$(subdir) +-dist distdir: Makefile +- if test "$(PACKAGE)" = "gettext-tools"; then \ +- : ; \ +- else \ +- if test "$(PACKAGE)" = "gettext-runtime"; then \ +- additional="$(DISTFILES.gettext)"; \ +- else \ +- additional="$(DISTFILES.normal)"; \ +- fi; \ +- $(MAKE) $(DISTFILES.common) $(DISTFILES.generated) $$additional; \ +- for file in ChangeLog $(DISTFILES.common) $(DISTFILES.generated) $$additional; do \ +- if test -f $$file; then dir=.; else dir=$(srcdir); fi; \ +- cp -p $$dir/$$file $(distdir); \ +- done; \ +- fi +- +-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status +- cd $(top_builddir) && $(SHELL) ./config.status +-# This would be more efficient, but doesn't work any more with autoconf-2.57, +-# when AC_CONFIG_FILES([intl/Makefile:somedir/Makefile.in]) is used. +-# cd $(top_builddir) && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status +- +-# Tell versions [3.59,3.63) of GNU make not to export all variables. +-# Otherwise a system limit (for SysV at least) may be exceeded. +-.NOEXPORT: diff --git a/meta-openembedded/meta-oe/recipes-support/hddtemp/hddtemp_0.3-beta15.bb b/meta-openembedded/meta-oe/recipes-support/hddtemp/hddtemp_0.3-beta15.bb index 4a871bf4f4..d5da2b688a 100644 --- a/meta-openembedded/meta-oe/recipes-support/hddtemp/hddtemp_0.3-beta15.bb +++ b/meta-openembedded/meta-oe/recipes-support/hddtemp/hddtemp_0.3-beta15.bb @@ -9,6 +9,7 @@ SRC_URI = "${SAVANNAH_NONGNU_MIRROR}/hddtemp/hddtemp-0.3-beta15.tar.bz2 \ file://hddtemp_0.3-beta15-52.diff \ file://hddtemp-0.3-beta15-autodetect-717479.patch \ file://0001-backtrace-Replace-struct-ucontext-with-ucontext_t.patch \ + file://0001-configure.ac-Rename-to-configure.ac-and-use-external.patch \ file://hddtemp.db \ file://init \ " diff --git a/meta-openembedded/meta-oe/recipes-support/hdf5/files/0001-cross-compiling-support.patch b/meta-openembedded/meta-oe/recipes-support/hdf5/files/0001-cross-compiling-support.patch index 97f16bbc0b..bdc1fa5f96 100644 --- a/meta-openembedded/meta-oe/recipes-support/hdf5/files/0001-cross-compiling-support.patch +++ b/meta-openembedded/meta-oe/recipes-support/hdf5/files/0001-cross-compiling-support.patch @@ -14,11 +14,9 @@ Signed-off-by: Hongxu Jia src/CMakeLists.txt | 23 ----------------------- 2 files changed, 6 insertions(+), 23 deletions(-) -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 08a65c4..9af14d5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -817,4 +817,10 @@ endif () +@@ -770,4 +770,10 @@ endif () #----------------------------------------------------------------------------- configure_file (${HDF_RESOURCES_DIR}/H5pubconf.h.in ${HDF5_BINARY_DIR}/H5pubconf.h @ONLY) @@ -29,22 +27,22 @@ index 08a65c4..9af14d5 100644 +configure_file(H5lib_settings.c H5lib_settings.c COPYONLY) + include (CMakeInstallation.cmake) -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index d343208..d11525b 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt -@@ -613,32 +613,9 @@ set (H5_PRIVATE_HEADERS +@@ -613,36 +613,9 @@ set (H5_PRIVATE_HEADERS #----------------------------------------------------------------------------- add_executable (H5detect ${HDF5_SRC_DIR}/H5detect.c) TARGET_C_PROPERTIES (H5detect STATIC " " " ") -if (MSVC OR MINGW) - target_link_libraries (H5detect "ws2_32.lib") -endif () +-if (CMAKE_SYSTEM_NAME STREQUAL "Emscripten") +- set_property(TARGET H5detect PROPERTY LINK_FLAGS "-O0") +-endif () - --set (CMD $) -add_custom_command ( - OUTPUT ${HDF5_BINARY_DIR}/H5Tinit.c -- COMMAND ${CMD} +- COMMAND $ - ARGS > ${HDF5_BINARY_DIR}/H5Tinit.c - DEPENDS H5detect -) @@ -54,11 +52,13 @@ index d343208..d11525b 100644 -if (MSVC OR MINGW) - target_link_libraries (H5make_libsettings "ws2_32.lib") -endif () +-if (CMAKE_SYSTEM_NAME STREQUAL "Emscripten") +- set_property(TARGET H5make_libsettings PROPERTY LINK_FLAGS "-O0") +-endif () - --set (CMD $) -add_custom_command ( - OUTPUT ${HDF5_BINARY_DIR}/H5lib_settings.c -- COMMAND ${CMD} +- COMMAND $ - ARGS > ${HDF5_BINARY_DIR}/H5lib_settings.c - DEPENDS H5make_libsettings - WORKING_DIRECTORY ${HDF5_BINARY_DIR} @@ -66,6 +66,3 @@ index d343208..d11525b 100644 if (GENERATE_ERROR_HEADERS) find_package (Perl) --- -2.7.4 - diff --git a/meta-openembedded/meta-oe/recipes-support/hdf5/hdf5_1.8.19.bb b/meta-openembedded/meta-oe/recipes-support/hdf5/hdf5_1.8.19.bb deleted file mode 100644 index fcbe9b0d62..0000000000 --- a/meta-openembedded/meta-oe/recipes-support/hdf5/hdf5_1.8.19.bb +++ /dev/null @@ -1,58 +0,0 @@ -SUMMARY = "Unique technology suite that makes possible the management of \ -extremely large and complex data collections" -HOMEPAGE = "https://www.hdfgroup.org/" -SECTION = "libs" - -LICENSE = "HDF5" -LIC_FILES_CHKSUM = "file://COPYING;md5=57e5351b17591e659eedae107265c606" - -inherit cmake siteinfo - -SRC_URI = " \ - https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-1.8/hdf5-${PV}/src/${BPN}-${PV}.tar.bz2 \ - file://H5lib_settings.c \ - file://H5Tinit-64.c \ - file://H5Tinit-32.c \ - file://0001-cross-compiling-support.patch \ - file://0002-Remove-suffix-shared-from-shared-library-name.patch \ -" - -SRC_URI[md5sum] = "6f0353ee33e99089c110a1c8d2dd1b22" -SRC_URI[sha256sum] = "59c03816105d57990329537ad1049ba22c2b8afe1890085f0c022b75f1727238" - -FILES_${PN} += "${libdir}/libhdf5.settings ${datadir}/*" - -EXTRA_OECMAKE = " \ - -DTEST_LFS_WORKS_RUN=0 \ - -DTEST_LFS_WORKS_RUN__TRYRUN_OUTPUT=0 \ - -DH5_PRINTF_LL_TEST_RUN=1 \ - -DH5_PRINTF_LL_TEST_RUN__TRYRUN_OUTPUT='8' \ - -DH5_LDOUBLE_TO_LONG_SPECIAL_RUN=0 \ - -DH5_LDOUBLE_TO_LONG_SPECIAL_RUN__TRYRUN_OUTPUT= \ - -DH5_LONG_TO_LDOUBLE_SPECIAL_RUN=0 \ - -DH5_LONG_TO_LDOUBLE_SPECIAL_RUN__TRYRUN_OUTPUT= \ - -DH5_LDOUBLE_TO_LLONG_ACCURATE_RUN=0 \ - -DH5_LDOUBLE_TO_LLONG_ACCURATE_RUN__TRYRUN_OUTPUT= \ - -DH5_LLONG_TO_LDOUBLE_CORRECT_RUN=0 \ - -DH5_LLONG_TO_LDOUBLE_CORRECT_RUN__TRYRUN_OUTPUT= \ - -DH5_NO_ALIGNMENT_RESTRICTIONS_RUN=0 \ - -DH5_NO_ALIGNMENT_RESTRICTIONS_RUN__TRYRUN_OUTPUT= \ - -DCMAKE_INSTALL_PREFIX='${prefix}' \ - -DHDF5_INSTALL_LIB_DIR='${baselib}' \ -" - -do_unpack[postfuncs] += "gen_hd5file" -gen_hd5file() { - install -m 544 ${WORKDIR}/H5lib_settings.c ${S} - install -m 544 ${WORKDIR}/H5Tinit-${SITEINFO_BITS}.c ${S}/H5Tinit.c -} - -do_install_append() { - # Used for generating config files on target - install -m 755 ${B}/bin/H5detect ${D}${bindir} - install -m 755 ${B}/bin/H5make_libsettings ${D}${bindir} -} - -BBCLASSEXTEND = "native" - -SRC_DISTRIBUTE_LICENSES += "HDF5" diff --git a/meta-openembedded/meta-oe/recipes-support/hdf5/hdf5_1.8.21.bb b/meta-openembedded/meta-oe/recipes-support/hdf5/hdf5_1.8.21.bb new file mode 100644 index 0000000000..9af2b67149 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/hdf5/hdf5_1.8.21.bb @@ -0,0 +1,57 @@ +SUMMARY = "Unique technology suite that makes possible the management of \ +extremely large and complex data collections" +HOMEPAGE = "https://www.hdfgroup.org/" +SECTION = "libs" + +LICENSE = "HDF5" +LIC_FILES_CHKSUM = "file://COPYING;md5=57e5351b17591e659eedae107265c606" + +inherit cmake siteinfo + +SRC_URI = " \ + https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-1.8/hdf5-${PV}/src/${BPN}-${PV}.tar.bz2 \ + file://H5lib_settings.c \ + file://H5Tinit-64.c \ + file://H5Tinit-32.c \ + file://0001-cross-compiling-support.patch \ + file://0002-Remove-suffix-shared-from-shared-library-name.patch \ +" +SRC_URI[md5sum] = "2d2408f2a9dfb5c7b79998002e9a90e9" +SRC_URI[sha256sum] = "e5b1b1dee44a64b795a91c3321ab7196d9e0871fe50d42969761794e3899f40d" + +FILES_${PN} += "${libdir}/libhdf5.settings ${datadir}/*" + +EXTRA_OECMAKE = " \ + -DTEST_LFS_WORKS_RUN=0 \ + -DTEST_LFS_WORKS_RUN__TRYRUN_OUTPUT=0 \ + -DH5_PRINTF_LL_TEST_RUN=1 \ + -DH5_PRINTF_LL_TEST_RUN__TRYRUN_OUTPUT='8' \ + -DH5_LDOUBLE_TO_LONG_SPECIAL_RUN=0 \ + -DH5_LDOUBLE_TO_LONG_SPECIAL_RUN__TRYRUN_OUTPUT= \ + -DH5_LONG_TO_LDOUBLE_SPECIAL_RUN=0 \ + -DH5_LONG_TO_LDOUBLE_SPECIAL_RUN__TRYRUN_OUTPUT= \ + -DH5_LDOUBLE_TO_LLONG_ACCURATE_RUN=0 \ + -DH5_LDOUBLE_TO_LLONG_ACCURATE_RUN__TRYRUN_OUTPUT= \ + -DH5_LLONG_TO_LDOUBLE_CORRECT_RUN=0 \ + -DH5_LLONG_TO_LDOUBLE_CORRECT_RUN__TRYRUN_OUTPUT= \ + -DH5_NO_ALIGNMENT_RESTRICTIONS_RUN=0 \ + -DH5_NO_ALIGNMENT_RESTRICTIONS_RUN__TRYRUN_OUTPUT= \ + -DCMAKE_INSTALL_PREFIX='${prefix}' \ + -DHDF5_INSTALL_LIB_DIR='${baselib}' \ +" + +do_unpack[postfuncs] += "gen_hd5file" +gen_hd5file() { + install -m 544 ${WORKDIR}/H5lib_settings.c ${S} + install -m 544 ${WORKDIR}/H5Tinit-${SITEINFO_BITS}.c ${S}/H5Tinit.c +} + +do_install_append() { + # Used for generating config files on target + install -m 755 ${B}/bin/H5detect ${D}${bindir} + install -m 755 ${B}/bin/H5make_libsettings ${D}${bindir} +} + +BBCLASSEXTEND = "native" + +SRC_DISTRIBUTE_LICENSES += "HDF5" diff --git a/meta-openembedded/meta-oe/recipes-support/hwdata/hwdata_git.bb b/meta-openembedded/meta-oe/recipes-support/hwdata/hwdata_git.bb index a8479466a8..e20bec5d88 100644 --- a/meta-openembedded/meta-oe/recipes-support/hwdata/hwdata_git.bb +++ b/meta-openembedded/meta-oe/recipes-support/hwdata/hwdata_git.bb @@ -5,8 +5,8 @@ SECTION = "System/Base" LICENSE = "GPL-2.0+" LIC_FILES_CHKSUM = "file://LICENSE;md5=1556547711e8246992b999edd9445a57" -PV = "0.329" -SRCREV = "3b93b226177b6a8d219fa5edee2a417758cf74db" +PV = "0.330" +SRCREV = "335f72f8ed4ad0cf335526d3c6c4701f7e58f45b" SRC_URI = "git://github.com/vcrhonek/${BPN}.git" S = "${WORKDIR}/git" diff --git a/meta-openembedded/meta-oe/recipes-support/imagemagick/imagemagick_7.0.8.bb b/meta-openembedded/meta-oe/recipes-support/imagemagick/imagemagick_7.0.8.bb deleted file mode 100644 index 4ee06d77f1..0000000000 --- a/meta-openembedded/meta-oe/recipes-support/imagemagick/imagemagick_7.0.8.bb +++ /dev/null @@ -1,86 +0,0 @@ -SUMMARY = "ImageMagick is an image conversion toolkit" -SECTION = "console/utils" -HOMEPAGE = "https://www.imagemagick.org/" -DESCRIPTION = "ImageMagick is a collection of tools for displaying, converting, and \ -editing raster and vector image files. It can read and write over 200 image file formats." -LICENSE = "ImageMagick" -LIC_FILES_CHKSUM = "file://LICENSE;md5=05ff94b3ff59fe6fa7489fa26e3d9142" -# FIXME: There are many more checked libraries. All should be added or explicitly disabled to get consistent results. -DEPENDS = "lcms bzip2 jpeg libpng tiff zlib fftw freetype libtool" - -BASE_PV := "${PV}" -PV .= "_47" -SRC_URI = "git://github.com/ImageMagick/ImageMagick.git " -SRCREV = "b672df7a44b0ab0219b1fa78b3673c2810ddd374" - -S = "${WORKDIR}/git" - -inherit autotools pkgconfig update-alternatives - -# xml disabled because it's using xml2-config --prefix to determine prefix which returns just /usr with our libxml2 -# if someone needs xml support then fix it first -EXTRA_OECONF = "--program-prefix= --program-suffix=.im7 --without-perl --disable-openmp --without-xml --disable-opencl" - -CACHED_CONFIGUREVARS = "ac_cv_sys_file_offset_bits=yes" -PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}" -PACKAGECONFIG[graphviz] = "--with-gvc,--without-gvc,graphviz" -PACKAGECONFIG[jp2] = "--with-jp2,,jasper" -PACKAGECONFIG[lzma] = "--with-lzma,--without-lzma,xz" -PACKAGECONFIG[openjpeg] = "--with-openjp2,--without-openjp2,openjpeg" -PACKAGECONFIG[pango] = "--with-pango,--without-pango,pango cairo" -PACKAGECONFIG[rsvg] = "--with-rsvg,--without-rsvg,librsvg" -PACKAGECONFIG[webp] = "--with-webp,--without-webp,libwebp" -PACKAGECONFIG[wmf] = "--with-wmf,--without-wmf,libwmf" -PACKAGECONFIG[x11] = "--with-x,--without-x,virtual/libx11 libxext libxt" - -FILES_${PN} += "${libdir}/ImageMagick-${BASE_PV}/config-Q16* \ - ${datadir}/ImageMagick-7" - -FILES_${PN}-dev += "${libdir}/ImageMagick-${BASE_PV}/modules-Q16/*/*.a" - -FILES_${PN}-dbg += "${libdir}/ImageMagick-${BASE_PV}/modules-Q16/*/.debug/*" - -BBCLASSEXTEND = "native" - -ALTERNATIVE_PRIORITY = "100" - -ALTERNATIVE_${PN} = "animate compare composite conjure convert display \ - identify import mogrify montage stream" - -ALTERNATIVE_TARGET[animate] = "${bindir}/animate.im7" -ALTERNATIVE_TARGET[compare] = "${bindir}/compare.im7" -ALTERNATIVE_TARGET[composite] = "${bindir}/composite.im7" -ALTERNATIVE_TARGET[conjure] = "${bindir}/conjure.im7" -ALTERNATIVE_TARGET[convert] = "${bindir}/convert.im7" -ALTERNATIVE_TARGET[display] = "${bindir}/display.im7" -ALTERNATIVE_TARGET[identify] = "${bindir}/identify.im7" -ALTERNATIVE_TARGET[import] = "${bindir}/import.im7" -ALTERNATIVE_TARGET[mogrify] = "${bindir}/mogrify.im7" -ALTERNATIVE_TARGET[montage] = "${bindir}/montage.im7" -ALTERNATIVE_TARGET[stream] = "${bindir}/stream.im7" - -ALTERNATIVE_${PN}-doc = "animate.1 compare.1 composite.1 conjure.1 \ - convert.1 display.1 identify.1 import.1 mogrify.1 montage.1 stream.1" - -ALTERNATIVE_LINK_NAME[animate.1] = "${mandir}/man1/animate.1" -ALTERNATIVE_TARGET[animate.1] = "${mandir}/man1/animate.im7.1" -ALTERNATIVE_LINK_NAME[compare.1] = "${mandir}/man1/compare.1" -ALTERNATIVE_TARGET[compare.1] = "${mandir}/man1/compare.im7.1" -ALTERNATIVE_LINK_NAME[composite.1] = "${mandir}/man1/composite.1" -ALTERNATIVE_TARGET[composite.1] = "${mandir}/man1/composite.im7.1" -ALTERNATIVE_LINK_NAME[conjure.1] = "${mandir}/man1/conjure.1" -ALTERNATIVE_TARGET[conjure.1] = "${mandir}/man1/conjure.im7.1" -ALTERNATIVE_LINK_NAME[convert.1] = "${mandir}/man1/convert.1" -ALTERNATIVE_TARGET[convert.1] = "${mandir}/man1/convert.im7.1" -ALTERNATIVE_LINK_NAME[display.1] = "${mandir}/man1/display.1" -ALTERNATIVE_TARGET[display.1] = "${mandir}/man1/display.im7.1" -ALTERNATIVE_LINK_NAME[identify.1] = "${mandir}/man1/identify.1" -ALTERNATIVE_TARGET[identify.1] = "${mandir}/man1/identify.im7.1" -ALTERNATIVE_LINK_NAME[import.1] = "${mandir}/man1/import.1" -ALTERNATIVE_TARGET[import.1] = "${mandir}/man1/import.im7.1" -ALTERNATIVE_LINK_NAME[mogrify.1] = "${mandir}/man1/mogrify.1" -ALTERNATIVE_TARGET[mogrify.1] = "${mandir}/man1/mogrify.im7.1" -ALTERNATIVE_LINK_NAME[montage.1] = "${mandir}/man1/montage.1" -ALTERNATIVE_TARGET[montage.1] = "${mandir}/man1/montage.im7.1" -ALTERNATIVE_LINK_NAME[stream.1] = "${mandir}/man1/stream.1" -ALTERNATIVE_TARGET[stream.1] = "${mandir}/man1/stream.im7.1" diff --git a/meta-openembedded/meta-oe/recipes-support/imagemagick/imagemagick_7.0.9.bb b/meta-openembedded/meta-oe/recipes-support/imagemagick/imagemagick_7.0.9.bb new file mode 100644 index 0000000000..3f7d06e261 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/imagemagick/imagemagick_7.0.9.bb @@ -0,0 +1,87 @@ +SUMMARY = "ImageMagick is an image conversion toolkit" +SECTION = "console/utils" +HOMEPAGE = "https://www.imagemagick.org/" +DESCRIPTION = "ImageMagick is a collection of tools for displaying, converting, and \ +editing raster and vector image files. It can read and write over 200 image file formats." +LICENSE = "ImageMagick" +LIC_FILES_CHKSUM = "file://LICENSE;md5=41b4fa9af60c88e61484b02c0561181a" +# FIXME: There are many more checked libraries. All should be added or explicitly disabled to get consistent results. +DEPENDS = "lcms bzip2 jpeg libpng tiff zlib fftw freetype libtool" + +BASE_PV := "${PV}" +PV .= "_13" +SRC_URI = "git://github.com/ImageMagick/ImageMagick.git " +SRCREV = "15b935d64f613b5a0fc9d3fead5c6ec1b0e3908f" + +S = "${WORKDIR}/git" + +inherit autotools pkgconfig update-alternatives + +# xml disabled because it's using xml2-config --prefix to determine prefix which returns just /usr with our libxml2 +# if someone needs xml support then fix it first +EXTRA_OECONF = "--program-prefix= --program-suffix=.im7 --without-perl --disable-openmp --without-xml --disable-opencl" + +CACHED_CONFIGUREVARS = "ac_cv_sys_file_offset_bits=yes" +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}" +PACKAGECONFIG[graphviz] = "--with-gvc,--without-gvc,graphviz" +PACKAGECONFIG[jp2] = "--with-jp2,,jasper" +PACKAGECONFIG[lzma] = "--with-lzma,--without-lzma,xz" +PACKAGECONFIG[openjpeg] = "--with-openjp2,--without-openjp2,openjpeg" +PACKAGECONFIG[pango] = "--with-pango,--without-pango,pango cairo" +PACKAGECONFIG[rsvg] = "--with-rsvg,--without-rsvg,librsvg" +PACKAGECONFIG[tcmalloc] = "--with-tcmalloc=yes,--with-tcmalloc=no,gperftools" +PACKAGECONFIG[webp] = "--with-webp,--without-webp,libwebp" +PACKAGECONFIG[wmf] = "--with-wmf,--without-wmf,libwmf" +PACKAGECONFIG[x11] = "--with-x,--without-x,virtual/libx11 libxext libxt" + +FILES_${PN} += "${libdir}/ImageMagick-${BASE_PV}/config-Q16* \ + ${datadir}/ImageMagick-7" + +FILES_${PN}-dev += "${libdir}/ImageMagick-${BASE_PV}/modules-Q16/*/*.a" + +FILES_${PN}-dbg += "${libdir}/ImageMagick-${BASE_PV}/modules-Q16/*/.debug/*" + +BBCLASSEXTEND = "native" + +ALTERNATIVE_PRIORITY = "100" + +ALTERNATIVE_${PN} = "animate compare composite conjure convert display \ + identify import mogrify montage stream" + +ALTERNATIVE_TARGET[animate] = "${bindir}/animate.im7" +ALTERNATIVE_TARGET[compare] = "${bindir}/compare.im7" +ALTERNATIVE_TARGET[composite] = "${bindir}/composite.im7" +ALTERNATIVE_TARGET[conjure] = "${bindir}/conjure.im7" +ALTERNATIVE_TARGET[convert] = "${bindir}/convert.im7" +ALTERNATIVE_TARGET[display] = "${bindir}/display.im7" +ALTERNATIVE_TARGET[identify] = "${bindir}/identify.im7" +ALTERNATIVE_TARGET[import] = "${bindir}/import.im7" +ALTERNATIVE_TARGET[mogrify] = "${bindir}/mogrify.im7" +ALTERNATIVE_TARGET[montage] = "${bindir}/montage.im7" +ALTERNATIVE_TARGET[stream] = "${bindir}/stream.im7" + +ALTERNATIVE_${PN}-doc = "animate.1 compare.1 composite.1 conjure.1 \ + convert.1 display.1 identify.1 import.1 mogrify.1 montage.1 stream.1" + +ALTERNATIVE_LINK_NAME[animate.1] = "${mandir}/man1/animate.1" +ALTERNATIVE_TARGET[animate.1] = "${mandir}/man1/animate.im7.1" +ALTERNATIVE_LINK_NAME[compare.1] = "${mandir}/man1/compare.1" +ALTERNATIVE_TARGET[compare.1] = "${mandir}/man1/compare.im7.1" +ALTERNATIVE_LINK_NAME[composite.1] = "${mandir}/man1/composite.1" +ALTERNATIVE_TARGET[composite.1] = "${mandir}/man1/composite.im7.1" +ALTERNATIVE_LINK_NAME[conjure.1] = "${mandir}/man1/conjure.1" +ALTERNATIVE_TARGET[conjure.1] = "${mandir}/man1/conjure.im7.1" +ALTERNATIVE_LINK_NAME[convert.1] = "${mandir}/man1/convert.1" +ALTERNATIVE_TARGET[convert.1] = "${mandir}/man1/convert.im7.1" +ALTERNATIVE_LINK_NAME[display.1] = "${mandir}/man1/display.1" +ALTERNATIVE_TARGET[display.1] = "${mandir}/man1/display.im7.1" +ALTERNATIVE_LINK_NAME[identify.1] = "${mandir}/man1/identify.1" +ALTERNATIVE_TARGET[identify.1] = "${mandir}/man1/identify.im7.1" +ALTERNATIVE_LINK_NAME[import.1] = "${mandir}/man1/import.1" +ALTERNATIVE_TARGET[import.1] = "${mandir}/man1/import.im7.1" +ALTERNATIVE_LINK_NAME[mogrify.1] = "${mandir}/man1/mogrify.1" +ALTERNATIVE_TARGET[mogrify.1] = "${mandir}/man1/mogrify.im7.1" +ALTERNATIVE_LINK_NAME[montage.1] = "${mandir}/man1/montage.1" +ALTERNATIVE_TARGET[montage.1] = "${mandir}/man1/montage.im7.1" +ALTERNATIVE_LINK_NAME[stream.1] = "${mandir}/man1/stream.1" +ALTERNATIVE_TARGET[stream.1] = "${mandir}/man1/stream.im7.1" diff --git a/meta-openembedded/meta-oe/recipes-support/inih/libinih_git.bb b/meta-openembedded/meta-oe/recipes-support/inih/libinih_git.bb index 48271f721c..87b1142e0c 100644 --- a/meta-openembedded/meta-oe/recipes-support/inih/libinih_git.bb +++ b/meta-openembedded/meta-oe/recipes-support/inih/libinih_git.bb @@ -8,8 +8,9 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=dae28cbf28207425e0d0b3eb835f4bde" PR = "r3" # The github repository provides a cmake and pkg-config integration -SRCREV = "25078f7156eb8647b3b35dd25f9ae6f8c4ee0589" -SRC_URI = "git://github.com/OSSystems/inih.git" +SRCREV = "c858aff8c31fa63ef4d1e0176c10e5928cde9a23" +SRC_URI = "git://github.com/OSSystems/inih.git \ + " S = "${WORKDIR}/git" diff --git a/meta-openembedded/meta-oe/recipes-support/libbytesize/libbytesize_2.1.bb b/meta-openembedded/meta-oe/recipes-support/libbytesize/libbytesize_2.1.bb index 07bf1faaeb..1a5c1848b9 100644 --- a/meta-openembedded/meta-oe/recipes-support/libbytesize/libbytesize_2.1.bb +++ b/meta-openembedded/meta-oe/recipes-support/libbytesize/libbytesize_2.1.bb @@ -25,8 +25,6 @@ FILES_${PN} += "${PYTHON_SITEPACKAGES_DIR}/bytesize" PACKAGECONFIG ??= "python3" PACKAGECONFIG[python3] = "--with-python3, --without-python3,,python3-core" -PACKAGECONFIG[doc] = "--with-gtk-doc, --without-gtk-doc, gtk-doc-native" +EXTRA_OECONF = "--without-gtk-doc" EXTRA_OEMAKE = "py3libdir=${PYTHON_SITEPACKAGES_DIR}" - - diff --git a/meta-openembedded/meta-oe/recipes-support/libfann/libfann_git.bb b/meta-openembedded/meta-oe/recipes-support/libfann/libfann_git.bb index c986e17757..eae24461dc 100644 --- a/meta-openembedded/meta-oe/recipes-support/libfann/libfann_git.bb +++ b/meta-openembedded/meta-oe/recipes-support/libfann/libfann_git.bb @@ -15,3 +15,5 @@ SRC_URI = "git://github.com/libfann/fann.git;branch=master \ PV = "2.2.0+git${SRCPV}" S = "${WORKDIR}/git" + +EXTRA_OECMAKE = "-DLIB_SUFFIX=${@d.getVar('baselib').replace('lib', '')}" diff --git a/meta-openembedded/meta-oe/recipes-support/libgit2/libgit2_0.28.3.bb b/meta-openembedded/meta-oe/recipes-support/libgit2/libgit2_0.28.3.bb deleted file mode 100644 index 82acc4926f..0000000000 --- a/meta-openembedded/meta-oe/recipes-support/libgit2/libgit2_0.28.3.bb +++ /dev/null @@ -1,20 +0,0 @@ -SUMMARY = "the Git linkable library" -HOMEPAGE = "http://libgit2.github.com/" -LICENSE = "GPL-2.0-with-GCC-exception & MIT" -LIC_FILES_CHKSUM = "file://COPYING;md5=3f2cd5d3cccd71d62066ba619614592b" - -DEPENDS = "curl openssl zlib libssh2 libgcrypt" - -SRC_URI = "git://github.com/libgit2/libgit2.git;branch=maint/v0.28" -SRCREV = "7ce88e66a19e3b48340abcdd86aeaae1882e63cc" - -S = "${WORKDIR}/git" - -inherit cmake - -EXTRA_OECMAKE = "\ - -DBUILD_CLAR=OFF \ - -DCMAKE_BUILD_TYPE=RelWithDebInfo \ -" - -BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-oe/recipes-support/libgit2/libgit2_0.28.4.bb b/meta-openembedded/meta-oe/recipes-support/libgit2/libgit2_0.28.4.bb new file mode 100644 index 0000000000..9b9c191049 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/libgit2/libgit2_0.28.4.bb @@ -0,0 +1,21 @@ +SUMMARY = "the Git linkable library" +HOMEPAGE = "http://libgit2.github.com/" +LICENSE = "GPL-2.0-with-GCC-exception & MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=3f2cd5d3cccd71d62066ba619614592b" + +DEPENDS = "curl openssl zlib libssh2 libgcrypt" + +SRC_URI = "git://github.com/libgit2/libgit2.git;branch=maint/v0.28" +SRCREV = "106a5f27586504ea371528191f0ea3aac2ad432b" + +S = "${WORKDIR}/git" + +inherit cmake + +EXTRA_OECMAKE = "\ + -DBUILD_CLAR=OFF \ + -DCMAKE_BUILD_TYPE=RelWithDebInfo \ + -DLIB_INSTALL_DIR=${libdir} \ +" + +BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-oe/recipes-support/libmxml/libmxml_3.0.bb b/meta-openembedded/meta-oe/recipes-support/libmxml/libmxml_3.0.bb deleted file mode 100644 index 5ca2dda323..0000000000 --- a/meta-openembedded/meta-oe/recipes-support/libmxml/libmxml_3.0.bb +++ /dev/null @@ -1,33 +0,0 @@ -DESCRIPTION = "Tiny XML Library" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" -HOMEPAGE = "https://www.msweet.org/mxml/" -BUGTRACKER = "https://github.com/michaelrsweet/mxml/issues" - -SRC_URI = "git://github.com/michaelrsweet/mxml.git" -SRCREV = "c7755b6992a2afdd34dde47fc9be97f1237cfded" -S = "${WORKDIR}/git" - -inherit autotools - -PACKAGECONFIG ??= "threads" -PACKAGECONFIG[threads] = "--enable-threads,--disable-threads" - -# Package does not support out of tree builds. -B = "${S}" - -# MXML uses autotools but it explicitly states it does not support autoheader. -EXTRA_AUTORECONF = "--exclude=autopoint,autoheader" - -do_configure_prepend() { - # Respect optimization CFLAGS specified by OE. - sed -e 's/-Os -g//' -i ${S}/configure.ac - - # Enable verbose compilation output. This is required for extra QA checks to work. - sed -e '/.SILENT:/d' -i ${S}/Makefile.in -} - -do_install() { - # Package uses DSTROOT instread of standard DESTDIR to specify install location. - oe_runmake install DSTROOT=${D} -} diff --git a/meta-openembedded/meta-oe/recipes-support/libmxml/libmxml_3.1.bb b/meta-openembedded/meta-oe/recipes-support/libmxml/libmxml_3.1.bb new file mode 100644 index 0000000000..4e77d6cc02 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/libmxml/libmxml_3.1.bb @@ -0,0 +1,33 @@ +DESCRIPTION = "Tiny XML Library" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" +HOMEPAGE = "https://www.msweet.org/mxml/" +BUGTRACKER = "https://github.com/michaelrsweet/mxml/issues" + +SRC_URI = "git://github.com/michaelrsweet/mxml.git" +SRCREV = "e483e5fd8a33386fd46967681521bdd2da2b548f" +S = "${WORKDIR}/git" + +inherit autotools + +PACKAGECONFIG ??= "threads" +PACKAGECONFIG[threads] = "--enable-threads,--disable-threads" + +# Package does not support out of tree builds. +B = "${S}" + +# MXML uses autotools but it explicitly states it does not support autoheader. +EXTRA_AUTORECONF = "--exclude=autopoint,autoheader" + +do_configure_prepend() { + # Respect optimization CFLAGS specified by OE. + sed -e 's/-Os -g//' -i ${S}/configure.ac + + # Enable verbose compilation output. This is required for extra QA checks to work. + sed -e '/.SILENT:/d' -i ${S}/Makefile.in +} + +do_install() { + # Package uses DSTROOT instread of standard DESTDIR to specify install location. + oe_runmake install DSTROOT=${D} +} diff --git a/meta-openembedded/meta-oe/recipes-support/libnih/libnih-1.0.3/0001-Update-autotool-files-also-make-it-work-with-latest-.patch b/meta-openembedded/meta-oe/recipes-support/libnih/libnih-1.0.3/0001-Update-autotool-files-also-make-it-work-with-latest-.patch new file mode 100644 index 0000000000..2c857c26fe --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/libnih/libnih-1.0.3/0001-Update-autotool-files-also-make-it-work-with-latest-.patch @@ -0,0 +1,24310 @@ +From 0f1cc1bc615807e81fd2709d4177ca41168446c0 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sat, 7 Dec 2019 00:45:23 -0800 +Subject: [PATCH] Update autotool files, also make it work with latest gettext + +Upstream-Status: Inappropriate [Dead upstream] +Signed-off-by: Khem Raj +--- + ABOUT-NLS | 1069 +-- + ChangeLog | 7 + + Makefile.am | 2 +- + configure.ac | 6 +- + intl/ChangeLog | 4 - + intl/Makefile.in | 587 -- + intl/VERSION | 1 - + intl/bindtextdom.c | 340 - + intl/config.charset | 640 -- + intl/dcgettext.c | 56 - + intl/dcigettext.c | 1689 ----- + intl/dcngettext.c | 57 - + intl/dgettext.c | 58 - + intl/dngettext.c | 59 - + intl/eval-plural.h | 108 - + intl/explodename.c | 135 - + intl/export.h | 6 - + intl/finddomain.c | 212 - + intl/gettext.c | 63 - + intl/gettextP.h | 297 - + intl/gmo.h | 152 - + intl/hash-string.c | 51 - + intl/hash-string.h | 36 - + intl/intl-compat.c | 133 - + intl/intl-exports.c | 36 - + intl/l10nflist.c | 400 -- + intl/langprefs.c | 130 - + intl/libgnuintl.h.in | 419 -- + intl/libintl.rc | 38 - + intl/loadinfo.h | 132 - + intl/loadmsgcat.c | 1336 ---- + intl/localcharset.c | 461 -- + intl/localcharset.h | 42 - + intl/locale.alias | 77 - + intl/localealias.c | 439 -- + intl/localename.c | 1507 ---- + intl/lock.c | 922 --- + intl/lock.h | 1105 --- + intl/log.c | 116 - + intl/ngettext.c | 65 - + intl/os2compat.c | 98 - + intl/os2compat.h | 46 - + intl/osdep.c | 26 - + intl/plural-exp.c | 155 - + intl/plural-exp.h | 129 - + intl/plural.c | 1981 ------ + intl/plural.y | 385 -- + intl/printf-args.c | 188 - + intl/printf-args.h | 155 - + intl/printf-parse.c | 590 -- + intl/printf-parse.h | 75 - + intl/printf.c | 427 -- + intl/ref-add.sin | 31 - + intl/ref-del.sin | 26 - + intl/relocatable.c | 468 -- + intl/relocatable.h | 79 - + intl/textdomain.c | 127 - + intl/tsearch.c | 684 -- + intl/tsearch.h | 83 - + intl/vasnprintf.c | 4677 ------------- + intl/vasnprintf.h | 78 - + intl/vasnwprintf.h | 46 - + intl/version.c | 26 - + intl/wprintf-parse.h | 75 - + intl/xsize.h | 109 - + m4/intlmacosx.m4 | 55 +- + po/ChangeLog | 8 + + po/Rules-quot | 19 +- + po/en@boldquot.header | 2 +- + po/en@quot.header | 2 +- + po/insert-header.sin | 5 + + po/remove-potcdate.sin | 8 +- + 74 files changed, 1335 insertions(+), 38646 deletions(-) + delete mode 100644 intl/ChangeLog + delete mode 100644 intl/Makefile.in + delete mode 100644 intl/VERSION + delete mode 100644 intl/bindtextdom.c + delete mode 100755 intl/config.charset + delete mode 100644 intl/dcgettext.c + delete mode 100644 intl/dcigettext.c + delete mode 100644 intl/dcngettext.c + delete mode 100644 intl/dgettext.c + delete mode 100644 intl/dngettext.c + delete mode 100644 intl/eval-plural.h + delete mode 100644 intl/explodename.c + delete mode 100644 intl/export.h + delete mode 100644 intl/finddomain.c + delete mode 100644 intl/gettext.c + delete mode 100644 intl/gettextP.h + delete mode 100644 intl/gmo.h + delete mode 100644 intl/hash-string.c + delete mode 100644 intl/hash-string.h + delete mode 100644 intl/intl-compat.c + delete mode 100644 intl/intl-exports.c + delete mode 100644 intl/l10nflist.c + delete mode 100644 intl/langprefs.c + delete mode 100644 intl/libgnuintl.h.in + delete mode 100644 intl/libintl.rc + delete mode 100644 intl/loadinfo.h + delete mode 100644 intl/loadmsgcat.c + delete mode 100644 intl/localcharset.c + delete mode 100644 intl/localcharset.h + delete mode 100644 intl/locale.alias + delete mode 100644 intl/localealias.c + delete mode 100644 intl/localename.c + delete mode 100644 intl/lock.c + delete mode 100644 intl/lock.h + delete mode 100644 intl/log.c + delete mode 100644 intl/ngettext.c + delete mode 100644 intl/os2compat.c + delete mode 100644 intl/os2compat.h + delete mode 100644 intl/osdep.c + delete mode 100644 intl/plural-exp.c + delete mode 100644 intl/plural-exp.h + delete mode 100644 intl/plural.c + delete mode 100644 intl/plural.y + delete mode 100644 intl/printf-args.c + delete mode 100644 intl/printf-args.h + delete mode 100644 intl/printf-parse.c + delete mode 100644 intl/printf-parse.h + delete mode 100644 intl/printf.c + delete mode 100644 intl/ref-add.sin + delete mode 100644 intl/ref-del.sin + delete mode 100644 intl/relocatable.c + delete mode 100644 intl/relocatable.h + delete mode 100644 intl/textdomain.c + delete mode 100644 intl/tsearch.c + delete mode 100644 intl/tsearch.h + delete mode 100644 intl/vasnprintf.c + delete mode 100644 intl/vasnprintf.h + delete mode 100644 intl/vasnwprintf.h + delete mode 100644 intl/version.c + delete mode 100644 intl/wprintf-parse.h + delete mode 100644 intl/xsize.h + +--- a/ABOUT-NLS ++++ b/ABOUT-NLS +@@ -1,1068 +1 @@ +-1 Notes on the Free Translation Project +-*************************************** +- +-Free software is going international! The Free Translation Project is +-a way to get maintainers of free software, translators, and users all +-together, so that free software will gradually become able to speak many +-languages. A few packages already provide translations for their +-messages. +- +- If you found this `ABOUT-NLS' file inside a distribution, you may +-assume that the distributed package does use GNU `gettext' internally, +-itself available at your nearest GNU archive site. But you do _not_ +-need to install GNU `gettext' prior to configuring, installing or using +-this package with messages translated. +- +- Installers will find here some useful hints. These notes also +-explain how users should proceed for getting the programs to use the +-available translations. They tell how people wanting to contribute and +-work on translations can contact the appropriate team. +- +- When reporting bugs in the `intl/' directory or bugs which may be +-related to internationalization, you should tell about the version of +-`gettext' which is used. The information can be found in the +-`intl/VERSION' file, in internationalized packages. +- +-1.1 Quick configuration advice +-============================== +- +-If you want to exploit the full power of internationalization, you +-should configure it using +- +- ./configure --with-included-gettext +- +-to force usage of internationalizing routines provided within this +-package, despite the existence of internationalizing capabilities in the +-operating system where this package is being installed. So far, only +-the `gettext' implementation in the GNU C library version 2 provides as +-many features (such as locale alias, message inheritance, automatic +-charset conversion or plural form handling) as the implementation here. +-It is also not possible to offer this additional functionality on top +-of a `catgets' implementation. Future versions of GNU `gettext' will +-very likely convey even more functionality. So it might be a good idea +-to change to GNU `gettext' as soon as possible. +- +- So you need _not_ provide this option if you are using GNU libc 2 or +-you have installed a recent copy of the GNU gettext package with the +-included `libintl'. +- +-1.2 INSTALL Matters +-=================== +- +-Some packages are "localizable" when properly installed; the programs +-they contain can be made to speak your own native language. Most such +-packages use GNU `gettext'. Other packages have their own ways to +-internationalization, predating GNU `gettext'. +- +- By default, this package will be installed to allow translation of +-messages. It will automatically detect whether the system already +-provides the GNU `gettext' functions. If not, the included GNU +-`gettext' library will be used. This library is wholly contained +-within this package, usually in the `intl/' subdirectory, so prior +-installation of the GNU `gettext' package is _not_ required. +-Installers may use special options at configuration time for changing +-the default behaviour. The commands: +- +- ./configure --with-included-gettext +- ./configure --disable-nls +- +-will, respectively, bypass any pre-existing `gettext' to use the +-internationalizing routines provided within this package, or else, +-_totally_ disable translation of messages. +- +- When you already have GNU `gettext' installed on your system and run +-configure without an option for your new package, `configure' will +-probably detect the previously built and installed `libintl.a' file and +-will decide to use this. This might not be desirable. You should use +-the more recent version of the GNU `gettext' library. I.e. if the file +-`intl/VERSION' shows that the library which comes with this package is +-more recent, you should use +- +- ./configure --with-included-gettext +- +-to prevent auto-detection. +- +- The configuration process will not test for the `catgets' function +-and therefore it will not be used. The reason is that even an +-emulation of `gettext' on top of `catgets' could not provide all the +-extensions of the GNU `gettext' library. +- +- Internationalized packages usually have many `po/LL.po' files, where +-LL gives an ISO 639 two-letter code identifying the language. Unless +-translations have been forbidden at `configure' time by using the +-`--disable-nls' switch, all available translations are installed +-together with the package. However, the environment variable `LINGUAS' +-may be set, prior to configuration, to limit the installed set. +-`LINGUAS' should then contain a space separated list of two-letter +-codes, stating which languages are allowed. +- +-1.3 Using This Package +-====================== +- +-As a user, if your language has been installed for this package, you +-only have to set the `LANG' environment variable to the appropriate +-`LL_CC' combination. If you happen to have the `LC_ALL' or some other +-`LC_xxx' environment variables set, you should unset them before +-setting `LANG', otherwise the setting of `LANG' will not have the +-desired effect. Here `LL' is an ISO 639 two-letter language code, and +-`CC' is an ISO 3166 two-letter country code. For example, let's +-suppose that you speak German and live in Germany. At the shell +-prompt, merely execute `setenv LANG de_DE' (in `csh'), +-`export LANG; LANG=de_DE' (in `sh') or `export LANG=de_DE' (in `bash'). +-This can be done from your `.login' or `.profile' file, once and for +-all. +- +- You might think that the country code specification is redundant. +-But in fact, some languages have dialects in different countries. For +-example, `de_AT' is used for Austria, and `pt_BR' for Brazil. The +-country code serves to distinguish the dialects. +- +- The locale naming convention of `LL_CC', with `LL' denoting the +-language and `CC' denoting the country, is the one use on systems based +-on GNU libc. On other systems, some variations of this scheme are +-used, such as `LL' or `LL_CC.ENCODING'. You can get the list of +-locales supported by your system for your language by running the +-command `locale -a | grep '^LL''. +- +- Not all programs have translations for all languages. By default, an +-English message is shown in place of a nonexistent translation. If you +-understand other languages, you can set up a priority list of languages. +-This is done through a different environment variable, called +-`LANGUAGE'. GNU `gettext' gives preference to `LANGUAGE' over `LANG' +-for the purpose of message handling, but you still need to have `LANG' +-set to the primary language; this is required by other parts of the +-system libraries. For example, some Swedish users who would rather +-read translations in German than English for when Swedish is not +-available, set `LANGUAGE' to `sv:de' while leaving `LANG' to `sv_SE'. +- +- Special advice for Norwegian users: The language code for Norwegian +-bokma*l changed from `no' to `nb' recently (in 2003). During the +-transition period, while some message catalogs for this language are +-installed under `nb' and some older ones under `no', it's recommended +-for Norwegian users to set `LANGUAGE' to `nb:no' so that both newer and +-older translations are used. +- +- In the `LANGUAGE' environment variable, but not in the `LANG' +-environment variable, `LL_CC' combinations can be abbreviated as `LL' +-to denote the language's main dialect. For example, `de' is equivalent +-to `de_DE' (German as spoken in Germany), and `pt' to `pt_PT' +-(Portuguese as spoken in Portugal) in this context. +- +-1.4 Translating Teams +-===================== +- +-For the Free Translation Project to be a success, we need interested +-people who like their own language and write it well, and who are also +-able to synergize with other translators speaking the same language. +-Each translation team has its own mailing list. The up-to-date list of +-teams can be found at the Free Translation Project's homepage, +-`http://translationproject.org/', in the "Teams" area. +- +- If you'd like to volunteer to _work_ at translating messages, you +-should become a member of the translating team for your own language. +-The subscribing address is _not_ the same as the list itself, it has +-`-request' appended. For example, speakers of Swedish can send a +-message to `sv-request@li.org', having this message body: +- +- subscribe +- +- Keep in mind that team members are expected to participate +-_actively_ in translations, or at solving translational difficulties, +-rather than merely lurking around. If your team does not exist yet and +-you want to start one, or if you are unsure about what to do or how to +-get started, please write to `coordinator@translationproject.org' to +-reach the coordinator for all translator teams. +- +- The English team is special. It works at improving and uniformizing +-the terminology in use. Proven linguistic skills are praised more than +-programming skills, here. +- +-1.5 Available Packages +-====================== +- +-Languages are not equally supported in all packages. The following +-matrix shows the current state of internationalization, as of November +-2007. The matrix shows, in regard of each package, for which languages +-PO files have been submitted to translation coordination, with a +-translation percentage of at least 50%. +- +- Ready PO files af am ar az be bg bs ca cs cy da de el en en_GB eo +- +----------------------------------------------------+ +- Compendium | [] [] [] [] | +- a2ps | [] [] [] [] [] | +- aegis | () | +- ant-phone | () | +- anubis | [] | +- ap-utils | | +- aspell | [] [] [] [] [] | +- bash | [] | +- bfd | | +- bibshelf | [] | +- binutils | | +- bison | [] [] | +- bison-runtime | [] | +- bluez-pin | [] [] [] [] [] | +- cflow | [] | +- clisp | [] [] [] | +- console-tools | [] [] | +- coreutils | [] [] [] [] | +- cpio | | +- cpplib | [] [] [] | +- cryptonit | [] | +- dialog | | +- diffutils | [] [] [] [] [] [] | +- doodle | [] | +- e2fsprogs | [] [] | +- enscript | [] [] [] [] | +- fetchmail | [] [] () [] [] | +- findutils | [] | +- findutils_stable | [] [] [] | +- flex | [] [] [] | +- fslint | | +- gas | | +- gawk | [] [] [] | +- gcal | [] | +- gcc | [] | +- gettext-examples | [] [] [] [] [] | +- gettext-runtime | [] [] [] [] [] | +- gettext-tools | [] [] | +- gip | [] | +- gliv | [] [] | +- glunarclock | [] | +- gmult | [] [] | +- gnubiff | () | +- gnucash | [] [] () () [] | +- gnuedu | | +- gnulib | [] | +- gnunet | | +- gnunet-gtk | | +- gnutls | [] | +- gpe-aerial | [] [] | +- gpe-beam | [] [] | +- gpe-calendar | | +- gpe-clock | [] [] | +- gpe-conf | [] [] | +- gpe-contacts | | +- gpe-edit | [] | +- gpe-filemanager | | +- gpe-go | [] | +- gpe-login | [] [] | +- gpe-ownerinfo | [] [] | +- gpe-package | | +- gpe-sketchbook | [] [] | +- gpe-su | [] [] | +- gpe-taskmanager | [] [] | +- gpe-timesheet | [] | +- gpe-today | [] [] | +- gpe-todo | | +- gphoto2 | [] [] [] [] | +- gprof | [] [] | +- gpsdrive | | +- gramadoir | [] [] | +- grep | [] [] | +- gretl | () | +- gsasl | | +- gss | | +- gst-plugins-bad | [] [] | +- gst-plugins-base | [] [] | +- gst-plugins-good | [] [] [] | +- gst-plugins-ugly | [] [] | +- gstreamer | [] [] [] [] [] [] [] | +- gtick | () | +- gtkam | [] [] [] [] | +- gtkorphan | [] [] | +- gtkspell | [] [] [] [] | +- gutenprint | [] | +- hello | [] [] [] [] [] | +- herrie | [] | +- hylafax | | +- idutils | [] [] | +- indent | [] [] [] [] | +- iso_15924 | | +- iso_3166 | [] [] [] [] [] [] [] [] [] [] [] | +- iso_3166_2 | | +- iso_4217 | [] [] [] | +- iso_639 | [] [] [] [] | +- jpilot | [] | +- jtag | | +- jwhois | | +- kbd | [] [] [] [] | +- keytouch | [] [] | +- keytouch-editor | [] | +- keytouch-keyboa... | [] | +- latrine | () | +- ld | [] | +- leafpad | [] [] [] [] [] | +- libc | [] [] [] [] | +- libexif | [] | +- libextractor | [] | +- libgpewidget | [] [] [] | +- libgpg-error | [] | +- libgphoto2 | [] [] | +- libgphoto2_port | [] [] | +- libgsasl | | +- libiconv | [] [] | +- libidn | [] [] [] | +- lifelines | [] () | +- lilypond | [] | +- lingoteach | | +- lprng | | +- lynx | [] [] [] [] | +- m4 | [] [] [] [] | +- mailfromd | | +- mailutils | [] | +- make | [] [] | +- man-db | [] [] [] | +- minicom | [] [] [] | +- nano | [] [] [] | +- opcodes | [] | +- parted | [] [] | +- pilot-qof | | +- popt | [] [] [] | +- psmisc | [] | +- pwdutils | | +- qof | | +- radius | [] | +- recode | [] [] [] [] [] [] | +- rpm | [] | +- screem | | +- scrollkeeper | [] [] [] [] [] [] [] [] | +- sed | [] [] [] | +- shared-mime-info | [] [] [] [] () [] [] [] | +- sharutils | [] [] [] [] [] [] | +- shishi | | +- skencil | [] () | +- solfege | | +- soundtracker | [] [] | +- sp | [] | +- system-tools-ba... | [] [] [] [] [] [] [] [] [] | +- tar | [] [] | +- texinfo | [] [] [] | +- tin | () () | +- tuxpaint | [] [] [] [] [] [] | +- unicode-han-tra... | | +- unicode-transla... | | +- util-linux | [] [] [] [] | +- util-linux-ng | [] [] [] [] | +- vorbis-tools | [] | +- wastesedge | () | +- wdiff | [] [] [] [] | +- wget | [] [] [] | +- xchat | [] [] [] [] [] [] [] | +- xkeyboard-config | [] | +- xpad | [] [] [] | +- +----------------------------------------------------+ +- af am ar az be bg bs ca cs cy da de el en en_GB eo +- 6 0 2 1 8 26 2 40 48 2 56 88 15 1 15 18 +- +- es et eu fa fi fr ga gl gu he hi hr hu id is it +- +--------------------------------------------------+ +- Compendium | [] [] [] [] [] | +- a2ps | [] [] [] () | +- aegis | | +- ant-phone | [] | +- anubis | [] | +- ap-utils | [] [] | +- aspell | [] [] [] | +- bash | [] | +- bfd | [] [] | +- bibshelf | [] [] [] | +- binutils | [] [] [] | +- bison | [] [] [] [] [] [] | +- bison-runtime | [] [] [] [] [] | +- bluez-pin | [] [] [] [] [] | +- cflow | [] | +- clisp | [] [] | +- console-tools | | +- coreutils | [] [] [] [] [] [] | +- cpio | [] [] [] | +- cpplib | [] [] | +- cryptonit | [] | +- dialog | [] [] [] | +- diffutils | [] [] [] [] [] [] [] [] [] | +- doodle | [] [] | +- e2fsprogs | [] [] [] | +- enscript | [] [] [] | +- fetchmail | [] | +- findutils | [] [] [] | +- findutils_stable | [] [] [] [] | +- flex | [] [] [] | +- fslint | | +- gas | [] [] | +- gawk | [] [] [] [] () | +- gcal | [] [] | +- gcc | [] | +- gettext-examples | [] [] [] [] [] [] [] | +- gettext-runtime | [] [] [] [] [] [] | +- gettext-tools | [] [] [] [] | +- gip | [] [] [] [] | +- gliv | () | +- glunarclock | [] [] [] | +- gmult | [] [] [] | +- gnubiff | () () | +- gnucash | () () () | +- gnuedu | [] | +- gnulib | [] [] [] | +- gnunet | | +- gnunet-gtk | | +- gnutls | | +- gpe-aerial | [] [] | +- gpe-beam | [] [] | +- gpe-calendar | | +- gpe-clock | [] [] [] [] | +- gpe-conf | [] | +- gpe-contacts | [] [] | +- gpe-edit | [] [] [] [] | +- gpe-filemanager | [] | +- gpe-go | [] [] [] | +- gpe-login | [] [] [] | +- gpe-ownerinfo | [] [] [] [] [] | +- gpe-package | [] | +- gpe-sketchbook | [] [] | +- gpe-su | [] [] [] [] | +- gpe-taskmanager | [] [] [] | +- gpe-timesheet | [] [] [] [] | +- gpe-today | [] [] [] [] | +- gpe-todo | [] | +- gphoto2 | [] [] [] [] [] | +- gprof | [] [] [] [] [] | +- gpsdrive | [] | +- gramadoir | [] [] | +- grep | [] [] [] | +- gretl | [] [] [] () | +- gsasl | [] [] | +- gss | [] [] | +- gst-plugins-bad | [] [] [] [] | +- gst-plugins-base | [] [] [] [] | +- gst-plugins-good | [] [] [] [] [] | +- gst-plugins-ugly | [] [] [] [] | +- gstreamer | [] [] [] | +- gtick | [] [] [] | +- gtkam | [] [] [] [] | +- gtkorphan | [] [] | +- gtkspell | [] [] [] [] [] [] [] | +- gutenprint | [] | +- hello | [] [] [] [] [] [] [] [] [] [] [] [] [] | +- herrie | [] | +- hylafax | | +- idutils | [] [] [] [] [] | +- indent | [] [] [] [] [] [] [] [] [] [] | +- iso_15924 | [] | +- iso_3166 | [] [] [] [] [] [] [] [] [] [] [] [] [] | +- iso_3166_2 | [] | +- iso_4217 | [] [] [] [] [] [] | +- iso_639 | [] [] [] [] [] [] | +- jpilot | [] [] | +- jtag | [] | +- jwhois | [] [] [] [] [] | +- kbd | [] [] | +- keytouch | [] [] [] | +- keytouch-editor | [] | +- keytouch-keyboa... | [] [] | +- latrine | [] [] | +- ld | [] [] [] [] | +- leafpad | [] [] [] [] [] [] | +- libc | [] [] [] [] [] | +- libexif | [] | +- libextractor | [] | +- libgpewidget | [] [] [] [] [] | +- libgpg-error | [] | +- libgphoto2 | [] [] [] | +- libgphoto2_port | [] [] | +- libgsasl | [] [] | +- libiconv | [] [] [] | +- libidn | [] [] | +- lifelines | () | +- lilypond | [] [] [] | +- lingoteach | [] [] [] | +- lprng | | +- lynx | [] [] [] | +- m4 | [] [] [] [] | +- mailfromd | | +- mailutils | [] [] | +- make | [] [] [] [] [] [] [] [] | +- man-db | [] | +- minicom | [] [] [] [] | +- nano | [] [] [] [] [] [] [] | +- opcodes | [] [] [] [] | +- parted | [] [] [] | +- pilot-qof | | +- popt | [] [] [] [] | +- psmisc | [] [] | +- pwdutils | | +- qof | [] | +- radius | [] [] | +- recode | [] [] [] [] [] [] [] [] | +- rpm | [] [] | +- screem | | +- scrollkeeper | [] [] [] | +- sed | [] [] [] [] [] | +- shared-mime-info | [] [] [] [] [] [] | +- sharutils | [] [] [] [] [] [] [] [] | +- shishi | [] | +- skencil | [] [] | +- solfege | [] | +- soundtracker | [] [] [] | +- sp | [] | +- system-tools-ba... | [] [] [] [] [] [] [] [] [] | +- tar | [] [] [] [] [] | +- texinfo | [] [] [] | +- tin | [] () | +- tuxpaint | [] [] | +- unicode-han-tra... | | +- unicode-transla... | [] [] | +- util-linux | [] [] [] [] [] [] [] | +- util-linux-ng | [] [] [] [] [] [] [] | +- vorbis-tools | | +- wastesedge | () | +- wdiff | [] [] [] [] [] [] [] [] | +- wget | [] [] [] [] [] [] [] [] | +- xchat | [] [] [] [] [] [] [] | +- xkeyboard-config | [] [] [] [] | +- xpad | [] [] [] | +- +--------------------------------------------------+ +- es et eu fa fi fr ga gl gu he hi hr hu id is it +- 85 22 14 2 48 101 61 12 2 8 2 6 53 29 1 52 +- +- ja ka ko ku ky lg lt lv mk mn ms mt nb ne nl nn +- +--------------------------------------------------+ +- Compendium | [] | +- a2ps | () [] [] | +- aegis | () | +- ant-phone | [] | +- anubis | [] [] [] | +- ap-utils | [] | +- aspell | [] [] | +- bash | [] | +- bfd | | +- bibshelf | [] | +- binutils | | +- bison | [] [] [] | +- bison-runtime | [] [] [] | +- bluez-pin | [] [] [] | +- cflow | | +- clisp | [] | +- console-tools | | +- coreutils | [] | +- cpio | [] | +- cpplib | [] | +- cryptonit | [] | +- dialog | [] [] | +- diffutils | [] [] [] | +- doodle | | +- e2fsprogs | [] | +- enscript | [] | +- fetchmail | [] [] | +- findutils | [] | +- findutils_stable | [] | +- flex | [] [] | +- fslint | | +- gas | | +- gawk | [] [] | +- gcal | | +- gcc | | +- gettext-examples | [] [] [] | +- gettext-runtime | [] [] [] | +- gettext-tools | [] [] | +- gip | [] [] | +- gliv | [] | +- glunarclock | [] [] | +- gmult | [] [] [] | +- gnubiff | | +- gnucash | () () () | +- gnuedu | | +- gnulib | [] [] | +- gnunet | | +- gnunet-gtk | | +- gnutls | [] | +- gpe-aerial | [] | +- gpe-beam | [] | +- gpe-calendar | [] | +- gpe-clock | [] [] [] | +- gpe-conf | [] [] [] | +- gpe-contacts | [] | +- gpe-edit | [] [] [] | +- gpe-filemanager | [] [] | +- gpe-go | [] [] [] | +- gpe-login | [] [] [] | +- gpe-ownerinfo | [] [] | +- gpe-package | [] [] | +- gpe-sketchbook | [] [] | +- gpe-su | [] [] [] | +- gpe-taskmanager | [] [] [] [] | +- gpe-timesheet | [] | +- gpe-today | [] [] | +- gpe-todo | [] | +- gphoto2 | [] [] | +- gprof | [] | +- gpsdrive | [] | +- gramadoir | () | +- grep | [] [] | +- gretl | | +- gsasl | [] | +- gss | | +- gst-plugins-bad | [] | +- gst-plugins-base | [] | +- gst-plugins-good | [] | +- gst-plugins-ugly | [] | +- gstreamer | [] | +- gtick | [] | +- gtkam | [] [] | +- gtkorphan | [] | +- gtkspell | [] [] | +- gutenprint | [] | +- hello | [] [] [] [] [] [] [] | +- herrie | [] | +- hylafax | | +- idutils | [] | +- indent | [] [] | +- iso_15924 | [] | +- iso_3166 | [] [] [] [] [] [] [] [] | +- iso_3166_2 | [] | +- iso_4217 | [] [] [] | +- iso_639 | [] [] [] [] | +- jpilot | () () | +- jtag | | +- jwhois | [] | +- kbd | [] | +- keytouch | [] | +- keytouch-editor | [] | +- keytouch-keyboa... | | +- latrine | [] | +- ld | | +- leafpad | [] [] | +- libc | [] [] [] | +- libexif | | +- libextractor | | +- libgpewidget | [] | +- libgpg-error | | +- libgphoto2 | [] | +- libgphoto2_port | [] | +- libgsasl | [] | +- libiconv | [] | +- libidn | [] [] | +- lifelines | [] | +- lilypond | [] | +- lingoteach | [] | +- lprng | | +- lynx | [] [] | +- m4 | [] [] | +- mailfromd | | +- mailutils | | +- make | [] [] [] | +- man-db | | +- minicom | [] | +- nano | [] [] [] | +- opcodes | [] | +- parted | [] [] | +- pilot-qof | | +- popt | [] [] [] | +- psmisc | [] [] [] | +- pwdutils | | +- qof | | +- radius | | +- recode | [] | +- rpm | [] [] | +- screem | [] | +- scrollkeeper | [] [] [] [] | +- sed | [] [] | +- shared-mime-info | [] [] [] [] [] [] [] | +- sharutils | [] [] | +- shishi | | +- skencil | | +- solfege | () () | +- soundtracker | | +- sp | () | +- system-tools-ba... | [] [] [] [] | +- tar | [] [] [] | +- texinfo | [] [] | +- tin | | +- tuxpaint | () [] [] | +- unicode-han-tra... | | +- unicode-transla... | | +- util-linux | [] [] | +- util-linux-ng | [] [] | +- vorbis-tools | | +- wastesedge | [] | +- wdiff | [] [] | +- wget | [] [] | +- xchat | [] [] [] [] | +- xkeyboard-config | [] [] [] | +- xpad | [] [] [] | +- +--------------------------------------------------+ +- ja ka ko ku ky lg lt lv mk mn ms mt nb ne nl nn +- 51 2 25 3 2 0 6 0 2 2 20 0 11 1 103 6 +- +- or pa pl pt pt_BR rm ro ru rw sk sl sq sr sv ta +- +--------------------------------------------------+ +- Compendium | [] [] [] [] [] | +- a2ps | () [] [] [] [] [] [] | +- aegis | () () | +- ant-phone | [] [] | +- anubis | [] [] [] | +- ap-utils | () | +- aspell | [] [] [] | +- bash | [] [] | +- bfd | | +- bibshelf | [] | +- binutils | [] [] | +- bison | [] [] [] [] [] | +- bison-runtime | [] [] [] [] [] | +- bluez-pin | [] [] [] [] [] [] [] [] [] | +- cflow | [] | +- clisp | [] | +- console-tools | [] | +- coreutils | [] [] [] [] | +- cpio | [] [] [] | +- cpplib | [] | +- cryptonit | [] [] | +- dialog | [] | +- diffutils | [] [] [] [] [] [] | +- doodle | [] [] | +- e2fsprogs | [] [] | +- enscript | [] [] [] [] [] | +- fetchmail | [] [] [] | +- findutils | [] [] [] | +- findutils_stable | [] [] [] [] [] [] | +- flex | [] [] [] [] [] | +- fslint | [] | +- gas | | +- gawk | [] [] [] [] | +- gcal | [] | +- gcc | [] [] | +- gettext-examples | [] [] [] [] [] [] [] [] | +- gettext-runtime | [] [] [] [] [] [] [] [] | +- gettext-tools | [] [] [] [] [] [] [] | +- gip | [] [] [] [] | +- gliv | [] [] [] [] [] [] | +- glunarclock | [] [] [] [] [] [] | +- gmult | [] [] [] [] | +- gnubiff | () [] | +- gnucash | () [] | +- gnuedu | | +- gnulib | [] [] [] | +- gnunet | | +- gnunet-gtk | [] | +- gnutls | [] [] | +- gpe-aerial | [] [] [] [] [] [] [] | +- gpe-beam | [] [] [] [] [] [] [] | +- gpe-calendar | [] [] [] [] | +- gpe-clock | [] [] [] [] [] [] [] [] | +- gpe-conf | [] [] [] [] [] [] [] | +- gpe-contacts | [] [] [] [] [] | +- gpe-edit | [] [] [] [] [] [] [] [] [] | +- gpe-filemanager | [] [] | +- gpe-go | [] [] [] [] [] [] [] [] | +- gpe-login | [] [] [] [] [] [] [] [] | +- gpe-ownerinfo | [] [] [] [] [] [] [] [] | +- gpe-package | [] [] | +- gpe-sketchbook | [] [] [] [] [] [] [] [] | +- gpe-su | [] [] [] [] [] [] [] [] | +- gpe-taskmanager | [] [] [] [] [] [] [] [] | +- gpe-timesheet | [] [] [] [] [] [] [] [] | +- gpe-today | [] [] [] [] [] [] [] [] | +- gpe-todo | [] [] [] [] | +- gphoto2 | [] [] [] [] [] [] | +- gprof | [] [] [] | +- gpsdrive | [] [] | +- gramadoir | [] [] | +- grep | [] [] [] [] | +- gretl | [] [] [] | +- gsasl | [] [] [] | +- gss | [] [] [] [] | +- gst-plugins-bad | [] [] [] | +- gst-plugins-base | [] [] | +- gst-plugins-good | [] [] | +- gst-plugins-ugly | [] [] [] | +- gstreamer | [] [] [] [] | +- gtick | [] | +- gtkam | [] [] [] [] [] | +- gtkorphan | [] | +- gtkspell | [] [] [] [] [] [] [] [] | +- gutenprint | [] | +- hello | [] [] [] [] [] [] [] [] | +- herrie | [] [] [] | +- hylafax | | +- idutils | [] [] [] [] [] | +- indent | [] [] [] [] [] [] [] | +- iso_15924 | | +- iso_3166 | [] [] [] [] [] [] [] [] [] [] [] [] [] | +- iso_3166_2 | | +- iso_4217 | [] [] [] [] [] [] [] | +- iso_639 | [] [] [] [] [] [] [] | +- jpilot | | +- jtag | [] | +- jwhois | [] [] [] [] | +- kbd | [] [] [] | +- keytouch | [] | +- keytouch-editor | [] | +- keytouch-keyboa... | [] | +- latrine | | +- ld | [] | +- leafpad | [] [] [] [] [] [] | +- libc | [] [] [] [] | +- libexif | [] [] | +- libextractor | [] [] | +- libgpewidget | [] [] [] [] [] [] [] [] | +- libgpg-error | [] [] [] | +- libgphoto2 | [] | +- libgphoto2_port | [] [] [] | +- libgsasl | [] [] [] [] | +- libiconv | [] [] [] | +- libidn | [] [] () | +- lifelines | [] [] | +- lilypond | | +- lingoteach | [] | +- lprng | [] | +- lynx | [] [] [] | +- m4 | [] [] [] [] [] | +- mailfromd | [] | +- mailutils | [] [] [] | +- make | [] [] [] [] | +- man-db | [] [] [] [] | +- minicom | [] [] [] [] [] | +- nano | [] [] [] [] | +- opcodes | [] [] | +- parted | [] | +- pilot-qof | | +- popt | [] [] [] [] | +- psmisc | [] [] | +- pwdutils | [] [] | +- qof | [] [] | +- radius | [] [] | +- recode | [] [] [] [] [] [] [] | +- rpm | [] [] [] [] | +- screem | | +- scrollkeeper | [] [] [] [] [] [] [] | +- sed | [] [] [] [] [] [] [] [] [] | +- shared-mime-info | [] [] [] [] [] [] | +- sharutils | [] [] [] [] | +- shishi | [] | +- skencil | [] [] [] | +- solfege | [] | +- soundtracker | [] [] | +- sp | | +- system-tools-ba... | [] [] [] [] [] [] [] [] [] | +- tar | [] [] [] [] | +- texinfo | [] [] [] [] | +- tin | () | +- tuxpaint | [] [] [] [] [] [] | +- unicode-han-tra... | | +- unicode-transla... | | +- util-linux | [] [] [] [] | +- util-linux-ng | [] [] [] [] | +- vorbis-tools | [] | +- wastesedge | | +- wdiff | [] [] [] [] [] [] [] | +- wget | [] [] [] [] | +- xchat | [] [] [] [] [] [] [] | +- xkeyboard-config | [] [] [] | +- xpad | [] [] [] | +- +--------------------------------------------------+ +- or pa pl pt pt_BR rm ro ru rw sk sl sq sr sv ta +- 0 5 77 31 53 4 58 72 3 45 46 9 45 122 3 +- +- tg th tk tr uk ven vi wa xh zh_CN zh_HK zh_TW zu +- +---------------------------------------------------+ +- Compendium | [] [] [] [] | 19 +- a2ps | [] [] [] | 19 +- aegis | [] | 1 +- ant-phone | [] [] | 6 +- anubis | [] [] [] | 11 +- ap-utils | () [] | 4 +- aspell | [] [] [] | 16 +- bash | [] | 6 +- bfd | | 2 +- bibshelf | [] | 7 +- binutils | [] [] [] [] | 9 +- bison | [] [] [] [] | 20 +- bison-runtime | [] [] [] [] | 18 +- bluez-pin | [] [] [] [] [] [] | 28 +- cflow | [] [] | 5 +- clisp | | 9 +- console-tools | [] [] | 5 +- coreutils | [] [] [] | 18 +- cpio | [] [] [] [] | 11 +- cpplib | [] [] [] [] [] | 12 +- cryptonit | [] | 6 +- dialog | [] [] [] | 9 +- diffutils | [] [] [] [] [] | 29 +- doodle | [] | 6 +- e2fsprogs | [] [] | 10 +- enscript | [] [] [] | 16 +- fetchmail | [] [] | 12 +- findutils | [] [] [] | 11 +- findutils_stable | [] [] [] [] | 18 +- flex | [] [] | 15 +- fslint | [] | 2 +- gas | [] | 3 +- gawk | [] [] [] | 16 +- gcal | [] | 5 +- gcc | [] [] [] | 7 +- gettext-examples | [] [] [] [] [] [] | 29 +- gettext-runtime | [] [] [] [] [] [] | 28 +- gettext-tools | [] [] [] [] [] | 20 +- gip | [] [] | 13 +- gliv | [] [] | 11 +- glunarclock | [] [] [] | 15 +- gmult | [] [] [] [] | 16 +- gnubiff | [] | 2 +- gnucash | () [] | 5 +- gnuedu | [] | 2 +- gnulib | [] | 10 +- gnunet | | 0 +- gnunet-gtk | [] [] | 3 +- gnutls | | 4 +- gpe-aerial | [] [] | 14 +- gpe-beam | [] [] | 14 +- gpe-calendar | [] [] | 7 +- gpe-clock | [] [] [] [] | 21 +- gpe-conf | [] [] [] | 16 +- gpe-contacts | [] [] | 10 +- gpe-edit | [] [] [] [] [] | 22 +- gpe-filemanager | [] [] | 7 +- gpe-go | [] [] [] [] | 19 +- gpe-login | [] [] [] [] [] | 21 +- gpe-ownerinfo | [] [] [] [] | 21 +- gpe-package | [] | 6 +- gpe-sketchbook | [] [] | 16 +- gpe-su | [] [] [] [] | 21 +- gpe-taskmanager | [] [] [] [] | 21 +- gpe-timesheet | [] [] [] [] | 18 +- gpe-today | [] [] [] [] [] | 21 +- gpe-todo | [] [] | 8 +- gphoto2 | [] [] [] [] | 21 +- gprof | [] [] | 13 +- gpsdrive | [] | 5 +- gramadoir | [] | 7 +- grep | [] | 12 +- gretl | | 6 +- gsasl | [] [] [] | 9 +- gss | [] | 7 +- gst-plugins-bad | [] [] [] | 13 +- gst-plugins-base | [] [] | 11 +- gst-plugins-good | [] [] [] [] [] | 16 +- gst-plugins-ugly | [] [] [] | 13 +- gstreamer | [] [] [] | 18 +- gtick | [] [] | 7 +- gtkam | [] | 16 +- gtkorphan | [] | 7 +- gtkspell | [] [] [] [] [] [] | 27 +- gutenprint | | 4 +- hello | [] [] [] [] [] | 38 +- herrie | [] [] | 8 +- hylafax | | 0 +- idutils | [] [] | 15 +- indent | [] [] [] [] [] | 28 +- iso_15924 | [] [] | 4 +- iso_3166 | [] [] [] [] [] [] [] [] [] | 54 +- iso_3166_2 | [] [] | 4 +- iso_4217 | [] [] [] [] [] | 24 +- iso_639 | [] [] [] [] [] | 26 +- jpilot | [] [] [] [] | 7 +- jtag | [] | 3 +- jwhois | [] [] [] | 13 +- kbd | [] [] [] | 13 +- keytouch | [] | 8 +- keytouch-editor | [] | 5 +- keytouch-keyboa... | [] | 5 +- latrine | [] [] | 5 +- ld | [] [] [] [] | 10 +- leafpad | [] [] [] [] [] | 24 +- libc | [] [] [] | 19 +- libexif | [] | 5 +- libextractor | [] | 5 +- libgpewidget | [] [] [] | 20 +- libgpg-error | [] | 6 +- libgphoto2 | [] [] | 9 +- libgphoto2_port | [] [] [] | 11 +- libgsasl | [] | 8 +- libiconv | [] [] | 11 +- libidn | [] [] | 11 +- lifelines | | 4 +- lilypond | [] | 6 +- lingoteach | [] | 6 +- lprng | [] | 2 +- lynx | [] [] [] | 15 +- m4 | [] [] [] | 18 +- mailfromd | [] [] | 3 +- mailutils | [] [] | 8 +- make | [] [] [] | 20 +- man-db | [] | 9 +- minicom | [] | 14 +- nano | [] [] [] | 20 +- opcodes | [] [] | 10 +- parted | [] [] [] | 11 +- pilot-qof | [] | 1 +- popt | [] [] [] [] | 18 +- psmisc | [] [] | 10 +- pwdutils | [] | 3 +- qof | [] | 4 +- radius | [] [] | 7 +- recode | [] [] [] | 25 +- rpm | [] [] [] [] | 13 +- screem | [] | 2 +- scrollkeeper | [] [] [] [] | 26 +- sed | [] [] [] [] | 23 +- shared-mime-info | [] [] [] | 29 +- sharutils | [] [] [] | 23 +- shishi | [] | 3 +- skencil | [] | 7 +- solfege | [] | 3 +- soundtracker | [] [] | 9 +- sp | [] | 3 +- system-tools-ba... | [] [] [] [] [] [] [] | 38 +- tar | [] [] [] | 17 +- texinfo | [] [] [] | 15 +- tin | | 1 +- tuxpaint | [] [] [] | 19 +- unicode-han-tra... | | 0 +- unicode-transla... | | 2 +- util-linux | [] [] [] | 20 +- util-linux-ng | [] [] [] | 20 +- vorbis-tools | [] [] | 4 +- wastesedge | | 1 +- wdiff | [] [] | 23 +- wget | [] [] [] | 20 +- xchat | [] [] [] [] | 29 +- xkeyboard-config | [] [] [] | 14 +- xpad | [] [] [] | 15 +- +---------------------------------------------------+ +- 76 teams tg th tk tr uk ven vi wa xh zh_CN zh_HK zh_TW zu +- 163 domains 0 3 1 74 51 0 143 21 1 57 7 45 0 2036 +- +- Some counters in the preceding matrix are higher than the number of +-visible blocks let us expect. This is because a few extra PO files are +-used for implementing regional variants of languages, or language +-dialects. +- +- For a PO file in the matrix above to be effective, the package to +-which it applies should also have been internationalized and +-distributed as such by its maintainer. There might be an observable +-lag between the mere existence a PO file and its wide availability in a +-distribution. +- +- If November 2007 seems to be old, you may fetch a more recent copy +-of this `ABOUT-NLS' file on most GNU archive sites. The most +-up-to-date matrix with full percentage details can be found at +-`http://translationproject.org/extra/matrix.html'. +- +-1.6 Using `gettext' in new packages +-=================================== +- +-If you are writing a freely available program and want to +-internationalize it you are welcome to use GNU `gettext' in your +-package. Of course you have to respect the GNU Library General Public +-License which covers the use of the GNU `gettext' library. This means +-in particular that even non-free programs can use `libintl' as a shared +-library, whereas only free software can use `libintl' as a static +-library or use modified versions of `libintl'. +- +- Once the sources are changed appropriately and the setup can handle +-the use of `gettext' the only thing missing are the translations. The +-Free Translation Project is also available for packages which are not +-developed inside the GNU project. Therefore the information given above +-applies also for every other Free Software Project. Contact +-`coordinator@translationproject.org' to make the `.pot' files available +-to the translation teams. +- ++ +--- a/ChangeLog ++++ b/ChangeLog +@@ -1,3 +1,10 @@ ++2019-12-07 gettextize ++ ++ * m4/intlmacosx.m4: Upgrade to gettext-0.20.1. ++ * Makefile.am (SUBDIRS): Remove intl. ++ * configure.ac (AC_CONFIG_FILES): Remove intl/Makefile. ++ (AM_GNU_GETTEXT_VERSION): Bump to 0.20. ++ + 2013-03-13 Steve Langasek + + * nih/watch.c (nih_watch_walk_filter): New NihFileFilter function +--- a/Makefile.am ++++ b/Makefile.am +@@ -1,6 +1,6 @@ + ## Process this file with automake to produce Makefile.in + +-SUBDIRS = m4 intl nih nih-dbus nih-dbus-tool po ++SUBDIRS = m4 nih nih-dbus nih-dbus-tool po + + EXTRA_DIST = HACKING + +--- a/configure.ac ++++ b/configure.ac +@@ -15,8 +15,8 @@ AM_MAINTAINER_MODE([enable]) + LT_PREREQ(2.2.4) + LT_INIT + +-AM_GNU_GETTEXT_VERSION([0.17]) +-AM_GNU_GETTEXT() ++AM_GNU_GETTEXT_VERSION([0.20]) ++AM_GNU_GETTEXT([external]) + + # Checks for programs. + AC_PROG_CC +@@ -58,7 +58,7 @@ AS_IF([test "$cross_compiling" = "yes"], + AC_SUBST([NIH_DBUS_TOOL], ["\${top_builddir}/nih-dbus-tool/nih-dbus-tool"])])], + [AC_SUBST([NIH_DBUS_TOOL], ["\${top_builddir}/nih-dbus-tool/nih-dbus-tool"])]) + +-AC_CONFIG_FILES([ Makefile m4/Makefile intl/Makefile ++AC_CONFIG_FILES([ Makefile m4/Makefile + nih/Makefile nih/libnih.pc + nih-dbus/Makefile nih-dbus/libnih-dbus.pc + nih-dbus-tool/Makefile +--- a/intl/ChangeLog ++++ /dev/null +@@ -1,4 +0,0 @@ +-2007-11-07 GNU +- +- * Version 0.17 released. +- +--- a/intl/Makefile.in ++++ /dev/null +@@ -1,587 +0,0 @@ +-# Makefile for directory with message catalog handling library of GNU gettext +-# Copyright (C) 1995-1998, 2000-2007 Free Software Foundation, Inc. +-# +-# This program is free software; you can redistribute it and/or modify it +-# under the terms of the GNU Library General Public License as published +-# by the Free Software Foundation; either version 2, or (at your option) +-# any later version. +-# +-# This program is distributed in the hope that it will be useful, +-# but WITHOUT ANY WARRANTY; without even the implied warranty of +-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +-# Library General Public License for more details. +-# +-# You should have received a copy of the GNU Library General Public +-# License along with this program; if not, write to the Free Software +-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, +-# USA. +- +-PACKAGE = @PACKAGE@ +-VERSION = @VERSION@ +- +-SHELL = /bin/sh +- +-srcdir = @srcdir@ +-top_srcdir = @top_srcdir@ +-top_builddir = .. +- +-# The VPATH variables allows builds with $builddir != $srcdir, assuming a +-# 'make' program that supports VPATH (such as GNU make). This line is removed +-# by autoconf automatically when "$(srcdir)" = ".". +-# In this directory, the VPATH handling is particular: +-# 1. If INTL_LIBTOOL_SUFFIX_PREFIX is 'l' (indicating a build with libtool), +-# the .c -> .lo rules carefully use $(srcdir), so that VPATH can be omitted. +-# 2. If PACKAGE = gettext-tools, VPATH _must_ be omitted, because otherwise +-# 'make' does the wrong thing if GNU gettext was configured with +-# "./configure --srcdir=`pwd`", namely it gets confused by the .lo and .la +-# files it finds in srcdir = ../../gettext-runtime/intl. +-VPATH = $(srcdir) +- +-prefix = @prefix@ +-exec_prefix = @exec_prefix@ +-transform = @program_transform_name@ +-libdir = @libdir@ +-includedir = @includedir@ +-datarootdir = @datarootdir@ +-datadir = @datadir@ +-localedir = $(datadir)/locale +-gettextsrcdir = $(datadir)/gettext/intl +-aliaspath = $(localedir) +-subdir = intl +- +-INSTALL = @INSTALL@ +-INSTALL_DATA = @INSTALL_DATA@ +- +-# We use $(mkdir_p). +-# In automake <= 1.9.x, $(mkdir_p) is defined either as "mkdir -p --" or as +-# "$(mkinstalldirs)" or as "$(install_sh) -d". For these automake versions, +-# @install_sh@ does not start with $(SHELL), so we add it. +-# In automake >= 1.10, @mkdir_p@ is derived from ${MKDIR_P}, which is defined +-# either as "/path/to/mkdir -p" or ".../install-sh -c -d". For these automake +-# versions, $(mkinstalldirs) and $(install_sh) are unused. +-mkinstalldirs = $(SHELL) @install_sh@ -d +-install_sh = $(SHELL) @install_sh@ +-MKDIR_P = @MKDIR_P@ +-mkdir_p = @mkdir_p@ +- +-l = @INTL_LIBTOOL_SUFFIX_PREFIX@ +- +-AR = ar +-CC = @CC@ +-LIBTOOL = @LIBTOOL@ +-RANLIB = @RANLIB@ +-YACC = @INTLBISON@ -y -d +-YFLAGS = --name-prefix=__gettext +-WINDRES = @WINDRES@ +- +-# -DBUILDING_LIBINTL: Change expansion of LIBINTL_DLL_EXPORTED macro. +-# -DBUILDING_DLL: Change expansion of RELOCATABLE_DLL_EXPORTED macro. +-DEFS = -DLOCALEDIR=\"$(localedir)\" -DLOCALE_ALIAS_PATH=\"$(aliaspath)\" \ +--DLIBDIR=\"$(libdir)\" -DBUILDING_LIBINTL -DBUILDING_DLL -DIN_LIBINTL \ +--DENABLE_RELOCATABLE=1 -DIN_LIBRARY -DINSTALLDIR=\"$(libdir)\" -DNO_XMALLOC \ +--Dset_relocation_prefix=libintl_set_relocation_prefix \ +--Drelocate=libintl_relocate \ +--DDEPENDS_ON_LIBICONV=1 @DEFS@ +-CPPFLAGS = @CPPFLAGS@ +-CFLAGS = @CFLAGS@ @CFLAG_VISIBILITY@ +-LDFLAGS = @LDFLAGS@ $(LDFLAGS_@WOE32DLL@) +-LDFLAGS_yes = -Wl,--export-all-symbols +-LDFLAGS_no = +-LIBS = @LIBS@ +- +-COMPILE = $(CC) -c $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) $(XCFLAGS) +- +-HEADERS = \ +- gmo.h \ +- gettextP.h \ +- hash-string.h \ +- loadinfo.h \ +- plural-exp.h \ +- eval-plural.h \ +- localcharset.h \ +- lock.h \ +- relocatable.h \ +- tsearch.h tsearch.c \ +- xsize.h \ +- printf-args.h printf-args.c \ +- printf-parse.h wprintf-parse.h printf-parse.c \ +- vasnprintf.h vasnwprintf.h vasnprintf.c \ +- os2compat.h \ +- libgnuintl.h.in +-SOURCES = \ +- bindtextdom.c \ +- dcgettext.c \ +- dgettext.c \ +- gettext.c \ +- finddomain.c \ +- hash-string.c \ +- loadmsgcat.c \ +- localealias.c \ +- textdomain.c \ +- l10nflist.c \ +- explodename.c \ +- dcigettext.c \ +- dcngettext.c \ +- dngettext.c \ +- ngettext.c \ +- plural.y \ +- plural-exp.c \ +- localcharset.c \ +- lock.c \ +- relocatable.c \ +- langprefs.c \ +- localename.c \ +- log.c \ +- printf.c \ +- version.c \ +- osdep.c \ +- os2compat.c \ +- intl-exports.c \ +- intl-compat.c +-OBJECTS = \ +- bindtextdom.$lo \ +- dcgettext.$lo \ +- dgettext.$lo \ +- gettext.$lo \ +- finddomain.$lo \ +- hash-string.$lo \ +- loadmsgcat.$lo \ +- localealias.$lo \ +- textdomain.$lo \ +- l10nflist.$lo \ +- explodename.$lo \ +- dcigettext.$lo \ +- dcngettext.$lo \ +- dngettext.$lo \ +- ngettext.$lo \ +- plural.$lo \ +- plural-exp.$lo \ +- localcharset.$lo \ +- lock.$lo \ +- relocatable.$lo \ +- langprefs.$lo \ +- localename.$lo \ +- log.$lo \ +- printf.$lo \ +- version.$lo \ +- osdep.$lo \ +- intl-compat.$lo +-OBJECTS_RES_yes = libintl.res +-OBJECTS_RES_no = +-DISTFILES.common = Makefile.in \ +-config.charset locale.alias ref-add.sin ref-del.sin export.h libintl.rc \ +-$(HEADERS) $(SOURCES) +-DISTFILES.generated = plural.c +-DISTFILES.normal = VERSION +-DISTFILES.gettext = COPYING.LIB-2.0 COPYING.LIB-2.1 libintl.glibc README.woe32 +-DISTFILES.obsolete = xopen-msg.sed linux-msg.sed po2tbl.sed.in cat-compat.c \ +-COPYING.LIB-2 gettext.h libgettext.h plural-eval.c libgnuintl.h \ +-libgnuintl.h_vms Makefile.vms libgnuintl.h.msvc-static \ +-libgnuintl.h.msvc-shared Makefile.msvc +- +-all: all-@USE_INCLUDED_LIBINTL@ +-all-yes: libintl.$la libintl.h charset.alias ref-add.sed ref-del.sed +-all-no: all-no-@BUILD_INCLUDED_LIBINTL@ +-all-no-yes: libgnuintl.$la +-all-no-no: +- +-libintl.a libgnuintl.a: $(OBJECTS) +- rm -f $@ +- $(AR) cru $@ $(OBJECTS) +- $(RANLIB) $@ +- +-libintl.la libgnuintl.la: $(OBJECTS) $(OBJECTS_RES_@WOE32@) +- $(LIBTOOL) --mode=link \ +- $(CC) $(CPPFLAGS) $(CFLAGS) $(XCFLAGS) $(LDFLAGS) -o $@ \ +- $(OBJECTS) @LTLIBICONV@ @INTL_MACOSX_LIBS@ $(LIBS) @LTLIBTHREAD@ @LTLIBC@ \ +- $(OBJECTS_RES_@WOE32@) \ +- -version-info $(LTV_CURRENT):$(LTV_REVISION):$(LTV_AGE) \ +- -rpath $(libdir) \ +- -no-undefined +- +-# Libtool's library version information for libintl. +-# Before making a gettext release, the gettext maintainer must change this +-# according to the libtool documentation, section "Library interface versions". +-# Maintainers of other packages that include the intl directory must *not* +-# change these values. +-LTV_CURRENT=8 +-LTV_REVISION=2 +-LTV_AGE=0 +- +-.SUFFIXES: +-.SUFFIXES: .c .y .o .lo .sin .sed +- +-.c.o: +- $(COMPILE) $< +- +-.y.c: +- $(YACC) $(YFLAGS) --output $@ $< +- rm -f $*.h +- +-bindtextdom.lo: $(srcdir)/bindtextdom.c +- $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/bindtextdom.c +-dcgettext.lo: $(srcdir)/dcgettext.c +- $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/dcgettext.c +-dgettext.lo: $(srcdir)/dgettext.c +- $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/dgettext.c +-gettext.lo: $(srcdir)/gettext.c +- $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/gettext.c +-finddomain.lo: $(srcdir)/finddomain.c +- $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/finddomain.c +-hash-string.lo: $(srcdir)/hash-string.c +- $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/hash-string.c +-loadmsgcat.lo: $(srcdir)/loadmsgcat.c +- $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/loadmsgcat.c +-localealias.lo: $(srcdir)/localealias.c +- $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/localealias.c +-textdomain.lo: $(srcdir)/textdomain.c +- $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/textdomain.c +-l10nflist.lo: $(srcdir)/l10nflist.c +- $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/l10nflist.c +-explodename.lo: $(srcdir)/explodename.c +- $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/explodename.c +-dcigettext.lo: $(srcdir)/dcigettext.c +- $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/dcigettext.c +-dcngettext.lo: $(srcdir)/dcngettext.c +- $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/dcngettext.c +-dngettext.lo: $(srcdir)/dngettext.c +- $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/dngettext.c +-ngettext.lo: $(srcdir)/ngettext.c +- $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/ngettext.c +-plural.lo: $(srcdir)/plural.c +- $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/plural.c +-plural-exp.lo: $(srcdir)/plural-exp.c +- $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/plural-exp.c +-localcharset.lo: $(srcdir)/localcharset.c +- $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/localcharset.c +-lock.lo: $(srcdir)/lock.c +- $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/lock.c +-relocatable.lo: $(srcdir)/relocatable.c +- $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/relocatable.c +-langprefs.lo: $(srcdir)/langprefs.c +- $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/langprefs.c +-localename.lo: $(srcdir)/localename.c +- $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/localename.c +-log.lo: $(srcdir)/log.c +- $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/log.c +-printf.lo: $(srcdir)/printf.c +- $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/printf.c +-version.lo: $(srcdir)/version.c +- $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/version.c +-osdep.lo: $(srcdir)/osdep.c +- $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/osdep.c +-intl-compat.lo: $(srcdir)/intl-compat.c +- $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/intl-compat.c +- +-# This rule is executed only on Woe32 systems. +-# The following sed expressions come from the windres-options script. They are +-# inlined here, so that they can be written in a Makefile without requiring a +-# temporary file. They must contain literal newlines rather than semicolons, +-# so that they work with the sed-3.02 that is shipped with MSYS. We can use +-# GNU bash's $'\n' syntax to obtain such a newline. +-libintl.res: $(srcdir)/libintl.rc +- nl=$$'\n'; \ +- sed_extract_major='/^[0-9]/{'$${nl}'s/^\([0-9]*\).*/\1/p'$${nl}q$${nl}'}'$${nl}'c\'$${nl}0$${nl}q; \ +- sed_extract_minor='/^[0-9][0-9]*[.][0-9]/{'$${nl}'s/^[0-9]*[.]\([0-9]*\).*/\1/p'$${nl}q$${nl}'}'$${nl}'c\'$${nl}0$${nl}q; \ +- sed_extract_subminor='/^[0-9][0-9]*[.][0-9][0-9]*[.][0-9]/{'$${nl}'s/^[0-9]*[.][0-9]*[.]\([0-9]*\).*/\1/p'$${nl}q$${nl}'}'$${nl}'c\'$${nl}0$${nl}q; \ +- $(WINDRES) \ +- "-DPACKAGE_VERSION_STRING=\\\"$(VERSION)\\\"" \ +- "-DPACKAGE_VERSION_MAJOR="`echo '$(VERSION)' | sed -n -e "$$sed_extract_major"` \ +- "-DPACKAGE_VERSION_MINOR="`echo '$(VERSION)' | sed -n -e "$$sed_extract_minor"` \ +- "-DPACKAGE_VERSION_SUBMINOR="`echo '$(VERSION)' | sed -n -e "$$sed_extract_subminor"` \ +- -i $(srcdir)/libintl.rc -o libintl.res --output-format=coff +- +-ref-add.sed: $(srcdir)/ref-add.sin +- sed -e '/^#/d' -e 's/@''PACKAGE''@/@PACKAGE@/g' $(srcdir)/ref-add.sin > t-ref-add.sed +- mv t-ref-add.sed ref-add.sed +-ref-del.sed: $(srcdir)/ref-del.sin +- sed -e '/^#/d' -e 's/@''PACKAGE''@/@PACKAGE@/g' $(srcdir)/ref-del.sin > t-ref-del.sed +- mv t-ref-del.sed ref-del.sed +- +-INCLUDES = -I. -I$(srcdir) -I.. +- +-libgnuintl.h: $(srcdir)/libgnuintl.h.in +- sed -e '/IN_LIBGLOCALE/d' \ +- -e 's,@''HAVE_POSIX_PRINTF''@,@HAVE_POSIX_PRINTF@,g' \ +- -e 's,@''HAVE_ASPRINTF''@,@HAVE_ASPRINTF@,g' \ +- -e 's,@''HAVE_SNPRINTF''@,@HAVE_SNPRINTF@,g' \ +- -e 's,@''HAVE_WPRINTF''@,@HAVE_WPRINTF@,g' \ +- < $(srcdir)/libgnuintl.h.in \ +- | if test '@WOE32DLL@' = yes; then \ +- sed -e 's/extern \([^()]*\);/extern __declspec (dllimport) \1;/'; \ +- else \ +- cat; \ +- fi \ +- | sed -e 's/extern \([^"]\)/extern LIBINTL_DLL_EXPORTED \1/' \ +- -e "/#define _LIBINTL_H/r $(srcdir)/export.h" \ +- | sed -e 's,@''HAVE_VISIBILITY''@,@HAVE_VISIBILITY@,g' \ +- > libgnuintl.h +- +-libintl.h: $(srcdir)/libgnuintl.h.in +- sed -e '/IN_LIBGLOCALE/d' \ +- -e 's,@''HAVE_POSIX_PRINTF''@,@HAVE_POSIX_PRINTF@,g' \ +- -e 's,@''HAVE_ASPRINTF''@,@HAVE_ASPRINTF@,g' \ +- -e 's,@''HAVE_SNPRINTF''@,@HAVE_SNPRINTF@,g' \ +- -e 's,@''HAVE_WPRINTF''@,@HAVE_WPRINTF@,g' \ +- < $(srcdir)/libgnuintl.h.in > libintl.h +- +-charset.alias: $(srcdir)/config.charset +- $(SHELL) $(srcdir)/config.charset '@host@' > t-$@ +- mv t-$@ $@ +- +-check: all +- +-# We must not install the libintl.h/libintl.a files if we are on a +-# system which has the GNU gettext() function in its C library or in a +-# separate library. +-# If you want to use the one which comes with this version of the +-# package, you have to use `configure --with-included-gettext'. +-install: install-exec install-data +-install-exec: all +- if { test "$(PACKAGE)" = "gettext-runtime" || test "$(PACKAGE)" = "gettext-tools"; } \ +- && test '@USE_INCLUDED_LIBINTL@' = yes; then \ +- $(mkdir_p) $(DESTDIR)$(libdir) $(DESTDIR)$(includedir); \ +- $(INSTALL_DATA) libintl.h $(DESTDIR)$(includedir)/libintl.h; \ +- $(LIBTOOL) --mode=install \ +- $(INSTALL_DATA) libintl.$la $(DESTDIR)$(libdir)/libintl.$la; \ +- if test "@RELOCATABLE@" = yes; then \ +- dependencies=`sed -n -e 's,^dependency_libs=\(.*\),\1,p' < $(DESTDIR)$(libdir)/libintl.la | sed -e "s,^',," -e "s,'\$$,,"`; \ +- if test -n "$$dependencies"; then \ +- rm -f $(DESTDIR)$(libdir)/libintl.la; \ +- fi; \ +- fi; \ +- else \ +- : ; \ +- fi +- if test "$(PACKAGE)" = "gettext-tools" \ +- && test '@USE_INCLUDED_LIBINTL@' = no \ +- && test @GLIBC2@ != no; then \ +- $(mkdir_p) $(DESTDIR)$(libdir); \ +- $(LIBTOOL) --mode=install \ +- $(INSTALL_DATA) libgnuintl.$la $(DESTDIR)$(libdir)/libgnuintl.$la; \ +- rm -f $(DESTDIR)$(libdir)/preloadable_libintl.so; \ +- $(INSTALL_DATA) $(DESTDIR)$(libdir)/libgnuintl.so $(DESTDIR)$(libdir)/preloadable_libintl.so; \ +- $(LIBTOOL) --mode=uninstall \ +- rm -f $(DESTDIR)$(libdir)/libgnuintl.$la; \ +- else \ +- : ; \ +- fi +- if test '@USE_INCLUDED_LIBINTL@' = yes; then \ +- test @GLIBC21@ != no || $(mkdir_p) $(DESTDIR)$(libdir); \ +- temp=$(DESTDIR)$(libdir)/t-charset.alias; \ +- dest=$(DESTDIR)$(libdir)/charset.alias; \ +- if test -f $(DESTDIR)$(libdir)/charset.alias; then \ +- orig=$(DESTDIR)$(libdir)/charset.alias; \ +- sed -f ref-add.sed $$orig > $$temp; \ +- $(INSTALL_DATA) $$temp $$dest; \ +- rm -f $$temp; \ +- else \ +- if test @GLIBC21@ = no; then \ +- orig=charset.alias; \ +- sed -f ref-add.sed $$orig > $$temp; \ +- $(INSTALL_DATA) $$temp $$dest; \ +- rm -f $$temp; \ +- fi; \ +- fi; \ +- $(mkdir_p) $(DESTDIR)$(localedir); \ +- test -f $(DESTDIR)$(localedir)/locale.alias \ +- && orig=$(DESTDIR)$(localedir)/locale.alias \ +- || orig=$(srcdir)/locale.alias; \ +- temp=$(DESTDIR)$(localedir)/t-locale.alias; \ +- dest=$(DESTDIR)$(localedir)/locale.alias; \ +- sed -f ref-add.sed $$orig > $$temp; \ +- $(INSTALL_DATA) $$temp $$dest; \ +- rm -f $$temp; \ +- else \ +- : ; \ +- fi +-install-data: all +- if test "$(PACKAGE)" = "gettext-tools"; then \ +- $(mkdir_p) $(DESTDIR)$(gettextsrcdir); \ +- $(INSTALL_DATA) VERSION $(DESTDIR)$(gettextsrcdir)/VERSION; \ +- $(INSTALL_DATA) ChangeLog.inst $(DESTDIR)$(gettextsrcdir)/ChangeLog; \ +- dists="COPYING.LIB-2.0 COPYING.LIB-2.1 $(DISTFILES.common)"; \ +- for file in $$dists; do \ +- $(INSTALL_DATA) $(srcdir)/$$file \ +- $(DESTDIR)$(gettextsrcdir)/$$file; \ +- done; \ +- chmod a+x $(DESTDIR)$(gettextsrcdir)/config.charset; \ +- dists="$(DISTFILES.generated)"; \ +- for file in $$dists; do \ +- if test -f $$file; then dir=.; else dir=$(srcdir); fi; \ +- $(INSTALL_DATA) $$dir/$$file \ +- $(DESTDIR)$(gettextsrcdir)/$$file; \ +- done; \ +- dists="$(DISTFILES.obsolete)"; \ +- for file in $$dists; do \ +- rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \ +- done; \ +- else \ +- : ; \ +- fi +- +-install-strip: install +- +-install-dvi install-html install-info install-ps install-pdf: +- +-installdirs: +- if { test "$(PACKAGE)" = "gettext-runtime" || test "$(PACKAGE)" = "gettext-tools"; } \ +- && test '@USE_INCLUDED_LIBINTL@' = yes; then \ +- $(mkdir_p) $(DESTDIR)$(libdir) $(DESTDIR)$(includedir); \ +- else \ +- : ; \ +- fi +- if test "$(PACKAGE)" = "gettext-tools" \ +- && test '@USE_INCLUDED_LIBINTL@' = no \ +- && test @GLIBC2@ != no; then \ +- $(mkdir_p) $(DESTDIR)$(libdir); \ +- else \ +- : ; \ +- fi +- if test '@USE_INCLUDED_LIBINTL@' = yes; then \ +- test @GLIBC21@ != no || $(mkdir_p) $(DESTDIR)$(libdir); \ +- $(mkdir_p) $(DESTDIR)$(localedir); \ +- else \ +- : ; \ +- fi +- if test "$(PACKAGE)" = "gettext-tools"; then \ +- $(mkdir_p) $(DESTDIR)$(gettextsrcdir); \ +- else \ +- : ; \ +- fi +- +-# Define this as empty until I found a useful application. +-installcheck: +- +-uninstall: +- if { test "$(PACKAGE)" = "gettext-runtime" || test "$(PACKAGE)" = "gettext-tools"; } \ +- && test '@USE_INCLUDED_LIBINTL@' = yes; then \ +- rm -f $(DESTDIR)$(includedir)/libintl.h; \ +- $(LIBTOOL) --mode=uninstall \ +- rm -f $(DESTDIR)$(libdir)/libintl.$la; \ +- else \ +- : ; \ +- fi +- if test "$(PACKAGE)" = "gettext-tools" \ +- && test '@USE_INCLUDED_LIBINTL@' = no \ +- && test @GLIBC2@ != no; then \ +- rm -f $(DESTDIR)$(libdir)/preloadable_libintl.so; \ +- else \ +- : ; \ +- fi +- if test '@USE_INCLUDED_LIBINTL@' = yes; then \ +- if test -f $(DESTDIR)$(libdir)/charset.alias; then \ +- temp=$(DESTDIR)$(libdir)/t-charset.alias; \ +- dest=$(DESTDIR)$(libdir)/charset.alias; \ +- sed -f ref-del.sed $$dest > $$temp; \ +- if grep '^# Packages using this file: $$' $$temp > /dev/null; then \ +- rm -f $$dest; \ +- else \ +- $(INSTALL_DATA) $$temp $$dest; \ +- fi; \ +- rm -f $$temp; \ +- fi; \ +- if test -f $(DESTDIR)$(localedir)/locale.alias; then \ +- temp=$(DESTDIR)$(localedir)/t-locale.alias; \ +- dest=$(DESTDIR)$(localedir)/locale.alias; \ +- sed -f ref-del.sed $$dest > $$temp; \ +- if grep '^# Packages using this file: $$' $$temp > /dev/null; then \ +- rm -f $$dest; \ +- else \ +- $(INSTALL_DATA) $$temp $$dest; \ +- fi; \ +- rm -f $$temp; \ +- fi; \ +- else \ +- : ; \ +- fi +- if test "$(PACKAGE)" = "gettext-tools"; then \ +- for file in VERSION ChangeLog COPYING.LIB-2.0 COPYING.LIB-2.1 $(DISTFILES.common) $(DISTFILES.generated); do \ +- rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \ +- done; \ +- else \ +- : ; \ +- fi +- +-info dvi ps pdf html: +- +-$(OBJECTS): ../config.h libgnuintl.h +-bindtextdom.$lo dcgettext.$lo dcigettext.$lo dcngettext.$lo dgettext.$lo dngettext.$lo finddomain.$lo gettext.$lo intl-compat.$lo loadmsgcat.$lo localealias.$lo ngettext.$lo textdomain.$lo: $(srcdir)/gettextP.h $(srcdir)/gmo.h $(srcdir)/loadinfo.h +-hash-string.$lo dcigettext.$lo loadmsgcat.$lo: $(srcdir)/hash-string.h +-explodename.$lo l10nflist.$lo: $(srcdir)/loadinfo.h +-dcigettext.$lo loadmsgcat.$lo plural.$lo plural-exp.$lo: $(srcdir)/plural-exp.h +-dcigettext.$lo: $(srcdir)/eval-plural.h +-localcharset.$lo: $(srcdir)/localcharset.h +-bindtextdom.$lo dcigettext.$lo finddomain.$lo loadmsgcat.$lo localealias.$lo lock.$lo log.$lo: $(srcdir)/lock.h +-localealias.$lo localcharset.$lo relocatable.$lo: $(srcdir)/relocatable.h +-printf.$lo: $(srcdir)/printf-args.h $(srcdir)/printf-args.c $(srcdir)/printf-parse.h $(srcdir)/wprintf-parse.h $(srcdir)/xsize.h $(srcdir)/printf-parse.c $(srcdir)/vasnprintf.h $(srcdir)/vasnwprintf.h $(srcdir)/vasnprintf.c +- +-# A bison-2.1 generated plural.c includes if ENABLE_NLS. +-PLURAL_DEPS_yes = libintl.h +-PLURAL_DEPS_no = +-plural.$lo: $(PLURAL_DEPS_@USE_INCLUDED_LIBINTL@) +- +-tags: TAGS +- +-TAGS: $(HEADERS) $(SOURCES) +- here=`pwd`; cd $(srcdir) && etags -o $$here/TAGS $(HEADERS) $(SOURCES) +- +-ctags: CTAGS +- +-CTAGS: $(HEADERS) $(SOURCES) +- here=`pwd`; cd $(srcdir) && ctags -o $$here/CTAGS $(HEADERS) $(SOURCES) +- +-id: ID +- +-ID: $(HEADERS) $(SOURCES) +- here=`pwd`; cd $(srcdir) && mkid -f$$here/ID $(HEADERS) $(SOURCES) +- +- +-mostlyclean: +- rm -f *.a *.la *.o *.obj *.lo libintl.res core core.* +- rm -f libgnuintl.h libintl.h charset.alias ref-add.sed ref-del.sed +- rm -f -r .libs _libs +- +-clean: mostlyclean +- +-distclean: clean +- rm -f Makefile ID TAGS +- if test "$(PACKAGE)" = "gettext-runtime" || test "$(PACKAGE)" = "gettext-tools"; then \ +- rm -f ChangeLog.inst $(DISTFILES.normal); \ +- else \ +- : ; \ +- fi +- +-maintainer-clean: distclean +- @echo "This command is intended for maintainers to use;" +- @echo "it deletes files that may require special tools to rebuild." +- +- +-# GNU gettext needs not contain the file `VERSION' but contains some +-# other files which should not be distributed in other packages. +-distdir = ../$(PACKAGE)-$(VERSION)/$(subdir) +-dist distdir: Makefile +- if test "$(PACKAGE)" = "gettext-tools"; then \ +- : ; \ +- else \ +- if test "$(PACKAGE)" = "gettext-runtime"; then \ +- additional="$(DISTFILES.gettext)"; \ +- else \ +- additional="$(DISTFILES.normal)"; \ +- fi; \ +- $(MAKE) $(DISTFILES.common) $(DISTFILES.generated) $$additional; \ +- for file in ChangeLog $(DISTFILES.common) $(DISTFILES.generated) $$additional; do \ +- if test -f $$file; then dir=.; else dir=$(srcdir); fi; \ +- cp -p $$dir/$$file $(distdir) || test $$file = Makefile.in || exit 1; \ +- done; \ +- fi +- +-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status +- cd $(top_builddir) && $(SHELL) ./config.status +-# This would be more efficient, but doesn't work any more with autoconf-2.57, +-# when AC_CONFIG_FILES([intl/Makefile:somedir/Makefile.in]) is used. +-# cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ +- +-# Tell versions [3.59,3.63) of GNU make not to export all variables. +-# Otherwise a system limit (for SysV at least) may be exceeded. +-.NOEXPORT: +--- a/intl/VERSION ++++ /dev/null +@@ -1 +0,0 @@ +-GNU gettext library from gettext-0.17 +--- a/intl/bindtextdom.c ++++ /dev/null +@@ -1,340 +0,0 @@ +-/* Implementation of the bindtextdomain(3) function +- Copyright (C) 1995-1998, 2000-2003, 2005-2006 Free Software Foundation, Inc. +- +- This program is free software; you can redistribute it and/or modify it +- under the terms of the GNU Library General Public License as published +- by the Free Software Foundation; either version 2, or (at your option) +- any later version. +- +- This program is distributed in the hope that it will be useful, +- but WITHOUT ANY WARRANTY; without even the implied warranty of +- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +- Library General Public License for more details. +- +- You should have received a copy of the GNU Library General Public +- License along with this program; if not, write to the Free Software +- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, +- USA. */ +- +-#ifdef HAVE_CONFIG_H +-# include +-#endif +- +-#include +-#include +-#include +- +-#include "gettextP.h" +-#ifdef _LIBC +-# include +-#else +-# include "libgnuintl.h" +-#endif +- +-/* Handle multi-threaded applications. */ +-#ifdef _LIBC +-# include +-# define gl_rwlock_define __libc_rwlock_define +-# define gl_rwlock_wrlock __libc_rwlock_wrlock +-# define gl_rwlock_unlock __libc_rwlock_unlock +-#else +-# include "lock.h" +-#endif +- +-/* Some compilers, like SunOS4 cc, don't have offsetof in . */ +-#ifndef offsetof +-# define offsetof(type,ident) ((size_t)&(((type*)0)->ident)) +-#endif +- +-/* @@ end of prolog @@ */ +- +-/* Lock variable to protect the global data in the gettext implementation. */ +-gl_rwlock_define (extern, _nl_state_lock attribute_hidden) +- +- +-/* Names for the libintl functions are a problem. They must not clash +- with existing names and they should follow ANSI C. But this source +- code is also used in GNU C Library where the names have a __ +- prefix. So we have to make a difference here. */ +-#ifdef _LIBC +-# define BINDTEXTDOMAIN __bindtextdomain +-# define BIND_TEXTDOMAIN_CODESET __bind_textdomain_codeset +-# ifndef strdup +-# define strdup(str) __strdup (str) +-# endif +-#else +-# define BINDTEXTDOMAIN libintl_bindtextdomain +-# define BIND_TEXTDOMAIN_CODESET libintl_bind_textdomain_codeset +-#endif +- +-/* Specifies the directory name *DIRNAMEP and the output codeset *CODESETP +- to be used for the DOMAINNAME message catalog. +- If *DIRNAMEP or *CODESETP is NULL, the corresponding attribute is not +- modified, only the current value is returned. +- If DIRNAMEP or CODESETP is NULL, the corresponding attribute is neither +- modified nor returned. */ +-static void +-set_binding_values (const char *domainname, +- const char **dirnamep, const char **codesetp) +-{ +- struct binding *binding; +- int modified; +- +- /* Some sanity checks. */ +- if (domainname == NULL || domainname[0] == '\0') +- { +- if (dirnamep) +- *dirnamep = NULL; +- if (codesetp) +- *codesetp = NULL; +- return; +- } +- +- gl_rwlock_wrlock (_nl_state_lock); +- +- modified = 0; +- +- for (binding = _nl_domain_bindings; binding != NULL; binding = binding->next) +- { +- int compare = strcmp (domainname, binding->domainname); +- if (compare == 0) +- /* We found it! */ +- break; +- if (compare < 0) +- { +- /* It is not in the list. */ +- binding = NULL; +- break; +- } +- } +- +- if (binding != NULL) +- { +- if (dirnamep) +- { +- const char *dirname = *dirnamep; +- +- if (dirname == NULL) +- /* The current binding has be to returned. */ +- *dirnamep = binding->dirname; +- else +- { +- /* The domain is already bound. If the new value and the old +- one are equal we simply do nothing. Otherwise replace the +- old binding. */ +- char *result = binding->dirname; +- if (strcmp (dirname, result) != 0) +- { +- if (strcmp (dirname, _nl_default_dirname) == 0) +- result = (char *) _nl_default_dirname; +- else +- { +-#if defined _LIBC || defined HAVE_STRDUP +- result = strdup (dirname); +-#else +- size_t len = strlen (dirname) + 1; +- result = (char *) malloc (len); +- if (__builtin_expect (result != NULL, 1)) +- memcpy (result, dirname, len); +-#endif +- } +- +- if (__builtin_expect (result != NULL, 1)) +- { +- if (binding->dirname != _nl_default_dirname) +- free (binding->dirname); +- +- binding->dirname = result; +- modified = 1; +- } +- } +- *dirnamep = result; +- } +- } +- +- if (codesetp) +- { +- const char *codeset = *codesetp; +- +- if (codeset == NULL) +- /* The current binding has be to returned. */ +- *codesetp = binding->codeset; +- else +- { +- /* The domain is already bound. If the new value and the old +- one are equal we simply do nothing. Otherwise replace the +- old binding. */ +- char *result = binding->codeset; +- if (result == NULL || strcmp (codeset, result) != 0) +- { +-#if defined _LIBC || defined HAVE_STRDUP +- result = strdup (codeset); +-#else +- size_t len = strlen (codeset) + 1; +- result = (char *) malloc (len); +- if (__builtin_expect (result != NULL, 1)) +- memcpy (result, codeset, len); +-#endif +- +- if (__builtin_expect (result != NULL, 1)) +- { +- if (binding->codeset != NULL) +- free (binding->codeset); +- +- binding->codeset = result; +- modified = 1; +- } +- } +- *codesetp = result; +- } +- } +- } +- else if ((dirnamep == NULL || *dirnamep == NULL) +- && (codesetp == NULL || *codesetp == NULL)) +- { +- /* Simply return the default values. */ +- if (dirnamep) +- *dirnamep = _nl_default_dirname; +- if (codesetp) +- *codesetp = NULL; +- } +- else +- { +- /* We have to create a new binding. */ +- size_t len = strlen (domainname) + 1; +- struct binding *new_binding = +- (struct binding *) malloc (offsetof (struct binding, domainname) + len); +- +- if (__builtin_expect (new_binding == NULL, 0)) +- goto failed; +- +- memcpy (new_binding->domainname, domainname, len); +- +- if (dirnamep) +- { +- const char *dirname = *dirnamep; +- +- if (dirname == NULL) +- /* The default value. */ +- dirname = _nl_default_dirname; +- else +- { +- if (strcmp (dirname, _nl_default_dirname) == 0) +- dirname = _nl_default_dirname; +- else +- { +- char *result; +-#if defined _LIBC || defined HAVE_STRDUP +- result = strdup (dirname); +- if (__builtin_expect (result == NULL, 0)) +- goto failed_dirname; +-#else +- size_t len = strlen (dirname) + 1; +- result = (char *) malloc (len); +- if (__builtin_expect (result == NULL, 0)) +- goto failed_dirname; +- memcpy (result, dirname, len); +-#endif +- dirname = result; +- } +- } +- *dirnamep = dirname; +- new_binding->dirname = (char *) dirname; +- } +- else +- /* The default value. */ +- new_binding->dirname = (char *) _nl_default_dirname; +- +- if (codesetp) +- { +- const char *codeset = *codesetp; +- +- if (codeset != NULL) +- { +- char *result; +- +-#if defined _LIBC || defined HAVE_STRDUP +- result = strdup (codeset); +- if (__builtin_expect (result == NULL, 0)) +- goto failed_codeset; +-#else +- size_t len = strlen (codeset) + 1; +- result = (char *) malloc (len); +- if (__builtin_expect (result == NULL, 0)) +- goto failed_codeset; +- memcpy (result, codeset, len); +-#endif +- codeset = result; +- } +- *codesetp = codeset; +- new_binding->codeset = (char *) codeset; +- } +- else +- new_binding->codeset = NULL; +- +- /* Now enqueue it. */ +- if (_nl_domain_bindings == NULL +- || strcmp (domainname, _nl_domain_bindings->domainname) < 0) +- { +- new_binding->next = _nl_domain_bindings; +- _nl_domain_bindings = new_binding; +- } +- else +- { +- binding = _nl_domain_bindings; +- while (binding->next != NULL +- && strcmp (domainname, binding->next->domainname) > 0) +- binding = binding->next; +- +- new_binding->next = binding->next; +- binding->next = new_binding; +- } +- +- modified = 1; +- +- /* Here we deal with memory allocation failures. */ +- if (0) +- { +- failed_codeset: +- if (new_binding->dirname != _nl_default_dirname) +- free (new_binding->dirname); +- failed_dirname: +- free (new_binding); +- failed: +- if (dirnamep) +- *dirnamep = NULL; +- if (codesetp) +- *codesetp = NULL; +- } +- } +- +- /* If we modified any binding, we flush the caches. */ +- if (modified) +- ++_nl_msg_cat_cntr; +- +- gl_rwlock_unlock (_nl_state_lock); +-} +- +-/* Specify that the DOMAINNAME message catalog will be found +- in DIRNAME rather than in the system locale data base. */ +-char * +-BINDTEXTDOMAIN (const char *domainname, const char *dirname) +-{ +- set_binding_values (domainname, &dirname, NULL); +- return (char *) dirname; +-} +- +-/* Specify the character encoding in which the messages from the +- DOMAINNAME message catalog will be returned. */ +-char * +-BIND_TEXTDOMAIN_CODESET (const char *domainname, const char *codeset) +-{ +- set_binding_values (domainname, NULL, &codeset); +- return (char *) codeset; +-} +- +-#ifdef _LIBC +-/* Aliases for function names in GNU C Library. */ +-weak_alias (__bindtextdomain, bindtextdomain); +-weak_alias (__bind_textdomain_codeset, bind_textdomain_codeset); +-#endif +--- a/intl/config.charset ++++ /dev/null +@@ -1,640 +0,0 @@ +-#! /bin/sh +-# Output a system dependent table of character encoding aliases. +-# +-# Copyright (C) 2000-2004, 2006 Free Software Foundation, Inc. +-# +-# This program is free software; you can redistribute it and/or modify it +-# under the terms of the GNU Library General Public License as published +-# by the Free Software Foundation; either version 2, or (at your option) +-# any later version. +-# +-# This program is distributed in the hope that it will be useful, +-# but WITHOUT ANY WARRANTY; without even the implied warranty of +-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +-# Library General Public License for more details. +-# +-# You should have received a copy of the GNU Library General Public +-# License along with this program; if not, write to the Free Software +-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, +-# USA. +-# +-# The table consists of lines of the form +-# ALIAS CANONICAL +-# +-# ALIAS is the (system dependent) result of "nl_langinfo (CODESET)". +-# ALIAS is compared in a case sensitive way. +-# +-# CANONICAL is the GNU canonical name for this character encoding. +-# It must be an encoding supported by libiconv. Support by GNU libc is +-# also desirable. CANONICAL is case insensitive. Usually an upper case +-# MIME charset name is preferred. +-# The current list of GNU canonical charset names is as follows. +-# +-# name MIME? used by which systems +-# ASCII, ANSI_X3.4-1968 glibc solaris freebsd netbsd darwin +-# ISO-8859-1 Y glibc aix hpux irix osf solaris freebsd netbsd darwin +-# ISO-8859-2 Y glibc aix hpux irix osf solaris freebsd netbsd darwin +-# ISO-8859-3 Y glibc solaris +-# ISO-8859-4 Y osf solaris freebsd netbsd darwin +-# ISO-8859-5 Y glibc aix hpux irix osf solaris freebsd netbsd darwin +-# ISO-8859-6 Y glibc aix hpux solaris +-# ISO-8859-7 Y glibc aix hpux irix osf solaris netbsd darwin +-# ISO-8859-8 Y glibc aix hpux osf solaris +-# ISO-8859-9 Y glibc aix hpux irix osf solaris darwin +-# ISO-8859-13 glibc netbsd darwin +-# ISO-8859-14 glibc +-# ISO-8859-15 glibc aix osf solaris freebsd darwin +-# KOI8-R Y glibc solaris freebsd netbsd darwin +-# KOI8-U Y glibc freebsd netbsd darwin +-# KOI8-T glibc +-# CP437 dos +-# CP775 dos +-# CP850 aix osf dos +-# CP852 dos +-# CP855 dos +-# CP856 aix +-# CP857 dos +-# CP861 dos +-# CP862 dos +-# CP864 dos +-# CP865 dos +-# CP866 freebsd netbsd darwin dos +-# CP869 dos +-# CP874 woe32 dos +-# CP922 aix +-# CP932 aix woe32 dos +-# CP943 aix +-# CP949 osf woe32 dos +-# CP950 woe32 dos +-# CP1046 aix +-# CP1124 aix +-# CP1125 dos +-# CP1129 aix +-# CP1250 woe32 +-# CP1251 glibc solaris netbsd darwin woe32 +-# CP1252 aix woe32 +-# CP1253 woe32 +-# CP1254 woe32 +-# CP1255 glibc woe32 +-# CP1256 woe32 +-# CP1257 woe32 +-# GB2312 Y glibc aix hpux irix solaris freebsd netbsd darwin +-# EUC-JP Y glibc aix hpux irix osf solaris freebsd netbsd darwin +-# EUC-KR Y glibc aix hpux irix osf solaris freebsd netbsd darwin +-# EUC-TW glibc aix hpux irix osf solaris netbsd +-# BIG5 Y glibc aix hpux osf solaris freebsd netbsd darwin +-# BIG5-HKSCS glibc solaris +-# GBK glibc aix osf solaris woe32 dos +-# GB18030 glibc solaris netbsd +-# SHIFT_JIS Y hpux osf solaris freebsd netbsd darwin +-# JOHAB glibc solaris woe32 +-# TIS-620 glibc aix hpux osf solaris +-# VISCII Y glibc +-# TCVN5712-1 glibc +-# GEORGIAN-PS glibc +-# HP-ROMAN8 hpux +-# HP-ARABIC8 hpux +-# HP-GREEK8 hpux +-# HP-HEBREW8 hpux +-# HP-TURKISH8 hpux +-# HP-KANA8 hpux +-# DEC-KANJI osf +-# DEC-HANYU osf +-# UTF-8 Y glibc aix hpux osf solaris netbsd darwin +-# +-# Note: Names which are not marked as being a MIME name should not be used in +-# Internet protocols for information interchange (mail, news, etc.). +-# +-# Note: ASCII and ANSI_X3.4-1968 are synonymous canonical names. Applications +-# must understand both names and treat them as equivalent. +-# +-# The first argument passed to this file is the canonical host specification, +-# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM +-# or +-# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM +- +-host="$1" +-os=`echo "$host" | sed -e 's/^[^-]*-[^-]*-\(.*\)$/\1/'` +-echo "# This file contains a table of character encoding aliases," +-echo "# suitable for operating system '${os}'." +-echo "# It was automatically generated from config.charset." +-# List of references, updated during installation: +-echo "# Packages using this file: " +-case "$os" in +- linux-gnulibc1*) +- # Linux libc5 doesn't have nl_langinfo(CODESET); therefore +- # localcharset.c falls back to using the full locale name +- # from the environment variables. +- echo "C ASCII" +- echo "POSIX ASCII" +- for l in af af_ZA ca ca_ES da da_DK de de_AT de_BE de_CH de_DE de_LU \ +- en en_AU en_BW en_CA en_DK en_GB en_IE en_NZ en_US en_ZA \ +- en_ZW es es_AR es_BO es_CL es_CO es_DO es_EC es_ES es_GT \ +- es_HN es_MX es_PA es_PE es_PY es_SV es_US es_UY es_VE et \ +- et_EE eu eu_ES fi fi_FI fo fo_FO fr fr_BE fr_CA fr_CH fr_FR \ +- fr_LU ga ga_IE gl gl_ES id id_ID in in_ID is is_IS it it_CH \ +- it_IT kl kl_GL nl nl_BE nl_NL no no_NO pt pt_BR pt_PT sv \ +- sv_FI sv_SE; do +- echo "$l ISO-8859-1" +- echo "$l.iso-8859-1 ISO-8859-1" +- echo "$l.iso-8859-15 ISO-8859-15" +- echo "$l.iso-8859-15@euro ISO-8859-15" +- echo "$l@euro ISO-8859-15" +- echo "$l.cp-437 CP437" +- echo "$l.cp-850 CP850" +- echo "$l.cp-1252 CP1252" +- echo "$l.cp-1252@euro CP1252" +- #echo "$l.atari-st ATARI-ST" # not a commonly used encoding +- echo "$l.utf-8 UTF-8" +- echo "$l.utf-8@euro UTF-8" +- done +- for l in cs cs_CZ hr hr_HR hu hu_HU pl pl_PL ro ro_RO sk sk_SK sl \ +- sl_SI sr sr_CS sr_YU; do +- echo "$l ISO-8859-2" +- echo "$l.iso-8859-2 ISO-8859-2" +- echo "$l.cp-852 CP852" +- echo "$l.cp-1250 CP1250" +- echo "$l.utf-8 UTF-8" +- done +- for l in mk mk_MK ru ru_RU; do +- echo "$l ISO-8859-5" +- echo "$l.iso-8859-5 ISO-8859-5" +- echo "$l.koi8-r KOI8-R" +- echo "$l.cp-866 CP866" +- echo "$l.cp-1251 CP1251" +- echo "$l.utf-8 UTF-8" +- done +- for l in ar ar_SA; do +- echo "$l ISO-8859-6" +- echo "$l.iso-8859-6 ISO-8859-6" +- echo "$l.cp-864 CP864" +- #echo "$l.cp-868 CP868" # not a commonly used encoding +- echo "$l.cp-1256 CP1256" +- echo "$l.utf-8 UTF-8" +- done +- for l in el el_GR gr gr_GR; do +- echo "$l ISO-8859-7" +- echo "$l.iso-8859-7 ISO-8859-7" +- echo "$l.cp-869 CP869" +- echo "$l.cp-1253 CP1253" +- echo "$l.cp-1253@euro CP1253" +- echo "$l.utf-8 UTF-8" +- echo "$l.utf-8@euro UTF-8" +- done +- for l in he he_IL iw iw_IL; do +- echo "$l ISO-8859-8" +- echo "$l.iso-8859-8 ISO-8859-8" +- echo "$l.cp-862 CP862" +- echo "$l.cp-1255 CP1255" +- echo "$l.utf-8 UTF-8" +- done +- for l in tr tr_TR; do +- echo "$l ISO-8859-9" +- echo "$l.iso-8859-9 ISO-8859-9" +- echo "$l.cp-857 CP857" +- echo "$l.cp-1254 CP1254" +- echo "$l.utf-8 UTF-8" +- done +- for l in lt lt_LT lv lv_LV; do +- #echo "$l BALTIC" # not a commonly used encoding, wrong encoding name +- echo "$l ISO-8859-13" +- done +- for l in ru_UA uk uk_UA; do +- echo "$l KOI8-U" +- done +- for l in zh zh_CN; do +- #echo "$l GB_2312-80" # not a commonly used encoding, wrong encoding name +- echo "$l GB2312" +- done +- for l in ja ja_JP ja_JP.EUC; do +- echo "$l EUC-JP" +- done +- for l in ko ko_KR; do +- echo "$l EUC-KR" +- done +- for l in th th_TH; do +- echo "$l TIS-620" +- done +- for l in fa fa_IR; do +- #echo "$l ISIRI-3342" # a broken encoding +- echo "$l.utf-8 UTF-8" +- done +- ;; +- linux* | *-gnu*) +- # With glibc-2.1 or newer, we don't need any canonicalization, +- # because glibc has iconv and both glibc and libiconv support all +- # GNU canonical names directly. Therefore, the Makefile does not +- # need to install the alias file at all. +- # The following applies only to glibc-2.0.x and older libcs. +- echo "ISO_646.IRV:1983 ASCII" +- ;; +- aix*) +- echo "ISO8859-1 ISO-8859-1" +- echo "ISO8859-2 ISO-8859-2" +- echo "ISO8859-5 ISO-8859-5" +- echo "ISO8859-6 ISO-8859-6" +- echo "ISO8859-7 ISO-8859-7" +- echo "ISO8859-8 ISO-8859-8" +- echo "ISO8859-9 ISO-8859-9" +- echo "ISO8859-15 ISO-8859-15" +- echo "IBM-850 CP850" +- echo "IBM-856 CP856" +- echo "IBM-921 ISO-8859-13" +- echo "IBM-922 CP922" +- echo "IBM-932 CP932" +- echo "IBM-943 CP943" +- echo "IBM-1046 CP1046" +- echo "IBM-1124 CP1124" +- echo "IBM-1129 CP1129" +- echo "IBM-1252 CP1252" +- echo "IBM-eucCN GB2312" +- echo "IBM-eucJP EUC-JP" +- echo "IBM-eucKR EUC-KR" +- echo "IBM-eucTW EUC-TW" +- echo "big5 BIG5" +- echo "GBK GBK" +- echo "TIS-620 TIS-620" +- echo "UTF-8 UTF-8" +- ;; +- hpux*) +- echo "iso88591 ISO-8859-1" +- echo "iso88592 ISO-8859-2" +- echo "iso88595 ISO-8859-5" +- echo "iso88596 ISO-8859-6" +- echo "iso88597 ISO-8859-7" +- echo "iso88598 ISO-8859-8" +- echo "iso88599 ISO-8859-9" +- echo "iso885915 ISO-8859-15" +- echo "roman8 HP-ROMAN8" +- echo "arabic8 HP-ARABIC8" +- echo "greek8 HP-GREEK8" +- echo "hebrew8 HP-HEBREW8" +- echo "turkish8 HP-TURKISH8" +- echo "kana8 HP-KANA8" +- echo "tis620 TIS-620" +- echo "big5 BIG5" +- echo "eucJP EUC-JP" +- echo "eucKR EUC-KR" +- echo "eucTW EUC-TW" +- echo "hp15CN GB2312" +- #echo "ccdc ?" # what is this? +- echo "SJIS SHIFT_JIS" +- echo "utf8 UTF-8" +- ;; +- irix*) +- echo "ISO8859-1 ISO-8859-1" +- echo "ISO8859-2 ISO-8859-2" +- echo "ISO8859-5 ISO-8859-5" +- echo "ISO8859-7 ISO-8859-7" +- echo "ISO8859-9 ISO-8859-9" +- echo "eucCN GB2312" +- echo "eucJP EUC-JP" +- echo "eucKR EUC-KR" +- echo "eucTW EUC-TW" +- ;; +- osf*) +- echo "ISO8859-1 ISO-8859-1" +- echo "ISO8859-2 ISO-8859-2" +- echo "ISO8859-4 ISO-8859-4" +- echo "ISO8859-5 ISO-8859-5" +- echo "ISO8859-7 ISO-8859-7" +- echo "ISO8859-8 ISO-8859-8" +- echo "ISO8859-9 ISO-8859-9" +- echo "ISO8859-15 ISO-8859-15" +- echo "cp850 CP850" +- echo "big5 BIG5" +- echo "dechanyu DEC-HANYU" +- echo "dechanzi GB2312" +- echo "deckanji DEC-KANJI" +- echo "deckorean EUC-KR" +- echo "eucJP EUC-JP" +- echo "eucKR EUC-KR" +- echo "eucTW EUC-TW" +- echo "GBK GBK" +- echo "KSC5601 CP949" +- echo "sdeckanji EUC-JP" +- echo "SJIS SHIFT_JIS" +- echo "TACTIS TIS-620" +- echo "UTF-8 UTF-8" +- ;; +- solaris*) +- echo "646 ASCII" +- echo "ISO8859-1 ISO-8859-1" +- echo "ISO8859-2 ISO-8859-2" +- echo "ISO8859-3 ISO-8859-3" +- echo "ISO8859-4 ISO-8859-4" +- echo "ISO8859-5 ISO-8859-5" +- echo "ISO8859-6 ISO-8859-6" +- echo "ISO8859-7 ISO-8859-7" +- echo "ISO8859-8 ISO-8859-8" +- echo "ISO8859-9 ISO-8859-9" +- echo "ISO8859-15 ISO-8859-15" +- echo "koi8-r KOI8-R" +- echo "ansi-1251 CP1251" +- echo "BIG5 BIG5" +- echo "Big5-HKSCS BIG5-HKSCS" +- echo "gb2312 GB2312" +- echo "GBK GBK" +- echo "GB18030 GB18030" +- echo "cns11643 EUC-TW" +- echo "5601 EUC-KR" +- echo "ko_KR.johap92 JOHAB" +- echo "eucJP EUC-JP" +- echo "PCK SHIFT_JIS" +- echo "TIS620.2533 TIS-620" +- #echo "sun_eu_greek ?" # what is this? +- echo "UTF-8 UTF-8" +- ;; +- freebsd* | os2*) +- # FreeBSD 4.2 doesn't have nl_langinfo(CODESET); therefore +- # localcharset.c falls back to using the full locale name +- # from the environment variables. +- # Likewise for OS/2. OS/2 has XFree86 just like FreeBSD. Just +- # reuse FreeBSD's locale data for OS/2. +- echo "C ASCII" +- echo "US-ASCII ASCII" +- for l in la_LN lt_LN; do +- echo "$l.ASCII ASCII" +- done +- for l in da_DK de_AT de_CH de_DE en_AU en_CA en_GB en_US es_ES \ +- fi_FI fr_BE fr_CA fr_CH fr_FR is_IS it_CH it_IT la_LN \ +- lt_LN nl_BE nl_NL no_NO pt_PT sv_SE; do +- echo "$l.ISO_8859-1 ISO-8859-1" +- echo "$l.DIS_8859-15 ISO-8859-15" +- done +- for l in cs_CZ hr_HR hu_HU la_LN lt_LN pl_PL sl_SI; do +- echo "$l.ISO_8859-2 ISO-8859-2" +- done +- for l in la_LN lt_LT; do +- echo "$l.ISO_8859-4 ISO-8859-4" +- done +- for l in ru_RU ru_SU; do +- echo "$l.KOI8-R KOI8-R" +- echo "$l.ISO_8859-5 ISO-8859-5" +- echo "$l.CP866 CP866" +- done +- echo "uk_UA.KOI8-U KOI8-U" +- echo "zh_TW.BIG5 BIG5" +- echo "zh_TW.Big5 BIG5" +- echo "zh_CN.EUC GB2312" +- echo "ja_JP.EUC EUC-JP" +- echo "ja_JP.SJIS SHIFT_JIS" +- echo "ja_JP.Shift_JIS SHIFT_JIS" +- echo "ko_KR.EUC EUC-KR" +- ;; +- netbsd*) +- echo "646 ASCII" +- echo "ISO8859-1 ISO-8859-1" +- echo "ISO8859-2 ISO-8859-2" +- echo "ISO8859-4 ISO-8859-4" +- echo "ISO8859-5 ISO-8859-5" +- echo "ISO8859-7 ISO-8859-7" +- echo "ISO8859-13 ISO-8859-13" +- echo "ISO8859-15 ISO-8859-15" +- echo "eucCN GB2312" +- echo "eucJP EUC-JP" +- echo "eucKR EUC-KR" +- echo "eucTW EUC-TW" +- echo "BIG5 BIG5" +- echo "SJIS SHIFT_JIS" +- ;; +- darwin[56]*) +- # Darwin 6.8 doesn't have nl_langinfo(CODESET); therefore +- # localcharset.c falls back to using the full locale name +- # from the environment variables. +- echo "C ASCII" +- for l in en_AU en_CA en_GB en_US la_LN; do +- echo "$l.US-ASCII ASCII" +- done +- for l in da_DK de_AT de_CH de_DE en_AU en_CA en_GB en_US es_ES \ +- fi_FI fr_BE fr_CA fr_CH fr_FR is_IS it_CH it_IT nl_BE \ +- nl_NL no_NO pt_PT sv_SE; do +- echo "$l ISO-8859-1" +- echo "$l.ISO8859-1 ISO-8859-1" +- echo "$l.ISO8859-15 ISO-8859-15" +- done +- for l in la_LN; do +- echo "$l.ISO8859-1 ISO-8859-1" +- echo "$l.ISO8859-15 ISO-8859-15" +- done +- for l in cs_CZ hr_HR hu_HU la_LN pl_PL sl_SI; do +- echo "$l.ISO8859-2 ISO-8859-2" +- done +- for l in la_LN lt_LT; do +- echo "$l.ISO8859-4 ISO-8859-4" +- done +- for l in ru_RU; do +- echo "$l.KOI8-R KOI8-R" +- echo "$l.ISO8859-5 ISO-8859-5" +- echo "$l.CP866 CP866" +- done +- for l in bg_BG; do +- echo "$l.CP1251 CP1251" +- done +- echo "uk_UA.KOI8-U KOI8-U" +- echo "zh_TW.BIG5 BIG5" +- echo "zh_TW.Big5 BIG5" +- echo "zh_CN.EUC GB2312" +- echo "ja_JP.EUC EUC-JP" +- echo "ja_JP.SJIS SHIFT_JIS" +- echo "ko_KR.EUC EUC-KR" +- ;; +- darwin*) +- # Darwin 7.5 has nl_langinfo(CODESET), but it is useless: +- # - It returns the empty string when LANG is set to a locale of the +- # form ll_CC, although ll_CC/LC_CTYPE is a symlink to an UTF-8 +- # LC_CTYPE file. +- # - The environment variables LANG, LC_CTYPE, LC_ALL are not set by +- # the system; nl_langinfo(CODESET) returns "US-ASCII" in this case. +- # - The documentation says: +- # "... all code that calls BSD system routines should ensure +- # that the const *char parameters of these routines are in UTF-8 +- # encoding. All BSD system functions expect their string +- # parameters to be in UTF-8 encoding and nothing else." +- # It also says +- # "An additional caveat is that string parameters for files, +- # paths, and other file-system entities must be in canonical +- # UTF-8. In a canonical UTF-8 Unicode string, all decomposable +- # characters are decomposed ..." +- # but this is not true: You can pass non-decomposed UTF-8 strings +- # to file system functions, and it is the OS which will convert +- # them to decomposed UTF-8 before accessing the file system. +- # - The Apple Terminal application displays UTF-8 by default. +- # - However, other applications are free to use different encodings: +- # - xterm uses ISO-8859-1 by default. +- # - TextEdit uses MacRoman by default. +- # We prefer UTF-8 over decomposed UTF-8-MAC because one should +- # minimize the use of decomposed Unicode. Unfortunately, through the +- # Darwin file system, decomposed UTF-8 strings are leaked into user +- # space nevertheless. +- echo "* UTF-8" +- ;; +- beos*) +- # BeOS has a single locale, and it has UTF-8 encoding. +- echo "* UTF-8" +- ;; +- msdosdjgpp*) +- # DJGPP 2.03 doesn't have nl_langinfo(CODESET); therefore +- # localcharset.c falls back to using the full locale name +- # from the environment variables. +- echo "#" +- echo "# The encodings given here may not all be correct." +- echo "# If you find that the encoding given for your language and" +- echo "# country is not the one your DOS machine actually uses, just" +- echo "# correct it in this file, and send a mail to" +- echo "# Juan Manuel Guerrero " +- echo "# and Bruno Haible ." +- echo "#" +- echo "C ASCII" +- # ISO-8859-1 languages +- echo "ca CP850" +- echo "ca_ES CP850" +- echo "da CP865" # not CP850 ?? +- echo "da_DK CP865" # not CP850 ?? +- echo "de CP850" +- echo "de_AT CP850" +- echo "de_CH CP850" +- echo "de_DE CP850" +- echo "en CP850" +- echo "en_AU CP850" # not CP437 ?? +- echo "en_CA CP850" +- echo "en_GB CP850" +- echo "en_NZ CP437" +- echo "en_US CP437" +- echo "en_ZA CP850" # not CP437 ?? +- echo "es CP850" +- echo "es_AR CP850" +- echo "es_BO CP850" +- echo "es_CL CP850" +- echo "es_CO CP850" +- echo "es_CR CP850" +- echo "es_CU CP850" +- echo "es_DO CP850" +- echo "es_EC CP850" +- echo "es_ES CP850" +- echo "es_GT CP850" +- echo "es_HN CP850" +- echo "es_MX CP850" +- echo "es_NI CP850" +- echo "es_PA CP850" +- echo "es_PY CP850" +- echo "es_PE CP850" +- echo "es_SV CP850" +- echo "es_UY CP850" +- echo "es_VE CP850" +- echo "et CP850" +- echo "et_EE CP850" +- echo "eu CP850" +- echo "eu_ES CP850" +- echo "fi CP850" +- echo "fi_FI CP850" +- echo "fr CP850" +- echo "fr_BE CP850" +- echo "fr_CA CP850" +- echo "fr_CH CP850" +- echo "fr_FR CP850" +- echo "ga CP850" +- echo "ga_IE CP850" +- echo "gd CP850" +- echo "gd_GB CP850" +- echo "gl CP850" +- echo "gl_ES CP850" +- echo "id CP850" # not CP437 ?? +- echo "id_ID CP850" # not CP437 ?? +- echo "is CP861" # not CP850 ?? +- echo "is_IS CP861" # not CP850 ?? +- echo "it CP850" +- echo "it_CH CP850" +- echo "it_IT CP850" +- echo "lt CP775" +- echo "lt_LT CP775" +- echo "lv CP775" +- echo "lv_LV CP775" +- echo "nb CP865" # not CP850 ?? +- echo "nb_NO CP865" # not CP850 ?? +- echo "nl CP850" +- echo "nl_BE CP850" +- echo "nl_NL CP850" +- echo "nn CP865" # not CP850 ?? +- echo "nn_NO CP865" # not CP850 ?? +- echo "no CP865" # not CP850 ?? +- echo "no_NO CP865" # not CP850 ?? +- echo "pt CP850" +- echo "pt_BR CP850" +- echo "pt_PT CP850" +- echo "sv CP850" +- echo "sv_SE CP850" +- # ISO-8859-2 languages +- echo "cs CP852" +- echo "cs_CZ CP852" +- echo "hr CP852" +- echo "hr_HR CP852" +- echo "hu CP852" +- echo "hu_HU CP852" +- echo "pl CP852" +- echo "pl_PL CP852" +- echo "ro CP852" +- echo "ro_RO CP852" +- echo "sk CP852" +- echo "sk_SK CP852" +- echo "sl CP852" +- echo "sl_SI CP852" +- echo "sq CP852" +- echo "sq_AL CP852" +- echo "sr CP852" # CP852 or CP866 or CP855 ?? +- echo "sr_CS CP852" # CP852 or CP866 or CP855 ?? +- echo "sr_YU CP852" # CP852 or CP866 or CP855 ?? +- # ISO-8859-3 languages +- echo "mt CP850" +- echo "mt_MT CP850" +- # ISO-8859-5 languages +- echo "be CP866" +- echo "be_BE CP866" +- echo "bg CP866" # not CP855 ?? +- echo "bg_BG CP866" # not CP855 ?? +- echo "mk CP866" # not CP855 ?? +- echo "mk_MK CP866" # not CP855 ?? +- echo "ru CP866" +- echo "ru_RU CP866" +- echo "uk CP1125" +- echo "uk_UA CP1125" +- # ISO-8859-6 languages +- echo "ar CP864" +- echo "ar_AE CP864" +- echo "ar_DZ CP864" +- echo "ar_EG CP864" +- echo "ar_IQ CP864" +- echo "ar_IR CP864" +- echo "ar_JO CP864" +- echo "ar_KW CP864" +- echo "ar_MA CP864" +- echo "ar_OM CP864" +- echo "ar_QA CP864" +- echo "ar_SA CP864" +- echo "ar_SY CP864" +- # ISO-8859-7 languages +- echo "el CP869" +- echo "el_GR CP869" +- # ISO-8859-8 languages +- echo "he CP862" +- echo "he_IL CP862" +- # ISO-8859-9 languages +- echo "tr CP857" +- echo "tr_TR CP857" +- # Japanese +- echo "ja CP932" +- echo "ja_JP CP932" +- # Chinese +- echo "zh_CN GBK" +- echo "zh_TW CP950" # not CP938 ?? +- # Korean +- echo "kr CP949" # not CP934 ?? +- echo "kr_KR CP949" # not CP934 ?? +- # Thai +- echo "th CP874" +- echo "th_TH CP874" +- # Other +- echo "eo CP850" +- echo "eo_EO CP850" +- ;; +-esac +--- a/intl/dcgettext.c ++++ /dev/null +@@ -1,56 +0,0 @@ +-/* Implementation of the dcgettext(3) function. +- Copyright (C) 1995-1999, 2000-2003 Free Software Foundation, Inc. +- +- This program is free software; you can redistribute it and/or modify it +- under the terms of the GNU Library General Public License as published +- by the Free Software Foundation; either version 2, or (at your option) +- any later version. +- +- This program is distributed in the hope that it will be useful, +- but WITHOUT ANY WARRANTY; without even the implied warranty of +- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +- Library General Public License for more details. +- +- You should have received a copy of the GNU Library General Public +- License along with this program; if not, write to the Free Software +- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, +- USA. */ +- +-#ifdef HAVE_CONFIG_H +-# include +-#endif +- +-#include "gettextP.h" +-#ifdef _LIBC +-# include +-#else +-# include "libgnuintl.h" +-#endif +- +-/* @@ end of prolog @@ */ +- +-/* Names for the libintl functions are a problem. They must not clash +- with existing names and they should follow ANSI C. But this source +- code is also used in GNU C Library where the names have a __ +- prefix. So we have to make a difference here. */ +-#ifdef _LIBC +-# define DCGETTEXT __dcgettext +-# define DCIGETTEXT __dcigettext +-#else +-# define DCGETTEXT libintl_dcgettext +-# define DCIGETTEXT libintl_dcigettext +-#endif +- +-/* Look up MSGID in the DOMAINNAME message catalog for the current CATEGORY +- locale. */ +-char * +-DCGETTEXT (const char *domainname, const char *msgid, int category) +-{ +- return DCIGETTEXT (domainname, msgid, NULL, 0, 0, category); +-} +- +-#ifdef _LIBC +-/* Alias for function name in GNU C Library. */ +-INTDEF(__dcgettext) +-weak_alias (__dcgettext, dcgettext); +-#endif +--- a/intl/dcigettext.c ++++ /dev/null +@@ -1,1689 +0,0 @@ +-/* Implementation of the internal dcigettext function. +- Copyright (C) 1995-1999, 2000-2007 Free Software Foundation, Inc. +- +- This program is free software; you can redistribute it and/or modify it +- under the terms of the GNU Library General Public License as published +- by the Free Software Foundation; either version 2, or (at your option) +- any later version. +- +- This program is distributed in the hope that it will be useful, +- but WITHOUT ANY WARRANTY; without even the implied warranty of +- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +- Library General Public License for more details. +- +- You should have received a copy of the GNU Library General Public +- License along with this program; if not, write to the Free Software +- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, +- USA. */ +- +-/* Tell glibc's to provide a prototype for mempcpy(). +- This must come before because may include +- , and once has been included, it's too late. */ +-#ifndef _GNU_SOURCE +-# define _GNU_SOURCE 1 +-#endif +- +-#ifdef HAVE_CONFIG_H +-# include +-#endif +- +-/* NL_LOCALE_NAME does not work in glibc-2.4. Ignore it. */ +-#undef HAVE_NL_LOCALE_NAME +- +-#include +- +-#ifdef __GNUC__ +-# define alloca __builtin_alloca +-# define HAVE_ALLOCA 1 +-#else +-# ifdef _MSC_VER +-# include +-# define alloca _alloca +-# else +-# if defined HAVE_ALLOCA_H || defined _LIBC +-# include +-# else +-# ifdef _AIX +- #pragma alloca +-# else +-# ifndef alloca +-char *alloca (); +-# endif +-# endif +-# endif +-# endif +-#endif +- +-#include +-#ifndef errno +-extern int errno; +-#endif +-#ifndef __set_errno +-# define __set_errno(val) errno = (val) +-#endif +- +-#include +-#include +-#include +- +-#if defined HAVE_UNISTD_H || defined _LIBC +-# include +-#endif +- +-#include +- +-#ifdef _LIBC +- /* Guess whether integer division by zero raises signal SIGFPE. +- Set to 1 only if you know for sure. In case of doubt, set to 0. */ +-# if defined __alpha__ || defined __arm__ || defined __i386__ \ +- || defined __m68k__ || defined __s390__ +-# define INTDIV0_RAISES_SIGFPE 1 +-# else +-# define INTDIV0_RAISES_SIGFPE 0 +-# endif +-#endif +-#if !INTDIV0_RAISES_SIGFPE +-# include +-#endif +- +-#if defined HAVE_SYS_PARAM_H || defined _LIBC +-# include +-#endif +- +-#if !defined _LIBC +-# if HAVE_NL_LOCALE_NAME +-# include +-# endif +-# include "localcharset.h" +-#endif +- +-#include "gettextP.h" +-#include "plural-exp.h" +-#ifdef _LIBC +-# include +-#else +-# ifdef IN_LIBGLOCALE +-# include +-# endif +-# include "libgnuintl.h" +-#endif +-#include "hash-string.h" +- +-/* Handle multi-threaded applications. */ +-#ifdef _LIBC +-# include +-# define gl_rwlock_define_initialized __libc_rwlock_define_initialized +-# define gl_rwlock_rdlock __libc_rwlock_rdlock +-# define gl_rwlock_wrlock __libc_rwlock_wrlock +-# define gl_rwlock_unlock __libc_rwlock_unlock +-#else +-# include "lock.h" +-#endif +- +-/* Alignment of types. */ +-#if defined __GNUC__ && __GNUC__ >= 2 +-# define alignof(TYPE) __alignof__ (TYPE) +-#else +-# define alignof(TYPE) \ +- ((int) &((struct { char dummy1; TYPE dummy2; } *) 0)->dummy2) +-#endif +- +-/* Some compilers, like SunOS4 cc, don't have offsetof in . */ +-#ifndef offsetof +-# define offsetof(type,ident) ((size_t)&(((type*)0)->ident)) +-#endif +- +-/* @@ end of prolog @@ */ +- +-#ifdef _LIBC +-/* Rename the non ANSI C functions. This is required by the standard +- because some ANSI C functions will require linking with this object +- file and the name space must not be polluted. */ +-# define getcwd __getcwd +-# ifndef stpcpy +-# define stpcpy __stpcpy +-# endif +-# define tfind __tfind +-#else +-# if !defined HAVE_GETCWD +-char *getwd (); +-# define getcwd(buf, max) getwd (buf) +-# else +-# if VMS +-# define getcwd(buf, max) (getcwd) (buf, max, 0) +-# else +-char *getcwd (); +-# endif +-# endif +-# ifndef HAVE_STPCPY +-static char *stpcpy (char *dest, const char *src); +-# endif +-# ifndef HAVE_MEMPCPY +-static void *mempcpy (void *dest, const void *src, size_t n); +-# endif +-#endif +- +-/* Use a replacement if the system does not provide the `tsearch' function +- family. */ +-#if HAVE_TSEARCH || defined _LIBC +-# include +-#else +-# define tsearch libintl_tsearch +-# define tfind libintl_tfind +-# define tdelete libintl_tdelete +-# define twalk libintl_twalk +-# include "tsearch.h" +-#endif +- +-#ifdef _LIBC +-# define tsearch __tsearch +-#endif +- +-/* Amount to increase buffer size by in each try. */ +-#define PATH_INCR 32 +- +-/* The following is from pathmax.h. */ +-/* Non-POSIX BSD systems might have gcc's limits.h, which doesn't define +- PATH_MAX but might cause redefinition warnings when sys/param.h is +- later included (as on MORE/BSD 4.3). */ +-#if defined _POSIX_VERSION || (defined HAVE_LIMITS_H && !defined __GNUC__) +-# include +-#endif +- +-#ifndef _POSIX_PATH_MAX +-# define _POSIX_PATH_MAX 255 +-#endif +- +-#if !defined PATH_MAX && defined _PC_PATH_MAX +-# define PATH_MAX (pathconf ("/", _PC_PATH_MAX) < 1 ? 1024 : pathconf ("/", _PC_PATH_MAX)) +-#endif +- +-/* Don't include sys/param.h if it already has been. */ +-#if defined HAVE_SYS_PARAM_H && !defined PATH_MAX && !defined MAXPATHLEN +-# include +-#endif +- +-#if !defined PATH_MAX && defined MAXPATHLEN +-# define PATH_MAX MAXPATHLEN +-#endif +- +-#ifndef PATH_MAX +-# define PATH_MAX _POSIX_PATH_MAX +-#endif +- +-/* Pathname support. +- ISSLASH(C) tests whether C is a directory separator character. +- IS_ABSOLUTE_PATH(P) tests whether P is an absolute path. If it is not, +- it may be concatenated to a directory pathname. +- IS_PATH_WITH_DIR(P) tests whether P contains a directory specification. +- */ +-#if defined _WIN32 || defined __WIN32__ || defined __CYGWIN__ || defined __EMX__ || defined __DJGPP__ +- /* Win32, Cygwin, OS/2, DOS */ +-# define ISSLASH(C) ((C) == '/' || (C) == '\\') +-# define HAS_DEVICE(P) \ +- ((((P)[0] >= 'A' && (P)[0] <= 'Z') || ((P)[0] >= 'a' && (P)[0] <= 'z')) \ +- && (P)[1] == ':') +-# define IS_ABSOLUTE_PATH(P) (ISSLASH ((P)[0]) || HAS_DEVICE (P)) +-# define IS_PATH_WITH_DIR(P) \ +- (strchr (P, '/') != NULL || strchr (P, '\\') != NULL || HAS_DEVICE (P)) +-#else +- /* Unix */ +-# define ISSLASH(C) ((C) == '/') +-# define IS_ABSOLUTE_PATH(P) ISSLASH ((P)[0]) +-# define IS_PATH_WITH_DIR(P) (strchr (P, '/') != NULL) +-#endif +- +-/* Whether to support different locales in different threads. */ +-#if defined _LIBC || HAVE_NL_LOCALE_NAME || (HAVE_STRUCT___LOCALE_STRUCT___NAMES && defined USE_IN_GETTEXT_TESTS) || defined IN_LIBGLOCALE +-# define HAVE_PER_THREAD_LOCALE +-#endif +- +-/* This is the type used for the search tree where known translations +- are stored. */ +-struct known_translation_t +-{ +- /* Domain in which to search. */ +- const char *domainname; +- +- /* The category. */ +- int category; +- +-#ifdef HAVE_PER_THREAD_LOCALE +- /* Name of the relevant locale category, or "" for the global locale. */ +- const char *localename; +-#endif +- +-#ifdef IN_LIBGLOCALE +- /* The character encoding. */ +- const char *encoding; +-#endif +- +- /* State of the catalog counter at the point the string was found. */ +- int counter; +- +- /* Catalog where the string was found. */ +- struct loaded_l10nfile *domain; +- +- /* And finally the translation. */ +- const char *translation; +- size_t translation_length; +- +- /* Pointer to the string in question. */ +- char msgid[ZERO]; +-}; +- +-gl_rwlock_define_initialized (static, tree_lock) +- +-/* Root of the search tree with known translations. */ +-static void *root; +- +-/* Function to compare two entries in the table of known translations. */ +-static int +-transcmp (const void *p1, const void *p2) +-{ +- const struct known_translation_t *s1; +- const struct known_translation_t *s2; +- int result; +- +- s1 = (const struct known_translation_t *) p1; +- s2 = (const struct known_translation_t *) p2; +- +- result = strcmp (s1->msgid, s2->msgid); +- if (result == 0) +- { +- result = strcmp (s1->domainname, s2->domainname); +- if (result == 0) +- { +-#ifdef HAVE_PER_THREAD_LOCALE +- result = strcmp (s1->localename, s2->localename); +- if (result == 0) +-#endif +- { +-#ifdef IN_LIBGLOCALE +- result = strcmp (s1->encoding, s2->encoding); +- if (result == 0) +-#endif +- /* We compare the category last (though this is the cheapest +- operation) since it is hopefully always the same (namely +- LC_MESSAGES). */ +- result = s1->category - s2->category; +- } +- } +- } +- +- return result; +-} +- +-/* Name of the default domain used for gettext(3) prior any call to +- textdomain(3). The default value for this is "messages". */ +-const char _nl_default_default_domain[] attribute_hidden = "messages"; +- +-#ifndef IN_LIBGLOCALE +-/* Value used as the default domain for gettext(3). */ +-const char *_nl_current_default_domain attribute_hidden +- = _nl_default_default_domain; +-#endif +- +-/* Contains the default location of the message catalogs. */ +-#if defined __EMX__ +-extern const char _nl_default_dirname[]; +-#else +-# ifdef _LIBC +-extern const char _nl_default_dirname[]; +-libc_hidden_proto (_nl_default_dirname) +-# endif +-const char _nl_default_dirname[] = LOCALEDIR; +-# ifdef _LIBC +-libc_hidden_data_def (_nl_default_dirname) +-# endif +-#endif +- +-#ifndef IN_LIBGLOCALE +-/* List with bindings of specific domains created by bindtextdomain() +- calls. */ +-struct binding *_nl_domain_bindings; +-#endif +- +-/* Prototypes for local functions. */ +-static char *plural_lookup (struct loaded_l10nfile *domain, +- unsigned long int n, +- const char *translation, size_t translation_len) +- internal_function; +- +-#ifdef IN_LIBGLOCALE +-static const char *guess_category_value (int category, +- const char *categoryname, +- const char *localename) +- internal_function; +-#else +-static const char *guess_category_value (int category, +- const char *categoryname) +- internal_function; +-#endif +- +-#ifdef _LIBC +-# include "../locale/localeinfo.h" +-# define category_to_name(category) \ +- _nl_category_names.str + _nl_category_name_idxs[category] +-#else +-static const char *category_to_name (int category) internal_function; +-#endif +-#if (defined _LIBC || HAVE_ICONV) && !defined IN_LIBGLOCALE +-static const char *get_output_charset (struct binding *domainbinding) +- internal_function; +-#endif +- +- +-/* For those loosing systems which don't have `alloca' we have to add +- some additional code emulating it. */ +-#ifdef HAVE_ALLOCA +-/* Nothing has to be done. */ +-# define freea(p) /* nothing */ +-# define ADD_BLOCK(list, address) /* nothing */ +-# define FREE_BLOCKS(list) /* nothing */ +-#else +-struct block_list +-{ +- void *address; +- struct block_list *next; +-}; +-# define ADD_BLOCK(list, addr) \ +- do { \ +- struct block_list *newp = (struct block_list *) malloc (sizeof (*newp)); \ +- /* If we cannot get a free block we cannot add the new element to \ +- the list. */ \ +- if (newp != NULL) { \ +- newp->address = (addr); \ +- newp->next = (list); \ +- (list) = newp; \ +- } \ +- } while (0) +-# define FREE_BLOCKS(list) \ +- do { \ +- while (list != NULL) { \ +- struct block_list *old = list; \ +- list = list->next; \ +- free (old->address); \ +- free (old); \ +- } \ +- } while (0) +-# undef alloca +-# define alloca(size) (malloc (size)) +-# define freea(p) free (p) +-#endif /* have alloca */ +- +- +-#ifdef _LIBC +-/* List of blocks allocated for translations. */ +-typedef struct transmem_list +-{ +- struct transmem_list *next; +- char data[ZERO]; +-} transmem_block_t; +-static struct transmem_list *transmem_list; +-#else +-typedef unsigned char transmem_block_t; +-#endif +- +- +-/* Names for the libintl functions are a problem. They must not clash +- with existing names and they should follow ANSI C. But this source +- code is also used in GNU C Library where the names have a __ +- prefix. So we have to make a difference here. */ +-#ifdef _LIBC +-# define DCIGETTEXT __dcigettext +-#else +-# define DCIGETTEXT libintl_dcigettext +-#endif +- +-/* Lock variable to protect the global data in the gettext implementation. */ +-gl_rwlock_define_initialized (, _nl_state_lock attribute_hidden) +- +-/* Checking whether the binaries runs SUID must be done and glibc provides +- easier methods therefore we make a difference here. */ +-#ifdef _LIBC +-# define ENABLE_SECURE __libc_enable_secure +-# define DETERMINE_SECURE +-#else +-# ifndef HAVE_GETUID +-# define getuid() 0 +-# endif +-# ifndef HAVE_GETGID +-# define getgid() 0 +-# endif +-# ifndef HAVE_GETEUID +-# define geteuid() getuid() +-# endif +-# ifndef HAVE_GETEGID +-# define getegid() getgid() +-# endif +-static int enable_secure; +-# define ENABLE_SECURE (enable_secure == 1) +-# define DETERMINE_SECURE \ +- if (enable_secure == 0) \ +- { \ +- if (getuid () != geteuid () || getgid () != getegid ()) \ +- enable_secure = 1; \ +- else \ +- enable_secure = -1; \ +- } +-#endif +- +-/* Get the function to evaluate the plural expression. */ +-#include "eval-plural.h" +- +-/* Look up MSGID in the DOMAINNAME message catalog for the current +- CATEGORY locale and, if PLURAL is nonzero, search over string +- depending on the plural form determined by N. */ +-#ifdef IN_LIBGLOCALE +-char * +-gl_dcigettext (const char *domainname, +- const char *msgid1, const char *msgid2, +- int plural, unsigned long int n, +- int category, +- const char *localename, const char *encoding) +-#else +-char * +-DCIGETTEXT (const char *domainname, const char *msgid1, const char *msgid2, +- int plural, unsigned long int n, int category) +-#endif +-{ +-#ifndef HAVE_ALLOCA +- struct block_list *block_list = NULL; +-#endif +- struct loaded_l10nfile *domain; +- struct binding *binding; +- const char *categoryname; +- const char *categoryvalue; +- const char *dirname; +- char *xdomainname; +- char *single_locale; +- char *retval; +- size_t retlen; +- int saved_errno; +- struct known_translation_t *search; +- struct known_translation_t **foundp = NULL; +- size_t msgid_len; +-#if defined HAVE_PER_THREAD_LOCALE && !defined IN_LIBGLOCALE +- const char *localename; +-#endif +- size_t domainname_len; +- +- /* If no real MSGID is given return NULL. */ +- if (msgid1 == NULL) +- return NULL; +- +-#ifdef _LIBC +- if (category < 0 || category >= __LC_LAST || category == LC_ALL) +- /* Bogus. */ +- return (plural == 0 +- ? (char *) msgid1 +- /* Use the Germanic plural rule. */ +- : n == 1 ? (char *) msgid1 : (char *) msgid2); +-#endif +- +- /* Preserve the `errno' value. */ +- saved_errno = errno; +- +- gl_rwlock_rdlock (_nl_state_lock); +- +- /* If DOMAINNAME is NULL, we are interested in the default domain. If +- CATEGORY is not LC_MESSAGES this might not make much sense but the +- definition left this undefined. */ +- if (domainname == NULL) +- domainname = _nl_current_default_domain; +- +- /* OS/2 specific: backward compatibility with older libintl versions */ +-#ifdef LC_MESSAGES_COMPAT +- if (category == LC_MESSAGES_COMPAT) +- category = LC_MESSAGES; +-#endif +- +- msgid_len = strlen (msgid1) + 1; +- +- /* Try to find the translation among those which we found at +- some time. */ +- search = (struct known_translation_t *) +- alloca (offsetof (struct known_translation_t, msgid) + msgid_len); +- memcpy (search->msgid, msgid1, msgid_len); +- search->domainname = domainname; +- search->category = category; +-#ifdef HAVE_PER_THREAD_LOCALE +-# ifndef IN_LIBGLOCALE +-# ifdef _LIBC +- localename = __current_locale_name (category); +-# else +-# if HAVE_NL_LOCALE_NAME +- /* NL_LOCALE_NAME is public glibc API introduced in glibc-2.4. */ +- localename = nl_langinfo (NL_LOCALE_NAME (category)); +-# else +-# if HAVE_STRUCT___LOCALE_STRUCT___NAMES && defined USE_IN_GETTEXT_TESTS +- /* The __names field is not public glibc API and must therefore not be used +- in code that is installed in public locations. */ +- { +- locale_t thread_locale = uselocale (NULL); +- if (thread_locale != LC_GLOBAL_LOCALE) +- localename = thread_locale->__names[category]; +- else +- localename = ""; +- } +-# endif +-# endif +-# endif +-# endif +- search->localename = localename; +-# ifdef IN_LIBGLOCALE +- search->encoding = encoding; +-# endif +- +- /* Since tfind/tsearch manage a balanced tree, concurrent tfind and +- tsearch calls can be fatal. */ +- gl_rwlock_rdlock (tree_lock); +- +- foundp = (struct known_translation_t **) tfind (search, &root, transcmp); +- +- gl_rwlock_unlock (tree_lock); +- +- freea (search); +- if (foundp != NULL && (*foundp)->counter == _nl_msg_cat_cntr) +- { +- /* Now deal with plural. */ +- if (plural) +- retval = plural_lookup ((*foundp)->domain, n, (*foundp)->translation, +- (*foundp)->translation_length); +- else +- retval = (char *) (*foundp)->translation; +- +- gl_rwlock_unlock (_nl_state_lock); +- __set_errno (saved_errno); +- return retval; +- } +-#endif +- +- /* See whether this is a SUID binary or not. */ +- DETERMINE_SECURE; +- +- /* First find matching binding. */ +-#ifdef IN_LIBGLOCALE +- /* We can use a trivial binding, since _nl_find_msg will ignore it anyway, +- and _nl_load_domain and _nl_find_domain just pass it through. */ +- binding = NULL; +- dirname = bindtextdomain (domainname, NULL); +-#else +- for (binding = _nl_domain_bindings; binding != NULL; binding = binding->next) +- { +- int compare = strcmp (domainname, binding->domainname); +- if (compare == 0) +- /* We found it! */ +- break; +- if (compare < 0) +- { +- /* It is not in the list. */ +- binding = NULL; +- break; +- } +- } +- +- if (binding == NULL) +- dirname = _nl_default_dirname; +- else +- { +- dirname = binding->dirname; +-#endif +- if (!IS_ABSOLUTE_PATH (dirname)) +- { +- /* We have a relative path. Make it absolute now. */ +- size_t dirname_len = strlen (dirname) + 1; +- size_t path_max; +- char *resolved_dirname; +- char *ret; +- +- path_max = (unsigned int) PATH_MAX; +- path_max += 2; /* The getcwd docs say to do this. */ +- +- for (;;) +- { +- resolved_dirname = (char *) alloca (path_max + dirname_len); +- ADD_BLOCK (block_list, tmp_dirname); +- +- __set_errno (0); +- ret = getcwd (resolved_dirname, path_max); +- if (ret != NULL || errno != ERANGE) +- break; +- +- path_max += path_max / 2; +- path_max += PATH_INCR; +- } +- +- if (ret == NULL) +- /* We cannot get the current working directory. Don't signal an +- error but simply return the default string. */ +- goto return_untranslated; +- +- stpcpy (stpcpy (strchr (resolved_dirname, '\0'), "/"), dirname); +- dirname = resolved_dirname; +- } +-#ifndef IN_LIBGLOCALE +- } +-#endif +- +- /* Now determine the symbolic name of CATEGORY and its value. */ +- categoryname = category_to_name (category); +-#ifdef IN_LIBGLOCALE +- categoryvalue = guess_category_value (category, categoryname, localename); +-#else +- categoryvalue = guess_category_value (category, categoryname); +-#endif +- +- domainname_len = strlen (domainname); +- xdomainname = (char *) alloca (strlen (categoryname) +- + domainname_len + 5); +- ADD_BLOCK (block_list, xdomainname); +- +- stpcpy ((char *) mempcpy (stpcpy (stpcpy (xdomainname, categoryname), "/"), +- domainname, domainname_len), +- ".mo"); +- +- /* Creating working area. */ +- single_locale = (char *) alloca (strlen (categoryvalue) + 1); +- ADD_BLOCK (block_list, single_locale); +- +- +- /* Search for the given string. This is a loop because we perhaps +- got an ordered list of languages to consider for the translation. */ +- while (1) +- { +- /* Make CATEGORYVALUE point to the next element of the list. */ +- while (categoryvalue[0] != '\0' && categoryvalue[0] == ':') +- ++categoryvalue; +- if (categoryvalue[0] == '\0') +- { +- /* The whole contents of CATEGORYVALUE has been searched but +- no valid entry has been found. We solve this situation +- by implicitly appending a "C" entry, i.e. no translation +- will take place. */ +- single_locale[0] = 'C'; +- single_locale[1] = '\0'; +- } +- else +- { +- char *cp = single_locale; +- while (categoryvalue[0] != '\0' && categoryvalue[0] != ':') +- *cp++ = *categoryvalue++; +- *cp = '\0'; +- +- /* When this is a SUID binary we must not allow accessing files +- outside the dedicated directories. */ +- if (ENABLE_SECURE && IS_PATH_WITH_DIR (single_locale)) +- /* Ingore this entry. */ +- continue; +- } +- +- /* If the current locale value is C (or POSIX) we don't load a +- domain. Return the MSGID. */ +- if (strcmp (single_locale, "C") == 0 +- || strcmp (single_locale, "POSIX") == 0) +- break; +- +- /* Find structure describing the message catalog matching the +- DOMAINNAME and CATEGORY. */ +- domain = _nl_find_domain (dirname, single_locale, xdomainname, binding); +- +- if (domain != NULL) +- { +-#if defined IN_LIBGLOCALE +- retval = _nl_find_msg (domain, binding, encoding, msgid1, &retlen); +-#else +- retval = _nl_find_msg (domain, binding, msgid1, 1, &retlen); +-#endif +- +- if (retval == NULL) +- { +- int cnt; +- +- for (cnt = 0; domain->successor[cnt] != NULL; ++cnt) +- { +-#if defined IN_LIBGLOCALE +- retval = _nl_find_msg (domain->successor[cnt], binding, +- encoding, msgid1, &retlen); +-#else +- retval = _nl_find_msg (domain->successor[cnt], binding, +- msgid1, 1, &retlen); +-#endif +- +- if (retval != NULL) +- { +- domain = domain->successor[cnt]; +- break; +- } +- } +- } +- +- /* Returning -1 means that some resource problem exists +- (likely memory) and that the strings could not be +- converted. Return the original strings. */ +- if (__builtin_expect (retval == (char *) -1, 0)) +- break; +- +- if (retval != NULL) +- { +- /* Found the translation of MSGID1 in domain DOMAIN: +- starting at RETVAL, RETLEN bytes. */ +- FREE_BLOCKS (block_list); +- if (foundp == NULL) +- { +- /* Create a new entry and add it to the search tree. */ +- size_t size; +- struct known_translation_t *newp; +- +- size = offsetof (struct known_translation_t, msgid) +- + msgid_len + domainname_len + 1; +-#ifdef HAVE_PER_THREAD_LOCALE +- size += strlen (localename) + 1; +-#endif +- newp = (struct known_translation_t *) malloc (size); +- if (newp != NULL) +- { +- char *new_domainname; +-#ifdef HAVE_PER_THREAD_LOCALE +- char *new_localename; +-#endif +- +- new_domainname = +- (char *) mempcpy (newp->msgid, msgid1, msgid_len); +- memcpy (new_domainname, domainname, domainname_len + 1); +-#ifdef HAVE_PER_THREAD_LOCALE +- new_localename = new_domainname + domainname_len + 1; +- strcpy (new_localename, localename); +-#endif +- newp->domainname = new_domainname; +- newp->category = category; +-#ifdef HAVE_PER_THREAD_LOCALE +- newp->localename = new_localename; +-#endif +-#ifdef IN_LIBGLOCALE +- newp->encoding = encoding; +-#endif +- newp->counter = _nl_msg_cat_cntr; +- newp->domain = domain; +- newp->translation = retval; +- newp->translation_length = retlen; +- +- gl_rwlock_wrlock (tree_lock); +- +- /* Insert the entry in the search tree. */ +- foundp = (struct known_translation_t **) +- tsearch (newp, &root, transcmp); +- +- gl_rwlock_unlock (tree_lock); +- +- if (foundp == NULL +- || __builtin_expect (*foundp != newp, 0)) +- /* The insert failed. */ +- free (newp); +- } +- } +- else +- { +- /* We can update the existing entry. */ +- (*foundp)->counter = _nl_msg_cat_cntr; +- (*foundp)->domain = domain; +- (*foundp)->translation = retval; +- (*foundp)->translation_length = retlen; +- } +- +- __set_errno (saved_errno); +- +- /* Now deal with plural. */ +- if (plural) +- retval = plural_lookup (domain, n, retval, retlen); +- +- gl_rwlock_unlock (_nl_state_lock); +- return retval; +- } +- } +- } +- +- return_untranslated: +- /* Return the untranslated MSGID. */ +- FREE_BLOCKS (block_list); +- gl_rwlock_unlock (_nl_state_lock); +-#ifndef _LIBC +- if (!ENABLE_SECURE) +- { +- extern void _nl_log_untranslated (const char *logfilename, +- const char *domainname, +- const char *msgid1, const char *msgid2, +- int plural); +- const char *logfilename = getenv ("GETTEXT_LOG_UNTRANSLATED"); +- +- if (logfilename != NULL && logfilename[0] != '\0') +- _nl_log_untranslated (logfilename, domainname, msgid1, msgid2, plural); +- } +-#endif +- __set_errno (saved_errno); +- return (plural == 0 +- ? (char *) msgid1 +- /* Use the Germanic plural rule. */ +- : n == 1 ? (char *) msgid1 : (char *) msgid2); +-} +- +- +-/* Look up the translation of msgid within DOMAIN_FILE and DOMAINBINDING. +- Return it if found. Return NULL if not found or in case of a conversion +- failure (problem in the particular message catalog). Return (char *) -1 +- in case of a memory allocation failure during conversion (only if +- ENCODING != NULL resp. CONVERT == true). */ +-char * +-internal_function +-#ifdef IN_LIBGLOCALE +-_nl_find_msg (struct loaded_l10nfile *domain_file, +- struct binding *domainbinding, const char *encoding, +- const char *msgid, +- size_t *lengthp) +-#else +-_nl_find_msg (struct loaded_l10nfile *domain_file, +- struct binding *domainbinding, +- const char *msgid, int convert, +- size_t *lengthp) +-#endif +-{ +- struct loaded_domain *domain; +- nls_uint32 nstrings; +- size_t act; +- char *result; +- size_t resultlen; +- +- if (domain_file->decided <= 0) +- _nl_load_domain (domain_file, domainbinding); +- +- if (domain_file->data == NULL) +- return NULL; +- +- domain = (struct loaded_domain *) domain_file->data; +- +- nstrings = domain->nstrings; +- +- /* Locate the MSGID and its translation. */ +- if (domain->hash_tab != NULL) +- { +- /* Use the hashing table. */ +- nls_uint32 len = strlen (msgid); +- nls_uint32 hash_val = __hash_string (msgid); +- nls_uint32 idx = hash_val % domain->hash_size; +- nls_uint32 incr = 1 + (hash_val % (domain->hash_size - 2)); +- +- while (1) +- { +- nls_uint32 nstr = +- W (domain->must_swap_hash_tab, domain->hash_tab[idx]); +- +- if (nstr == 0) +- /* Hash table entry is empty. */ +- return NULL; +- +- nstr--; +- +- /* Compare msgid with the original string at index nstr. +- We compare the lengths with >=, not ==, because plural entries +- are represented by strings with an embedded NUL. */ +- if (nstr < nstrings +- ? W (domain->must_swap, domain->orig_tab[nstr].length) >= len +- && (strcmp (msgid, +- domain->data + W (domain->must_swap, +- domain->orig_tab[nstr].offset)) +- == 0) +- : domain->orig_sysdep_tab[nstr - nstrings].length > len +- && (strcmp (msgid, +- domain->orig_sysdep_tab[nstr - nstrings].pointer) +- == 0)) +- { +- act = nstr; +- goto found; +- } +- +- if (idx >= domain->hash_size - incr) +- idx -= domain->hash_size - incr; +- else +- idx += incr; +- } +- /* NOTREACHED */ +- } +- else +- { +- /* Try the default method: binary search in the sorted array of +- messages. */ +- size_t top, bottom; +- +- bottom = 0; +- top = nstrings; +- while (bottom < top) +- { +- int cmp_val; +- +- act = (bottom + top) / 2; +- cmp_val = strcmp (msgid, (domain->data +- + W (domain->must_swap, +- domain->orig_tab[act].offset))); +- if (cmp_val < 0) +- top = act; +- else if (cmp_val > 0) +- bottom = act + 1; +- else +- goto found; +- } +- /* No translation was found. */ +- return NULL; +- } +- +- found: +- /* The translation was found at index ACT. If we have to convert the +- string to use a different character set, this is the time. */ +- if (act < nstrings) +- { +- result = (char *) +- (domain->data + W (domain->must_swap, domain->trans_tab[act].offset)); +- resultlen = W (domain->must_swap, domain->trans_tab[act].length) + 1; +- } +- else +- { +- result = (char *) domain->trans_sysdep_tab[act - nstrings].pointer; +- resultlen = domain->trans_sysdep_tab[act - nstrings].length; +- } +- +-#if defined _LIBC || HAVE_ICONV +-# ifdef IN_LIBGLOCALE +- if (encoding != NULL) +-# else +- if (convert) +-# endif +- { +- /* We are supposed to do a conversion. */ +-# ifndef IN_LIBGLOCALE +- const char *encoding = get_output_charset (domainbinding); +-# endif +- size_t nconversions; +- struct converted_domain *convd; +- size_t i; +- +- /* Protect against reallocation of the table. */ +- gl_rwlock_rdlock (domain->conversions_lock); +- +- /* Search whether a table with converted translations for this +- encoding has already been allocated. */ +- nconversions = domain->nconversions; +- convd = NULL; +- +- for (i = nconversions; i > 0; ) +- { +- i--; +- if (strcmp (domain->conversions[i].encoding, encoding) == 0) +- { +- convd = &domain->conversions[i]; +- break; +- } +- } +- +- gl_rwlock_unlock (domain->conversions_lock); +- +- if (convd == NULL) +- { +- /* We have to allocate a new conversions table. */ +- gl_rwlock_wrlock (domain->conversions_lock); +- +- /* Maybe in the meantime somebody added the translation. +- Recheck. */ +- for (i = nconversions; i > 0; ) +- { +- i--; +- if (strcmp (domain->conversions[i].encoding, encoding) == 0) +- { +- convd = &domain->conversions[i]; +- goto found_convd; +- } +- } +- +- { +- /* Allocate a table for the converted translations for this +- encoding. */ +- struct converted_domain *new_conversions = +- (struct converted_domain *) +- (domain->conversions != NULL +- ? realloc (domain->conversions, +- (nconversions + 1) * sizeof (struct converted_domain)) +- : malloc ((nconversions + 1) * sizeof (struct converted_domain))); +- +- if (__builtin_expect (new_conversions == NULL, 0)) +- { +- /* Nothing we can do, no more memory. We cannot use the +- translation because it might be encoded incorrectly. */ +- unlock_fail: +- gl_rwlock_unlock (domain->conversions_lock); +- return (char *) -1; +- } +- +- domain->conversions = new_conversions; +- +- /* Copy the 'encoding' string to permanent storage. */ +- encoding = strdup (encoding); +- if (__builtin_expect (encoding == NULL, 0)) +- /* Nothing we can do, no more memory. We cannot use the +- translation because it might be encoded incorrectly. */ +- goto unlock_fail; +- +- convd = &new_conversions[nconversions]; +- convd->encoding = encoding; +- +- /* Find out about the character set the file is encoded with. +- This can be found (in textual form) in the entry "". If this +- entry does not exist or if this does not contain the 'charset=' +- information, we will assume the charset matches the one the +- current locale and we don't have to perform any conversion. */ +-# ifdef _LIBC +- convd->conv = (__gconv_t) -1; +-# else +-# if HAVE_ICONV +- convd->conv = (iconv_t) -1; +-# endif +-# endif +- { +- char *nullentry; +- size_t nullentrylen; +- +- /* Get the header entry. This is a recursion, but it doesn't +- reallocate domain->conversions because we pass +- encoding = NULL or convert = 0, respectively. */ +- nullentry = +-# ifdef IN_LIBGLOCALE +- _nl_find_msg (domain_file, domainbinding, NULL, "", +- &nullentrylen); +-# else +- _nl_find_msg (domain_file, domainbinding, "", 0, &nullentrylen); +-# endif +- +- if (nullentry != NULL) +- { +- const char *charsetstr; +- +- charsetstr = strstr (nullentry, "charset="); +- if (charsetstr != NULL) +- { +- size_t len; +- char *charset; +- const char *outcharset; +- +- charsetstr += strlen ("charset="); +- len = strcspn (charsetstr, " \t\n"); +- +- charset = (char *) alloca (len + 1); +-# if defined _LIBC || HAVE_MEMPCPY +- *((char *) mempcpy (charset, charsetstr, len)) = '\0'; +-# else +- memcpy (charset, charsetstr, len); +- charset[len] = '\0'; +-# endif +- +- outcharset = encoding; +- +-# ifdef _LIBC +- /* We always want to use transliteration. */ +- outcharset = norm_add_slashes (outcharset, "TRANSLIT"); +- charset = norm_add_slashes (charset, ""); +- int r = __gconv_open (outcharset, charset, &convd->conv, +- GCONV_AVOID_NOCONV); +- if (__builtin_expect (r != __GCONV_OK, 0)) +- { +- /* If the output encoding is the same there is +- nothing to do. Otherwise do not use the +- translation at all. */ +- if (__builtin_expect (r != __GCONV_NULCONV, 1)) +- { +- gl_rwlock_unlock (domain->conversions_lock); +- free ((char *) encoding); +- return NULL; +- } +- +- convd->conv = (__gconv_t) -1; +- } +-# else +-# if HAVE_ICONV +- /* When using GNU libc >= 2.2 or GNU libiconv >= 1.5, +- we want to use transliteration. */ +-# if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 2) || __GLIBC__ > 2 \ +- || _LIBICONV_VERSION >= 0x0105 +- if (strchr (outcharset, '/') == NULL) +- { +- char *tmp; +- +- len = strlen (outcharset); +- tmp = (char *) alloca (len + 10 + 1); +- memcpy (tmp, outcharset, len); +- memcpy (tmp + len, "//TRANSLIT", 10 + 1); +- outcharset = tmp; +- +- convd->conv = iconv_open (outcharset, charset); +- +- freea (outcharset); +- } +- else +-# endif +- convd->conv = iconv_open (outcharset, charset); +-# endif +-# endif +- +- freea (charset); +- } +- } +- } +- convd->conv_tab = NULL; +- /* Here domain->conversions is still == new_conversions. */ +- domain->nconversions++; +- } +- +- found_convd: +- gl_rwlock_unlock (domain->conversions_lock); +- } +- +- if ( +-# ifdef _LIBC +- convd->conv != (__gconv_t) -1 +-# else +-# if HAVE_ICONV +- convd->conv != (iconv_t) -1 +-# endif +-# endif +- ) +- { +- /* We are supposed to do a conversion. First allocate an +- appropriate table with the same structure as the table +- of translations in the file, where we can put the pointers +- to the converted strings in. +- There is a slight complication with plural entries. They +- are represented by consecutive NUL terminated strings. We +- handle this case by converting RESULTLEN bytes, including +- NULs. */ +- +- if (convd->conv_tab == NULL +- && ((convd->conv_tab = +- (char **) calloc (nstrings + domain->n_sysdep_strings, +- sizeof (char *))) +- == NULL)) +- /* Mark that we didn't succeed allocating a table. */ +- convd->conv_tab = (char **) -1; +- +- if (__builtin_expect (convd->conv_tab == (char **) -1, 0)) +- /* Nothing we can do, no more memory. We cannot use the +- translation because it might be encoded incorrectly. */ +- return (char *) -1; +- +- if (convd->conv_tab[act] == NULL) +- { +- /* We haven't used this string so far, so it is not +- translated yet. Do this now. */ +- /* We use a bit more efficient memory handling. +- We allocate always larger blocks which get used over +- time. This is faster than many small allocations. */ +- __libc_lock_define_initialized (static, lock) +-# define INITIAL_BLOCK_SIZE 4080 +- static unsigned char *freemem; +- static size_t freemem_size; +- +- const unsigned char *inbuf; +- unsigned char *outbuf; +- int malloc_count; +-# ifndef _LIBC +- transmem_block_t *transmem_list = NULL; +-# endif +- +- __libc_lock_lock (lock); +- +- inbuf = (const unsigned char *) result; +- outbuf = freemem + sizeof (size_t); +- +- malloc_count = 0; +- while (1) +- { +- transmem_block_t *newmem; +-# ifdef _LIBC +- size_t non_reversible; +- int res; +- +- if (freemem_size < sizeof (size_t)) +- goto resize_freemem; +- +- res = __gconv (convd->conv, +- &inbuf, inbuf + resultlen, +- &outbuf, +- outbuf + freemem_size - sizeof (size_t), +- &non_reversible); +- +- if (res == __GCONV_OK || res == __GCONV_EMPTY_INPUT) +- break; +- +- if (res != __GCONV_FULL_OUTPUT) +- { +- /* We should not use the translation at all, it +- is incorrectly encoded. */ +- __libc_lock_unlock (lock); +- return NULL; +- } +- +- inbuf = (const unsigned char *) result; +-# else +-# if HAVE_ICONV +- const char *inptr = (const char *) inbuf; +- size_t inleft = resultlen; +- char *outptr = (char *) outbuf; +- size_t outleft; +- +- if (freemem_size < sizeof (size_t)) +- goto resize_freemem; +- +- outleft = freemem_size - sizeof (size_t); +- if (iconv (convd->conv, +- (ICONV_CONST char **) &inptr, &inleft, +- &outptr, &outleft) +- != (size_t) (-1)) +- { +- outbuf = (unsigned char *) outptr; +- break; +- } +- if (errno != E2BIG) +- { +- __libc_lock_unlock (lock); +- return NULL; +- } +-# endif +-# endif +- +- resize_freemem: +- /* We must allocate a new buffer or resize the old one. */ +- if (malloc_count > 0) +- { +- ++malloc_count; +- freemem_size = malloc_count * INITIAL_BLOCK_SIZE; +- newmem = (transmem_block_t *) realloc (transmem_list, +- freemem_size); +-# ifdef _LIBC +- if (newmem != NULL) +- transmem_list = transmem_list->next; +- else +- { +- struct transmem_list *old = transmem_list; +- +- transmem_list = transmem_list->next; +- free (old); +- } +-# endif +- } +- else +- { +- malloc_count = 1; +- freemem_size = INITIAL_BLOCK_SIZE; +- newmem = (transmem_block_t *) malloc (freemem_size); +- } +- if (__builtin_expect (newmem == NULL, 0)) +- { +- freemem = NULL; +- freemem_size = 0; +- __libc_lock_unlock (lock); +- return (char *) -1; +- } +- +-# ifdef _LIBC +- /* Add the block to the list of blocks we have to free +- at some point. */ +- newmem->next = transmem_list; +- transmem_list = newmem; +- +- freemem = (unsigned char *) newmem->data; +- freemem_size -= offsetof (struct transmem_list, data); +-# else +- transmem_list = newmem; +- freemem = newmem; +-# endif +- +- outbuf = freemem + sizeof (size_t); +- } +- +- /* We have now in our buffer a converted string. Put this +- into the table of conversions. */ +- *(size_t *) freemem = outbuf - freemem - sizeof (size_t); +- convd->conv_tab[act] = (char *) freemem; +- /* Shrink freemem, but keep it aligned. */ +- freemem_size -= outbuf - freemem; +- freemem = outbuf; +- freemem += freemem_size & (alignof (size_t) - 1); +- freemem_size = freemem_size & ~ (alignof (size_t) - 1); +- +- __libc_lock_unlock (lock); +- } +- +- /* Now convd->conv_tab[act] contains the translation of all +- the plural variants. */ +- result = convd->conv_tab[act] + sizeof (size_t); +- resultlen = *(size_t *) convd->conv_tab[act]; +- } +- } +- +- /* The result string is converted. */ +- +-#endif /* _LIBC || HAVE_ICONV */ +- +- *lengthp = resultlen; +- return result; +-} +- +- +-/* Look up a plural variant. */ +-static char * +-internal_function +-plural_lookup (struct loaded_l10nfile *domain, unsigned long int n, +- const char *translation, size_t translation_len) +-{ +- struct loaded_domain *domaindata = (struct loaded_domain *) domain->data; +- unsigned long int index; +- const char *p; +- +- index = plural_eval (domaindata->plural, n); +- if (index >= domaindata->nplurals) +- /* This should never happen. It means the plural expression and the +- given maximum value do not match. */ +- index = 0; +- +- /* Skip INDEX strings at TRANSLATION. */ +- p = translation; +- while (index-- > 0) +- { +-#ifdef _LIBC +- p = __rawmemchr (p, '\0'); +-#else +- p = strchr (p, '\0'); +-#endif +- /* And skip over the NUL byte. */ +- p++; +- +- if (p >= translation + translation_len) +- /* This should never happen. It means the plural expression +- evaluated to a value larger than the number of variants +- available for MSGID1. */ +- return (char *) translation; +- } +- return (char *) p; +-} +- +-#ifndef _LIBC +-/* Return string representation of locale CATEGORY. */ +-static const char * +-internal_function +-category_to_name (int category) +-{ +- const char *retval; +- +- switch (category) +- { +-#ifdef LC_COLLATE +- case LC_COLLATE: +- retval = "LC_COLLATE"; +- break; +-#endif +-#ifdef LC_CTYPE +- case LC_CTYPE: +- retval = "LC_CTYPE"; +- break; +-#endif +-#ifdef LC_MONETARY +- case LC_MONETARY: +- retval = "LC_MONETARY"; +- break; +-#endif +-#ifdef LC_NUMERIC +- case LC_NUMERIC: +- retval = "LC_NUMERIC"; +- break; +-#endif +-#ifdef LC_TIME +- case LC_TIME: +- retval = "LC_TIME"; +- break; +-#endif +-#ifdef LC_MESSAGES +- case LC_MESSAGES: +- retval = "LC_MESSAGES"; +- break; +-#endif +-#ifdef LC_RESPONSE +- case LC_RESPONSE: +- retval = "LC_RESPONSE"; +- break; +-#endif +-#ifdef LC_ALL +- case LC_ALL: +- /* This might not make sense but is perhaps better than any other +- value. */ +- retval = "LC_ALL"; +- break; +-#endif +- default: +- /* If you have a better idea for a default value let me know. */ +- retval = "LC_XXX"; +- } +- +- return retval; +-} +-#endif +- +-/* Guess value of current locale from value of the environment variables +- or system-dependent defaults. */ +-static const char * +-internal_function +-#ifdef IN_LIBGLOCALE +-guess_category_value (int category, const char *categoryname, +- const char *locale) +- +-#else +-guess_category_value (int category, const char *categoryname) +-#endif +-{ +- const char *language; +-#ifndef IN_LIBGLOCALE +- const char *locale; +-# ifndef _LIBC +- const char *language_default; +- int locale_defaulted; +-# endif +-#endif +- +- /* We use the settings in the following order: +- 1. The value of the environment variable 'LANGUAGE'. This is a GNU +- extension. Its value can be a colon-separated list of locale names. +- 2. The value of the environment variable 'LC_ALL', 'LC_xxx', or 'LANG'. +- More precisely, the first among these that is set to a non-empty value. +- This is how POSIX specifies it. The value is a single locale name. +- 3. A system-dependent preference list of languages. Its value can be a +- colon-separated list of locale names. +- 4. A system-dependent default locale name. +- This way: +- - System-dependent settings can be overridden by environment variables. +- - If the system provides both a list of languages and a default locale, +- the former is used. */ +- +-#ifndef IN_LIBGLOCALE +- /* Fetch the locale name, through the POSIX method of looking to `LC_ALL', +- `LC_xxx', and `LANG'. On some systems this can be done by the +- `setlocale' function itself. */ +-# ifdef _LIBC +- locale = __current_locale_name (category); +-# else +-# if HAVE_STRUCT___LOCALE_STRUCT___NAMES && defined USE_IN_GETTEXT_TESTS +- /* The __names field is not public glibc API and must therefore not be used +- in code that is installed in public locations. */ +- locale_t thread_locale = uselocale (NULL); +- if (thread_locale != LC_GLOBAL_LOCALE) +- { +- locale = thread_locale->__names[category]; +- locale_defaulted = 0; +- } +- else +-# endif +- { +- locale = _nl_locale_name_posix (category, categoryname); +- locale_defaulted = 0; +- if (locale == NULL) +- { +- locale = _nl_locale_name_default (); +- locale_defaulted = 1; +- } +- } +-# endif +-#endif +- +- /* Ignore LANGUAGE and its system-dependent analogon if the locale is set +- to "C" because +- 1. "C" locale usually uses the ASCII encoding, and most international +- messages use non-ASCII characters. These characters get displayed +- as question marks (if using glibc's iconv()) or as invalid 8-bit +- characters (because other iconv()s refuse to convert most non-ASCII +- characters to ASCII). In any case, the output is ugly. +- 2. The precise output of some programs in the "C" locale is specified +- by POSIX and should not depend on environment variables like +- "LANGUAGE" or system-dependent information. We allow such programs +- to use gettext(). */ +- if (strcmp (locale, "C") == 0) +- return locale; +- +- /* The highest priority value is the value of the 'LANGUAGE' environment +- variable. */ +- language = getenv ("LANGUAGE"); +- if (language != NULL && language[0] != '\0') +- return language; +-#if !defined IN_LIBGLOCALE && !defined _LIBC +- /* The next priority value is the locale name, if not defaulted. */ +- if (locale_defaulted) +- { +- /* The next priority value is the default language preferences list. */ +- language_default = _nl_language_preferences_default (); +- if (language_default != NULL) +- return language_default; +- } +- /* The least priority value is the locale name, if defaulted. */ +-#endif +- return locale; +-} +- +-#if (defined _LIBC || HAVE_ICONV) && !defined IN_LIBGLOCALE +-/* Returns the output charset. */ +-static const char * +-internal_function +-get_output_charset (struct binding *domainbinding) +-{ +- /* The output charset should normally be determined by the locale. But +- sometimes the locale is not used or not correctly set up, so we provide +- a possibility for the user to override this: the OUTPUT_CHARSET +- environment variable. Moreover, the value specified through +- bind_textdomain_codeset overrides both. */ +- if (domainbinding != NULL && domainbinding->codeset != NULL) +- return domainbinding->codeset; +- else +- { +- /* For speed reasons, we look at the value of OUTPUT_CHARSET only +- once. This is a user variable that is not supposed to change +- during a program run. */ +- static char *output_charset_cache; +- static int output_charset_cached; +- +- if (!output_charset_cached) +- { +- const char *value = getenv ("OUTPUT_CHARSET"); +- +- if (value != NULL && value[0] != '\0') +- { +- size_t len = strlen (value) + 1; +- char *value_copy = (char *) malloc (len); +- +- if (value_copy != NULL) +- memcpy (value_copy, value, len); +- output_charset_cache = value_copy; +- } +- output_charset_cached = 1; +- } +- +- if (output_charset_cache != NULL) +- return output_charset_cache; +- else +- { +-# ifdef _LIBC +- return _NL_CURRENT (LC_CTYPE, CODESET); +-# else +-# if HAVE_ICONV +- return locale_charset (); +-# endif +-# endif +- } +- } +-} +-#endif +- +-/* @@ begin of epilog @@ */ +- +-/* We don't want libintl.a to depend on any other library. So we +- avoid the non-standard function stpcpy. In GNU C Library this +- function is available, though. Also allow the symbol HAVE_STPCPY +- to be defined. */ +-#if !_LIBC && !HAVE_STPCPY +-static char * +-stpcpy (char *dest, const char *src) +-{ +- while ((*dest++ = *src++) != '\0') +- /* Do nothing. */ ; +- return dest - 1; +-} +-#endif +- +-#if !_LIBC && !HAVE_MEMPCPY +-static void * +-mempcpy (void *dest, const void *src, size_t n) +-{ +- return (void *) ((char *) memcpy (dest, src, n) + n); +-} +-#endif +- +-#if !_LIBC && !HAVE_TSEARCH +-# include "tsearch.c" +-#endif +- +- +-#ifdef _LIBC +-/* If we want to free all resources we have to do some work at +- program's end. */ +-libc_freeres_fn (free_mem) +-{ +- void *old; +- +- while (_nl_domain_bindings != NULL) +- { +- struct binding *oldp = _nl_domain_bindings; +- _nl_domain_bindings = _nl_domain_bindings->next; +- if (oldp->dirname != _nl_default_dirname) +- /* Yes, this is a pointer comparison. */ +- free (oldp->dirname); +- free (oldp->codeset); +- free (oldp); +- } +- +- if (_nl_current_default_domain != _nl_default_default_domain) +- /* Yes, again a pointer comparison. */ +- free ((char *) _nl_current_default_domain); +- +- /* Remove the search tree with the known translations. */ +- __tdestroy (root, free); +- root = NULL; +- +- while (transmem_list != NULL) +- { +- old = transmem_list; +- transmem_list = transmem_list->next; +- free (old); +- } +-} +-#endif +--- a/intl/dcngettext.c ++++ /dev/null +@@ -1,57 +0,0 @@ +-/* Implementation of the dcngettext(3) function. +- Copyright (C) 1995-1999, 2000-2003 Free Software Foundation, Inc. +- +- This program is free software; you can redistribute it and/or modify it +- under the terms of the GNU Library General Public License as published +- by the Free Software Foundation; either version 2, or (at your option) +- any later version. +- +- This program is distributed in the hope that it will be useful, +- but WITHOUT ANY WARRANTY; without even the implied warranty of +- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +- Library General Public License for more details. +- +- You should have received a copy of the GNU Library General Public +- License along with this program; if not, write to the Free Software +- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, +- USA. */ +- +-#ifdef HAVE_CONFIG_H +-# include +-#endif +- +-#include "gettextP.h" +-#ifdef _LIBC +-# include +-#else +-# include "libgnuintl.h" +-#endif +- +-/* @@ end of prolog @@ */ +- +-/* Names for the libintl functions are a problem. They must not clash +- with existing names and they should follow ANSI C. But this source +- code is also used in GNU C Library where the names have a __ +- prefix. So we have to make a difference here. */ +-#ifdef _LIBC +-# define DCNGETTEXT __dcngettext +-# define DCIGETTEXT __dcigettext +-#else +-# define DCNGETTEXT libintl_dcngettext +-# define DCIGETTEXT libintl_dcigettext +-#endif +- +-/* Look up MSGID in the DOMAINNAME message catalog for the current CATEGORY +- locale. */ +-char * +-DCNGETTEXT (const char *domainname, +- const char *msgid1, const char *msgid2, unsigned long int n, +- int category) +-{ +- return DCIGETTEXT (domainname, msgid1, msgid2, 1, n, category); +-} +- +-#ifdef _LIBC +-/* Alias for function name in GNU C Library. */ +-weak_alias (__dcngettext, dcngettext); +-#endif +--- a/intl/dgettext.c ++++ /dev/null +@@ -1,58 +0,0 @@ +-/* Implementation of the dgettext(3) function. +- Copyright (C) 1995-1997, 2000-2003 Free Software Foundation, Inc. +- +- This program is free software; you can redistribute it and/or modify it +- under the terms of the GNU Library General Public License as published +- by the Free Software Foundation; either version 2, or (at your option) +- any later version. +- +- This program is distributed in the hope that it will be useful, +- but WITHOUT ANY WARRANTY; without even the implied warranty of +- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +- Library General Public License for more details. +- +- You should have received a copy of the GNU Library General Public +- License along with this program; if not, write to the Free Software +- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, +- USA. */ +- +-#ifdef HAVE_CONFIG_H +-# include +-#endif +- +-#include "gettextP.h" +- +-#include +- +-#ifdef _LIBC +-# include +-#else +-# include "libgnuintl.h" +-#endif +- +-/* @@ end of prolog @@ */ +- +-/* Names for the libintl functions are a problem. They must not clash +- with existing names and they should follow ANSI C. But this source +- code is also used in GNU C Library where the names have a __ +- prefix. So we have to make a difference here. */ +-#ifdef _LIBC +-# define DGETTEXT __dgettext +-# define DCGETTEXT INTUSE(__dcgettext) +-#else +-# define DGETTEXT libintl_dgettext +-# define DCGETTEXT libintl_dcgettext +-#endif +- +-/* Look up MSGID in the DOMAINNAME message catalog of the current +- LC_MESSAGES locale. */ +-char * +-DGETTEXT (const char *domainname, const char *msgid) +-{ +- return DCGETTEXT (domainname, msgid, LC_MESSAGES); +-} +- +-#ifdef _LIBC +-/* Alias for function name in GNU C Library. */ +-weak_alias (__dgettext, dgettext); +-#endif +--- a/intl/dngettext.c ++++ /dev/null +@@ -1,59 +0,0 @@ +-/* Implementation of the dngettext(3) function. +- Copyright (C) 1995-1997, 2000-2003 Free Software Foundation, Inc. +- +- This program is free software; you can redistribute it and/or modify it +- under the terms of the GNU Library General Public License as published +- by the Free Software Foundation; either version 2, or (at your option) +- any later version. +- +- This program is distributed in the hope that it will be useful, +- but WITHOUT ANY WARRANTY; without even the implied warranty of +- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +- Library General Public License for more details. +- +- You should have received a copy of the GNU Library General Public +- License along with this program; if not, write to the Free Software +- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, +- USA. */ +- +-#ifdef HAVE_CONFIG_H +-# include +-#endif +- +-#include "gettextP.h" +- +-#include +- +-#ifdef _LIBC +-# include +-#else +-# include "libgnuintl.h" +-#endif +- +-/* @@ end of prolog @@ */ +- +-/* Names for the libintl functions are a problem. They must not clash +- with existing names and they should follow ANSI C. But this source +- code is also used in GNU C Library where the names have a __ +- prefix. So we have to make a difference here. */ +-#ifdef _LIBC +-# define DNGETTEXT __dngettext +-# define DCNGETTEXT __dcngettext +-#else +-# define DNGETTEXT libintl_dngettext +-# define DCNGETTEXT libintl_dcngettext +-#endif +- +-/* Look up MSGID in the DOMAINNAME message catalog of the current +- LC_MESSAGES locale and skip message according to the plural form. */ +-char * +-DNGETTEXT (const char *domainname, +- const char *msgid1, const char *msgid2, unsigned long int n) +-{ +- return DCNGETTEXT (domainname, msgid1, msgid2, n, LC_MESSAGES); +-} +- +-#ifdef _LIBC +-/* Alias for function name in GNU C Library. */ +-weak_alias (__dngettext, dngettext); +-#endif +--- a/intl/eval-plural.h ++++ /dev/null +@@ -1,108 +0,0 @@ +-/* Plural expression evaluation. +- Copyright (C) 2000-2003, 2007 Free Software Foundation, Inc. +- +- This program is free software; you can redistribute it and/or modify it +- under the terms of the GNU Library General Public License as published +- by the Free Software Foundation; either version 2, or (at your option) +- any later version. +- +- This program is distributed in the hope that it will be useful, +- but WITHOUT ANY WARRANTY; without even the implied warranty of +- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +- Library General Public License for more details. +- +- You should have received a copy of the GNU Library General Public +- License along with this program; if not, write to the Free Software +- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, +- USA. */ +- +-#ifndef STATIC +-#define STATIC static +-#endif +- +-/* Evaluate the plural expression and return an index value. */ +-STATIC +-unsigned long int +-internal_function +-plural_eval (const struct expression *pexp, unsigned long int n) +-{ +- switch (pexp->nargs) +- { +- case 0: +- switch (pexp->operation) +- { +- case var: +- return n; +- case num: +- return pexp->val.num; +- default: +- break; +- } +- /* NOTREACHED */ +- break; +- case 1: +- { +- /* pexp->operation must be lnot. */ +- unsigned long int arg = plural_eval (pexp->val.args[0], n); +- return ! arg; +- } +- case 2: +- { +- unsigned long int leftarg = plural_eval (pexp->val.args[0], n); +- if (pexp->operation == lor) +- return leftarg || plural_eval (pexp->val.args[1], n); +- else if (pexp->operation == land) +- return leftarg && plural_eval (pexp->val.args[1], n); +- else +- { +- unsigned long int rightarg = plural_eval (pexp->val.args[1], n); +- +- switch (pexp->operation) +- { +- case mult: +- return leftarg * rightarg; +- case divide: +-#if !INTDIV0_RAISES_SIGFPE +- if (rightarg == 0) +- raise (SIGFPE); +-#endif +- return leftarg / rightarg; +- case module: +-#if !INTDIV0_RAISES_SIGFPE +- if (rightarg == 0) +- raise (SIGFPE); +-#endif +- return leftarg % rightarg; +- case plus: +- return leftarg + rightarg; +- case minus: +- return leftarg - rightarg; +- case less_than: +- return leftarg < rightarg; +- case greater_than: +- return leftarg > rightarg; +- case less_or_equal: +- return leftarg <= rightarg; +- case greater_or_equal: +- return leftarg >= rightarg; +- case equal: +- return leftarg == rightarg; +- case not_equal: +- return leftarg != rightarg; +- default: +- break; +- } +- } +- /* NOTREACHED */ +- break; +- } +- case 3: +- { +- /* pexp->operation must be qmop. */ +- unsigned long int boolarg = plural_eval (pexp->val.args[0], n); +- return plural_eval (pexp->val.args[boolarg ? 1 : 2], n); +- } +- } +- /* NOTREACHED */ +- return 0; +-} +--- a/intl/explodename.c ++++ /dev/null +@@ -1,135 +0,0 @@ +-/* Copyright (C) 1995-1998, 2000-2001, 2003, 2005, 2007 Free Software Foundation, Inc. +- Contributed by Ulrich Drepper , 1995. +- +- This program is free software; you can redistribute it and/or modify it +- under the terms of the GNU Library General Public License as published +- by the Free Software Foundation; either version 2, or (at your option) +- any later version. +- +- This program is distributed in the hope that it will be useful, +- but WITHOUT ANY WARRANTY; without even the implied warranty of +- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +- Library General Public License for more details. +- +- You should have received a copy of the GNU Library General Public +- License along with this program; if not, write to the Free Software +- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, +- USA. */ +- +-#ifdef HAVE_CONFIG_H +-# include +-#endif +- +-#include +-#include +-#include +- +-#include "loadinfo.h" +- +-/* On some strange systems still no definition of NULL is found. Sigh! */ +-#ifndef NULL +-# if defined __STDC__ && __STDC__ +-# define NULL ((void *) 0) +-# else +-# define NULL 0 +-# endif +-#endif +- +-/* @@ end of prolog @@ */ +- +-/* Split a locale name NAME into a leading language part and all the +- rest. Return a pointer to the first character after the language, +- i.e. to the first byte of the rest. */ +-static char *_nl_find_language (const char *name); +- +-static char * +-_nl_find_language (const char *name) +-{ +- while (name[0] != '\0' && name[0] != '_' && name[0] != '@' && name[0] != '.') +- ++name; +- +- return (char *) name; +-} +- +- +-int +-_nl_explode_name (char *name, +- const char **language, const char **modifier, +- const char **territory, const char **codeset, +- const char **normalized_codeset) +-{ +- char *cp; +- int mask; +- +- *modifier = NULL; +- *territory = NULL; +- *codeset = NULL; +- *normalized_codeset = NULL; +- +- /* Now we determine the single parts of the locale name. First +- look for the language. Termination symbols are `_', '.', and `@'. */ +- mask = 0; +- *language = cp = name; +- cp = _nl_find_language (*language); +- +- if (*language == cp) +- /* This does not make sense: language has to be specified. Use +- this entry as it is without exploding. Perhaps it is an alias. */ +- cp = strchr (*language, '\0'); +- else +- { +- if (cp[0] == '_') +- { +- /* Next is the territory. */ +- cp[0] = '\0'; +- *territory = ++cp; +- +- while (cp[0] != '\0' && cp[0] != '.' && cp[0] != '@') +- ++cp; +- +- mask |= XPG_TERRITORY; +- } +- +- if (cp[0] == '.') +- { +- /* Next is the codeset. */ +- cp[0] = '\0'; +- *codeset = ++cp; +- +- while (cp[0] != '\0' && cp[0] != '@') +- ++cp; +- +- mask |= XPG_CODESET; +- +- if (*codeset != cp && (*codeset)[0] != '\0') +- { +- *normalized_codeset = _nl_normalize_codeset (*codeset, +- cp - *codeset); +- if (*normalized_codeset == NULL) +- return -1; +- else if (strcmp (*codeset, *normalized_codeset) == 0) +- free ((char *) *normalized_codeset); +- else +- mask |= XPG_NORM_CODESET; +- } +- } +- } +- +- if (cp[0] == '@') +- { +- /* Next is the modifier. */ +- cp[0] = '\0'; +- *modifier = ++cp; +- +- if (cp[0] != '\0') +- mask |= XPG_MODIFIER; +- } +- +- if (*territory != NULL && (*territory)[0] == '\0') +- mask &= ~XPG_TERRITORY; +- +- if (*codeset != NULL && (*codeset)[0] == '\0') +- mask &= ~XPG_CODESET; +- +- return mask; +-} +--- a/intl/export.h ++++ /dev/null +@@ -1,6 +0,0 @@ +- +-#if @HAVE_VISIBILITY@ && BUILDING_LIBINTL +-#define LIBINTL_DLL_EXPORTED __attribute__((__visibility__("default"))) +-#else +-#define LIBINTL_DLL_EXPORTED +-#endif +--- a/intl/finddomain.c ++++ /dev/null +@@ -1,212 +0,0 @@ +-/* Handle list of needed message catalogs +- Copyright (C) 1995-1999, 2000-2001, 2003-2007 Free Software Foundation, Inc. +- Written by Ulrich Drepper , 1995. +- +- This program is free software; you can redistribute it and/or modify it +- under the terms of the GNU Library General Public License as published +- by the Free Software Foundation; either version 2, or (at your option) +- any later version. +- +- This program is distributed in the hope that it will be useful, +- but WITHOUT ANY WARRANTY; without even the implied warranty of +- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +- Library General Public License for more details. +- +- You should have received a copy of the GNU Library General Public +- License along with this program; if not, write to the Free Software +- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, +- USA. */ +- +-#ifdef HAVE_CONFIG_H +-# include +-#endif +- +-#include +-#include +-#include +-#include +- +-#if defined HAVE_UNISTD_H || defined _LIBC +-# include +-#endif +- +-#include "gettextP.h" +-#ifdef _LIBC +-# include +-#else +-# include "libgnuintl.h" +-#endif +- +-/* Handle multi-threaded applications. */ +-#ifdef _LIBC +-# include +-# define gl_rwlock_define_initialized __libc_rwlock_define_initialized +-# define gl_rwlock_rdlock __libc_rwlock_rdlock +-# define gl_rwlock_wrlock __libc_rwlock_wrlock +-# define gl_rwlock_unlock __libc_rwlock_unlock +-#else +-# include "lock.h" +-#endif +- +-/* @@ end of prolog @@ */ +-/* List of already loaded domains. */ +-static struct loaded_l10nfile *_nl_loaded_domains; +- +- +-/* Return a data structure describing the message catalog described by +- the DOMAINNAME and CATEGORY parameters with respect to the currently +- established bindings. */ +-struct loaded_l10nfile * +-internal_function +-_nl_find_domain (const char *dirname, char *locale, +- const char *domainname, struct binding *domainbinding) +-{ +- struct loaded_l10nfile *retval; +- const char *language; +- const char *modifier; +- const char *territory; +- const char *codeset; +- const char *normalized_codeset; +- const char *alias_value; +- int mask; +- +- /* LOCALE can consist of up to four recognized parts for the XPG syntax: +- +- language[_territory][.codeset][@modifier] +- +- Beside the first part all of them are allowed to be missing. If +- the full specified locale is not found, the less specific one are +- looked for. The various parts will be stripped off according to +- the following order: +- (1) codeset +- (2) normalized codeset +- (3) territory +- (4) modifier +- */ +- +- /* We need to protect modifying the _NL_LOADED_DOMAINS data. */ +- gl_rwlock_define_initialized (static, lock); +- gl_rwlock_rdlock (lock); +- +- /* If we have already tested for this locale entry there has to +- be one data set in the list of loaded domains. */ +- retval = _nl_make_l10nflist (&_nl_loaded_domains, dirname, +- strlen (dirname) + 1, 0, locale, NULL, NULL, +- NULL, NULL, domainname, 0); +- +- gl_rwlock_unlock (lock); +- +- if (retval != NULL) +- { +- /* We know something about this locale. */ +- int cnt; +- +- if (retval->decided <= 0) +- _nl_load_domain (retval, domainbinding); +- +- if (retval->data != NULL) +- return retval; +- +- for (cnt = 0; retval->successor[cnt] != NULL; ++cnt) +- { +- if (retval->successor[cnt]->decided <= 0) +- _nl_load_domain (retval->successor[cnt], domainbinding); +- +- if (retval->successor[cnt]->data != NULL) +- break; +- } +- +- return retval; +- /* NOTREACHED */ +- } +- +- /* See whether the locale value is an alias. If yes its value +- *overwrites* the alias name. No test for the original value is +- done. */ +- alias_value = _nl_expand_alias (locale); +- if (alias_value != NULL) +- { +-#if defined _LIBC || defined HAVE_STRDUP +- locale = strdup (alias_value); +- if (locale == NULL) +- return NULL; +-#else +- size_t len = strlen (alias_value) + 1; +- locale = (char *) malloc (len); +- if (locale == NULL) +- return NULL; +- +- memcpy (locale, alias_value, len); +-#endif +- } +- +- /* Now we determine the single parts of the locale name. First +- look for the language. Termination symbols are `_', '.', and `@'. */ +- mask = _nl_explode_name (locale, &language, &modifier, &territory, +- &codeset, &normalized_codeset); +- if (mask == -1) +- /* This means we are out of core. */ +- return NULL; +- +- /* We need to protect modifying the _NL_LOADED_DOMAINS data. */ +- gl_rwlock_wrlock (lock); +- +- /* Create all possible locale entries which might be interested in +- generalization. */ +- retval = _nl_make_l10nflist (&_nl_loaded_domains, dirname, +- strlen (dirname) + 1, mask, language, territory, +- codeset, normalized_codeset, modifier, +- domainname, 1); +- +- gl_rwlock_unlock (lock); +- +- if (retval == NULL) +- /* This means we are out of core. */ +- goto out; +- +- if (retval->decided <= 0) +- _nl_load_domain (retval, domainbinding); +- if (retval->data == NULL) +- { +- int cnt; +- for (cnt = 0; retval->successor[cnt] != NULL; ++cnt) +- { +- if (retval->successor[cnt]->decided <= 0) +- _nl_load_domain (retval->successor[cnt], domainbinding); +- if (retval->successor[cnt]->data != NULL) +- break; +- } +- } +- +- /* The room for an alias was dynamically allocated. Free it now. */ +- if (alias_value != NULL) +- free (locale); +- +-out: +- /* The space for normalized_codeset is dynamically allocated. Free it. */ +- if (mask & XPG_NORM_CODESET) +- free ((void *) normalized_codeset); +- +- return retval; +-} +- +- +-#ifdef _LIBC +-/* This is called from iconv/gconv_db.c's free_mem, as locales must +- be freed before freeing gconv steps arrays. */ +-void __libc_freeres_fn_section +-_nl_finddomain_subfreeres () +-{ +- struct loaded_l10nfile *runp = _nl_loaded_domains; +- +- while (runp != NULL) +- { +- struct loaded_l10nfile *here = runp; +- if (runp->data != NULL) +- _nl_unload_domain ((struct loaded_domain *) runp->data); +- runp = runp->next; +- free ((char *) here->filename); +- free (here); +- } +-} +-#endif +--- a/intl/gettext.c ++++ /dev/null +@@ -1,63 +0,0 @@ +-/* Implementation of gettext(3) function. +- Copyright (C) 1995, 1997, 2000-2003 Free Software Foundation, Inc. +- +- This program is free software; you can redistribute it and/or modify it +- under the terms of the GNU Library General Public License as published +- by the Free Software Foundation; either version 2, or (at your option) +- any later version. +- +- This program is distributed in the hope that it will be useful, +- but WITHOUT ANY WARRANTY; without even the implied warranty of +- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +- Library General Public License for more details. +- +- You should have received a copy of the GNU Library General Public +- License along with this program; if not, write to the Free Software +- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, +- USA. */ +- +-#ifdef HAVE_CONFIG_H +-# include +-#endif +- +-#ifdef _LIBC +-# define __need_NULL +-# include +-#else +-# include /* Just for NULL. */ +-#endif +- +-#include "gettextP.h" +-#ifdef _LIBC +-# include +-#else +-# include "libgnuintl.h" +-#endif +- +-/* @@ end of prolog @@ */ +- +-/* Names for the libintl functions are a problem. They must not clash +- with existing names and they should follow ANSI C. But this source +- code is also used in GNU C Library where the names have a __ +- prefix. So we have to make a difference here. */ +-#ifdef _LIBC +-# define GETTEXT __gettext +-# define DCGETTEXT INTUSE(__dcgettext) +-#else +-# define GETTEXT libintl_gettext +-# define DCGETTEXT libintl_dcgettext +-#endif +- +-/* Look up MSGID in the current default message catalog for the current +- LC_MESSAGES locale. If not found, returns MSGID itself (the default +- text). */ +-char * +-GETTEXT (const char *msgid) +-{ +- return DCGETTEXT (NULL, msgid, LC_MESSAGES); +-} +- +-#ifdef _LIBC +-/* Alias for function name in GNU C Library. */ +-weak_alias (__gettext, gettext); +-#endif +--- a/intl/gettextP.h ++++ /dev/null +@@ -1,297 +0,0 @@ +-/* Header describing internals of libintl library. +- Copyright (C) 1995-1999, 2000-2007 Free Software Foundation, Inc. +- Written by Ulrich Drepper , 1995. +- +- This program is free software; you can redistribute it and/or modify it +- under the terms of the GNU Library General Public License as published +- by the Free Software Foundation; either version 2, or (at your option) +- any later version. +- +- This program is distributed in the hope that it will be useful, +- but WITHOUT ANY WARRANTY; without even the implied warranty of +- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +- Library General Public License for more details. +- +- You should have received a copy of the GNU Library General Public +- License along with this program; if not, write to the Free Software +- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, +- USA. */ +- +-#ifndef _GETTEXTP_H +-#define _GETTEXTP_H +- +-#include /* Get size_t. */ +- +-#ifdef _LIBC +-# include "../iconv/gconv_int.h" +-#else +-# if HAVE_ICONV +-# include +-# endif +-#endif +- +-/* Handle multi-threaded applications. */ +-#ifdef _LIBC +-# include +-# define gl_rwlock_define __libc_rwlock_define +-#else +-# include "lock.h" +-#endif +- +-#ifdef _LIBC +-extern char *__gettext (const char *__msgid); +-extern char *__dgettext (const char *__domainname, const char *__msgid); +-extern char *__dcgettext (const char *__domainname, const char *__msgid, +- int __category); +-extern char *__ngettext (const char *__msgid1, const char *__msgid2, +- unsigned long int __n); +-extern char *__dngettext (const char *__domainname, +- const char *__msgid1, const char *__msgid2, +- unsigned long int n); +-extern char *__dcngettext (const char *__domainname, +- const char *__msgid1, const char *__msgid2, +- unsigned long int __n, int __category); +-extern char *__dcigettext (const char *__domainname, +- const char *__msgid1, const char *__msgid2, +- int __plural, unsigned long int __n, +- int __category); +-extern char *__textdomain (const char *__domainname); +-extern char *__bindtextdomain (const char *__domainname, +- const char *__dirname); +-extern char *__bind_textdomain_codeset (const char *__domainname, +- const char *__codeset); +-extern void _nl_finddomain_subfreeres (void) attribute_hidden; +-extern void _nl_unload_domain (struct loaded_domain *__domain) +- internal_function attribute_hidden; +-#else +-/* Declare the exported libintl_* functions, in a way that allows us to +- call them under their real name. */ +-# undef _INTL_REDIRECT_INLINE +-# undef _INTL_REDIRECT_MACROS +-# define _INTL_REDIRECT_MACROS +-# include "libgnuintl.h" +-# ifdef IN_LIBGLOCALE +-extern char *gl_dcigettext (const char *__domainname, +- const char *__msgid1, const char *__msgid2, +- int __plural, unsigned long int __n, +- int __category, +- const char *__localename, const char *__encoding); +-# else +-extern char *libintl_dcigettext (const char *__domainname, +- const char *__msgid1, const char *__msgid2, +- int __plural, unsigned long int __n, +- int __category); +-# endif +-#endif +- +-#include "loadinfo.h" +- +-#include "gmo.h" /* Get nls_uint32. */ +- +-/* @@ end of prolog @@ */ +- +-#ifndef internal_function +-# define internal_function +-#endif +- +-#ifndef attribute_hidden +-# define attribute_hidden +-#endif +- +-/* Tell the compiler when a conditional or integer expression is +- almost always true or almost always false. */ +-#ifndef HAVE_BUILTIN_EXPECT +-# define __builtin_expect(expr, val) (expr) +-#endif +- +-#ifndef W +-# define W(flag, data) ((flag) ? SWAP (data) : (data)) +-#endif +- +- +-#ifdef _LIBC +-# include +-# define SWAP(i) bswap_32 (i) +-#else +-static inline nls_uint32 +-# ifdef __cplusplus +-SWAP (nls_uint32 i) +-# else +-SWAP (i) +- nls_uint32 i; +-# endif +-{ +- return (i << 24) | ((i & 0xff00) << 8) | ((i >> 8) & 0xff00) | (i >> 24); +-} +-#endif +- +- +-/* In-memory representation of system dependent string. */ +-struct sysdep_string_desc +-{ +- /* Length of addressed string, including the trailing NUL. */ +- size_t length; +- /* Pointer to addressed string. */ +- const char *pointer; +-}; +- +-/* Cache of translated strings after charset conversion. +- Note: The strings are converted to the target encoding only on an as-needed +- basis. */ +-struct converted_domain +-{ +- /* The target encoding name. */ +- const char *encoding; +- /* The descriptor for conversion from the message catalog's encoding to +- this target encoding. */ +-#ifdef _LIBC +- __gconv_t conv; +-#else +-# if HAVE_ICONV +- iconv_t conv; +-# endif +-#endif +- /* The table of translated strings after charset conversion. */ +- char **conv_tab; +-}; +- +-/* The representation of an opened message catalog. */ +-struct loaded_domain +-{ +- /* Pointer to memory containing the .mo file. */ +- const char *data; +- /* 1 if the memory is mmap()ed, 0 if the memory is malloc()ed. */ +- int use_mmap; +- /* Size of mmap()ed memory. */ +- size_t mmap_size; +- /* 1 if the .mo file uses a different endianness than this machine. */ +- int must_swap; +- /* Pointer to additional malloc()ed memory. */ +- void *malloced; +- +- /* Number of static strings pairs. */ +- nls_uint32 nstrings; +- /* Pointer to descriptors of original strings in the file. */ +- const struct string_desc *orig_tab; +- /* Pointer to descriptors of translated strings in the file. */ +- const struct string_desc *trans_tab; +- +- /* Number of system dependent strings pairs. */ +- nls_uint32 n_sysdep_strings; +- /* Pointer to descriptors of original sysdep strings. */ +- const struct sysdep_string_desc *orig_sysdep_tab; +- /* Pointer to descriptors of translated sysdep strings. */ +- const struct sysdep_string_desc *trans_sysdep_tab; +- +- /* Size of hash table. */ +- nls_uint32 hash_size; +- /* Pointer to hash table. */ +- const nls_uint32 *hash_tab; +- /* 1 if the hash table uses a different endianness than this machine. */ +- int must_swap_hash_tab; +- +- /* Cache of charset conversions of the translated strings. */ +- struct converted_domain *conversions; +- size_t nconversions; +- gl_rwlock_define (, conversions_lock) +- +- const struct expression *plural; +- unsigned long int nplurals; +-}; +- +-/* We want to allocate a string at the end of the struct. But ISO C +- doesn't allow zero sized arrays. */ +-#ifdef __GNUC__ +-# define ZERO 0 +-#else +-# define ZERO 1 +-#endif +- +-/* A set of settings bound to a message domain. Used to store settings +- from bindtextdomain() and bind_textdomain_codeset(). */ +-struct binding +-{ +- struct binding *next; +- char *dirname; +- char *codeset; +- char domainname[ZERO]; +-}; +- +-/* A counter which is incremented each time some previous translations +- become invalid. +- This variable is part of the external ABI of the GNU libintl. */ +-#ifdef IN_LIBGLOCALE +-# include +-extern LIBGLOCALE_DLL_EXPORTED int _nl_msg_cat_cntr; +-#else +-extern LIBINTL_DLL_EXPORTED int _nl_msg_cat_cntr; +-#endif +- +-#ifndef _LIBC +-extern const char *_nl_language_preferences_default (void); +-# define gl_locale_name_canonicalize _nl_locale_name_canonicalize +-extern void _nl_locale_name_canonicalize (char *name); +-# define gl_locale_name_posix _nl_locale_name_posix +-extern const char *_nl_locale_name_posix (int category, +- const char *categoryname); +-# define gl_locale_name_default _nl_locale_name_default +-extern const char *_nl_locale_name_default (void); +-# define gl_locale_name _nl_locale_name +-extern const char *_nl_locale_name (int category, const char *categoryname); +-#endif +- +-struct loaded_l10nfile *_nl_find_domain (const char *__dirname, char *__locale, +- const char *__domainname, +- struct binding *__domainbinding) +- internal_function; +-void _nl_load_domain (struct loaded_l10nfile *__domain, +- struct binding *__domainbinding) +- internal_function; +- +-#ifdef IN_LIBGLOCALE +-char *_nl_find_msg (struct loaded_l10nfile *domain_file, +- struct binding *domainbinding, const char *encoding, +- const char *msgid, +- size_t *lengthp) +- internal_function; +-#else +-char *_nl_find_msg (struct loaded_l10nfile *domain_file, +- struct binding *domainbinding, const char *msgid, +- int convert, size_t *lengthp) +- internal_function; +-#endif +- +-/* The internal variables in the standalone libintl.a must have different +- names than the internal variables in GNU libc, otherwise programs +- using libintl.a cannot be linked statically. */ +-#if !defined _LIBC +-# define _nl_default_dirname libintl_nl_default_dirname +-# define _nl_domain_bindings libintl_nl_domain_bindings +-#endif +- +-/* Contains the default location of the message catalogs. */ +-extern const char _nl_default_dirname[]; +-#ifdef _LIBC +-libc_hidden_proto (_nl_default_dirname) +-#endif +- +-/* List with bindings of specific domains. */ +-extern struct binding *_nl_domain_bindings; +- +-/* The internal variables in the standalone libintl.a must have different +- names than the internal variables in GNU libc, otherwise programs +- using libintl.a cannot be linked statically. */ +-#if !defined _LIBC +-# define _nl_default_default_domain libintl_nl_default_default_domain +-# define _nl_current_default_domain libintl_nl_current_default_domain +-#endif +- +-/* Name of the default text domain. */ +-extern const char _nl_default_default_domain[] attribute_hidden; +- +-/* Default text domain in which entries for gettext(3) are to be found. */ +-extern const char *_nl_current_default_domain attribute_hidden; +- +-/* @@ begin of epilog @@ */ +- +-#endif /* gettextP.h */ +--- a/intl/gmo.h ++++ /dev/null +@@ -1,152 +0,0 @@ +-/* Description of GNU message catalog format: general file layout. +- Copyright (C) 1995, 1997, 2000-2002, 2004, 2006 Free Software Foundation, Inc. +- +- This program is free software; you can redistribute it and/or modify it +- under the terms of the GNU Library General Public License as published +- by the Free Software Foundation; either version 2, or (at your option) +- any later version. +- +- This program is distributed in the hope that it will be useful, +- but WITHOUT ANY WARRANTY; without even the implied warranty of +- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +- Library General Public License for more details. +- +- You should have received a copy of the GNU Library General Public +- License along with this program; if not, write to the Free Software +- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, +- USA. */ +- +-#ifndef _GETTEXT_H +-#define _GETTEXT_H 1 +- +-#include +- +-/* @@ end of prolog @@ */ +- +-/* The magic number of the GNU message catalog format. */ +-#define _MAGIC 0x950412de +-#define _MAGIC_SWAPPED 0xde120495 +- +-/* Revision number of the currently used .mo (binary) file format. */ +-#define MO_REVISION_NUMBER 0 +-#define MO_REVISION_NUMBER_WITH_SYSDEP_I 1 +- +-/* The following contortions are an attempt to use the C preprocessor +- to determine an unsigned integral type that is 32 bits wide. An +- alternative approach is to use autoconf's AC_CHECK_SIZEOF macro, but +- as of version autoconf-2.13, the AC_CHECK_SIZEOF macro doesn't work +- when cross-compiling. */ +- +-#if __STDC__ +-# define UINT_MAX_32_BITS 4294967295U +-#else +-# define UINT_MAX_32_BITS 0xFFFFFFFF +-#endif +- +-/* If UINT_MAX isn't defined, assume it's a 32-bit type. +- This should be valid for all systems GNU cares about because +- that doesn't include 16-bit systems, and only modern systems +- (that certainly have ) have 64+-bit integral types. */ +- +-#ifndef UINT_MAX +-# define UINT_MAX UINT_MAX_32_BITS +-#endif +- +-#if UINT_MAX == UINT_MAX_32_BITS +-typedef unsigned nls_uint32; +-#else +-# if USHRT_MAX == UINT_MAX_32_BITS +-typedef unsigned short nls_uint32; +-# else +-# if ULONG_MAX == UINT_MAX_32_BITS +-typedef unsigned long nls_uint32; +-# else +- /* The following line is intended to throw an error. Using #error is +- not portable enough. */ +- "Cannot determine unsigned 32-bit data type." +-# endif +-# endif +-#endif +- +- +-/* Header for binary .mo file format. */ +-struct mo_file_header +-{ +- /* The magic number. */ +- nls_uint32 magic; +- /* The revision number of the file format. */ +- nls_uint32 revision; +- +- /* The following are only used in .mo files with major revision 0 or 1. */ +- +- /* The number of strings pairs. */ +- nls_uint32 nstrings; +- /* Offset of table with start offsets of original strings. */ +- nls_uint32 orig_tab_offset; +- /* Offset of table with start offsets of translated strings. */ +- nls_uint32 trans_tab_offset; +- /* Size of hash table. */ +- nls_uint32 hash_tab_size; +- /* Offset of first hash table entry. */ +- nls_uint32 hash_tab_offset; +- +- /* The following are only used in .mo files with minor revision >= 1. */ +- +- /* The number of system dependent segments. */ +- nls_uint32 n_sysdep_segments; +- /* Offset of table describing system dependent segments. */ +- nls_uint32 sysdep_segments_offset; +- /* The number of system dependent strings pairs. */ +- nls_uint32 n_sysdep_strings; +- /* Offset of table with start offsets of original sysdep strings. */ +- nls_uint32 orig_sysdep_tab_offset; +- /* Offset of table with start offsets of translated sysdep strings. */ +- nls_uint32 trans_sysdep_tab_offset; +-}; +- +-/* Descriptor for static string contained in the binary .mo file. */ +-struct string_desc +-{ +- /* Length of addressed string, not including the trailing NUL. */ +- nls_uint32 length; +- /* Offset of string in file. */ +- nls_uint32 offset; +-}; +- +-/* The following are only used in .mo files with minor revision >= 1. */ +- +-/* Descriptor for system dependent string segment. */ +-struct sysdep_segment +-{ +- /* Length of addressed string, including the trailing NUL. */ +- nls_uint32 length; +- /* Offset of string in file. */ +- nls_uint32 offset; +-}; +- +-/* Pair of a static and a system dependent segment, in struct sysdep_string. */ +-struct segment_pair +-{ +- /* Size of static segment. */ +- nls_uint32 segsize; +- /* Reference to system dependent string segment, or ~0 at the end. */ +- nls_uint32 sysdepref; +-}; +- +-/* Descriptor for system dependent string. */ +-struct sysdep_string +-{ +- /* Offset of static string segments in file. */ +- nls_uint32 offset; +- /* Alternating sequence of static and system dependent segments. +- The last segment is a static segment, including the trailing NUL. */ +- struct segment_pair segments[1]; +-}; +- +-/* Marker for the end of the segments[] array. This has the value 0xFFFFFFFF, +- regardless whether 'int' is 16 bit, 32 bit, or 64 bit. */ +-#define SEGMENTS_END ((nls_uint32) ~0) +- +-/* @@ begin of epilog @@ */ +- +-#endif /* gettext.h */ +--- a/intl/hash-string.c ++++ /dev/null +@@ -1,51 +0,0 @@ +-/* Implements a string hashing function. +- Copyright (C) 1995, 1997, 1998, 2000, 2003 Free Software Foundation, Inc. +- This file is part of the GNU C Library. +- +- The GNU C Library is free software; you can redistribute it and/or +- modify it under the terms of the GNU Lesser General Public +- License as published by the Free Software Foundation; either +- version 2.1 of the License, or (at your option) any later version. +- +- The GNU C Library is distributed in the hope that it will be useful, +- but WITHOUT ANY WARRANTY; without even the implied warranty of +- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +- Lesser General Public License for more details. +- +- You should have received a copy of the GNU Lesser General Public +- License along with the GNU C Library; if not, write to the Free +- Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +- Boston, MA 02110-1301, USA. */ +- +-#ifdef HAVE_CONFIG_H +-# include +-#endif +- +-/* Specification. */ +-#include "hash-string.h" +- +- +-/* Defines the so called `hashpjw' function by P.J. Weinberger +- [see Aho/Sethi/Ullman, COMPILERS: Principles, Techniques and Tools, +- 1986, 1987 Bell Telephone Laboratories, Inc.] */ +-unsigned long int +-__hash_string (const char *str_param) +-{ +- unsigned long int hval, g; +- const char *str = str_param; +- +- /* Compute the hash value for the given string. */ +- hval = 0; +- while (*str != '\0') +- { +- hval <<= 4; +- hval += (unsigned char) *str++; +- g = hval & ((unsigned long int) 0xf << (HASHWORDBITS - 4)); +- if (g != 0) +- { +- hval ^= g >> (HASHWORDBITS - 8); +- hval ^= g; +- } +- } +- return hval; +-} +--- a/intl/hash-string.h ++++ /dev/null +@@ -1,36 +0,0 @@ +-/* Description of GNU message catalog format: string hashing function. +- Copyright (C) 1995, 1997-1998, 2000-2003, 2005 Free Software Foundation, Inc. +- +- This program is free software; you can redistribute it and/or modify it +- under the terms of the GNU Library General Public License as published +- by the Free Software Foundation; either version 2, or (at your option) +- any later version. +- +- This program is distributed in the hope that it will be useful, +- but WITHOUT ANY WARRANTY; without even the implied warranty of +- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +- Library General Public License for more details. +- +- You should have received a copy of the GNU Library General Public +- License along with this program; if not, write to the Free Software +- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, +- USA. */ +- +-/* @@ end of prolog @@ */ +- +-/* We assume to have `unsigned long int' value with at least 32 bits. */ +-#define HASHWORDBITS 32 +- +- +-#ifndef _LIBC +-# ifdef IN_LIBINTL +-# define __hash_string libintl_hash_string +-# else +-# define __hash_string hash_string +-# endif +-#endif +- +-/* Defines the so called `hashpjw' function by P.J. Weinberger +- [see Aho/Sethi/Ullman, COMPILERS: Principles, Techniques and Tools, +- 1986, 1987 Bell Telephone Laboratories, Inc.] */ +-extern unsigned long int __hash_string (const char *str_param); +--- a/intl/intl-compat.c ++++ /dev/null +@@ -1,133 +0,0 @@ +-/* intl-compat.c - Stub functions to call gettext functions from GNU gettext +- Library. +- Copyright (C) 1995, 2000-2003, 2005 Software Foundation, Inc. +- +- This program is free software; you can redistribute it and/or modify it +- under the terms of the GNU Library General Public License as published +- by the Free Software Foundation; either version 2, or (at your option) +- any later version. +- +- This program is distributed in the hope that it will be useful, +- but WITHOUT ANY WARRANTY; without even the implied warranty of +- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +- Library General Public License for more details. +- +- You should have received a copy of the GNU Library General Public +- License along with this program; if not, write to the Free Software +- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, +- USA. */ +- +-#ifdef HAVE_CONFIG_H +-# include +-#endif +- +-#include "gettextP.h" +- +-/* @@ end of prolog @@ */ +- +-/* This file redirects the gettext functions (without prefix) to those +- defined in the included GNU libintl library (with "libintl_" prefix). +- It is compiled into libintl in order to make the AM_GNU_GETTEXT test +- of gettext <= 0.11.2 work with the libintl library >= 0.11.3 which +- has the redirections primarily in the include file. +- It is also compiled into libgnuintl so that libgnuintl.so can be used +- as LD_PRELOADable library on glibc systems, to provide the extra +- features that the functions in the libc don't have (namely, logging). */ +- +- +-#undef gettext +-#undef dgettext +-#undef dcgettext +-#undef ngettext +-#undef dngettext +-#undef dcngettext +-#undef textdomain +-#undef bindtextdomain +-#undef bind_textdomain_codeset +- +- +-/* When building a DLL, we must export some functions. Note that because +- the functions are only defined for binary backward compatibility, we +- don't need to use __declspec(dllimport) in any case. */ +-#if HAVE_VISIBILITY && BUILDING_DLL +-# define DLL_EXPORTED __attribute__((__visibility__("default"))) +-#elif defined _MSC_VER && BUILDING_DLL +-# define DLL_EXPORTED __declspec(dllexport) +-#else +-# define DLL_EXPORTED +-#endif +- +- +-DLL_EXPORTED +-char * +-gettext (const char *msgid) +-{ +- return libintl_gettext (msgid); +-} +- +- +-DLL_EXPORTED +-char * +-dgettext (const char *domainname, const char *msgid) +-{ +- return libintl_dgettext (domainname, msgid); +-} +- +- +-DLL_EXPORTED +-char * +-dcgettext (const char *domainname, const char *msgid, int category) +-{ +- return libintl_dcgettext (domainname, msgid, category); +-} +- +- +-DLL_EXPORTED +-char * +-ngettext (const char *msgid1, const char *msgid2, unsigned long int n) +-{ +- return libintl_ngettext (msgid1, msgid2, n); +-} +- +- +-DLL_EXPORTED +-char * +-dngettext (const char *domainname, +- const char *msgid1, const char *msgid2, unsigned long int n) +-{ +- return libintl_dngettext (domainname, msgid1, msgid2, n); +-} +- +- +-DLL_EXPORTED +-char * +-dcngettext (const char *domainname, +- const char *msgid1, const char *msgid2, unsigned long int n, +- int category) +-{ +- return libintl_dcngettext (domainname, msgid1, msgid2, n, category); +-} +- +- +-DLL_EXPORTED +-char * +-textdomain (const char *domainname) +-{ +- return libintl_textdomain (domainname); +-} +- +- +-DLL_EXPORTED +-char * +-bindtextdomain (const char *domainname, const char *dirname) +-{ +- return libintl_bindtextdomain (domainname, dirname); +-} +- +- +-DLL_EXPORTED +-char * +-bind_textdomain_codeset (const char *domainname, const char *codeset) +-{ +- return libintl_bind_textdomain_codeset (domainname, codeset); +-} +--- a/intl/intl-exports.c ++++ /dev/null +@@ -1,36 +0,0 @@ +-/* List of exported symbols of libintl on Cygwin. +- Copyright (C) 2006 Free Software Foundation, Inc. +- Written by Bruno Haible , 2006. +- +- This program is free software; you can redistribute it and/or modify it +- under the terms of the GNU Library General Public License as published +- by the Free Software Foundation; either version 2, or (at your option) +- any later version. +- +- This program is distributed in the hope that it will be useful, +- but WITHOUT ANY WARRANTY; without even the implied warranty of +- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +- Library General Public License for more details. +- +- You should have received a copy of the GNU Library General Public +- License along with this program; if not, write to the Free Software +- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, +- USA. */ +- +- /* IMP(x) is a symbol that contains the address of x. */ +-#define IMP(x) _imp__##x +- +- /* Ensure that the variable x is exported from the library, and that a +- pseudo-variable IMP(x) is available. */ +-#define VARIABLE(x) \ +- /* Export x without redefining x. This code was found by compiling a \ +- snippet: \ +- extern __declspec(dllexport) int x; int x = 42; */ \ +- asm (".section .drectve\n"); \ +- asm (".ascii \" -export:" #x ",data\"\n"); \ +- asm (".data\n"); \ +- /* Allocate a pseudo-variable IMP(x). */ \ +- extern int x; \ +- void * IMP(x) = &x; +- +-VARIABLE(libintl_version) +--- a/intl/l10nflist.c ++++ /dev/null +@@ -1,400 +0,0 @@ +-/* Copyright (C) 1995-1999, 2000-2006 Free Software Foundation, Inc. +- Contributed by Ulrich Drepper , 1995. +- +- This program is free software; you can redistribute it and/or modify it +- under the terms of the GNU Library General Public License as published +- by the Free Software Foundation; either version 2, or (at your option) +- any later version. +- +- This program is distributed in the hope that it will be useful, +- but WITHOUT ANY WARRANTY; without even the implied warranty of +- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +- Library General Public License for more details. +- +- You should have received a copy of the GNU Library General Public +- License along with this program; if not, write to the Free Software +- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, +- USA. */ +- +-/* Tell glibc's to provide a prototype for stpcpy(). +- This must come before because may include +- , and once has been included, it's too late. */ +-#ifndef _GNU_SOURCE +-# define _GNU_SOURCE 1 +-#endif +- +-#ifdef HAVE_CONFIG_H +-# include +-#endif +- +-#include +- +-#if defined _LIBC || defined HAVE_ARGZ_H +-# include +-#endif +-#include +-#include +-#include +- +-#include "loadinfo.h" +- +-/* On some strange systems still no definition of NULL is found. Sigh! */ +-#ifndef NULL +-# if defined __STDC__ && __STDC__ +-# define NULL ((void *) 0) +-# else +-# define NULL 0 +-# endif +-#endif +- +-/* @@ end of prolog @@ */ +- +-#ifdef _LIBC +-/* Rename the non ANSI C functions. This is required by the standard +- because some ANSI C functions will require linking with this object +- file and the name space must not be polluted. */ +-# ifndef stpcpy +-# define stpcpy(dest, src) __stpcpy(dest, src) +-# endif +-#else +-# ifndef HAVE_STPCPY +-static char *stpcpy (char *dest, const char *src); +-# endif +-#endif +- +-/* Pathname support. +- ISSLASH(C) tests whether C is a directory separator character. +- IS_ABSOLUTE_PATH(P) tests whether P is an absolute path. If it is not, +- it may be concatenated to a directory pathname. +- */ +-#if defined _WIN32 || defined __WIN32__ || defined __CYGWIN__ || defined __EMX__ || defined __DJGPP__ +- /* Win32, Cygwin, OS/2, DOS */ +-# define ISSLASH(C) ((C) == '/' || (C) == '\\') +-# define HAS_DEVICE(P) \ +- ((((P)[0] >= 'A' && (P)[0] <= 'Z') || ((P)[0] >= 'a' && (P)[0] <= 'z')) \ +- && (P)[1] == ':') +-# define IS_ABSOLUTE_PATH(P) (ISSLASH ((P)[0]) || HAS_DEVICE (P)) +-#else +- /* Unix */ +-# define ISSLASH(C) ((C) == '/') +-# define IS_ABSOLUTE_PATH(P) ISSLASH ((P)[0]) +-#endif +- +-/* Define function which are usually not available. */ +- +-#ifdef _LIBC +-# define __argz_count(argz, len) INTUSE(__argz_count) (argz, len) +-#elif defined HAVE_ARGZ_COUNT +-# undef __argz_count +-# define __argz_count argz_count +-#else +-/* Returns the number of strings in ARGZ. */ +-static size_t +-argz_count__ (const char *argz, size_t len) +-{ +- size_t count = 0; +- while (len > 0) +- { +- size_t part_len = strlen (argz); +- argz += part_len + 1; +- len -= part_len + 1; +- count++; +- } +- return count; +-} +-# undef __argz_count +-# define __argz_count(argz, len) argz_count__ (argz, len) +-#endif /* !_LIBC && !HAVE_ARGZ_COUNT */ +- +-#ifdef _LIBC +-# define __argz_stringify(argz, len, sep) \ +- INTUSE(__argz_stringify) (argz, len, sep) +-#elif defined HAVE_ARGZ_STRINGIFY +-# undef __argz_stringify +-# define __argz_stringify argz_stringify +-#else +-/* Make '\0' separated arg vector ARGZ printable by converting all the '\0's +- except the last into the character SEP. */ +-static void +-argz_stringify__ (char *argz, size_t len, int sep) +-{ +- while (len > 0) +- { +- size_t part_len = strlen (argz); +- argz += part_len; +- len -= part_len + 1; +- if (len > 0) +- *argz++ = sep; +- } +-} +-# undef __argz_stringify +-# define __argz_stringify(argz, len, sep) argz_stringify__ (argz, len, sep) +-#endif /* !_LIBC && !HAVE_ARGZ_STRINGIFY */ +- +-#ifdef _LIBC +-#elif defined HAVE_ARGZ_NEXT +-# undef __argz_next +-# define __argz_next argz_next +-#else +-static char * +-argz_next__ (char *argz, size_t argz_len, const char *entry) +-{ +- if (entry) +- { +- if (entry < argz + argz_len) +- entry = strchr (entry, '\0') + 1; +- +- return entry >= argz + argz_len ? NULL : (char *) entry; +- } +- else +- if (argz_len > 0) +- return argz; +- else +- return 0; +-} +-# undef __argz_next +-# define __argz_next(argz, len, entry) argz_next__ (argz, len, entry) +-#endif /* !_LIBC && !HAVE_ARGZ_NEXT */ +- +- +-/* Return number of bits set in X. */ +-static inline int +-pop (int x) +-{ +- /* We assume that no more than 16 bits are used. */ +- x = ((x & ~0x5555) >> 1) + (x & 0x5555); +- x = ((x & ~0x3333) >> 2) + (x & 0x3333); +- x = ((x >> 4) + x) & 0x0f0f; +- x = ((x >> 8) + x) & 0xff; +- +- return x; +-} +- +- +-struct loaded_l10nfile * +-_nl_make_l10nflist (struct loaded_l10nfile **l10nfile_list, +- const char *dirlist, size_t dirlist_len, +- int mask, const char *language, const char *territory, +- const char *codeset, const char *normalized_codeset, +- const char *modifier, +- const char *filename, int do_allocate) +-{ +- char *abs_filename; +- struct loaded_l10nfile **lastp; +- struct loaded_l10nfile *retval; +- char *cp; +- size_t dirlist_count; +- size_t entries; +- int cnt; +- +- /* If LANGUAGE contains an absolute directory specification, we ignore +- DIRLIST. */ +- if (IS_ABSOLUTE_PATH (language)) +- dirlist_len = 0; +- +- /* Allocate room for the full file name. */ +- abs_filename = (char *) malloc (dirlist_len +- + strlen (language) +- + ((mask & XPG_TERRITORY) != 0 +- ? strlen (territory) + 1 : 0) +- + ((mask & XPG_CODESET) != 0 +- ? strlen (codeset) + 1 : 0) +- + ((mask & XPG_NORM_CODESET) != 0 +- ? strlen (normalized_codeset) + 1 : 0) +- + ((mask & XPG_MODIFIER) != 0 +- ? strlen (modifier) + 1 : 0) +- + 1 + strlen (filename) + 1); +- +- if (abs_filename == NULL) +- return NULL; +- +- /* Construct file name. */ +- cp = abs_filename; +- if (dirlist_len > 0) +- { +- memcpy (cp, dirlist, dirlist_len); +- __argz_stringify (cp, dirlist_len, PATH_SEPARATOR); +- cp += dirlist_len; +- cp[-1] = '/'; +- } +- +- cp = stpcpy (cp, language); +- +- if ((mask & XPG_TERRITORY) != 0) +- { +- *cp++ = '_'; +- cp = stpcpy (cp, territory); +- } +- if ((mask & XPG_CODESET) != 0) +- { +- *cp++ = '.'; +- cp = stpcpy (cp, codeset); +- } +- if ((mask & XPG_NORM_CODESET) != 0) +- { +- *cp++ = '.'; +- cp = stpcpy (cp, normalized_codeset); +- } +- if ((mask & XPG_MODIFIER) != 0) +- { +- *cp++ = '@'; +- cp = stpcpy (cp, modifier); +- } +- +- *cp++ = '/'; +- stpcpy (cp, filename); +- +- /* Look in list of already loaded domains whether it is already +- available. */ +- lastp = l10nfile_list; +- for (retval = *l10nfile_list; retval != NULL; retval = retval->next) +- if (retval->filename != NULL) +- { +- int compare = strcmp (retval->filename, abs_filename); +- if (compare == 0) +- /* We found it! */ +- break; +- if (compare < 0) +- { +- /* It's not in the list. */ +- retval = NULL; +- break; +- } +- +- lastp = &retval->next; +- } +- +- if (retval != NULL || do_allocate == 0) +- { +- free (abs_filename); +- return retval; +- } +- +- dirlist_count = (dirlist_len > 0 ? __argz_count (dirlist, dirlist_len) : 1); +- +- /* Allocate a new loaded_l10nfile. */ +- retval = +- (struct loaded_l10nfile *) +- malloc (sizeof (*retval) +- + (((dirlist_count << pop (mask)) + (dirlist_count > 1 ? 1 : 0)) +- * sizeof (struct loaded_l10nfile *))); +- if (retval == NULL) +- { +- free (abs_filename); +- return NULL; +- } +- +- retval->filename = abs_filename; +- +- /* We set retval->data to NULL here; it is filled in later. +- Setting retval->decided to 1 here means that retval does not +- correspond to a real file (dirlist_count > 1) or is not worth +- looking up (if an unnormalized codeset was specified). */ +- retval->decided = (dirlist_count > 1 +- || ((mask & XPG_CODESET) != 0 +- && (mask & XPG_NORM_CODESET) != 0)); +- retval->data = NULL; +- +- retval->next = *lastp; +- *lastp = retval; +- +- entries = 0; +- /* Recurse to fill the inheritance list of RETVAL. +- If the DIRLIST is a real list (i.e. DIRLIST_COUNT > 1), the RETVAL +- entry does not correspond to a real file; retval->filename contains +- colons. In this case we loop across all elements of DIRLIST and +- across all bit patterns dominated by MASK. +- If the DIRLIST is a single directory or entirely redundant (i.e. +- DIRLIST_COUNT == 1), we loop across all bit patterns dominated by +- MASK, excluding MASK itself. +- In either case, we loop down from MASK to 0. This has the effect +- that the extra bits in the locale name are dropped in this order: +- first the modifier, then the territory, then the codeset, then the +- normalized_codeset. */ +- for (cnt = dirlist_count > 1 ? mask : mask - 1; cnt >= 0; --cnt) +- if ((cnt & ~mask) == 0 +- && !((cnt & XPG_CODESET) != 0 && (cnt & XPG_NORM_CODESET) != 0)) +- { +- if (dirlist_count > 1) +- { +- /* Iterate over all elements of the DIRLIST. */ +- char *dir = NULL; +- +- while ((dir = __argz_next ((char *) dirlist, dirlist_len, dir)) +- != NULL) +- retval->successor[entries++] +- = _nl_make_l10nflist (l10nfile_list, dir, strlen (dir) + 1, +- cnt, language, territory, codeset, +- normalized_codeset, modifier, filename, +- 1); +- } +- else +- retval->successor[entries++] +- = _nl_make_l10nflist (l10nfile_list, dirlist, dirlist_len, +- cnt, language, territory, codeset, +- normalized_codeset, modifier, filename, 1); +- } +- retval->successor[entries] = NULL; +- +- return retval; +-} +- +-/* Normalize codeset name. There is no standard for the codeset +- names. Normalization allows the user to use any of the common +- names. The return value is dynamically allocated and has to be +- freed by the caller. */ +-const char * +-_nl_normalize_codeset (const char *codeset, size_t name_len) +-{ +- int len = 0; +- int only_digit = 1; +- char *retval; +- char *wp; +- size_t cnt; +- +- for (cnt = 0; cnt < name_len; ++cnt) +- if (isalnum ((unsigned char) codeset[cnt])) +- { +- ++len; +- +- if (isalpha ((unsigned char) codeset[cnt])) +- only_digit = 0; +- } +- +- retval = (char *) malloc ((only_digit ? 3 : 0) + len + 1); +- +- if (retval != NULL) +- { +- if (only_digit) +- wp = stpcpy (retval, "iso"); +- else +- wp = retval; +- +- for (cnt = 0; cnt < name_len; ++cnt) +- if (isalpha ((unsigned char) codeset[cnt])) +- *wp++ = tolower ((unsigned char) codeset[cnt]); +- else if (isdigit ((unsigned char) codeset[cnt])) +- *wp++ = codeset[cnt]; +- +- *wp = '\0'; +- } +- +- return (const char *) retval; +-} +- +- +-/* @@ begin of epilog @@ */ +- +-/* We don't want libintl.a to depend on any other library. So we +- avoid the non-standard function stpcpy. In GNU C Library this +- function is available, though. Also allow the symbol HAVE_STPCPY +- to be defined. */ +-#if !_LIBC && !HAVE_STPCPY +-static char * +-stpcpy (char *dest, const char *src) +-{ +- while ((*dest++ = *src++) != '\0') +- /* Do nothing. */ ; +- return dest - 1; +-} +-#endif +--- a/intl/langprefs.c ++++ /dev/null +@@ -1,130 +0,0 @@ +-/* Determine the user's language preferences. +- Copyright (C) 2004-2006 Free Software Foundation, Inc. +- +- This program is free software; you can redistribute it and/or modify it +- under the terms of the GNU Library General Public License as published +- by the Free Software Foundation; either version 2, or (at your option) +- any later version. +- +- This program is distributed in the hope that it will be useful, +- but WITHOUT ANY WARRANTY; without even the implied warranty of +- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +- Library General Public License for more details. +- +- You should have received a copy of the GNU Library General Public +- License along with this program; if not, write to the Free Software +- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, +- USA. */ +- +-/* Written by Bruno Haible . */ +- +-#ifdef HAVE_CONFIG_H +-# include +-#endif +- +-#include +- +-#if HAVE_CFPREFERENCESCOPYAPPVALUE +-# include +-# include +-# include +-# include +-# include +-extern void _nl_locale_name_canonicalize (char *name); +-#endif +- +-/* Determine the user's language preferences, as a colon separated list of +- locale names in XPG syntax +- language[_territory][.codeset][@modifier] +- The result must not be freed; it is statically allocated. +- The LANGUAGE environment variable does not need to be considered; it is +- already taken into account by the caller. */ +- +-const char * +-_nl_language_preferences_default (void) +-{ +-#if HAVE_CFPREFERENCESCOPYAPPVALUE /* MacOS X 10.2 or newer */ +- { +- /* Cache the preferences list, since CoreFoundation calls are expensive. */ +- static const char *cached_languages; +- static int cache_initialized; +- +- if (!cache_initialized) +- { +- CFTypeRef preferences = +- CFPreferencesCopyAppValue (CFSTR ("AppleLanguages"), +- kCFPreferencesCurrentApplication); +- if (preferences != NULL +- && CFGetTypeID (preferences) == CFArrayGetTypeID ()) +- { +- CFArrayRef prefArray = (CFArrayRef)preferences; +- int n = CFArrayGetCount (prefArray); +- char buf[256]; +- size_t size = 0; +- int i; +- +- for (i = 0; i < n; i++) +- { +- CFTypeRef element = CFArrayGetValueAtIndex (prefArray, i); +- if (element != NULL +- && CFGetTypeID (element) == CFStringGetTypeID () +- && CFStringGetCString ((CFStringRef)element, +- buf, sizeof (buf), +- kCFStringEncodingASCII)) +- { +- _nl_locale_name_canonicalize (buf); +- size += strlen (buf) + 1; +- /* Most GNU programs use msgids in English and don't ship +- an en.mo message catalog. Therefore when we see "en" +- in the preferences list, arrange for gettext() to +- return the msgid, and ignore all further elements of +- the preferences list. */ +- if (strcmp (buf, "en") == 0) +- break; +- } +- else +- break; +- } +- if (size > 0) +- { +- char *languages = (char *) malloc (size); +- +- if (languages != NULL) +- { +- char *p = languages; +- +- for (i = 0; i < n; i++) +- { +- CFTypeRef element = +- CFArrayGetValueAtIndex (prefArray, i); +- if (element != NULL +- && CFGetTypeID (element) == CFStringGetTypeID () +- && CFStringGetCString ((CFStringRef)element, +- buf, sizeof (buf), +- kCFStringEncodingASCII)) +- { +- _nl_locale_name_canonicalize (buf); +- strcpy (p, buf); +- p += strlen (buf); +- *p++ = ':'; +- if (strcmp (buf, "en") == 0) +- break; +- } +- else +- break; +- } +- *--p = '\0'; +- +- cached_languages = languages; +- } +- } +- } +- cache_initialized = 1; +- } +- if (cached_languages != NULL) +- return cached_languages; +- } +-#endif +- +- return NULL; +-} +--- a/intl/libgnuintl.h.in ++++ /dev/null +@@ -1,419 +0,0 @@ +-/* Message catalogs for internationalization. +- Copyright (C) 1995-1997, 2000-2007 Free Software Foundation, Inc. +- +- This program is free software; you can redistribute it and/or modify it +- under the terms of the GNU Library General Public License as published +- by the Free Software Foundation; either version 2, or (at your option) +- any later version. +- +- This program is distributed in the hope that it will be useful, +- but WITHOUT ANY WARRANTY; without even the implied warranty of +- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +- Library General Public License for more details. +- +- You should have received a copy of the GNU Library General Public +- License along with this program; if not, write to the Free Software +- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, +- USA. */ +- +-#ifndef _LIBINTL_H +-#define _LIBINTL_H 1 +- +-#include +- +-/* The LC_MESSAGES locale category is the category used by the functions +- gettext() and dgettext(). It is specified in POSIX, but not in ANSI C. +- On systems that don't define it, use an arbitrary value instead. +- On Solaris, defines __LOCALE_H (or _LOCALE_H in Solaris 2.5) +- then includes (i.e. this file!) and then only defines +- LC_MESSAGES. To avoid a redefinition warning, don't define LC_MESSAGES +- in this case. */ +-#if !defined LC_MESSAGES && !(defined __LOCALE_H || (defined _LOCALE_H && defined __sun)) +-# define LC_MESSAGES 1729 +-#endif +- +-/* We define an additional symbol to signal that we use the GNU +- implementation of gettext. */ +-#define __USE_GNU_GETTEXT 1 +- +-/* Provide information about the supported file formats. Returns the +- maximum minor revision number supported for a given major revision. */ +-#define __GNU_GETTEXT_SUPPORTED_REVISION(major) \ +- ((major) == 0 || (major) == 1 ? 1 : -1) +- +-/* Resolve a platform specific conflict on DJGPP. GNU gettext takes +- precedence over _conio_gettext. */ +-#ifdef __DJGPP__ +-# undef gettext +-#endif +- +-#ifdef __cplusplus +-extern "C" { +-#endif +- +- +-/* Version number: (major<<16) + (minor<<8) + subminor */ +-#define LIBINTL_VERSION 0x001100 +-extern int libintl_version; +- +- +-/* We redirect the functions to those prefixed with "libintl_". This is +- necessary, because some systems define gettext/textdomain/... in the C +- library (namely, Solaris 2.4 and newer, and GNU libc 2.0 and newer). +- If we used the unprefixed names, there would be cases where the +- definition in the C library would override the one in the libintl.so +- shared library. Recall that on ELF systems, the symbols are looked +- up in the following order: +- 1. in the executable, +- 2. in the shared libraries specified on the link command line, in order, +- 3. in the dependencies of the shared libraries specified on the link +- command line, +- 4. in the dlopen()ed shared libraries, in the order in which they were +- dlopen()ed. +- The definition in the C library would override the one in libintl.so if +- either +- * -lc is given on the link command line and -lintl isn't, or +- * -lc is given on the link command line before -lintl, or +- * libintl.so is a dependency of a dlopen()ed shared library but not +- linked to the executable at link time. +- Since Solaris gettext() behaves differently than GNU gettext(), this +- would be unacceptable. +- +- The redirection happens by default through macros in C, so that &gettext +- is independent of the compilation unit, but through inline functions in +- C++, in order not to interfere with the name mangling of class fields or +- class methods called 'gettext'. */ +- +-/* The user can define _INTL_REDIRECT_INLINE or _INTL_REDIRECT_MACROS. +- If he doesn't, we choose the method. A third possible method is +- _INTL_REDIRECT_ASM, supported only by GCC. */ +-#if !(defined _INTL_REDIRECT_INLINE || defined _INTL_REDIRECT_MACROS) +-# if __GNUC__ >= 2 && !(__APPLE_CC__ > 1) && !defined __MINGW32__ && !(__GNUC__ == 2 && defined _AIX) && (defined __STDC__ || defined __cplusplus) +-# define _INTL_REDIRECT_ASM +-# else +-# ifdef __cplusplus +-# define _INTL_REDIRECT_INLINE +-# else +-# define _INTL_REDIRECT_MACROS +-# endif +-# endif +-#endif +-/* Auxiliary macros. */ +-#ifdef _INTL_REDIRECT_ASM +-# define _INTL_ASM(cname) __asm__ (_INTL_ASMNAME (__USER_LABEL_PREFIX__, #cname)) +-# define _INTL_ASMNAME(prefix,cnamestring) _INTL_STRINGIFY (prefix) cnamestring +-# define _INTL_STRINGIFY(prefix) #prefix +-#else +-# define _INTL_ASM(cname) +-#endif +- +-/* _INTL_MAY_RETURN_STRING_ARG(n) declares that the given function may return +- its n-th argument literally. This enables GCC to warn for example about +- printf (gettext ("foo %y")). */ +-#if __GNUC__ >= 3 && !(__APPLE_CC__ > 1 && defined __cplusplus) +-# define _INTL_MAY_RETURN_STRING_ARG(n) __attribute__ ((__format_arg__ (n))) +-#else +-# define _INTL_MAY_RETURN_STRING_ARG(n) +-#endif +- +-/* Look up MSGID in the current default message catalog for the current +- LC_MESSAGES locale. If not found, returns MSGID itself (the default +- text). */ +-#ifdef _INTL_REDIRECT_INLINE +-extern char *libintl_gettext (const char *__msgid) +- _INTL_MAY_RETURN_STRING_ARG (1); +-static inline char *gettext (const char *__msgid) +-{ +- return libintl_gettext (__msgid); +-} +-#else +-#ifdef _INTL_REDIRECT_MACROS +-# define gettext libintl_gettext +-#endif +-extern char *gettext (const char *__msgid) +- _INTL_ASM (libintl_gettext) +- _INTL_MAY_RETURN_STRING_ARG (1); +-#endif +- +-/* Look up MSGID in the DOMAINNAME message catalog for the current +- LC_MESSAGES locale. */ +-#ifdef _INTL_REDIRECT_INLINE +-extern char *libintl_dgettext (const char *__domainname, const char *__msgid) +- _INTL_MAY_RETURN_STRING_ARG (2); +-static inline char *dgettext (const char *__domainname, const char *__msgid) +-{ +- return libintl_dgettext (__domainname, __msgid); +-} +-#else +-#ifdef _INTL_REDIRECT_MACROS +-# define dgettext libintl_dgettext +-#endif +-extern char *dgettext (const char *__domainname, const char *__msgid) +- _INTL_ASM (libintl_dgettext) +- _INTL_MAY_RETURN_STRING_ARG (2); +-#endif +- +-/* Look up MSGID in the DOMAINNAME message catalog for the current CATEGORY +- locale. */ +-#ifdef _INTL_REDIRECT_INLINE +-extern char *libintl_dcgettext (const char *__domainname, const char *__msgid, +- int __category) +- _INTL_MAY_RETURN_STRING_ARG (2); +-static inline char *dcgettext (const char *__domainname, const char *__msgid, +- int __category) +-{ +- return libintl_dcgettext (__domainname, __msgid, __category); +-} +-#else +-#ifdef _INTL_REDIRECT_MACROS +-# define dcgettext libintl_dcgettext +-#endif +-extern char *dcgettext (const char *__domainname, const char *__msgid, +- int __category) +- _INTL_ASM (libintl_dcgettext) +- _INTL_MAY_RETURN_STRING_ARG (2); +-#endif +- +- +-/* Similar to `gettext' but select the plural form corresponding to the +- number N. */ +-#ifdef _INTL_REDIRECT_INLINE +-extern char *libintl_ngettext (const char *__msgid1, const char *__msgid2, +- unsigned long int __n) +- _INTL_MAY_RETURN_STRING_ARG (1) _INTL_MAY_RETURN_STRING_ARG (2); +-static inline char *ngettext (const char *__msgid1, const char *__msgid2, +- unsigned long int __n) +-{ +- return libintl_ngettext (__msgid1, __msgid2, __n); +-} +-#else +-#ifdef _INTL_REDIRECT_MACROS +-# define ngettext libintl_ngettext +-#endif +-extern char *ngettext (const char *__msgid1, const char *__msgid2, +- unsigned long int __n) +- _INTL_ASM (libintl_ngettext) +- _INTL_MAY_RETURN_STRING_ARG (1) _INTL_MAY_RETURN_STRING_ARG (2); +-#endif +- +-/* Similar to `dgettext' but select the plural form corresponding to the +- number N. */ +-#ifdef _INTL_REDIRECT_INLINE +-extern char *libintl_dngettext (const char *__domainname, const char *__msgid1, +- const char *__msgid2, unsigned long int __n) +- _INTL_MAY_RETURN_STRING_ARG (2) _INTL_MAY_RETURN_STRING_ARG (3); +-static inline char *dngettext (const char *__domainname, const char *__msgid1, +- const char *__msgid2, unsigned long int __n) +-{ +- return libintl_dngettext (__domainname, __msgid1, __msgid2, __n); +-} +-#else +-#ifdef _INTL_REDIRECT_MACROS +-# define dngettext libintl_dngettext +-#endif +-extern char *dngettext (const char *__domainname, +- const char *__msgid1, const char *__msgid2, +- unsigned long int __n) +- _INTL_ASM (libintl_dngettext) +- _INTL_MAY_RETURN_STRING_ARG (2) _INTL_MAY_RETURN_STRING_ARG (3); +-#endif +- +-/* Similar to `dcgettext' but select the plural form corresponding to the +- number N. */ +-#ifdef _INTL_REDIRECT_INLINE +-extern char *libintl_dcngettext (const char *__domainname, +- const char *__msgid1, const char *__msgid2, +- unsigned long int __n, int __category) +- _INTL_MAY_RETURN_STRING_ARG (2) _INTL_MAY_RETURN_STRING_ARG (3); +-static inline char *dcngettext (const char *__domainname, +- const char *__msgid1, const char *__msgid2, +- unsigned long int __n, int __category) +-{ +- return libintl_dcngettext (__domainname, __msgid1, __msgid2, __n, __category); +-} +-#else +-#ifdef _INTL_REDIRECT_MACROS +-# define dcngettext libintl_dcngettext +-#endif +-extern char *dcngettext (const char *__domainname, +- const char *__msgid1, const char *__msgid2, +- unsigned long int __n, int __category) +- _INTL_ASM (libintl_dcngettext) +- _INTL_MAY_RETURN_STRING_ARG (2) _INTL_MAY_RETURN_STRING_ARG (3); +-#endif +- +- +-#ifndef IN_LIBGLOCALE +- +-/* Set the current default message catalog to DOMAINNAME. +- If DOMAINNAME is null, return the current default. +- If DOMAINNAME is "", reset to the default of "messages". */ +-#ifdef _INTL_REDIRECT_INLINE +-extern char *libintl_textdomain (const char *__domainname); +-static inline char *textdomain (const char *__domainname) +-{ +- return libintl_textdomain (__domainname); +-} +-#else +-#ifdef _INTL_REDIRECT_MACROS +-# define textdomain libintl_textdomain +-#endif +-extern char *textdomain (const char *__domainname) +- _INTL_ASM (libintl_textdomain); +-#endif +- +-/* Specify that the DOMAINNAME message catalog will be found +- in DIRNAME rather than in the system locale data base. */ +-#ifdef _INTL_REDIRECT_INLINE +-extern char *libintl_bindtextdomain (const char *__domainname, +- const char *__dirname); +-static inline char *bindtextdomain (const char *__domainname, +- const char *__dirname) +-{ +- return libintl_bindtextdomain (__domainname, __dirname); +-} +-#else +-#ifdef _INTL_REDIRECT_MACROS +-# define bindtextdomain libintl_bindtextdomain +-#endif +-extern char *bindtextdomain (const char *__domainname, const char *__dirname) +- _INTL_ASM (libintl_bindtextdomain); +-#endif +- +-/* Specify the character encoding in which the messages from the +- DOMAINNAME message catalog will be returned. */ +-#ifdef _INTL_REDIRECT_INLINE +-extern char *libintl_bind_textdomain_codeset (const char *__domainname, +- const char *__codeset); +-static inline char *bind_textdomain_codeset (const char *__domainname, +- const char *__codeset) +-{ +- return libintl_bind_textdomain_codeset (__domainname, __codeset); +-} +-#else +-#ifdef _INTL_REDIRECT_MACROS +-# define bind_textdomain_codeset libintl_bind_textdomain_codeset +-#endif +-extern char *bind_textdomain_codeset (const char *__domainname, +- const char *__codeset) +- _INTL_ASM (libintl_bind_textdomain_codeset); +-#endif +- +-#endif /* IN_LIBGLOCALE */ +- +- +-/* Support for format strings with positions in *printf(), following the +- POSIX/XSI specification. +- Note: These replacements for the *printf() functions are visible only +- in source files that #include or #include "gettext.h". +- Packages that use *printf() in source files that don't refer to _() +- or gettext() but for which the format string could be the return value +- of _() or gettext() need to add this #include. Oh well. */ +- +-#if !@HAVE_POSIX_PRINTF@ +- +-#include +-#include +- +-/* Get va_list. */ +-#if __STDC__ || defined __cplusplus || defined _MSC_VER +-# include +-#else +-# include +-#endif +- +-#undef fprintf +-#define fprintf libintl_fprintf +-extern int fprintf (FILE *, const char *, ...); +-#undef vfprintf +-#define vfprintf libintl_vfprintf +-extern int vfprintf (FILE *, const char *, va_list); +- +-#undef printf +-#if defined __NetBSD__ || defined __BEOS__ || defined __CYGWIN__ || defined __MINGW32__ +-/* Don't break __attribute__((format(printf,M,N))). +- This redefinition is only possible because the libc in NetBSD, Cygwin, +- mingw does not have a function __printf__. */ +-# define libintl_printf __printf__ +-#endif +-#define printf libintl_printf +-extern int printf (const char *, ...); +-#undef vprintf +-#define vprintf libintl_vprintf +-extern int vprintf (const char *, va_list); +- +-#undef sprintf +-#define sprintf libintl_sprintf +-extern int sprintf (char *, const char *, ...); +-#undef vsprintf +-#define vsprintf libintl_vsprintf +-extern int vsprintf (char *, const char *, va_list); +- +-#if @HAVE_SNPRINTF@ +- +-#undef snprintf +-#define snprintf libintl_snprintf +-extern int snprintf (char *, size_t, const char *, ...); +-#undef vsnprintf +-#define vsnprintf libintl_vsnprintf +-extern int vsnprintf (char *, size_t, const char *, va_list); +- +-#endif +- +-#if @HAVE_ASPRINTF@ +- +-#undef asprintf +-#define asprintf libintl_asprintf +-extern int asprintf (char **, const char *, ...); +-#undef vasprintf +-#define vasprintf libintl_vasprintf +-extern int vasprintf (char **, const char *, va_list); +- +-#endif +- +-#if @HAVE_WPRINTF@ +- +-#undef fwprintf +-#define fwprintf libintl_fwprintf +-extern int fwprintf (FILE *, const wchar_t *, ...); +-#undef vfwprintf +-#define vfwprintf libintl_vfwprintf +-extern int vfwprintf (FILE *, const wchar_t *, va_list); +- +-#undef wprintf +-#define wprintf libintl_wprintf +-extern int wprintf (const wchar_t *, ...); +-#undef vwprintf +-#define vwprintf libintl_vwprintf +-extern int vwprintf (const wchar_t *, va_list); +- +-#undef swprintf +-#define swprintf libintl_swprintf +-extern int swprintf (wchar_t *, size_t, const wchar_t *, ...); +-#undef vswprintf +-#define vswprintf libintl_vswprintf +-extern int vswprintf (wchar_t *, size_t, const wchar_t *, va_list); +- +-#endif +- +-#endif +- +- +-/* Support for relocatable packages. */ +- +-/* Sets the original and the current installation prefix of the package. +- Relocation simply replaces a pathname starting with the original prefix +- by the corresponding pathname with the current prefix instead. Both +- prefixes should be directory names without trailing slash (i.e. use "" +- instead of "/"). */ +-#define libintl_set_relocation_prefix libintl_set_relocation_prefix +-extern void +- libintl_set_relocation_prefix (const char *orig_prefix, +- const char *curr_prefix); +- +- +-#ifdef __cplusplus +-} +-#endif +- +-#endif /* libintl.h */ +--- a/intl/libintl.rc ++++ /dev/null +@@ -1,38 +0,0 @@ +-/* Resources for intl.dll */ +- +-#include +- +-VS_VERSION_INFO VERSIONINFO +- FILEVERSION PACKAGE_VERSION_MAJOR,PACKAGE_VERSION_MINOR,PACKAGE_VERSION_SUBMINOR,0 +- PRODUCTVERSION PACKAGE_VERSION_MAJOR,PACKAGE_VERSION_MINOR,PACKAGE_VERSION_SUBMINOR,0 +- FILEFLAGSMASK 0x3fL /* VS_FFI_FILEFLAGSMASK */ +-#ifdef _DEBUG +- FILEFLAGS 0x1L /* VS_FF_DEBUG */ +-#else +- FILEFLAGS 0x0L +-#endif +- FILEOS 0x10004L /* VOS_DOS_WINDOWS32 */ +- FILETYPE 0x2L /* VFT_DLL */ +- FILESUBTYPE 0x0L /* VFT2_UNKNOWN */ +-BEGIN +- BLOCK "StringFileInfo" +- BEGIN +- BLOCK "04090000" /* Lang = US English, Charset = ASCII */ +- BEGIN +- VALUE "Comments", "This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License. You should have received a copy of the GNU Library General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA\0" +- VALUE "CompanyName", "Free Software Foundation\0" +- VALUE "FileDescription", "LGPLed libintl for Windows NT/2000/XP/Vista and Windows 95/98/ME\0" +- VALUE "FileVersion", PACKAGE_VERSION_STRING "\0" +- VALUE "InternalName", "intl.dll\0" +- VALUE "LegalCopyright", "Copyright (C) 1995-2007\0" +- VALUE "LegalTrademarks", "\0" +- VALUE "OriginalFilename", "intl.dll\0" +- VALUE "ProductName", "libintl: accessing NLS message catalogs\0" +- VALUE "ProductVersion", PACKAGE_VERSION_STRING "\0" +- END +- END +- BLOCK "VarFileInfo" +- BEGIN +- VALUE "Translation", 0x0409, 0 /* US English, ASCII */ +- END +-END +--- a/intl/loadinfo.h ++++ /dev/null +@@ -1,132 +0,0 @@ +-/* Copyright (C) 1996-1999, 2000-2003, 2005-2006 Free Software Foundation, Inc. +- This file is part of the GNU C Library. +- Contributed by Ulrich Drepper , 1996. +- +- This program is free software; you can redistribute it and/or modify it +- under the terms of the GNU Library General Public License as published +- by the Free Software Foundation; either version 2, or (at your option) +- any later version. +- +- This program is distributed in the hope that it will be useful, +- but WITHOUT ANY WARRANTY; without even the implied warranty of +- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +- Library General Public License for more details. +- +- You should have received a copy of the GNU Library General Public +- License along with this program; if not, write to the Free Software +- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, +- USA. */ +- +-#ifndef _LOADINFO_H +-#define _LOADINFO_H 1 +- +-/* Declarations of locale dependent catalog lookup functions. +- Implemented in +- +- localealias.c Possibly replace a locale name by another. +- explodename.c Split a locale name into its various fields. +- l10nflist.c Generate a list of filenames of possible message catalogs. +- finddomain.c Find and open the relevant message catalogs. +- +- The main function _nl_find_domain() in finddomain.c is declared +- in gettextP.h. +- */ +- +-#ifndef internal_function +-# define internal_function +-#endif +- +-#ifndef LIBINTL_DLL_EXPORTED +-# define LIBINTL_DLL_EXPORTED +-#endif +- +-/* Tell the compiler when a conditional or integer expression is +- almost always true or almost always false. */ +-#ifndef HAVE_BUILTIN_EXPECT +-# define __builtin_expect(expr, val) (expr) +-#endif +- +-/* Separator in PATH like lists of pathnames. */ +-#if ((defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__) || defined __EMX__ || defined __DJGPP__ +- /* Win32, OS/2, DOS */ +-# define PATH_SEPARATOR ';' +-#else +- /* Unix */ +-# define PATH_SEPARATOR ':' +-#endif +- +-/* Encoding of locale name parts. */ +-#define XPG_NORM_CODESET 1 +-#define XPG_CODESET 2 +-#define XPG_TERRITORY 4 +-#define XPG_MODIFIER 8 +- +- +-struct loaded_l10nfile +-{ +- const char *filename; +- int decided; +- +- const void *data; +- +- struct loaded_l10nfile *next; +- struct loaded_l10nfile *successor[1]; +-}; +- +- +-/* Normalize codeset name. There is no standard for the codeset +- names. Normalization allows the user to use any of the common +- names. The return value is dynamically allocated and has to be +- freed by the caller. */ +-extern const char *_nl_normalize_codeset (const char *codeset, +- size_t name_len); +- +-/* Lookup a locale dependent file. +- *L10NFILE_LIST denotes a pool of lookup results of locale dependent +- files of the same kind, sorted in decreasing order of ->filename. +- DIRLIST and DIRLIST_LEN are an argz list of directories in which to +- look, containing at least one directory (i.e. DIRLIST_LEN > 0). +- MASK, LANGUAGE, TERRITORY, CODESET, NORMALIZED_CODESET, MODIFIER +- are the pieces of the locale name, as produced by _nl_explode_name(). +- FILENAME is the filename suffix. +- The return value is the lookup result, either found in *L10NFILE_LIST, +- or - if DO_ALLOCATE is nonzero - freshly allocated, or possibly NULL. +- If the return value is non-NULL, it is added to *L10NFILE_LIST, and +- its ->next field denotes the chaining inside *L10NFILE_LIST, and +- furthermore its ->successor[] field contains a list of other lookup +- results from which this lookup result inherits. */ +-extern struct loaded_l10nfile * +-_nl_make_l10nflist (struct loaded_l10nfile **l10nfile_list, +- const char *dirlist, size_t dirlist_len, int mask, +- const char *language, const char *territory, +- const char *codeset, const char *normalized_codeset, +- const char *modifier, +- const char *filename, int do_allocate); +- +-/* Lookup the real locale name for a locale alias NAME, or NULL if +- NAME is not a locale alias (but possibly a real locale name). +- The return value is statically allocated and must not be freed. */ +-/* Part of the libintl ABI only for the sake of the gettext.m4 macro. */ +-extern LIBINTL_DLL_EXPORTED const char *_nl_expand_alias (const char *name); +- +-/* Split a locale name NAME into its pieces: language, modifier, +- territory, codeset. +- NAME gets destructively modified: NUL bytes are inserted here and +- there. *LANGUAGE gets assigned NAME. Each of *MODIFIER, *TERRITORY, +- *CODESET gets assigned either a pointer into the old NAME string, or +- NULL. *NORMALIZED_CODESET gets assigned the expanded *CODESET, if it +- is different from *CODESET; this one is dynamically allocated and has +- to be freed by the caller. +- The return value is a bitmask, where each bit corresponds to one +- filled-in value: +- XPG_MODIFIER for *MODIFIER, +- XPG_TERRITORY for *TERRITORY, +- XPG_CODESET for *CODESET, +- XPG_NORM_CODESET for *NORMALIZED_CODESET. +- */ +-extern int _nl_explode_name (char *name, const char **language, +- const char **modifier, const char **territory, +- const char **codeset, +- const char **normalized_codeset); +- +-#endif /* loadinfo.h */ +--- a/intl/loadmsgcat.c ++++ /dev/null +@@ -1,1336 +0,0 @@ +-/* Load needed message catalogs. +- Copyright (C) 1995-1999, 2000-2007 Free Software Foundation, Inc. +- +- This program is free software; you can redistribute it and/or modify it +- under the terms of the GNU Library General Public License as published +- by the Free Software Foundation; either version 2, or (at your option) +- any later version. +- +- This program is distributed in the hope that it will be useful, +- but WITHOUT ANY WARRANTY; without even the implied warranty of +- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +- Library General Public License for more details. +- +- You should have received a copy of the GNU Library General Public +- License along with this program; if not, write to the Free Software +- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, +- USA. */ +- +-/* Tell glibc's to provide a prototype for mempcpy(). +- This must come before because may include +- , and once has been included, it's too late. */ +-#ifndef _GNU_SOURCE +-# define _GNU_SOURCE 1 +-#endif +- +-#ifdef HAVE_CONFIG_H +-# include +-#endif +- +-#include +-#include +-#include +-#include +-#include +- +-#ifdef __GNUC__ +-# undef alloca +-# define alloca __builtin_alloca +-# define HAVE_ALLOCA 1 +-#else +-# ifdef _MSC_VER +-# include +-# define alloca _alloca +-# else +-# if defined HAVE_ALLOCA_H || defined _LIBC +-# include +-# else +-# ifdef _AIX +- #pragma alloca +-# else +-# ifndef alloca +-char *alloca (); +-# endif +-# endif +-# endif +-# endif +-#endif +- +-#include +-#include +- +-#if defined HAVE_UNISTD_H || defined _LIBC +-# include +-#endif +- +-#ifdef _LIBC +-# include +-# include +-#endif +- +-#if (defined HAVE_MMAP && defined HAVE_MUNMAP && !defined DISALLOW_MMAP) \ +- || (defined _LIBC && defined _POSIX_MAPPED_FILES) +-# include +-# undef HAVE_MMAP +-# define HAVE_MMAP 1 +-#else +-# undef HAVE_MMAP +-#endif +- +-#if defined HAVE_STDINT_H_WITH_UINTMAX || defined _LIBC +-# include +-#endif +-#if defined HAVE_INTTYPES_H || defined _LIBC +-# include +-#endif +- +-#include "gmo.h" +-#include "gettextP.h" +-#include "hash-string.h" +-#include "plural-exp.h" +- +-#ifdef _LIBC +-# include "../locale/localeinfo.h" +-# include +-#endif +- +-/* Handle multi-threaded applications. */ +-#ifdef _LIBC +-# include +-#else +-# include "lock.h" +-#endif +- +-/* Provide fallback values for macros that ought to be defined in . +- Note that our fallback values need not be literal strings, because we don't +- use them with preprocessor string concatenation. */ +-#if !defined PRId8 || PRI_MACROS_BROKEN +-# undef PRId8 +-# define PRId8 "d" +-#endif +-#if !defined PRIi8 || PRI_MACROS_BROKEN +-# undef PRIi8 +-# define PRIi8 "i" +-#endif +-#if !defined PRIo8 || PRI_MACROS_BROKEN +-# undef PRIo8 +-# define PRIo8 "o" +-#endif +-#if !defined PRIu8 || PRI_MACROS_BROKEN +-# undef PRIu8 +-# define PRIu8 "u" +-#endif +-#if !defined PRIx8 || PRI_MACROS_BROKEN +-# undef PRIx8 +-# define PRIx8 "x" +-#endif +-#if !defined PRIX8 || PRI_MACROS_BROKEN +-# undef PRIX8 +-# define PRIX8 "X" +-#endif +-#if !defined PRId16 || PRI_MACROS_BROKEN +-# undef PRId16 +-# define PRId16 "d" +-#endif +-#if !defined PRIi16 || PRI_MACROS_BROKEN +-# undef PRIi16 +-# define PRIi16 "i" +-#endif +-#if !defined PRIo16 || PRI_MACROS_BROKEN +-# undef PRIo16 +-# define PRIo16 "o" +-#endif +-#if !defined PRIu16 || PRI_MACROS_BROKEN +-# undef PRIu16 +-# define PRIu16 "u" +-#endif +-#if !defined PRIx16 || PRI_MACROS_BROKEN +-# undef PRIx16 +-# define PRIx16 "x" +-#endif +-#if !defined PRIX16 || PRI_MACROS_BROKEN +-# undef PRIX16 +-# define PRIX16 "X" +-#endif +-#if !defined PRId32 || PRI_MACROS_BROKEN +-# undef PRId32 +-# define PRId32 "d" +-#endif +-#if !defined PRIi32 || PRI_MACROS_BROKEN +-# undef PRIi32 +-# define PRIi32 "i" +-#endif +-#if !defined PRIo32 || PRI_MACROS_BROKEN +-# undef PRIo32 +-# define PRIo32 "o" +-#endif +-#if !defined PRIu32 || PRI_MACROS_BROKEN +-# undef PRIu32 +-# define PRIu32 "u" +-#endif +-#if !defined PRIx32 || PRI_MACROS_BROKEN +-# undef PRIx32 +-# define PRIx32 "x" +-#endif +-#if !defined PRIX32 || PRI_MACROS_BROKEN +-# undef PRIX32 +-# define PRIX32 "X" +-#endif +-#if !defined PRId64 || PRI_MACROS_BROKEN +-# undef PRId64 +-# define PRId64 (sizeof (long) == 8 ? "ld" : "lld") +-#endif +-#if !defined PRIi64 || PRI_MACROS_BROKEN +-# undef PRIi64 +-# define PRIi64 (sizeof (long) == 8 ? "li" : "lli") +-#endif +-#if !defined PRIo64 || PRI_MACROS_BROKEN +-# undef PRIo64 +-# define PRIo64 (sizeof (long) == 8 ? "lo" : "llo") +-#endif +-#if !defined PRIu64 || PRI_MACROS_BROKEN +-# undef PRIu64 +-# define PRIu64 (sizeof (long) == 8 ? "lu" : "llu") +-#endif +-#if !defined PRIx64 || PRI_MACROS_BROKEN +-# undef PRIx64 +-# define PRIx64 (sizeof (long) == 8 ? "lx" : "llx") +-#endif +-#if !defined PRIX64 || PRI_MACROS_BROKEN +-# undef PRIX64 +-# define PRIX64 (sizeof (long) == 8 ? "lX" : "llX") +-#endif +-#if !defined PRIdLEAST8 || PRI_MACROS_BROKEN +-# undef PRIdLEAST8 +-# define PRIdLEAST8 "d" +-#endif +-#if !defined PRIiLEAST8 || PRI_MACROS_BROKEN +-# undef PRIiLEAST8 +-# define PRIiLEAST8 "i" +-#endif +-#if !defined PRIoLEAST8 || PRI_MACROS_BROKEN +-# undef PRIoLEAST8 +-# define PRIoLEAST8 "o" +-#endif +-#if !defined PRIuLEAST8 || PRI_MACROS_BROKEN +-# undef PRIuLEAST8 +-# define PRIuLEAST8 "u" +-#endif +-#if !defined PRIxLEAST8 || PRI_MACROS_BROKEN +-# undef PRIxLEAST8 +-# define PRIxLEAST8 "x" +-#endif +-#if !defined PRIXLEAST8 || PRI_MACROS_BROKEN +-# undef PRIXLEAST8 +-# define PRIXLEAST8 "X" +-#endif +-#if !defined PRIdLEAST16 || PRI_MACROS_BROKEN +-# undef PRIdLEAST16 +-# define PRIdLEAST16 "d" +-#endif +-#if !defined PRIiLEAST16 || PRI_MACROS_BROKEN +-# undef PRIiLEAST16 +-# define PRIiLEAST16 "i" +-#endif +-#if !defined PRIoLEAST16 || PRI_MACROS_BROKEN +-# undef PRIoLEAST16 +-# define PRIoLEAST16 "o" +-#endif +-#if !defined PRIuLEAST16 || PRI_MACROS_BROKEN +-# undef PRIuLEAST16 +-# define PRIuLEAST16 "u" +-#endif +-#if !defined PRIxLEAST16 || PRI_MACROS_BROKEN +-# undef PRIxLEAST16 +-# define PRIxLEAST16 "x" +-#endif +-#if !defined PRIXLEAST16 || PRI_MACROS_BROKEN +-# undef PRIXLEAST16 +-# define PRIXLEAST16 "X" +-#endif +-#if !defined PRIdLEAST32 || PRI_MACROS_BROKEN +-# undef PRIdLEAST32 +-# define PRIdLEAST32 "d" +-#endif +-#if !defined PRIiLEAST32 || PRI_MACROS_BROKEN +-# undef PRIiLEAST32 +-# define PRIiLEAST32 "i" +-#endif +-#if !defined PRIoLEAST32 || PRI_MACROS_BROKEN +-# undef PRIoLEAST32 +-# define PRIoLEAST32 "o" +-#endif +-#if !defined PRIuLEAST32 || PRI_MACROS_BROKEN +-# undef PRIuLEAST32 +-# define PRIuLEAST32 "u" +-#endif +-#if !defined PRIxLEAST32 || PRI_MACROS_BROKEN +-# undef PRIxLEAST32 +-# define PRIxLEAST32 "x" +-#endif +-#if !defined PRIXLEAST32 || PRI_MACROS_BROKEN +-# undef PRIXLEAST32 +-# define PRIXLEAST32 "X" +-#endif +-#if !defined PRIdLEAST64 || PRI_MACROS_BROKEN +-# undef PRIdLEAST64 +-# define PRIdLEAST64 PRId64 +-#endif +-#if !defined PRIiLEAST64 || PRI_MACROS_BROKEN +-# undef PRIiLEAST64 +-# define PRIiLEAST64 PRIi64 +-#endif +-#if !defined PRIoLEAST64 || PRI_MACROS_BROKEN +-# undef PRIoLEAST64 +-# define PRIoLEAST64 PRIo64 +-#endif +-#if !defined PRIuLEAST64 || PRI_MACROS_BROKEN +-# undef PRIuLEAST64 +-# define PRIuLEAST64 PRIu64 +-#endif +-#if !defined PRIxLEAST64 || PRI_MACROS_BROKEN +-# undef PRIxLEAST64 +-# define PRIxLEAST64 PRIx64 +-#endif +-#if !defined PRIXLEAST64 || PRI_MACROS_BROKEN +-# undef PRIXLEAST64 +-# define PRIXLEAST64 PRIX64 +-#endif +-#if !defined PRIdFAST8 || PRI_MACROS_BROKEN +-# undef PRIdFAST8 +-# define PRIdFAST8 "d" +-#endif +-#if !defined PRIiFAST8 || PRI_MACROS_BROKEN +-# undef PRIiFAST8 +-# define PRIiFAST8 "i" +-#endif +-#if !defined PRIoFAST8 || PRI_MACROS_BROKEN +-# undef PRIoFAST8 +-# define PRIoFAST8 "o" +-#endif +-#if !defined PRIuFAST8 || PRI_MACROS_BROKEN +-# undef PRIuFAST8 +-# define PRIuFAST8 "u" +-#endif +-#if !defined PRIxFAST8 || PRI_MACROS_BROKEN +-# undef PRIxFAST8 +-# define PRIxFAST8 "x" +-#endif +-#if !defined PRIXFAST8 || PRI_MACROS_BROKEN +-# undef PRIXFAST8 +-# define PRIXFAST8 "X" +-#endif +-#if !defined PRIdFAST16 || PRI_MACROS_BROKEN +-# undef PRIdFAST16 +-# define PRIdFAST16 "d" +-#endif +-#if !defined PRIiFAST16 || PRI_MACROS_BROKEN +-# undef PRIiFAST16 +-# define PRIiFAST16 "i" +-#endif +-#if !defined PRIoFAST16 || PRI_MACROS_BROKEN +-# undef PRIoFAST16 +-# define PRIoFAST16 "o" +-#endif +-#if !defined PRIuFAST16 || PRI_MACROS_BROKEN +-# undef PRIuFAST16 +-# define PRIuFAST16 "u" +-#endif +-#if !defined PRIxFAST16 || PRI_MACROS_BROKEN +-# undef PRIxFAST16 +-# define PRIxFAST16 "x" +-#endif +-#if !defined PRIXFAST16 || PRI_MACROS_BROKEN +-# undef PRIXFAST16 +-# define PRIXFAST16 "X" +-#endif +-#if !defined PRIdFAST32 || PRI_MACROS_BROKEN +-# undef PRIdFAST32 +-# define PRIdFAST32 "d" +-#endif +-#if !defined PRIiFAST32 || PRI_MACROS_BROKEN +-# undef PRIiFAST32 +-# define PRIiFAST32 "i" +-#endif +-#if !defined PRIoFAST32 || PRI_MACROS_BROKEN +-# undef PRIoFAST32 +-# define PRIoFAST32 "o" +-#endif +-#if !defined PRIuFAST32 || PRI_MACROS_BROKEN +-# undef PRIuFAST32 +-# define PRIuFAST32 "u" +-#endif +-#if !defined PRIxFAST32 || PRI_MACROS_BROKEN +-# undef PRIxFAST32 +-# define PRIxFAST32 "x" +-#endif +-#if !defined PRIXFAST32 || PRI_MACROS_BROKEN +-# undef PRIXFAST32 +-# define PRIXFAST32 "X" +-#endif +-#if !defined PRIdFAST64 || PRI_MACROS_BROKEN +-# undef PRIdFAST64 +-# define PRIdFAST64 PRId64 +-#endif +-#if !defined PRIiFAST64 || PRI_MACROS_BROKEN +-# undef PRIiFAST64 +-# define PRIiFAST64 PRIi64 +-#endif +-#if !defined PRIoFAST64 || PRI_MACROS_BROKEN +-# undef PRIoFAST64 +-# define PRIoFAST64 PRIo64 +-#endif +-#if !defined PRIuFAST64 || PRI_MACROS_BROKEN +-# undef PRIuFAST64 +-# define PRIuFAST64 PRIu64 +-#endif +-#if !defined PRIxFAST64 || PRI_MACROS_BROKEN +-# undef PRIxFAST64 +-# define PRIxFAST64 PRIx64 +-#endif +-#if !defined PRIXFAST64 || PRI_MACROS_BROKEN +-# undef PRIXFAST64 +-# define PRIXFAST64 PRIX64 +-#endif +-#if !defined PRIdMAX || PRI_MACROS_BROKEN +-# undef PRIdMAX +-# define PRIdMAX (sizeof (uintmax_t) == sizeof (long) ? "ld" : "lld") +-#endif +-#if !defined PRIiMAX || PRI_MACROS_BROKEN +-# undef PRIiMAX +-# define PRIiMAX (sizeof (uintmax_t) == sizeof (long) ? "li" : "lli") +-#endif +-#if !defined PRIoMAX || PRI_MACROS_BROKEN +-# undef PRIoMAX +-# define PRIoMAX (sizeof (uintmax_t) == sizeof (long) ? "lo" : "llo") +-#endif +-#if !defined PRIuMAX || PRI_MACROS_BROKEN +-# undef PRIuMAX +-# define PRIuMAX (sizeof (uintmax_t) == sizeof (long) ? "lu" : "llu") +-#endif +-#if !defined PRIxMAX || PRI_MACROS_BROKEN +-# undef PRIxMAX +-# define PRIxMAX (sizeof (uintmax_t) == sizeof (long) ? "lx" : "llx") +-#endif +-#if !defined PRIXMAX || PRI_MACROS_BROKEN +-# undef PRIXMAX +-# define PRIXMAX (sizeof (uintmax_t) == sizeof (long) ? "lX" : "llX") +-#endif +-#if !defined PRIdPTR || PRI_MACROS_BROKEN +-# undef PRIdPTR +-# define PRIdPTR \ +- (sizeof (void *) == sizeof (long) ? "ld" : \ +- sizeof (void *) == sizeof (int) ? "d" : \ +- "lld") +-#endif +-#if !defined PRIiPTR || PRI_MACROS_BROKEN +-# undef PRIiPTR +-# define PRIiPTR \ +- (sizeof (void *) == sizeof (long) ? "li" : \ +- sizeof (void *) == sizeof (int) ? "i" : \ +- "lli") +-#endif +-#if !defined PRIoPTR || PRI_MACROS_BROKEN +-# undef PRIoPTR +-# define PRIoPTR \ +- (sizeof (void *) == sizeof (long) ? "lo" : \ +- sizeof (void *) == sizeof (int) ? "o" : \ +- "llo") +-#endif +-#if !defined PRIuPTR || PRI_MACROS_BROKEN +-# undef PRIuPTR +-# define PRIuPTR \ +- (sizeof (void *) == sizeof (long) ? "lu" : \ +- sizeof (void *) == sizeof (int) ? "u" : \ +- "llu") +-#endif +-#if !defined PRIxPTR || PRI_MACROS_BROKEN +-# undef PRIxPTR +-# define PRIxPTR \ +- (sizeof (void *) == sizeof (long) ? "lx" : \ +- sizeof (void *) == sizeof (int) ? "x" : \ +- "llx") +-#endif +-#if !defined PRIXPTR || PRI_MACROS_BROKEN +-# undef PRIXPTR +-# define PRIXPTR \ +- (sizeof (void *) == sizeof (long) ? "lX" : \ +- sizeof (void *) == sizeof (int) ? "X" : \ +- "llX") +-#endif +- +-/* @@ end of prolog @@ */ +- +-#ifdef _LIBC +-/* Rename the non ISO C functions. This is required by the standard +- because some ISO C functions will require linking with this object +- file and the name space must not be polluted. */ +-# define open(name, flags) open_not_cancel_2 (name, flags) +-# define close(fd) close_not_cancel_no_status (fd) +-# define read(fd, buf, n) read_not_cancel (fd, buf, n) +-# define mmap(addr, len, prot, flags, fd, offset) \ +- __mmap (addr, len, prot, flags, fd, offset) +-# define munmap(addr, len) __munmap (addr, len) +-#endif +- +-/* For those losing systems which don't have `alloca' we have to add +- some additional code emulating it. */ +-#ifdef HAVE_ALLOCA +-# define freea(p) /* nothing */ +-#else +-# define alloca(n) malloc (n) +-# define freea(p) free (p) +-#endif +- +-/* For systems that distinguish between text and binary I/O. +- O_BINARY is usually declared in . */ +-#if !defined O_BINARY && defined _O_BINARY +- /* For MSC-compatible compilers. */ +-# define O_BINARY _O_BINARY +-# define O_TEXT _O_TEXT +-#endif +-#ifdef __BEOS__ +- /* BeOS 5 has O_BINARY and O_TEXT, but they have no effect. */ +-# undef O_BINARY +-# undef O_TEXT +-#endif +-/* On reasonable systems, binary I/O is the default. */ +-#ifndef O_BINARY +-# define O_BINARY 0 +-#endif +- +- +-/* We need a sign, whether a new catalog was loaded, which can be associated +- with all translations. This is important if the translations are +- cached by one of GCC's features. */ +-int _nl_msg_cat_cntr; +- +- +-/* Expand a system dependent string segment. Return NULL if unsupported. */ +-static const char * +-get_sysdep_segment_value (const char *name) +-{ +- /* Test for an ISO C 99 section 7.8.1 format string directive. +- Syntax: +- P R I { d | i | o | u | x | X } +- { { | LEAST | FAST } { 8 | 16 | 32 | 64 } | MAX | PTR } */ +- /* We don't use a table of 14 times 6 'const char *' strings here, because +- data relocations cost startup time. */ +- if (name[0] == 'P' && name[1] == 'R' && name[2] == 'I') +- { +- if (name[3] == 'd' || name[3] == 'i' || name[3] == 'o' || name[3] == 'u' +- || name[3] == 'x' || name[3] == 'X') +- { +- if (name[4] == '8' && name[5] == '\0') +- { +- if (name[3] == 'd') +- return PRId8; +- if (name[3] == 'i') +- return PRIi8; +- if (name[3] == 'o') +- return PRIo8; +- if (name[3] == 'u') +- return PRIu8; +- if (name[3] == 'x') +- return PRIx8; +- if (name[3] == 'X') +- return PRIX8; +- abort (); +- } +- if (name[4] == '1' && name[5] == '6' && name[6] == '\0') +- { +- if (name[3] == 'd') +- return PRId16; +- if (name[3] == 'i') +- return PRIi16; +- if (name[3] == 'o') +- return PRIo16; +- if (name[3] == 'u') +- return PRIu16; +- if (name[3] == 'x') +- return PRIx16; +- if (name[3] == 'X') +- return PRIX16; +- abort (); +- } +- if (name[4] == '3' && name[5] == '2' && name[6] == '\0') +- { +- if (name[3] == 'd') +- return PRId32; +- if (name[3] == 'i') +- return PRIi32; +- if (name[3] == 'o') +- return PRIo32; +- if (name[3] == 'u') +- return PRIu32; +- if (name[3] == 'x') +- return PRIx32; +- if (name[3] == 'X') +- return PRIX32; +- abort (); +- } +- if (name[4] == '6' && name[5] == '4' && name[6] == '\0') +- { +- if (name[3] == 'd') +- return PRId64; +- if (name[3] == 'i') +- return PRIi64; +- if (name[3] == 'o') +- return PRIo64; +- if (name[3] == 'u') +- return PRIu64; +- if (name[3] == 'x') +- return PRIx64; +- if (name[3] == 'X') +- return PRIX64; +- abort (); +- } +- if (name[4] == 'L' && name[5] == 'E' && name[6] == 'A' +- && name[7] == 'S' && name[8] == 'T') +- { +- if (name[9] == '8' && name[10] == '\0') +- { +- if (name[3] == 'd') +- return PRIdLEAST8; +- if (name[3] == 'i') +- return PRIiLEAST8; +- if (name[3] == 'o') +- return PRIoLEAST8; +- if (name[3] == 'u') +- return PRIuLEAST8; +- if (name[3] == 'x') +- return PRIxLEAST8; +- if (name[3] == 'X') +- return PRIXLEAST8; +- abort (); +- } +- if (name[9] == '1' && name[10] == '6' && name[11] == '\0') +- { +- if (name[3] == 'd') +- return PRIdLEAST16; +- if (name[3] == 'i') +- return PRIiLEAST16; +- if (name[3] == 'o') +- return PRIoLEAST16; +- if (name[3] == 'u') +- return PRIuLEAST16; +- if (name[3] == 'x') +- return PRIxLEAST16; +- if (name[3] == 'X') +- return PRIXLEAST16; +- abort (); +- } +- if (name[9] == '3' && name[10] == '2' && name[11] == '\0') +- { +- if (name[3] == 'd') +- return PRIdLEAST32; +- if (name[3] == 'i') +- return PRIiLEAST32; +- if (name[3] == 'o') +- return PRIoLEAST32; +- if (name[3] == 'u') +- return PRIuLEAST32; +- if (name[3] == 'x') +- return PRIxLEAST32; +- if (name[3] == 'X') +- return PRIXLEAST32; +- abort (); +- } +- if (name[9] == '6' && name[10] == '4' && name[11] == '\0') +- { +- if (name[3] == 'd') +- return PRIdLEAST64; +- if (name[3] == 'i') +- return PRIiLEAST64; +- if (name[3] == 'o') +- return PRIoLEAST64; +- if (name[3] == 'u') +- return PRIuLEAST64; +- if (name[3] == 'x') +- return PRIxLEAST64; +- if (name[3] == 'X') +- return PRIXLEAST64; +- abort (); +- } +- } +- if (name[4] == 'F' && name[5] == 'A' && name[6] == 'S' +- && name[7] == 'T') +- { +- if (name[8] == '8' && name[9] == '\0') +- { +- if (name[3] == 'd') +- return PRIdFAST8; +- if (name[3] == 'i') +- return PRIiFAST8; +- if (name[3] == 'o') +- return PRIoFAST8; +- if (name[3] == 'u') +- return PRIuFAST8; +- if (name[3] == 'x') +- return PRIxFAST8; +- if (name[3] == 'X') +- return PRIXFAST8; +- abort (); +- } +- if (name[8] == '1' && name[9] == '6' && name[10] == '\0') +- { +- if (name[3] == 'd') +- return PRIdFAST16; +- if (name[3] == 'i') +- return PRIiFAST16; +- if (name[3] == 'o') +- return PRIoFAST16; +- if (name[3] == 'u') +- return PRIuFAST16; +- if (name[3] == 'x') +- return PRIxFAST16; +- if (name[3] == 'X') +- return PRIXFAST16; +- abort (); +- } +- if (name[8] == '3' && name[9] == '2' && name[10] == '\0') +- { +- if (name[3] == 'd') +- return PRIdFAST32; +- if (name[3] == 'i') +- return PRIiFAST32; +- if (name[3] == 'o') +- return PRIoFAST32; +- if (name[3] == 'u') +- return PRIuFAST32; +- if (name[3] == 'x') +- return PRIxFAST32; +- if (name[3] == 'X') +- return PRIXFAST32; +- abort (); +- } +- if (name[8] == '6' && name[9] == '4' && name[10] == '\0') +- { +- if (name[3] == 'd') +- return PRIdFAST64; +- if (name[3] == 'i') +- return PRIiFAST64; +- if (name[3] == 'o') +- return PRIoFAST64; +- if (name[3] == 'u') +- return PRIuFAST64; +- if (name[3] == 'x') +- return PRIxFAST64; +- if (name[3] == 'X') +- return PRIXFAST64; +- abort (); +- } +- } +- if (name[4] == 'M' && name[5] == 'A' && name[6] == 'X' +- && name[7] == '\0') +- { +- if (name[3] == 'd') +- return PRIdMAX; +- if (name[3] == 'i') +- return PRIiMAX; +- if (name[3] == 'o') +- return PRIoMAX; +- if (name[3] == 'u') +- return PRIuMAX; +- if (name[3] == 'x') +- return PRIxMAX; +- if (name[3] == 'X') +- return PRIXMAX; +- abort (); +- } +- if (name[4] == 'P' && name[5] == 'T' && name[6] == 'R' +- && name[7] == '\0') +- { +- if (name[3] == 'd') +- return PRIdPTR; +- if (name[3] == 'i') +- return PRIiPTR; +- if (name[3] == 'o') +- return PRIoPTR; +- if (name[3] == 'u') +- return PRIuPTR; +- if (name[3] == 'x') +- return PRIxPTR; +- if (name[3] == 'X') +- return PRIXPTR; +- abort (); +- } +- } +- } +- /* Test for a glibc specific printf() format directive flag. */ +- if (name[0] == 'I' && name[1] == '\0') +- { +-#if defined _LIBC || __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 2) +- /* The 'I' flag, in numeric format directives, replaces ASCII digits +- with the 'outdigits' defined in the LC_CTYPE locale facet. This is +- used for Farsi (Persian) and maybe Arabic. */ +- return "I"; +-#else +- return ""; +-#endif +- } +- /* Other system dependent strings are not valid. */ +- return NULL; +-} +- +-/* Load the message catalogs specified by FILENAME. If it is no valid +- message catalog do nothing. */ +-void +-internal_function +-_nl_load_domain (struct loaded_l10nfile *domain_file, +- struct binding *domainbinding) +-{ +- __libc_lock_define_initialized_recursive (static, lock) +- int fd = -1; +- size_t size; +-#ifdef _LIBC +- struct stat64 st; +-#else +- struct stat st; +-#endif +- struct mo_file_header *data = (struct mo_file_header *) -1; +- int use_mmap = 0; +- struct loaded_domain *domain; +- int revision; +- const char *nullentry; +- size_t nullentrylen; +- +- __libc_lock_lock_recursive (lock); +- if (domain_file->decided != 0) +- { +- /* There are two possibilities: +- +- + this is the same thread calling again during this initialization +- via _nl_find_msg. We have initialized everything this call needs. +- +- + this is another thread which tried to initialize this object. +- Not necessary anymore since if the lock is available this +- is finished. +- */ +- goto done; +- } +- +- domain_file->decided = -1; +- domain_file->data = NULL; +- +- /* Note that it would be useless to store domainbinding in domain_file +- because domainbinding might be == NULL now but != NULL later (after +- a call to bind_textdomain_codeset). */ +- +- /* If the record does not represent a valid locale the FILENAME +- might be NULL. This can happen when according to the given +- specification the locale file name is different for XPG and CEN +- syntax. */ +- if (domain_file->filename == NULL) +- goto out; +- +- /* Try to open the addressed file. */ +- fd = open (domain_file->filename, O_RDONLY | O_BINARY); +- if (fd == -1) +- goto out; +- +- /* We must know about the size of the file. */ +- if ( +-#ifdef _LIBC +- __builtin_expect (fstat64 (fd, &st) != 0, 0) +-#else +- __builtin_expect (fstat (fd, &st) != 0, 0) +-#endif +- || __builtin_expect ((size = (size_t) st.st_size) != st.st_size, 0) +- || __builtin_expect (size < sizeof (struct mo_file_header), 0)) +- /* Something went wrong. */ +- goto out; +- +-#ifdef HAVE_MMAP +- /* Now we are ready to load the file. If mmap() is available we try +- this first. If not available or it failed we try to load it. */ +- data = (struct mo_file_header *) mmap (NULL, size, PROT_READ, +- MAP_PRIVATE, fd, 0); +- +- if (__builtin_expect (data != (struct mo_file_header *) -1, 1)) +- { +- /* mmap() call was successful. */ +- close (fd); +- fd = -1; +- use_mmap = 1; +- } +-#endif +- +- /* If the data is not yet available (i.e. mmap'ed) we try to load +- it manually. */ +- if (data == (struct mo_file_header *) -1) +- { +- size_t to_read; +- char *read_ptr; +- +- data = (struct mo_file_header *) malloc (size); +- if (data == NULL) +- goto out; +- +- to_read = size; +- read_ptr = (char *) data; +- do +- { +- long int nb = (long int) read (fd, read_ptr, to_read); +- if (nb <= 0) +- { +-#ifdef EINTR +- if (nb == -1 && errno == EINTR) +- continue; +-#endif +- goto out; +- } +- read_ptr += nb; +- to_read -= nb; +- } +- while (to_read > 0); +- +- close (fd); +- fd = -1; +- } +- +- /* Using the magic number we can test whether it really is a message +- catalog file. */ +- if (__builtin_expect (data->magic != _MAGIC && data->magic != _MAGIC_SWAPPED, +- 0)) +- { +- /* The magic number is wrong: not a message catalog file. */ +-#ifdef HAVE_MMAP +- if (use_mmap) +- munmap ((caddr_t) data, size); +- else +-#endif +- free (data); +- goto out; +- } +- +- domain = (struct loaded_domain *) malloc (sizeof (struct loaded_domain)); +- if (domain == NULL) +- goto out; +- domain_file->data = domain; +- +- domain->data = (char *) data; +- domain->use_mmap = use_mmap; +- domain->mmap_size = size; +- domain->must_swap = data->magic != _MAGIC; +- domain->malloced = NULL; +- +- /* Fill in the information about the available tables. */ +- revision = W (domain->must_swap, data->revision); +- /* We support only the major revisions 0 and 1. */ +- switch (revision >> 16) +- { +- case 0: +- case 1: +- domain->nstrings = W (domain->must_swap, data->nstrings); +- domain->orig_tab = (const struct string_desc *) +- ((char *) data + W (domain->must_swap, data->orig_tab_offset)); +- domain->trans_tab = (const struct string_desc *) +- ((char *) data + W (domain->must_swap, data->trans_tab_offset)); +- domain->hash_size = W (domain->must_swap, data->hash_tab_size); +- domain->hash_tab = +- (domain->hash_size > 2 +- ? (const nls_uint32 *) +- ((char *) data + W (domain->must_swap, data->hash_tab_offset)) +- : NULL); +- domain->must_swap_hash_tab = domain->must_swap; +- +- /* Now dispatch on the minor revision. */ +- switch (revision & 0xffff) +- { +- case 0: +- domain->n_sysdep_strings = 0; +- domain->orig_sysdep_tab = NULL; +- domain->trans_sysdep_tab = NULL; +- break; +- case 1: +- default: +- { +- nls_uint32 n_sysdep_strings; +- +- if (domain->hash_tab == NULL) +- /* This is invalid. These minor revisions need a hash table. */ +- goto invalid; +- +- n_sysdep_strings = +- W (domain->must_swap, data->n_sysdep_strings); +- if (n_sysdep_strings > 0) +- { +- nls_uint32 n_sysdep_segments; +- const struct sysdep_segment *sysdep_segments; +- const char **sysdep_segment_values; +- const nls_uint32 *orig_sysdep_tab; +- const nls_uint32 *trans_sysdep_tab; +- nls_uint32 n_inmem_sysdep_strings; +- size_t memneed; +- char *mem; +- struct sysdep_string_desc *inmem_orig_sysdep_tab; +- struct sysdep_string_desc *inmem_trans_sysdep_tab; +- nls_uint32 *inmem_hash_tab; +- unsigned int i, j; +- +- /* Get the values of the system dependent segments. */ +- n_sysdep_segments = +- W (domain->must_swap, data->n_sysdep_segments); +- sysdep_segments = (const struct sysdep_segment *) +- ((char *) data +- + W (domain->must_swap, data->sysdep_segments_offset)); +- sysdep_segment_values = +- (const char **) +- alloca (n_sysdep_segments * sizeof (const char *)); +- for (i = 0; i < n_sysdep_segments; i++) +- { +- const char *name = +- (char *) data +- + W (domain->must_swap, sysdep_segments[i].offset); +- nls_uint32 namelen = +- W (domain->must_swap, sysdep_segments[i].length); +- +- if (!(namelen > 0 && name[namelen - 1] == '\0')) +- { +- freea (sysdep_segment_values); +- goto invalid; +- } +- +- sysdep_segment_values[i] = get_sysdep_segment_value (name); +- } +- +- orig_sysdep_tab = (const nls_uint32 *) +- ((char *) data +- + W (domain->must_swap, data->orig_sysdep_tab_offset)); +- trans_sysdep_tab = (const nls_uint32 *) +- ((char *) data +- + W (domain->must_swap, data->trans_sysdep_tab_offset)); +- +- /* Compute the amount of additional memory needed for the +- system dependent strings and the augmented hash table. +- At the same time, also drop string pairs which refer to +- an undefined system dependent segment. */ +- n_inmem_sysdep_strings = 0; +- memneed = domain->hash_size * sizeof (nls_uint32); +- for (i = 0; i < n_sysdep_strings; i++) +- { +- int valid = 1; +- size_t needs[2]; +- +- for (j = 0; j < 2; j++) +- { +- const struct sysdep_string *sysdep_string = +- (const struct sysdep_string *) +- ((char *) data +- + W (domain->must_swap, +- j == 0 +- ? orig_sysdep_tab[i] +- : trans_sysdep_tab[i])); +- size_t need = 0; +- const struct segment_pair *p = sysdep_string->segments; +- +- if (W (domain->must_swap, p->sysdepref) != SEGMENTS_END) +- for (p = sysdep_string->segments;; p++) +- { +- nls_uint32 sysdepref; +- +- need += W (domain->must_swap, p->segsize); +- +- sysdepref = W (domain->must_swap, p->sysdepref); +- if (sysdepref == SEGMENTS_END) +- break; +- +- if (sysdepref >= n_sysdep_segments) +- { +- /* Invalid. */ +- freea (sysdep_segment_values); +- goto invalid; +- } +- +- if (sysdep_segment_values[sysdepref] == NULL) +- { +- /* This particular string pair is invalid. */ +- valid = 0; +- break; +- } +- +- need += strlen (sysdep_segment_values[sysdepref]); +- } +- +- needs[j] = need; +- if (!valid) +- break; +- } +- +- if (valid) +- { +- n_inmem_sysdep_strings++; +- memneed += needs[0] + needs[1]; +- } +- } +- memneed += 2 * n_inmem_sysdep_strings +- * sizeof (struct sysdep_string_desc); +- +- if (n_inmem_sysdep_strings > 0) +- { +- unsigned int k; +- +- /* Allocate additional memory. */ +- mem = (char *) malloc (memneed); +- if (mem == NULL) +- goto invalid; +- +- domain->malloced = mem; +- inmem_orig_sysdep_tab = (struct sysdep_string_desc *) mem; +- mem += n_inmem_sysdep_strings +- * sizeof (struct sysdep_string_desc); +- inmem_trans_sysdep_tab = (struct sysdep_string_desc *) mem; +- mem += n_inmem_sysdep_strings +- * sizeof (struct sysdep_string_desc); +- inmem_hash_tab = (nls_uint32 *) mem; +- mem += domain->hash_size * sizeof (nls_uint32); +- +- /* Compute the system dependent strings. */ +- k = 0; +- for (i = 0; i < n_sysdep_strings; i++) +- { +- int valid = 1; +- +- for (j = 0; j < 2; j++) +- { +- const struct sysdep_string *sysdep_string = +- (const struct sysdep_string *) +- ((char *) data +- + W (domain->must_swap, +- j == 0 +- ? orig_sysdep_tab[i] +- : trans_sysdep_tab[i])); +- const struct segment_pair *p = +- sysdep_string->segments; +- +- if (W (domain->must_swap, p->sysdepref) +- != SEGMENTS_END) +- for (p = sysdep_string->segments;; p++) +- { +- nls_uint32 sysdepref; +- +- sysdepref = +- W (domain->must_swap, p->sysdepref); +- if (sysdepref == SEGMENTS_END) +- break; +- +- if (sysdep_segment_values[sysdepref] == NULL) +- { +- /* This particular string pair is +- invalid. */ +- valid = 0; +- break; +- } +- } +- +- if (!valid) +- break; +- } +- +- if (valid) +- { +- for (j = 0; j < 2; j++) +- { +- const struct sysdep_string *sysdep_string = +- (const struct sysdep_string *) +- ((char *) data +- + W (domain->must_swap, +- j == 0 +- ? orig_sysdep_tab[i] +- : trans_sysdep_tab[i])); +- const char *static_segments = +- (char *) data +- + W (domain->must_swap, sysdep_string->offset); +- const struct segment_pair *p = +- sysdep_string->segments; +- +- /* Concatenate the segments, and fill +- inmem_orig_sysdep_tab[k] (for j == 0) and +- inmem_trans_sysdep_tab[k] (for j == 1). */ +- +- struct sysdep_string_desc *inmem_tab_entry = +- (j == 0 +- ? inmem_orig_sysdep_tab +- : inmem_trans_sysdep_tab) +- + k; +- +- if (W (domain->must_swap, p->sysdepref) +- == SEGMENTS_END) +- { +- /* Only one static segment. */ +- inmem_tab_entry->length = +- W (domain->must_swap, p->segsize); +- inmem_tab_entry->pointer = static_segments; +- } +- else +- { +- inmem_tab_entry->pointer = mem; +- +- for (p = sysdep_string->segments;; p++) +- { +- nls_uint32 segsize = +- W (domain->must_swap, p->segsize); +- nls_uint32 sysdepref = +- W (domain->must_swap, p->sysdepref); +- size_t n; +- +- if (segsize > 0) +- { +- memcpy (mem, static_segments, segsize); +- mem += segsize; +- static_segments += segsize; +- } +- +- if (sysdepref == SEGMENTS_END) +- break; +- +- n = strlen (sysdep_segment_values[sysdepref]); +- memcpy (mem, sysdep_segment_values[sysdepref], n); +- mem += n; +- } +- +- inmem_tab_entry->length = +- mem - inmem_tab_entry->pointer; +- } +- } +- +- k++; +- } +- } +- if (k != n_inmem_sysdep_strings) +- abort (); +- +- /* Compute the augmented hash table. */ +- for (i = 0; i < domain->hash_size; i++) +- inmem_hash_tab[i] = +- W (domain->must_swap_hash_tab, domain->hash_tab[i]); +- for (i = 0; i < n_inmem_sysdep_strings; i++) +- { +- const char *msgid = inmem_orig_sysdep_tab[i].pointer; +- nls_uint32 hash_val = __hash_string (msgid); +- nls_uint32 idx = hash_val % domain->hash_size; +- nls_uint32 incr = +- 1 + (hash_val % (domain->hash_size - 2)); +- +- for (;;) +- { +- if (inmem_hash_tab[idx] == 0) +- { +- /* Hash table entry is empty. Use it. */ +- inmem_hash_tab[idx] = 1 + domain->nstrings + i; +- break; +- } +- +- if (idx >= domain->hash_size - incr) +- idx -= domain->hash_size - incr; +- else +- idx += incr; +- } +- } +- +- domain->n_sysdep_strings = n_inmem_sysdep_strings; +- domain->orig_sysdep_tab = inmem_orig_sysdep_tab; +- domain->trans_sysdep_tab = inmem_trans_sysdep_tab; +- +- domain->hash_tab = inmem_hash_tab; +- domain->must_swap_hash_tab = 0; +- } +- else +- { +- domain->n_sysdep_strings = 0; +- domain->orig_sysdep_tab = NULL; +- domain->trans_sysdep_tab = NULL; +- } +- +- freea (sysdep_segment_values); +- } +- else +- { +- domain->n_sysdep_strings = 0; +- domain->orig_sysdep_tab = NULL; +- domain->trans_sysdep_tab = NULL; +- } +- } +- break; +- } +- break; +- default: +- /* This is an invalid revision. */ +- invalid: +- /* This is an invalid .mo file. */ +- if (domain->malloced) +- free (domain->malloced); +-#ifdef HAVE_MMAP +- if (use_mmap) +- munmap ((caddr_t) data, size); +- else +-#endif +- free (data); +- free (domain); +- domain_file->data = NULL; +- goto out; +- } +- +- /* No caches of converted translations so far. */ +- domain->conversions = NULL; +- domain->nconversions = 0; +- gl_rwlock_init (domain->conversions_lock); +- +- /* Get the header entry and look for a plural specification. */ +-#ifdef IN_LIBGLOCALE +- nullentry = +- _nl_find_msg (domain_file, domainbinding, NULL, "", &nullentrylen); +-#else +- nullentry = _nl_find_msg (domain_file, domainbinding, "", 0, &nullentrylen); +-#endif +- EXTRACT_PLURAL_EXPRESSION (nullentry, &domain->plural, &domain->nplurals); +- +- out: +- if (fd != -1) +- close (fd); +- +- domain_file->decided = 1; +- +- done: +- __libc_lock_unlock_recursive (lock); +-} +- +- +-#ifdef _LIBC +-void +-internal_function __libc_freeres_fn_section +-_nl_unload_domain (struct loaded_domain *domain) +-{ +- size_t i; +- +- if (domain->plural != &__gettext_germanic_plural) +- __gettext_free_exp ((struct expression *) domain->plural); +- +- for (i = 0; i < domain->nconversions; i++) +- { +- struct converted_domain *convd = &domain->conversions[i]; +- +- free (convd->encoding); +- if (convd->conv_tab != NULL && convd->conv_tab != (char **) -1) +- free (convd->conv_tab); +- if (convd->conv != (__gconv_t) -1) +- __gconv_close (convd->conv); +- } +- if (domain->conversions != NULL) +- free (domain->conversions); +- __libc_rwlock_fini (domain->conversions_lock); +- +- if (domain->malloced) +- free (domain->malloced); +- +-# ifdef _POSIX_MAPPED_FILES +- if (domain->use_mmap) +- munmap ((caddr_t) domain->data, domain->mmap_size); +- else +-# endif /* _POSIX_MAPPED_FILES */ +- free ((void *) domain->data); +- +- free (domain); +-} +-#endif +--- a/intl/localcharset.c ++++ /dev/null +@@ -1,461 +0,0 @@ +-/* Determine a canonical name for the current locale's character encoding. +- +- Copyright (C) 2000-2006 Free Software Foundation, Inc. +- +- This program is free software; you can redistribute it and/or modify it +- under the terms of the GNU Library General Public License as published +- by the Free Software Foundation; either version 2, or (at your option) +- any later version. +- +- This program is distributed in the hope that it will be useful, +- but WITHOUT ANY WARRANTY; without even the implied warranty of +- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +- Library General Public License for more details. +- +- You should have received a copy of the GNU Library General Public +- License along with this program; if not, write to the Free Software +- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, +- USA. */ +- +-/* Written by Bruno Haible . */ +- +-#include +- +-/* Specification. */ +-#include "localcharset.h" +- +-#include +-#include +-#include +-#include +- +-#if defined _WIN32 || defined __WIN32__ +-# define WIN32_NATIVE +-#endif +- +-#if defined __EMX__ +-/* Assume EMX program runs on OS/2, even if compiled under DOS. */ +-# define OS2 +-#endif +- +-#if !defined WIN32_NATIVE +-# if HAVE_LANGINFO_CODESET +-# include +-# else +-# if 0 /* see comment below */ +-# include +-# endif +-# endif +-# ifdef __CYGWIN__ +-# define WIN32_LEAN_AND_MEAN +-# include +-# endif +-#elif defined WIN32_NATIVE +-# define WIN32_LEAN_AND_MEAN +-# include +-#endif +-#if defined OS2 +-# define INCL_DOS +-# include +-#endif +- +-#if ENABLE_RELOCATABLE +-# include "relocatable.h" +-#else +-# define relocate(pathname) (pathname) +-#endif +- +-/* Get LIBDIR. */ +-#ifndef LIBDIR +-# include "configmake.h" +-#endif +- +-#if defined _WIN32 || defined __WIN32__ || defined __CYGWIN__ || defined __EMX__ || defined __DJGPP__ +- /* Win32, Cygwin, OS/2, DOS */ +-# define ISSLASH(C) ((C) == '/' || (C) == '\\') +-#endif +- +-#ifndef DIRECTORY_SEPARATOR +-# define DIRECTORY_SEPARATOR '/' +-#endif +- +-#ifndef ISSLASH +-# define ISSLASH(C) ((C) == DIRECTORY_SEPARATOR) +-#endif +- +-#if HAVE_DECL_GETC_UNLOCKED +-# undef getc +-# define getc getc_unlocked +-#endif +- +-/* The following static variable is declared 'volatile' to avoid a +- possible multithread problem in the function get_charset_aliases. If we +- are running in a threaded environment, and if two threads initialize +- 'charset_aliases' simultaneously, both will produce the same value, +- and everything will be ok if the two assignments to 'charset_aliases' +- are atomic. But I don't know what will happen if the two assignments mix. */ +-#if __STDC__ != 1 +-# define volatile /* empty */ +-#endif +-/* Pointer to the contents of the charset.alias file, if it has already been +- read, else NULL. Its format is: +- ALIAS_1 '\0' CANONICAL_1 '\0' ... ALIAS_n '\0' CANONICAL_n '\0' '\0' */ +-static const char * volatile charset_aliases; +- +-/* Return a pointer to the contents of the charset.alias file. */ +-static const char * +-get_charset_aliases (void) +-{ +- const char *cp; +- +- cp = charset_aliases; +- if (cp == NULL) +- { +-#if !(defined VMS || defined WIN32_NATIVE || defined __CYGWIN__) +- FILE *fp; +- const char *dir; +- const char *base = "charset.alias"; +- char *file_name; +- +- /* Make it possible to override the charset.alias location. This is +- necessary for running the testsuite before "make install". */ +- dir = getenv ("CHARSETALIASDIR"); +- if (dir == NULL || dir[0] == '\0') +- dir = relocate (LIBDIR); +- +- /* Concatenate dir and base into freshly allocated file_name. */ +- { +- size_t dir_len = strlen (dir); +- size_t base_len = strlen (base); +- int add_slash = (dir_len > 0 && !ISSLASH (dir[dir_len - 1])); +- file_name = (char *) malloc (dir_len + add_slash + base_len + 1); +- if (file_name != NULL) +- { +- memcpy (file_name, dir, dir_len); +- if (add_slash) +- file_name[dir_len] = DIRECTORY_SEPARATOR; +- memcpy (file_name + dir_len + add_slash, base, base_len + 1); +- } +- } +- +- if (file_name == NULL || (fp = fopen (file_name, "r")) == NULL) +- /* Out of memory or file not found, treat it as empty. */ +- cp = ""; +- else +- { +- /* Parse the file's contents. */ +- char *res_ptr = NULL; +- size_t res_size = 0; +- +- for (;;) +- { +- int c; +- char buf1[50+1]; +- char buf2[50+1]; +- size_t l1, l2; +- char *old_res_ptr; +- +- c = getc (fp); +- if (c == EOF) +- break; +- if (c == '\n' || c == ' ' || c == '\t') +- continue; +- if (c == '#') +- { +- /* Skip comment, to end of line. */ +- do +- c = getc (fp); +- while (!(c == EOF || c == '\n')); +- if (c == EOF) +- break; +- continue; +- } +- ungetc (c, fp); +- if (fscanf (fp, "%50s %50s", buf1, buf2) < 2) +- break; +- l1 = strlen (buf1); +- l2 = strlen (buf2); +- old_res_ptr = res_ptr; +- if (res_size == 0) +- { +- res_size = l1 + 1 + l2 + 1; +- res_ptr = (char *) malloc (res_size + 1); +- } +- else +- { +- res_size += l1 + 1 + l2 + 1; +- res_ptr = (char *) realloc (res_ptr, res_size + 1); +- } +- if (res_ptr == NULL) +- { +- /* Out of memory. */ +- res_size = 0; +- if (old_res_ptr != NULL) +- free (old_res_ptr); +- break; +- } +- strcpy (res_ptr + res_size - (l2 + 1) - (l1 + 1), buf1); +- strcpy (res_ptr + res_size - (l2 + 1), buf2); +- } +- fclose (fp); +- if (res_size == 0) +- cp = ""; +- else +- { +- *(res_ptr + res_size) = '\0'; +- cp = res_ptr; +- } +- } +- +- if (file_name != NULL) +- free (file_name); +- +-#else +- +-# if defined VMS +- /* To avoid the troubles of an extra file charset.alias_vms in the +- sources of many GNU packages, simply inline the aliases here. */ +- /* The list of encodings is taken from the OpenVMS 7.3-1 documentation +- "Compaq C Run-Time Library Reference Manual for OpenVMS systems" +- section 10.7 "Handling Different Character Sets". */ +- cp = "ISO8859-1" "\0" "ISO-8859-1" "\0" +- "ISO8859-2" "\0" "ISO-8859-2" "\0" +- "ISO8859-5" "\0" "ISO-8859-5" "\0" +- "ISO8859-7" "\0" "ISO-8859-7" "\0" +- "ISO8859-8" "\0" "ISO-8859-8" "\0" +- "ISO8859-9" "\0" "ISO-8859-9" "\0" +- /* Japanese */ +- "eucJP" "\0" "EUC-JP" "\0" +- "SJIS" "\0" "SHIFT_JIS" "\0" +- "DECKANJI" "\0" "DEC-KANJI" "\0" +- "SDECKANJI" "\0" "EUC-JP" "\0" +- /* Chinese */ +- "eucTW" "\0" "EUC-TW" "\0" +- "DECHANYU" "\0" "DEC-HANYU" "\0" +- "DECHANZI" "\0" "GB2312" "\0" +- /* Korean */ +- "DECKOREAN" "\0" "EUC-KR" "\0"; +-# endif +- +-# if defined WIN32_NATIVE || defined __CYGWIN__ +- /* To avoid the troubles of installing a separate file in the same +- directory as the DLL and of retrieving the DLL's directory at +- runtime, simply inline the aliases here. */ +- +- cp = "CP936" "\0" "GBK" "\0" +- "CP1361" "\0" "JOHAB" "\0" +- "CP20127" "\0" "ASCII" "\0" +- "CP20866" "\0" "KOI8-R" "\0" +- "CP20936" "\0" "GB2312" "\0" +- "CP21866" "\0" "KOI8-RU" "\0" +- "CP28591" "\0" "ISO-8859-1" "\0" +- "CP28592" "\0" "ISO-8859-2" "\0" +- "CP28593" "\0" "ISO-8859-3" "\0" +- "CP28594" "\0" "ISO-8859-4" "\0" +- "CP28595" "\0" "ISO-8859-5" "\0" +- "CP28596" "\0" "ISO-8859-6" "\0" +- "CP28597" "\0" "ISO-8859-7" "\0" +- "CP28598" "\0" "ISO-8859-8" "\0" +- "CP28599" "\0" "ISO-8859-9" "\0" +- "CP28605" "\0" "ISO-8859-15" "\0" +- "CP38598" "\0" "ISO-8859-8" "\0" +- "CP51932" "\0" "EUC-JP" "\0" +- "CP51936" "\0" "GB2312" "\0" +- "CP51949" "\0" "EUC-KR" "\0" +- "CP51950" "\0" "EUC-TW" "\0" +- "CP54936" "\0" "GB18030" "\0" +- "CP65001" "\0" "UTF-8" "\0"; +-# endif +-#endif +- +- charset_aliases = cp; +- } +- +- return cp; +-} +- +-/* Determine the current locale's character encoding, and canonicalize it +- into one of the canonical names listed in config.charset. +- The result must not be freed; it is statically allocated. +- If the canonical name cannot be determined, the result is a non-canonical +- name. */ +- +-#ifdef STATIC +-STATIC +-#endif +-const char * +-locale_charset (void) +-{ +- const char *codeset; +- const char *aliases; +- +-#if !(defined WIN32_NATIVE || defined OS2) +- +-# if HAVE_LANGINFO_CODESET +- +- /* Most systems support nl_langinfo (CODESET) nowadays. */ +- codeset = nl_langinfo (CODESET); +- +-# ifdef __CYGWIN__ +- /* Cygwin 2006 does not have locales. nl_langinfo (CODESET) always +- returns "US-ASCII". As long as this is not fixed, return the suffix +- of the locale name from the environment variables (if present) or +- the codepage as a number. */ +- if (codeset != NULL && strcmp (codeset, "US-ASCII") == 0) +- { +- const char *locale; +- static char buf[2 + 10 + 1]; +- +- locale = getenv ("LC_ALL"); +- if (locale == NULL || locale[0] == '\0') +- { +- locale = getenv ("LC_CTYPE"); +- if (locale == NULL || locale[0] == '\0') +- locale = getenv ("LANG"); +- } +- if (locale != NULL && locale[0] != '\0') +- { +- /* If the locale name contains an encoding after the dot, return +- it. */ +- const char *dot = strchr (locale, '.'); +- +- if (dot != NULL) +- { +- const char *modifier; +- +- dot++; +- /* Look for the possible @... trailer and remove it, if any. */ +- modifier = strchr (dot, '@'); +- if (modifier == NULL) +- return dot; +- if (modifier - dot < sizeof (buf)) +- { +- memcpy (buf, dot, modifier - dot); +- buf [modifier - dot] = '\0'; +- return buf; +- } +- } +- } +- +- /* Woe32 has a function returning the locale's codepage as a number. */ +- sprintf (buf, "CP%u", GetACP ()); +- codeset = buf; +- } +-# endif +- +-# else +- +- /* On old systems which lack it, use setlocale or getenv. */ +- const char *locale = NULL; +- +- /* But most old systems don't have a complete set of locales. Some +- (like SunOS 4 or DJGPP) have only the C locale. Therefore we don't +- use setlocale here; it would return "C" when it doesn't support the +- locale name the user has set. */ +-# if 0 +- locale = setlocale (LC_CTYPE, NULL); +-# endif +- if (locale == NULL || locale[0] == '\0') +- { +- locale = getenv ("LC_ALL"); +- if (locale == NULL || locale[0] == '\0') +- { +- locale = getenv ("LC_CTYPE"); +- if (locale == NULL || locale[0] == '\0') +- locale = getenv ("LANG"); +- } +- } +- +- /* On some old systems, one used to set locale = "iso8859_1". On others, +- you set it to "language_COUNTRY.charset". In any case, we resolve it +- through the charset.alias file. */ +- codeset = locale; +- +-# endif +- +-#elif defined WIN32_NATIVE +- +- static char buf[2 + 10 + 1]; +- +- /* Woe32 has a function returning the locale's codepage as a number. */ +- sprintf (buf, "CP%u", GetACP ()); +- codeset = buf; +- +-#elif defined OS2 +- +- const char *locale; +- static char buf[2 + 10 + 1]; +- ULONG cp[3]; +- ULONG cplen; +- +- /* Allow user to override the codeset, as set in the operating system, +- with standard language environment variables. */ +- locale = getenv ("LC_ALL"); +- if (locale == NULL || locale[0] == '\0') +- { +- locale = getenv ("LC_CTYPE"); +- if (locale == NULL || locale[0] == '\0') +- locale = getenv ("LANG"); +- } +- if (locale != NULL && locale[0] != '\0') +- { +- /* If the locale name contains an encoding after the dot, return it. */ +- const char *dot = strchr (locale, '.'); +- +- if (dot != NULL) +- { +- const char *modifier; +- +- dot++; +- /* Look for the possible @... trailer and remove it, if any. */ +- modifier = strchr (dot, '@'); +- if (modifier == NULL) +- return dot; +- if (modifier - dot < sizeof (buf)) +- { +- memcpy (buf, dot, modifier - dot); +- buf [modifier - dot] = '\0'; +- return buf; +- } +- } +- +- /* Resolve through the charset.alias file. */ +- codeset = locale; +- } +- else +- { +- /* OS/2 has a function returning the locale's codepage as a number. */ +- if (DosQueryCp (sizeof (cp), cp, &cplen)) +- codeset = ""; +- else +- { +- sprintf (buf, "CP%u", cp[0]); +- codeset = buf; +- } +- } +- +-#endif +- +- if (codeset == NULL) +- /* The canonical name cannot be determined. */ +- codeset = ""; +- +- /* Resolve alias. */ +- for (aliases = get_charset_aliases (); +- *aliases != '\0'; +- aliases += strlen (aliases) + 1, aliases += strlen (aliases) + 1) +- if (strcmp (codeset, aliases) == 0 +- || (aliases[0] == '*' && aliases[1] == '\0')) +- { +- codeset = aliases + strlen (aliases) + 1; +- break; +- } +- +- /* Don't return an empty string. GNU libc and GNU libiconv interpret +- the empty string as denoting "the locale's character encoding", +- thus GNU libiconv would call this function a second time. */ +- if (codeset[0] == '\0') +- codeset = "ASCII"; +- +- return codeset; +-} +--- a/intl/localcharset.h ++++ /dev/null +@@ -1,42 +0,0 @@ +-/* Determine a canonical name for the current locale's character encoding. +- Copyright (C) 2000-2003 Free Software Foundation, Inc. +- This file is part of the GNU CHARSET Library. +- +- This program is free software; you can redistribute it and/or modify it +- under the terms of the GNU Library General Public License as published +- by the Free Software Foundation; either version 2, or (at your option) +- any later version. +- +- This program is distributed in the hope that it will be useful, +- but WITHOUT ANY WARRANTY; without even the implied warranty of +- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +- Library General Public License for more details. +- +- You should have received a copy of the GNU Library General Public +- License along with this program; if not, write to the Free Software +- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, +- USA. */ +- +-#ifndef _LOCALCHARSET_H +-#define _LOCALCHARSET_H +- +- +-#ifdef __cplusplus +-extern "C" { +-#endif +- +- +-/* Determine the current locale's character encoding, and canonicalize it +- into one of the canonical names listed in config.charset. +- The result must not be freed; it is statically allocated. +- If the canonical name cannot be determined, the result is a non-canonical +- name. */ +-extern const char * locale_charset (void); +- +- +-#ifdef __cplusplus +-} +-#endif +- +- +-#endif /* _LOCALCHARSET_H */ +--- a/intl/locale.alias ++++ /dev/null +@@ -1,77 +0,0 @@ +-# Locale name alias data base. +-# Copyright (C) 1996-2001,2003,2007 Free Software Foundation, Inc. +-# +-# This program is free software; you can redistribute it and/or modify it +-# under the terms of the GNU Library General Public License as published +-# by the Free Software Foundation; either version 2, or (at your option) +-# any later version. +-# +-# This program is distributed in the hope that it will be useful, +-# but WITHOUT ANY WARRANTY; without even the implied warranty of +-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +-# Library General Public License for more details. +-# +-# You should have received a copy of the GNU Library General Public +-# License along with this program; if not, write to the Free Software +-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, +-# USA. +- +-# The format of this file is the same as for the corresponding file of +-# the X Window System, which normally can be found in +-# /usr/lib/X11/locale/locale.alias +-# A single line contains two fields: an alias and a substitution value. +-# All entries are case independent. +- +-# Note: This file is obsolete and is kept around for the time being for +-# backward compatibility. Nobody should rely on the names defined here. +-# Locales should always be specified by their full name. +- +-# Packages using this file: +- +-bokmal nb_NO.ISO-8859-1 +-bokmål nb_NO.ISO-8859-1 +-catalan ca_ES.ISO-8859-1 +-croatian hr_HR.ISO-8859-2 +-czech cs_CZ.ISO-8859-2 +-danish da_DK.ISO-8859-1 +-dansk da_DK.ISO-8859-1 +-deutsch de_DE.ISO-8859-1 +-dutch nl_NL.ISO-8859-1 +-eesti et_EE.ISO-8859-1 +-estonian et_EE.ISO-8859-1 +-finnish fi_FI.ISO-8859-1 +-français fr_FR.ISO-8859-1 +-french fr_FR.ISO-8859-1 +-galego gl_ES.ISO-8859-1 +-galician gl_ES.ISO-8859-1 +-german de_DE.ISO-8859-1 +-greek el_GR.ISO-8859-7 +-hebrew he_IL.ISO-8859-8 +-hrvatski hr_HR.ISO-8859-2 +-hungarian hu_HU.ISO-8859-2 +-icelandic is_IS.ISO-8859-1 +-italian it_IT.ISO-8859-1 +-japanese ja_JP.eucJP +-japanese.euc ja_JP.eucJP +-ja_JP ja_JP.eucJP +-ja_JP.ujis ja_JP.eucJP +-japanese.sjis ja_JP.SJIS +-korean ko_KR.eucKR +-korean.euc ko_KR.eucKR +-ko_KR ko_KR.eucKR +-lithuanian lt_LT.ISO-8859-13 +-no_NO nb_NO.ISO-8859-1 +-no_NO.ISO-8859-1 nb_NO.ISO-8859-1 +-norwegian nb_NO.ISO-8859-1 +-nynorsk nn_NO.ISO-8859-1 +-polish pl_PL.ISO-8859-2 +-portuguese pt_PT.ISO-8859-1 +-romanian ro_RO.ISO-8859-2 +-russian ru_RU.ISO-8859-5 +-slovak sk_SK.ISO-8859-2 +-slovene sl_SI.ISO-8859-2 +-slovenian sl_SI.ISO-8859-2 +-spanish es_ES.ISO-8859-1 +-swedish sv_SE.ISO-8859-1 +-thai th_TH.TIS-620 +-turkish tr_TR.ISO-8859-9 +--- a/intl/localealias.c ++++ /dev/null +@@ -1,439 +0,0 @@ +-/* Handle aliases for locale names. +- Copyright (C) 1995-1999, 2000-2001, 2003, 2005-2006 Free Software Foundation, Inc. +- +- This program is free software; you can redistribute it and/or modify it +- under the terms of the GNU Library General Public License as published +- by the Free Software Foundation; either version 2, or (at your option) +- any later version. +- +- This program is distributed in the hope that it will be useful, +- but WITHOUT ANY WARRANTY; without even the implied warranty of +- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +- Library General Public License for more details. +- +- You should have received a copy of the GNU Library General Public +- License along with this program; if not, write to the Free Software +- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, +- USA. */ +- +-/* Tell glibc's to provide a prototype for mempcpy(). +- This must come before because may include +- , and once has been included, it's too late. */ +-#ifndef _GNU_SOURCE +-# define _GNU_SOURCE 1 +-#endif +- +-#ifdef HAVE_CONFIG_H +-# include +-#endif +- +-#include +-#include +-#if defined _LIBC || defined HAVE___FSETLOCKING +-# include +-#endif +-#include +- +-#ifdef __GNUC__ +-# undef alloca +-# define alloca __builtin_alloca +-# define HAVE_ALLOCA 1 +-#else +-# ifdef _MSC_VER +-# include +-# define alloca _alloca +-# else +-# if defined HAVE_ALLOCA_H || defined _LIBC +-# include +-# else +-# ifdef _AIX +- #pragma alloca +-# else +-# ifndef alloca +-char *alloca (); +-# endif +-# endif +-# endif +-# endif +-#endif +- +-#include +-#include +- +-#include "gettextP.h" +- +-#if ENABLE_RELOCATABLE +-# include "relocatable.h" +-#else +-# define relocate(pathname) (pathname) +-#endif +- +-/* @@ end of prolog @@ */ +- +-#ifdef _LIBC +-/* Rename the non ANSI C functions. This is required by the standard +- because some ANSI C functions will require linking with this object +- file and the name space must not be polluted. */ +-# define strcasecmp __strcasecmp +- +-# ifndef mempcpy +-# define mempcpy __mempcpy +-# endif +-# define HAVE_MEMPCPY 1 +-# define HAVE___FSETLOCKING 1 +-#endif +- +-/* Handle multi-threaded applications. */ +-#ifdef _LIBC +-# include +-#else +-# include "lock.h" +-#endif +- +-#ifndef internal_function +-# define internal_function +-#endif +- +-/* Some optimizations for glibc. */ +-#ifdef _LIBC +-# define FEOF(fp) feof_unlocked (fp) +-# define FGETS(buf, n, fp) fgets_unlocked (buf, n, fp) +-#else +-# define FEOF(fp) feof (fp) +-# define FGETS(buf, n, fp) fgets (buf, n, fp) +-#endif +- +-/* For those losing systems which don't have `alloca' we have to add +- some additional code emulating it. */ +-#ifdef HAVE_ALLOCA +-# define freea(p) /* nothing */ +-#else +-# define alloca(n) malloc (n) +-# define freea(p) free (p) +-#endif +- +-#if defined _LIBC_REENTRANT || HAVE_DECL_FGETS_UNLOCKED +-# undef fgets +-# define fgets(buf, len, s) fgets_unlocked (buf, len, s) +-#endif +-#if defined _LIBC_REENTRANT || HAVE_DECL_FEOF_UNLOCKED +-# undef feof +-# define feof(s) feof_unlocked (s) +-#endif +- +- +-__libc_lock_define_initialized (static, lock) +- +- +-struct alias_map +-{ +- const char *alias; +- const char *value; +-}; +- +- +-#ifndef _LIBC +-# define libc_freeres_ptr(decl) decl +-#endif +- +-libc_freeres_ptr (static char *string_space); +-static size_t string_space_act; +-static size_t string_space_max; +-libc_freeres_ptr (static struct alias_map *map); +-static size_t nmap; +-static size_t maxmap; +- +- +-/* Prototypes for local functions. */ +-static size_t read_alias_file (const char *fname, int fname_len) +- internal_function; +-static int extend_alias_table (void); +-static int alias_compare (const struct alias_map *map1, +- const struct alias_map *map2); +- +- +-const char * +-_nl_expand_alias (const char *name) +-{ +- static const char *locale_alias_path; +- struct alias_map *retval; +- const char *result = NULL; +- size_t added; +- +- __libc_lock_lock (lock); +- +- if (locale_alias_path == NULL) +- locale_alias_path = LOCALE_ALIAS_PATH; +- +- do +- { +- struct alias_map item; +- +- item.alias = name; +- +- if (nmap > 0) +- retval = (struct alias_map *) bsearch (&item, map, nmap, +- sizeof (struct alias_map), +- (int (*) (const void *, +- const void *) +- ) alias_compare); +- else +- retval = NULL; +- +- /* We really found an alias. Return the value. */ +- if (retval != NULL) +- { +- result = retval->value; +- break; +- } +- +- /* Perhaps we can find another alias file. */ +- added = 0; +- while (added == 0 && locale_alias_path[0] != '\0') +- { +- const char *start; +- +- while (locale_alias_path[0] == PATH_SEPARATOR) +- ++locale_alias_path; +- start = locale_alias_path; +- +- while (locale_alias_path[0] != '\0' +- && locale_alias_path[0] != PATH_SEPARATOR) +- ++locale_alias_path; +- +- if (start < locale_alias_path) +- added = read_alias_file (start, locale_alias_path - start); +- } +- } +- while (added != 0); +- +- __libc_lock_unlock (lock); +- +- return result; +-} +- +- +-static size_t +-internal_function +-read_alias_file (const char *fname, int fname_len) +-{ +- FILE *fp; +- char *full_fname; +- size_t added; +- static const char aliasfile[] = "/locale.alias"; +- +- full_fname = (char *) alloca (fname_len + sizeof aliasfile); +-#ifdef HAVE_MEMPCPY +- mempcpy (mempcpy (full_fname, fname, fname_len), +- aliasfile, sizeof aliasfile); +-#else +- memcpy (full_fname, fname, fname_len); +- memcpy (&full_fname[fname_len], aliasfile, sizeof aliasfile); +-#endif +- +-#ifdef _LIBC +- /* Note the file is opened with cancellation in the I/O functions +- disabled. */ +- fp = fopen (relocate (full_fname), "rc"); +-#else +- fp = fopen (relocate (full_fname), "r"); +-#endif +- freea (full_fname); +- if (fp == NULL) +- return 0; +- +-#ifdef HAVE___FSETLOCKING +- /* No threads present. */ +- __fsetlocking (fp, FSETLOCKING_BYCALLER); +-#endif +- +- added = 0; +- while (!FEOF (fp)) +- { +- /* It is a reasonable approach to use a fix buffer here because +- a) we are only interested in the first two fields +- b) these fields must be usable as file names and so must not +- be that long +- We avoid a multi-kilobyte buffer here since this would use up +- stack space which we might not have if the program ran out of +- memory. */ +- char buf[400]; +- char *alias; +- char *value; +- char *cp; +- int complete_line; +- +- if (FGETS (buf, sizeof buf, fp) == NULL) +- /* EOF reached. */ +- break; +- +- /* Determine whether the line is complete. */ +- complete_line = strchr (buf, '\n') != NULL; +- +- cp = buf; +- /* Ignore leading white space. */ +- while (isspace ((unsigned char) cp[0])) +- ++cp; +- +- /* A leading '#' signals a comment line. */ +- if (cp[0] != '\0' && cp[0] != '#') +- { +- alias = cp++; +- while (cp[0] != '\0' && !isspace ((unsigned char) cp[0])) +- ++cp; +- /* Terminate alias name. */ +- if (cp[0] != '\0') +- *cp++ = '\0'; +- +- /* Now look for the beginning of the value. */ +- while (isspace ((unsigned char) cp[0])) +- ++cp; +- +- if (cp[0] != '\0') +- { +- value = cp++; +- while (cp[0] != '\0' && !isspace ((unsigned char) cp[0])) +- ++cp; +- /* Terminate value. */ +- if (cp[0] == '\n') +- { +- /* This has to be done to make the following test +- for the end of line possible. We are looking for +- the terminating '\n' which do not overwrite here. */ +- *cp++ = '\0'; +- *cp = '\n'; +- } +- else if (cp[0] != '\0') +- *cp++ = '\0'; +- +-#ifdef IN_LIBGLOCALE +- /* glibc's locale.alias contains entries for ja_JP and ko_KR +- that make it impossible to use a Japanese or Korean UTF-8 +- locale under the name "ja_JP" or "ko_KR". Ignore these +- entries. */ +- if (strchr (alias, '_') == NULL) +-#endif +- { +- size_t alias_len; +- size_t value_len; +- +- if (nmap >= maxmap) +- if (__builtin_expect (extend_alias_table (), 0)) +- goto out; +- +- alias_len = strlen (alias) + 1; +- value_len = strlen (value) + 1; +- +- if (string_space_act + alias_len + value_len > string_space_max) +- { +- /* Increase size of memory pool. */ +- size_t new_size = (string_space_max +- + (alias_len + value_len > 1024 +- ? alias_len + value_len : 1024)); +- char *new_pool = (char *) realloc (string_space, new_size); +- if (new_pool == NULL) +- goto out; +- +- if (__builtin_expect (string_space != new_pool, 0)) +- { +- size_t i; +- +- for (i = 0; i < nmap; i++) +- { +- map[i].alias += new_pool - string_space; +- map[i].value += new_pool - string_space; +- } +- } +- +- string_space = new_pool; +- string_space_max = new_size; +- } +- +- map[nmap].alias = +- (const char *) memcpy (&string_space[string_space_act], +- alias, alias_len); +- string_space_act += alias_len; +- +- map[nmap].value = +- (const char *) memcpy (&string_space[string_space_act], +- value, value_len); +- string_space_act += value_len; +- +- ++nmap; +- ++added; +- } +- } +- } +- +- /* Possibly not the whole line fits into the buffer. Ignore +- the rest of the line. */ +- if (! complete_line) +- do +- if (FGETS (buf, sizeof buf, fp) == NULL) +- /* Make sure the inner loop will be left. The outer loop +- will exit at the `feof' test. */ +- break; +- while (strchr (buf, '\n') == NULL); +- } +- +- out: +- /* Should we test for ferror()? I think we have to silently ignore +- errors. --drepper */ +- fclose (fp); +- +- if (added > 0) +- qsort (map, nmap, sizeof (struct alias_map), +- (int (*) (const void *, const void *)) alias_compare); +- +- return added; +-} +- +- +-static int +-extend_alias_table () +-{ +- size_t new_size; +- struct alias_map *new_map; +- +- new_size = maxmap == 0 ? 100 : 2 * maxmap; +- new_map = (struct alias_map *) realloc (map, (new_size +- * sizeof (struct alias_map))); +- if (new_map == NULL) +- /* Simply don't extend: we don't have any more core. */ +- return -1; +- +- map = new_map; +- maxmap = new_size; +- return 0; +-} +- +- +-static int +-alias_compare (const struct alias_map *map1, const struct alias_map *map2) +-{ +-#if defined _LIBC || defined HAVE_STRCASECMP +- return strcasecmp (map1->alias, map2->alias); +-#else +- const unsigned char *p1 = (const unsigned char *) map1->alias; +- const unsigned char *p2 = (const unsigned char *) map2->alias; +- unsigned char c1, c2; +- +- if (p1 == p2) +- return 0; +- +- do +- { +- /* I know this seems to be odd but the tolower() function in +- some systems libc cannot handle nonalpha characters. */ +- c1 = isupper (*p1) ? tolower (*p1) : *p1; +- c2 = isupper (*p2) ? tolower (*p2) : *p2; +- if (c1 == '\0') +- break; +- ++p1; +- ++p2; +- } +- while (c1 == c2); +- +- return c1 - c2; +-#endif +-} +--- a/intl/localename.c ++++ /dev/null +@@ -1,1507 +0,0 @@ +-/* Determine name of the currently selected locale. +- Copyright (C) 1995-1999, 2000-2007 Free Software Foundation, Inc. +- +- This program is free software; you can redistribute it and/or modify it +- under the terms of the GNU Library General Public License as published +- by the Free Software Foundation; either version 2, or (at your option) +- any later version. +- +- This program is distributed in the hope that it will be useful, +- but WITHOUT ANY WARRANTY; without even the implied warranty of +- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +- Library General Public License for more details. +- +- You should have received a copy of the GNU Library General Public +- License along with this program; if not, write to the Free Software +- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, +- USA. */ +- +-/* Written by Ulrich Drepper , 1995. */ +-/* Win32 code written by Tor Lillqvist . */ +-/* MacOS X code written by Bruno Haible . */ +- +-#include +- +-/* Specification. */ +-#ifdef IN_LIBINTL +-# include "gettextP.h" +-#else +-# include "localename.h" +-#endif +- +-#include +-#include +- +-#if HAVE_CFLOCALECOPYCURRENT || HAVE_CFPREFERENCESCOPYAPPVALUE +-# include +-# include +-# if HAVE_CFLOCALECOPYCURRENT +-# include +-# elif HAVE_CFPREFERENCESCOPYAPPVALUE +-# include +-# endif +-#endif +- +-#if defined _WIN32 || defined __WIN32__ +-# define WIN32_NATIVE +-#endif +- +-#ifdef WIN32_NATIVE +-# define WIN32_LEAN_AND_MEAN +-# include +-/* List of language codes, sorted by value: +- 0x01 LANG_ARABIC +- 0x02 LANG_BULGARIAN +- 0x03 LANG_CATALAN +- 0x04 LANG_CHINESE +- 0x05 LANG_CZECH +- 0x06 LANG_DANISH +- 0x07 LANG_GERMAN +- 0x08 LANG_GREEK +- 0x09 LANG_ENGLISH +- 0x0a LANG_SPANISH +- 0x0b LANG_FINNISH +- 0x0c LANG_FRENCH +- 0x0d LANG_HEBREW +- 0x0e LANG_HUNGARIAN +- 0x0f LANG_ICELANDIC +- 0x10 LANG_ITALIAN +- 0x11 LANG_JAPANESE +- 0x12 LANG_KOREAN +- 0x13 LANG_DUTCH +- 0x14 LANG_NORWEGIAN +- 0x15 LANG_POLISH +- 0x16 LANG_PORTUGUESE +- 0x17 LANG_RHAETO_ROMANCE +- 0x18 LANG_ROMANIAN +- 0x19 LANG_RUSSIAN +- 0x1a LANG_CROATIAN == LANG_SERBIAN +- 0x1b LANG_SLOVAK +- 0x1c LANG_ALBANIAN +- 0x1d LANG_SWEDISH +- 0x1e LANG_THAI +- 0x1f LANG_TURKISH +- 0x20 LANG_URDU +- 0x21 LANG_INDONESIAN +- 0x22 LANG_UKRAINIAN +- 0x23 LANG_BELARUSIAN +- 0x24 LANG_SLOVENIAN +- 0x25 LANG_ESTONIAN +- 0x26 LANG_LATVIAN +- 0x27 LANG_LITHUANIAN +- 0x28 LANG_TAJIK +- 0x29 LANG_FARSI +- 0x2a LANG_VIETNAMESE +- 0x2b LANG_ARMENIAN +- 0x2c LANG_AZERI +- 0x2d LANG_BASQUE +- 0x2e LANG_SORBIAN +- 0x2f LANG_MACEDONIAN +- 0x30 LANG_SUTU +- 0x31 LANG_TSONGA +- 0x32 LANG_TSWANA +- 0x33 LANG_VENDA +- 0x34 LANG_XHOSA +- 0x35 LANG_ZULU +- 0x36 LANG_AFRIKAANS +- 0x37 LANG_GEORGIAN +- 0x38 LANG_FAEROESE +- 0x39 LANG_HINDI +- 0x3a LANG_MALTESE +- 0x3b LANG_SAAMI +- 0x3c LANG_GAELIC +- 0x3d LANG_YIDDISH +- 0x3e LANG_MALAY +- 0x3f LANG_KAZAK +- 0x40 LANG_KYRGYZ +- 0x41 LANG_SWAHILI +- 0x42 LANG_TURKMEN +- 0x43 LANG_UZBEK +- 0x44 LANG_TATAR +- 0x45 LANG_BENGALI +- 0x46 LANG_PUNJABI +- 0x47 LANG_GUJARATI +- 0x48 LANG_ORIYA +- 0x49 LANG_TAMIL +- 0x4a LANG_TELUGU +- 0x4b LANG_KANNADA +- 0x4c LANG_MALAYALAM +- 0x4d LANG_ASSAMESE +- 0x4e LANG_MARATHI +- 0x4f LANG_SANSKRIT +- 0x50 LANG_MONGOLIAN +- 0x51 LANG_TIBETAN +- 0x52 LANG_WELSH +- 0x53 LANG_CAMBODIAN +- 0x54 LANG_LAO +- 0x55 LANG_BURMESE +- 0x56 LANG_GALICIAN +- 0x57 LANG_KONKANI +- 0x58 LANG_MANIPURI +- 0x59 LANG_SINDHI +- 0x5a LANG_SYRIAC +- 0x5b LANG_SINHALESE +- 0x5c LANG_CHEROKEE +- 0x5d LANG_INUKTITUT +- 0x5e LANG_AMHARIC +- 0x5f LANG_TAMAZIGHT +- 0x60 LANG_KASHMIRI +- 0x61 LANG_NEPALI +- 0x62 LANG_FRISIAN +- 0x63 LANG_PASHTO +- 0x64 LANG_TAGALOG +- 0x65 LANG_DIVEHI +- 0x66 LANG_EDO +- 0x67 LANG_FULFULDE +- 0x68 LANG_HAUSA +- 0x69 LANG_IBIBIO +- 0x6a LANG_YORUBA +- 0x70 LANG_IGBO +- 0x71 LANG_KANURI +- 0x72 LANG_OROMO +- 0x73 LANG_TIGRINYA +- 0x74 LANG_GUARANI +- 0x75 LANG_HAWAIIAN +- 0x76 LANG_LATIN +- 0x77 LANG_SOMALI +- 0x78 LANG_YI +- 0x79 LANG_PAPIAMENTU +-*/ +-/* Mingw headers don't have latest language and sublanguage codes. */ +-# ifndef LANG_AFRIKAANS +-# define LANG_AFRIKAANS 0x36 +-# endif +-# ifndef LANG_ALBANIAN +-# define LANG_ALBANIAN 0x1c +-# endif +-# ifndef LANG_AMHARIC +-# define LANG_AMHARIC 0x5e +-# endif +-# ifndef LANG_ARABIC +-# define LANG_ARABIC 0x01 +-# endif +-# ifndef LANG_ARMENIAN +-# define LANG_ARMENIAN 0x2b +-# endif +-# ifndef LANG_ASSAMESE +-# define LANG_ASSAMESE 0x4d +-# endif +-# ifndef LANG_AZERI +-# define LANG_AZERI 0x2c +-# endif +-# ifndef LANG_BASQUE +-# define LANG_BASQUE 0x2d +-# endif +-# ifndef LANG_BELARUSIAN +-# define LANG_BELARUSIAN 0x23 +-# endif +-# ifndef LANG_BENGALI +-# define LANG_BENGALI 0x45 +-# endif +-# ifndef LANG_BURMESE +-# define LANG_BURMESE 0x55 +-# endif +-# ifndef LANG_CAMBODIAN +-# define LANG_CAMBODIAN 0x53 +-# endif +-# ifndef LANG_CATALAN +-# define LANG_CATALAN 0x03 +-# endif +-# ifndef LANG_CHEROKEE +-# define LANG_CHEROKEE 0x5c +-# endif +-# ifndef LANG_DIVEHI +-# define LANG_DIVEHI 0x65 +-# endif +-# ifndef LANG_EDO +-# define LANG_EDO 0x66 +-# endif +-# ifndef LANG_ESTONIAN +-# define LANG_ESTONIAN 0x25 +-# endif +-# ifndef LANG_FAEROESE +-# define LANG_FAEROESE 0x38 +-# endif +-# ifndef LANG_FARSI +-# define LANG_FARSI 0x29 +-# endif +-# ifndef LANG_FRISIAN +-# define LANG_FRISIAN 0x62 +-# endif +-# ifndef LANG_FULFULDE +-# define LANG_FULFULDE 0x67 +-# endif +-# ifndef LANG_GAELIC +-# define LANG_GAELIC 0x3c +-# endif +-# ifndef LANG_GALICIAN +-# define LANG_GALICIAN 0x56 +-# endif +-# ifndef LANG_GEORGIAN +-# define LANG_GEORGIAN 0x37 +-# endif +-# ifndef LANG_GUARANI +-# define LANG_GUARANI 0x74 +-# endif +-# ifndef LANG_GUJARATI +-# define LANG_GUJARATI 0x47 +-# endif +-# ifndef LANG_HAUSA +-# define LANG_HAUSA 0x68 +-# endif +-# ifndef LANG_HAWAIIAN +-# define LANG_HAWAIIAN 0x75 +-# endif +-# ifndef LANG_HEBREW +-# define LANG_HEBREW 0x0d +-# endif +-# ifndef LANG_HINDI +-# define LANG_HINDI 0x39 +-# endif +-# ifndef LANG_IBIBIO +-# define LANG_IBIBIO 0x69 +-# endif +-# ifndef LANG_IGBO +-# define LANG_IGBO 0x70 +-# endif +-# ifndef LANG_INDONESIAN +-# define LANG_INDONESIAN 0x21 +-# endif +-# ifndef LANG_INUKTITUT +-# define LANG_INUKTITUT 0x5d +-# endif +-# ifndef LANG_KANNADA +-# define LANG_KANNADA 0x4b +-# endif +-# ifndef LANG_KANURI +-# define LANG_KANURI 0x71 +-# endif +-# ifndef LANG_KASHMIRI +-# define LANG_KASHMIRI 0x60 +-# endif +-# ifndef LANG_KAZAK +-# define LANG_KAZAK 0x3f +-# endif +-# ifndef LANG_KONKANI +-# define LANG_KONKANI 0x57 +-# endif +-# ifndef LANG_KYRGYZ +-# define LANG_KYRGYZ 0x40 +-# endif +-# ifndef LANG_LAO +-# define LANG_LAO 0x54 +-# endif +-# ifndef LANG_LATIN +-# define LANG_LATIN 0x76 +-# endif +-# ifndef LANG_LATVIAN +-# define LANG_LATVIAN 0x26 +-# endif +-# ifndef LANG_LITHUANIAN +-# define LANG_LITHUANIAN 0x27 +-# endif +-# ifndef LANG_MACEDONIAN +-# define LANG_MACEDONIAN 0x2f +-# endif +-# ifndef LANG_MALAY +-# define LANG_MALAY 0x3e +-# endif +-# ifndef LANG_MALAYALAM +-# define LANG_MALAYALAM 0x4c +-# endif +-# ifndef LANG_MALTESE +-# define LANG_MALTESE 0x3a +-# endif +-# ifndef LANG_MANIPURI +-# define LANG_MANIPURI 0x58 +-# endif +-# ifndef LANG_MARATHI +-# define LANG_MARATHI 0x4e +-# endif +-# ifndef LANG_MONGOLIAN +-# define LANG_MONGOLIAN 0x50 +-# endif +-# ifndef LANG_NEPALI +-# define LANG_NEPALI 0x61 +-# endif +-# ifndef LANG_ORIYA +-# define LANG_ORIYA 0x48 +-# endif +-# ifndef LANG_OROMO +-# define LANG_OROMO 0x72 +-# endif +-# ifndef LANG_PAPIAMENTU +-# define LANG_PAPIAMENTU 0x79 +-# endif +-# ifndef LANG_PASHTO +-# define LANG_PASHTO 0x63 +-# endif +-# ifndef LANG_PUNJABI +-# define LANG_PUNJABI 0x46 +-# endif +-# ifndef LANG_RHAETO_ROMANCE +-# define LANG_RHAETO_ROMANCE 0x17 +-# endif +-# ifndef LANG_SAAMI +-# define LANG_SAAMI 0x3b +-# endif +-# ifndef LANG_SANSKRIT +-# define LANG_SANSKRIT 0x4f +-# endif +-# ifndef LANG_SERBIAN +-# define LANG_SERBIAN 0x1a +-# endif +-# ifndef LANG_SINDHI +-# define LANG_SINDHI 0x59 +-# endif +-# ifndef LANG_SINHALESE +-# define LANG_SINHALESE 0x5b +-# endif +-# ifndef LANG_SLOVAK +-# define LANG_SLOVAK 0x1b +-# endif +-# ifndef LANG_SOMALI +-# define LANG_SOMALI 0x77 +-# endif +-# ifndef LANG_SORBIAN +-# define LANG_SORBIAN 0x2e +-# endif +-# ifndef LANG_SUTU +-# define LANG_SUTU 0x30 +-# endif +-# ifndef LANG_SWAHILI +-# define LANG_SWAHILI 0x41 +-# endif +-# ifndef LANG_SYRIAC +-# define LANG_SYRIAC 0x5a +-# endif +-# ifndef LANG_TAGALOG +-# define LANG_TAGALOG 0x64 +-# endif +-# ifndef LANG_TAJIK +-# define LANG_TAJIK 0x28 +-# endif +-# ifndef LANG_TAMAZIGHT +-# define LANG_TAMAZIGHT 0x5f +-# endif +-# ifndef LANG_TAMIL +-# define LANG_TAMIL 0x49 +-# endif +-# ifndef LANG_TATAR +-# define LANG_TATAR 0x44 +-# endif +-# ifndef LANG_TELUGU +-# define LANG_TELUGU 0x4a +-# endif +-# ifndef LANG_THAI +-# define LANG_THAI 0x1e +-# endif +-# ifndef LANG_TIBETAN +-# define LANG_TIBETAN 0x51 +-# endif +-# ifndef LANG_TIGRINYA +-# define LANG_TIGRINYA 0x73 +-# endif +-# ifndef LANG_TSONGA +-# define LANG_TSONGA 0x31 +-# endif +-# ifndef LANG_TSWANA +-# define LANG_TSWANA 0x32 +-# endif +-# ifndef LANG_TURKMEN +-# define LANG_TURKMEN 0x42 +-# endif +-# ifndef LANG_UKRAINIAN +-# define LANG_UKRAINIAN 0x22 +-# endif +-# ifndef LANG_URDU +-# define LANG_URDU 0x20 +-# endif +-# ifndef LANG_UZBEK +-# define LANG_UZBEK 0x43 +-# endif +-# ifndef LANG_VENDA +-# define LANG_VENDA 0x33 +-# endif +-# ifndef LANG_VIETNAMESE +-# define LANG_VIETNAMESE 0x2a +-# endif +-# ifndef LANG_WELSH +-# define LANG_WELSH 0x52 +-# endif +-# ifndef LANG_XHOSA +-# define LANG_XHOSA 0x34 +-# endif +-# ifndef LANG_YI +-# define LANG_YI 0x78 +-# endif +-# ifndef LANG_YIDDISH +-# define LANG_YIDDISH 0x3d +-# endif +-# ifndef LANG_YORUBA +-# define LANG_YORUBA 0x6a +-# endif +-# ifndef LANG_ZULU +-# define LANG_ZULU 0x35 +-# endif +-# ifndef SUBLANG_ARABIC_SAUDI_ARABIA +-# define SUBLANG_ARABIC_SAUDI_ARABIA 0x01 +-# endif +-# ifndef SUBLANG_ARABIC_IRAQ +-# define SUBLANG_ARABIC_IRAQ 0x02 +-# endif +-# ifndef SUBLANG_ARABIC_EGYPT +-# define SUBLANG_ARABIC_EGYPT 0x03 +-# endif +-# ifndef SUBLANG_ARABIC_LIBYA +-# define SUBLANG_ARABIC_LIBYA 0x04 +-# endif +-# ifndef SUBLANG_ARABIC_ALGERIA +-# define SUBLANG_ARABIC_ALGERIA 0x05 +-# endif +-# ifndef SUBLANG_ARABIC_MOROCCO +-# define SUBLANG_ARABIC_MOROCCO 0x06 +-# endif +-# ifndef SUBLANG_ARABIC_TUNISIA +-# define SUBLANG_ARABIC_TUNISIA 0x07 +-# endif +-# ifndef SUBLANG_ARABIC_OMAN +-# define SUBLANG_ARABIC_OMAN 0x08 +-# endif +-# ifndef SUBLANG_ARABIC_YEMEN +-# define SUBLANG_ARABIC_YEMEN 0x09 +-# endif +-# ifndef SUBLANG_ARABIC_SYRIA +-# define SUBLANG_ARABIC_SYRIA 0x0a +-# endif +-# ifndef SUBLANG_ARABIC_JORDAN +-# define SUBLANG_ARABIC_JORDAN 0x0b +-# endif +-# ifndef SUBLANG_ARABIC_LEBANON +-# define SUBLANG_ARABIC_LEBANON 0x0c +-# endif +-# ifndef SUBLANG_ARABIC_KUWAIT +-# define SUBLANG_ARABIC_KUWAIT 0x0d +-# endif +-# ifndef SUBLANG_ARABIC_UAE +-# define SUBLANG_ARABIC_UAE 0x0e +-# endif +-# ifndef SUBLANG_ARABIC_BAHRAIN +-# define SUBLANG_ARABIC_BAHRAIN 0x0f +-# endif +-# ifndef SUBLANG_ARABIC_QATAR +-# define SUBLANG_ARABIC_QATAR 0x10 +-# endif +-# ifndef SUBLANG_AZERI_LATIN +-# define SUBLANG_AZERI_LATIN 0x01 +-# endif +-# ifndef SUBLANG_AZERI_CYRILLIC +-# define SUBLANG_AZERI_CYRILLIC 0x02 +-# endif +-# ifndef SUBLANG_BENGALI_INDIA +-# define SUBLANG_BENGALI_INDIA 0x01 +-# endif +-# ifndef SUBLANG_BENGALI_BANGLADESH +-# define SUBLANG_BENGALI_BANGLADESH 0x02 +-# endif +-# ifndef SUBLANG_CHINESE_MACAU +-# define SUBLANG_CHINESE_MACAU 0x05 +-# endif +-# ifndef SUBLANG_ENGLISH_SOUTH_AFRICA +-# define SUBLANG_ENGLISH_SOUTH_AFRICA 0x07 +-# endif +-# ifndef SUBLANG_ENGLISH_JAMAICA +-# define SUBLANG_ENGLISH_JAMAICA 0x08 +-# endif +-# ifndef SUBLANG_ENGLISH_CARIBBEAN +-# define SUBLANG_ENGLISH_CARIBBEAN 0x09 +-# endif +-# ifndef SUBLANG_ENGLISH_BELIZE +-# define SUBLANG_ENGLISH_BELIZE 0x0a +-# endif +-# ifndef SUBLANG_ENGLISH_TRINIDAD +-# define SUBLANG_ENGLISH_TRINIDAD 0x0b +-# endif +-# ifndef SUBLANG_ENGLISH_ZIMBABWE +-# define SUBLANG_ENGLISH_ZIMBABWE 0x0c +-# endif +-# ifndef SUBLANG_ENGLISH_PHILIPPINES +-# define SUBLANG_ENGLISH_PHILIPPINES 0x0d +-# endif +-# ifndef SUBLANG_ENGLISH_INDONESIA +-# define SUBLANG_ENGLISH_INDONESIA 0x0e +-# endif +-# ifndef SUBLANG_ENGLISH_HONGKONG +-# define SUBLANG_ENGLISH_HONGKONG 0x0f +-# endif +-# ifndef SUBLANG_ENGLISH_INDIA +-# define SUBLANG_ENGLISH_INDIA 0x10 +-# endif +-# ifndef SUBLANG_ENGLISH_MALAYSIA +-# define SUBLANG_ENGLISH_MALAYSIA 0x11 +-# endif +-# ifndef SUBLANG_ENGLISH_SINGAPORE +-# define SUBLANG_ENGLISH_SINGAPORE 0x12 +-# endif +-# ifndef SUBLANG_FRENCH_LUXEMBOURG +-# define SUBLANG_FRENCH_LUXEMBOURG 0x05 +-# endif +-# ifndef SUBLANG_FRENCH_MONACO +-# define SUBLANG_FRENCH_MONACO 0x06 +-# endif +-# ifndef SUBLANG_FRENCH_WESTINDIES +-# define SUBLANG_FRENCH_WESTINDIES 0x07 +-# endif +-# ifndef SUBLANG_FRENCH_REUNION +-# define SUBLANG_FRENCH_REUNION 0x08 +-# endif +-# ifndef SUBLANG_FRENCH_CONGO +-# define SUBLANG_FRENCH_CONGO 0x09 +-# endif +-# ifndef SUBLANG_FRENCH_SENEGAL +-# define SUBLANG_FRENCH_SENEGAL 0x0a +-# endif +-# ifndef SUBLANG_FRENCH_CAMEROON +-# define SUBLANG_FRENCH_CAMEROON 0x0b +-# endif +-# ifndef SUBLANG_FRENCH_COTEDIVOIRE +-# define SUBLANG_FRENCH_COTEDIVOIRE 0x0c +-# endif +-# ifndef SUBLANG_FRENCH_MALI +-# define SUBLANG_FRENCH_MALI 0x0d +-# endif +-# ifndef SUBLANG_FRENCH_MOROCCO +-# define SUBLANG_FRENCH_MOROCCO 0x0e +-# endif +-# ifndef SUBLANG_FRENCH_HAITI +-# define SUBLANG_FRENCH_HAITI 0x0f +-# endif +-# ifndef SUBLANG_GERMAN_LUXEMBOURG +-# define SUBLANG_GERMAN_LUXEMBOURG 0x04 +-# endif +-# ifndef SUBLANG_GERMAN_LIECHTENSTEIN +-# define SUBLANG_GERMAN_LIECHTENSTEIN 0x05 +-# endif +-# ifndef SUBLANG_KASHMIRI_INDIA +-# define SUBLANG_KASHMIRI_INDIA 0x02 +-# endif +-# ifndef SUBLANG_MALAY_MALAYSIA +-# define SUBLANG_MALAY_MALAYSIA 0x01 +-# endif +-# ifndef SUBLANG_MALAY_BRUNEI_DARUSSALAM +-# define SUBLANG_MALAY_BRUNEI_DARUSSALAM 0x02 +-# endif +-# ifndef SUBLANG_NEPALI_INDIA +-# define SUBLANG_NEPALI_INDIA 0x02 +-# endif +-# ifndef SUBLANG_PUNJABI_INDIA +-# define SUBLANG_PUNJABI_INDIA 0x01 +-# endif +-# ifndef SUBLANG_PUNJABI_PAKISTAN +-# define SUBLANG_PUNJABI_PAKISTAN 0x02 +-# endif +-# ifndef SUBLANG_ROMANIAN_ROMANIA +-# define SUBLANG_ROMANIAN_ROMANIA 0x01 +-# endif +-# ifndef SUBLANG_ROMANIAN_MOLDOVA +-# define SUBLANG_ROMANIAN_MOLDOVA 0x02 +-# endif +-# ifndef SUBLANG_SERBIAN_LATIN +-# define SUBLANG_SERBIAN_LATIN 0x02 +-# endif +-# ifndef SUBLANG_SERBIAN_CYRILLIC +-# define SUBLANG_SERBIAN_CYRILLIC 0x03 +-# endif +-# ifndef SUBLANG_SINDHI_PAKISTAN +-# define SUBLANG_SINDHI_PAKISTAN 0x01 +-# endif +-# ifndef SUBLANG_SINDHI_AFGHANISTAN +-# define SUBLANG_SINDHI_AFGHANISTAN 0x02 +-# endif +-# ifndef SUBLANG_SPANISH_GUATEMALA +-# define SUBLANG_SPANISH_GUATEMALA 0x04 +-# endif +-# ifndef SUBLANG_SPANISH_COSTA_RICA +-# define SUBLANG_SPANISH_COSTA_RICA 0x05 +-# endif +-# ifndef SUBLANG_SPANISH_PANAMA +-# define SUBLANG_SPANISH_PANAMA 0x06 +-# endif +-# ifndef SUBLANG_SPANISH_DOMINICAN_REPUBLIC +-# define SUBLANG_SPANISH_DOMINICAN_REPUBLIC 0x07 +-# endif +-# ifndef SUBLANG_SPANISH_VENEZUELA +-# define SUBLANG_SPANISH_VENEZUELA 0x08 +-# endif +-# ifndef SUBLANG_SPANISH_COLOMBIA +-# define SUBLANG_SPANISH_COLOMBIA 0x09 +-# endif +-# ifndef SUBLANG_SPANISH_PERU +-# define SUBLANG_SPANISH_PERU 0x0a +-# endif +-# ifndef SUBLANG_SPANISH_ARGENTINA +-# define SUBLANG_SPANISH_ARGENTINA 0x0b +-# endif +-# ifndef SUBLANG_SPANISH_ECUADOR +-# define SUBLANG_SPANISH_ECUADOR 0x0c +-# endif +-# ifndef SUBLANG_SPANISH_CHILE +-# define SUBLANG_SPANISH_CHILE 0x0d +-# endif +-# ifndef SUBLANG_SPANISH_URUGUAY +-# define SUBLANG_SPANISH_URUGUAY 0x0e +-# endif +-# ifndef SUBLANG_SPANISH_PARAGUAY +-# define SUBLANG_SPANISH_PARAGUAY 0x0f +-# endif +-# ifndef SUBLANG_SPANISH_BOLIVIA +-# define SUBLANG_SPANISH_BOLIVIA 0x10 +-# endif +-# ifndef SUBLANG_SPANISH_EL_SALVADOR +-# define SUBLANG_SPANISH_EL_SALVADOR 0x11 +-# endif +-# ifndef SUBLANG_SPANISH_HONDURAS +-# define SUBLANG_SPANISH_HONDURAS 0x12 +-# endif +-# ifndef SUBLANG_SPANISH_NICARAGUA +-# define SUBLANG_SPANISH_NICARAGUA 0x13 +-# endif +-# ifndef SUBLANG_SPANISH_PUERTO_RICO +-# define SUBLANG_SPANISH_PUERTO_RICO 0x14 +-# endif +-# ifndef SUBLANG_SWEDISH_FINLAND +-# define SUBLANG_SWEDISH_FINLAND 0x02 +-# endif +-# ifndef SUBLANG_TAMAZIGHT_ARABIC +-# define SUBLANG_TAMAZIGHT_ARABIC 0x01 +-# endif +-# ifndef SUBLANG_TAMAZIGHT_ALGERIA_LATIN +-# define SUBLANG_TAMAZIGHT_ALGERIA_LATIN 0x02 +-# endif +-# ifndef SUBLANG_TIGRINYA_ETHIOPIA +-# define SUBLANG_TIGRINYA_ETHIOPIA 0x01 +-# endif +-# ifndef SUBLANG_TIGRINYA_ERITREA +-# define SUBLANG_TIGRINYA_ERITREA 0x02 +-# endif +-# ifndef SUBLANG_URDU_PAKISTAN +-# define SUBLANG_URDU_PAKISTAN 0x01 +-# endif +-# ifndef SUBLANG_URDU_INDIA +-# define SUBLANG_URDU_INDIA 0x02 +-# endif +-# ifndef SUBLANG_UZBEK_LATIN +-# define SUBLANG_UZBEK_LATIN 0x01 +-# endif +-# ifndef SUBLANG_UZBEK_CYRILLIC +-# define SUBLANG_UZBEK_CYRILLIC 0x02 +-# endif +-#endif +- +-# if HAVE_CFLOCALECOPYCURRENT || HAVE_CFPREFERENCESCOPYAPPVALUE +-/* MacOS X 10.2 or newer */ +- +-/* Canonicalize a MacOS X locale name to a Unix locale name. +- NAME is a sufficiently large buffer. +- On input, it contains the MacOS X locale name. +- On output, it contains the Unix locale name. */ +-# if !defined IN_LIBINTL +-static +-# endif +-void +-gl_locale_name_canonicalize (char *name) +-{ +- /* This conversion is based on a posting by +- Deborah GoldSmith on 2005-03-08, +- http://lists.apple.com/archives/carbon-dev/2005/Mar/msg00293.html */ +- +- /* Convert legacy (NeXTstep inherited) English names to Unix (ISO 639 and +- ISO 3166) names. Prior to MacOS X 10.3, there is no API for doing this. +- Therefore we do it ourselves, using a table based on the results of the +- MacOS X 10.3.8 function +- CFLocaleCreateCanonicalLocaleIdentifierFromString(). */ +- typedef struct { const char legacy[21+1]; const char unixy[5+1]; } +- legacy_entry; +- static const legacy_entry legacy_table[] = { +- { "Afrikaans", "af" }, +- { "Albanian", "sq" }, +- { "Amharic", "am" }, +- { "Arabic", "ar" }, +- { "Armenian", "hy" }, +- { "Assamese", "as" }, +- { "Aymara", "ay" }, +- { "Azerbaijani", "az" }, +- { "Basque", "eu" }, +- { "Belarusian", "be" }, +- { "Belorussian", "be" }, +- { "Bengali", "bn" }, +- { "Brazilian Portugese", "pt_BR" }, +- { "Brazilian Portuguese", "pt_BR" }, +- { "Breton", "br" }, +- { "Bulgarian", "bg" }, +- { "Burmese", "my" }, +- { "Byelorussian", "be" }, +- { "Catalan", "ca" }, +- { "Chewa", "ny" }, +- { "Chichewa", "ny" }, +- { "Chinese", "zh" }, +- { "Chinese, Simplified", "zh_CN" }, +- { "Chinese, Traditional", "zh_TW" }, +- { "Chinese, Tradtional", "zh_TW" }, +- { "Croatian", "hr" }, +- { "Czech", "cs" }, +- { "Danish", "da" }, +- { "Dutch", "nl" }, +- { "Dzongkha", "dz" }, +- { "English", "en" }, +- { "Esperanto", "eo" }, +- { "Estonian", "et" }, +- { "Faroese", "fo" }, +- { "Farsi", "fa" }, +- { "Finnish", "fi" }, +- { "Flemish", "nl_BE" }, +- { "French", "fr" }, +- { "Galician", "gl" }, +- { "Gallegan", "gl" }, +- { "Georgian", "ka" }, +- { "German", "de" }, +- { "Greek", "el" }, +- { "Greenlandic", "kl" }, +- { "Guarani", "gn" }, +- { "Gujarati", "gu" }, +- { "Hawaiian", "haw" }, /* Yes, "haw", not "cpe". */ +- { "Hebrew", "he" }, +- { "Hindi", "hi" }, +- { "Hungarian", "hu" }, +- { "Icelandic", "is" }, +- { "Indonesian", "id" }, +- { "Inuktitut", "iu" }, +- { "Irish", "ga" }, +- { "Italian", "it" }, +- { "Japanese", "ja" }, +- { "Javanese", "jv" }, +- { "Kalaallisut", "kl" }, +- { "Kannada", "kn" }, +- { "Kashmiri", "ks" }, +- { "Kazakh", "kk" }, +- { "Khmer", "km" }, +- { "Kinyarwanda", "rw" }, +- { "Kirghiz", "ky" }, +- { "Korean", "ko" }, +- { "Kurdish", "ku" }, +- { "Latin", "la" }, +- { "Latvian", "lv" }, +- { "Lithuanian", "lt" }, +- { "Macedonian", "mk" }, +- { "Malagasy", "mg" }, +- { "Malay", "ms" }, +- { "Malayalam", "ml" }, +- { "Maltese", "mt" }, +- { "Manx", "gv" }, +- { "Marathi", "mr" }, +- { "Moldavian", "mo" }, +- { "Mongolian", "mn" }, +- { "Nepali", "ne" }, +- { "Norwegian", "nb" }, /* Yes, "nb", not the obsolete "no". */ +- { "Nyanja", "ny" }, +- { "Nynorsk", "nn" }, +- { "Oriya", "or" }, +- { "Oromo", "om" }, +- { "Panjabi", "pa" }, +- { "Pashto", "ps" }, +- { "Persian", "fa" }, +- { "Polish", "pl" }, +- { "Portuguese", "pt" }, +- { "Portuguese, Brazilian", "pt_BR" }, +- { "Punjabi", "pa" }, +- { "Pushto", "ps" }, +- { "Quechua", "qu" }, +- { "Romanian", "ro" }, +- { "Ruanda", "rw" }, +- { "Rundi", "rn" }, +- { "Russian", "ru" }, +- { "Sami", "se_NO" }, /* Not just "se". */ +- { "Sanskrit", "sa" }, +- { "Scottish", "gd" }, +- { "Serbian", "sr" }, +- { "Simplified Chinese", "zh_CN" }, +- { "Sindhi", "sd" }, +- { "Sinhalese", "si" }, +- { "Slovak", "sk" }, +- { "Slovenian", "sl" }, +- { "Somali", "so" }, +- { "Spanish", "es" }, +- { "Sundanese", "su" }, +- { "Swahili", "sw" }, +- { "Swedish", "sv" }, +- { "Tagalog", "tl" }, +- { "Tajik", "tg" }, +- { "Tajiki", "tg" }, +- { "Tamil", "ta" }, +- { "Tatar", "tt" }, +- { "Telugu", "te" }, +- { "Thai", "th" }, +- { "Tibetan", "bo" }, +- { "Tigrinya", "ti" }, +- { "Tongan", "to" }, +- { "Traditional Chinese", "zh_TW" }, +- { "Turkish", "tr" }, +- { "Turkmen", "tk" }, +- { "Uighur", "ug" }, +- { "Ukrainian", "uk" }, +- { "Urdu", "ur" }, +- { "Uzbek", "uz" }, +- { "Vietnamese", "vi" }, +- { "Welsh", "cy" }, +- { "Yiddish", "yi" } +- }; +- +- /* Convert new-style locale names with language tags (ISO 639 and ISO 15924) +- to Unix (ISO 639 and ISO 3166) names. */ +- typedef struct { const char langtag[7+1]; const char unixy[12+1]; } +- langtag_entry; +- static const langtag_entry langtag_table[] = { +- /* MacOS X has "az-Arab", "az-Cyrl", "az-Latn". +- The default script for az on Unix is Latin. */ +- { "az-Latn", "az" }, +- /* MacOS X has "ga-dots". Does not yet exist on Unix. */ +- { "ga-dots", "ga" }, +- /* MacOS X has "kk-Cyrl". Does not yet exist on Unix. */ +- /* MacOS X has "mn-Cyrl", "mn-Mong". +- The default script for mn on Unix is Cyrillic. */ +- { "mn-Cyrl", "mn" }, +- /* MacOS X has "ms-Arab", "ms-Latn". +- The default script for ms on Unix is Latin. */ +- { "ms-Latn", "ms" }, +- /* MacOS X has "tg-Cyrl". +- The default script for tg on Unix is Cyrillic. */ +- { "tg-Cyrl", "tg" }, +- /* MacOS X has "tk-Cyrl". Does not yet exist on Unix. */ +- /* MacOS X has "tt-Cyrl". +- The default script for tt on Unix is Cyrillic. */ +- { "tt-Cyrl", "tt" }, +- /* MacOS X has "zh-Hans", "zh-Hant". +- Country codes are used to distinguish these on Unix. */ +- { "zh-Hans", "zh_CN" }, +- { "zh-Hant", "zh_TW" } +- }; +- +- /* Convert script names (ISO 15924) to Unix conventions. +- See http://www.unicode.org/iso15924/iso15924-codes.html */ +- typedef struct { const char script[4+1]; const char unixy[9+1]; } +- script_entry; +- static const script_entry script_table[] = { +- { "Arab", "arabic" }, +- { "Cyrl", "cyrillic" }, +- { "Mong", "mongolian" } +- }; +- +- /* Step 1: Convert using legacy_table. */ +- if (name[0] >= 'A' && name[0] <= 'Z') +- { +- unsigned int i1, i2; +- i1 = 0; +- i2 = sizeof (legacy_table) / sizeof (legacy_entry); +- while (i2 - i1 > 1) +- { +- /* At this point we know that if name occurs in legacy_table, +- its index must be >= i1 and < i2. */ +- unsigned int i = (i1 + i2) >> 1; +- const legacy_entry *p = &legacy_table[i]; +- if (strcmp (name, p->legacy) < 0) +- i2 = i; +- else +- i1 = i; +- } +- if (strcmp (name, legacy_table[i1].legacy) == 0) +- { +- strcpy (name, legacy_table[i1].unixy); +- return; +- } +- } +- +- /* Step 2: Convert using langtag_table and script_table. */ +- if (strlen (name) == 7 && name[2] == '-') +- { +- unsigned int i1, i2; +- i1 = 0; +- i2 = sizeof (langtag_table) / sizeof (langtag_entry); +- while (i2 - i1 > 1) +- { +- /* At this point we know that if name occurs in langtag_table, +- its index must be >= i1 and < i2. */ +- unsigned int i = (i1 + i2) >> 1; +- const langtag_entry *p = &langtag_table[i]; +- if (strcmp (name, p->langtag) < 0) +- i2 = i; +- else +- i1 = i; +- } +- if (strcmp (name, langtag_table[i1].langtag) == 0) +- { +- strcpy (name, langtag_table[i1].unixy); +- return; +- } +- +- i1 = 0; +- i2 = sizeof (script_table) / sizeof (script_entry); +- while (i2 - i1 > 1) +- { +- /* At this point we know that if (name + 3) occurs in script_table, +- its index must be >= i1 and < i2. */ +- unsigned int i = (i1 + i2) >> 1; +- const script_entry *p = &script_table[i]; +- if (strcmp (name + 3, p->script) < 0) +- i2 = i; +- else +- i1 = i; +- } +- if (strcmp (name + 3, script_table[i1].script) == 0) +- { +- name[2] = '@'; +- strcpy (name + 3, script_table[i1].unixy); +- return; +- } +- } +- +- /* Step 3: Convert new-style dash to Unix underscore. */ +- { +- char *p; +- for (p = name; *p != '\0'; p++) +- if (*p == '-') +- *p = '_'; +- } +-} +- +-#endif +- +-/* XPG3 defines the result of 'setlocale (category, NULL)' as: +- "Directs 'setlocale()' to query 'category' and return the current +- setting of 'local'." +- However it does not specify the exact format. Neither do SUSV2 and +- ISO C 99. So we can use this feature only on selected systems (e.g. +- those using GNU C Library). */ +-#if defined _LIBC || (defined __GLIBC__ && __GLIBC__ >= 2) +-# define HAVE_LOCALE_NULL +-#endif +- +-/* Determine the current locale's name, and canonicalize it into XPG syntax +- language[_territory][.codeset][@modifier] +- The codeset part in the result is not reliable; the locale_charset() +- should be used for codeset information instead. +- The result must not be freed; it is statically allocated. */ +- +-const char * +-gl_locale_name_posix (int category, const char *categoryname) +-{ +- /* Use the POSIX methods of looking to 'LC_ALL', 'LC_xxx', and 'LANG'. +- On some systems this can be done by the 'setlocale' function itself. */ +-#if defined HAVE_SETLOCALE && defined HAVE_LC_MESSAGES && defined HAVE_LOCALE_NULL +- return setlocale (category, NULL); +-#else +- const char *retval; +- +- /* Setting of LC_ALL overrides all other. */ +- retval = getenv ("LC_ALL"); +- if (retval != NULL && retval[0] != '\0') +- return retval; +- /* Next comes the name of the desired category. */ +- retval = getenv (categoryname); +- if (retval != NULL && retval[0] != '\0') +- return retval; +- /* Last possibility is the LANG environment variable. */ +- retval = getenv ("LANG"); +- if (retval != NULL && retval[0] != '\0') +- return retval; +- +- return NULL; +-#endif +-} +- +-const char * +-gl_locale_name_default (void) +-{ +- /* POSIX:2001 says: +- "All implementations shall define a locale as the default locale, to be +- invoked when no environment variables are set, or set to the empty +- string. This default locale can be the POSIX locale or any other +- implementation-defined locale. Some implementations may provide +- facilities for local installation administrators to set the default +- locale, customizing it for each location. POSIX:2001 does not require +- such a facility. */ +- +-#if !(HAVE_CFLOCALECOPYCURRENT || HAVE_CFPREFERENCESCOPYAPPVALUE || defined(WIN32_NATIVE)) +- +- /* The system does not have a way of setting the locale, other than the +- POSIX specified environment variables. We use C as default locale. */ +- return "C"; +- +-#else +- +- /* Return an XPG style locale name language[_territory][@modifier]. +- Don't even bother determining the codeset; it's not useful in this +- context, because message catalogs are not specific to a single +- codeset. */ +- +-# if HAVE_CFLOCALECOPYCURRENT || HAVE_CFPREFERENCESCOPYAPPVALUE +- /* MacOS X 10.2 or newer */ +- { +- /* Cache the locale name, since CoreFoundation calls are expensive. */ +- static const char *cached_localename; +- +- if (cached_localename == NULL) +- { +- char namebuf[256]; +-# if HAVE_CFLOCALECOPYCURRENT /* MacOS X 10.3 or newer */ +- CFLocaleRef locale = CFLocaleCopyCurrent (); +- CFStringRef name = CFLocaleGetIdentifier (locale); +- +- if (CFStringGetCString (name, namebuf, sizeof(namebuf), +- kCFStringEncodingASCII)) +- { +- gl_locale_name_canonicalize (namebuf); +- cached_localename = strdup (namebuf); +- } +- CFRelease (locale); +-# elif HAVE_CFPREFERENCESCOPYAPPVALUE /* MacOS X 10.2 or newer */ +- CFTypeRef value = +- CFPreferencesCopyAppValue (CFSTR ("AppleLocale"), +- kCFPreferencesCurrentApplication); +- if (value != NULL +- && CFGetTypeID (value) == CFStringGetTypeID () +- && CFStringGetCString ((CFStringRef)value, namebuf, sizeof(namebuf), +- kCFStringEncodingASCII)) +- { +- gl_locale_name_canonicalize (namebuf); +- cached_localename = strdup (namebuf); +- } +-# endif +- if (cached_localename == NULL) +- cached_localename = "C"; +- } +- return cached_localename; +- } +- +-# endif +- +-# if defined(WIN32_NATIVE) /* WIN32, not Cygwin */ +- { +- LCID lcid; +- LANGID langid; +- int primary, sub; +- +- /* Use native Win32 API locale ID. */ +- lcid = GetThreadLocale (); +- +- /* Strip off the sorting rules, keep only the language part. */ +- langid = LANGIDFROMLCID (lcid); +- +- /* Split into language and territory part. */ +- primary = PRIMARYLANGID (langid); +- sub = SUBLANGID (langid); +- +- /* Dispatch on language. +- See also http://www.unicode.org/unicode/onlinedat/languages.html . +- For details about languages, see http://www.ethnologue.com/ . */ +- switch (primary) +- { +- case LANG_AFRIKAANS: return "af_ZA"; +- case LANG_ALBANIAN: return "sq_AL"; +- case LANG_AMHARIC: return "am_ET"; +- case LANG_ARABIC: +- switch (sub) +- { +- case SUBLANG_ARABIC_SAUDI_ARABIA: return "ar_SA"; +- case SUBLANG_ARABIC_IRAQ: return "ar_IQ"; +- case SUBLANG_ARABIC_EGYPT: return "ar_EG"; +- case SUBLANG_ARABIC_LIBYA: return "ar_LY"; +- case SUBLANG_ARABIC_ALGERIA: return "ar_DZ"; +- case SUBLANG_ARABIC_MOROCCO: return "ar_MA"; +- case SUBLANG_ARABIC_TUNISIA: return "ar_TN"; +- case SUBLANG_ARABIC_OMAN: return "ar_OM"; +- case SUBLANG_ARABIC_YEMEN: return "ar_YE"; +- case SUBLANG_ARABIC_SYRIA: return "ar_SY"; +- case SUBLANG_ARABIC_JORDAN: return "ar_JO"; +- case SUBLANG_ARABIC_LEBANON: return "ar_LB"; +- case SUBLANG_ARABIC_KUWAIT: return "ar_KW"; +- case SUBLANG_ARABIC_UAE: return "ar_AE"; +- case SUBLANG_ARABIC_BAHRAIN: return "ar_BH"; +- case SUBLANG_ARABIC_QATAR: return "ar_QA"; +- } +- return "ar"; +- case LANG_ARMENIAN: return "hy_AM"; +- case LANG_ASSAMESE: return "as_IN"; +- case LANG_AZERI: +- switch (sub) +- { +- /* FIXME: Adjust this when Azerbaijani locales appear on Unix. */ +- case SUBLANG_AZERI_LATIN: return "az_AZ@latin"; +- case SUBLANG_AZERI_CYRILLIC: return "az_AZ@cyrillic"; +- } +- return "az"; +- case LANG_BASQUE: +- switch (sub) +- { +- case SUBLANG_DEFAULT: return "eu_ES"; +- } +- return "eu"; /* Ambiguous: could be "eu_ES" or "eu_FR". */ +- case LANG_BELARUSIAN: return "be_BY"; +- case LANG_BENGALI: +- switch (sub) +- { +- case SUBLANG_BENGALI_INDIA: return "bn_IN"; +- case SUBLANG_BENGALI_BANGLADESH: return "bn_BD"; +- } +- return "bn"; +- case LANG_BULGARIAN: return "bg_BG"; +- case LANG_BURMESE: return "my_MM"; +- case LANG_CAMBODIAN: return "km_KH"; +- case LANG_CATALAN: return "ca_ES"; +- case LANG_CHEROKEE: return "chr_US"; +- case LANG_CHINESE: +- switch (sub) +- { +- case SUBLANG_CHINESE_TRADITIONAL: return "zh_TW"; +- case SUBLANG_CHINESE_SIMPLIFIED: return "zh_CN"; +- case SUBLANG_CHINESE_HONGKONG: return "zh_HK"; +- case SUBLANG_CHINESE_SINGAPORE: return "zh_SG"; +- case SUBLANG_CHINESE_MACAU: return "zh_MO"; +- } +- return "zh"; +- case LANG_CROATIAN: /* LANG_CROATIAN == LANG_SERBIAN +- * What used to be called Serbo-Croatian +- * should really now be two separate +- * languages because of political reasons. +- * (Says tml, who knows nothing about Serbian +- * or Croatian.) +- * (I can feel those flames coming already.) +- */ +- switch (sub) +- { +- case SUBLANG_DEFAULT: return "hr_HR"; +- case SUBLANG_SERBIAN_LATIN: return "sr_CS"; +- case SUBLANG_SERBIAN_CYRILLIC: return "sr_CS@cyrillic"; +- } +- return "hr"; +- case LANG_CZECH: return "cs_CZ"; +- case LANG_DANISH: return "da_DK"; +- case LANG_DIVEHI: return "dv_MV"; +- case LANG_DUTCH: +- switch (sub) +- { +- case SUBLANG_DUTCH: return "nl_NL"; +- case SUBLANG_DUTCH_BELGIAN: /* FLEMISH, VLAAMS */ return "nl_BE"; +- } +- return "nl"; +- case LANG_EDO: return "bin_NG"; +- case LANG_ENGLISH: +- switch (sub) +- { +- /* SUBLANG_ENGLISH_US == SUBLANG_DEFAULT. Heh. I thought +- * English was the language spoken in England. +- * Oh well. +- */ +- case SUBLANG_ENGLISH_US: return "en_US"; +- case SUBLANG_ENGLISH_UK: return "en_GB"; +- case SUBLANG_ENGLISH_AUS: return "en_AU"; +- case SUBLANG_ENGLISH_CAN: return "en_CA"; +- case SUBLANG_ENGLISH_NZ: return "en_NZ"; +- case SUBLANG_ENGLISH_EIRE: return "en_IE"; +- case SUBLANG_ENGLISH_SOUTH_AFRICA: return "en_ZA"; +- case SUBLANG_ENGLISH_JAMAICA: return "en_JM"; +- case SUBLANG_ENGLISH_CARIBBEAN: return "en_GD"; /* Grenada? */ +- case SUBLANG_ENGLISH_BELIZE: return "en_BZ"; +- case SUBLANG_ENGLISH_TRINIDAD: return "en_TT"; +- case SUBLANG_ENGLISH_ZIMBABWE: return "en_ZW"; +- case SUBLANG_ENGLISH_PHILIPPINES: return "en_PH"; +- case SUBLANG_ENGLISH_INDONESIA: return "en_ID"; +- case SUBLANG_ENGLISH_HONGKONG: return "en_HK"; +- case SUBLANG_ENGLISH_INDIA: return "en_IN"; +- case SUBLANG_ENGLISH_MALAYSIA: return "en_MY"; +- case SUBLANG_ENGLISH_SINGAPORE: return "en_SG"; +- } +- return "en"; +- case LANG_ESTONIAN: return "et_EE"; +- case LANG_FAEROESE: return "fo_FO"; +- case LANG_FARSI: return "fa_IR"; +- case LANG_FINNISH: return "fi_FI"; +- case LANG_FRENCH: +- switch (sub) +- { +- case SUBLANG_FRENCH: return "fr_FR"; +- case SUBLANG_FRENCH_BELGIAN: /* WALLOON */ return "fr_BE"; +- case SUBLANG_FRENCH_CANADIAN: return "fr_CA"; +- case SUBLANG_FRENCH_SWISS: return "fr_CH"; +- case SUBLANG_FRENCH_LUXEMBOURG: return "fr_LU"; +- case SUBLANG_FRENCH_MONACO: return "fr_MC"; +- case SUBLANG_FRENCH_WESTINDIES: return "fr"; /* Caribbean? */ +- case SUBLANG_FRENCH_REUNION: return "fr_RE"; +- case SUBLANG_FRENCH_CONGO: return "fr_CG"; +- case SUBLANG_FRENCH_SENEGAL: return "fr_SN"; +- case SUBLANG_FRENCH_CAMEROON: return "fr_CM"; +- case SUBLANG_FRENCH_COTEDIVOIRE: return "fr_CI"; +- case SUBLANG_FRENCH_MALI: return "fr_ML"; +- case SUBLANG_FRENCH_MOROCCO: return "fr_MA"; +- case SUBLANG_FRENCH_HAITI: return "fr_HT"; +- } +- return "fr"; +- case LANG_FRISIAN: return "fy_NL"; +- case LANG_FULFULDE: +- /* Spoken in Nigeria, Guinea, Senegal, Mali, Niger, Cameroon, Benin. */ +- return "ff_NG"; +- case LANG_GAELIC: +- switch (sub) +- { +- case 0x01: /* SCOTTISH */ return "gd_GB"; +- case 0x02: /* IRISH */ return "ga_IE"; +- } +- return "C"; +- case LANG_GALICIAN: return "gl_ES"; +- case LANG_GEORGIAN: return "ka_GE"; +- case LANG_GERMAN: +- switch (sub) +- { +- case SUBLANG_GERMAN: return "de_DE"; +- case SUBLANG_GERMAN_SWISS: return "de_CH"; +- case SUBLANG_GERMAN_AUSTRIAN: return "de_AT"; +- case SUBLANG_GERMAN_LUXEMBOURG: return "de_LU"; +- case SUBLANG_GERMAN_LIECHTENSTEIN: return "de_LI"; +- } +- return "de"; +- case LANG_GREEK: return "el_GR"; +- case LANG_GUARANI: return "gn_PY"; +- case LANG_GUJARATI: return "gu_IN"; +- case LANG_HAUSA: return "ha_NG"; +- case LANG_HAWAIIAN: +- /* FIXME: Do they mean Hawaiian ("haw_US", 1000 speakers) +- or Hawaii Creole English ("cpe_US", 600000 speakers)? */ +- return "cpe_US"; +- case LANG_HEBREW: return "he_IL"; +- case LANG_HINDI: return "hi_IN"; +- case LANG_HUNGARIAN: return "hu_HU"; +- case LANG_IBIBIO: return "nic_NG"; +- case LANG_ICELANDIC: return "is_IS"; +- case LANG_IGBO: return "ig_NG"; +- case LANG_INDONESIAN: return "id_ID"; +- case LANG_INUKTITUT: return "iu_CA"; +- case LANG_ITALIAN: +- switch (sub) +- { +- case SUBLANG_ITALIAN: return "it_IT"; +- case SUBLANG_ITALIAN_SWISS: return "it_CH"; +- } +- return "it"; +- case LANG_JAPANESE: return "ja_JP"; +- case LANG_KANNADA: return "kn_IN"; +- case LANG_KANURI: return "kr_NG"; +- case LANG_KASHMIRI: +- switch (sub) +- { +- case SUBLANG_DEFAULT: return "ks_PK"; +- case SUBLANG_KASHMIRI_INDIA: return "ks_IN"; +- } +- return "ks"; +- case LANG_KAZAK: return "kk_KZ"; +- case LANG_KONKANI: +- /* FIXME: Adjust this when such locales appear on Unix. */ +- return "kok_IN"; +- case LANG_KOREAN: return "ko_KR"; +- case LANG_KYRGYZ: return "ky_KG"; +- case LANG_LAO: return "lo_LA"; +- case LANG_LATIN: return "la_VA"; +- case LANG_LATVIAN: return "lv_LV"; +- case LANG_LITHUANIAN: return "lt_LT"; +- case LANG_MACEDONIAN: return "mk_MK"; +- case LANG_MALAY: +- switch (sub) +- { +- case SUBLANG_MALAY_MALAYSIA: return "ms_MY"; +- case SUBLANG_MALAY_BRUNEI_DARUSSALAM: return "ms_BN"; +- } +- return "ms"; +- case LANG_MALAYALAM: return "ml_IN"; +- case LANG_MALTESE: return "mt_MT"; +- case LANG_MANIPURI: +- /* FIXME: Adjust this when such locales appear on Unix. */ +- return "mni_IN"; +- case LANG_MARATHI: return "mr_IN"; +- case LANG_MONGOLIAN: +- switch (sub) +- { +- case SUBLANG_DEFAULT: return "mn_MN"; +- } +- return "mn"; /* Ambiguous: could be "mn_CN" or "mn_MN". */ +- case LANG_NEPALI: +- switch (sub) +- { +- case SUBLANG_DEFAULT: return "ne_NP"; +- case SUBLANG_NEPALI_INDIA: return "ne_IN"; +- } +- return "ne"; +- case LANG_NORWEGIAN: +- switch (sub) +- { +- case SUBLANG_NORWEGIAN_BOKMAL: return "nb_NO"; +- case SUBLANG_NORWEGIAN_NYNORSK: return "nn_NO"; +- } +- return "no"; +- case LANG_ORIYA: return "or_IN"; +- case LANG_OROMO: return "om_ET"; +- case LANG_PAPIAMENTU: return "pap_AN"; +- case LANG_PASHTO: +- return "ps"; /* Ambiguous: could be "ps_PK" or "ps_AF". */ +- case LANG_POLISH: return "pl_PL"; +- case LANG_PORTUGUESE: +- switch (sub) +- { +- case SUBLANG_PORTUGUESE: return "pt_PT"; +- /* Hmm. SUBLANG_PORTUGUESE_BRAZILIAN == SUBLANG_DEFAULT. +- Same phenomenon as SUBLANG_ENGLISH_US == SUBLANG_DEFAULT. */ +- case SUBLANG_PORTUGUESE_BRAZILIAN: return "pt_BR"; +- } +- return "pt"; +- case LANG_PUNJABI: +- switch (sub) +- { +- case SUBLANG_PUNJABI_INDIA: return "pa_IN"; /* Gurmukhi script */ +- case SUBLANG_PUNJABI_PAKISTAN: return "pa_PK"; /* Arabic script */ +- } +- return "pa"; +- case LANG_RHAETO_ROMANCE: return "rm_CH"; +- case LANG_ROMANIAN: +- switch (sub) +- { +- case SUBLANG_ROMANIAN_ROMANIA: return "ro_RO"; +- case SUBLANG_ROMANIAN_MOLDOVA: return "ro_MD"; +- } +- return "ro"; +- case LANG_RUSSIAN: +- switch (sub) +- { +- case SUBLANG_DEFAULT: return "ru_RU"; +- } +- return "ru"; /* Ambiguous: could be "ru_RU" or "ru_UA" or "ru_MD". */ +- case LANG_SAAMI: /* actually Northern Sami */ return "se_NO"; +- case LANG_SANSKRIT: return "sa_IN"; +- case LANG_SINDHI: +- switch (sub) +- { +- case SUBLANG_SINDHI_PAKISTAN: return "sd_PK"; +- case SUBLANG_SINDHI_AFGHANISTAN: return "sd_AF"; +- } +- return "sd"; +- case LANG_SINHALESE: return "si_LK"; +- case LANG_SLOVAK: return "sk_SK"; +- case LANG_SLOVENIAN: return "sl_SI"; +- case LANG_SOMALI: return "so_SO"; +- case LANG_SORBIAN: +- /* FIXME: Adjust this when such locales appear on Unix. */ +- return "wen_DE"; +- case LANG_SPANISH: +- switch (sub) +- { +- case SUBLANG_SPANISH: return "es_ES"; +- case SUBLANG_SPANISH_MEXICAN: return "es_MX"; +- case SUBLANG_SPANISH_MODERN: +- return "es_ES@modern"; /* not seen on Unix */ +- case SUBLANG_SPANISH_GUATEMALA: return "es_GT"; +- case SUBLANG_SPANISH_COSTA_RICA: return "es_CR"; +- case SUBLANG_SPANISH_PANAMA: return "es_PA"; +- case SUBLANG_SPANISH_DOMINICAN_REPUBLIC: return "es_DO"; +- case SUBLANG_SPANISH_VENEZUELA: return "es_VE"; +- case SUBLANG_SPANISH_COLOMBIA: return "es_CO"; +- case SUBLANG_SPANISH_PERU: return "es_PE"; +- case SUBLANG_SPANISH_ARGENTINA: return "es_AR"; +- case SUBLANG_SPANISH_ECUADOR: return "es_EC"; +- case SUBLANG_SPANISH_CHILE: return "es_CL"; +- case SUBLANG_SPANISH_URUGUAY: return "es_UY"; +- case SUBLANG_SPANISH_PARAGUAY: return "es_PY"; +- case SUBLANG_SPANISH_BOLIVIA: return "es_BO"; +- case SUBLANG_SPANISH_EL_SALVADOR: return "es_SV"; +- case SUBLANG_SPANISH_HONDURAS: return "es_HN"; +- case SUBLANG_SPANISH_NICARAGUA: return "es_NI"; +- case SUBLANG_SPANISH_PUERTO_RICO: return "es_PR"; +- } +- return "es"; +- case LANG_SUTU: return "bnt_TZ"; /* or "st_LS" or "nso_ZA"? */ +- case LANG_SWAHILI: return "sw_KE"; +- case LANG_SWEDISH: +- switch (sub) +- { +- case SUBLANG_DEFAULT: return "sv_SE"; +- case SUBLANG_SWEDISH_FINLAND: return "sv_FI"; +- } +- return "sv"; +- case LANG_SYRIAC: return "syr_TR"; /* An extinct language. */ +- case LANG_TAGALOG: return "tl_PH"; +- case LANG_TAJIK: return "tg_TJ"; +- case LANG_TAMAZIGHT: +- switch (sub) +- { +- /* FIXME: Adjust this when Tamazight locales appear on Unix. */ +- case SUBLANG_TAMAZIGHT_ARABIC: return "ber_MA@arabic"; +- case SUBLANG_TAMAZIGHT_ALGERIA_LATIN: return "ber_DZ@latin"; +- } +- return "ber_MA"; +- case LANG_TAMIL: +- switch (sub) +- { +- case SUBLANG_DEFAULT: return "ta_IN"; +- } +- return "ta"; /* Ambiguous: could be "ta_IN" or "ta_LK" or "ta_SG". */ +- case LANG_TATAR: return "tt_RU"; +- case LANG_TELUGU: return "te_IN"; +- case LANG_THAI: return "th_TH"; +- case LANG_TIBETAN: return "bo_CN"; +- case LANG_TIGRINYA: +- switch (sub) +- { +- case SUBLANG_TIGRINYA_ETHIOPIA: return "ti_ET"; +- case SUBLANG_TIGRINYA_ERITREA: return "ti_ER"; +- } +- return "ti"; +- case LANG_TSONGA: return "ts_ZA"; +- case LANG_TSWANA: return "tn_BW"; +- case LANG_TURKISH: return "tr_TR"; +- case LANG_TURKMEN: return "tk_TM"; +- case LANG_UKRAINIAN: return "uk_UA"; +- case LANG_URDU: +- switch (sub) +- { +- case SUBLANG_URDU_PAKISTAN: return "ur_PK"; +- case SUBLANG_URDU_INDIA: return "ur_IN"; +- } +- return "ur"; +- case LANG_UZBEK: +- switch (sub) +- { +- case SUBLANG_UZBEK_LATIN: return "uz_UZ"; +- case SUBLANG_UZBEK_CYRILLIC: return "uz_UZ@cyrillic"; +- } +- return "uz"; +- case LANG_VENDA: return "ve_ZA"; +- case LANG_VIETNAMESE: return "vi_VN"; +- case LANG_WELSH: return "cy_GB"; +- case LANG_XHOSA: return "xh_ZA"; +- case LANG_YI: return "sit_CN"; +- case LANG_YIDDISH: return "yi_IL"; +- case LANG_YORUBA: return "yo_NG"; +- case LANG_ZULU: return "zu_ZA"; +- default: return "C"; +- } +- } +-# endif +-#endif +-} +- +-const char * +-gl_locale_name (int category, const char *categoryname) +-{ +- const char *retval; +- +- retval = gl_locale_name_posix (category, categoryname); +- if (retval != NULL) +- return retval; +- +- return gl_locale_name_default (); +-} +--- a/intl/lock.c ++++ /dev/null +@@ -1,922 +0,0 @@ +-/* Locking in multithreaded situations. +- Copyright (C) 2005-2006 Free Software Foundation, Inc. +- +- This program is free software; you can redistribute it and/or modify it +- under the terms of the GNU Library General Public License as published +- by the Free Software Foundation; either version 2, or (at your option) +- any later version. +- +- This program is distributed in the hope that it will be useful, +- but WITHOUT ANY WARRANTY; without even the implied warranty of +- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +- Library General Public License for more details. +- +- You should have received a copy of the GNU Library General Public +- License along with this program; if not, write to the Free Software +- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, +- USA. */ +- +-/* Written by Bruno Haible , 2005. +- Based on GCC's gthr-posix.h, gthr-posix95.h, gthr-solaris.h, +- gthr-win32.h. */ +- +-#include +- +-#include "lock.h" +- +-/* ========================================================================= */ +- +-#if USE_POSIX_THREADS +- +-/* Use the POSIX threads library. */ +- +-# if PTHREAD_IN_USE_DETECTION_HARD +- +-/* The function to be executed by a dummy thread. */ +-static void * +-dummy_thread_func (void *arg) +-{ +- return arg; +-} +- +-int +-glthread_in_use (void) +-{ +- static int tested; +- static int result; /* 1: linked with -lpthread, 0: only with libc */ +- +- if (!tested) +- { +- pthread_t thread; +- +- if (pthread_create (&thread, NULL, dummy_thread_func, NULL) != 0) +- /* Thread creation failed. */ +- result = 0; +- else +- { +- /* Thread creation works. */ +- void *retval; +- if (pthread_join (thread, &retval) != 0) +- abort (); +- result = 1; +- } +- tested = 1; +- } +- return result; +-} +- +-# endif +- +-/* -------------------------- gl_lock_t datatype -------------------------- */ +- +-/* ------------------------- gl_rwlock_t datatype ------------------------- */ +- +-# if HAVE_PTHREAD_RWLOCK +- +-# if !defined PTHREAD_RWLOCK_INITIALIZER +- +-void +-glthread_rwlock_init (gl_rwlock_t *lock) +-{ +- if (pthread_rwlock_init (&lock->rwlock, NULL) != 0) +- abort (); +- lock->initialized = 1; +-} +- +-void +-glthread_rwlock_rdlock (gl_rwlock_t *lock) +-{ +- if (!lock->initialized) +- { +- if (pthread_mutex_lock (&lock->guard) != 0) +- abort (); +- if (!lock->initialized) +- glthread_rwlock_init (lock); +- if (pthread_mutex_unlock (&lock->guard) != 0) +- abort (); +- } +- if (pthread_rwlock_rdlock (&lock->rwlock) != 0) +- abort (); +-} +- +-void +-glthread_rwlock_wrlock (gl_rwlock_t *lock) +-{ +- if (!lock->initialized) +- { +- if (pthread_mutex_lock (&lock->guard) != 0) +- abort (); +- if (!lock->initialized) +- glthread_rwlock_init (lock); +- if (pthread_mutex_unlock (&lock->guard) != 0) +- abort (); +- } +- if (pthread_rwlock_wrlock (&lock->rwlock) != 0) +- abort (); +-} +- +-void +-glthread_rwlock_unlock (gl_rwlock_t *lock) +-{ +- if (!lock->initialized) +- abort (); +- if (pthread_rwlock_unlock (&lock->rwlock) != 0) +- abort (); +-} +- +-void +-glthread_rwlock_destroy (gl_rwlock_t *lock) +-{ +- if (!lock->initialized) +- abort (); +- if (pthread_rwlock_destroy (&lock->rwlock) != 0) +- abort (); +- lock->initialized = 0; +-} +- +-# endif +- +-# else +- +-void +-glthread_rwlock_init (gl_rwlock_t *lock) +-{ +- if (pthread_mutex_init (&lock->lock, NULL) != 0) +- abort (); +- if (pthread_cond_init (&lock->waiting_readers, NULL) != 0) +- abort (); +- if (pthread_cond_init (&lock->waiting_writers, NULL) != 0) +- abort (); +- lock->waiting_writers_count = 0; +- lock->runcount = 0; +-} +- +-void +-glthread_rwlock_rdlock (gl_rwlock_t *lock) +-{ +- if (pthread_mutex_lock (&lock->lock) != 0) +- abort (); +- /* Test whether only readers are currently running, and whether the runcount +- field will not overflow. */ +- /* POSIX says: "It is implementation-defined whether the calling thread +- acquires the lock when a writer does not hold the lock and there are +- writers blocked on the lock." Let's say, no: give the writers a higher +- priority. */ +- while (!(lock->runcount + 1 > 0 && lock->waiting_writers_count == 0)) +- { +- /* This thread has to wait for a while. Enqueue it among the +- waiting_readers. */ +- if (pthread_cond_wait (&lock->waiting_readers, &lock->lock) != 0) +- abort (); +- } +- lock->runcount++; +- if (pthread_mutex_unlock (&lock->lock) != 0) +- abort (); +-} +- +-void +-glthread_rwlock_wrlock (gl_rwlock_t *lock) +-{ +- if (pthread_mutex_lock (&lock->lock) != 0) +- abort (); +- /* Test whether no readers or writers are currently running. */ +- while (!(lock->runcount == 0)) +- { +- /* This thread has to wait for a while. Enqueue it among the +- waiting_writers. */ +- lock->waiting_writers_count++; +- if (pthread_cond_wait (&lock->waiting_writers, &lock->lock) != 0) +- abort (); +- lock->waiting_writers_count--; +- } +- lock->runcount--; /* runcount becomes -1 */ +- if (pthread_mutex_unlock (&lock->lock) != 0) +- abort (); +-} +- +-void +-glthread_rwlock_unlock (gl_rwlock_t *lock) +-{ +- if (pthread_mutex_lock (&lock->lock) != 0) +- abort (); +- if (lock->runcount < 0) +- { +- /* Drop a writer lock. */ +- if (!(lock->runcount == -1)) +- abort (); +- lock->runcount = 0; +- } +- else +- { +- /* Drop a reader lock. */ +- if (!(lock->runcount > 0)) +- abort (); +- lock->runcount--; +- } +- if (lock->runcount == 0) +- { +- /* POSIX recommends that "write locks shall take precedence over read +- locks", to avoid "writer starvation". */ +- if (lock->waiting_writers_count > 0) +- { +- /* Wake up one of the waiting writers. */ +- if (pthread_cond_signal (&lock->waiting_writers) != 0) +- abort (); +- } +- else +- { +- /* Wake up all waiting readers. */ +- if (pthread_cond_broadcast (&lock->waiting_readers) != 0) +- abort (); +- } +- } +- if (pthread_mutex_unlock (&lock->lock) != 0) +- abort (); +-} +- +-void +-glthread_rwlock_destroy (gl_rwlock_t *lock) +-{ +- if (pthread_mutex_destroy (&lock->lock) != 0) +- abort (); +- if (pthread_cond_destroy (&lock->waiting_readers) != 0) +- abort (); +- if (pthread_cond_destroy (&lock->waiting_writers) != 0) +- abort (); +-} +- +-# endif +- +-/* --------------------- gl_recursive_lock_t datatype --------------------- */ +- +-# if HAVE_PTHREAD_MUTEX_RECURSIVE +- +-# if !(defined PTHREAD_RECURSIVE_MUTEX_INITIALIZER || defined PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP) +- +-void +-glthread_recursive_lock_init (gl_recursive_lock_t *lock) +-{ +- pthread_mutexattr_t attributes; +- +- if (pthread_mutexattr_init (&attributes) != 0) +- abort (); +- if (pthread_mutexattr_settype (&attributes, PTHREAD_MUTEX_RECURSIVE) != 0) +- abort (); +- if (pthread_mutex_init (&lock->recmutex, &attributes) != 0) +- abort (); +- if (pthread_mutexattr_destroy (&attributes) != 0) +- abort (); +- lock->initialized = 1; +-} +- +-void +-glthread_recursive_lock_lock (gl_recursive_lock_t *lock) +-{ +- if (!lock->initialized) +- { +- if (pthread_mutex_lock (&lock->guard) != 0) +- abort (); +- if (!lock->initialized) +- glthread_recursive_lock_init (lock); +- if (pthread_mutex_unlock (&lock->guard) != 0) +- abort (); +- } +- if (pthread_mutex_lock (&lock->recmutex) != 0) +- abort (); +-} +- +-void +-glthread_recursive_lock_unlock (gl_recursive_lock_t *lock) +-{ +- if (!lock->initialized) +- abort (); +- if (pthread_mutex_unlock (&lock->recmutex) != 0) +- abort (); +-} +- +-void +-glthread_recursive_lock_destroy (gl_recursive_lock_t *lock) +-{ +- if (!lock->initialized) +- abort (); +- if (pthread_mutex_destroy (&lock->recmutex) != 0) +- abort (); +- lock->initialized = 0; +-} +- +-# endif +- +-# else +- +-void +-glthread_recursive_lock_init (gl_recursive_lock_t *lock) +-{ +- if (pthread_mutex_init (&lock->mutex, NULL) != 0) +- abort (); +- lock->owner = (pthread_t) 0; +- lock->depth = 0; +-} +- +-void +-glthread_recursive_lock_lock (gl_recursive_lock_t *lock) +-{ +- pthread_t self = pthread_self (); +- if (lock->owner != self) +- { +- if (pthread_mutex_lock (&lock->mutex) != 0) +- abort (); +- lock->owner = self; +- } +- if (++(lock->depth) == 0) /* wraparound? */ +- abort (); +-} +- +-void +-glthread_recursive_lock_unlock (gl_recursive_lock_t *lock) +-{ +- if (lock->owner != pthread_self ()) +- abort (); +- if (lock->depth == 0) +- abort (); +- if (--(lock->depth) == 0) +- { +- lock->owner = (pthread_t) 0; +- if (pthread_mutex_unlock (&lock->mutex) != 0) +- abort (); +- } +-} +- +-void +-glthread_recursive_lock_destroy (gl_recursive_lock_t *lock) +-{ +- if (lock->owner != (pthread_t) 0) +- abort (); +- if (pthread_mutex_destroy (&lock->mutex) != 0) +- abort (); +-} +- +-# endif +- +-/* -------------------------- gl_once_t datatype -------------------------- */ +- +-static const pthread_once_t fresh_once = PTHREAD_ONCE_INIT; +- +-int +-glthread_once_singlethreaded (pthread_once_t *once_control) +-{ +- /* We don't know whether pthread_once_t is an integer type, a floating-point +- type, a pointer type, or a structure type. */ +- char *firstbyte = (char *)once_control; +- if (*firstbyte == *(const char *)&fresh_once) +- { +- /* First time use of once_control. Invert the first byte. */ +- *firstbyte = ~ *(const char *)&fresh_once; +- return 1; +- } +- else +- return 0; +-} +- +-#endif +- +-/* ========================================================================= */ +- +-#if USE_PTH_THREADS +- +-/* Use the GNU Pth threads library. */ +- +-/* -------------------------- gl_lock_t datatype -------------------------- */ +- +-/* ------------------------- gl_rwlock_t datatype ------------------------- */ +- +-/* --------------------- gl_recursive_lock_t datatype --------------------- */ +- +-/* -------------------------- gl_once_t datatype -------------------------- */ +- +-void +-glthread_once_call (void *arg) +-{ +- void (**gl_once_temp_addr) (void) = (void (**) (void)) arg; +- void (*initfunction) (void) = *gl_once_temp_addr; +- initfunction (); +-} +- +-int +-glthread_once_singlethreaded (pth_once_t *once_control) +-{ +- /* We know that pth_once_t is an integer type. */ +- if (*once_control == PTH_ONCE_INIT) +- { +- /* First time use of once_control. Invert the marker. */ +- *once_control = ~ PTH_ONCE_INIT; +- return 1; +- } +- else +- return 0; +-} +- +-#endif +- +-/* ========================================================================= */ +- +-#if USE_SOLARIS_THREADS +- +-/* Use the old Solaris threads library. */ +- +-/* -------------------------- gl_lock_t datatype -------------------------- */ +- +-/* ------------------------- gl_rwlock_t datatype ------------------------- */ +- +-/* --------------------- gl_recursive_lock_t datatype --------------------- */ +- +-void +-glthread_recursive_lock_init (gl_recursive_lock_t *lock) +-{ +- if (mutex_init (&lock->mutex, USYNC_THREAD, NULL) != 0) +- abort (); +- lock->owner = (thread_t) 0; +- lock->depth = 0; +-} +- +-void +-glthread_recursive_lock_lock (gl_recursive_lock_t *lock) +-{ +- thread_t self = thr_self (); +- if (lock->owner != self) +- { +- if (mutex_lock (&lock->mutex) != 0) +- abort (); +- lock->owner = self; +- } +- if (++(lock->depth) == 0) /* wraparound? */ +- abort (); +-} +- +-void +-glthread_recursive_lock_unlock (gl_recursive_lock_t *lock) +-{ +- if (lock->owner != thr_self ()) +- abort (); +- if (lock->depth == 0) +- abort (); +- if (--(lock->depth) == 0) +- { +- lock->owner = (thread_t) 0; +- if (mutex_unlock (&lock->mutex) != 0) +- abort (); +- } +-} +- +-void +-glthread_recursive_lock_destroy (gl_recursive_lock_t *lock) +-{ +- if (lock->owner != (thread_t) 0) +- abort (); +- if (mutex_destroy (&lock->mutex) != 0) +- abort (); +-} +- +-/* -------------------------- gl_once_t datatype -------------------------- */ +- +-void +-glthread_once (gl_once_t *once_control, void (*initfunction) (void)) +-{ +- if (!once_control->inited) +- { +- /* Use the mutex to guarantee that if another thread is already calling +- the initfunction, this thread waits until it's finished. */ +- if (mutex_lock (&once_control->mutex) != 0) +- abort (); +- if (!once_control->inited) +- { +- once_control->inited = 1; +- initfunction (); +- } +- if (mutex_unlock (&once_control->mutex) != 0) +- abort (); +- } +-} +- +-int +-glthread_once_singlethreaded (gl_once_t *once_control) +-{ +- /* We know that gl_once_t contains an integer type. */ +- if (!once_control->inited) +- { +- /* First time use of once_control. Invert the marker. */ +- once_control->inited = ~ 0; +- return 1; +- } +- else +- return 0; +-} +- +-#endif +- +-/* ========================================================================= */ +- +-#if USE_WIN32_THREADS +- +-/* -------------------------- gl_lock_t datatype -------------------------- */ +- +-void +-glthread_lock_init (gl_lock_t *lock) +-{ +- InitializeCriticalSection (&lock->lock); +- lock->guard.done = 1; +-} +- +-void +-glthread_lock_lock (gl_lock_t *lock) +-{ +- if (!lock->guard.done) +- { +- if (InterlockedIncrement (&lock->guard.started) == 0) +- /* This thread is the first one to need this lock. Initialize it. */ +- glthread_lock_init (lock); +- else +- /* Yield the CPU while waiting for another thread to finish +- initializing this lock. */ +- while (!lock->guard.done) +- Sleep (0); +- } +- EnterCriticalSection (&lock->lock); +-} +- +-void +-glthread_lock_unlock (gl_lock_t *lock) +-{ +- if (!lock->guard.done) +- abort (); +- LeaveCriticalSection (&lock->lock); +-} +- +-void +-glthread_lock_destroy (gl_lock_t *lock) +-{ +- if (!lock->guard.done) +- abort (); +- DeleteCriticalSection (&lock->lock); +- lock->guard.done = 0; +-} +- +-/* ------------------------- gl_rwlock_t datatype ------------------------- */ +- +-static inline void +-gl_waitqueue_init (gl_waitqueue_t *wq) +-{ +- wq->array = NULL; +- wq->count = 0; +- wq->alloc = 0; +- wq->offset = 0; +-} +- +-/* Enqueues the current thread, represented by an event, in a wait queue. +- Returns INVALID_HANDLE_VALUE if an allocation failure occurs. */ +-static HANDLE +-gl_waitqueue_add (gl_waitqueue_t *wq) +-{ +- HANDLE event; +- unsigned int index; +- +- if (wq->count == wq->alloc) +- { +- unsigned int new_alloc = 2 * wq->alloc + 1; +- HANDLE *new_array = +- (HANDLE *) realloc (wq->array, new_alloc * sizeof (HANDLE)); +- if (new_array == NULL) +- /* No more memory. */ +- return INVALID_HANDLE_VALUE; +- /* Now is a good opportunity to rotate the array so that its contents +- starts at offset 0. */ +- if (wq->offset > 0) +- { +- unsigned int old_count = wq->count; +- unsigned int old_alloc = wq->alloc; +- unsigned int old_offset = wq->offset; +- unsigned int i; +- if (old_offset + old_count > old_alloc) +- { +- unsigned int limit = old_offset + old_count - old_alloc; +- for (i = 0; i < limit; i++) +- new_array[old_alloc + i] = new_array[i]; +- } +- for (i = 0; i < old_count; i++) +- new_array[i] = new_array[old_offset + i]; +- wq->offset = 0; +- } +- wq->array = new_array; +- wq->alloc = new_alloc; +- } +- event = CreateEvent (NULL, TRUE, FALSE, NULL); +- if (event == INVALID_HANDLE_VALUE) +- /* No way to allocate an event. */ +- return INVALID_HANDLE_VALUE; +- index = wq->offset + wq->count; +- if (index >= wq->alloc) +- index -= wq->alloc; +- wq->array[index] = event; +- wq->count++; +- return event; +-} +- +-/* Notifies the first thread from a wait queue and dequeues it. */ +-static inline void +-gl_waitqueue_notify_first (gl_waitqueue_t *wq) +-{ +- SetEvent (wq->array[wq->offset + 0]); +- wq->offset++; +- wq->count--; +- if (wq->count == 0 || wq->offset == wq->alloc) +- wq->offset = 0; +-} +- +-/* Notifies all threads from a wait queue and dequeues them all. */ +-static inline void +-gl_waitqueue_notify_all (gl_waitqueue_t *wq) +-{ +- unsigned int i; +- +- for (i = 0; i < wq->count; i++) +- { +- unsigned int index = wq->offset + i; +- if (index >= wq->alloc) +- index -= wq->alloc; +- SetEvent (wq->array[index]); +- } +- wq->count = 0; +- wq->offset = 0; +-} +- +-void +-glthread_rwlock_init (gl_rwlock_t *lock) +-{ +- InitializeCriticalSection (&lock->lock); +- gl_waitqueue_init (&lock->waiting_readers); +- gl_waitqueue_init (&lock->waiting_writers); +- lock->runcount = 0; +- lock->guard.done = 1; +-} +- +-void +-glthread_rwlock_rdlock (gl_rwlock_t *lock) +-{ +- if (!lock->guard.done) +- { +- if (InterlockedIncrement (&lock->guard.started) == 0) +- /* This thread is the first one to need this lock. Initialize it. */ +- glthread_rwlock_init (lock); +- else +- /* Yield the CPU while waiting for another thread to finish +- initializing this lock. */ +- while (!lock->guard.done) +- Sleep (0); +- } +- EnterCriticalSection (&lock->lock); +- /* Test whether only readers are currently running, and whether the runcount +- field will not overflow. */ +- if (!(lock->runcount + 1 > 0)) +- { +- /* This thread has to wait for a while. Enqueue it among the +- waiting_readers. */ +- HANDLE event = gl_waitqueue_add (&lock->waiting_readers); +- if (event != INVALID_HANDLE_VALUE) +- { +- DWORD result; +- LeaveCriticalSection (&lock->lock); +- /* Wait until another thread signals this event. */ +- result = WaitForSingleObject (event, INFINITE); +- if (result == WAIT_FAILED || result == WAIT_TIMEOUT) +- abort (); +- CloseHandle (event); +- /* The thread which signalled the event already did the bookkeeping: +- removed us from the waiting_readers, incremented lock->runcount. */ +- if (!(lock->runcount > 0)) +- abort (); +- return; +- } +- else +- { +- /* Allocation failure. Weird. */ +- do +- { +- LeaveCriticalSection (&lock->lock); +- Sleep (1); +- EnterCriticalSection (&lock->lock); +- } +- while (!(lock->runcount + 1 > 0)); +- } +- } +- lock->runcount++; +- LeaveCriticalSection (&lock->lock); +-} +- +-void +-glthread_rwlock_wrlock (gl_rwlock_t *lock) +-{ +- if (!lock->guard.done) +- { +- if (InterlockedIncrement (&lock->guard.started) == 0) +- /* This thread is the first one to need this lock. Initialize it. */ +- glthread_rwlock_init (lock); +- else +- /* Yield the CPU while waiting for another thread to finish +- initializing this lock. */ +- while (!lock->guard.done) +- Sleep (0); +- } +- EnterCriticalSection (&lock->lock); +- /* Test whether no readers or writers are currently running. */ +- if (!(lock->runcount == 0)) +- { +- /* This thread has to wait for a while. Enqueue it among the +- waiting_writers. */ +- HANDLE event = gl_waitqueue_add (&lock->waiting_writers); +- if (event != INVALID_HANDLE_VALUE) +- { +- DWORD result; +- LeaveCriticalSection (&lock->lock); +- /* Wait until another thread signals this event. */ +- result = WaitForSingleObject (event, INFINITE); +- if (result == WAIT_FAILED || result == WAIT_TIMEOUT) +- abort (); +- CloseHandle (event); +- /* The thread which signalled the event already did the bookkeeping: +- removed us from the waiting_writers, set lock->runcount = -1. */ +- if (!(lock->runcount == -1)) +- abort (); +- return; +- } +- else +- { +- /* Allocation failure. Weird. */ +- do +- { +- LeaveCriticalSection (&lock->lock); +- Sleep (1); +- EnterCriticalSection (&lock->lock); +- } +- while (!(lock->runcount == 0)); +- } +- } +- lock->runcount--; /* runcount becomes -1 */ +- LeaveCriticalSection (&lock->lock); +-} +- +-void +-glthread_rwlock_unlock (gl_rwlock_t *lock) +-{ +- if (!lock->guard.done) +- abort (); +- EnterCriticalSection (&lock->lock); +- if (lock->runcount < 0) +- { +- /* Drop a writer lock. */ +- if (!(lock->runcount == -1)) +- abort (); +- lock->runcount = 0; +- } +- else +- { +- /* Drop a reader lock. */ +- if (!(lock->runcount > 0)) +- abort (); +- lock->runcount--; +- } +- if (lock->runcount == 0) +- { +- /* POSIX recommends that "write locks shall take precedence over read +- locks", to avoid "writer starvation". */ +- if (lock->waiting_writers.count > 0) +- { +- /* Wake up one of the waiting writers. */ +- lock->runcount--; +- gl_waitqueue_notify_first (&lock->waiting_writers); +- } +- else +- { +- /* Wake up all waiting readers. */ +- lock->runcount += lock->waiting_readers.count; +- gl_waitqueue_notify_all (&lock->waiting_readers); +- } +- } +- LeaveCriticalSection (&lock->lock); +-} +- +-void +-glthread_rwlock_destroy (gl_rwlock_t *lock) +-{ +- if (!lock->guard.done) +- abort (); +- if (lock->runcount != 0) +- abort (); +- DeleteCriticalSection (&lock->lock); +- if (lock->waiting_readers.array != NULL) +- free (lock->waiting_readers.array); +- if (lock->waiting_writers.array != NULL) +- free (lock->waiting_writers.array); +- lock->guard.done = 0; +-} +- +-/* --------------------- gl_recursive_lock_t datatype --------------------- */ +- +-void +-glthread_recursive_lock_init (gl_recursive_lock_t *lock) +-{ +- lock->owner = 0; +- lock->depth = 0; +- InitializeCriticalSection (&lock->lock); +- lock->guard.done = 1; +-} +- +-void +-glthread_recursive_lock_lock (gl_recursive_lock_t *lock) +-{ +- if (!lock->guard.done) +- { +- if (InterlockedIncrement (&lock->guard.started) == 0) +- /* This thread is the first one to need this lock. Initialize it. */ +- glthread_recursive_lock_init (lock); +- else +- /* Yield the CPU while waiting for another thread to finish +- initializing this lock. */ +- while (!lock->guard.done) +- Sleep (0); +- } +- { +- DWORD self = GetCurrentThreadId (); +- if (lock->owner != self) +- { +- EnterCriticalSection (&lock->lock); +- lock->owner = self; +- } +- if (++(lock->depth) == 0) /* wraparound? */ +- abort (); +- } +-} +- +-void +-glthread_recursive_lock_unlock (gl_recursive_lock_t *lock) +-{ +- if (lock->owner != GetCurrentThreadId ()) +- abort (); +- if (lock->depth == 0) +- abort (); +- if (--(lock->depth) == 0) +- { +- lock->owner = 0; +- LeaveCriticalSection (&lock->lock); +- } +-} +- +-void +-glthread_recursive_lock_destroy (gl_recursive_lock_t *lock) +-{ +- if (lock->owner != 0) +- abort (); +- DeleteCriticalSection (&lock->lock); +- lock->guard.done = 0; +-} +- +-/* -------------------------- gl_once_t datatype -------------------------- */ +- +-void +-glthread_once (gl_once_t *once_control, void (*initfunction) (void)) +-{ +- if (once_control->inited <= 0) +- { +- if (InterlockedIncrement (&once_control->started) == 0) +- { +- /* This thread is the first one to come to this once_control. */ +- InitializeCriticalSection (&once_control->lock); +- EnterCriticalSection (&once_control->lock); +- once_control->inited = 0; +- initfunction (); +- once_control->inited = 1; +- LeaveCriticalSection (&once_control->lock); +- } +- else +- { +- /* Undo last operation. */ +- InterlockedDecrement (&once_control->started); +- /* Some other thread has already started the initialization. +- Yield the CPU while waiting for the other thread to finish +- initializing and taking the lock. */ +- while (once_control->inited < 0) +- Sleep (0); +- if (once_control->inited <= 0) +- { +- /* Take the lock. This blocks until the other thread has +- finished calling the initfunction. */ +- EnterCriticalSection (&once_control->lock); +- LeaveCriticalSection (&once_control->lock); +- if (!(once_control->inited > 0)) +- abort (); +- } +- } +- } +-} +- +-#endif +- +-/* ========================================================================= */ +--- a/intl/lock.h ++++ /dev/null +@@ -1,1105 +0,0 @@ +-/* Locking in multithreaded situations. +- Copyright (C) 2005-2007 Free Software Foundation, Inc. +- +- This program is free software; you can redistribute it and/or modify it +- under the terms of the GNU Library General Public License as published +- by the Free Software Foundation; either version 2, or (at your option) +- any later version. +- +- This program is distributed in the hope that it will be useful, +- but WITHOUT ANY WARRANTY; without even the implied warranty of +- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +- Library General Public License for more details. +- +- You should have received a copy of the GNU Library General Public +- License along with this program; if not, write to the Free Software +- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, +- USA. */ +- +-/* Written by Bruno Haible , 2005. +- Based on GCC's gthr-posix.h, gthr-posix95.h, gthr-solaris.h, +- gthr-win32.h. */ +- +-/* This file contains locking primitives for use with a given thread library. +- It does not contain primitives for creating threads or for other +- synchronization primitives. +- +- Normal (non-recursive) locks: +- Type: gl_lock_t +- Declaration: gl_lock_define(extern, name) +- Initializer: gl_lock_define_initialized(, name) +- Initialization: gl_lock_init (name); +- Taking the lock: gl_lock_lock (name); +- Releasing the lock: gl_lock_unlock (name); +- De-initialization: gl_lock_destroy (name); +- +- Read-Write (non-recursive) locks: +- Type: gl_rwlock_t +- Declaration: gl_rwlock_define(extern, name) +- Initializer: gl_rwlock_define_initialized(, name) +- Initialization: gl_rwlock_init (name); +- Taking the lock: gl_rwlock_rdlock (name); +- gl_rwlock_wrlock (name); +- Releasing the lock: gl_rwlock_unlock (name); +- De-initialization: gl_rwlock_destroy (name); +- +- Recursive locks: +- Type: gl_recursive_lock_t +- Declaration: gl_recursive_lock_define(extern, name) +- Initializer: gl_recursive_lock_define_initialized(, name) +- Initialization: gl_recursive_lock_init (name); +- Taking the lock: gl_recursive_lock_lock (name); +- Releasing the lock: gl_recursive_lock_unlock (name); +- De-initialization: gl_recursive_lock_destroy (name); +- +- Once-only execution: +- Type: gl_once_t +- Initializer: gl_once_define(extern, name) +- Execution: gl_once (name, initfunction); +-*/ +- +- +-#ifndef _LOCK_H +-#define _LOCK_H +- +-/* ========================================================================= */ +- +-#if USE_POSIX_THREADS +- +-/* Use the POSIX threads library. */ +- +-# include +-# include +- +-# ifdef __cplusplus +-extern "C" { +-# endif +- +-# if PTHREAD_IN_USE_DETECTION_HARD +- +-/* The pthread_in_use() detection needs to be done at runtime. */ +-# define pthread_in_use() \ +- glthread_in_use () +-extern int glthread_in_use (void); +- +-# endif +- +-# if USE_POSIX_THREADS_WEAK +- +-/* Use weak references to the POSIX threads library. */ +- +-/* Weak references avoid dragging in external libraries if the other parts +- of the program don't use them. Here we use them, because we don't want +- every program that uses libintl to depend on libpthread. This assumes +- that libpthread would not be loaded after libintl; i.e. if libintl is +- loaded first, by an executable that does not depend on libpthread, and +- then a module is dynamically loaded that depends on libpthread, libintl +- will not be multithread-safe. */ +- +-/* The way to test at runtime whether libpthread is present is to test +- whether a function pointer's value, such as &pthread_mutex_init, is +- non-NULL. However, some versions of GCC have a bug through which, in +- PIC mode, &foo != NULL always evaluates to true if there is a direct +- call to foo(...) in the same function. To avoid this, we test the +- address of a function in libpthread that we don't use. */ +- +-# pragma weak pthread_mutex_init +-# pragma weak pthread_mutex_lock +-# pragma weak pthread_mutex_unlock +-# pragma weak pthread_mutex_destroy +-# pragma weak pthread_rwlock_init +-# pragma weak pthread_rwlock_rdlock +-# pragma weak pthread_rwlock_wrlock +-# pragma weak pthread_rwlock_unlock +-# pragma weak pthread_rwlock_destroy +-# pragma weak pthread_once +-# pragma weak pthread_cond_init +-# pragma weak pthread_cond_wait +-# pragma weak pthread_cond_signal +-# pragma weak pthread_cond_broadcast +-# pragma weak pthread_cond_destroy +-# pragma weak pthread_mutexattr_init +-# pragma weak pthread_mutexattr_settype +-# pragma weak pthread_mutexattr_destroy +-# ifndef pthread_self +-# pragma weak pthread_self +-# endif +- +-# if !PTHREAD_IN_USE_DETECTION_HARD +-# pragma weak pthread_cancel +-# define pthread_in_use() (pthread_cancel != NULL) +-# endif +- +-# else +- +-# if !PTHREAD_IN_USE_DETECTION_HARD +-# define pthread_in_use() 1 +-# endif +- +-# endif +- +-/* -------------------------- gl_lock_t datatype -------------------------- */ +- +-typedef pthread_mutex_t gl_lock_t; +-# define gl_lock_define(STORAGECLASS, NAME) \ +- STORAGECLASS pthread_mutex_t NAME; +-# define gl_lock_define_initialized(STORAGECLASS, NAME) \ +- STORAGECLASS pthread_mutex_t NAME = gl_lock_initializer; +-# define gl_lock_initializer \ +- PTHREAD_MUTEX_INITIALIZER +-# define gl_lock_init(NAME) \ +- do \ +- { \ +- if (pthread_in_use () && pthread_mutex_init (&NAME, NULL) != 0) \ +- abort (); \ +- } \ +- while (0) +-# define gl_lock_lock(NAME) \ +- do \ +- { \ +- if (pthread_in_use () && pthread_mutex_lock (&NAME) != 0) \ +- abort (); \ +- } \ +- while (0) +-# define gl_lock_unlock(NAME) \ +- do \ +- { \ +- if (pthread_in_use () && pthread_mutex_unlock (&NAME) != 0) \ +- abort (); \ +- } \ +- while (0) +-# define gl_lock_destroy(NAME) \ +- do \ +- { \ +- if (pthread_in_use () && pthread_mutex_destroy (&NAME) != 0) \ +- abort (); \ +- } \ +- while (0) +- +-/* ------------------------- gl_rwlock_t datatype ------------------------- */ +- +-# if HAVE_PTHREAD_RWLOCK +- +-# ifdef PTHREAD_RWLOCK_INITIALIZER +- +-typedef pthread_rwlock_t gl_rwlock_t; +-# define gl_rwlock_define(STORAGECLASS, NAME) \ +- STORAGECLASS pthread_rwlock_t NAME; +-# define gl_rwlock_define_initialized(STORAGECLASS, NAME) \ +- STORAGECLASS pthread_rwlock_t NAME = gl_rwlock_initializer; +-# define gl_rwlock_initializer \ +- PTHREAD_RWLOCK_INITIALIZER +-# define gl_rwlock_init(NAME) \ +- do \ +- { \ +- if (pthread_in_use () && pthread_rwlock_init (&NAME, NULL) != 0) \ +- abort (); \ +- } \ +- while (0) +-# define gl_rwlock_rdlock(NAME) \ +- do \ +- { \ +- if (pthread_in_use () && pthread_rwlock_rdlock (&NAME) != 0) \ +- abort (); \ +- } \ +- while (0) +-# define gl_rwlock_wrlock(NAME) \ +- do \ +- { \ +- if (pthread_in_use () && pthread_rwlock_wrlock (&NAME) != 0) \ +- abort (); \ +- } \ +- while (0) +-# define gl_rwlock_unlock(NAME) \ +- do \ +- { \ +- if (pthread_in_use () && pthread_rwlock_unlock (&NAME) != 0) \ +- abort (); \ +- } \ +- while (0) +-# define gl_rwlock_destroy(NAME) \ +- do \ +- { \ +- if (pthread_in_use () && pthread_rwlock_destroy (&NAME) != 0) \ +- abort (); \ +- } \ +- while (0) +- +-# else +- +-typedef struct +- { +- int initialized; +- pthread_mutex_t guard; /* protects the initialization */ +- pthread_rwlock_t rwlock; /* read-write lock */ +- } +- gl_rwlock_t; +-# define gl_rwlock_define(STORAGECLASS, NAME) \ +- STORAGECLASS gl_rwlock_t NAME; +-# define gl_rwlock_define_initialized(STORAGECLASS, NAME) \ +- STORAGECLASS gl_rwlock_t NAME = gl_rwlock_initializer; +-# define gl_rwlock_initializer \ +- { 0, PTHREAD_MUTEX_INITIALIZER } +-# define gl_rwlock_init(NAME) \ +- do \ +- { \ +- if (pthread_in_use ()) \ +- glthread_rwlock_init (&NAME); \ +- } \ +- while (0) +-# define gl_rwlock_rdlock(NAME) \ +- do \ +- { \ +- if (pthread_in_use ()) \ +- glthread_rwlock_rdlock (&NAME); \ +- } \ +- while (0) +-# define gl_rwlock_wrlock(NAME) \ +- do \ +- { \ +- if (pthread_in_use ()) \ +- glthread_rwlock_wrlock (&NAME); \ +- } \ +- while (0) +-# define gl_rwlock_unlock(NAME) \ +- do \ +- { \ +- if (pthread_in_use ()) \ +- glthread_rwlock_unlock (&NAME); \ +- } \ +- while (0) +-# define gl_rwlock_destroy(NAME) \ +- do \ +- { \ +- if (pthread_in_use ()) \ +- glthread_rwlock_destroy (&NAME); \ +- } \ +- while (0) +-extern void glthread_rwlock_init (gl_rwlock_t *lock); +-extern void glthread_rwlock_rdlock (gl_rwlock_t *lock); +-extern void glthread_rwlock_wrlock (gl_rwlock_t *lock); +-extern void glthread_rwlock_unlock (gl_rwlock_t *lock); +-extern void glthread_rwlock_destroy (gl_rwlock_t *lock); +- +-# endif +- +-# else +- +-typedef struct +- { +- pthread_mutex_t lock; /* protects the remaining fields */ +- pthread_cond_t waiting_readers; /* waiting readers */ +- pthread_cond_t waiting_writers; /* waiting writers */ +- unsigned int waiting_writers_count; /* number of waiting writers */ +- int runcount; /* number of readers running, or -1 when a writer runs */ +- } +- gl_rwlock_t; +-# define gl_rwlock_define(STORAGECLASS, NAME) \ +- STORAGECLASS gl_rwlock_t NAME; +-# define gl_rwlock_define_initialized(STORAGECLASS, NAME) \ +- STORAGECLASS gl_rwlock_t NAME = gl_rwlock_initializer; +-# define gl_rwlock_initializer \ +- { PTHREAD_MUTEX_INITIALIZER, PTHREAD_COND_INITIALIZER, PTHREAD_COND_INITIALIZER, 0, 0 } +-# define gl_rwlock_init(NAME) \ +- do \ +- { \ +- if (pthread_in_use ()) \ +- glthread_rwlock_init (&NAME); \ +- } \ +- while (0) +-# define gl_rwlock_rdlock(NAME) \ +- do \ +- { \ +- if (pthread_in_use ()) \ +- glthread_rwlock_rdlock (&NAME); \ +- } \ +- while (0) +-# define gl_rwlock_wrlock(NAME) \ +- do \ +- { \ +- if (pthread_in_use ()) \ +- glthread_rwlock_wrlock (&NAME); \ +- } \ +- while (0) +-# define gl_rwlock_unlock(NAME) \ +- do \ +- { \ +- if (pthread_in_use ()) \ +- glthread_rwlock_unlock (&NAME); \ +- } \ +- while (0) +-# define gl_rwlock_destroy(NAME) \ +- do \ +- { \ +- if (pthread_in_use ()) \ +- glthread_rwlock_destroy (&NAME); \ +- } \ +- while (0) +-extern void glthread_rwlock_init (gl_rwlock_t *lock); +-extern void glthread_rwlock_rdlock (gl_rwlock_t *lock); +-extern void glthread_rwlock_wrlock (gl_rwlock_t *lock); +-extern void glthread_rwlock_unlock (gl_rwlock_t *lock); +-extern void glthread_rwlock_destroy (gl_rwlock_t *lock); +- +-# endif +- +-/* --------------------- gl_recursive_lock_t datatype --------------------- */ +- +-# if HAVE_PTHREAD_MUTEX_RECURSIVE +- +-# if defined PTHREAD_RECURSIVE_MUTEX_INITIALIZER || defined PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP +- +-typedef pthread_mutex_t gl_recursive_lock_t; +-# define gl_recursive_lock_define(STORAGECLASS, NAME) \ +- STORAGECLASS pthread_mutex_t NAME; +-# define gl_recursive_lock_define_initialized(STORAGECLASS, NAME) \ +- STORAGECLASS pthread_mutex_t NAME = gl_recursive_lock_initializer; +-# ifdef PTHREAD_RECURSIVE_MUTEX_INITIALIZER +-# define gl_recursive_lock_initializer \ +- PTHREAD_RECURSIVE_MUTEX_INITIALIZER +-# else +-# define gl_recursive_lock_initializer \ +- PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP +-# endif +-# define gl_recursive_lock_init(NAME) \ +- do \ +- { \ +- if (pthread_in_use () && pthread_mutex_init (&NAME, NULL) != 0) \ +- abort (); \ +- } \ +- while (0) +-# define gl_recursive_lock_lock(NAME) \ +- do \ +- { \ +- if (pthread_in_use () && pthread_mutex_lock (&NAME) != 0) \ +- abort (); \ +- } \ +- while (0) +-# define gl_recursive_lock_unlock(NAME) \ +- do \ +- { \ +- if (pthread_in_use () && pthread_mutex_unlock (&NAME) != 0) \ +- abort (); \ +- } \ +- while (0) +-# define gl_recursive_lock_destroy(NAME) \ +- do \ +- { \ +- if (pthread_in_use () && pthread_mutex_destroy (&NAME) != 0) \ +- abort (); \ +- } \ +- while (0) +- +-# else +- +-typedef struct +- { +- pthread_mutex_t recmutex; /* recursive mutex */ +- pthread_mutex_t guard; /* protects the initialization */ +- int initialized; +- } +- gl_recursive_lock_t; +-# define gl_recursive_lock_define(STORAGECLASS, NAME) \ +- STORAGECLASS gl_recursive_lock_t NAME; +-# define gl_recursive_lock_define_initialized(STORAGECLASS, NAME) \ +- STORAGECLASS gl_recursive_lock_t NAME = gl_recursive_lock_initializer; +-# define gl_recursive_lock_initializer \ +- { PTHREAD_MUTEX_INITIALIZER, PTHREAD_MUTEX_INITIALIZER, 0 } +-# define gl_recursive_lock_init(NAME) \ +- do \ +- { \ +- if (pthread_in_use ()) \ +- glthread_recursive_lock_init (&NAME); \ +- } \ +- while (0) +-# define gl_recursive_lock_lock(NAME) \ +- do \ +- { \ +- if (pthread_in_use ()) \ +- glthread_recursive_lock_lock (&NAME); \ +- } \ +- while (0) +-# define gl_recursive_lock_unlock(NAME) \ +- do \ +- { \ +- if (pthread_in_use ()) \ +- glthread_recursive_lock_unlock (&NAME); \ +- } \ +- while (0) +-# define gl_recursive_lock_destroy(NAME) \ +- do \ +- { \ +- if (pthread_in_use ()) \ +- glthread_recursive_lock_destroy (&NAME); \ +- } \ +- while (0) +-extern void glthread_recursive_lock_init (gl_recursive_lock_t *lock); +-extern void glthread_recursive_lock_lock (gl_recursive_lock_t *lock); +-extern void glthread_recursive_lock_unlock (gl_recursive_lock_t *lock); +-extern void glthread_recursive_lock_destroy (gl_recursive_lock_t *lock); +- +-# endif +- +-# else +- +-/* Old versions of POSIX threads on Solaris did not have recursive locks. +- We have to implement them ourselves. */ +- +-typedef struct +- { +- pthread_mutex_t mutex; +- pthread_t owner; +- unsigned long depth; +- } +- gl_recursive_lock_t; +-# define gl_recursive_lock_define(STORAGECLASS, NAME) \ +- STORAGECLASS gl_recursive_lock_t NAME; +-# define gl_recursive_lock_define_initialized(STORAGECLASS, NAME) \ +- STORAGECLASS gl_recursive_lock_t NAME = gl_recursive_lock_initializer; +-# define gl_recursive_lock_initializer \ +- { PTHREAD_MUTEX_INITIALIZER, (pthread_t) 0, 0 } +-# define gl_recursive_lock_init(NAME) \ +- do \ +- { \ +- if (pthread_in_use ()) \ +- glthread_recursive_lock_init (&NAME); \ +- } \ +- while (0) +-# define gl_recursive_lock_lock(NAME) \ +- do \ +- { \ +- if (pthread_in_use ()) \ +- glthread_recursive_lock_lock (&NAME); \ +- } \ +- while (0) +-# define gl_recursive_lock_unlock(NAME) \ +- do \ +- { \ +- if (pthread_in_use ()) \ +- glthread_recursive_lock_unlock (&NAME); \ +- } \ +- while (0) +-# define gl_recursive_lock_destroy(NAME) \ +- do \ +- { \ +- if (pthread_in_use ()) \ +- glthread_recursive_lock_destroy (&NAME); \ +- } \ +- while (0) +-extern void glthread_recursive_lock_init (gl_recursive_lock_t *lock); +-extern void glthread_recursive_lock_lock (gl_recursive_lock_t *lock); +-extern void glthread_recursive_lock_unlock (gl_recursive_lock_t *lock); +-extern void glthread_recursive_lock_destroy (gl_recursive_lock_t *lock); +- +-# endif +- +-/* -------------------------- gl_once_t datatype -------------------------- */ +- +-typedef pthread_once_t gl_once_t; +-# define gl_once_define(STORAGECLASS, NAME) \ +- STORAGECLASS pthread_once_t NAME = PTHREAD_ONCE_INIT; +-# define gl_once(NAME, INITFUNCTION) \ +- do \ +- { \ +- if (pthread_in_use ()) \ +- { \ +- if (pthread_once (&NAME, INITFUNCTION) != 0) \ +- abort (); \ +- } \ +- else \ +- { \ +- if (glthread_once_singlethreaded (&NAME)) \ +- INITFUNCTION (); \ +- } \ +- } \ +- while (0) +-extern int glthread_once_singlethreaded (pthread_once_t *once_control); +- +-# ifdef __cplusplus +-} +-# endif +- +-#endif +- +-/* ========================================================================= */ +- +-#if USE_PTH_THREADS +- +-/* Use the GNU Pth threads library. */ +- +-# include +-# include +- +-# ifdef __cplusplus +-extern "C" { +-# endif +- +-# if USE_PTH_THREADS_WEAK +- +-/* Use weak references to the GNU Pth threads library. */ +- +-# pragma weak pth_mutex_init +-# pragma weak pth_mutex_acquire +-# pragma weak pth_mutex_release +-# pragma weak pth_rwlock_init +-# pragma weak pth_rwlock_acquire +-# pragma weak pth_rwlock_release +-# pragma weak pth_once +- +-# pragma weak pth_cancel +-# define pth_in_use() (pth_cancel != NULL) +- +-# else +- +-# define pth_in_use() 1 +- +-# endif +- +-/* -------------------------- gl_lock_t datatype -------------------------- */ +- +-typedef pth_mutex_t gl_lock_t; +-# define gl_lock_define(STORAGECLASS, NAME) \ +- STORAGECLASS pth_mutex_t NAME; +-# define gl_lock_define_initialized(STORAGECLASS, NAME) \ +- STORAGECLASS pth_mutex_t NAME = gl_lock_initializer; +-# define gl_lock_initializer \ +- PTH_MUTEX_INIT +-# define gl_lock_init(NAME) \ +- do \ +- { \ +- if (pth_in_use() && !pth_mutex_init (&NAME)) \ +- abort (); \ +- } \ +- while (0) +-# define gl_lock_lock(NAME) \ +- do \ +- { \ +- if (pth_in_use() && !pth_mutex_acquire (&NAME, 0, NULL)) \ +- abort (); \ +- } \ +- while (0) +-# define gl_lock_unlock(NAME) \ +- do \ +- { \ +- if (pth_in_use() && !pth_mutex_release (&NAME)) \ +- abort (); \ +- } \ +- while (0) +-# define gl_lock_destroy(NAME) \ +- (void)(&NAME) +- +-/* ------------------------- gl_rwlock_t datatype ------------------------- */ +- +-typedef pth_rwlock_t gl_rwlock_t; +-# define gl_rwlock_define(STORAGECLASS, NAME) \ +- STORAGECLASS pth_rwlock_t NAME; +-# define gl_rwlock_define_initialized(STORAGECLASS, NAME) \ +- STORAGECLASS pth_rwlock_t NAME = gl_rwlock_initializer; +-# define gl_rwlock_initializer \ +- PTH_RWLOCK_INIT +-# define gl_rwlock_init(NAME) \ +- do \ +- { \ +- if (pth_in_use() && !pth_rwlock_init (&NAME)) \ +- abort (); \ +- } \ +- while (0) +-# define gl_rwlock_rdlock(NAME) \ +- do \ +- { \ +- if (pth_in_use() \ +- && !pth_rwlock_acquire (&NAME, PTH_RWLOCK_RD, 0, NULL)) \ +- abort (); \ +- } \ +- while (0) +-# define gl_rwlock_wrlock(NAME) \ +- do \ +- { \ +- if (pth_in_use() \ +- && !pth_rwlock_acquire (&NAME, PTH_RWLOCK_RW, 0, NULL)) \ +- abort (); \ +- } \ +- while (0) +-# define gl_rwlock_unlock(NAME) \ +- do \ +- { \ +- if (pth_in_use() && !pth_rwlock_release (&NAME)) \ +- abort (); \ +- } \ +- while (0) +-# define gl_rwlock_destroy(NAME) \ +- (void)(&NAME) +- +-/* --------------------- gl_recursive_lock_t datatype --------------------- */ +- +-/* In Pth, mutexes are recursive by default. */ +-typedef pth_mutex_t gl_recursive_lock_t; +-# define gl_recursive_lock_define(STORAGECLASS, NAME) \ +- STORAGECLASS pth_mutex_t NAME; +-# define gl_recursive_lock_define_initialized(STORAGECLASS, NAME) \ +- STORAGECLASS pth_mutex_t NAME = gl_recursive_lock_initializer; +-# define gl_recursive_lock_initializer \ +- PTH_MUTEX_INIT +-# define gl_recursive_lock_init(NAME) \ +- do \ +- { \ +- if (pth_in_use() && !pth_mutex_init (&NAME)) \ +- abort (); \ +- } \ +- while (0) +-# define gl_recursive_lock_lock(NAME) \ +- do \ +- { \ +- if (pth_in_use() && !pth_mutex_acquire (&NAME, 0, NULL)) \ +- abort (); \ +- } \ +- while (0) +-# define gl_recursive_lock_unlock(NAME) \ +- do \ +- { \ +- if (pth_in_use() && !pth_mutex_release (&NAME)) \ +- abort (); \ +- } \ +- while (0) +-# define gl_recursive_lock_destroy(NAME) \ +- (void)(&NAME) +- +-/* -------------------------- gl_once_t datatype -------------------------- */ +- +-typedef pth_once_t gl_once_t; +-# define gl_once_define(STORAGECLASS, NAME) \ +- STORAGECLASS pth_once_t NAME = PTH_ONCE_INIT; +-# define gl_once(NAME, INITFUNCTION) \ +- do \ +- { \ +- if (pth_in_use ()) \ +- { \ +- void (*gl_once_temp) (void) = INITFUNCTION; \ +- if (!pth_once (&NAME, glthread_once_call, &gl_once_temp)) \ +- abort (); \ +- } \ +- else \ +- { \ +- if (glthread_once_singlethreaded (&NAME)) \ +- INITFUNCTION (); \ +- } \ +- } \ +- while (0) +-extern void glthread_once_call (void *arg); +-extern int glthread_once_singlethreaded (pth_once_t *once_control); +- +-# ifdef __cplusplus +-} +-# endif +- +-#endif +- +-/* ========================================================================= */ +- +-#if USE_SOLARIS_THREADS +- +-/* Use the old Solaris threads library. */ +- +-# include +-# include +-# include +- +-# ifdef __cplusplus +-extern "C" { +-# endif +- +-# if USE_SOLARIS_THREADS_WEAK +- +-/* Use weak references to the old Solaris threads library. */ +- +-# pragma weak mutex_init +-# pragma weak mutex_lock +-# pragma weak mutex_unlock +-# pragma weak mutex_destroy +-# pragma weak rwlock_init +-# pragma weak rw_rdlock +-# pragma weak rw_wrlock +-# pragma weak rw_unlock +-# pragma weak rwlock_destroy +-# pragma weak thr_self +- +-# pragma weak thr_suspend +-# define thread_in_use() (thr_suspend != NULL) +- +-# else +- +-# define thread_in_use() 1 +- +-# endif +- +-/* -------------------------- gl_lock_t datatype -------------------------- */ +- +-typedef mutex_t gl_lock_t; +-# define gl_lock_define(STORAGECLASS, NAME) \ +- STORAGECLASS mutex_t NAME; +-# define gl_lock_define_initialized(STORAGECLASS, NAME) \ +- STORAGECLASS mutex_t NAME = gl_lock_initializer; +-# define gl_lock_initializer \ +- DEFAULTMUTEX +-# define gl_lock_init(NAME) \ +- do \ +- { \ +- if (thread_in_use () && mutex_init (&NAME, USYNC_THREAD, NULL) != 0) \ +- abort (); \ +- } \ +- while (0) +-# define gl_lock_lock(NAME) \ +- do \ +- { \ +- if (thread_in_use () && mutex_lock (&NAME) != 0) \ +- abort (); \ +- } \ +- while (0) +-# define gl_lock_unlock(NAME) \ +- do \ +- { \ +- if (thread_in_use () && mutex_unlock (&NAME) != 0) \ +- abort (); \ +- } \ +- while (0) +-# define gl_lock_destroy(NAME) \ +- do \ +- { \ +- if (thread_in_use () && mutex_destroy (&NAME) != 0) \ +- abort (); \ +- } \ +- while (0) +- +-/* ------------------------- gl_rwlock_t datatype ------------------------- */ +- +-typedef rwlock_t gl_rwlock_t; +-# define gl_rwlock_define(STORAGECLASS, NAME) \ +- STORAGECLASS rwlock_t NAME; +-# define gl_rwlock_define_initialized(STORAGECLASS, NAME) \ +- STORAGECLASS rwlock_t NAME = gl_rwlock_initializer; +-# define gl_rwlock_initializer \ +- DEFAULTRWLOCK +-# define gl_rwlock_init(NAME) \ +- do \ +- { \ +- if (thread_in_use () && rwlock_init (&NAME, USYNC_THREAD, NULL) != 0) \ +- abort (); \ +- } \ +- while (0) +-# define gl_rwlock_rdlock(NAME) \ +- do \ +- { \ +- if (thread_in_use () && rw_rdlock (&NAME) != 0) \ +- abort (); \ +- } \ +- while (0) +-# define gl_rwlock_wrlock(NAME) \ +- do \ +- { \ +- if (thread_in_use () && rw_wrlock (&NAME) != 0) \ +- abort (); \ +- } \ +- while (0) +-# define gl_rwlock_unlock(NAME) \ +- do \ +- { \ +- if (thread_in_use () && rw_unlock (&NAME) != 0) \ +- abort (); \ +- } \ +- while (0) +-# define gl_rwlock_destroy(NAME) \ +- do \ +- { \ +- if (thread_in_use () && rwlock_destroy (&NAME) != 0) \ +- abort (); \ +- } \ +- while (0) +- +-/* --------------------- gl_recursive_lock_t datatype --------------------- */ +- +-/* Old Solaris threads did not have recursive locks. +- We have to implement them ourselves. */ +- +-typedef struct +- { +- mutex_t mutex; +- thread_t owner; +- unsigned long depth; +- } +- gl_recursive_lock_t; +-# define gl_recursive_lock_define(STORAGECLASS, NAME) \ +- STORAGECLASS gl_recursive_lock_t NAME; +-# define gl_recursive_lock_define_initialized(STORAGECLASS, NAME) \ +- STORAGECLASS gl_recursive_lock_t NAME = gl_recursive_lock_initializer; +-# define gl_recursive_lock_initializer \ +- { DEFAULTMUTEX, (thread_t) 0, 0 } +-# define gl_recursive_lock_init(NAME) \ +- do \ +- { \ +- if (thread_in_use ()) \ +- glthread_recursive_lock_init (&NAME); \ +- } \ +- while (0) +-# define gl_recursive_lock_lock(NAME) \ +- do \ +- { \ +- if (thread_in_use ()) \ +- glthread_recursive_lock_lock (&NAME); \ +- } \ +- while (0) +-# define gl_recursive_lock_unlock(NAME) \ +- do \ +- { \ +- if (thread_in_use ()) \ +- glthread_recursive_lock_unlock (&NAME); \ +- } \ +- while (0) +-# define gl_recursive_lock_destroy(NAME) \ +- do \ +- { \ +- if (thread_in_use ()) \ +- glthread_recursive_lock_destroy (&NAME); \ +- } \ +- while (0) +-extern void glthread_recursive_lock_init (gl_recursive_lock_t *lock); +-extern void glthread_recursive_lock_lock (gl_recursive_lock_t *lock); +-extern void glthread_recursive_lock_unlock (gl_recursive_lock_t *lock); +-extern void glthread_recursive_lock_destroy (gl_recursive_lock_t *lock); +- +-/* -------------------------- gl_once_t datatype -------------------------- */ +- +-typedef struct +- { +- volatile int inited; +- mutex_t mutex; +- } +- gl_once_t; +-# define gl_once_define(STORAGECLASS, NAME) \ +- STORAGECLASS gl_once_t NAME = { 0, DEFAULTMUTEX }; +-# define gl_once(NAME, INITFUNCTION) \ +- do \ +- { \ +- if (thread_in_use ()) \ +- { \ +- glthread_once (&NAME, INITFUNCTION); \ +- } \ +- else \ +- { \ +- if (glthread_once_singlethreaded (&NAME)) \ +- INITFUNCTION (); \ +- } \ +- } \ +- while (0) +-extern void glthread_once (gl_once_t *once_control, void (*initfunction) (void)); +-extern int glthread_once_singlethreaded (gl_once_t *once_control); +- +-# ifdef __cplusplus +-} +-# endif +- +-#endif +- +-/* ========================================================================= */ +- +-#if USE_WIN32_THREADS +- +-# include +- +-# ifdef __cplusplus +-extern "C" { +-# endif +- +-/* We can use CRITICAL_SECTION directly, rather than the Win32 Event, Mutex, +- Semaphore types, because +- - we need only to synchronize inside a single process (address space), +- not inter-process locking, +- - we don't need to support trylock operations. (TryEnterCriticalSection +- does not work on Windows 95/98/ME. Packages that need trylock usually +- define their own mutex type.) */ +- +-/* There is no way to statically initialize a CRITICAL_SECTION. It needs +- to be done lazily, once only. For this we need spinlocks. */ +- +-typedef struct { volatile int done; volatile long started; } gl_spinlock_t; +- +-/* -------------------------- gl_lock_t datatype -------------------------- */ +- +-typedef struct +- { +- gl_spinlock_t guard; /* protects the initialization */ +- CRITICAL_SECTION lock; +- } +- gl_lock_t; +-# define gl_lock_define(STORAGECLASS, NAME) \ +- STORAGECLASS gl_lock_t NAME; +-# define gl_lock_define_initialized(STORAGECLASS, NAME) \ +- STORAGECLASS gl_lock_t NAME = gl_lock_initializer; +-# define gl_lock_initializer \ +- { { 0, -1 } } +-# define gl_lock_init(NAME) \ +- glthread_lock_init (&NAME) +-# define gl_lock_lock(NAME) \ +- glthread_lock_lock (&NAME) +-# define gl_lock_unlock(NAME) \ +- glthread_lock_unlock (&NAME) +-# define gl_lock_destroy(NAME) \ +- glthread_lock_destroy (&NAME) +-extern void glthread_lock_init (gl_lock_t *lock); +-extern void glthread_lock_lock (gl_lock_t *lock); +-extern void glthread_lock_unlock (gl_lock_t *lock); +-extern void glthread_lock_destroy (gl_lock_t *lock); +- +-/* ------------------------- gl_rwlock_t datatype ------------------------- */ +- +-/* It is impossible to implement read-write locks using plain locks, without +- introducing an extra thread dedicated to managing read-write locks. +- Therefore here we need to use the low-level Event type. */ +- +-typedef struct +- { +- HANDLE *array; /* array of waiting threads, each represented by an event */ +- unsigned int count; /* number of waiting threads */ +- unsigned int alloc; /* length of allocated array */ +- unsigned int offset; /* index of first waiting thread in array */ +- } +- gl_waitqueue_t; +-typedef struct +- { +- gl_spinlock_t guard; /* protects the initialization */ +- CRITICAL_SECTION lock; /* protects the remaining fields */ +- gl_waitqueue_t waiting_readers; /* waiting readers */ +- gl_waitqueue_t waiting_writers; /* waiting writers */ +- int runcount; /* number of readers running, or -1 when a writer runs */ +- } +- gl_rwlock_t; +-# define gl_rwlock_define(STORAGECLASS, NAME) \ +- STORAGECLASS gl_rwlock_t NAME; +-# define gl_rwlock_define_initialized(STORAGECLASS, NAME) \ +- STORAGECLASS gl_rwlock_t NAME = gl_rwlock_initializer; +-# define gl_rwlock_initializer \ +- { { 0, -1 } } +-# define gl_rwlock_init(NAME) \ +- glthread_rwlock_init (&NAME) +-# define gl_rwlock_rdlock(NAME) \ +- glthread_rwlock_rdlock (&NAME) +-# define gl_rwlock_wrlock(NAME) \ +- glthread_rwlock_wrlock (&NAME) +-# define gl_rwlock_unlock(NAME) \ +- glthread_rwlock_unlock (&NAME) +-# define gl_rwlock_destroy(NAME) \ +- glthread_rwlock_destroy (&NAME) +-extern void glthread_rwlock_init (gl_rwlock_t *lock); +-extern void glthread_rwlock_rdlock (gl_rwlock_t *lock); +-extern void glthread_rwlock_wrlock (gl_rwlock_t *lock); +-extern void glthread_rwlock_unlock (gl_rwlock_t *lock); +-extern void glthread_rwlock_destroy (gl_rwlock_t *lock); +- +-/* --------------------- gl_recursive_lock_t datatype --------------------- */ +- +-/* The Win32 documentation says that CRITICAL_SECTION already implements a +- recursive lock. But we need not rely on it: It's easy to implement a +- recursive lock without this assumption. */ +- +-typedef struct +- { +- gl_spinlock_t guard; /* protects the initialization */ +- DWORD owner; +- unsigned long depth; +- CRITICAL_SECTION lock; +- } +- gl_recursive_lock_t; +-# define gl_recursive_lock_define(STORAGECLASS, NAME) \ +- STORAGECLASS gl_recursive_lock_t NAME; +-# define gl_recursive_lock_define_initialized(STORAGECLASS, NAME) \ +- STORAGECLASS gl_recursive_lock_t NAME = gl_recursive_lock_initializer; +-# define gl_recursive_lock_initializer \ +- { { 0, -1 }, 0, 0 } +-# define gl_recursive_lock_init(NAME) \ +- glthread_recursive_lock_init (&NAME) +-# define gl_recursive_lock_lock(NAME) \ +- glthread_recursive_lock_lock (&NAME) +-# define gl_recursive_lock_unlock(NAME) \ +- glthread_recursive_lock_unlock (&NAME) +-# define gl_recursive_lock_destroy(NAME) \ +- glthread_recursive_lock_destroy (&NAME) +-extern void glthread_recursive_lock_init (gl_recursive_lock_t *lock); +-extern void glthread_recursive_lock_lock (gl_recursive_lock_t *lock); +-extern void glthread_recursive_lock_unlock (gl_recursive_lock_t *lock); +-extern void glthread_recursive_lock_destroy (gl_recursive_lock_t *lock); +- +-/* -------------------------- gl_once_t datatype -------------------------- */ +- +-typedef struct +- { +- volatile int inited; +- volatile long started; +- CRITICAL_SECTION lock; +- } +- gl_once_t; +-# define gl_once_define(STORAGECLASS, NAME) \ +- STORAGECLASS gl_once_t NAME = { -1, -1 }; +-# define gl_once(NAME, INITFUNCTION) \ +- glthread_once (&NAME, INITFUNCTION) +-extern void glthread_once (gl_once_t *once_control, void (*initfunction) (void)); +- +-# ifdef __cplusplus +-} +-# endif +- +-#endif +- +-/* ========================================================================= */ +- +-#if !(USE_POSIX_THREADS || USE_PTH_THREADS || USE_SOLARIS_THREADS || USE_WIN32_THREADS) +- +-/* Provide dummy implementation if threads are not supported. */ +- +-/* -------------------------- gl_lock_t datatype -------------------------- */ +- +-typedef int gl_lock_t; +-# define gl_lock_define(STORAGECLASS, NAME) +-# define gl_lock_define_initialized(STORAGECLASS, NAME) +-# define gl_lock_init(NAME) +-# define gl_lock_lock(NAME) +-# define gl_lock_unlock(NAME) +- +-/* ------------------------- gl_rwlock_t datatype ------------------------- */ +- +-typedef int gl_rwlock_t; +-# define gl_rwlock_define(STORAGECLASS, NAME) +-# define gl_rwlock_define_initialized(STORAGECLASS, NAME) +-# define gl_rwlock_init(NAME) +-# define gl_rwlock_rdlock(NAME) +-# define gl_rwlock_wrlock(NAME) +-# define gl_rwlock_unlock(NAME) +- +-/* --------------------- gl_recursive_lock_t datatype --------------------- */ +- +-typedef int gl_recursive_lock_t; +-# define gl_recursive_lock_define(STORAGECLASS, NAME) +-# define gl_recursive_lock_define_initialized(STORAGECLASS, NAME) +-# define gl_recursive_lock_init(NAME) +-# define gl_recursive_lock_lock(NAME) +-# define gl_recursive_lock_unlock(NAME) +- +-/* -------------------------- gl_once_t datatype -------------------------- */ +- +-typedef int gl_once_t; +-# define gl_once_define(STORAGECLASS, NAME) \ +- STORAGECLASS gl_once_t NAME = 0; +-# define gl_once(NAME, INITFUNCTION) \ +- do \ +- { \ +- if (NAME == 0) \ +- { \ +- NAME = ~ 0; \ +- INITFUNCTION (); \ +- } \ +- } \ +- while (0) +- +-#endif +- +-/* ========================================================================= */ +- +-#endif /* _LOCK_H */ +--- a/intl/log.c ++++ /dev/null +@@ -1,116 +0,0 @@ +-/* Log file output. +- Copyright (C) 2003, 2005 Free Software Foundation, Inc. +- +- This program is free software; you can redistribute it and/or modify it +- under the terms of the GNU Library General Public License as published +- by the Free Software Foundation; either version 2, or (at your option) +- any later version. +- +- This program is distributed in the hope that it will be useful, +- but WITHOUT ANY WARRANTY; without even the implied warranty of +- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +- Library General Public License for more details. +- +- You should have received a copy of the GNU Library General Public +- License along with this program; if not, write to the Free Software +- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, +- USA. */ +- +-/* Written by Bruno Haible . */ +- +-#ifdef HAVE_CONFIG_H +-# include +-#endif +- +-#include +-#include +-#include +- +-/* Handle multi-threaded applications. */ +-#ifdef _LIBC +-# include +-#else +-# include "lock.h" +-#endif +- +-/* Print an ASCII string with quotes and escape sequences where needed. */ +-static void +-print_escaped (FILE *stream, const char *str) +-{ +- putc ('"', stream); +- for (; *str != '\0'; str++) +- if (*str == '\n') +- { +- fputs ("\\n\"", stream); +- if (str[1] == '\0') +- return; +- fputs ("\n\"", stream); +- } +- else +- { +- if (*str == '"' || *str == '\\') +- putc ('\\', stream); +- putc (*str, stream); +- } +- putc ('"', stream); +-} +- +-static char *last_logfilename = NULL; +-static FILE *last_logfile = NULL; +-__libc_lock_define_initialized (static, lock) +- +-static inline void +-_nl_log_untranslated_locked (const char *logfilename, const char *domainname, +- const char *msgid1, const char *msgid2, int plural) +-{ +- FILE *logfile; +- +- /* Can we reuse the last opened logfile? */ +- if (last_logfilename == NULL || strcmp (logfilename, last_logfilename) != 0) +- { +- /* Close the last used logfile. */ +- if (last_logfilename != NULL) +- { +- if (last_logfile != NULL) +- { +- fclose (last_logfile); +- last_logfile = NULL; +- } +- free (last_logfilename); +- last_logfilename = NULL; +- } +- /* Open the logfile. */ +- last_logfilename = (char *) malloc (strlen (logfilename) + 1); +- if (last_logfilename == NULL) +- return; +- strcpy (last_logfilename, logfilename); +- last_logfile = fopen (logfilename, "a"); +- if (last_logfile == NULL) +- return; +- } +- logfile = last_logfile; +- +- fprintf (logfile, "domain "); +- print_escaped (logfile, domainname); +- fprintf (logfile, "\nmsgid "); +- print_escaped (logfile, msgid1); +- if (plural) +- { +- fprintf (logfile, "\nmsgid_plural "); +- print_escaped (logfile, msgid2); +- fprintf (logfile, "\nmsgstr[0] \"\"\n"); +- } +- else +- fprintf (logfile, "\nmsgstr \"\"\n"); +- putc ('\n', logfile); +-} +- +-/* Add to the log file an entry denoting a failed translation. */ +-void +-_nl_log_untranslated (const char *logfilename, const char *domainname, +- const char *msgid1, const char *msgid2, int plural) +-{ +- __libc_lock_lock (lock); +- _nl_log_untranslated_locked (logfilename, domainname, msgid1, msgid2, plural); +- __libc_lock_unlock (lock); +-} +--- a/intl/ngettext.c ++++ /dev/null +@@ -1,65 +0,0 @@ +-/* Implementation of ngettext(3) function. +- Copyright (C) 1995, 1997, 2000-2003 Free Software Foundation, Inc. +- +- This program is free software; you can redistribute it and/or modify it +- under the terms of the GNU Library General Public License as published +- by the Free Software Foundation; either version 2, or (at your option) +- any later version. +- +- This program is distributed in the hope that it will be useful, +- but WITHOUT ANY WARRANTY; without even the implied warranty of +- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +- Library General Public License for more details. +- +- You should have received a copy of the GNU Library General Public +- License along with this program; if not, write to the Free Software +- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, +- USA. */ +- +-#ifdef HAVE_CONFIG_H +-# include +-#endif +- +-#ifdef _LIBC +-# define __need_NULL +-# include +-#else +-# include /* Just for NULL. */ +-#endif +- +-#include "gettextP.h" +-#ifdef _LIBC +-# include +-#else +-# include "libgnuintl.h" +-#endif +- +-#include +- +-/* @@ end of prolog @@ */ +- +-/* Names for the libintl functions are a problem. They must not clash +- with existing names and they should follow ANSI C. But this source +- code is also used in GNU C Library where the names have a __ +- prefix. So we have to make a difference here. */ +-#ifdef _LIBC +-# define NGETTEXT __ngettext +-# define DCNGETTEXT __dcngettext +-#else +-# define NGETTEXT libintl_ngettext +-# define DCNGETTEXT libintl_dcngettext +-#endif +- +-/* Look up MSGID in the current default message catalog for the current +- LC_MESSAGES locale. If not found, returns MSGID itself (the default +- text). */ +-char * +-NGETTEXT (const char *msgid1, const char *msgid2, unsigned long int n) +-{ +- return DCNGETTEXT (NULL, msgid1, msgid2, n, LC_MESSAGES); +-} +- +-#ifdef _LIBC +-/* Alias for function name in GNU C Library. */ +-weak_alias (__ngettext, ngettext); +-#endif +--- a/intl/os2compat.c ++++ /dev/null +@@ -1,98 +0,0 @@ +-/* OS/2 compatibility functions. +- Copyright (C) 2001-2002 Free Software Foundation, Inc. +- +- This program is free software; you can redistribute it and/or modify it +- under the terms of the GNU Library General Public License as published +- by the Free Software Foundation; either version 2, or (at your option) +- any later version. +- +- This program is distributed in the hope that it will be useful, +- but WITHOUT ANY WARRANTY; without even the implied warranty of +- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +- Library General Public License for more details. +- +- You should have received a copy of the GNU Library General Public +- License along with this program; if not, write to the Free Software +- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, +- USA. */ +- +-#define OS2_AWARE +-#ifdef HAVE_CONFIG_H +-#include +-#endif +- +-#include +-#include +-#include +- +-/* A version of getenv() that works from DLLs */ +-extern unsigned long DosScanEnv (const unsigned char *pszName, unsigned char **ppszValue); +- +-char * +-_nl_getenv (const char *name) +-{ +- unsigned char *value; +- if (DosScanEnv (name, &value)) +- return NULL; +- else +- return value; +-} +- +-/* A fixed size buffer. */ +-char libintl_nl_default_dirname[MAXPATHLEN+1]; +- +-char *_nlos2_libdir = NULL; +-char *_nlos2_localealiaspath = NULL; +-char *_nlos2_localedir = NULL; +- +-static __attribute__((constructor)) void +-nlos2_initialize () +-{ +- char *root = getenv ("UNIXROOT"); +- char *gnulocaledir = getenv ("GNULOCALEDIR"); +- +- _nlos2_libdir = gnulocaledir; +- if (!_nlos2_libdir) +- { +- if (root) +- { +- size_t sl = strlen (root); +- _nlos2_libdir = (char *) malloc (sl + strlen (LIBDIR) + 1); +- memcpy (_nlos2_libdir, root, sl); +- memcpy (_nlos2_libdir + sl, LIBDIR, strlen (LIBDIR) + 1); +- } +- else +- _nlos2_libdir = LIBDIR; +- } +- +- _nlos2_localealiaspath = gnulocaledir; +- if (!_nlos2_localealiaspath) +- { +- if (root) +- { +- size_t sl = strlen (root); +- _nlos2_localealiaspath = (char *) malloc (sl + strlen (LOCALE_ALIAS_PATH) + 1); +- memcpy (_nlos2_localealiaspath, root, sl); +- memcpy (_nlos2_localealiaspath + sl, LOCALE_ALIAS_PATH, strlen (LOCALE_ALIAS_PATH) + 1); +- } +- else +- _nlos2_localealiaspath = LOCALE_ALIAS_PATH; +- } +- +- _nlos2_localedir = gnulocaledir; +- if (!_nlos2_localedir) +- { +- if (root) +- { +- size_t sl = strlen (root); +- _nlos2_localedir = (char *) malloc (sl + strlen (LOCALEDIR) + 1); +- memcpy (_nlos2_localedir, root, sl); +- memcpy (_nlos2_localedir + sl, LOCALEDIR, strlen (LOCALEDIR) + 1); +- } +- else +- _nlos2_localedir = LOCALEDIR; +- } +- +- if (strlen (_nlos2_localedir) <= MAXPATHLEN) +- strcpy (libintl_nl_default_dirname, _nlos2_localedir); +-} +--- a/intl/os2compat.h ++++ /dev/null +@@ -1,46 +0,0 @@ +-/* OS/2 compatibility defines. +- This file is intended to be included from config.h +- Copyright (C) 2001-2002 Free Software Foundation, Inc. +- +- This program is free software; you can redistribute it and/or modify it +- under the terms of the GNU Library General Public License as published +- by the Free Software Foundation; either version 2, or (at your option) +- any later version. +- +- This program is distributed in the hope that it will be useful, +- but WITHOUT ANY WARRANTY; without even the implied warranty of +- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +- Library General Public License for more details. +- +- You should have received a copy of the GNU Library General Public +- License along with this program; if not, write to the Free Software +- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, +- USA. */ +- +-/* When included from os2compat.h we need all the original definitions */ +-#ifndef OS2_AWARE +- +-#undef LIBDIR +-#define LIBDIR _nlos2_libdir +-extern char *_nlos2_libdir; +- +-#undef LOCALEDIR +-#define LOCALEDIR _nlos2_localedir +-extern char *_nlos2_localedir; +- +-#undef LOCALE_ALIAS_PATH +-#define LOCALE_ALIAS_PATH _nlos2_localealiaspath +-extern char *_nlos2_localealiaspath; +- +-#endif +- +-#undef HAVE_STRCASECMP +-#define HAVE_STRCASECMP 1 +-#define strcasecmp stricmp +-#define strncasecmp strnicmp +- +-/* We have our own getenv() which works even if library is compiled as DLL */ +-#define getenv _nl_getenv +- +-/* Older versions of gettext used -1 as the value of LC_MESSAGES */ +-#define LC_MESSAGES_COMPAT (-1) +--- a/intl/osdep.c ++++ /dev/null +@@ -1,26 +0,0 @@ +-/* OS dependent parts of libintl. +- Copyright (C) 2001-2002, 2006 Free Software Foundation, Inc. +- +- This program is free software; you can redistribute it and/or modify it +- under the terms of the GNU Library General Public License as published +- by the Free Software Foundation; either version 2, or (at your option) +- any later version. +- +- This program is distributed in the hope that it will be useful, +- but WITHOUT ANY WARRANTY; without even the implied warranty of +- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +- Library General Public License for more details. +- +- You should have received a copy of the GNU Library General Public +- License along with this program; if not, write to the Free Software +- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, +- USA. */ +- +-#if defined __CYGWIN__ +-# include "intl-exports.c" +-#elif defined __EMX__ +-# include "os2compat.c" +-#else +-/* Avoid AIX compiler warning. */ +-typedef int dummy; +-#endif +--- a/intl/plural-exp.c ++++ /dev/null +@@ -1,155 +0,0 @@ +-/* Expression parsing for plural form selection. +- Copyright (C) 2000-2001, 2003, 2005-2007 Free Software Foundation, Inc. +- Written by Ulrich Drepper , 2000. +- +- This program is free software; you can redistribute it and/or modify it +- under the terms of the GNU Library General Public License as published +- by the Free Software Foundation; either version 2, or (at your option) +- any later version. +- +- This program is distributed in the hope that it will be useful, +- but WITHOUT ANY WARRANTY; without even the implied warranty of +- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +- Library General Public License for more details. +- +- You should have received a copy of the GNU Library General Public +- License along with this program; if not, write to the Free Software +- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, +- USA. */ +- +-#ifdef HAVE_CONFIG_H +-# include +-#endif +- +-#include +-#include +-#include +- +-#include "plural-exp.h" +- +-#if (defined __GNUC__ && !(__APPLE_CC__ > 1) && !defined __cplusplus) \ +- || (defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L) +- +-/* These structs are the constant expression for the germanic plural +- form determination. It represents the expression "n != 1". */ +-static const struct expression plvar = +-{ +- .nargs = 0, +- .operation = var, +-}; +-static const struct expression plone = +-{ +- .nargs = 0, +- .operation = num, +- .val = +- { +- .num = 1 +- } +-}; +-struct expression GERMANIC_PLURAL = +-{ +- .nargs = 2, +- .operation = not_equal, +- .val = +- { +- .args = +- { +- [0] = (struct expression *) &plvar, +- [1] = (struct expression *) &plone +- } +- } +-}; +- +-# define INIT_GERMANIC_PLURAL() +- +-#else +- +-/* For compilers without support for ISO C 99 struct/union initializers: +- Initialization at run-time. */ +- +-static struct expression plvar; +-static struct expression plone; +-struct expression GERMANIC_PLURAL; +- +-static void +-init_germanic_plural () +-{ +- if (plone.val.num == 0) +- { +- plvar.nargs = 0; +- plvar.operation = var; +- +- plone.nargs = 0; +- plone.operation = num; +- plone.val.num = 1; +- +- GERMANIC_PLURAL.nargs = 2; +- GERMANIC_PLURAL.operation = not_equal; +- GERMANIC_PLURAL.val.args[0] = &plvar; +- GERMANIC_PLURAL.val.args[1] = &plone; +- } +-} +- +-# define INIT_GERMANIC_PLURAL() init_germanic_plural () +- +-#endif +- +-void +-internal_function +-EXTRACT_PLURAL_EXPRESSION (const char *nullentry, +- const struct expression **pluralp, +- unsigned long int *npluralsp) +-{ +- if (nullentry != NULL) +- { +- const char *plural; +- const char *nplurals; +- +- plural = strstr (nullentry, "plural="); +- nplurals = strstr (nullentry, "nplurals="); +- if (plural == NULL || nplurals == NULL) +- goto no_plural; +- else +- { +- char *endp; +- unsigned long int n; +- struct parse_args args; +- +- /* First get the number. */ +- nplurals += 9; +- while (*nplurals != '\0' && isspace ((unsigned char) *nplurals)) +- ++nplurals; +- if (!(*nplurals >= '0' && *nplurals <= '9')) +- goto no_plural; +-#if defined HAVE_STRTOUL || defined _LIBC +- n = strtoul (nplurals, &endp, 10); +-#else +- for (endp = nplurals, n = 0; *endp >= '0' && *endp <= '9'; endp++) +- n = n * 10 + (*endp - '0'); +-#endif +- if (nplurals == endp) +- goto no_plural; +- *npluralsp = n; +- +- /* Due to the restrictions bison imposes onto the interface of the +- scanner function we have to put the input string and the result +- passed up from the parser into the same structure which address +- is passed down to the parser. */ +- plural += 7; +- args.cp = plural; +- if (PLURAL_PARSE (&args) != 0) +- goto no_plural; +- *pluralp = args.res; +- } +- } +- else +- { +- /* By default we are using the Germanic form: singular form only +- for `one', the plural form otherwise. Yes, this is also what +- English is using since English is a Germanic language. */ +- no_plural: +- INIT_GERMANIC_PLURAL (); +- *pluralp = &GERMANIC_PLURAL; +- *npluralsp = 2; +- } +-} +--- a/intl/plural-exp.h ++++ /dev/null +@@ -1,129 +0,0 @@ +-/* Expression parsing and evaluation for plural form selection. +- Copyright (C) 2000-2003, 2005-2007 Free Software Foundation, Inc. +- Written by Ulrich Drepper , 2000. +- +- This program is free software; you can redistribute it and/or modify it +- under the terms of the GNU Library General Public License as published +- by the Free Software Foundation; either version 2, or (at your option) +- any later version. +- +- This program is distributed in the hope that it will be useful, +- but WITHOUT ANY WARRANTY; without even the implied warranty of +- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +- Library General Public License for more details. +- +- You should have received a copy of the GNU Library General Public +- License along with this program; if not, write to the Free Software +- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, +- USA. */ +- +-#ifndef _PLURAL_EXP_H +-#define _PLURAL_EXP_H +- +-#ifndef internal_function +-# define internal_function +-#endif +- +-#ifndef attribute_hidden +-# define attribute_hidden +-#endif +- +-#ifdef __cplusplus +-extern "C" { +-#endif +- +- +-enum expression_operator +-{ +- /* Without arguments: */ +- var, /* The variable "n". */ +- num, /* Decimal number. */ +- /* Unary operators: */ +- lnot, /* Logical NOT. */ +- /* Binary operators: */ +- mult, /* Multiplication. */ +- divide, /* Division. */ +- module, /* Modulo operation. */ +- plus, /* Addition. */ +- minus, /* Subtraction. */ +- less_than, /* Comparison. */ +- greater_than, /* Comparison. */ +- less_or_equal, /* Comparison. */ +- greater_or_equal, /* Comparison. */ +- equal, /* Comparison for equality. */ +- not_equal, /* Comparison for inequality. */ +- land, /* Logical AND. */ +- lor, /* Logical OR. */ +- /* Ternary operators: */ +- qmop /* Question mark operator. */ +-}; +- +-/* This is the representation of the expressions to determine the +- plural form. */ +-struct expression +-{ +- int nargs; /* Number of arguments. */ +- enum expression_operator operation; +- union +- { +- unsigned long int num; /* Number value for `num'. */ +- struct expression *args[3]; /* Up to three arguments. */ +- } val; +-}; +- +-/* This is the data structure to pass information to the parser and get +- the result in a thread-safe way. */ +-struct parse_args +-{ +- const char *cp; +- struct expression *res; +-}; +- +- +-/* Names for the libintl functions are a problem. This source code is used +- 1. in the GNU C Library library, +- 2. in the GNU libintl library, +- 3. in the GNU gettext tools. +- The function names in each situation must be different, to allow for +- binary incompatible changes in 'struct expression'. Furthermore, +- 1. in the GNU C Library library, the names have a __ prefix, +- 2.+3. in the GNU libintl library and in the GNU gettext tools, the names +- must follow ANSI C and not start with __. +- So we have to distinguish the three cases. */ +-#ifdef _LIBC +-# define FREE_EXPRESSION __gettext_free_exp +-# define PLURAL_PARSE __gettextparse +-# define GERMANIC_PLURAL __gettext_germanic_plural +-# define EXTRACT_PLURAL_EXPRESSION __gettext_extract_plural +-#elif defined (IN_LIBINTL) +-# define FREE_EXPRESSION libintl_gettext_free_exp +-# define PLURAL_PARSE libintl_gettextparse +-# define GERMANIC_PLURAL libintl_gettext_germanic_plural +-# define EXTRACT_PLURAL_EXPRESSION libintl_gettext_extract_plural +-#else +-# define FREE_EXPRESSION free_plural_expression +-# define PLURAL_PARSE parse_plural_expression +-# define GERMANIC_PLURAL germanic_plural +-# define EXTRACT_PLURAL_EXPRESSION extract_plural_expression +-#endif +- +-extern void FREE_EXPRESSION (struct expression *exp) +- internal_function; +-extern int PLURAL_PARSE (void *arg); +-extern struct expression GERMANIC_PLURAL attribute_hidden; +-extern void EXTRACT_PLURAL_EXPRESSION (const char *nullentry, +- const struct expression **pluralp, +- unsigned long int *npluralsp) +- internal_function; +- +-#if !defined (_LIBC) && !defined (IN_LIBINTL) && !defined (IN_LIBGLOCALE) +-extern unsigned long int plural_eval (const struct expression *pexp, +- unsigned long int n); +-#endif +- +- +-#ifdef __cplusplus +-} +-#endif +- +-#endif /* _PLURAL_EXP_H */ +--- a/intl/plural.c ++++ /dev/null +@@ -1,1981 +0,0 @@ +- +-/* A Bison parser, made by GNU Bison 2.4.1. */ +- +-/* Skeleton implementation for Bison's Yacc-like parsers in C +- +- Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006 +- Free Software Foundation, Inc. +- +- This program is free software: you can redistribute it and/or modify +- it under the terms of the GNU General Public License as published by +- the Free Software Foundation, either version 3 of the License, or +- (at your option) any later version. +- +- This program is distributed in the hope that it will be useful, +- but WITHOUT ANY WARRANTY; without even the implied warranty of +- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +- GNU General Public License for more details. +- +- You should have received a copy of the GNU General Public License +- along with this program. If not, see . */ +- +-/* As a special exception, you may create a larger work that contains +- part or all of the Bison parser skeleton and distribute that work +- under terms of your choice, so long as that work isn't itself a +- parser generator using the skeleton or a modified version thereof +- as a parser skeleton. Alternatively, if you modify or redistribute +- the parser skeleton itself, you may (at your option) remove this +- special exception, which will cause the skeleton and the resulting +- Bison output files to be licensed under the GNU General Public +- License without this special exception. +- +- This special exception was added by the Free Software Foundation in +- version 2.2 of Bison. */ +- +-/* C LALR(1) parser skeleton written by Richard Stallman, by +- simplifying the original so-called "semantic" parser. */ +- +-/* All symbols defined below should begin with yy or YY, to avoid +- infringing on user name space. This should be done even for local +- variables, as they might otherwise be expanded by user macros. +- There are some unavoidable exceptions within include files to +- define necessary library symbols; they are noted "INFRINGES ON +- USER NAME SPACE" below. */ +- +-/* Identify Bison output. */ +-#define YYBISON 1 +- +-/* Bison version. */ +-#define YYBISON_VERSION "2.4.1" +- +-/* Skeleton name. */ +-#define YYSKELETON_NAME "yacc.c" +- +-/* Pure parsers. */ +-#define YYPURE 1 +- +-/* Push parsers. */ +-#define YYPUSH 0 +- +-/* Pull parsers. */ +-#define YYPULL 1 +- +-/* Using locations. */ +-#define YYLSP_NEEDED 0 +- +-/* Substitute the variable and function names. */ +-#define yyparse __gettextparse +-#define yylex __gettextlex +-#define yyerror __gettexterror +-#define yylval __gettextlval +-#define yychar __gettextchar +-#define yydebug __gettextdebug +-#define yynerrs __gettextnerrs +- +- +-/* Copy the first part of user declarations. */ +- +-/* Line 189 of yacc.c */ +-#line 1 "plural.y" +- +-/* Expression parsing for plural form selection. +- Copyright (C) 2000-2001, 2003, 2005-2006 Free Software Foundation, Inc. +- Written by Ulrich Drepper , 2000. +- +- This program is free software; you can redistribute it and/or modify it +- under the terms of the GNU Library General Public License as published +- by the Free Software Foundation; either version 2, or (at your option) +- any later version. +- +- This program is distributed in the hope that it will be useful, +- but WITHOUT ANY WARRANTY; without even the implied warranty of +- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +- Library General Public License for more details. +- +- You should have received a copy of the GNU Library General Public +- License along with this program; if not, write to the Free Software +- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, +- USA. */ +- +-/* For bison < 2.0, the bison generated parser uses alloca. AIX 3 forces us +- to put this declaration at the beginning of the file. The declaration in +- bison's skeleton file comes too late. This must come before +- because may include arbitrary system headers. +- This can go away once the AM_INTL_SUBDIR macro requires bison >= 2.0. */ +-#if defined _AIX && !defined __GNUC__ +- #pragma alloca +-#endif +- +-#ifdef HAVE_CONFIG_H +-# include +-#endif +- +-#include +-#include +-#include +-#include "plural-exp.h" +- +-/* The main function generated by the parser is called __gettextparse, +- but we want it to be called PLURAL_PARSE. */ +-#ifndef _LIBC +-# define __gettextparse PLURAL_PARSE +-#endif +- +-#define YYLEX_PARAM &((struct parse_args *) arg)->cp +-#define YYPARSE_PARAM arg +- +- +-/* Line 189 of yacc.c */ +-#line 130 "plural.c" +- +-/* Enabling traces. */ +-#ifndef YYDEBUG +-# define YYDEBUG 0 +-#endif +- +-/* Enabling verbose error messages. */ +-#ifdef YYERROR_VERBOSE +-# undef YYERROR_VERBOSE +-# define YYERROR_VERBOSE 1 +-#else +-# define YYERROR_VERBOSE 0 +-#endif +- +-/* Enabling the token table. */ +-#ifndef YYTOKEN_TABLE +-# define YYTOKEN_TABLE 0 +-#endif +- +- +-/* Tokens. */ +-#ifndef YYTOKENTYPE +-# define YYTOKENTYPE +- /* Put the tokens into the symbol table, so that GDB and other debuggers +- know about them. */ +- enum yytokentype { +- EQUOP2 = 258, +- CMPOP2 = 259, +- ADDOP2 = 260, +- MULOP2 = 261, +- NUMBER = 262 +- }; +-#endif +-/* Tokens. */ +-#define EQUOP2 258 +-#define CMPOP2 259 +-#define ADDOP2 260 +-#define MULOP2 261 +-#define NUMBER 262 +- +- +- +- +-#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED +-typedef union YYSTYPE +-{ +- +-/* Line 214 of yacc.c */ +-#line 51 "plural.y" +- +- unsigned long int num; +- enum expression_operator op; +- struct expression *exp; +- +- +- +-/* Line 214 of yacc.c */ +-#line 188 "plural.c" +-} YYSTYPE; +-# define YYSTYPE_IS_TRIVIAL 1 +-# define yystype YYSTYPE /* obsolescent; will be withdrawn */ +-# define YYSTYPE_IS_DECLARED 1 +-#endif +- +- +-/* Copy the second part of user declarations. */ +- +-/* Line 264 of yacc.c */ +-#line 57 "plural.y" +- +-/* Prototypes for local functions. */ +-static int yylex (YYSTYPE *lval, const char **pexp); +-static void yyerror (const char *str); +- +-/* Allocation of expressions. */ +- +-static struct expression * +-new_exp (int nargs, enum expression_operator op, +- struct expression * const *args) +-{ +- int i; +- struct expression *newp; +- +- /* If any of the argument could not be malloc'ed, just return NULL. */ +- for (i = nargs - 1; i >= 0; i--) +- if (args[i] == NULL) +- goto fail; +- +- /* Allocate a new expression. */ +- newp = (struct expression *) malloc (sizeof (*newp)); +- if (newp != NULL) +- { +- newp->nargs = nargs; +- newp->operation = op; +- for (i = nargs - 1; i >= 0; i--) +- newp->val.args[i] = args[i]; +- return newp; +- } +- +- fail: +- for (i = nargs - 1; i >= 0; i--) +- FREE_EXPRESSION (args[i]); +- +- return NULL; +-} +- +-static inline struct expression * +-new_exp_0 (enum expression_operator op) +-{ +- return new_exp (0, op, NULL); +-} +- +-static inline struct expression * +-new_exp_1 (enum expression_operator op, struct expression *right) +-{ +- struct expression *args[1]; +- +- args[0] = right; +- return new_exp (1, op, args); +-} +- +-static struct expression * +-new_exp_2 (enum expression_operator op, struct expression *left, +- struct expression *right) +-{ +- struct expression *args[2]; +- +- args[0] = left; +- args[1] = right; +- return new_exp (2, op, args); +-} +- +-static inline struct expression * +-new_exp_3 (enum expression_operator op, struct expression *bexp, +- struct expression *tbranch, struct expression *fbranch) +-{ +- struct expression *args[3]; +- +- args[0] = bexp; +- args[1] = tbranch; +- args[2] = fbranch; +- return new_exp (3, op, args); +-} +- +- +- +-/* Line 264 of yacc.c */ +-#line 278 "plural.c" +- +-#ifdef short +-# undef short +-#endif +- +-#ifdef YYTYPE_UINT8 +-typedef YYTYPE_UINT8 yytype_uint8; +-#else +-typedef unsigned char yytype_uint8; +-#endif +- +-#ifdef YYTYPE_INT8 +-typedef YYTYPE_INT8 yytype_int8; +-#elif (defined __STDC__ || defined __C99__FUNC__ \ +- || defined __cplusplus || defined _MSC_VER) +-typedef signed char yytype_int8; +-#else +-typedef short int yytype_int8; +-#endif +- +-#ifdef YYTYPE_UINT16 +-typedef YYTYPE_UINT16 yytype_uint16; +-#else +-typedef unsigned short int yytype_uint16; +-#endif +- +-#ifdef YYTYPE_INT16 +-typedef YYTYPE_INT16 yytype_int16; +-#else +-typedef short int yytype_int16; +-#endif +- +-#ifndef YYSIZE_T +-# ifdef __SIZE_TYPE__ +-# define YYSIZE_T __SIZE_TYPE__ +-# elif defined size_t +-# define YYSIZE_T size_t +-# elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \ +- || defined __cplusplus || defined _MSC_VER) +-# include /* INFRINGES ON USER NAME SPACE */ +-# define YYSIZE_T size_t +-# else +-# define YYSIZE_T unsigned int +-# endif +-#endif +- +-#define YYSIZE_MAXIMUM ((YYSIZE_T) -1) +- +-#ifndef YY_ +-# if YYENABLE_NLS +-# if ENABLE_NLS +-# include /* INFRINGES ON USER NAME SPACE */ +-# define YY_(msgid) dgettext ("bison-runtime", msgid) +-# endif +-# endif +-# ifndef YY_ +-# define YY_(msgid) msgid +-# endif +-#endif +- +-/* Suppress unused-variable warnings by "using" E. */ +-#if ! defined lint || defined __GNUC__ +-# define YYUSE(e) ((void) (e)) +-#else +-# define YYUSE(e) /* empty */ +-#endif +- +-/* Identity function, used to suppress warnings about constant conditions. */ +-#ifndef lint +-# define YYID(n) (n) +-#else +-#if (defined __STDC__ || defined __C99__FUNC__ \ +- || defined __cplusplus || defined _MSC_VER) +-static int +-YYID (int yyi) +-#else +-static int +-YYID (yyi) +- int yyi; +-#endif +-{ +- return yyi; +-} +-#endif +- +-#if ! defined yyoverflow || YYERROR_VERBOSE +- +-/* The parser invokes alloca or malloc; define the necessary symbols. */ +- +-# ifdef YYSTACK_USE_ALLOCA +-# if YYSTACK_USE_ALLOCA +-# ifdef __GNUC__ +-# define YYSTACK_ALLOC __builtin_alloca +-# elif defined __BUILTIN_VA_ARG_INCR +-# include /* INFRINGES ON USER NAME SPACE */ +-# elif defined _AIX +-# define YYSTACK_ALLOC __alloca +-# elif defined _MSC_VER +-# include /* INFRINGES ON USER NAME SPACE */ +-# define alloca _alloca +-# else +-# define YYSTACK_ALLOC alloca +-# if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \ +- || defined __cplusplus || defined _MSC_VER) +-# include /* INFRINGES ON USER NAME SPACE */ +-# ifndef _STDLIB_H +-# define _STDLIB_H 1 +-# endif +-# endif +-# endif +-# endif +-# endif +- +-# ifdef YYSTACK_ALLOC +- /* Pacify GCC's `empty if-body' warning. */ +-# define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0)) +-# ifndef YYSTACK_ALLOC_MAXIMUM +- /* The OS might guarantee only one guard page at the bottom of the stack, +- and a page size can be as small as 4096 bytes. So we cannot safely +- invoke alloca (N) if N exceeds 4096. Use a slightly smaller number +- to allow for a few compiler-allocated temporary stack slots. */ +-# define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */ +-# endif +-# else +-# define YYSTACK_ALLOC YYMALLOC +-# define YYSTACK_FREE YYFREE +-# ifndef YYSTACK_ALLOC_MAXIMUM +-# define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM +-# endif +-# if (defined __cplusplus && ! defined _STDLIB_H \ +- && ! ((defined YYMALLOC || defined malloc) \ +- && (defined YYFREE || defined free))) +-# include /* INFRINGES ON USER NAME SPACE */ +-# ifndef _STDLIB_H +-# define _STDLIB_H 1 +-# endif +-# endif +-# ifndef YYMALLOC +-# define YYMALLOC malloc +-# if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \ +- || defined __cplusplus || defined _MSC_VER) +-void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */ +-# endif +-# endif +-# ifndef YYFREE +-# define YYFREE free +-# if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \ +- || defined __cplusplus || defined _MSC_VER) +-void free (void *); /* INFRINGES ON USER NAME SPACE */ +-# endif +-# endif +-# endif +-#endif /* ! defined yyoverflow || YYERROR_VERBOSE */ +- +- +-#if (! defined yyoverflow \ +- && (! defined __cplusplus \ +- || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL))) +- +-/* A type that is properly aligned for any stack member. */ +-union yyalloc +-{ +- yytype_int16 yyss_alloc; +- YYSTYPE yyvs_alloc; +-}; +- +-/* The size of the maximum gap between one aligned stack and the next. */ +-# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1) +- +-/* The size of an array large to enough to hold all stacks, each with +- N elements. */ +-# define YYSTACK_BYTES(N) \ +- ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \ +- + YYSTACK_GAP_MAXIMUM) +- +-/* Copy COUNT objects from FROM to TO. The source and destination do +- not overlap. */ +-# ifndef YYCOPY +-# if defined __GNUC__ && 1 < __GNUC__ +-# define YYCOPY(To, From, Count) \ +- __builtin_memcpy (To, From, (Count) * sizeof (*(From))) +-# else +-# define YYCOPY(To, From, Count) \ +- do \ +- { \ +- YYSIZE_T yyi; \ +- for (yyi = 0; yyi < (Count); yyi++) \ +- (To)[yyi] = (From)[yyi]; \ +- } \ +- while (YYID (0)) +-# endif +-# endif +- +-/* Relocate STACK from its old location to the new one. The +- local variables YYSIZE and YYSTACKSIZE give the old and new number of +- elements in the stack, and YYPTR gives the new location of the +- stack. Advance YYPTR to a properly aligned location for the next +- stack. */ +-# define YYSTACK_RELOCATE(Stack_alloc, Stack) \ +- do \ +- { \ +- YYSIZE_T yynewbytes; \ +- YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \ +- Stack = &yyptr->Stack_alloc; \ +- yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \ +- yyptr += yynewbytes / sizeof (*yyptr); \ +- } \ +- while (YYID (0)) +- +-#endif +- +-/* YYFINAL -- State number of the termination state. */ +-#define YYFINAL 9 +-/* YYLAST -- Last index in YYTABLE. */ +-#define YYLAST 54 +- +-/* YYNTOKENS -- Number of terminals. */ +-#define YYNTOKENS 16 +-/* YYNNTS -- Number of nonterminals. */ +-#define YYNNTS 3 +-/* YYNRULES -- Number of rules. */ +-#define YYNRULES 13 +-/* YYNRULES -- Number of states. */ +-#define YYNSTATES 27 +- +-/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ +-#define YYUNDEFTOK 2 +-#define YYMAXUTOK 262 +- +-#define YYTRANSLATE(YYX) \ +- ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) +- +-/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */ +-static const yytype_uint8 yytranslate[] = +-{ +- 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, +- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, +- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, +- 2, 2, 2, 10, 2, 2, 2, 2, 5, 2, +- 14, 15, 2, 2, 2, 2, 2, 2, 2, 2, +- 2, 2, 2, 2, 2, 2, 2, 2, 12, 2, +- 2, 2, 2, 3, 2, 2, 2, 2, 2, 2, +- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, +- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, +- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, +- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, +- 13, 2, 2, 2, 2, 2, 2, 2, 2, 2, +- 2, 2, 2, 2, 4, 2, 2, 2, 2, 2, +- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, +- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, +- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, +- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, +- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, +- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, +- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, +- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, +- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, +- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, +- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, +- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, +- 2, 2, 2, 2, 2, 2, 1, 2, 6, 7, +- 8, 9, 11 +-}; +- +-#if YYDEBUG +-/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in +- YYRHS. */ +-static const yytype_uint8 yyprhs[] = +-{ +- 0, 0, 3, 5, 11, 15, 19, 23, 27, 31, +- 35, 38, 40, 42 +-}; +- +-/* YYRHS -- A `-1'-separated list of the rules' RHS. */ +-static const yytype_int8 yyrhs[] = +-{ +- 17, 0, -1, 18, -1, 18, 3, 18, 12, 18, +- -1, 18, 4, 18, -1, 18, 5, 18, -1, 18, +- 6, 18, -1, 18, 7, 18, -1, 18, 8, 18, +- -1, 18, 9, 18, -1, 10, 18, -1, 13, -1, +- 11, -1, 14, 18, 15, -1 +-}; +- +-/* YYRLINE[YYN] -- source line where rule number YYN was defined. */ +-static const yytype_uint8 yyrline[] = +-{ +- 0, 154, 154, 162, 166, 170, 174, 178, 182, 186, +- 190, 194, 198, 203 +-}; +-#endif +- +-#if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE +-/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. +- First, the terminals, then, starting at YYNTOKENS, nonterminals. */ +-static const char *const yytname[] = +-{ +- "$end", "error", "$undefined", "'?'", "'|'", "'&'", "EQUOP2", "CMPOP2", +- "ADDOP2", "MULOP2", "'!'", "NUMBER", "':'", "'n'", "'('", "')'", +- "$accept", "start", "exp", 0 +-}; +-#endif +- +-# ifdef YYPRINT +-/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to +- token YYLEX-NUM. */ +-static const yytype_uint16 yytoknum[] = +-{ +- 0, 256, 257, 63, 124, 38, 258, 259, 260, 261, +- 33, 262, 58, 110, 40, 41 +-}; +-# endif +- +-/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ +-static const yytype_uint8 yyr1[] = +-{ +- 0, 16, 17, 18, 18, 18, 18, 18, 18, 18, +- 18, 18, 18, 18 +-}; +- +-/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ +-static const yytype_uint8 yyr2[] = +-{ +- 0, 2, 1, 5, 3, 3, 3, 3, 3, 3, +- 2, 1, 1, 3 +-}; +- +-/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state +- STATE-NUM when YYTABLE doesn't specify something else to do. Zero +- means the default is an error. */ +-static const yytype_uint8 yydefact[] = +-{ +- 0, 0, 12, 11, 0, 0, 2, 10, 0, 1, +- 0, 0, 0, 0, 0, 0, 0, 13, 0, 4, +- 5, 6, 7, 8, 9, 0, 3 +-}; +- +-/* YYDEFGOTO[NTERM-NUM]. */ +-static const yytype_int8 yydefgoto[] = +-{ +- -1, 5, 6 +-}; +- +-/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing +- STATE-NUM. */ +-#define YYPACT_NINF -10 +-static const yytype_int8 yypact[] = +-{ +- -9, -9, -10, -10, -9, 8, 36, -10, 13, -10, +- -9, -9, -9, -9, -9, -9, -9, -10, 26, 41, +- 45, 18, -2, 14, -10, -9, 36 +-}; +- +-/* YYPGOTO[NTERM-NUM]. */ +-static const yytype_int8 yypgoto[] = +-{ +- -10, -10, -1 +-}; +- +-/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If +- positive, shift that token. If negative, reduce the rule which +- number is the opposite. If zero, do what YYDEFACT says. +- If YYTABLE_NINF, syntax error. */ +-#define YYTABLE_NINF -1 +-static const yytype_uint8 yytable[] = +-{ +- 7, 1, 2, 8, 3, 4, 15, 16, 9, 18, +- 19, 20, 21, 22, 23, 24, 10, 11, 12, 13, +- 14, 15, 16, 16, 26, 14, 15, 16, 17, 10, +- 11, 12, 13, 14, 15, 16, 0, 0, 25, 10, +- 11, 12, 13, 14, 15, 16, 12, 13, 14, 15, +- 16, 13, 14, 15, 16 +-}; +- +-static const yytype_int8 yycheck[] = +-{ +- 1, 10, 11, 4, 13, 14, 8, 9, 0, 10, +- 11, 12, 13, 14, 15, 16, 3, 4, 5, 6, +- 7, 8, 9, 9, 25, 7, 8, 9, 15, 3, +- 4, 5, 6, 7, 8, 9, -1, -1, 12, 3, +- 4, 5, 6, 7, 8, 9, 5, 6, 7, 8, +- 9, 6, 7, 8, 9 +-}; +- +-/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing +- symbol of state STATE-NUM. */ +-static const yytype_uint8 yystos[] = +-{ +- 0, 10, 11, 13, 14, 17, 18, 18, 18, 0, +- 3, 4, 5, 6, 7, 8, 9, 15, 18, 18, +- 18, 18, 18, 18, 18, 12, 18 +-}; +- +-#define yyerrok (yyerrstatus = 0) +-#define yyclearin (yychar = YYEMPTY) +-#define YYEMPTY (-2) +-#define YYEOF 0 +- +-#define YYACCEPT goto yyacceptlab +-#define YYABORT goto yyabortlab +-#define YYERROR goto yyerrorlab +- +- +-/* Like YYERROR except do call yyerror. This remains here temporarily +- to ease the transition to the new meaning of YYERROR, for GCC. +- Once GCC version 2 has supplanted version 1, this can go. */ +- +-#define YYFAIL goto yyerrlab +- +-#define YYRECOVERING() (!!yyerrstatus) +- +-#define YYBACKUP(Token, Value) \ +-do \ +- if (yychar == YYEMPTY && yylen == 1) \ +- { \ +- yychar = (Token); \ +- yylval = (Value); \ +- yytoken = YYTRANSLATE (yychar); \ +- YYPOPSTACK (1); \ +- goto yybackup; \ +- } \ +- else \ +- { \ +- yyerror (YY_("syntax error: cannot back up")); \ +- YYERROR; \ +- } \ +-while (YYID (0)) +- +- +-#define YYTERROR 1 +-#define YYERRCODE 256 +- +- +-/* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N]. +- If N is 0, then set CURRENT to the empty location which ends +- the previous symbol: RHS[0] (always defined). */ +- +-#define YYRHSLOC(Rhs, K) ((Rhs)[K]) +-#ifndef YYLLOC_DEFAULT +-# define YYLLOC_DEFAULT(Current, Rhs, N) \ +- do \ +- if (YYID (N)) \ +- { \ +- (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \ +- (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \ +- (Current).last_line = YYRHSLOC (Rhs, N).last_line; \ +- (Current).last_column = YYRHSLOC (Rhs, N).last_column; \ +- } \ +- else \ +- { \ +- (Current).first_line = (Current).last_line = \ +- YYRHSLOC (Rhs, 0).last_line; \ +- (Current).first_column = (Current).last_column = \ +- YYRHSLOC (Rhs, 0).last_column; \ +- } \ +- while (YYID (0)) +-#endif +- +- +-/* YY_LOCATION_PRINT -- Print the location on the stream. +- This macro was not mandated originally: define only if we know +- we won't break user code: when these are the locations we know. */ +- +-#ifndef YY_LOCATION_PRINT +-# if YYLTYPE_IS_TRIVIAL +-# define YY_LOCATION_PRINT(File, Loc) \ +- fprintf (File, "%d.%d-%d.%d", \ +- (Loc).first_line, (Loc).first_column, \ +- (Loc).last_line, (Loc).last_column) +-# else +-# define YY_LOCATION_PRINT(File, Loc) ((void) 0) +-# endif +-#endif +- +- +-/* YYLEX -- calling `yylex' with the right arguments. */ +- +-#ifdef YYLEX_PARAM +-# define YYLEX yylex (&yylval, YYLEX_PARAM) +-#else +-# define YYLEX yylex (&yylval) +-#endif +- +-/* Enable debugging if requested. */ +-#if YYDEBUG +- +-# ifndef YYFPRINTF +-# include /* INFRINGES ON USER NAME SPACE */ +-# define YYFPRINTF fprintf +-# endif +- +-# define YYDPRINTF(Args) \ +-do { \ +- if (yydebug) \ +- YYFPRINTF Args; \ +-} while (YYID (0)) +- +-# define YY_SYMBOL_PRINT(Title, Type, Value, Location) \ +-do { \ +- if (yydebug) \ +- { \ +- YYFPRINTF (stderr, "%s ", Title); \ +- yy_symbol_print (stderr, \ +- Type, Value); \ +- YYFPRINTF (stderr, "\n"); \ +- } \ +-} while (YYID (0)) +- +- +-/*--------------------------------. +-| Print this symbol on YYOUTPUT. | +-`--------------------------------*/ +- +-/*ARGSUSED*/ +-#if (defined __STDC__ || defined __C99__FUNC__ \ +- || defined __cplusplus || defined _MSC_VER) +-static void +-yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep) +-#else +-static void +-yy_symbol_value_print (yyoutput, yytype, yyvaluep) +- FILE *yyoutput; +- int yytype; +- YYSTYPE const * const yyvaluep; +-#endif +-{ +- if (!yyvaluep) +- return; +-# ifdef YYPRINT +- if (yytype < YYNTOKENS) +- YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep); +-# else +- YYUSE (yyoutput); +-# endif +- switch (yytype) +- { +- default: +- break; +- } +-} +- +- +-/*--------------------------------. +-| Print this symbol on YYOUTPUT. | +-`--------------------------------*/ +- +-#if (defined __STDC__ || defined __C99__FUNC__ \ +- || defined __cplusplus || defined _MSC_VER) +-static void +-yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep) +-#else +-static void +-yy_symbol_print (yyoutput, yytype, yyvaluep) +- FILE *yyoutput; +- int yytype; +- YYSTYPE const * const yyvaluep; +-#endif +-{ +- if (yytype < YYNTOKENS) +- YYFPRINTF (yyoutput, "token %s (", yytname[yytype]); +- else +- YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]); +- +- yy_symbol_value_print (yyoutput, yytype, yyvaluep); +- YYFPRINTF (yyoutput, ")"); +-} +- +-/*------------------------------------------------------------------. +-| yy_stack_print -- Print the state stack from its BOTTOM up to its | +-| TOP (included). | +-`------------------------------------------------------------------*/ +- +-#if (defined __STDC__ || defined __C99__FUNC__ \ +- || defined __cplusplus || defined _MSC_VER) +-static void +-yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop) +-#else +-static void +-yy_stack_print (yybottom, yytop) +- yytype_int16 *yybottom; +- yytype_int16 *yytop; +-#endif +-{ +- YYFPRINTF (stderr, "Stack now"); +- for (; yybottom <= yytop; yybottom++) +- { +- int yybot = *yybottom; +- YYFPRINTF (stderr, " %d", yybot); +- } +- YYFPRINTF (stderr, "\n"); +-} +- +-# define YY_STACK_PRINT(Bottom, Top) \ +-do { \ +- if (yydebug) \ +- yy_stack_print ((Bottom), (Top)); \ +-} while (YYID (0)) +- +- +-/*------------------------------------------------. +-| Report that the YYRULE is going to be reduced. | +-`------------------------------------------------*/ +- +-#if (defined __STDC__ || defined __C99__FUNC__ \ +- || defined __cplusplus || defined _MSC_VER) +-static void +-yy_reduce_print (YYSTYPE *yyvsp, int yyrule) +-#else +-static void +-yy_reduce_print (yyvsp, yyrule) +- YYSTYPE *yyvsp; +- int yyrule; +-#endif +-{ +- int yynrhs = yyr2[yyrule]; +- int yyi; +- unsigned long int yylno = yyrline[yyrule]; +- YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n", +- yyrule - 1, yylno); +- /* The symbols being reduced. */ +- for (yyi = 0; yyi < yynrhs; yyi++) +- { +- YYFPRINTF (stderr, " $%d = ", yyi + 1); +- yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi], +- &(yyvsp[(yyi + 1) - (yynrhs)]) +- ); +- YYFPRINTF (stderr, "\n"); +- } +-} +- +-# define YY_REDUCE_PRINT(Rule) \ +-do { \ +- if (yydebug) \ +- yy_reduce_print (yyvsp, Rule); \ +-} while (YYID (0)) +- +-/* Nonzero means print parse trace. It is left uninitialized so that +- multiple parsers can coexist. */ +-int yydebug; +-#else /* !YYDEBUG */ +-# define YYDPRINTF(Args) +-# define YY_SYMBOL_PRINT(Title, Type, Value, Location) +-# define YY_STACK_PRINT(Bottom, Top) +-# define YY_REDUCE_PRINT(Rule) +-#endif /* !YYDEBUG */ +- +- +-/* YYINITDEPTH -- initial size of the parser's stacks. */ +-#ifndef YYINITDEPTH +-# define YYINITDEPTH 200 +-#endif +- +-/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only +- if the built-in stack extension method is used). +- +- Do not make this value too large; the results are undefined if +- YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH) +- evaluated with infinite-precision integer arithmetic. */ +- +-#ifndef YYMAXDEPTH +-# define YYMAXDEPTH 10000 +-#endif +- +- +- +-#if YYERROR_VERBOSE +- +-# ifndef yystrlen +-# if defined __GLIBC__ && defined _STRING_H +-# define yystrlen strlen +-# else +-/* Return the length of YYSTR. */ +-#if (defined __STDC__ || defined __C99__FUNC__ \ +- || defined __cplusplus || defined _MSC_VER) +-static YYSIZE_T +-yystrlen (const char *yystr) +-#else +-static YYSIZE_T +-yystrlen (yystr) +- const char *yystr; +-#endif +-{ +- YYSIZE_T yylen; +- for (yylen = 0; yystr[yylen]; yylen++) +- continue; +- return yylen; +-} +-# endif +-# endif +- +-# ifndef yystpcpy +-# if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE +-# define yystpcpy stpcpy +-# else +-/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in +- YYDEST. */ +-#if (defined __STDC__ || defined __C99__FUNC__ \ +- || defined __cplusplus || defined _MSC_VER) +-static char * +-yystpcpy (char *yydest, const char *yysrc) +-#else +-static char * +-yystpcpy (yydest, yysrc) +- char *yydest; +- const char *yysrc; +-#endif +-{ +- char *yyd = yydest; +- const char *yys = yysrc; +- +- while ((*yyd++ = *yys++) != '\0') +- continue; +- +- return yyd - 1; +-} +-# endif +-# endif +- +-# ifndef yytnamerr +-/* Copy to YYRES the contents of YYSTR after stripping away unnecessary +- quotes and backslashes, so that it's suitable for yyerror. The +- heuristic is that double-quoting is unnecessary unless the string +- contains an apostrophe, a comma, or backslash (other than +- backslash-backslash). YYSTR is taken from yytname. If YYRES is +- null, do not copy; instead, return the length of what the result +- would have been. */ +-static YYSIZE_T +-yytnamerr (char *yyres, const char *yystr) +-{ +- if (*yystr == '"') +- { +- YYSIZE_T yyn = 0; +- char const *yyp = yystr; +- +- for (;;) +- switch (*++yyp) +- { +- case '\'': +- case ',': +- goto do_not_strip_quotes; +- +- case '\\': +- if (*++yyp != '\\') +- goto do_not_strip_quotes; +- /* Fall through. */ +- default: +- if (yyres) +- yyres[yyn] = *yyp; +- yyn++; +- break; +- +- case '"': +- if (yyres) +- yyres[yyn] = '\0'; +- return yyn; +- } +- do_not_strip_quotes: ; +- } +- +- if (! yyres) +- return yystrlen (yystr); +- +- return yystpcpy (yyres, yystr) - yyres; +-} +-# endif +- +-/* Copy into YYRESULT an error message about the unexpected token +- YYCHAR while in state YYSTATE. Return the number of bytes copied, +- including the terminating null byte. If YYRESULT is null, do not +- copy anything; just return the number of bytes that would be +- copied. As a special case, return 0 if an ordinary "syntax error" +- message will do. Return YYSIZE_MAXIMUM if overflow occurs during +- size calculation. */ +-static YYSIZE_T +-yysyntax_error (char *yyresult, int yystate, int yychar) +-{ +- int yyn = yypact[yystate]; +- +- if (! (YYPACT_NINF < yyn && yyn <= YYLAST)) +- return 0; +- else +- { +- int yytype = YYTRANSLATE (yychar); +- YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]); +- YYSIZE_T yysize = yysize0; +- YYSIZE_T yysize1; +- int yysize_overflow = 0; +- enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 }; +- char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM]; +- int yyx; +- +-# if 0 +- /* This is so xgettext sees the translatable formats that are +- constructed on the fly. */ +- YY_("syntax error, unexpected %s"); +- YY_("syntax error, unexpected %s, expecting %s"); +- YY_("syntax error, unexpected %s, expecting %s or %s"); +- YY_("syntax error, unexpected %s, expecting %s or %s or %s"); +- YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"); +-# endif +- char *yyfmt; +- char const *yyf; +- static char const yyunexpected[] = "syntax error, unexpected %s"; +- static char const yyexpecting[] = ", expecting %s"; +- static char const yyor[] = " or %s"; +- char yyformat[sizeof yyunexpected +- + sizeof yyexpecting - 1 +- + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2) +- * (sizeof yyor - 1))]; +- char const *yyprefix = yyexpecting; +- +- /* Start YYX at -YYN if negative to avoid negative indexes in +- YYCHECK. */ +- int yyxbegin = yyn < 0 ? -yyn : 0; +- +- /* Stay within bounds of both yycheck and yytname. */ +- int yychecklim = YYLAST - yyn + 1; +- int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS; +- int yycount = 1; +- +- yyarg[0] = yytname[yytype]; +- yyfmt = yystpcpy (yyformat, yyunexpected); +- +- for (yyx = yyxbegin; yyx < yyxend; ++yyx) +- if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR) +- { +- if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM) +- { +- yycount = 1; +- yysize = yysize0; +- yyformat[sizeof yyunexpected - 1] = '\0'; +- break; +- } +- yyarg[yycount++] = yytname[yyx]; +- yysize1 = yysize + yytnamerr (0, yytname[yyx]); +- yysize_overflow |= (yysize1 < yysize); +- yysize = yysize1; +- yyfmt = yystpcpy (yyfmt, yyprefix); +- yyprefix = yyor; +- } +- +- yyf = YY_(yyformat); +- yysize1 = yysize + yystrlen (yyf); +- yysize_overflow |= (yysize1 < yysize); +- yysize = yysize1; +- +- if (yysize_overflow) +- return YYSIZE_MAXIMUM; +- +- if (yyresult) +- { +- /* Avoid sprintf, as that infringes on the user's name space. +- Don't have undefined behavior even if the translation +- produced a string with the wrong number of "%s"s. */ +- char *yyp = yyresult; +- int yyi = 0; +- while ((*yyp = *yyf) != '\0') +- { +- if (*yyp == '%' && yyf[1] == 's' && yyi < yycount) +- { +- yyp += yytnamerr (yyp, yyarg[yyi++]); +- yyf += 2; +- } +- else +- { +- yyp++; +- yyf++; +- } +- } +- } +- return yysize; +- } +-} +-#endif /* YYERROR_VERBOSE */ +- +- +-/*-----------------------------------------------. +-| Release the memory associated to this symbol. | +-`-----------------------------------------------*/ +- +-/*ARGSUSED*/ +-#if (defined __STDC__ || defined __C99__FUNC__ \ +- || defined __cplusplus || defined _MSC_VER) +-static void +-yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep) +-#else +-static void +-yydestruct (yymsg, yytype, yyvaluep) +- const char *yymsg; +- int yytype; +- YYSTYPE *yyvaluep; +-#endif +-{ +- YYUSE (yyvaluep); +- +- if (!yymsg) +- yymsg = "Deleting"; +- YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp); +- +- switch (yytype) +- { +- +- default: +- break; +- } +-} +- +-/* Prevent warnings from -Wmissing-prototypes. */ +-#ifdef YYPARSE_PARAM +-#if defined __STDC__ || defined __cplusplus +-int yyparse (void *YYPARSE_PARAM); +-#else +-int yyparse (); +-#endif +-#else /* ! YYPARSE_PARAM */ +-#if defined __STDC__ || defined __cplusplus +-int yyparse (void); +-#else +-int yyparse (); +-#endif +-#endif /* ! YYPARSE_PARAM */ +- +- +- +- +- +-/*-------------------------. +-| yyparse or yypush_parse. | +-`-------------------------*/ +- +-#ifdef YYPARSE_PARAM +-#if (defined __STDC__ || defined __C99__FUNC__ \ +- || defined __cplusplus || defined _MSC_VER) +-int +-yyparse (void *YYPARSE_PARAM) +-#else +-int +-yyparse (YYPARSE_PARAM) +- void *YYPARSE_PARAM; +-#endif +-#else /* ! YYPARSE_PARAM */ +-#if (defined __STDC__ || defined __C99__FUNC__ \ +- || defined __cplusplus || defined _MSC_VER) +-int +-yyparse (void) +-#else +-int +-yyparse () +- +-#endif +-#endif +-{ +-/* The lookahead symbol. */ +-int yychar; +- +-/* The semantic value of the lookahead symbol. */ +-YYSTYPE yylval; +- +- /* Number of syntax errors so far. */ +- int yynerrs; +- +- int yystate; +- /* Number of tokens to shift before error messages enabled. */ +- int yyerrstatus; +- +- /* The stacks and their tools: +- `yyss': related to states. +- `yyvs': related to semantic values. +- +- Refer to the stacks thru separate pointers, to allow yyoverflow +- to reallocate them elsewhere. */ +- +- /* The state stack. */ +- yytype_int16 yyssa[YYINITDEPTH]; +- yytype_int16 *yyss; +- yytype_int16 *yyssp; +- +- /* The semantic value stack. */ +- YYSTYPE yyvsa[YYINITDEPTH]; +- YYSTYPE *yyvs; +- YYSTYPE *yyvsp; +- +- YYSIZE_T yystacksize; +- +- int yyn; +- int yyresult; +- /* Lookahead token as an internal (translated) token number. */ +- int yytoken; +- /* The variables used to return semantic value and location from the +- action routines. */ +- YYSTYPE yyval; +- +-#if YYERROR_VERBOSE +- /* Buffer for error messages, and its allocated size. */ +- char yymsgbuf[128]; +- char *yymsg = yymsgbuf; +- YYSIZE_T yymsg_alloc = sizeof yymsgbuf; +-#endif +- +-#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N)) +- +- /* The number of symbols on the RHS of the reduced rule. +- Keep to zero when no symbol should be popped. */ +- int yylen = 0; +- +- yytoken = 0; +- yyss = yyssa; +- yyvs = yyvsa; +- yystacksize = YYINITDEPTH; +- +- YYDPRINTF ((stderr, "Starting parse\n")); +- +- yystate = 0; +- yyerrstatus = 0; +- yynerrs = 0; +- yychar = YYEMPTY; /* Cause a token to be read. */ +- +- /* Initialize stack pointers. +- Waste one element of value and location stack +- so that they stay on the same level as the state stack. +- The wasted elements are never initialized. */ +- yyssp = yyss; +- yyvsp = yyvs; +- +- goto yysetstate; +- +-/*------------------------------------------------------------. +-| yynewstate -- Push a new state, which is found in yystate. | +-`------------------------------------------------------------*/ +- yynewstate: +- /* In all cases, when you get here, the value and location stacks +- have just been pushed. So pushing a state here evens the stacks. */ +- yyssp++; +- +- yysetstate: +- *yyssp = yystate; +- +- if (yyss + yystacksize - 1 <= yyssp) +- { +- /* Get the current used size of the three stacks, in elements. */ +- YYSIZE_T yysize = yyssp - yyss + 1; +- +-#ifdef yyoverflow +- { +- /* Give user a chance to reallocate the stack. Use copies of +- these so that the &'s don't force the real ones into +- memory. */ +- YYSTYPE *yyvs1 = yyvs; +- yytype_int16 *yyss1 = yyss; +- +- /* Each stack pointer address is followed by the size of the +- data in use in that stack, in bytes. This used to be a +- conditional around just the two extra args, but that might +- be undefined if yyoverflow is a macro. */ +- yyoverflow (YY_("memory exhausted"), +- &yyss1, yysize * sizeof (*yyssp), +- &yyvs1, yysize * sizeof (*yyvsp), +- &yystacksize); +- +- yyss = yyss1; +- yyvs = yyvs1; +- } +-#else /* no yyoverflow */ +-# ifndef YYSTACK_RELOCATE +- goto yyexhaustedlab; +-# else +- /* Extend the stack our own way. */ +- if (YYMAXDEPTH <= yystacksize) +- goto yyexhaustedlab; +- yystacksize *= 2; +- if (YYMAXDEPTH < yystacksize) +- yystacksize = YYMAXDEPTH; +- +- { +- yytype_int16 *yyss1 = yyss; +- union yyalloc *yyptr = +- (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize)); +- if (! yyptr) +- goto yyexhaustedlab; +- YYSTACK_RELOCATE (yyss_alloc, yyss); +- YYSTACK_RELOCATE (yyvs_alloc, yyvs); +-# undef YYSTACK_RELOCATE +- if (yyss1 != yyssa) +- YYSTACK_FREE (yyss1); +- } +-# endif +-#endif /* no yyoverflow */ +- +- yyssp = yyss + yysize - 1; +- yyvsp = yyvs + yysize - 1; +- +- YYDPRINTF ((stderr, "Stack size increased to %lu\n", +- (unsigned long int) yystacksize)); +- +- if (yyss + yystacksize - 1 <= yyssp) +- YYABORT; +- } +- +- YYDPRINTF ((stderr, "Entering state %d\n", yystate)); +- +- if (yystate == YYFINAL) +- YYACCEPT; +- +- goto yybackup; +- +-/*-----------. +-| yybackup. | +-`-----------*/ +-yybackup: +- +- /* Do appropriate processing given the current state. Read a +- lookahead token if we need one and don't already have one. */ +- +- /* First try to decide what to do without reference to lookahead token. */ +- yyn = yypact[yystate]; +- if (yyn == YYPACT_NINF) +- goto yydefault; +- +- /* Not known => get a lookahead token if don't already have one. */ +- +- /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */ +- if (yychar == YYEMPTY) +- { +- YYDPRINTF ((stderr, "Reading a token: ")); +- yychar = YYLEX; +- } +- +- if (yychar <= YYEOF) +- { +- yychar = yytoken = YYEOF; +- YYDPRINTF ((stderr, "Now at end of input.\n")); +- } +- else +- { +- yytoken = YYTRANSLATE (yychar); +- YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc); +- } +- +- /* If the proper action on seeing token YYTOKEN is to reduce or to +- detect an error, take that action. */ +- yyn += yytoken; +- if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken) +- goto yydefault; +- yyn = yytable[yyn]; +- if (yyn <= 0) +- { +- if (yyn == 0 || yyn == YYTABLE_NINF) +- goto yyerrlab; +- yyn = -yyn; +- goto yyreduce; +- } +- +- /* Count tokens shifted since error; after three, turn off error +- status. */ +- if (yyerrstatus) +- yyerrstatus--; +- +- /* Shift the lookahead token. */ +- YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc); +- +- /* Discard the shifted token. */ +- yychar = YYEMPTY; +- +- yystate = yyn; +- *++yyvsp = yylval; +- +- goto yynewstate; +- +- +-/*-----------------------------------------------------------. +-| yydefault -- do the default action for the current state. | +-`-----------------------------------------------------------*/ +-yydefault: +- yyn = yydefact[yystate]; +- if (yyn == 0) +- goto yyerrlab; +- goto yyreduce; +- +- +-/*-----------------------------. +-| yyreduce -- Do a reduction. | +-`-----------------------------*/ +-yyreduce: +- /* yyn is the number of a rule to reduce with. */ +- yylen = yyr2[yyn]; +- +- /* If YYLEN is nonzero, implement the default value of the action: +- `$$ = $1'. +- +- Otherwise, the following line sets YYVAL to garbage. +- This behavior is undocumented and Bison +- users should not rely upon it. Assigning to YYVAL +- unconditionally makes the parser a bit smaller, and it avoids a +- GCC warning that YYVAL may be used uninitialized. */ +- yyval = yyvsp[1-yylen]; +- +- +- YY_REDUCE_PRINT (yyn); +- switch (yyn) +- { +- case 2: +- +-/* Line 1455 of yacc.c */ +-#line 155 "plural.y" +- { +- if ((yyvsp[(1) - (1)].exp) == NULL) +- YYABORT; +- ((struct parse_args *) arg)->res = (yyvsp[(1) - (1)].exp); +- } +- break; +- +- case 3: +- +-/* Line 1455 of yacc.c */ +-#line 163 "plural.y" +- { +- (yyval.exp) = new_exp_3 (qmop, (yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].exp), (yyvsp[(5) - (5)].exp)); +- } +- break; +- +- case 4: +- +-/* Line 1455 of yacc.c */ +-#line 167 "plural.y" +- { +- (yyval.exp) = new_exp_2 (lor, (yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].exp)); +- } +- break; +- +- case 5: +- +-/* Line 1455 of yacc.c */ +-#line 171 "plural.y" +- { +- (yyval.exp) = new_exp_2 (land, (yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].exp)); +- } +- break; +- +- case 6: +- +-/* Line 1455 of yacc.c */ +-#line 175 "plural.y" +- { +- (yyval.exp) = new_exp_2 ((yyvsp[(2) - (3)].op), (yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].exp)); +- } +- break; +- +- case 7: +- +-/* Line 1455 of yacc.c */ +-#line 179 "plural.y" +- { +- (yyval.exp) = new_exp_2 ((yyvsp[(2) - (3)].op), (yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].exp)); +- } +- break; +- +- case 8: +- +-/* Line 1455 of yacc.c */ +-#line 183 "plural.y" +- { +- (yyval.exp) = new_exp_2 ((yyvsp[(2) - (3)].op), (yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].exp)); +- } +- break; +- +- case 9: +- +-/* Line 1455 of yacc.c */ +-#line 187 "plural.y" +- { +- (yyval.exp) = new_exp_2 ((yyvsp[(2) - (3)].op), (yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].exp)); +- } +- break; +- +- case 10: +- +-/* Line 1455 of yacc.c */ +-#line 191 "plural.y" +- { +- (yyval.exp) = new_exp_1 (lnot, (yyvsp[(2) - (2)].exp)); +- } +- break; +- +- case 11: +- +-/* Line 1455 of yacc.c */ +-#line 195 "plural.y" +- { +- (yyval.exp) = new_exp_0 (var); +- } +- break; +- +- case 12: +- +-/* Line 1455 of yacc.c */ +-#line 199 "plural.y" +- { +- if (((yyval.exp) = new_exp_0 (num)) != NULL) +- (yyval.exp)->val.num = (yyvsp[(1) - (1)].num); +- } +- break; +- +- case 13: +- +-/* Line 1455 of yacc.c */ +-#line 204 "plural.y" +- { +- (yyval.exp) = (yyvsp[(2) - (3)].exp); +- } +- break; +- +- +- +-/* Line 1455 of yacc.c */ +-#line 1592 "plural.c" +- default: break; +- } +- YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); +- +- YYPOPSTACK (yylen); +- yylen = 0; +- YY_STACK_PRINT (yyss, yyssp); +- +- *++yyvsp = yyval; +- +- /* Now `shift' the result of the reduction. Determine what state +- that goes to, based on the state we popped back to and the rule +- number reduced by. */ +- +- yyn = yyr1[yyn]; +- +- yystate = yypgoto[yyn - YYNTOKENS] + *yyssp; +- if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp) +- yystate = yytable[yystate]; +- else +- yystate = yydefgoto[yyn - YYNTOKENS]; +- +- goto yynewstate; +- +- +-/*------------------------------------. +-| yyerrlab -- here on detecting error | +-`------------------------------------*/ +-yyerrlab: +- /* If not already recovering from an error, report this error. */ +- if (!yyerrstatus) +- { +- ++yynerrs; +-#if ! YYERROR_VERBOSE +- yyerror (YY_("syntax error")); +-#else +- { +- YYSIZE_T yysize = yysyntax_error (0, yystate, yychar); +- if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM) +- { +- YYSIZE_T yyalloc = 2 * yysize; +- if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM)) +- yyalloc = YYSTACK_ALLOC_MAXIMUM; +- if (yymsg != yymsgbuf) +- YYSTACK_FREE (yymsg); +- yymsg = (char *) YYSTACK_ALLOC (yyalloc); +- if (yymsg) +- yymsg_alloc = yyalloc; +- else +- { +- yymsg = yymsgbuf; +- yymsg_alloc = sizeof yymsgbuf; +- } +- } +- +- if (0 < yysize && yysize <= yymsg_alloc) +- { +- (void) yysyntax_error (yymsg, yystate, yychar); +- yyerror (yymsg); +- } +- else +- { +- yyerror (YY_("syntax error")); +- if (yysize != 0) +- goto yyexhaustedlab; +- } +- } +-#endif +- } +- +- +- +- if (yyerrstatus == 3) +- { +- /* If just tried and failed to reuse lookahead token after an +- error, discard it. */ +- +- if (yychar <= YYEOF) +- { +- /* Return failure if at end of input. */ +- if (yychar == YYEOF) +- YYABORT; +- } +- else +- { +- yydestruct ("Error: discarding", +- yytoken, &yylval); +- yychar = YYEMPTY; +- } +- } +- +- /* Else will try to reuse lookahead token after shifting the error +- token. */ +- goto yyerrlab1; +- +- +-/*---------------------------------------------------. +-| yyerrorlab -- error raised explicitly by YYERROR. | +-`---------------------------------------------------*/ +-yyerrorlab: +- +- /* Pacify compilers like GCC when the user code never invokes +- YYERROR and the label yyerrorlab therefore never appears in user +- code. */ +- if (/*CONSTCOND*/ 0) +- goto yyerrorlab; +- +- /* Do not reclaim the symbols of the rule which action triggered +- this YYERROR. */ +- YYPOPSTACK (yylen); +- yylen = 0; +- YY_STACK_PRINT (yyss, yyssp); +- yystate = *yyssp; +- goto yyerrlab1; +- +- +-/*-------------------------------------------------------------. +-| yyerrlab1 -- common code for both syntax error and YYERROR. | +-`-------------------------------------------------------------*/ +-yyerrlab1: +- yyerrstatus = 3; /* Each real token shifted decrements this. */ +- +- for (;;) +- { +- yyn = yypact[yystate]; +- if (yyn != YYPACT_NINF) +- { +- yyn += YYTERROR; +- if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR) +- { +- yyn = yytable[yyn]; +- if (0 < yyn) +- break; +- } +- } +- +- /* Pop the current state because it cannot handle the error token. */ +- if (yyssp == yyss) +- YYABORT; +- +- +- yydestruct ("Error: popping", +- yystos[yystate], yyvsp); +- YYPOPSTACK (1); +- yystate = *yyssp; +- YY_STACK_PRINT (yyss, yyssp); +- } +- +- *++yyvsp = yylval; +- +- +- /* Shift the error token. */ +- YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp); +- +- yystate = yyn; +- goto yynewstate; +- +- +-/*-------------------------------------. +-| yyacceptlab -- YYACCEPT comes here. | +-`-------------------------------------*/ +-yyacceptlab: +- yyresult = 0; +- goto yyreturn; +- +-/*-----------------------------------. +-| yyabortlab -- YYABORT comes here. | +-`-----------------------------------*/ +-yyabortlab: +- yyresult = 1; +- goto yyreturn; +- +-#if !defined(yyoverflow) || YYERROR_VERBOSE +-/*-------------------------------------------------. +-| yyexhaustedlab -- memory exhaustion comes here. | +-`-------------------------------------------------*/ +-yyexhaustedlab: +- yyerror (YY_("memory exhausted")); +- yyresult = 2; +- /* Fall through. */ +-#endif +- +-yyreturn: +- if (yychar != YYEMPTY) +- yydestruct ("Cleanup: discarding lookahead", +- yytoken, &yylval); +- /* Do not reclaim the symbols of the rule which action triggered +- this YYABORT or YYACCEPT. */ +- YYPOPSTACK (yylen); +- YY_STACK_PRINT (yyss, yyssp); +- while (yyssp != yyss) +- { +- yydestruct ("Cleanup: popping", +- yystos[*yyssp], yyvsp); +- YYPOPSTACK (1); +- } +-#ifndef yyoverflow +- if (yyss != yyssa) +- YYSTACK_FREE (yyss); +-#endif +-#if YYERROR_VERBOSE +- if (yymsg != yymsgbuf) +- YYSTACK_FREE (yymsg); +-#endif +- /* Make sure YYID is used. */ +- return YYID (yyresult); +-} +- +- +- +-/* Line 1675 of yacc.c */ +-#line 209 "plural.y" +- +- +-void +-internal_function +-FREE_EXPRESSION (struct expression *exp) +-{ +- if (exp == NULL) +- return; +- +- /* Handle the recursive case. */ +- switch (exp->nargs) +- { +- case 3: +- FREE_EXPRESSION (exp->val.args[2]); +- /* FALLTHROUGH */ +- case 2: +- FREE_EXPRESSION (exp->val.args[1]); +- /* FALLTHROUGH */ +- case 1: +- FREE_EXPRESSION (exp->val.args[0]); +- /* FALLTHROUGH */ +- default: +- break; +- } +- +- free (exp); +-} +- +- +-static int +-yylex (YYSTYPE *lval, const char **pexp) +-{ +- const char *exp = *pexp; +- int result; +- +- while (1) +- { +- if (exp[0] == '\0') +- { +- *pexp = exp; +- return YYEOF; +- } +- +- if (exp[0] != ' ' && exp[0] != '\t') +- break; +- +- ++exp; +- } +- +- result = *exp++; +- switch (result) +- { +- case '0': case '1': case '2': case '3': case '4': +- case '5': case '6': case '7': case '8': case '9': +- { +- unsigned long int n = result - '0'; +- while (exp[0] >= '0' && exp[0] <= '9') +- { +- n *= 10; +- n += exp[0] - '0'; +- ++exp; +- } +- lval->num = n; +- result = NUMBER; +- } +- break; +- +- case '=': +- if (exp[0] == '=') +- { +- ++exp; +- lval->op = equal; +- result = EQUOP2; +- } +- else +- result = YYERRCODE; +- break; +- +- case '!': +- if (exp[0] == '=') +- { +- ++exp; +- lval->op = not_equal; +- result = EQUOP2; +- } +- break; +- +- case '&': +- case '|': +- if (exp[0] == result) +- ++exp; +- else +- result = YYERRCODE; +- break; +- +- case '<': +- if (exp[0] == '=') +- { +- ++exp; +- lval->op = less_or_equal; +- } +- else +- lval->op = less_than; +- result = CMPOP2; +- break; +- +- case '>': +- if (exp[0] == '=') +- { +- ++exp; +- lval->op = greater_or_equal; +- } +- else +- lval->op = greater_than; +- result = CMPOP2; +- break; +- +- case '*': +- lval->op = mult; +- result = MULOP2; +- break; +- +- case '/': +- lval->op = divide; +- result = MULOP2; +- break; +- +- case '%': +- lval->op = module; +- result = MULOP2; +- break; +- +- case '+': +- lval->op = plus; +- result = ADDOP2; +- break; +- +- case '-': +- lval->op = minus; +- result = ADDOP2; +- break; +- +- case 'n': +- case '?': +- case ':': +- case '(': +- case ')': +- /* Nothing, just return the character. */ +- break; +- +- case ';': +- case '\n': +- case '\0': +- /* Be safe and let the user call this function again. */ +- --exp; +- result = YYEOF; +- break; +- +- default: +- result = YYERRCODE; +-#if YYDEBUG != 0 +- --exp; +-#endif +- break; +- } +- +- *pexp = exp; +- +- return result; +-} +- +- +-static void +-yyerror (const char *str) +-{ +- /* Do nothing. We don't print error messages here. */ +-} +- +--- a/intl/plural.y ++++ /dev/null +@@ -1,385 +0,0 @@ +-%{ +-/* Expression parsing for plural form selection. +- Copyright (C) 2000-2001, 2003, 2005-2006 Free Software Foundation, Inc. +- Written by Ulrich Drepper , 2000. +- +- This program is free software; you can redistribute it and/or modify it +- under the terms of the GNU Library General Public License as published +- by the Free Software Foundation; either version 2, or (at your option) +- any later version. +- +- This program is distributed in the hope that it will be useful, +- but WITHOUT ANY WARRANTY; without even the implied warranty of +- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +- Library General Public License for more details. +- +- You should have received a copy of the GNU Library General Public +- License along with this program; if not, write to the Free Software +- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, +- USA. */ +- +-/* For bison < 2.0, the bison generated parser uses alloca. AIX 3 forces us +- to put this declaration at the beginning of the file. The declaration in +- bison's skeleton file comes too late. This must come before +- because may include arbitrary system headers. +- This can go away once the AM_INTL_SUBDIR macro requires bison >= 2.0. */ +-#if defined _AIX && !defined __GNUC__ +- #pragma alloca +-#endif +- +-#ifdef HAVE_CONFIG_H +-# include +-#endif +- +-#include +-#include +-#include +-#include "plural-exp.h" +- +-/* The main function generated by the parser is called __gettextparse, +- but we want it to be called PLURAL_PARSE. */ +-#ifndef _LIBC +-# define __gettextparse PLURAL_PARSE +-#endif +- +-#define YYLEX_PARAM &((struct parse_args *) arg)->cp +-#define YYPARSE_PARAM arg +-%} +-%pure_parser +-%expect 7 +- +-%union { +- unsigned long int num; +- enum expression_operator op; +- struct expression *exp; +-} +- +-%{ +-/* Prototypes for local functions. */ +-static int yylex (YYSTYPE *lval, const char **pexp); +-static void yyerror (const char *str); +- +-/* Allocation of expressions. */ +- +-static struct expression * +-new_exp (int nargs, enum expression_operator op, +- struct expression * const *args) +-{ +- int i; +- struct expression *newp; +- +- /* If any of the argument could not be malloc'ed, just return NULL. */ +- for (i = nargs - 1; i >= 0; i--) +- if (args[i] == NULL) +- goto fail; +- +- /* Allocate a new expression. */ +- newp = (struct expression *) malloc (sizeof (*newp)); +- if (newp != NULL) +- { +- newp->nargs = nargs; +- newp->operation = op; +- for (i = nargs - 1; i >= 0; i--) +- newp->val.args[i] = args[i]; +- return newp; +- } +- +- fail: +- for (i = nargs - 1; i >= 0; i--) +- FREE_EXPRESSION (args[i]); +- +- return NULL; +-} +- +-static inline struct expression * +-new_exp_0 (enum expression_operator op) +-{ +- return new_exp (0, op, NULL); +-} +- +-static inline struct expression * +-new_exp_1 (enum expression_operator op, struct expression *right) +-{ +- struct expression *args[1]; +- +- args[0] = right; +- return new_exp (1, op, args); +-} +- +-static struct expression * +-new_exp_2 (enum expression_operator op, struct expression *left, +- struct expression *right) +-{ +- struct expression *args[2]; +- +- args[0] = left; +- args[1] = right; +- return new_exp (2, op, args); +-} +- +-static inline struct expression * +-new_exp_3 (enum expression_operator op, struct expression *bexp, +- struct expression *tbranch, struct expression *fbranch) +-{ +- struct expression *args[3]; +- +- args[0] = bexp; +- args[1] = tbranch; +- args[2] = fbranch; +- return new_exp (3, op, args); +-} +- +-%} +- +-/* This declares that all operators have the same associativity and the +- precedence order as in C. See [Harbison, Steele: C, A Reference Manual]. +- There is no unary minus and no bitwise operators. +- Operators with the same syntactic behaviour have been merged into a single +- token, to save space in the array generated by bison. */ +-%right '?' /* ? */ +-%left '|' /* || */ +-%left '&' /* && */ +-%left EQUOP2 /* == != */ +-%left CMPOP2 /* < > <= >= */ +-%left ADDOP2 /* + - */ +-%left MULOP2 /* * / % */ +-%right '!' /* ! */ +- +-%token EQUOP2 CMPOP2 ADDOP2 MULOP2 +-%token NUMBER +-%type exp +- +-%% +- +-start: exp +- { +- if ($1 == NULL) +- YYABORT; +- ((struct parse_args *) arg)->res = $1; +- } +- ; +- +-exp: exp '?' exp ':' exp +- { +- $$ = new_exp_3 (qmop, $1, $3, $5); +- } +- | exp '|' exp +- { +- $$ = new_exp_2 (lor, $1, $3); +- } +- | exp '&' exp +- { +- $$ = new_exp_2 (land, $1, $3); +- } +- | exp EQUOP2 exp +- { +- $$ = new_exp_2 ($2, $1, $3); +- } +- | exp CMPOP2 exp +- { +- $$ = new_exp_2 ($2, $1, $3); +- } +- | exp ADDOP2 exp +- { +- $$ = new_exp_2 ($2, $1, $3); +- } +- | exp MULOP2 exp +- { +- $$ = new_exp_2 ($2, $1, $3); +- } +- | '!' exp +- { +- $$ = new_exp_1 (lnot, $2); +- } +- | 'n' +- { +- $$ = new_exp_0 (var); +- } +- | NUMBER +- { +- if (($$ = new_exp_0 (num)) != NULL) +- $$->val.num = $1; +- } +- | '(' exp ')' +- { +- $$ = $2; +- } +- ; +- +-%% +- +-void +-internal_function +-FREE_EXPRESSION (struct expression *exp) +-{ +- if (exp == NULL) +- return; +- +- /* Handle the recursive case. */ +- switch (exp->nargs) +- { +- case 3: +- FREE_EXPRESSION (exp->val.args[2]); +- /* FALLTHROUGH */ +- case 2: +- FREE_EXPRESSION (exp->val.args[1]); +- /* FALLTHROUGH */ +- case 1: +- FREE_EXPRESSION (exp->val.args[0]); +- /* FALLTHROUGH */ +- default: +- break; +- } +- +- free (exp); +-} +- +- +-static int +-yylex (YYSTYPE *lval, const char **pexp) +-{ +- const char *exp = *pexp; +- int result; +- +- while (1) +- { +- if (exp[0] == '\0') +- { +- *pexp = exp; +- return YYEOF; +- } +- +- if (exp[0] != ' ' && exp[0] != '\t') +- break; +- +- ++exp; +- } +- +- result = *exp++; +- switch (result) +- { +- case '0': case '1': case '2': case '3': case '4': +- case '5': case '6': case '7': case '8': case '9': +- { +- unsigned long int n = result - '0'; +- while (exp[0] >= '0' && exp[0] <= '9') +- { +- n *= 10; +- n += exp[0] - '0'; +- ++exp; +- } +- lval->num = n; +- result = NUMBER; +- } +- break; +- +- case '=': +- if (exp[0] == '=') +- { +- ++exp; +- lval->op = equal; +- result = EQUOP2; +- } +- else +- result = YYERRCODE; +- break; +- +- case '!': +- if (exp[0] == '=') +- { +- ++exp; +- lval->op = not_equal; +- result = EQUOP2; +- } +- break; +- +- case '&': +- case '|': +- if (exp[0] == result) +- ++exp; +- else +- result = YYERRCODE; +- break; +- +- case '<': +- if (exp[0] == '=') +- { +- ++exp; +- lval->op = less_or_equal; +- } +- else +- lval->op = less_than; +- result = CMPOP2; +- break; +- +- case '>': +- if (exp[0] == '=') +- { +- ++exp; +- lval->op = greater_or_equal; +- } +- else +- lval->op = greater_than; +- result = CMPOP2; +- break; +- +- case '*': +- lval->op = mult; +- result = MULOP2; +- break; +- +- case '/': +- lval->op = divide; +- result = MULOP2; +- break; +- +- case '%': +- lval->op = module; +- result = MULOP2; +- break; +- +- case '+': +- lval->op = plus; +- result = ADDOP2; +- break; +- +- case '-': +- lval->op = minus; +- result = ADDOP2; +- break; +- +- case 'n': +- case '?': +- case ':': +- case '(': +- case ')': +- /* Nothing, just return the character. */ +- break; +- +- case ';': +- case '\n': +- case '\0': +- /* Be safe and let the user call this function again. */ +- --exp; +- result = YYEOF; +- break; +- +- default: +- result = YYERRCODE; +-#if YYDEBUG != 0 +- --exp; +-#endif +- break; +- } +- +- *pexp = exp; +- +- return result; +-} +- +- +-static void +-yyerror (const char *str) +-{ +- /* Do nothing. We don't print error messages here. */ +-} +--- a/intl/printf-args.c ++++ /dev/null +@@ -1,188 +0,0 @@ +-/* Decomposed printf argument list. +- Copyright (C) 1999, 2002-2003, 2005-2007 Free Software Foundation, Inc. +- +- This program is free software; you can redistribute it and/or modify it +- under the terms of the GNU Library General Public License as published +- by the Free Software Foundation; either version 2, or (at your option) +- any later version. +- +- This program is distributed in the hope that it will be useful, +- but WITHOUT ANY WARRANTY; without even the implied warranty of +- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +- Library General Public License for more details. +- +- You should have received a copy of the GNU Library General Public +- License along with this program; if not, write to the Free Software +- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, +- USA. */ +- +-/* This file can be parametrized with the following macros: +- ENABLE_UNISTDIO Set to 1 to enable the unistdio extensions. +- PRINTF_FETCHARGS Name of the function to be defined. +- STATIC Set to 'static' to declare the function static. */ +- +-#ifndef PRINTF_FETCHARGS +-# include +-#endif +- +-/* Specification. */ +-#ifndef PRINTF_FETCHARGS +-# include "printf-args.h" +-#endif +- +-#ifdef STATIC +-STATIC +-#endif +-int +-PRINTF_FETCHARGS (va_list args, arguments *a) +-{ +- size_t i; +- argument *ap; +- +- for (i = 0, ap = &a->arg[0]; i < a->count; i++, ap++) +- switch (ap->type) +- { +- case TYPE_SCHAR: +- ap->a.a_schar = va_arg (args, /*signed char*/ int); +- break; +- case TYPE_UCHAR: +- ap->a.a_uchar = va_arg (args, /*unsigned char*/ int); +- break; +- case TYPE_SHORT: +- ap->a.a_short = va_arg (args, /*short*/ int); +- break; +- case TYPE_USHORT: +- ap->a.a_ushort = va_arg (args, /*unsigned short*/ int); +- break; +- case TYPE_INT: +- ap->a.a_int = va_arg (args, int); +- break; +- case TYPE_UINT: +- ap->a.a_uint = va_arg (args, unsigned int); +- break; +- case TYPE_LONGINT: +- ap->a.a_longint = va_arg (args, long int); +- break; +- case TYPE_ULONGINT: +- ap->a.a_ulongint = va_arg (args, unsigned long int); +- break; +-#if HAVE_LONG_LONG_INT +- case TYPE_LONGLONGINT: +- ap->a.a_longlongint = va_arg (args, long long int); +- break; +- case TYPE_ULONGLONGINT: +- ap->a.a_ulonglongint = va_arg (args, unsigned long long int); +- break; +-#endif +- case TYPE_DOUBLE: +- ap->a.a_double = va_arg (args, double); +- break; +- case TYPE_LONGDOUBLE: +- ap->a.a_longdouble = va_arg (args, long double); +- break; +- case TYPE_CHAR: +- ap->a.a_char = va_arg (args, int); +- break; +-#if HAVE_WINT_T +- case TYPE_WIDE_CHAR: +- /* Although ISO C 99 7.24.1.(2) says that wint_t is "unchanged by +- default argument promotions", this is not the case in mingw32, +- where wint_t is 'unsigned short'. */ +- ap->a.a_wide_char = +- (sizeof (wint_t) < sizeof (int) +- ? va_arg (args, int) +- : va_arg (args, wint_t)); +- break; +-#endif +- case TYPE_STRING: +- ap->a.a_string = va_arg (args, const char *); +- /* A null pointer is an invalid argument for "%s", but in practice +- it occurs quite frequently in printf statements that produce +- debug output. Use a fallback in this case. */ +- if (ap->a.a_string == NULL) +- ap->a.a_string = "(NULL)"; +- break; +-#if HAVE_WCHAR_T +- case TYPE_WIDE_STRING: +- ap->a.a_wide_string = va_arg (args, const wchar_t *); +- /* A null pointer is an invalid argument for "%ls", but in practice +- it occurs quite frequently in printf statements that produce +- debug output. Use a fallback in this case. */ +- if (ap->a.a_wide_string == NULL) +- { +- static const wchar_t wide_null_string[] = +- { +- (wchar_t)'(', +- (wchar_t)'N', (wchar_t)'U', (wchar_t)'L', (wchar_t)'L', +- (wchar_t)')', +- (wchar_t)0 +- }; +- ap->a.a_wide_string = wide_null_string; +- } +- break; +-#endif +- case TYPE_POINTER: +- ap->a.a_pointer = va_arg (args, void *); +- break; +- case TYPE_COUNT_SCHAR_POINTER: +- ap->a.a_count_schar_pointer = va_arg (args, signed char *); +- break; +- case TYPE_COUNT_SHORT_POINTER: +- ap->a.a_count_short_pointer = va_arg (args, short *); +- break; +- case TYPE_COUNT_INT_POINTER: +- ap->a.a_count_int_pointer = va_arg (args, int *); +- break; +- case TYPE_COUNT_LONGINT_POINTER: +- ap->a.a_count_longint_pointer = va_arg (args, long int *); +- break; +-#if HAVE_LONG_LONG_INT +- case TYPE_COUNT_LONGLONGINT_POINTER: +- ap->a.a_count_longlongint_pointer = va_arg (args, long long int *); +- break; +-#endif +-#if ENABLE_UNISTDIO +- /* The unistdio extensions. */ +- case TYPE_U8_STRING: +- ap->a.a_u8_string = va_arg (args, const uint8_t *); +- /* A null pointer is an invalid argument for "%U", but in practice +- it occurs quite frequently in printf statements that produce +- debug output. Use a fallback in this case. */ +- if (ap->a.a_u8_string == NULL) +- { +- static const uint8_t u8_null_string[] = +- { '(', 'N', 'U', 'L', 'L', ')', 0 }; +- ap->a.a_u8_string = u8_null_string; +- } +- break; +- case TYPE_U16_STRING: +- ap->a.a_u16_string = va_arg (args, const uint16_t *); +- /* A null pointer is an invalid argument for "%lU", but in practice +- it occurs quite frequently in printf statements that produce +- debug output. Use a fallback in this case. */ +- if (ap->a.a_u16_string == NULL) +- { +- static const uint16_t u16_null_string[] = +- { '(', 'N', 'U', 'L', 'L', ')', 0 }; +- ap->a.a_u16_string = u16_null_string; +- } +- break; +- case TYPE_U32_STRING: +- ap->a.a_u32_string = va_arg (args, const uint32_t *); +- /* A null pointer is an invalid argument for "%llU", but in practice +- it occurs quite frequently in printf statements that produce +- debug output. Use a fallback in this case. */ +- if (ap->a.a_u32_string == NULL) +- { +- static const uint32_t u32_null_string[] = +- { '(', 'N', 'U', 'L', 'L', ')', 0 }; +- ap->a.a_u32_string = u32_null_string; +- } +- break; +-#endif +- default: +- /* Unknown type. */ +- return -1; +- } +- return 0; +-} +--- a/intl/printf-args.h ++++ /dev/null +@@ -1,155 +0,0 @@ +-/* Decomposed printf argument list. +- Copyright (C) 1999, 2002-2003, 2006-2007 Free Software Foundation, Inc. +- +- This program is free software; you can redistribute it and/or modify it +- under the terms of the GNU Library General Public License as published +- by the Free Software Foundation; either version 2, or (at your option) +- any later version. +- +- This program is distributed in the hope that it will be useful, +- but WITHOUT ANY WARRANTY; without even the implied warranty of +- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +- Library General Public License for more details. +- +- You should have received a copy of the GNU Library General Public +- License along with this program; if not, write to the Free Software +- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, +- USA. */ +- +-#ifndef _PRINTF_ARGS_H +-#define _PRINTF_ARGS_H +- +-/* This file can be parametrized with the following macros: +- ENABLE_UNISTDIO Set to 1 to enable the unistdio extensions. +- PRINTF_FETCHARGS Name of the function to be declared. +- STATIC Set to 'static' to declare the function static. */ +- +-/* Default parameters. */ +-#ifndef PRINTF_FETCHARGS +-# define PRINTF_FETCHARGS printf_fetchargs +-#endif +- +-/* Get size_t. */ +-#include +- +-/* Get wchar_t. */ +-#if HAVE_WCHAR_T +-# include +-#endif +- +-/* Get wint_t. */ +-#if HAVE_WINT_T +-# include +-#endif +- +-/* Get va_list. */ +-#include +- +- +-/* Argument types */ +-typedef enum +-{ +- TYPE_NONE, +- TYPE_SCHAR, +- TYPE_UCHAR, +- TYPE_SHORT, +- TYPE_USHORT, +- TYPE_INT, +- TYPE_UINT, +- TYPE_LONGINT, +- TYPE_ULONGINT, +-#if HAVE_LONG_LONG_INT +- TYPE_LONGLONGINT, +- TYPE_ULONGLONGINT, +-#endif +- TYPE_DOUBLE, +- TYPE_LONGDOUBLE, +- TYPE_CHAR, +-#if HAVE_WINT_T +- TYPE_WIDE_CHAR, +-#endif +- TYPE_STRING, +-#if HAVE_WCHAR_T +- TYPE_WIDE_STRING, +-#endif +- TYPE_POINTER, +- TYPE_COUNT_SCHAR_POINTER, +- TYPE_COUNT_SHORT_POINTER, +- TYPE_COUNT_INT_POINTER, +- TYPE_COUNT_LONGINT_POINTER +-#if HAVE_LONG_LONG_INT +-, TYPE_COUNT_LONGLONGINT_POINTER +-#endif +-#if ENABLE_UNISTDIO +- /* The unistdio extensions. */ +-, TYPE_U8_STRING +-, TYPE_U16_STRING +-, TYPE_U32_STRING +-#endif +-} arg_type; +- +-/* Polymorphic argument */ +-typedef struct +-{ +- arg_type type; +- union +- { +- signed char a_schar; +- unsigned char a_uchar; +- short a_short; +- unsigned short a_ushort; +- int a_int; +- unsigned int a_uint; +- long int a_longint; +- unsigned long int a_ulongint; +-#if HAVE_LONG_LONG_INT +- long long int a_longlongint; +- unsigned long long int a_ulonglongint; +-#endif +- float a_float; +- double a_double; +- long double a_longdouble; +- int a_char; +-#if HAVE_WINT_T +- wint_t a_wide_char; +-#endif +- const char* a_string; +-#if HAVE_WCHAR_T +- const wchar_t* a_wide_string; +-#endif +- void* a_pointer; +- signed char * a_count_schar_pointer; +- short * a_count_short_pointer; +- int * a_count_int_pointer; +- long int * a_count_longint_pointer; +-#if HAVE_LONG_LONG_INT +- long long int * a_count_longlongint_pointer; +-#endif +-#if ENABLE_UNISTDIO +- /* The unistdio extensions. */ +- const uint8_t * a_u8_string; +- const uint16_t * a_u16_string; +- const uint32_t * a_u32_string; +-#endif +- } +- a; +-} +-argument; +- +-typedef struct +-{ +- size_t count; +- argument *arg; +-} +-arguments; +- +- +-/* Fetch the arguments, putting them into a. */ +-#ifdef STATIC +-STATIC +-#else +-extern +-#endif +-int PRINTF_FETCHARGS (va_list args, arguments *a); +- +-#endif /* _PRINTF_ARGS_H */ +--- a/intl/printf-parse.c ++++ /dev/null +@@ -1,590 +0,0 @@ +-/* Formatted output to strings. +- Copyright (C) 1999-2000, 2002-2003, 2006-2007 Free Software Foundation, Inc. +- +- This program is free software; you can redistribute it and/or modify it +- under the terms of the GNU Library General Public License as published +- by the Free Software Foundation; either version 2, or (at your option) +- any later version. +- +- This program is distributed in the hope that it will be useful, +- but WITHOUT ANY WARRANTY; without even the implied warranty of +- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +- Library General Public License for more details. +- +- You should have received a copy of the GNU Library General Public +- License along with this program; if not, write to the Free Software +- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, +- USA. */ +- +-/* This file can be parametrized with the following macros: +- CHAR_T The element type of the format string. +- CHAR_T_ONLY_ASCII Set to 1 to enable verification that all characters +- in the format string are ASCII. +- DIRECTIVE Structure denoting a format directive. +- Depends on CHAR_T. +- DIRECTIVES Structure denoting the set of format directives of a +- format string. Depends on CHAR_T. +- PRINTF_PARSE Function that parses a format string. +- Depends on CHAR_T. +- STATIC Set to 'static' to declare the function static. +- ENABLE_UNISTDIO Set to 1 to enable the unistdio extensions. */ +- +-#ifndef PRINTF_PARSE +-# include +-#endif +- +-/* Specification. */ +-#ifndef PRINTF_PARSE +-# include "printf-parse.h" +-#endif +- +-/* Default parameters. */ +-#ifndef PRINTF_PARSE +-# define PRINTF_PARSE printf_parse +-# define CHAR_T char +-# define DIRECTIVE char_directive +-# define DIRECTIVES char_directives +-#endif +- +-/* Get size_t, NULL. */ +-#include +- +-/* Get intmax_t. */ +-#if defined IN_LIBINTL || defined IN_LIBASPRINTF +-# if HAVE_STDINT_H_WITH_UINTMAX +-# include +-# endif +-# if HAVE_INTTYPES_H_WITH_UINTMAX +-# include +-# endif +-#else +-# include +-#endif +- +-/* malloc(), realloc(), free(). */ +-#include +- +-/* errno. */ +-#include +- +-/* Checked size_t computations. */ +-#include "xsize.h" +- +-#if CHAR_T_ONLY_ASCII +-/* c_isascii(). */ +-# include "c-ctype.h" +-#endif +- +-#ifdef STATIC +-STATIC +-#endif +-int +-PRINTF_PARSE (const CHAR_T *format, DIRECTIVES *d, arguments *a) +-{ +- const CHAR_T *cp = format; /* pointer into format */ +- size_t arg_posn = 0; /* number of regular arguments consumed */ +- size_t d_allocated; /* allocated elements of d->dir */ +- size_t a_allocated; /* allocated elements of a->arg */ +- size_t max_width_length = 0; +- size_t max_precision_length = 0; +- +- d->count = 0; +- d_allocated = 1; +- d->dir = (DIRECTIVE *) malloc (d_allocated * sizeof (DIRECTIVE)); +- if (d->dir == NULL) +- /* Out of memory. */ +- goto out_of_memory_1; +- +- a->count = 0; +- a_allocated = 0; +- a->arg = NULL; +- +-#define REGISTER_ARG(_index_,_type_) \ +- { \ +- size_t n = (_index_); \ +- if (n >= a_allocated) \ +- { \ +- size_t memory_size; \ +- argument *memory; \ +- \ +- a_allocated = xtimes (a_allocated, 2); \ +- if (a_allocated <= n) \ +- a_allocated = xsum (n, 1); \ +- memory_size = xtimes (a_allocated, sizeof (argument)); \ +- if (size_overflow_p (memory_size)) \ +- /* Overflow, would lead to out of memory. */ \ +- goto out_of_memory; \ +- memory = (argument *) (a->arg \ +- ? realloc (a->arg, memory_size) \ +- : malloc (memory_size)); \ +- if (memory == NULL) \ +- /* Out of memory. */ \ +- goto out_of_memory; \ +- a->arg = memory; \ +- } \ +- while (a->count <= n) \ +- a->arg[a->count++].type = TYPE_NONE; \ +- if (a->arg[n].type == TYPE_NONE) \ +- a->arg[n].type = (_type_); \ +- else if (a->arg[n].type != (_type_)) \ +- /* Ambiguous type for positional argument. */ \ +- goto error; \ +- } +- +- while (*cp != '\0') +- { +- CHAR_T c = *cp++; +- if (c == '%') +- { +- size_t arg_index = ARG_NONE; +- DIRECTIVE *dp = &d->dir[d->count]; /* pointer to next directive */ +- +- /* Initialize the next directive. */ +- dp->dir_start = cp - 1; +- dp->flags = 0; +- dp->width_start = NULL; +- dp->width_end = NULL; +- dp->width_arg_index = ARG_NONE; +- dp->precision_start = NULL; +- dp->precision_end = NULL; +- dp->precision_arg_index = ARG_NONE; +- dp->arg_index = ARG_NONE; +- +- /* Test for positional argument. */ +- if (*cp >= '0' && *cp <= '9') +- { +- const CHAR_T *np; +- +- for (np = cp; *np >= '0' && *np <= '9'; np++) +- ; +- if (*np == '$') +- { +- size_t n = 0; +- +- for (np = cp; *np >= '0' && *np <= '9'; np++) +- n = xsum (xtimes (n, 10), *np - '0'); +- if (n == 0) +- /* Positional argument 0. */ +- goto error; +- if (size_overflow_p (n)) +- /* n too large, would lead to out of memory later. */ +- goto error; +- arg_index = n - 1; +- cp = np + 1; +- } +- } +- +- /* Read the flags. */ +- for (;;) +- { +- if (*cp == '\'') +- { +- dp->flags |= FLAG_GROUP; +- cp++; +- } +- else if (*cp == '-') +- { +- dp->flags |= FLAG_LEFT; +- cp++; +- } +- else if (*cp == '+') +- { +- dp->flags |= FLAG_SHOWSIGN; +- cp++; +- } +- else if (*cp == ' ') +- { +- dp->flags |= FLAG_SPACE; +- cp++; +- } +- else if (*cp == '#') +- { +- dp->flags |= FLAG_ALT; +- cp++; +- } +- else if (*cp == '0') +- { +- dp->flags |= FLAG_ZERO; +- cp++; +- } +- else +- break; +- } +- +- /* Parse the field width. */ +- if (*cp == '*') +- { +- dp->width_start = cp; +- cp++; +- dp->width_end = cp; +- if (max_width_length < 1) +- max_width_length = 1; +- +- /* Test for positional argument. */ +- if (*cp >= '0' && *cp <= '9') +- { +- const CHAR_T *np; +- +- for (np = cp; *np >= '0' && *np <= '9'; np++) +- ; +- if (*np == '$') +- { +- size_t n = 0; +- +- for (np = cp; *np >= '0' && *np <= '9'; np++) +- n = xsum (xtimes (n, 10), *np - '0'); +- if (n == 0) +- /* Positional argument 0. */ +- goto error; +- if (size_overflow_p (n)) +- /* n too large, would lead to out of memory later. */ +- goto error; +- dp->width_arg_index = n - 1; +- cp = np + 1; +- } +- } +- if (dp->width_arg_index == ARG_NONE) +- { +- dp->width_arg_index = arg_posn++; +- if (dp->width_arg_index == ARG_NONE) +- /* arg_posn wrapped around. */ +- goto error; +- } +- REGISTER_ARG (dp->width_arg_index, TYPE_INT); +- } +- else if (*cp >= '0' && *cp <= '9') +- { +- size_t width_length; +- +- dp->width_start = cp; +- for (; *cp >= '0' && *cp <= '9'; cp++) +- ; +- dp->width_end = cp; +- width_length = dp->width_end - dp->width_start; +- if (max_width_length < width_length) +- max_width_length = width_length; +- } +- +- /* Parse the precision. */ +- if (*cp == '.') +- { +- cp++; +- if (*cp == '*') +- { +- dp->precision_start = cp - 1; +- cp++; +- dp->precision_end = cp; +- if (max_precision_length < 2) +- max_precision_length = 2; +- +- /* Test for positional argument. */ +- if (*cp >= '0' && *cp <= '9') +- { +- const CHAR_T *np; +- +- for (np = cp; *np >= '0' && *np <= '9'; np++) +- ; +- if (*np == '$') +- { +- size_t n = 0; +- +- for (np = cp; *np >= '0' && *np <= '9'; np++) +- n = xsum (xtimes (n, 10), *np - '0'); +- if (n == 0) +- /* Positional argument 0. */ +- goto error; +- if (size_overflow_p (n)) +- /* n too large, would lead to out of memory +- later. */ +- goto error; +- dp->precision_arg_index = n - 1; +- cp = np + 1; +- } +- } +- if (dp->precision_arg_index == ARG_NONE) +- { +- dp->precision_arg_index = arg_posn++; +- if (dp->precision_arg_index == ARG_NONE) +- /* arg_posn wrapped around. */ +- goto error; +- } +- REGISTER_ARG (dp->precision_arg_index, TYPE_INT); +- } +- else +- { +- size_t precision_length; +- +- dp->precision_start = cp - 1; +- for (; *cp >= '0' && *cp <= '9'; cp++) +- ; +- dp->precision_end = cp; +- precision_length = dp->precision_end - dp->precision_start; +- if (max_precision_length < precision_length) +- max_precision_length = precision_length; +- } +- } +- +- { +- arg_type type; +- +- /* Parse argument type/size specifiers. */ +- { +- int flags = 0; +- +- for (;;) +- { +- if (*cp == 'h') +- { +- flags |= (1 << (flags & 1)); +- cp++; +- } +- else if (*cp == 'L') +- { +- flags |= 4; +- cp++; +- } +- else if (*cp == 'l') +- { +- flags += 8; +- cp++; +- } +- else if (*cp == 'j') +- { +- if (sizeof (intmax_t) > sizeof (long)) +- { +- /* intmax_t = long long */ +- flags += 16; +- } +- else if (sizeof (intmax_t) > sizeof (int)) +- { +- /* intmax_t = long */ +- flags += 8; +- } +- cp++; +- } +- else if (*cp == 'z' || *cp == 'Z') +- { +- /* 'z' is standardized in ISO C 99, but glibc uses 'Z' +- because the warning facility in gcc-2.95.2 understands +- only 'Z' (see gcc-2.95.2/gcc/c-common.c:1784). */ +- if (sizeof (size_t) > sizeof (long)) +- { +- /* size_t = long long */ +- flags += 16; +- } +- else if (sizeof (size_t) > sizeof (int)) +- { +- /* size_t = long */ +- flags += 8; +- } +- cp++; +- } +- else if (*cp == 't') +- { +- if (sizeof (ptrdiff_t) > sizeof (long)) +- { +- /* ptrdiff_t = long long */ +- flags += 16; +- } +- else if (sizeof (ptrdiff_t) > sizeof (int)) +- { +- /* ptrdiff_t = long */ +- flags += 8; +- } +- cp++; +- } +- else +- break; +- } +- +- /* Read the conversion character. */ +- c = *cp++; +- switch (c) +- { +- case 'd': case 'i': +-#if HAVE_LONG_LONG_INT +- /* If 'long long' exists and is larger than 'long': */ +- if (flags >= 16 || (flags & 4)) +- type = TYPE_LONGLONGINT; +- else +-#endif +- /* If 'long long' exists and is the same as 'long', we parse +- "lld" into TYPE_LONGINT. */ +- if (flags >= 8) +- type = TYPE_LONGINT; +- else if (flags & 2) +- type = TYPE_SCHAR; +- else if (flags & 1) +- type = TYPE_SHORT; +- else +- type = TYPE_INT; +- break; +- case 'o': case 'u': case 'x': case 'X': +-#if HAVE_LONG_LONG_INT +- /* If 'long long' exists and is larger than 'long': */ +- if (flags >= 16 || (flags & 4)) +- type = TYPE_ULONGLONGINT; +- else +-#endif +- /* If 'unsigned long long' exists and is the same as +- 'unsigned long', we parse "llu" into TYPE_ULONGINT. */ +- if (flags >= 8) +- type = TYPE_ULONGINT; +- else if (flags & 2) +- type = TYPE_UCHAR; +- else if (flags & 1) +- type = TYPE_USHORT; +- else +- type = TYPE_UINT; +- break; +- case 'f': case 'F': case 'e': case 'E': case 'g': case 'G': +- case 'a': case 'A': +- if (flags >= 16 || (flags & 4)) +- type = TYPE_LONGDOUBLE; +- else +- type = TYPE_DOUBLE; +- break; +- case 'c': +- if (flags >= 8) +-#if HAVE_WINT_T +- type = TYPE_WIDE_CHAR; +-#else +- goto error; +-#endif +- else +- type = TYPE_CHAR; +- break; +-#if HAVE_WINT_T +- case 'C': +- type = TYPE_WIDE_CHAR; +- c = 'c'; +- break; +-#endif +- case 's': +- if (flags >= 8) +-#if HAVE_WCHAR_T +- type = TYPE_WIDE_STRING; +-#else +- goto error; +-#endif +- else +- type = TYPE_STRING; +- break; +-#if HAVE_WCHAR_T +- case 'S': +- type = TYPE_WIDE_STRING; +- c = 's'; +- break; +-#endif +- case 'p': +- type = TYPE_POINTER; +- break; +- case 'n': +-#if HAVE_LONG_LONG_INT +- /* If 'long long' exists and is larger than 'long': */ +- if (flags >= 16 || (flags & 4)) +- type = TYPE_COUNT_LONGLONGINT_POINTER; +- else +-#endif +- /* If 'long long' exists and is the same as 'long', we parse +- "lln" into TYPE_COUNT_LONGINT_POINTER. */ +- if (flags >= 8) +- type = TYPE_COUNT_LONGINT_POINTER; +- else if (flags & 2) +- type = TYPE_COUNT_SCHAR_POINTER; +- else if (flags & 1) +- type = TYPE_COUNT_SHORT_POINTER; +- else +- type = TYPE_COUNT_INT_POINTER; +- break; +-#if ENABLE_UNISTDIO +- /* The unistdio extensions. */ +- case 'U': +- if (flags >= 16) +- type = TYPE_U32_STRING; +- else if (flags >= 8) +- type = TYPE_U16_STRING; +- else +- type = TYPE_U8_STRING; +- break; +-#endif +- case '%': +- type = TYPE_NONE; +- break; +- default: +- /* Unknown conversion character. */ +- goto error; +- } +- } +- +- if (type != TYPE_NONE) +- { +- dp->arg_index = arg_index; +- if (dp->arg_index == ARG_NONE) +- { +- dp->arg_index = arg_posn++; +- if (dp->arg_index == ARG_NONE) +- /* arg_posn wrapped around. */ +- goto error; +- } +- REGISTER_ARG (dp->arg_index, type); +- } +- dp->conversion = c; +- dp->dir_end = cp; +- } +- +- d->count++; +- if (d->count >= d_allocated) +- { +- size_t memory_size; +- DIRECTIVE *memory; +- +- d_allocated = xtimes (d_allocated, 2); +- memory_size = xtimes (d_allocated, sizeof (DIRECTIVE)); +- if (size_overflow_p (memory_size)) +- /* Overflow, would lead to out of memory. */ +- goto out_of_memory; +- memory = (DIRECTIVE *) realloc (d->dir, memory_size); +- if (memory == NULL) +- /* Out of memory. */ +- goto out_of_memory; +- d->dir = memory; +- } +- } +-#if CHAR_T_ONLY_ASCII +- else if (!c_isascii (c)) +- { +- /* Non-ASCII character. Not supported. */ +- goto error; +- } +-#endif +- } +- d->dir[d->count].dir_start = cp; +- +- d->max_width_length = max_width_length; +- d->max_precision_length = max_precision_length; +- return 0; +- +-error: +- if (a->arg) +- free (a->arg); +- if (d->dir) +- free (d->dir); +- errno = EINVAL; +- return -1; +- +-out_of_memory: +- if (a->arg) +- free (a->arg); +- if (d->dir) +- free (d->dir); +-out_of_memory_1: +- errno = ENOMEM; +- return -1; +-} +- +-#undef PRINTF_PARSE +-#undef DIRECTIVES +-#undef DIRECTIVE +-#undef CHAR_T_ONLY_ASCII +-#undef CHAR_T +--- a/intl/printf-parse.h ++++ /dev/null +@@ -1,75 +0,0 @@ +-/* Parse printf format string. +- Copyright (C) 1999, 2002-2003 Free Software Foundation, Inc. +- +- This program is free software; you can redistribute it and/or modify it +- under the terms of the GNU Library General Public License as published +- by the Free Software Foundation; either version 2, or (at your option) +- any later version. +- +- This program is distributed in the hope that it will be useful, +- but WITHOUT ANY WARRANTY; without even the implied warranty of +- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +- Library General Public License for more details. +- +- You should have received a copy of the GNU Library General Public +- License along with this program; if not, write to the Free Software +- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, +- USA. */ +- +-#ifndef _PRINTF_PARSE_H +-#define _PRINTF_PARSE_H +- +-#include "printf-args.h" +- +- +-/* Flags */ +-#define FLAG_GROUP 1 /* ' flag */ +-#define FLAG_LEFT 2 /* - flag */ +-#define FLAG_SHOWSIGN 4 /* + flag */ +-#define FLAG_SPACE 8 /* space flag */ +-#define FLAG_ALT 16 /* # flag */ +-#define FLAG_ZERO 32 +- +-/* arg_index value indicating that no argument is consumed. */ +-#define ARG_NONE (~(size_t)0) +- +-/* A parsed directive. */ +-typedef struct +-{ +- const char* dir_start; +- const char* dir_end; +- int flags; +- const char* width_start; +- const char* width_end; +- size_t width_arg_index; +- const char* precision_start; +- const char* precision_end; +- size_t precision_arg_index; +- char conversion; /* d i o u x X f e E g G c s p n U % but not C S */ +- size_t arg_index; +-} +-char_directive; +- +-/* A parsed format string. */ +-typedef struct +-{ +- size_t count; +- char_directive *dir; +- size_t max_width_length; +- size_t max_precision_length; +-} +-char_directives; +- +- +-/* Parses the format string. Fills in the number N of directives, and fills +- in directives[0], ..., directives[N-1], and sets directives[N].dir_start +- to the end of the format string. Also fills in the arg_type fields of the +- arguments and the needed count of arguments. */ +-#ifdef STATIC +-STATIC +-#else +-extern +-#endif +-int printf_parse (const char *format, char_directives *d, arguments *a); +- +-#endif /* _PRINTF_PARSE_H */ +--- a/intl/printf.c ++++ /dev/null +@@ -1,427 +0,0 @@ +-/* Formatted output to strings, using POSIX/XSI format strings with positions. +- Copyright (C) 2003, 2006-2007 Free Software Foundation, Inc. +- Written by Bruno Haible , 2003. +- +- This program is free software; you can redistribute it and/or modify it +- under the terms of the GNU Library General Public License as published +- by the Free Software Foundation; either version 2, or (at your option) +- any later version. +- +- This program is distributed in the hope that it will be useful, +- but WITHOUT ANY WARRANTY; without even the implied warranty of +- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +- Library General Public License for more details. +- +- You should have received a copy of the GNU Library General Public +- License along with this program; if not, write to the Free Software +- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, +- USA. */ +- +-#ifdef HAVE_CONFIG_H +-# include +-#endif +- +-#ifdef __GNUC__ +-# define alloca __builtin_alloca +-# define HAVE_ALLOCA 1 +-#else +-# ifdef _MSC_VER +-# include +-# define alloca _alloca +-# else +-# if defined HAVE_ALLOCA_H || defined _LIBC +-# include +-# else +-# ifdef _AIX +- #pragma alloca +-# else +-# ifndef alloca +-char *alloca (); +-# endif +-# endif +-# endif +-# endif +-#endif +- +-#include +- +-#if !HAVE_POSIX_PRINTF +- +-#include +-#include +-#include +-#include +- +-/* Some systems, like OSF/1 4.0 and Woe32, don't have EOVERFLOW. */ +-#ifndef EOVERFLOW +-# define EOVERFLOW E2BIG +-#endif +- +-/* When building a DLL, we must export some functions. Note that because +- the functions are only defined for binary backward compatibility, we +- don't need to use __declspec(dllimport) in any case. */ +-#if defined _MSC_VER && BUILDING_DLL +-# define DLL_EXPORTED __declspec(dllexport) +-#else +-# define DLL_EXPORTED +-#endif +- +-#define STATIC static +- +-/* This needs to be consistent with libgnuintl.h.in. */ +-#if defined __NetBSD__ || defined __BEOS__ || defined __CYGWIN__ || defined __MINGW32__ +-/* Don't break __attribute__((format(printf,M,N))). +- This redefinition is only possible because the libc in NetBSD, Cygwin, +- mingw does not have a function __printf__. */ +-# define libintl_printf __printf__ +-#endif +- +-/* Define auxiliary functions declared in "printf-args.h". */ +-#include "printf-args.c" +- +-/* Define auxiliary functions declared in "printf-parse.h". */ +-#include "printf-parse.c" +- +-/* Define functions declared in "vasnprintf.h". */ +-#define vasnprintf libintl_vasnprintf +-#include "vasnprintf.c" +-#if 0 /* not needed */ +-#define asnprintf libintl_asnprintf +-#include "asnprintf.c" +-#endif +- +-DLL_EXPORTED +-int +-libintl_vfprintf (FILE *stream, const char *format, va_list args) +-{ +- if (strchr (format, '$') == NULL) +- return vfprintf (stream, format, args); +- else +- { +- size_t length; +- char *result = libintl_vasnprintf (NULL, &length, format, args); +- int retval = -1; +- if (result != NULL) +- { +- size_t written = fwrite (result, 1, length, stream); +- free (result); +- if (written == length) +- { +- if (length > INT_MAX) +- errno = EOVERFLOW; +- else +- retval = length; +- } +- } +- return retval; +- } +-} +- +-DLL_EXPORTED +-int +-libintl_fprintf (FILE *stream, const char *format, ...) +-{ +- va_list args; +- int retval; +- +- va_start (args, format); +- retval = libintl_vfprintf (stream, format, args); +- va_end (args); +- return retval; +-} +- +-DLL_EXPORTED +-int +-libintl_vprintf (const char *format, va_list args) +-{ +- return libintl_vfprintf (stdout, format, args); +-} +- +-DLL_EXPORTED +-int +-libintl_printf (const char *format, ...) +-{ +- va_list args; +- int retval; +- +- va_start (args, format); +- retval = libintl_vprintf (format, args); +- va_end (args); +- return retval; +-} +- +-DLL_EXPORTED +-int +-libintl_vsprintf (char *resultbuf, const char *format, va_list args) +-{ +- if (strchr (format, '$') == NULL) +- return vsprintf (resultbuf, format, args); +- else +- { +- size_t length = (size_t) ~0 / (4 * sizeof (char)); +- char *result = libintl_vasnprintf (resultbuf, &length, format, args); +- if (result != resultbuf) +- { +- free (result); +- return -1; +- } +- if (length > INT_MAX) +- { +- errno = EOVERFLOW; +- return -1; +- } +- else +- return length; +- } +-} +- +-DLL_EXPORTED +-int +-libintl_sprintf (char *resultbuf, const char *format, ...) +-{ +- va_list args; +- int retval; +- +- va_start (args, format); +- retval = libintl_vsprintf (resultbuf, format, args); +- va_end (args); +- return retval; +-} +- +-#if HAVE_SNPRINTF +- +-# if HAVE_DECL__SNPRINTF +- /* Windows. */ +-# define system_vsnprintf _vsnprintf +-# else +- /* Unix. */ +-# define system_vsnprintf vsnprintf +-# endif +- +-DLL_EXPORTED +-int +-libintl_vsnprintf (char *resultbuf, size_t length, const char *format, va_list args) +-{ +- if (strchr (format, '$') == NULL) +- return system_vsnprintf (resultbuf, length, format, args); +- else +- { +- size_t maxlength = length; +- char *result = libintl_vasnprintf (resultbuf, &length, format, args); +- if (result != resultbuf) +- { +- if (maxlength > 0) +- { +- size_t pruned_length = +- (length < maxlength ? length : maxlength - 1); +- memcpy (resultbuf, result, pruned_length); +- resultbuf[pruned_length] = '\0'; +- } +- free (result); +- } +- if (length > INT_MAX) +- { +- errno = EOVERFLOW; +- return -1; +- } +- else +- return length; +- } +-} +- +-DLL_EXPORTED +-int +-libintl_snprintf (char *resultbuf, size_t length, const char *format, ...) +-{ +- va_list args; +- int retval; +- +- va_start (args, format); +- retval = libintl_vsnprintf (resultbuf, length, format, args); +- va_end (args); +- return retval; +-} +- +-#endif +- +-#if HAVE_ASPRINTF +- +-DLL_EXPORTED +-int +-libintl_vasprintf (char **resultp, const char *format, va_list args) +-{ +- size_t length; +- char *result = libintl_vasnprintf (NULL, &length, format, args); +- if (result == NULL) +- return -1; +- if (length > INT_MAX) +- { +- free (result); +- errno = EOVERFLOW; +- return -1; +- } +- *resultp = result; +- return length; +-} +- +-DLL_EXPORTED +-int +-libintl_asprintf (char **resultp, const char *format, ...) +-{ +- va_list args; +- int retval; +- +- va_start (args, format); +- retval = libintl_vasprintf (resultp, format, args); +- va_end (args); +- return retval; +-} +- +-#endif +- +-#if HAVE_FWPRINTF +- +-#include +- +-#define WIDE_CHAR_VERSION 1 +- +-#include "wprintf-parse.h" +-/* Define auxiliary functions declared in "wprintf-parse.h". */ +-#define CHAR_T wchar_t +-#define DIRECTIVE wchar_t_directive +-#define DIRECTIVES wchar_t_directives +-#define PRINTF_PARSE wprintf_parse +-#include "printf-parse.c" +- +-/* Define functions declared in "vasnprintf.h". */ +-#define vasnwprintf libintl_vasnwprintf +-#include "vasnprintf.c" +-#if 0 /* not needed */ +-#define asnwprintf libintl_asnwprintf +-#include "asnprintf.c" +-#endif +- +-# if HAVE_DECL__SNWPRINTF +- /* Windows. */ +-# define system_vswprintf _vsnwprintf +-# else +- /* Unix. */ +-# define system_vswprintf vswprintf +-# endif +- +-DLL_EXPORTED +-int +-libintl_vfwprintf (FILE *stream, const wchar_t *format, va_list args) +-{ +- if (wcschr (format, '$') == NULL) +- return vfwprintf (stream, format, args); +- else +- { +- size_t length; +- wchar_t *result = libintl_vasnwprintf (NULL, &length, format, args); +- int retval = -1; +- if (result != NULL) +- { +- size_t i; +- for (i = 0; i < length; i++) +- if (fputwc (result[i], stream) == WEOF) +- break; +- free (result); +- if (i == length) +- { +- if (length > INT_MAX) +- errno = EOVERFLOW; +- else +- retval = length; +- } +- } +- return retval; +- } +-} +- +-DLL_EXPORTED +-int +-libintl_fwprintf (FILE *stream, const wchar_t *format, ...) +-{ +- va_list args; +- int retval; +- +- va_start (args, format); +- retval = libintl_vfwprintf (stream, format, args); +- va_end (args); +- return retval; +-} +- +-DLL_EXPORTED +-int +-libintl_vwprintf (const wchar_t *format, va_list args) +-{ +- return libintl_vfwprintf (stdout, format, args); +-} +- +-DLL_EXPORTED +-int +-libintl_wprintf (const wchar_t *format, ...) +-{ +- va_list args; +- int retval; +- +- va_start (args, format); +- retval = libintl_vwprintf (format, args); +- va_end (args); +- return retval; +-} +- +-DLL_EXPORTED +-int +-libintl_vswprintf (wchar_t *resultbuf, size_t length, const wchar_t *format, va_list args) +-{ +- if (wcschr (format, '$') == NULL) +- return system_vswprintf (resultbuf, length, format, args); +- else +- { +- size_t maxlength = length; +- wchar_t *result = libintl_vasnwprintf (resultbuf, &length, format, args); +- if (result != resultbuf) +- { +- if (maxlength > 0) +- { +- size_t pruned_length = +- (length < maxlength ? length : maxlength - 1); +- memcpy (resultbuf, result, pruned_length * sizeof (wchar_t)); +- resultbuf[pruned_length] = 0; +- } +- free (result); +- /* Unlike vsnprintf, which has to return the number of character that +- would have been produced if the resultbuf had been sufficiently +- large, the vswprintf function has to return a negative value if +- the resultbuf was not sufficiently large. */ +- if (length >= maxlength) +- return -1; +- } +- if (length > INT_MAX) +- { +- errno = EOVERFLOW; +- return -1; +- } +- else +- return length; +- } +-} +- +-DLL_EXPORTED +-int +-libintl_swprintf (wchar_t *resultbuf, size_t length, const wchar_t *format, ...) +-{ +- va_list args; +- int retval; +- +- va_start (args, format); +- retval = libintl_vswprintf (resultbuf, length, format, args); +- va_end (args); +- return retval; +-} +- +-#endif +- +-#endif +--- a/intl/ref-add.sin ++++ /dev/null +@@ -1,31 +0,0 @@ +-# Add this package to a list of references stored in a text file. +-# +-# Copyright (C) 2000 Free Software Foundation, Inc. +-# +-# This program is free software; you can redistribute it and/or modify it +-# under the terms of the GNU Library General Public License as published +-# by the Free Software Foundation; either version 2, or (at your option) +-# any later version. +-# +-# This program is distributed in the hope that it will be useful, +-# but WITHOUT ANY WARRANTY; without even the implied warranty of +-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +-# Library General Public License for more details. +-# +-# You should have received a copy of the GNU Library General Public +-# License along with this program; if not, write to the Free Software +-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, +-# USA. +-# +-# Written by Bruno Haible . +-# +-/^# Packages using this file: / { +- s/# Packages using this file:// +- ta +- :a +- s/ @PACKAGE@ / @PACKAGE@ / +- tb +- s/ $/ @PACKAGE@ / +- :b +- s/^/# Packages using this file:/ +-} +--- a/intl/ref-del.sin ++++ /dev/null +@@ -1,26 +0,0 @@ +-# Remove this package from a list of references stored in a text file. +-# +-# Copyright (C) 2000 Free Software Foundation, Inc. +-# +-# This program is free software; you can redistribute it and/or modify it +-# under the terms of the GNU Library General Public License as published +-# by the Free Software Foundation; either version 2, or (at your option) +-# any later version. +-# +-# This program is distributed in the hope that it will be useful, +-# but WITHOUT ANY WARRANTY; without even the implied warranty of +-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +-# Library General Public License for more details. +-# +-# You should have received a copy of the GNU Library General Public +-# License along with this program; if not, write to the Free Software +-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, +-# USA. +-# +-# Written by Bruno Haible . +-# +-/^# Packages using this file: / { +- s/# Packages using this file:// +- s/ @PACKAGE@ / / +- s/^/# Packages using this file:/ +-} +--- a/intl/relocatable.c ++++ /dev/null +@@ -1,468 +0,0 @@ +-/* Provide relocatable packages. +- Copyright (C) 2003-2006 Free Software Foundation, Inc. +- Written by Bruno Haible , 2003. +- +- This program is free software; you can redistribute it and/or modify it +- under the terms of the GNU Library General Public License as published +- by the Free Software Foundation; either version 2, or (at your option) +- any later version. +- +- This program is distributed in the hope that it will be useful, +- but WITHOUT ANY WARRANTY; without even the implied warranty of +- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +- Library General Public License for more details. +- +- You should have received a copy of the GNU Library General Public +- License along with this program; if not, write to the Free Software +- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, +- USA. */ +- +- +-/* Tell glibc's to provide a prototype for getline(). +- This must come before because may include +- , and once has been included, it's too late. */ +-#ifndef _GNU_SOURCE +-# define _GNU_SOURCE 1 +-#endif +- +-#include +- +-/* Specification. */ +-#include "relocatable.h" +- +-#if ENABLE_RELOCATABLE +- +-#include +-#include +-#include +-#include +- +-#ifdef NO_XMALLOC +-# define xmalloc malloc +-#else +-# include "xalloc.h" +-#endif +- +-#if defined _WIN32 || defined __WIN32__ || defined __CYGWIN__ +-# define WIN32_LEAN_AND_MEAN +-# include +-#endif +- +-#if DEPENDS_ON_LIBCHARSET +-# include +-#endif +-#if DEPENDS_ON_LIBICONV && HAVE_ICONV +-# include +-#endif +-#if DEPENDS_ON_LIBINTL && ENABLE_NLS +-# include +-#endif +- +-/* Faked cheap 'bool'. */ +-#undef bool +-#undef false +-#undef true +-#define bool int +-#define false 0 +-#define true 1 +- +-/* Pathname support. +- ISSLASH(C) tests whether C is a directory separator character. +- IS_PATH_WITH_DIR(P) tests whether P contains a directory specification. +- */ +-#if defined _WIN32 || defined __WIN32__ || defined __CYGWIN__ || defined __EMX__ || defined __DJGPP__ +- /* Win32, Cygwin, OS/2, DOS */ +-# define ISSLASH(C) ((C) == '/' || (C) == '\\') +-# define HAS_DEVICE(P) \ +- ((((P)[0] >= 'A' && (P)[0] <= 'Z') || ((P)[0] >= 'a' && (P)[0] <= 'z')) \ +- && (P)[1] == ':') +-# define IS_PATH_WITH_DIR(P) \ +- (strchr (P, '/') != NULL || strchr (P, '\\') != NULL || HAS_DEVICE (P)) +-# define FILE_SYSTEM_PREFIX_LEN(P) (HAS_DEVICE (P) ? 2 : 0) +-#else +- /* Unix */ +-# define ISSLASH(C) ((C) == '/') +-# define IS_PATH_WITH_DIR(P) (strchr (P, '/') != NULL) +-# define FILE_SYSTEM_PREFIX_LEN(P) 0 +-#endif +- +-/* Original installation prefix. */ +-static char *orig_prefix; +-static size_t orig_prefix_len; +-/* Current installation prefix. */ +-static char *curr_prefix; +-static size_t curr_prefix_len; +-/* These prefixes do not end in a slash. Anything that will be concatenated +- to them must start with a slash. */ +- +-/* Sets the original and the current installation prefix of this module. +- Relocation simply replaces a pathname starting with the original prefix +- by the corresponding pathname with the current prefix instead. Both +- prefixes should be directory names without trailing slash (i.e. use "" +- instead of "/"). */ +-static void +-set_this_relocation_prefix (const char *orig_prefix_arg, +- const char *curr_prefix_arg) +-{ +- if (orig_prefix_arg != NULL && curr_prefix_arg != NULL +- /* Optimization: if orig_prefix and curr_prefix are equal, the +- relocation is a nop. */ +- && strcmp (orig_prefix_arg, curr_prefix_arg) != 0) +- { +- /* Duplicate the argument strings. */ +- char *memory; +- +- orig_prefix_len = strlen (orig_prefix_arg); +- curr_prefix_len = strlen (curr_prefix_arg); +- memory = (char *) xmalloc (orig_prefix_len + 1 + curr_prefix_len + 1); +-#ifdef NO_XMALLOC +- if (memory != NULL) +-#endif +- { +- memcpy (memory, orig_prefix_arg, orig_prefix_len + 1); +- orig_prefix = memory; +- memory += orig_prefix_len + 1; +- memcpy (memory, curr_prefix_arg, curr_prefix_len + 1); +- curr_prefix = memory; +- return; +- } +- } +- orig_prefix = NULL; +- curr_prefix = NULL; +- /* Don't worry about wasted memory here - this function is usually only +- called once. */ +-} +- +-/* Sets the original and the current installation prefix of the package. +- Relocation simply replaces a pathname starting with the original prefix +- by the corresponding pathname with the current prefix instead. Both +- prefixes should be directory names without trailing slash (i.e. use "" +- instead of "/"). */ +-void +-set_relocation_prefix (const char *orig_prefix_arg, const char *curr_prefix_arg) +-{ +- set_this_relocation_prefix (orig_prefix_arg, curr_prefix_arg); +- +- /* Now notify all dependent libraries. */ +-#if DEPENDS_ON_LIBCHARSET +- libcharset_set_relocation_prefix (orig_prefix_arg, curr_prefix_arg); +-#endif +-#if DEPENDS_ON_LIBICONV && HAVE_ICONV && _LIBICONV_VERSION >= 0x0109 +- libiconv_set_relocation_prefix (orig_prefix_arg, curr_prefix_arg); +-#endif +-#if DEPENDS_ON_LIBINTL && ENABLE_NLS && defined libintl_set_relocation_prefix +- libintl_set_relocation_prefix (orig_prefix_arg, curr_prefix_arg); +-#endif +-} +- +-#if !defined IN_LIBRARY || (defined PIC && defined INSTALLDIR) +- +-/* Convenience function: +- Computes the current installation prefix, based on the original +- installation prefix, the original installation directory of a particular +- file, and the current pathname of this file. Returns NULL upon failure. */ +-#ifdef IN_LIBRARY +-#define compute_curr_prefix local_compute_curr_prefix +-static +-#endif +-const char * +-compute_curr_prefix (const char *orig_installprefix, +- const char *orig_installdir, +- const char *curr_pathname) +-{ +- const char *curr_installdir; +- const char *rel_installdir; +- +- if (curr_pathname == NULL) +- return NULL; +- +- /* Determine the relative installation directory, relative to the prefix. +- This is simply the difference between orig_installprefix and +- orig_installdir. */ +- if (strncmp (orig_installprefix, orig_installdir, strlen (orig_installprefix)) +- != 0) +- /* Shouldn't happen - nothing should be installed outside $(prefix). */ +- return NULL; +- rel_installdir = orig_installdir + strlen (orig_installprefix); +- +- /* Determine the current installation directory. */ +- { +- const char *p_base = curr_pathname + FILE_SYSTEM_PREFIX_LEN (curr_pathname); +- const char *p = curr_pathname + strlen (curr_pathname); +- char *q; +- +- while (p > p_base) +- { +- p--; +- if (ISSLASH (*p)) +- break; +- } +- +- q = (char *) xmalloc (p - curr_pathname + 1); +-#ifdef NO_XMALLOC +- if (q == NULL) +- return NULL; +-#endif +- memcpy (q, curr_pathname, p - curr_pathname); +- q[p - curr_pathname] = '\0'; +- curr_installdir = q; +- } +- +- /* Compute the current installation prefix by removing the trailing +- rel_installdir from it. */ +- { +- const char *rp = rel_installdir + strlen (rel_installdir); +- const char *cp = curr_installdir + strlen (curr_installdir); +- const char *cp_base = +- curr_installdir + FILE_SYSTEM_PREFIX_LEN (curr_installdir); +- +- while (rp > rel_installdir && cp > cp_base) +- { +- bool same = false; +- const char *rpi = rp; +- const char *cpi = cp; +- +- while (rpi > rel_installdir && cpi > cp_base) +- { +- rpi--; +- cpi--; +- if (ISSLASH (*rpi) || ISSLASH (*cpi)) +- { +- if (ISSLASH (*rpi) && ISSLASH (*cpi)) +- same = true; +- break; +- } +- /* Do case-insensitive comparison if the filesystem is always or +- often case-insensitive. It's better to accept the comparison +- if the difference is only in case, rather than to fail. */ +-#if defined _WIN32 || defined __WIN32__ || defined __CYGWIN__ || defined __EMX__ || defined __DJGPP__ +- /* Win32, Cygwin, OS/2, DOS - case insignificant filesystem */ +- if ((*rpi >= 'a' && *rpi <= 'z' ? *rpi - 'a' + 'A' : *rpi) +- != (*cpi >= 'a' && *cpi <= 'z' ? *cpi - 'a' + 'A' : *cpi)) +- break; +-#else +- if (*rpi != *cpi) +- break; +-#endif +- } +- if (!same) +- break; +- /* The last pathname component was the same. opi and cpi now point +- to the slash before it. */ +- rp = rpi; +- cp = cpi; +- } +- +- if (rp > rel_installdir) +- /* Unexpected: The curr_installdir does not end with rel_installdir. */ +- return NULL; +- +- { +- size_t curr_prefix_len = cp - curr_installdir; +- char *curr_prefix; +- +- curr_prefix = (char *) xmalloc (curr_prefix_len + 1); +-#ifdef NO_XMALLOC +- if (curr_prefix == NULL) +- return NULL; +-#endif +- memcpy (curr_prefix, curr_installdir, curr_prefix_len); +- curr_prefix[curr_prefix_len] = '\0'; +- +- return curr_prefix; +- } +- } +-} +- +-#endif /* !IN_LIBRARY || PIC */ +- +-#if defined PIC && defined INSTALLDIR +- +-/* Full pathname of shared library, or NULL. */ +-static char *shared_library_fullname; +- +-#if defined _WIN32 || defined __WIN32__ || defined __CYGWIN__ +- +-/* Determine the full pathname of the shared library when it is loaded. */ +- +-BOOL WINAPI +-DllMain (HINSTANCE module_handle, DWORD event, LPVOID reserved) +-{ +- (void) reserved; +- +- if (event == DLL_PROCESS_ATTACH) +- { +- /* The DLL is being loaded into an application's address range. */ +- static char location[MAX_PATH]; +- +- if (!GetModuleFileName (module_handle, location, sizeof (location))) +- /* Shouldn't happen. */ +- return FALSE; +- +- if (!IS_PATH_WITH_DIR (location)) +- /* Shouldn't happen. */ +- return FALSE; +- +- { +-#if defined __CYGWIN__ +- /* On Cygwin, we need to convert paths coming from Win32 system calls +- to the Unix-like slashified notation. */ +- static char location_as_posix_path[2 * MAX_PATH]; +- /* There's no error return defined for cygwin_conv_to_posix_path. +- See cygwin-api/func-cygwin-conv-to-posix-path.html. +- Does it overflow the buffer of expected size MAX_PATH or does it +- truncate the path? I don't know. Let's catch both. */ +- cygwin_conv_to_posix_path (location, location_as_posix_path); +- location_as_posix_path[MAX_PATH - 1] = '\0'; +- if (strlen (location_as_posix_path) >= MAX_PATH - 1) +- /* A sign of buffer overflow or path truncation. */ +- return FALSE; +- shared_library_fullname = strdup (location_as_posix_path); +-#else +- shared_library_fullname = strdup (location); +-#endif +- } +- } +- +- return TRUE; +-} +- +-#else /* Unix except Cygwin */ +- +-static void +-find_shared_library_fullname () +-{ +-#if defined __linux__ && __GLIBC__ >= 2 +- /* Linux has /proc/self/maps. glibc 2 has the getline() function. */ +- FILE *fp; +- +- /* Open the current process' maps file. It describes one VMA per line. */ +- fp = fopen ("/proc/self/maps", "r"); +- if (fp) +- { +- unsigned long address = (unsigned long) &find_shared_library_fullname; +- for (;;) +- { +- unsigned long start, end; +- int c; +- +- if (fscanf (fp, "%lx-%lx", &start, &end) != 2) +- break; +- if (address >= start && address <= end - 1) +- { +- /* Found it. Now see if this line contains a filename. */ +- while (c = getc (fp), c != EOF && c != '\n' && c != '/') +- continue; +- if (c == '/') +- { +- size_t size; +- int len; +- +- ungetc (c, fp); +- shared_library_fullname = NULL; size = 0; +- len = getline (&shared_library_fullname, &size, fp); +- if (len >= 0) +- { +- /* Success: filled shared_library_fullname. */ +- if (len > 0 && shared_library_fullname[len - 1] == '\n') +- shared_library_fullname[len - 1] = '\0'; +- } +- } +- break; +- } +- while (c = getc (fp), c != EOF && c != '\n') +- continue; +- } +- fclose (fp); +- } +-#endif +-} +- +-#endif /* (WIN32 or Cygwin) / (Unix except Cygwin) */ +- +-/* Return the full pathname of the current shared library. +- Return NULL if unknown. +- Guaranteed to work only on Linux, Cygwin and Woe32. */ +-static char * +-get_shared_library_fullname () +-{ +-#if !(defined _WIN32 || defined __WIN32__ || defined __CYGWIN__) +- static bool tried_find_shared_library_fullname; +- if (!tried_find_shared_library_fullname) +- { +- find_shared_library_fullname (); +- tried_find_shared_library_fullname = true; +- } +-#endif +- return shared_library_fullname; +-} +- +-#endif /* PIC */ +- +-/* Returns the pathname, relocated according to the current installation +- directory. */ +-const char * +-relocate (const char *pathname) +-{ +-#if defined PIC && defined INSTALLDIR +- static int initialized; +- +- /* Initialization code for a shared library. */ +- if (!initialized) +- { +- /* At this point, orig_prefix and curr_prefix likely have already been +- set through the main program's set_program_name_and_installdir +- function. This is sufficient in the case that the library has +- initially been installed in the same orig_prefix. But we can do +- better, to also cover the cases that 1. it has been installed +- in a different prefix before being moved to orig_prefix and (later) +- to curr_prefix, 2. unlike the program, it has not moved away from +- orig_prefix. */ +- const char *orig_installprefix = INSTALLPREFIX; +- const char *orig_installdir = INSTALLDIR; +- const char *curr_prefix_better; +- +- curr_prefix_better = +- compute_curr_prefix (orig_installprefix, orig_installdir, +- get_shared_library_fullname ()); +- if (curr_prefix_better == NULL) +- curr_prefix_better = curr_prefix; +- +- set_relocation_prefix (orig_installprefix, curr_prefix_better); +- +- initialized = 1; +- } +-#endif +- +- /* Note: It is not necessary to perform case insensitive comparison here, +- even for DOS-like filesystems, because the pathname argument was +- typically created from the same Makefile variable as orig_prefix came +- from. */ +- if (orig_prefix != NULL && curr_prefix != NULL +- && strncmp (pathname, orig_prefix, orig_prefix_len) == 0) +- { +- if (pathname[orig_prefix_len] == '\0') +- /* pathname equals orig_prefix. */ +- return curr_prefix; +- if (ISSLASH (pathname[orig_prefix_len])) +- { +- /* pathname starts with orig_prefix. */ +- const char *pathname_tail = &pathname[orig_prefix_len]; +- char *result = +- (char *) xmalloc (curr_prefix_len + strlen (pathname_tail) + 1); +- +-#ifdef NO_XMALLOC +- if (result != NULL) +-#endif +- { +- memcpy (result, curr_prefix, curr_prefix_len); +- strcpy (result + curr_prefix_len, pathname_tail); +- return result; +- } +- } +- } +- /* Nothing to relocate. */ +- return pathname; +-} +- +-#endif +--- a/intl/relocatable.h ++++ /dev/null +@@ -1,79 +0,0 @@ +-/* Provide relocatable packages. +- Copyright (C) 2003, 2005 Free Software Foundation, Inc. +- Written by Bruno Haible , 2003. +- +- This program is free software; you can redistribute it and/or modify it +- under the terms of the GNU Library General Public License as published +- by the Free Software Foundation; either version 2, or (at your option) +- any later version. +- +- This program is distributed in the hope that it will be useful, +- but WITHOUT ANY WARRANTY; without even the implied warranty of +- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +- Library General Public License for more details. +- +- You should have received a copy of the GNU Library General Public +- License along with this program; if not, write to the Free Software +- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, +- USA. */ +- +-#ifndef _RELOCATABLE_H +-#define _RELOCATABLE_H +- +-#ifdef __cplusplus +-extern "C" { +-#endif +- +- +-/* This can be enabled through the configure --enable-relocatable option. */ +-#if ENABLE_RELOCATABLE +- +-/* When building a DLL, we must export some functions. Note that because +- this is a private .h file, we don't need to use __declspec(dllimport) +- in any case. */ +-#if HAVE_VISIBILITY && BUILDING_DLL +-# define RELOCATABLE_DLL_EXPORTED __attribute__((__visibility__("default"))) +-#elif defined _MSC_VER && BUILDING_DLL +-# define RELOCATABLE_DLL_EXPORTED __declspec(dllexport) +-#else +-# define RELOCATABLE_DLL_EXPORTED +-#endif +- +-/* Sets the original and the current installation prefix of the package. +- Relocation simply replaces a pathname starting with the original prefix +- by the corresponding pathname with the current prefix instead. Both +- prefixes should be directory names without trailing slash (i.e. use "" +- instead of "/"). */ +-extern RELOCATABLE_DLL_EXPORTED void +- set_relocation_prefix (const char *orig_prefix, +- const char *curr_prefix); +- +-/* Returns the pathname, relocated according to the current installation +- directory. */ +-extern const char * relocate (const char *pathname); +- +-/* Memory management: relocate() leaks memory, because it has to construct +- a fresh pathname. If this is a problem because your program calls +- relocate() frequently, think about caching the result. */ +- +-/* Convenience function: +- Computes the current installation prefix, based on the original +- installation prefix, the original installation directory of a particular +- file, and the current pathname of this file. Returns NULL upon failure. */ +-extern const char * compute_curr_prefix (const char *orig_installprefix, +- const char *orig_installdir, +- const char *curr_pathname); +- +-#else +- +-/* By default, we use the hardwired pathnames. */ +-#define relocate(pathname) (pathname) +- +-#endif +- +- +-#ifdef __cplusplus +-} +-#endif +- +-#endif /* _RELOCATABLE_H */ +--- a/intl/textdomain.c ++++ /dev/null +@@ -1,127 +0,0 @@ +-/* Implementation of the textdomain(3) function. +- Copyright (C) 1995-1998, 2000-2003, 2005-2006 Free Software Foundation, Inc. +- +- This program is free software; you can redistribute it and/or modify it +- under the terms of the GNU Library General Public License as published +- by the Free Software Foundation; either version 2, or (at your option) +- any later version. +- +- This program is distributed in the hope that it will be useful, +- but WITHOUT ANY WARRANTY; without even the implied warranty of +- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +- Library General Public License for more details. +- +- You should have received a copy of the GNU Library General Public +- License along with this program; if not, write to the Free Software +- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, +- USA. */ +- +-#ifdef HAVE_CONFIG_H +-# include +-#endif +- +-#include +-#include +- +-#include "gettextP.h" +-#ifdef _LIBC +-# include +-#else +-# include "libgnuintl.h" +-#endif +- +-/* Handle multi-threaded applications. */ +-#ifdef _LIBC +-# include +-# define gl_rwlock_define __libc_rwlock_define +-# define gl_rwlock_wrlock __libc_rwlock_wrlock +-# define gl_rwlock_unlock __libc_rwlock_unlock +-#else +-# include "lock.h" +-#endif +- +-/* @@ end of prolog @@ */ +- +- +-/* Names for the libintl functions are a problem. They must not clash +- with existing names and they should follow ANSI C. But this source +- code is also used in GNU C Library where the names have a __ +- prefix. So we have to make a difference here. */ +-#ifdef _LIBC +-# define TEXTDOMAIN __textdomain +-# ifndef strdup +-# define strdup(str) __strdup (str) +-# endif +-#else +-# define TEXTDOMAIN libintl_textdomain +-#endif +- +-/* Lock variable to protect the global data in the gettext implementation. */ +-gl_rwlock_define (extern, _nl_state_lock attribute_hidden) +- +-/* Set the current default message catalog to DOMAINNAME. +- If DOMAINNAME is null, return the current default. +- If DOMAINNAME is "", reset to the default of "messages". */ +-char * +-TEXTDOMAIN (const char *domainname) +-{ +- char *new_domain; +- char *old_domain; +- +- /* A NULL pointer requests the current setting. */ +- if (domainname == NULL) +- return (char *) _nl_current_default_domain; +- +- gl_rwlock_wrlock (_nl_state_lock); +- +- old_domain = (char *) _nl_current_default_domain; +- +- /* If domain name is the null string set to default domain "messages". */ +- if (domainname[0] == '\0' +- || strcmp (domainname, _nl_default_default_domain) == 0) +- { +- _nl_current_default_domain = _nl_default_default_domain; +- new_domain = (char *) _nl_current_default_domain; +- } +- else if (strcmp (domainname, old_domain) == 0) +- /* This can happen and people will use it to signal that some +- environment variable changed. */ +- new_domain = old_domain; +- else +- { +- /* If the following malloc fails `_nl_current_default_domain' +- will be NULL. This value will be returned and so signals we +- are out of core. */ +-#if defined _LIBC || defined HAVE_STRDUP +- new_domain = strdup (domainname); +-#else +- size_t len = strlen (domainname) + 1; +- new_domain = (char *) malloc (len); +- if (new_domain != NULL) +- memcpy (new_domain, domainname, len); +-#endif +- +- if (new_domain != NULL) +- _nl_current_default_domain = new_domain; +- } +- +- /* We use this possibility to signal a change of the loaded catalogs +- since this is most likely the case and there is no other easy we +- to do it. Do it only when the call was successful. */ +- if (new_domain != NULL) +- { +- ++_nl_msg_cat_cntr; +- +- if (old_domain != new_domain && old_domain != _nl_default_default_domain) +- free (old_domain); +- } +- +- gl_rwlock_unlock (_nl_state_lock); +- +- return new_domain; +-} +- +-#ifdef _LIBC +-/* Alias for function name in GNU C Library. */ +-weak_alias (__textdomain, textdomain); +-#endif +--- a/intl/tsearch.c ++++ /dev/null +@@ -1,684 +0,0 @@ +-/* Copyright (C) 1995, 1996, 1997, 2000, 2006 Free Software Foundation, Inc. +- Contributed by Bernd Schmidt , 1997. +- +- NOTE: The canonical source of this file is maintained with the GNU C +- Library. Bugs can be reported to bug-glibc@gnu.org. +- +- This program is free software; you can redistribute it and/or modify it +- under the terms of the GNU Library General Public License as published +- by the Free Software Foundation; either version 2, or (at your option) +- any later version. +- +- This program is distributed in the hope that it will be useful, +- but WITHOUT ANY WARRANTY; without even the implied warranty of +- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +- Library General Public License for more details. +- +- You should have received a copy of the GNU Library General Public +- License along with this program; if not, write to the Free Software +- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, +- USA. */ +- +-/* Tree search for red/black trees. +- The algorithm for adding nodes is taken from one of the many "Algorithms" +- books by Robert Sedgewick, although the implementation differs. +- The algorithm for deleting nodes can probably be found in a book named +- "Introduction to Algorithms" by Cormen/Leiserson/Rivest. At least that's +- the book that my professor took most algorithms from during the "Data +- Structures" course... +- +- Totally public domain. */ +- +-/* Red/black trees are binary trees in which the edges are colored either red +- or black. They have the following properties: +- 1. The number of black edges on every path from the root to a leaf is +- constant. +- 2. No two red edges are adjacent. +- Therefore there is an upper bound on the length of every path, it's +- O(log n) where n is the number of nodes in the tree. No path can be longer +- than 1+2*P where P is the length of the shortest path in the tree. +- Useful for the implementation: +- 3. If one of the children of a node is NULL, then the other one is red +- (if it exists). +- +- In the implementation, not the edges are colored, but the nodes. The color +- interpreted as the color of the edge leading to this node. The color is +- meaningless for the root node, but we color the root node black for +- convenience. All added nodes are red initially. +- +- Adding to a red/black tree is rather easy. The right place is searched +- with a usual binary tree search. Additionally, whenever a node N is +- reached that has two red successors, the successors are colored black and +- the node itself colored red. This moves red edges up the tree where they +- pose less of a problem once we get to really insert the new node. Changing +- N's color to red may violate rule 2, however, so rotations may become +- necessary to restore the invariants. Adding a new red leaf may violate +- the same rule, so afterwards an additional check is run and the tree +- possibly rotated. +- +- Deleting is hairy. There are mainly two nodes involved: the node to be +- deleted (n1), and another node that is to be unchained from the tree (n2). +- If n1 has a successor (the node with a smallest key that is larger than +- n1), then the successor becomes n2 and its contents are copied into n1, +- otherwise n1 becomes n2. +- Unchaining a node may violate rule 1: if n2 is black, one subtree is +- missing one black edge afterwards. The algorithm must try to move this +- error upwards towards the root, so that the subtree that does not have +- enough black edges becomes the whole tree. Once that happens, the error +- has disappeared. It may not be necessary to go all the way up, since it +- is possible that rotations and recoloring can fix the error before that. +- +- Although the deletion algorithm must walk upwards through the tree, we +- do not store parent pointers in the nodes. Instead, delete allocates a +- small array of parent pointers and fills it while descending the tree. +- Since we know that the length of a path is O(log n), where n is the number +- of nodes, this is likely to use less memory. */ +- +-/* Tree rotations look like this: +- A C +- / \ / \ +- B C A G +- / \ / \ --> / \ +- D E F G B F +- / \ +- D E +- +- In this case, A has been rotated left. This preserves the ordering of the +- binary tree. */ +- +-#include +- +-/* Specification. */ +-#ifdef IN_LIBINTL +-# include "tsearch.h" +-#else +-# include +-#endif +- +-#include +- +-typedef int (*__compar_fn_t) (const void *, const void *); +-typedef void (*__action_fn_t) (const void *, VISIT, int); +- +-#ifndef weak_alias +-# define __tsearch tsearch +-# define __tfind tfind +-# define __tdelete tdelete +-# define __twalk twalk +-#endif +- +-#ifndef internal_function +-/* Inside GNU libc we mark some function in a special way. In other +- environments simply ignore the marking. */ +-# define internal_function +-#endif +- +-typedef struct node_t +-{ +- /* Callers expect this to be the first element in the structure - do not +- move! */ +- const void *key; +- struct node_t *left; +- struct node_t *right; +- unsigned int red:1; +-} *node; +-typedef const struct node_t *const_node; +- +-#undef DEBUGGING +- +-#ifdef DEBUGGING +- +-/* Routines to check tree invariants. */ +- +-#include +- +-#define CHECK_TREE(a) check_tree(a) +- +-static void +-check_tree_recurse (node p, int d_sofar, int d_total) +-{ +- if (p == NULL) +- { +- assert (d_sofar == d_total); +- return; +- } +- +- check_tree_recurse (p->left, d_sofar + (p->left && !p->left->red), d_total); +- check_tree_recurse (p->right, d_sofar + (p->right && !p->right->red), d_total); +- if (p->left) +- assert (!(p->left->red && p->red)); +- if (p->right) +- assert (!(p->right->red && p->red)); +-} +- +-static void +-check_tree (node root) +-{ +- int cnt = 0; +- node p; +- if (root == NULL) +- return; +- root->red = 0; +- for(p = root->left; p; p = p->left) +- cnt += !p->red; +- check_tree_recurse (root, 0, cnt); +-} +- +- +-#else +- +-#define CHECK_TREE(a) +- +-#endif +- +-/* Possibly "split" a node with two red successors, and/or fix up two red +- edges in a row. ROOTP is a pointer to the lowest node we visited, PARENTP +- and GPARENTP pointers to its parent/grandparent. P_R and GP_R contain the +- comparison values that determined which way was taken in the tree to reach +- ROOTP. MODE is 1 if we need not do the split, but must check for two red +- edges between GPARENTP and ROOTP. */ +-static void +-maybe_split_for_insert (node *rootp, node *parentp, node *gparentp, +- int p_r, int gp_r, int mode) +-{ +- node root = *rootp; +- node *rp, *lp; +- rp = &(*rootp)->right; +- lp = &(*rootp)->left; +- +- /* See if we have to split this node (both successors red). */ +- if (mode == 1 +- || ((*rp) != NULL && (*lp) != NULL && (*rp)->red && (*lp)->red)) +- { +- /* This node becomes red, its successors black. */ +- root->red = 1; +- if (*rp) +- (*rp)->red = 0; +- if (*lp) +- (*lp)->red = 0; +- +- /* If the parent of this node is also red, we have to do +- rotations. */ +- if (parentp != NULL && (*parentp)->red) +- { +- node gp = *gparentp; +- node p = *parentp; +- /* There are two main cases: +- 1. The edge types (left or right) of the two red edges differ. +- 2. Both red edges are of the same type. +- There exist two symmetries of each case, so there is a total of +- 4 cases. */ +- if ((p_r > 0) != (gp_r > 0)) +- { +- /* Put the child at the top of the tree, with its parent +- and grandparent as successors. */ +- p->red = 1; +- gp->red = 1; +- root->red = 0; +- if (p_r < 0) +- { +- /* Child is left of parent. */ +- p->left = *rp; +- *rp = p; +- gp->right = *lp; +- *lp = gp; +- } +- else +- { +- /* Child is right of parent. */ +- p->right = *lp; +- *lp = p; +- gp->left = *rp; +- *rp = gp; +- } +- *gparentp = root; +- } +- else +- { +- *gparentp = *parentp; +- /* Parent becomes the top of the tree, grandparent and +- child are its successors. */ +- p->red = 0; +- gp->red = 1; +- if (p_r < 0) +- { +- /* Left edges. */ +- gp->left = p->right; +- p->right = gp; +- } +- else +- { +- /* Right edges. */ +- gp->right = p->left; +- p->left = gp; +- } +- } +- } +- } +-} +- +-/* Find or insert datum into search tree. +- KEY is the key to be located, ROOTP is the address of tree root, +- COMPAR the ordering function. */ +-void * +-__tsearch (const void *key, void **vrootp, __compar_fn_t compar) +-{ +- node q; +- node *parentp = NULL, *gparentp = NULL; +- node *rootp = (node *) vrootp; +- node *nextp; +- int r = 0, p_r = 0, gp_r = 0; /* No they might not, Mr Compiler. */ +- +- if (rootp == NULL) +- return NULL; +- +- /* This saves some additional tests below. */ +- if (*rootp != NULL) +- (*rootp)->red = 0; +- +- CHECK_TREE (*rootp); +- +- nextp = rootp; +- while (*nextp != NULL) +- { +- node root = *rootp; +- r = (*compar) (key, root->key); +- if (r == 0) +- return root; +- +- maybe_split_for_insert (rootp, parentp, gparentp, p_r, gp_r, 0); +- /* If that did any rotations, parentp and gparentp are now garbage. +- That doesn't matter, because the values they contain are never +- used again in that case. */ +- +- nextp = r < 0 ? &root->left : &root->right; +- if (*nextp == NULL) +- break; +- +- gparentp = parentp; +- parentp = rootp; +- rootp = nextp; +- +- gp_r = p_r; +- p_r = r; +- } +- +- q = (struct node_t *) malloc (sizeof (struct node_t)); +- if (q != NULL) +- { +- *nextp = q; /* link new node to old */ +- q->key = key; /* initialize new node */ +- q->red = 1; +- q->left = q->right = NULL; +- +- if (nextp != rootp) +- /* There may be two red edges in a row now, which we must avoid by +- rotating the tree. */ +- maybe_split_for_insert (nextp, rootp, parentp, r, p_r, 1); +- } +- +- return q; +-} +-#ifdef weak_alias +-weak_alias (__tsearch, tsearch) +-#endif +- +- +-/* Find datum in search tree. +- KEY is the key to be located, ROOTP is the address of tree root, +- COMPAR the ordering function. */ +-void * +-__tfind (key, vrootp, compar) +- const void *key; +- void *const *vrootp; +- __compar_fn_t compar; +-{ +- node *rootp = (node *) vrootp; +- +- if (rootp == NULL) +- return NULL; +- +- CHECK_TREE (*rootp); +- +- while (*rootp != NULL) +- { +- node root = *rootp; +- int r; +- +- r = (*compar) (key, root->key); +- if (r == 0) +- return root; +- +- rootp = r < 0 ? &root->left : &root->right; +- } +- return NULL; +-} +-#ifdef weak_alias +-weak_alias (__tfind, tfind) +-#endif +- +- +-/* Delete node with given key. +- KEY is the key to be deleted, ROOTP is the address of the root of tree, +- COMPAR the comparison function. */ +-void * +-__tdelete (const void *key, void **vrootp, __compar_fn_t compar) +-{ +- node p, q, r, retval; +- int cmp; +- node *rootp = (node *) vrootp; +- node root, unchained; +- /* Stack of nodes so we remember the parents without recursion. It's +- _very_ unlikely that there are paths longer than 40 nodes. The tree +- would need to have around 250.000 nodes. */ +- int stacksize = 100; +- int sp = 0; +- node *nodestack[100]; +- +- if (rootp == NULL) +- return NULL; +- p = *rootp; +- if (p == NULL) +- return NULL; +- +- CHECK_TREE (p); +- +- while ((cmp = (*compar) (key, (*rootp)->key)) != 0) +- { +- if (sp == stacksize) +- abort (); +- +- nodestack[sp++] = rootp; +- p = *rootp; +- rootp = ((cmp < 0) +- ? &(*rootp)->left +- : &(*rootp)->right); +- if (*rootp == NULL) +- return NULL; +- } +- +- /* This is bogus if the node to be deleted is the root... this routine +- really should return an integer with 0 for success, -1 for failure +- and errno = ESRCH or something. */ +- retval = p; +- +- /* We don't unchain the node we want to delete. Instead, we overwrite +- it with its successor and unchain the successor. If there is no +- successor, we really unchain the node to be deleted. */ +- +- root = *rootp; +- +- r = root->right; +- q = root->left; +- +- if (q == NULL || r == NULL) +- unchained = root; +- else +- { +- node *parent = rootp, *up = &root->right; +- for (;;) +- { +- if (sp == stacksize) +- abort (); +- nodestack[sp++] = parent; +- parent = up; +- if ((*up)->left == NULL) +- break; +- up = &(*up)->left; +- } +- unchained = *up; +- } +- +- /* We know that either the left or right successor of UNCHAINED is NULL. +- R becomes the other one, it is chained into the parent of UNCHAINED. */ +- r = unchained->left; +- if (r == NULL) +- r = unchained->right; +- if (sp == 0) +- *rootp = r; +- else +- { +- q = *nodestack[sp-1]; +- if (unchained == q->right) +- q->right = r; +- else +- q->left = r; +- } +- +- if (unchained != root) +- root->key = unchained->key; +- if (!unchained->red) +- { +- /* Now we lost a black edge, which means that the number of black +- edges on every path is no longer constant. We must balance the +- tree. */ +- /* NODESTACK now contains all parents of R. R is likely to be NULL +- in the first iteration. */ +- /* NULL nodes are considered black throughout - this is necessary for +- correctness. */ +- while (sp > 0 && (r == NULL || !r->red)) +- { +- node *pp = nodestack[sp - 1]; +- p = *pp; +- /* Two symmetric cases. */ +- if (r == p->left) +- { +- /* Q is R's brother, P is R's parent. The subtree with root +- R has one black edge less than the subtree with root Q. */ +- q = p->right; +- if (q->red) +- { +- /* If Q is red, we know that P is black. We rotate P left +- so that Q becomes the top node in the tree, with P below +- it. P is colored red, Q is colored black. +- This action does not change the black edge count for any +- leaf in the tree, but we will be able to recognize one +- of the following situations, which all require that Q +- is black. */ +- q->red = 0; +- p->red = 1; +- /* Left rotate p. */ +- p->right = q->left; +- q->left = p; +- *pp = q; +- /* Make sure pp is right if the case below tries to use +- it. */ +- nodestack[sp++] = pp = &q->left; +- q = p->right; +- } +- /* We know that Q can't be NULL here. We also know that Q is +- black. */ +- if ((q->left == NULL || !q->left->red) +- && (q->right == NULL || !q->right->red)) +- { +- /* Q has two black successors. We can simply color Q red. +- The whole subtree with root P is now missing one black +- edge. Note that this action can temporarily make the +- tree invalid (if P is red). But we will exit the loop +- in that case and set P black, which both makes the tree +- valid and also makes the black edge count come out +- right. If P is black, we are at least one step closer +- to the root and we'll try again the next iteration. */ +- q->red = 1; +- r = p; +- } +- else +- { +- /* Q is black, one of Q's successors is red. We can +- repair the tree with one operation and will exit the +- loop afterwards. */ +- if (q->right == NULL || !q->right->red) +- { +- /* The left one is red. We perform the same action as +- in maybe_split_for_insert where two red edges are +- adjacent but point in different directions: +- Q's left successor (let's call it Q2) becomes the +- top of the subtree we are looking at, its parent (Q) +- and grandparent (P) become its successors. The former +- successors of Q2 are placed below P and Q. +- P becomes black, and Q2 gets the color that P had. +- This changes the black edge count only for node R and +- its successors. */ +- node q2 = q->left; +- q2->red = p->red; +- p->right = q2->left; +- q->left = q2->right; +- q2->right = q; +- q2->left = p; +- *pp = q2; +- p->red = 0; +- } +- else +- { +- /* It's the right one. Rotate P left. P becomes black, +- and Q gets the color that P had. Q's right successor +- also becomes black. This changes the black edge +- count only for node R and its successors. */ +- q->red = p->red; +- p->red = 0; +- +- q->right->red = 0; +- +- /* left rotate p */ +- p->right = q->left; +- q->left = p; +- *pp = q; +- } +- +- /* We're done. */ +- sp = 1; +- r = NULL; +- } +- } +- else +- { +- /* Comments: see above. */ +- q = p->left; +- if (q->red) +- { +- q->red = 0; +- p->red = 1; +- p->left = q->right; +- q->right = p; +- *pp = q; +- nodestack[sp++] = pp = &q->right; +- q = p->left; +- } +- if ((q->right == NULL || !q->right->red) +- && (q->left == NULL || !q->left->red)) +- { +- q->red = 1; +- r = p; +- } +- else +- { +- if (q->left == NULL || !q->left->red) +- { +- node q2 = q->right; +- q2->red = p->red; +- p->left = q2->right; +- q->right = q2->left; +- q2->left = q; +- q2->right = p; +- *pp = q2; +- p->red = 0; +- } +- else +- { +- q->red = p->red; +- p->red = 0; +- q->left->red = 0; +- p->left = q->right; +- q->right = p; +- *pp = q; +- } +- sp = 1; +- r = NULL; +- } +- } +- --sp; +- } +- if (r != NULL) +- r->red = 0; +- } +- +- free (unchained); +- return retval; +-} +-#ifdef weak_alias +-weak_alias (__tdelete, tdelete) +-#endif +- +- +-/* Walk the nodes of a tree. +- ROOT is the root of the tree to be walked, ACTION the function to be +- called at each node. LEVEL is the level of ROOT in the whole tree. */ +-static void +-internal_function +-trecurse (const void *vroot, __action_fn_t action, int level) +-{ +- const_node root = (const_node) vroot; +- +- if (root->left == NULL && root->right == NULL) +- (*action) (root, leaf, level); +- else +- { +- (*action) (root, preorder, level); +- if (root->left != NULL) +- trecurse (root->left, action, level + 1); +- (*action) (root, postorder, level); +- if (root->right != NULL) +- trecurse (root->right, action, level + 1); +- (*action) (root, endorder, level); +- } +-} +- +- +-/* Walk the nodes of a tree. +- ROOT is the root of the tree to be walked, ACTION the function to be +- called at each node. */ +-void +-__twalk (const void *vroot, __action_fn_t action) +-{ +- const_node root = (const_node) vroot; +- +- CHECK_TREE (root); +- +- if (root != NULL && action != NULL) +- trecurse (root, action, 0); +-} +-#ifdef weak_alias +-weak_alias (__twalk, twalk) +-#endif +- +- +-#ifdef _LIBC +- +-/* The standardized functions miss an important functionality: the +- tree cannot be removed easily. We provide a function to do this. */ +-static void +-internal_function +-tdestroy_recurse (node root, __free_fn_t freefct) +-{ +- if (root->left != NULL) +- tdestroy_recurse (root->left, freefct); +- if (root->right != NULL) +- tdestroy_recurse (root->right, freefct); +- (*freefct) ((void *) root->key); +- /* Free the node itself. */ +- free (root); +-} +- +-void +-__tdestroy (void *vroot, __free_fn_t freefct) +-{ +- node root = (node) vroot; +- +- CHECK_TREE (root); +- +- if (root != NULL) +- tdestroy_recurse (root, freefct); +-} +-weak_alias (__tdestroy, tdestroy) +- +-#endif /* _LIBC */ +--- a/intl/tsearch.h ++++ /dev/null +@@ -1,83 +0,0 @@ +-/* Binary tree data structure. +- Copyright (C) 2006 Free Software Foundation, Inc. +- +- This program is free software; you can redistribute it and/or modify it +- under the terms of the GNU Library General Public License as published +- by the Free Software Foundation; either version 2, or (at your option) +- any later version. +- +- This program is distributed in the hope that it will be useful, +- but WITHOUT ANY WARRANTY; without even the implied warranty of +- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +- Library General Public License for more details. +- +- You should have received a copy of the GNU Library General Public +- License along with this program; if not, write to the Free Software +- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, +- USA. */ +- +-#ifndef _TSEARCH_H +-#define _TSEARCH_H +- +-#if HAVE_TSEARCH +- +-/* Get tseach(), tfind(), tdelete(), twalk() declarations. */ +-#include +- +-#else +- +-#ifdef __cplusplus +-extern "C" { +-#endif +- +-/* See , +- +- for details. */ +- +-typedef enum +-{ +- preorder, +- postorder, +- endorder, +- leaf +-} +-VISIT; +- +-/* Searches an element in the tree *VROOTP that compares equal to KEY. +- If one is found, it is returned. Otherwise, a new element equal to KEY +- is inserted in the tree and is returned. */ +-extern void * tsearch (const void *key, void **vrootp, +- int (*compar) (const void *, const void *)); +- +-/* Searches an element in the tree *VROOTP that compares equal to KEY. +- If one is found, it is returned. Otherwise, NULL is returned. */ +-extern void * tfind (const void *key, void *const *vrootp, +- int (*compar) (const void *, const void *)); +- +-/* Searches an element in the tree *VROOTP that compares equal to KEY. +- If one is found, it is removed from the tree, and its parent node is +- returned. Otherwise, NULL is returned. */ +-extern void * tdelete (const void *key, void **vrootp, +- int (*compar) (const void *, const void *)); +- +-/* Perform a depth-first, left-to-right traversal of the tree VROOT. +- The ACTION function is called: +- - for non-leaf nodes: 3 times, before the left subtree traversal, +- after the left subtree traversal but before the right subtree traversal, +- and after the right subtree traversal, +- - for leaf nodes: once. +- The arguments passed to ACTION are: +- 1. the node; it can be casted to a 'const void * const *', i.e. into a +- pointer to the key, +- 2. an indicator which visit of the node this is, +- 3. the level of the node in the tree (0 for the root). */ +-extern void twalk (const void *vroot, +- void (*action) (const void *, VISIT, int)); +- +-#ifdef __cplusplus +-} +-#endif +- +-#endif +- +-#endif /* _TSEARCH_H */ +--- a/intl/vasnprintf.c ++++ /dev/null +@@ -1,4677 +0,0 @@ +-/* vsprintf with automatic memory allocation. +- Copyright (C) 1999, 2002-2007 Free Software Foundation, Inc. +- +- This program is free software; you can redistribute it and/or modify it +- under the terms of the GNU Library General Public License as published +- by the Free Software Foundation; either version 2, or (at your option) +- any later version. +- +- This program is distributed in the hope that it will be useful, +- but WITHOUT ANY WARRANTY; without even the implied warranty of +- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +- Library General Public License for more details. +- +- You should have received a copy of the GNU Library General Public +- License along with this program; if not, write to the Free Software +- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, +- USA. */ +- +-/* This file can be parametrized with the following macros: +- VASNPRINTF The name of the function being defined. +- FCHAR_T The element type of the format string. +- DCHAR_T The element type of the destination (result) string. +- FCHAR_T_ONLY_ASCII Set to 1 to enable verification that all characters +- in the format string are ASCII. MUST be set if +- FCHAR_T and DCHAR_T are not the same type. +- DIRECTIVE Structure denoting a format directive. +- Depends on FCHAR_T. +- DIRECTIVES Structure denoting the set of format directives of a +- format string. Depends on FCHAR_T. +- PRINTF_PARSE Function that parses a format string. +- Depends on FCHAR_T. +- DCHAR_CPY memcpy like function for DCHAR_T[] arrays. +- DCHAR_SET memset like function for DCHAR_T[] arrays. +- DCHAR_MBSNLEN mbsnlen like function for DCHAR_T[] arrays. +- SNPRINTF The system's snprintf (or similar) function. +- This may be either snprintf or swprintf. +- TCHAR_T The element type of the argument and result string +- of the said SNPRINTF function. This may be either +- char or wchar_t. The code exploits that +- sizeof (TCHAR_T) | sizeof (DCHAR_T) and +- alignof (TCHAR_T) <= alignof (DCHAR_T). +- DCHAR_IS_TCHAR Set to 1 if DCHAR_T and TCHAR_T are the same type. +- DCHAR_CONV_FROM_ENCODING A function to convert from char[] to DCHAR[]. +- DCHAR_IS_UINT8_T Set to 1 if DCHAR_T is uint8_t. +- DCHAR_IS_UINT16_T Set to 1 if DCHAR_T is uint16_t. +- DCHAR_IS_UINT32_T Set to 1 if DCHAR_T is uint32_t. */ +- +-/* Tell glibc's to provide a prototype for snprintf(). +- This must come before because may include +- , and once has been included, it's too late. */ +-#ifndef _GNU_SOURCE +-# define _GNU_SOURCE 1 +-#endif +- +-#ifndef VASNPRINTF +-# include +-#endif +-#ifndef IN_LIBINTL +-# include +-#endif +- +-/* Specification. */ +-#ifndef VASNPRINTF +-# if WIDE_CHAR_VERSION +-# include "vasnwprintf.h" +-# else +-# include "vasnprintf.h" +-# endif +-#endif +- +-#include /* localeconv() */ +-#include /* snprintf(), sprintf() */ +-#include /* abort(), malloc(), realloc(), free() */ +-#include /* memcpy(), strlen() */ +-#include /* errno */ +-#include /* CHAR_BIT */ +-#include /* DBL_MAX_EXP, LDBL_MAX_EXP */ +-#if HAVE_NL_LANGINFO +-# include +-#endif +-#ifndef VASNPRINTF +-# if WIDE_CHAR_VERSION +-# include "wprintf-parse.h" +-# else +-# include "printf-parse.h" +-# endif +-#endif +- +-/* Checked size_t computations. */ +-#include "xsize.h" +- +-#if (NEED_PRINTF_DOUBLE || NEED_PRINTF_LONG_DOUBLE) && !defined IN_LIBINTL +-# include +-# include "float+.h" +-#endif +- +-#if (NEED_PRINTF_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE) && !defined IN_LIBINTL +-# include +-# include "isnan.h" +-#endif +- +-#if (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_LONG_DOUBLE) && !defined IN_LIBINTL +-# include +-# include "isnanl-nolibm.h" +-# include "fpucw.h" +-#endif +- +-#if (NEED_PRINTF_DIRECTIVE_A || NEED_PRINTF_DOUBLE) && !defined IN_LIBINTL +-# include +-# include "isnan.h" +-# include "printf-frexp.h" +-#endif +- +-#if (NEED_PRINTF_DIRECTIVE_A || NEED_PRINTF_LONG_DOUBLE) && !defined IN_LIBINTL +-# include +-# include "isnanl-nolibm.h" +-# include "printf-frexpl.h" +-# include "fpucw.h" +-#endif +- +-/* Some systems, like OSF/1 4.0 and Woe32, don't have EOVERFLOW. */ +-#ifndef EOVERFLOW +-# define EOVERFLOW E2BIG +-#endif +- +-#if HAVE_WCHAR_T +-# if HAVE_WCSLEN +-# define local_wcslen wcslen +-# else +- /* Solaris 2.5.1 has wcslen() in a separate library libw.so. To avoid +- a dependency towards this library, here is a local substitute. +- Define this substitute only once, even if this file is included +- twice in the same compilation unit. */ +-# ifndef local_wcslen_defined +-# define local_wcslen_defined 1 +-static size_t +-local_wcslen (const wchar_t *s) +-{ +- const wchar_t *ptr; +- +- for (ptr = s; *ptr != (wchar_t) 0; ptr++) +- ; +- return ptr - s; +-} +-# endif +-# endif +-#endif +- +-/* Default parameters. */ +-#ifndef VASNPRINTF +-# if WIDE_CHAR_VERSION +-# define VASNPRINTF vasnwprintf +-# define FCHAR_T wchar_t +-# define DCHAR_T wchar_t +-# define TCHAR_T wchar_t +-# define DCHAR_IS_TCHAR 1 +-# define DIRECTIVE wchar_t_directive +-# define DIRECTIVES wchar_t_directives +-# define PRINTF_PARSE wprintf_parse +-# define DCHAR_CPY wmemcpy +-# else +-# define VASNPRINTF vasnprintf +-# define FCHAR_T char +-# define DCHAR_T char +-# define TCHAR_T char +-# define DCHAR_IS_TCHAR 1 +-# define DIRECTIVE char_directive +-# define DIRECTIVES char_directives +-# define PRINTF_PARSE printf_parse +-# define DCHAR_CPY memcpy +-# endif +-#endif +-#if WIDE_CHAR_VERSION +- /* TCHAR_T is wchar_t. */ +-# define USE_SNPRINTF 1 +-# if HAVE_DECL__SNWPRINTF +- /* On Windows, the function swprintf() has a different signature than +- on Unix; we use the _snwprintf() function instead. */ +-# define SNPRINTF _snwprintf +-# else +- /* Unix. */ +-# define SNPRINTF swprintf +-# endif +-#else +- /* TCHAR_T is char. */ +-# /* Use snprintf if it exists under the name 'snprintf' or '_snprintf'. +- But don't use it on BeOS, since BeOS snprintf produces no output if the +- size argument is >= 0x3000000. */ +-# if (HAVE_DECL__SNPRINTF || HAVE_SNPRINTF) && !defined __BEOS__ +-# define USE_SNPRINTF 1 +-# else +-# define USE_SNPRINTF 0 +-# endif +-# if HAVE_DECL__SNPRINTF +- /* Windows. */ +-# define SNPRINTF _snprintf +-# else +- /* Unix. */ +-# define SNPRINTF snprintf +- /* Here we need to call the native snprintf, not rpl_snprintf. */ +-# undef snprintf +-# endif +-#endif +-/* Here we need to call the native sprintf, not rpl_sprintf. */ +-#undef sprintf +- +-#if (NEED_PRINTF_DIRECTIVE_A || NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE) && !defined IN_LIBINTL +-/* Determine the decimal-point character according to the current locale. */ +-# ifndef decimal_point_char_defined +-# define decimal_point_char_defined 1 +-static char +-decimal_point_char () +-{ +- const char *point; +- /* Determine it in a multithread-safe way. We know nl_langinfo is +- multithread-safe on glibc systems, but is not required to be multithread- +- safe by POSIX. sprintf(), however, is multithread-safe. localeconv() +- is rarely multithread-safe. */ +-# if HAVE_NL_LANGINFO && __GLIBC__ +- point = nl_langinfo (RADIXCHAR); +-# elif 1 +- char pointbuf[5]; +- sprintf (pointbuf, "%#.0f", 1.0); +- point = &pointbuf[1]; +-# else +- point = localeconv () -> decimal_point; +-# endif +- /* The decimal point is always a single byte: either '.' or ','. */ +- return (point[0] != '\0' ? point[0] : '.'); +-} +-# endif +-#endif +- +-#if NEED_PRINTF_INFINITE_DOUBLE && !NEED_PRINTF_DOUBLE && !defined IN_LIBINTL +- +-/* Equivalent to !isfinite(x) || x == 0, but does not require libm. */ +-static int +-is_infinite_or_zero (double x) +-{ +- return isnan (x) || x + x == x; +-} +- +-#endif +- +-#if NEED_PRINTF_INFINITE_LONG_DOUBLE && !NEED_PRINTF_LONG_DOUBLE && !defined IN_LIBINTL +- +-/* Equivalent to !isfinite(x), but does not require libm. */ +-static int +-is_infinitel (long double x) +-{ +- return isnanl (x) || (x + x == x && x != 0.0L); +-} +- +-#endif +- +-#if (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_DOUBLE) && !defined IN_LIBINTL +- +-/* Converting 'long double' to decimal without rare rounding bugs requires +- real bignums. We use the naming conventions of GNU gmp, but vastly simpler +- (and slower) algorithms. */ +- +-typedef unsigned int mp_limb_t; +-# define GMP_LIMB_BITS 32 +-typedef int mp_limb_verify[2 * (sizeof (mp_limb_t) * CHAR_BIT == GMP_LIMB_BITS) - 1]; +- +-typedef unsigned long long mp_twolimb_t; +-# define GMP_TWOLIMB_BITS 64 +-typedef int mp_twolimb_verify[2 * (sizeof (mp_twolimb_t) * CHAR_BIT == GMP_TWOLIMB_BITS) - 1]; +- +-/* Representation of a bignum >= 0. */ +-typedef struct +-{ +- size_t nlimbs; +- mp_limb_t *limbs; /* Bits in little-endian order, allocated with malloc(). */ +-} mpn_t; +- +-/* Compute the product of two bignums >= 0. +- Return the allocated memory in case of success, NULL in case of memory +- allocation failure. */ +-static void * +-multiply (mpn_t src1, mpn_t src2, mpn_t *dest) +-{ +- const mp_limb_t *p1; +- const mp_limb_t *p2; +- size_t len1; +- size_t len2; +- +- if (src1.nlimbs <= src2.nlimbs) +- { +- len1 = src1.nlimbs; +- p1 = src1.limbs; +- len2 = src2.nlimbs; +- p2 = src2.limbs; +- } +- else +- { +- len1 = src2.nlimbs; +- p1 = src2.limbs; +- len2 = src1.nlimbs; +- p2 = src1.limbs; +- } +- /* Now 0 <= len1 <= len2. */ +- if (len1 == 0) +- { +- /* src1 or src2 is zero. */ +- dest->nlimbs = 0; +- dest->limbs = (mp_limb_t *) malloc (1); +- } +- else +- { +- /* Here 1 <= len1 <= len2. */ +- size_t dlen; +- mp_limb_t *dp; +- size_t k, i, j; +- +- dlen = len1 + len2; +- dp = (mp_limb_t *) malloc (dlen * sizeof (mp_limb_t)); +- if (dp == NULL) +- return NULL; +- for (k = len2; k > 0; ) +- dp[--k] = 0; +- for (i = 0; i < len1; i++) +- { +- mp_limb_t digit1 = p1[i]; +- mp_twolimb_t carry = 0; +- for (j = 0; j < len2; j++) +- { +- mp_limb_t digit2 = p2[j]; +- carry += (mp_twolimb_t) digit1 * (mp_twolimb_t) digit2; +- carry += dp[i + j]; +- dp[i + j] = (mp_limb_t) carry; +- carry = carry >> GMP_LIMB_BITS; +- } +- dp[i + len2] = (mp_limb_t) carry; +- } +- /* Normalise. */ +- while (dlen > 0 && dp[dlen - 1] == 0) +- dlen--; +- dest->nlimbs = dlen; +- dest->limbs = dp; +- } +- return dest->limbs; +-} +- +-/* Compute the quotient of a bignum a >= 0 and a bignum b > 0. +- a is written as a = q * b + r with 0 <= r < b. q is the quotient, r +- the remainder. +- Finally, round-to-even is performed: If r > b/2 or if r = b/2 and q is odd, +- q is incremented. +- Return the allocated memory in case of success, NULL in case of memory +- allocation failure. */ +-static void * +-divide (mpn_t a, mpn_t b, mpn_t *q) +-{ +- /* Algorithm: +- First normalise a and b: a=[a[m-1],...,a[0]], b=[b[n-1],...,b[0]] +- with m>=0 and n>0 (in base beta = 2^GMP_LIMB_BITS). +- If m=n=1, perform a single-precision division: +- r:=0, j:=m, +- while j>0 do +- {Here (q[m-1]*beta^(m-1)+...+q[j]*beta^j) * b[0] + r*beta^j = +- = a[m-1]*beta^(m-1)+...+a[j]*beta^j und 0<=r=n>1, perform a multiple-precision division: +- We have a/b < beta^(m-n+1). +- s:=intDsize-1-(hightest bit in b[n-1]), 0<=s=beta/2. +- For j=m-n,...,0: {Here 0 <= r < b*beta^(j+1).} +- Compute q* : +- q* := floor((r[j+n]*beta+r[j+n-1])/b[n-1]). +- In case of overflow (q* >= beta) set q* := beta-1. +- Compute c2 := ((r[j+n]*beta+r[j+n-1]) - q* * b[n-1])*beta + r[j+n-2] +- and c3 := b[n-2] * q*. +- {We have 0 <= c2 < 2*beta^2, even 0 <= c2 < beta^2 if no overflow +- occurred. Furthermore 0 <= c3 < beta^2. +- If there was overflow and +- r[j+n]*beta+r[j+n-1] - q* * b[n-1] >= beta, i.e. c2 >= beta^2, +- the next test can be skipped.} +- While c3 > c2, {Here 0 <= c2 < c3 < beta^2} +- Put q* := q* - 1, c2 := c2 + b[n-1]*beta, c3 := c3 - b[n-2]. +- If q* > 0: +- Put r := r - b * q* * beta^j. In detail: +- [r[n+j],...,r[j]] := [r[n+j],...,r[j]] - q* * [b[n-1],...,b[0]]. +- hence: u:=0, for i:=0 to n-1 do +- u := u + q* * b[i], +- r[j+i]:=r[j+i]-(u mod beta) (+ beta, if carry), +- u:=u div beta (+ 1, if carry in subtraction) +- r[n+j]:=r[n+j]-u. +- {Since always u = (q* * [b[i-1],...,b[0]] div beta^i) + 1 +- < q* + 1 <= beta, +- the carry u does not overflow.} +- If a negative carry occurs, put q* := q* - 1 +- and [r[n+j],...,r[j]] := [r[n+j],...,r[j]] + [0,b[n-1],...,b[0]]. +- Set q[j] := q*. +- Normalise [q[m-n],..,q[0]]; this yields the quotient q. +- Shift [r[n-1],...,r[0]] right by s bits and normalise; this yields the +- rest r. +- The room for q[j] can be allocated at the memory location of r[n+j]. +- Finally, round-to-even: +- Shift r left by 1 bit. +- If r > b or if r = b and q[0] is odd, q := q+1. +- */ +- const mp_limb_t *a_ptr = a.limbs; +- size_t a_len = a.nlimbs; +- const mp_limb_t *b_ptr = b.limbs; +- size_t b_len = b.nlimbs; +- mp_limb_t *roomptr; +- mp_limb_t *tmp_roomptr = NULL; +- mp_limb_t *q_ptr; +- size_t q_len; +- mp_limb_t *r_ptr; +- size_t r_len; +- +- /* Allocate room for a_len+2 digits. +- (Need a_len+1 digits for the real division and 1 more digit for the +- final rounding of q.) */ +- roomptr = (mp_limb_t *) malloc ((a_len + 2) * sizeof (mp_limb_t)); +- if (roomptr == NULL) +- return NULL; +- +- /* Normalise a. */ +- while (a_len > 0 && a_ptr[a_len - 1] == 0) +- a_len--; +- +- /* Normalise b. */ +- for (;;) +- { +- if (b_len == 0) +- /* Division by zero. */ +- abort (); +- if (b_ptr[b_len - 1] == 0) +- b_len--; +- else +- break; +- } +- +- /* Here m = a_len >= 0 and n = b_len > 0. */ +- +- if (a_len < b_len) +- { +- /* m beta^(m-2) <= a/b < beta^m */ +- r_ptr = roomptr; +- q_ptr = roomptr + 1; +- { +- mp_limb_t den = b_ptr[0]; +- mp_limb_t remainder = 0; +- const mp_limb_t *sourceptr = a_ptr + a_len; +- mp_limb_t *destptr = q_ptr + a_len; +- size_t count; +- for (count = a_len; count > 0; count--) +- { +- mp_twolimb_t num = +- ((mp_twolimb_t) remainder << GMP_LIMB_BITS) | *--sourceptr; +- *--destptr = num / den; +- remainder = num % den; +- } +- /* Normalise and store r. */ +- if (remainder > 0) +- { +- r_ptr[0] = remainder; +- r_len = 1; +- } +- else +- r_len = 0; +- /* Normalise q. */ +- q_len = a_len; +- if (q_ptr[q_len - 1] == 0) +- q_len--; +- } +- } +- else +- { +- /* n>1: multiple precision division. +- beta^(m-1) <= a < beta^m, beta^(n-1) <= b < beta^n ==> +- beta^(m-n-1) <= a/b < beta^(m-n+1). */ +- /* Determine s. */ +- size_t s; +- { +- mp_limb_t msd = b_ptr[b_len - 1]; /* = b[n-1], > 0 */ +- s = 31; +- if (msd >= 0x10000) +- { +- msd = msd >> 16; +- s -= 16; +- } +- if (msd >= 0x100) +- { +- msd = msd >> 8; +- s -= 8; +- } +- if (msd >= 0x10) +- { +- msd = msd >> 4; +- s -= 4; +- } +- if (msd >= 0x4) +- { +- msd = msd >> 2; +- s -= 2; +- } +- if (msd >= 0x2) +- { +- msd = msd >> 1; +- s -= 1; +- } +- } +- /* 0 <= s < GMP_LIMB_BITS. +- Copy b, shifting it left by s bits. */ +- if (s > 0) +- { +- tmp_roomptr = (mp_limb_t *) malloc (b_len * sizeof (mp_limb_t)); +- if (tmp_roomptr == NULL) +- { +- free (roomptr); +- return NULL; +- } +- { +- const mp_limb_t *sourceptr = b_ptr; +- mp_limb_t *destptr = tmp_roomptr; +- mp_twolimb_t accu = 0; +- size_t count; +- for (count = b_len; count > 0; count--) +- { +- accu += (mp_twolimb_t) *sourceptr++ << s; +- *destptr++ = (mp_limb_t) accu; +- accu = accu >> GMP_LIMB_BITS; +- } +- /* accu must be zero, since that was how s was determined. */ +- if (accu != 0) +- abort (); +- } +- b_ptr = tmp_roomptr; +- } +- /* Copy a, shifting it left by s bits, yields r. +- Memory layout: +- At the beginning: r = roomptr[0..a_len], +- at the end: r = roomptr[0..b_len-1], q = roomptr[b_len..a_len] */ +- r_ptr = roomptr; +- if (s == 0) +- { +- memcpy (r_ptr, a_ptr, a_len * sizeof (mp_limb_t)); +- r_ptr[a_len] = 0; +- } +- else +- { +- const mp_limb_t *sourceptr = a_ptr; +- mp_limb_t *destptr = r_ptr; +- mp_twolimb_t accu = 0; +- size_t count; +- for (count = a_len; count > 0; count--) +- { +- accu += (mp_twolimb_t) *sourceptr++ << s; +- *destptr++ = (mp_limb_t) accu; +- accu = accu >> GMP_LIMB_BITS; +- } +- *destptr++ = (mp_limb_t) accu; +- } +- q_ptr = roomptr + b_len; +- q_len = a_len - b_len + 1; /* q will have m-n+1 limbs */ +- { +- size_t j = a_len - b_len; /* m-n */ +- mp_limb_t b_msd = b_ptr[b_len - 1]; /* b[n-1] */ +- mp_limb_t b_2msd = b_ptr[b_len - 2]; /* b[n-2] */ +- mp_twolimb_t b_msdd = /* b[n-1]*beta+b[n-2] */ +- ((mp_twolimb_t) b_msd << GMP_LIMB_BITS) | b_2msd; +- /* Division loop, traversed m-n+1 times. +- j counts down, b is unchanged, beta/2 <= b[n-1] < beta. */ +- for (;;) +- { +- mp_limb_t q_star; +- mp_limb_t c1; +- if (r_ptr[j + b_len] < b_msd) /* r[j+n] < b[n-1] ? */ +- { +- /* Divide r[j+n]*beta+r[j+n-1] by b[n-1], no overflow. */ +- mp_twolimb_t num = +- ((mp_twolimb_t) r_ptr[j + b_len] << GMP_LIMB_BITS) +- | r_ptr[j + b_len - 1]; +- q_star = num / b_msd; +- c1 = num % b_msd; +- } +- else +- { +- /* Overflow, hence r[j+n]*beta+r[j+n-1] >= beta*b[n-1]. */ +- q_star = (mp_limb_t)~(mp_limb_t)0; /* q* = beta-1 */ +- /* Test whether r[j+n]*beta+r[j+n-1] - (beta-1)*b[n-1] >= beta +- <==> r[j+n]*beta+r[j+n-1] + b[n-1] >= beta*b[n-1]+beta +- <==> b[n-1] < floor((r[j+n]*beta+r[j+n-1]+b[n-1])/beta) +- {<= beta !}. +- If yes, jump directly to the subtraction loop. +- (Otherwise, r[j+n]*beta+r[j+n-1] - (beta-1)*b[n-1] < beta +- <==> floor((r[j+n]*beta+r[j+n-1]+b[n-1])/beta) = b[n-1] ) */ +- if (r_ptr[j + b_len] > b_msd +- || (c1 = r_ptr[j + b_len - 1] + b_msd) < b_msd) +- /* r[j+n] >= b[n-1]+1 or +- r[j+n] = b[n-1] and the addition r[j+n-1]+b[n-1] gives a +- carry. */ +- goto subtract; +- } +- /* q_star = q*, +- c1 = (r[j+n]*beta+r[j+n-1]) - q* * b[n-1] (>=0, 0, decrease it by +- b[n-1]*beta+b[n-2]. Because of b[n-1]*beta+b[n-2] >= beta^2/2 +- this can happen only twice. */ +- if (c3 > c2) +- { +- q_star = q_star - 1; /* q* := q* - 1 */ +- if (c3 - c2 > b_msdd) +- q_star = q_star - 1; /* q* := q* - 1 */ +- } +- } +- if (q_star > 0) +- subtract: +- { +- /* Subtract r := r - b * q* * beta^j. */ +- mp_limb_t cr; +- { +- const mp_limb_t *sourceptr = b_ptr; +- mp_limb_t *destptr = r_ptr + j; +- mp_twolimb_t carry = 0; +- size_t count; +- for (count = b_len; count > 0; count--) +- { +- /* Here 0 <= carry <= q*. */ +- carry = +- carry +- + (mp_twolimb_t) q_star * (mp_twolimb_t) *sourceptr++ +- + (mp_limb_t) ~(*destptr); +- /* Here 0 <= carry <= beta*q* + beta-1. */ +- *destptr++ = ~(mp_limb_t) carry; +- carry = carry >> GMP_LIMB_BITS; /* <= q* */ +- } +- cr = (mp_limb_t) carry; +- } +- /* Subtract cr from r_ptr[j + b_len], then forget about +- r_ptr[j + b_len]. */ +- if (cr > r_ptr[j + b_len]) +- { +- /* Subtraction gave a carry. */ +- q_star = q_star - 1; /* q* := q* - 1 */ +- /* Add b back. */ +- { +- const mp_limb_t *sourceptr = b_ptr; +- mp_limb_t *destptr = r_ptr + j; +- mp_limb_t carry = 0; +- size_t count; +- for (count = b_len; count > 0; count--) +- { +- mp_limb_t source1 = *sourceptr++; +- mp_limb_t source2 = *destptr; +- *destptr++ = source1 + source2 + carry; +- carry = +- (carry +- ? source1 >= (mp_limb_t) ~source2 +- : source1 > (mp_limb_t) ~source2); +- } +- } +- /* Forget about the carry and about r[j+n]. */ +- } +- } +- /* q* is determined. Store it as q[j]. */ +- q_ptr[j] = q_star; +- if (j == 0) +- break; +- j--; +- } +- } +- r_len = b_len; +- /* Normalise q. */ +- if (q_ptr[q_len - 1] == 0) +- q_len--; +-# if 0 /* Not needed here, since we need r only to compare it with b/2, and +- b is shifted left by s bits. */ +- /* Shift r right by s bits. */ +- if (s > 0) +- { +- mp_limb_t ptr = r_ptr + r_len; +- mp_twolimb_t accu = 0; +- size_t count; +- for (count = r_len; count > 0; count--) +- { +- accu = (mp_twolimb_t) (mp_limb_t) accu << GMP_LIMB_BITS; +- accu += (mp_twolimb_t) *--ptr << (GMP_LIMB_BITS - s); +- *ptr = (mp_limb_t) (accu >> GMP_LIMB_BITS); +- } +- } +-# endif +- /* Normalise r. */ +- while (r_len > 0 && r_ptr[r_len - 1] == 0) +- r_len--; +- } +- /* Compare r << 1 with b. */ +- if (r_len > b_len) +- goto increment_q; +- { +- size_t i; +- for (i = b_len;;) +- { +- mp_limb_t r_i = +- (i <= r_len && i > 0 ? r_ptr[i - 1] >> (GMP_LIMB_BITS - 1) : 0) +- | (i < r_len ? r_ptr[i] << 1 : 0); +- mp_limb_t b_i = (i < b_len ? b_ptr[i] : 0); +- if (r_i > b_i) +- goto increment_q; +- if (r_i < b_i) +- goto keep_q; +- if (i == 0) +- break; +- i--; +- } +- } +- if (q_len > 0 && ((q_ptr[0] & 1) != 0)) +- /* q is odd. */ +- increment_q: +- { +- size_t i; +- for (i = 0; i < q_len; i++) +- if (++(q_ptr[i]) != 0) +- goto keep_q; +- q_ptr[q_len++] = 1; +- } +- keep_q: +- if (tmp_roomptr != NULL) +- free (tmp_roomptr); +- q->limbs = q_ptr; +- q->nlimbs = q_len; +- return roomptr; +-} +- +-/* Convert a bignum a >= 0, multiplied with 10^extra_zeroes, to decimal +- representation. +- Destroys the contents of a. +- Return the allocated memory - containing the decimal digits in low-to-high +- order, terminated with a NUL character - in case of success, NULL in case +- of memory allocation failure. */ +-static char * +-convert_to_decimal (mpn_t a, size_t extra_zeroes) +-{ +- mp_limb_t *a_ptr = a.limbs; +- size_t a_len = a.nlimbs; +- /* 0.03345 is slightly larger than log(2)/(9*log(10)). */ +- size_t c_len = 9 * ((size_t)(a_len * (GMP_LIMB_BITS * 0.03345f)) + 1); +- char *c_ptr = (char *) malloc (xsum (c_len, extra_zeroes)); +- if (c_ptr != NULL) +- { +- char *d_ptr = c_ptr; +- for (; extra_zeroes > 0; extra_zeroes--) +- *d_ptr++ = '0'; +- while (a_len > 0) +- { +- /* Divide a by 10^9, in-place. */ +- mp_limb_t remainder = 0; +- mp_limb_t *ptr = a_ptr + a_len; +- size_t count; +- for (count = a_len; count > 0; count--) +- { +- mp_twolimb_t num = +- ((mp_twolimb_t) remainder << GMP_LIMB_BITS) | *--ptr; +- *ptr = num / 1000000000; +- remainder = num % 1000000000; +- } +- /* Store the remainder as 9 decimal digits. */ +- for (count = 9; count > 0; count--) +- { +- *d_ptr++ = '0' + (remainder % 10); +- remainder = remainder / 10; +- } +- /* Normalize a. */ +- if (a_ptr[a_len - 1] == 0) +- a_len--; +- } +- /* Remove leading zeroes. */ +- while (d_ptr > c_ptr && d_ptr[-1] == '0') +- d_ptr--; +- /* But keep at least one zero. */ +- if (d_ptr == c_ptr) +- *d_ptr++ = '0'; +- /* Terminate the string. */ +- *d_ptr = '\0'; +- } +- return c_ptr; +-} +- +-# if NEED_PRINTF_LONG_DOUBLE +- +-/* Assuming x is finite and >= 0: +- write x as x = 2^e * m, where m is a bignum. +- Return the allocated memory in case of success, NULL in case of memory +- allocation failure. */ +-static void * +-decode_long_double (long double x, int *ep, mpn_t *mp) +-{ +- mpn_t m; +- int exp; +- long double y; +- size_t i; +- +- /* Allocate memory for result. */ +- m.nlimbs = (LDBL_MANT_BIT + GMP_LIMB_BITS - 1) / GMP_LIMB_BITS; +- m.limbs = (mp_limb_t *) malloc (m.nlimbs * sizeof (mp_limb_t)); +- if (m.limbs == NULL) +- return NULL; +- /* Split into exponential part and mantissa. */ +- y = frexpl (x, &exp); +- if (!(y >= 0.0L && y < 1.0L)) +- abort (); +- /* x = 2^exp * y = 2^(exp - LDBL_MANT_BIT) * (y * LDBL_MANT_BIT), and the +- latter is an integer. */ +- /* Convert the mantissa (y * LDBL_MANT_BIT) to a sequence of limbs. +- I'm not sure whether it's safe to cast a 'long double' value between +- 2^31 and 2^32 to 'unsigned int', therefore play safe and cast only +- 'long double' values between 0 and 2^16 (to 'unsigned int' or 'int', +- doesn't matter). */ +-# if (LDBL_MANT_BIT % GMP_LIMB_BITS) != 0 +-# if (LDBL_MANT_BIT % GMP_LIMB_BITS) > GMP_LIMB_BITS / 2 +- { +- mp_limb_t hi, lo; +- y *= (mp_limb_t) 1 << (LDBL_MANT_BIT % (GMP_LIMB_BITS / 2)); +- hi = (int) y; +- y -= hi; +- if (!(y >= 0.0L && y < 1.0L)) +- abort (); +- y *= (mp_limb_t) 1 << (GMP_LIMB_BITS / 2); +- lo = (int) y; +- y -= lo; +- if (!(y >= 0.0L && y < 1.0L)) +- abort (); +- m.limbs[LDBL_MANT_BIT / GMP_LIMB_BITS] = (hi << (GMP_LIMB_BITS / 2)) | lo; +- } +-# else +- { +- mp_limb_t d; +- y *= (mp_limb_t) 1 << (LDBL_MANT_BIT % GMP_LIMB_BITS); +- d = (int) y; +- y -= d; +- if (!(y >= 0.0L && y < 1.0L)) +- abort (); +- m.limbs[LDBL_MANT_BIT / GMP_LIMB_BITS] = d; +- } +-# endif +-# endif +- for (i = LDBL_MANT_BIT / GMP_LIMB_BITS; i > 0; ) +- { +- mp_limb_t hi, lo; +- y *= (mp_limb_t) 1 << (GMP_LIMB_BITS / 2); +- hi = (int) y; +- y -= hi; +- if (!(y >= 0.0L && y < 1.0L)) +- abort (); +- y *= (mp_limb_t) 1 << (GMP_LIMB_BITS / 2); +- lo = (int) y; +- y -= lo; +- if (!(y >= 0.0L && y < 1.0L)) +- abort (); +- m.limbs[--i] = (hi << (GMP_LIMB_BITS / 2)) | lo; +- } +- if (!(y == 0.0L)) +- abort (); +- /* Normalise. */ +- while (m.nlimbs > 0 && m.limbs[m.nlimbs - 1] == 0) +- m.nlimbs--; +- *mp = m; +- *ep = exp - LDBL_MANT_BIT; +- return m.limbs; +-} +- +-# endif +- +-# if NEED_PRINTF_DOUBLE +- +-/* Assuming x is finite and >= 0: +- write x as x = 2^e * m, where m is a bignum. +- Return the allocated memory in case of success, NULL in case of memory +- allocation failure. */ +-static void * +-decode_double (double x, int *ep, mpn_t *mp) +-{ +- mpn_t m; +- int exp; +- double y; +- size_t i; +- +- /* Allocate memory for result. */ +- m.nlimbs = (DBL_MANT_BIT + GMP_LIMB_BITS - 1) / GMP_LIMB_BITS; +- m.limbs = (mp_limb_t *) malloc (m.nlimbs * sizeof (mp_limb_t)); +- if (m.limbs == NULL) +- return NULL; +- /* Split into exponential part and mantissa. */ +- y = frexp (x, &exp); +- if (!(y >= 0.0 && y < 1.0)) +- abort (); +- /* x = 2^exp * y = 2^(exp - DBL_MANT_BIT) * (y * DBL_MANT_BIT), and the +- latter is an integer. */ +- /* Convert the mantissa (y * DBL_MANT_BIT) to a sequence of limbs. +- I'm not sure whether it's safe to cast a 'double' value between +- 2^31 and 2^32 to 'unsigned int', therefore play safe and cast only +- 'double' values between 0 and 2^16 (to 'unsigned int' or 'int', +- doesn't matter). */ +-# if (DBL_MANT_BIT % GMP_LIMB_BITS) != 0 +-# if (DBL_MANT_BIT % GMP_LIMB_BITS) > GMP_LIMB_BITS / 2 +- { +- mp_limb_t hi, lo; +- y *= (mp_limb_t) 1 << (DBL_MANT_BIT % (GMP_LIMB_BITS / 2)); +- hi = (int) y; +- y -= hi; +- if (!(y >= 0.0 && y < 1.0)) +- abort (); +- y *= (mp_limb_t) 1 << (GMP_LIMB_BITS / 2); +- lo = (int) y; +- y -= lo; +- if (!(y >= 0.0 && y < 1.0)) +- abort (); +- m.limbs[DBL_MANT_BIT / GMP_LIMB_BITS] = (hi << (GMP_LIMB_BITS / 2)) | lo; +- } +-# else +- { +- mp_limb_t d; +- y *= (mp_limb_t) 1 << (DBL_MANT_BIT % GMP_LIMB_BITS); +- d = (int) y; +- y -= d; +- if (!(y >= 0.0 && y < 1.0)) +- abort (); +- m.limbs[DBL_MANT_BIT / GMP_LIMB_BITS] = d; +- } +-# endif +-# endif +- for (i = DBL_MANT_BIT / GMP_LIMB_BITS; i > 0; ) +- { +- mp_limb_t hi, lo; +- y *= (mp_limb_t) 1 << (GMP_LIMB_BITS / 2); +- hi = (int) y; +- y -= hi; +- if (!(y >= 0.0 && y < 1.0)) +- abort (); +- y *= (mp_limb_t) 1 << (GMP_LIMB_BITS / 2); +- lo = (int) y; +- y -= lo; +- if (!(y >= 0.0 && y < 1.0)) +- abort (); +- m.limbs[--i] = (hi << (GMP_LIMB_BITS / 2)) | lo; +- } +- if (!(y == 0.0)) +- abort (); +- /* Normalise. */ +- while (m.nlimbs > 0 && m.limbs[m.nlimbs - 1] == 0) +- m.nlimbs--; +- *mp = m; +- *ep = exp - DBL_MANT_BIT; +- return m.limbs; +-} +- +-# endif +- +-/* Assuming x = 2^e * m is finite and >= 0, and n is an integer: +- Returns the decimal representation of round (x * 10^n). +- Return the allocated memory - containing the decimal digits in low-to-high +- order, terminated with a NUL character - in case of success, NULL in case +- of memory allocation failure. */ +-static char * +-scale10_round_decimal_decoded (int e, mpn_t m, void *memory, int n) +-{ +- int s; +- size_t extra_zeroes; +- unsigned int abs_n; +- unsigned int abs_s; +- mp_limb_t *pow5_ptr; +- size_t pow5_len; +- unsigned int s_limbs; +- unsigned int s_bits; +- mpn_t pow5; +- mpn_t z; +- void *z_memory; +- char *digits; +- +- if (memory == NULL) +- return NULL; +- /* x = 2^e * m, hence +- y = round (2^e * 10^n * m) = round (2^(e+n) * 5^n * m) +- = round (2^s * 5^n * m). */ +- s = e + n; +- extra_zeroes = 0; +- /* Factor out a common power of 10 if possible. */ +- if (s > 0 && n > 0) +- { +- extra_zeroes = (s < n ? s : n); +- s -= extra_zeroes; +- n -= extra_zeroes; +- } +- /* Here y = round (2^s * 5^n * m) * 10^extra_zeroes. +- Before converting to decimal, we need to compute +- z = round (2^s * 5^n * m). */ +- /* Compute 5^|n|, possibly shifted by |s| bits if n and s have the same +- sign. 2.322 is slightly larger than log(5)/log(2). */ +- abs_n = (n >= 0 ? n : -n); +- abs_s = (s >= 0 ? s : -s); +- pow5_ptr = (mp_limb_t *) malloc (((int)(abs_n * (2.322f / GMP_LIMB_BITS)) + 1 +- + abs_s / GMP_LIMB_BITS + 1) +- * sizeof (mp_limb_t)); +- if (pow5_ptr == NULL) +- { +- free (memory); +- return NULL; +- } +- /* Initialize with 1. */ +- pow5_ptr[0] = 1; +- pow5_len = 1; +- /* Multiply with 5^|n|. */ +- if (abs_n > 0) +- { +- static mp_limb_t const small_pow5[13 + 1] = +- { +- 1, 5, 25, 125, 625, 3125, 15625, 78125, 390625, 1953125, 9765625, +- 48828125, 244140625, 1220703125 +- }; +- unsigned int n13; +- for (n13 = 0; n13 <= abs_n; n13 += 13) +- { +- mp_limb_t digit1 = small_pow5[n13 + 13 <= abs_n ? 13 : abs_n - n13]; +- size_t j; +- mp_twolimb_t carry = 0; +- for (j = 0; j < pow5_len; j++) +- { +- mp_limb_t digit2 = pow5_ptr[j]; +- carry += (mp_twolimb_t) digit1 * (mp_twolimb_t) digit2; +- pow5_ptr[j] = (mp_limb_t) carry; +- carry = carry >> GMP_LIMB_BITS; +- } +- if (carry > 0) +- pow5_ptr[pow5_len++] = (mp_limb_t) carry; +- } +- } +- s_limbs = abs_s / GMP_LIMB_BITS; +- s_bits = abs_s % GMP_LIMB_BITS; +- if (n >= 0 ? s >= 0 : s <= 0) +- { +- /* Multiply with 2^|s|. */ +- if (s_bits > 0) +- { +- mp_limb_t *ptr = pow5_ptr; +- mp_twolimb_t accu = 0; +- size_t count; +- for (count = pow5_len; count > 0; count--) +- { +- accu += (mp_twolimb_t) *ptr << s_bits; +- *ptr++ = (mp_limb_t) accu; +- accu = accu >> GMP_LIMB_BITS; +- } +- if (accu > 0) +- { +- *ptr = (mp_limb_t) accu; +- pow5_len++; +- } +- } +- if (s_limbs > 0) +- { +- size_t count; +- for (count = pow5_len; count > 0;) +- { +- count--; +- pow5_ptr[s_limbs + count] = pow5_ptr[count]; +- } +- for (count = s_limbs; count > 0;) +- { +- count--; +- pow5_ptr[count] = 0; +- } +- pow5_len += s_limbs; +- } +- pow5.limbs = pow5_ptr; +- pow5.nlimbs = pow5_len; +- if (n >= 0) +- { +- /* Multiply m with pow5. No division needed. */ +- z_memory = multiply (m, pow5, &z); +- } +- else +- { +- /* Divide m by pow5 and round. */ +- z_memory = divide (m, pow5, &z); +- } +- } +- else +- { +- pow5.limbs = pow5_ptr; +- pow5.nlimbs = pow5_len; +- if (n >= 0) +- { +- /* n >= 0, s < 0. +- Multiply m with pow5, then divide by 2^|s|. */ +- mpn_t numerator; +- mpn_t denominator; +- void *tmp_memory; +- tmp_memory = multiply (m, pow5, &numerator); +- if (tmp_memory == NULL) +- { +- free (pow5_ptr); +- free (memory); +- return NULL; +- } +- /* Construct 2^|s|. */ +- { +- mp_limb_t *ptr = pow5_ptr + pow5_len; +- size_t i; +- for (i = 0; i < s_limbs; i++) +- ptr[i] = 0; +- ptr[s_limbs] = (mp_limb_t) 1 << s_bits; +- denominator.limbs = ptr; +- denominator.nlimbs = s_limbs + 1; +- } +- z_memory = divide (numerator, denominator, &z); +- free (tmp_memory); +- } +- else +- { +- /* n < 0, s > 0. +- Multiply m with 2^s, then divide by pow5. */ +- mpn_t numerator; +- mp_limb_t *num_ptr; +- num_ptr = (mp_limb_t *) malloc ((m.nlimbs + s_limbs + 1) +- * sizeof (mp_limb_t)); +- if (num_ptr == NULL) +- { +- free (pow5_ptr); +- free (memory); +- return NULL; +- } +- { +- mp_limb_t *destptr = num_ptr; +- { +- size_t i; +- for (i = 0; i < s_limbs; i++) +- *destptr++ = 0; +- } +- if (s_bits > 0) +- { +- const mp_limb_t *sourceptr = m.limbs; +- mp_twolimb_t accu = 0; +- size_t count; +- for (count = m.nlimbs; count > 0; count--) +- { +- accu += (mp_twolimb_t) *sourceptr++ << s_bits; +- *destptr++ = (mp_limb_t) accu; +- accu = accu >> GMP_LIMB_BITS; +- } +- if (accu > 0) +- *destptr++ = (mp_limb_t) accu; +- } +- else +- { +- const mp_limb_t *sourceptr = m.limbs; +- size_t count; +- for (count = m.nlimbs; count > 0; count--) +- *destptr++ = *sourceptr++; +- } +- numerator.limbs = num_ptr; +- numerator.nlimbs = destptr - num_ptr; +- } +- z_memory = divide (numerator, pow5, &z); +- free (num_ptr); +- } +- } +- free (pow5_ptr); +- free (memory); +- +- /* Here y = round (x * 10^n) = z * 10^extra_zeroes. */ +- +- if (z_memory == NULL) +- return NULL; +- digits = convert_to_decimal (z, extra_zeroes); +- free (z_memory); +- return digits; +-} +- +-# if NEED_PRINTF_LONG_DOUBLE +- +-/* Assuming x is finite and >= 0, and n is an integer: +- Returns the decimal representation of round (x * 10^n). +- Return the allocated memory - containing the decimal digits in low-to-high +- order, terminated with a NUL character - in case of success, NULL in case +- of memory allocation failure. */ +-static char * +-scale10_round_decimal_long_double (long double x, int n) +-{ +- int e; +- mpn_t m; +- void *memory = decode_long_double (x, &e, &m); +- return scale10_round_decimal_decoded (e, m, memory, n); +-} +- +-# endif +- +-# if NEED_PRINTF_DOUBLE +- +-/* Assuming x is finite and >= 0, and n is an integer: +- Returns the decimal representation of round (x * 10^n). +- Return the allocated memory - containing the decimal digits in low-to-high +- order, terminated with a NUL character - in case of success, NULL in case +- of memory allocation failure. */ +-static char * +-scale10_round_decimal_double (double x, int n) +-{ +- int e; +- mpn_t m; +- void *memory = decode_double (x, &e, &m); +- return scale10_round_decimal_decoded (e, m, memory, n); +-} +- +-# endif +- +-# if NEED_PRINTF_LONG_DOUBLE +- +-/* Assuming x is finite and > 0: +- Return an approximation for n with 10^n <= x < 10^(n+1). +- The approximation is usually the right n, but may be off by 1 sometimes. */ +-static int +-floorlog10l (long double x) +-{ +- int exp; +- long double y; +- double z; +- double l; +- +- /* Split into exponential part and mantissa. */ +- y = frexpl (x, &exp); +- if (!(y >= 0.0L && y < 1.0L)) +- abort (); +- if (y == 0.0L) +- return INT_MIN; +- if (y < 0.5L) +- { +- while (y < (1.0L / (1 << (GMP_LIMB_BITS / 2)) / (1 << (GMP_LIMB_BITS / 2)))) +- { +- y *= 1.0L * (1 << (GMP_LIMB_BITS / 2)) * (1 << (GMP_LIMB_BITS / 2)); +- exp -= GMP_LIMB_BITS; +- } +- if (y < (1.0L / (1 << 16))) +- { +- y *= 1.0L * (1 << 16); +- exp -= 16; +- } +- if (y < (1.0L / (1 << 8))) +- { +- y *= 1.0L * (1 << 8); +- exp -= 8; +- } +- if (y < (1.0L / (1 << 4))) +- { +- y *= 1.0L * (1 << 4); +- exp -= 4; +- } +- if (y < (1.0L / (1 << 2))) +- { +- y *= 1.0L * (1 << 2); +- exp -= 2; +- } +- if (y < (1.0L / (1 << 1))) +- { +- y *= 1.0L * (1 << 1); +- exp -= 1; +- } +- } +- if (!(y >= 0.5L && y < 1.0L)) +- abort (); +- /* Compute an approximation for l = log2(x) = exp + log2(y). */ +- l = exp; +- z = y; +- if (z < 0.70710678118654752444) +- { +- z *= 1.4142135623730950488; +- l -= 0.5; +- } +- if (z < 0.8408964152537145431) +- { +- z *= 1.1892071150027210667; +- l -= 0.25; +- } +- if (z < 0.91700404320467123175) +- { +- z *= 1.0905077326652576592; +- l -= 0.125; +- } +- if (z < 0.9576032806985736469) +- { +- z *= 1.0442737824274138403; +- l -= 0.0625; +- } +- /* Now 0.95 <= z <= 1.01. */ +- z = 1 - z; +- /* log(1-z) = - z - z^2/2 - z^3/3 - z^4/4 - ... +- Four terms are enough to get an approximation with error < 10^-7. */ +- l -= z * (1.0 + z * (0.5 + z * ((1.0 / 3) + z * 0.25))); +- /* Finally multiply with log(2)/log(10), yields an approximation for +- log10(x). */ +- l *= 0.30102999566398119523; +- /* Round down to the next integer. */ +- return (int) l + (l < 0 ? -1 : 0); +-} +- +-# endif +- +-# if NEED_PRINTF_DOUBLE +- +-/* Assuming x is finite and > 0: +- Return an approximation for n with 10^n <= x < 10^(n+1). +- The approximation is usually the right n, but may be off by 1 sometimes. */ +-static int +-floorlog10 (double x) +-{ +- int exp; +- double y; +- double z; +- double l; +- +- /* Split into exponential part and mantissa. */ +- y = frexp (x, &exp); +- if (!(y >= 0.0 && y < 1.0)) +- abort (); +- if (y == 0.0) +- return INT_MIN; +- if (y < 0.5) +- { +- while (y < (1.0 / (1 << (GMP_LIMB_BITS / 2)) / (1 << (GMP_LIMB_BITS / 2)))) +- { +- y *= 1.0 * (1 << (GMP_LIMB_BITS / 2)) * (1 << (GMP_LIMB_BITS / 2)); +- exp -= GMP_LIMB_BITS; +- } +- if (y < (1.0 / (1 << 16))) +- { +- y *= 1.0 * (1 << 16); +- exp -= 16; +- } +- if (y < (1.0 / (1 << 8))) +- { +- y *= 1.0 * (1 << 8); +- exp -= 8; +- } +- if (y < (1.0 / (1 << 4))) +- { +- y *= 1.0 * (1 << 4); +- exp -= 4; +- } +- if (y < (1.0 / (1 << 2))) +- { +- y *= 1.0 * (1 << 2); +- exp -= 2; +- } +- if (y < (1.0 / (1 << 1))) +- { +- y *= 1.0 * (1 << 1); +- exp -= 1; +- } +- } +- if (!(y >= 0.5 && y < 1.0)) +- abort (); +- /* Compute an approximation for l = log2(x) = exp + log2(y). */ +- l = exp; +- z = y; +- if (z < 0.70710678118654752444) +- { +- z *= 1.4142135623730950488; +- l -= 0.5; +- } +- if (z < 0.8408964152537145431) +- { +- z *= 1.1892071150027210667; +- l -= 0.25; +- } +- if (z < 0.91700404320467123175) +- { +- z *= 1.0905077326652576592; +- l -= 0.125; +- } +- if (z < 0.9576032806985736469) +- { +- z *= 1.0442737824274138403; +- l -= 0.0625; +- } +- /* Now 0.95 <= z <= 1.01. */ +- z = 1 - z; +- /* log(1-z) = - z - z^2/2 - z^3/3 - z^4/4 - ... +- Four terms are enough to get an approximation with error < 10^-7. */ +- l -= z * (1.0 + z * (0.5 + z * ((1.0 / 3) + z * 0.25))); +- /* Finally multiply with log(2)/log(10), yields an approximation for +- log10(x). */ +- l *= 0.30102999566398119523; +- /* Round down to the next integer. */ +- return (int) l + (l < 0 ? -1 : 0); +-} +- +-# endif +- +-#endif +- +-DCHAR_T * +-VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp, +- const FCHAR_T *format, va_list args) +-{ +- DIRECTIVES d; +- arguments a; +- +- if (PRINTF_PARSE (format, &d, &a) < 0) +- /* errno is already set. */ +- return NULL; +- +-#define CLEANUP() \ +- free (d.dir); \ +- if (a.arg) \ +- free (a.arg); +- +- if (PRINTF_FETCHARGS (args, &a) < 0) +- { +- CLEANUP (); +- errno = EINVAL; +- return NULL; +- } +- +- { +- size_t buf_neededlength; +- TCHAR_T *buf; +- TCHAR_T *buf_malloced; +- const FCHAR_T *cp; +- size_t i; +- DIRECTIVE *dp; +- /* Output string accumulator. */ +- DCHAR_T *result; +- size_t allocated; +- size_t length; +- +- /* Allocate a small buffer that will hold a directive passed to +- sprintf or snprintf. */ +- buf_neededlength = +- xsum4 (7, d.max_width_length, d.max_precision_length, 6); +-#if HAVE_ALLOCA +- if (buf_neededlength < 4000 / sizeof (TCHAR_T)) +- { +- buf = (TCHAR_T *) alloca (buf_neededlength * sizeof (TCHAR_T)); +- buf_malloced = NULL; +- } +- else +-#endif +- { +- size_t buf_memsize = xtimes (buf_neededlength, sizeof (TCHAR_T)); +- if (size_overflow_p (buf_memsize)) +- goto out_of_memory_1; +- buf = (TCHAR_T *) malloc (buf_memsize); +- if (buf == NULL) +- goto out_of_memory_1; +- buf_malloced = buf; +- } +- +- if (resultbuf != NULL) +- { +- result = resultbuf; +- allocated = *lengthp; +- } +- else +- { +- result = NULL; +- allocated = 0; +- } +- length = 0; +- /* Invariants: +- result is either == resultbuf or == NULL or malloc-allocated. +- If length > 0, then result != NULL. */ +- +- /* Ensures that allocated >= needed. Aborts through a jump to +- out_of_memory if needed is SIZE_MAX or otherwise too big. */ +-#define ENSURE_ALLOCATION(needed) \ +- if ((needed) > allocated) \ +- { \ +- size_t memory_size; \ +- DCHAR_T *memory; \ +- \ +- allocated = (allocated > 0 ? xtimes (allocated, 2) : 12); \ +- if ((needed) > allocated) \ +- allocated = (needed); \ +- memory_size = xtimes (allocated, sizeof (DCHAR_T)); \ +- if (size_overflow_p (memory_size)) \ +- goto out_of_memory; \ +- if (result == resultbuf || result == NULL) \ +- memory = (DCHAR_T *) malloc (memory_size); \ +- else \ +- memory = (DCHAR_T *) realloc (result, memory_size); \ +- if (memory == NULL) \ +- goto out_of_memory; \ +- if (result == resultbuf && length > 0) \ +- DCHAR_CPY (memory, result, length); \ +- result = memory; \ +- } +- +- for (cp = format, i = 0, dp = &d.dir[0]; ; cp = dp->dir_end, i++, dp++) +- { +- if (cp != dp->dir_start) +- { +- size_t n = dp->dir_start - cp; +- size_t augmented_length = xsum (length, n); +- +- ENSURE_ALLOCATION (augmented_length); +- /* This copies a piece of FCHAR_T[] into a DCHAR_T[]. Here we +- need that the format string contains only ASCII characters +- if FCHAR_T and DCHAR_T are not the same type. */ +- if (sizeof (FCHAR_T) == sizeof (DCHAR_T)) +- { +- DCHAR_CPY (result + length, (const DCHAR_T *) cp, n); +- length = augmented_length; +- } +- else +- { +- do +- result[length++] = (unsigned char) *cp++; +- while (--n > 0); +- } +- } +- if (i == d.count) +- break; +- +- /* Execute a single directive. */ +- if (dp->conversion == '%') +- { +- size_t augmented_length; +- +- if (!(dp->arg_index == ARG_NONE)) +- abort (); +- augmented_length = xsum (length, 1); +- ENSURE_ALLOCATION (augmented_length); +- result[length] = '%'; +- length = augmented_length; +- } +- else +- { +- if (!(dp->arg_index != ARG_NONE)) +- abort (); +- +- if (dp->conversion == 'n') +- { +- switch (a.arg[dp->arg_index].type) +- { +- case TYPE_COUNT_SCHAR_POINTER: +- *a.arg[dp->arg_index].a.a_count_schar_pointer = length; +- break; +- case TYPE_COUNT_SHORT_POINTER: +- *a.arg[dp->arg_index].a.a_count_short_pointer = length; +- break; +- case TYPE_COUNT_INT_POINTER: +- *a.arg[dp->arg_index].a.a_count_int_pointer = length; +- break; +- case TYPE_COUNT_LONGINT_POINTER: +- *a.arg[dp->arg_index].a.a_count_longint_pointer = length; +- break; +-#if HAVE_LONG_LONG_INT +- case TYPE_COUNT_LONGLONGINT_POINTER: +- *a.arg[dp->arg_index].a.a_count_longlongint_pointer = length; +- break; +-#endif +- default: +- abort (); +- } +- } +-#if ENABLE_UNISTDIO +- /* The unistdio extensions. */ +- else if (dp->conversion == 'U') +- { +- arg_type type = a.arg[dp->arg_index].type; +- int flags = dp->flags; +- int has_width; +- size_t width; +- int has_precision; +- size_t precision; +- +- has_width = 0; +- width = 0; +- if (dp->width_start != dp->width_end) +- { +- if (dp->width_arg_index != ARG_NONE) +- { +- int arg; +- +- if (!(a.arg[dp->width_arg_index].type == TYPE_INT)) +- abort (); +- arg = a.arg[dp->width_arg_index].a.a_int; +- if (arg < 0) +- { +- /* "A negative field width is taken as a '-' flag +- followed by a positive field width." */ +- flags |= FLAG_LEFT; +- width = (unsigned int) (-arg); +- } +- else +- width = arg; +- } +- else +- { +- const FCHAR_T *digitp = dp->width_start; +- +- do +- width = xsum (xtimes (width, 10), *digitp++ - '0'); +- while (digitp != dp->width_end); +- } +- has_width = 1; +- } +- +- has_precision = 0; +- precision = 0; +- if (dp->precision_start != dp->precision_end) +- { +- if (dp->precision_arg_index != ARG_NONE) +- { +- int arg; +- +- if (!(a.arg[dp->precision_arg_index].type == TYPE_INT)) +- abort (); +- arg = a.arg[dp->precision_arg_index].a.a_int; +- /* "A negative precision is taken as if the precision +- were omitted." */ +- if (arg >= 0) +- { +- precision = arg; +- has_precision = 1; +- } +- } +- else +- { +- const FCHAR_T *digitp = dp->precision_start + 1; +- +- precision = 0; +- while (digitp != dp->precision_end) +- precision = xsum (xtimes (precision, 10), *digitp++ - '0'); +- has_precision = 1; +- } +- } +- +- switch (type) +- { +- case TYPE_U8_STRING: +- { +- const uint8_t *arg = a.arg[dp->arg_index].a.a_u8_string; +- const uint8_t *arg_end; +- size_t characters; +- +- if (has_precision) +- { +- /* Use only PRECISION characters, from the left. */ +- arg_end = arg; +- characters = 0; +- for (; precision > 0; precision--) +- { +- int count = u8_strmblen (arg_end); +- if (count == 0) +- break; +- if (count < 0) +- { +- if (!(result == resultbuf || result == NULL)) +- free (result); +- if (buf_malloced != NULL) +- free (buf_malloced); +- CLEANUP (); +- errno = EILSEQ; +- return NULL; +- } +- arg_end += count; +- characters++; +- } +- } +- else if (has_width) +- { +- /* Use the entire string, and count the number of +- characters. */ +- arg_end = arg; +- characters = 0; +- for (;;) +- { +- int count = u8_strmblen (arg_end); +- if (count == 0) +- break; +- if (count < 0) +- { +- if (!(result == resultbuf || result == NULL)) +- free (result); +- if (buf_malloced != NULL) +- free (buf_malloced); +- CLEANUP (); +- errno = EILSEQ; +- return NULL; +- } +- arg_end += count; +- characters++; +- } +- } +- else +- { +- /* Use the entire string. */ +- arg_end = arg + u8_strlen (arg); +- /* The number of characters doesn't matter. */ +- characters = 0; +- } +- +- if (has_width && width > characters +- && !(dp->flags & FLAG_LEFT)) +- { +- size_t n = width - characters; +- ENSURE_ALLOCATION (xsum (length, n)); +- DCHAR_SET (result + length, ' ', n); +- length += n; +- } +- +-# if DCHAR_IS_UINT8_T +- { +- size_t n = arg_end - arg; +- ENSURE_ALLOCATION (xsum (length, n)); +- DCHAR_CPY (result + length, arg, n); +- length += n; +- } +-# else +- { /* Convert. */ +- DCHAR_T *converted = result + length; +- size_t converted_len = allocated - length; +-# if DCHAR_IS_TCHAR +- /* Convert from UTF-8 to locale encoding. */ +- if (u8_conv_to_encoding (locale_charset (), +- iconveh_question_mark, +- arg, arg_end - arg, NULL, +- &converted, &converted_len) +- < 0) +-# else +- /* Convert from UTF-8 to UTF-16/UTF-32. */ +- converted = +- U8_TO_DCHAR (arg, arg_end - arg, +- converted, &converted_len); +- if (converted == NULL) +-# endif +- { +- int saved_errno = errno; +- if (!(result == resultbuf || result == NULL)) +- free (result); +- if (buf_malloced != NULL) +- free (buf_malloced); +- CLEANUP (); +- errno = saved_errno; +- return NULL; +- } +- if (converted != result + length) +- { +- ENSURE_ALLOCATION (xsum (length, converted_len)); +- DCHAR_CPY (result + length, converted, converted_len); +- free (converted); +- } +- length += converted_len; +- } +-# endif +- +- if (has_width && width > characters +- && (dp->flags & FLAG_LEFT)) +- { +- size_t n = width - characters; +- ENSURE_ALLOCATION (xsum (length, n)); +- DCHAR_SET (result + length, ' ', n); +- length += n; +- } +- } +- break; +- +- case TYPE_U16_STRING: +- { +- const uint16_t *arg = a.arg[dp->arg_index].a.a_u16_string; +- const uint16_t *arg_end; +- size_t characters; +- +- if (has_precision) +- { +- /* Use only PRECISION characters, from the left. */ +- arg_end = arg; +- characters = 0; +- for (; precision > 0; precision--) +- { +- int count = u16_strmblen (arg_end); +- if (count == 0) +- break; +- if (count < 0) +- { +- if (!(result == resultbuf || result == NULL)) +- free (result); +- if (buf_malloced != NULL) +- free (buf_malloced); +- CLEANUP (); +- errno = EILSEQ; +- return NULL; +- } +- arg_end += count; +- characters++; +- } +- } +- else if (has_width) +- { +- /* Use the entire string, and count the number of +- characters. */ +- arg_end = arg; +- characters = 0; +- for (;;) +- { +- int count = u16_strmblen (arg_end); +- if (count == 0) +- break; +- if (count < 0) +- { +- if (!(result == resultbuf || result == NULL)) +- free (result); +- if (buf_malloced != NULL) +- free (buf_malloced); +- CLEANUP (); +- errno = EILSEQ; +- return NULL; +- } +- arg_end += count; +- characters++; +- } +- } +- else +- { +- /* Use the entire string. */ +- arg_end = arg + u16_strlen (arg); +- /* The number of characters doesn't matter. */ +- characters = 0; +- } +- +- if (has_width && width > characters +- && !(dp->flags & FLAG_LEFT)) +- { +- size_t n = width - characters; +- ENSURE_ALLOCATION (xsum (length, n)); +- DCHAR_SET (result + length, ' ', n); +- length += n; +- } +- +-# if DCHAR_IS_UINT16_T +- { +- size_t n = arg_end - arg; +- ENSURE_ALLOCATION (xsum (length, n)); +- DCHAR_CPY (result + length, arg, n); +- length += n; +- } +-# else +- { /* Convert. */ +- DCHAR_T *converted = result + length; +- size_t converted_len = allocated - length; +-# if DCHAR_IS_TCHAR +- /* Convert from UTF-16 to locale encoding. */ +- if (u16_conv_to_encoding (locale_charset (), +- iconveh_question_mark, +- arg, arg_end - arg, NULL, +- &converted, &converted_len) +- < 0) +-# else +- /* Convert from UTF-16 to UTF-8/UTF-32. */ +- converted = +- U16_TO_DCHAR (arg, arg_end - arg, +- converted, &converted_len); +- if (converted == NULL) +-# endif +- { +- int saved_errno = errno; +- if (!(result == resultbuf || result == NULL)) +- free (result); +- if (buf_malloced != NULL) +- free (buf_malloced); +- CLEANUP (); +- errno = saved_errno; +- return NULL; +- } +- if (converted != result + length) +- { +- ENSURE_ALLOCATION (xsum (length, converted_len)); +- DCHAR_CPY (result + length, converted, converted_len); +- free (converted); +- } +- length += converted_len; +- } +-# endif +- +- if (has_width && width > characters +- && (dp->flags & FLAG_LEFT)) +- { +- size_t n = width - characters; +- ENSURE_ALLOCATION (xsum (length, n)); +- DCHAR_SET (result + length, ' ', n); +- length += n; +- } +- } +- break; +- +- case TYPE_U32_STRING: +- { +- const uint32_t *arg = a.arg[dp->arg_index].a.a_u32_string; +- const uint32_t *arg_end; +- size_t characters; +- +- if (has_precision) +- { +- /* Use only PRECISION characters, from the left. */ +- arg_end = arg; +- characters = 0; +- for (; precision > 0; precision--) +- { +- int count = u32_strmblen (arg_end); +- if (count == 0) +- break; +- if (count < 0) +- { +- if (!(result == resultbuf || result == NULL)) +- free (result); +- if (buf_malloced != NULL) +- free (buf_malloced); +- CLEANUP (); +- errno = EILSEQ; +- return NULL; +- } +- arg_end += count; +- characters++; +- } +- } +- else if (has_width) +- { +- /* Use the entire string, and count the number of +- characters. */ +- arg_end = arg; +- characters = 0; +- for (;;) +- { +- int count = u32_strmblen (arg_end); +- if (count == 0) +- break; +- if (count < 0) +- { +- if (!(result == resultbuf || result == NULL)) +- free (result); +- if (buf_malloced != NULL) +- free (buf_malloced); +- CLEANUP (); +- errno = EILSEQ; +- return NULL; +- } +- arg_end += count; +- characters++; +- } +- } +- else +- { +- /* Use the entire string. */ +- arg_end = arg + u32_strlen (arg); +- /* The number of characters doesn't matter. */ +- characters = 0; +- } +- +- if (has_width && width > characters +- && !(dp->flags & FLAG_LEFT)) +- { +- size_t n = width - characters; +- ENSURE_ALLOCATION (xsum (length, n)); +- DCHAR_SET (result + length, ' ', n); +- length += n; +- } +- +-# if DCHAR_IS_UINT32_T +- { +- size_t n = arg_end - arg; +- ENSURE_ALLOCATION (xsum (length, n)); +- DCHAR_CPY (result + length, arg, n); +- length += n; +- } +-# else +- { /* Convert. */ +- DCHAR_T *converted = result + length; +- size_t converted_len = allocated - length; +-# if DCHAR_IS_TCHAR +- /* Convert from UTF-32 to locale encoding. */ +- if (u32_conv_to_encoding (locale_charset (), +- iconveh_question_mark, +- arg, arg_end - arg, NULL, +- &converted, &converted_len) +- < 0) +-# else +- /* Convert from UTF-32 to UTF-8/UTF-16. */ +- converted = +- U32_TO_DCHAR (arg, arg_end - arg, +- converted, &converted_len); +- if (converted == NULL) +-# endif +- { +- int saved_errno = errno; +- if (!(result == resultbuf || result == NULL)) +- free (result); +- if (buf_malloced != NULL) +- free (buf_malloced); +- CLEANUP (); +- errno = saved_errno; +- return NULL; +- } +- if (converted != result + length) +- { +- ENSURE_ALLOCATION (xsum (length, converted_len)); +- DCHAR_CPY (result + length, converted, converted_len); +- free (converted); +- } +- length += converted_len; +- } +-# endif +- +- if (has_width && width > characters +- && (dp->flags & FLAG_LEFT)) +- { +- size_t n = width - characters; +- ENSURE_ALLOCATION (xsum (length, n)); +- DCHAR_SET (result + length, ' ', n); +- length += n; +- } +- } +- break; +- +- default: +- abort (); +- } +- } +-#endif +-#if (NEED_PRINTF_DIRECTIVE_A || NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_DOUBLE) && !defined IN_LIBINTL +- else if ((dp->conversion == 'a' || dp->conversion == 'A') +-# if !(NEED_PRINTF_DIRECTIVE_A || (NEED_PRINTF_LONG_DOUBLE && NEED_PRINTF_DOUBLE)) +- && (0 +-# if NEED_PRINTF_DOUBLE +- || a.arg[dp->arg_index].type == TYPE_DOUBLE +-# endif +-# if NEED_PRINTF_LONG_DOUBLE +- || a.arg[dp->arg_index].type == TYPE_LONGDOUBLE +-# endif +- ) +-# endif +- ) +- { +- arg_type type = a.arg[dp->arg_index].type; +- int flags = dp->flags; +- int has_width; +- size_t width; +- int has_precision; +- size_t precision; +- size_t tmp_length; +- DCHAR_T tmpbuf[700]; +- DCHAR_T *tmp; +- DCHAR_T *pad_ptr; +- DCHAR_T *p; +- +- has_width = 0; +- width = 0; +- if (dp->width_start != dp->width_end) +- { +- if (dp->width_arg_index != ARG_NONE) +- { +- int arg; +- +- if (!(a.arg[dp->width_arg_index].type == TYPE_INT)) +- abort (); +- arg = a.arg[dp->width_arg_index].a.a_int; +- if (arg < 0) +- { +- /* "A negative field width is taken as a '-' flag +- followed by a positive field width." */ +- flags |= FLAG_LEFT; +- width = (unsigned int) (-arg); +- } +- else +- width = arg; +- } +- else +- { +- const FCHAR_T *digitp = dp->width_start; +- +- do +- width = xsum (xtimes (width, 10), *digitp++ - '0'); +- while (digitp != dp->width_end); +- } +- has_width = 1; +- } +- +- has_precision = 0; +- precision = 0; +- if (dp->precision_start != dp->precision_end) +- { +- if (dp->precision_arg_index != ARG_NONE) +- { +- int arg; +- +- if (!(a.arg[dp->precision_arg_index].type == TYPE_INT)) +- abort (); +- arg = a.arg[dp->precision_arg_index].a.a_int; +- /* "A negative precision is taken as if the precision +- were omitted." */ +- if (arg >= 0) +- { +- precision = arg; +- has_precision = 1; +- } +- } +- else +- { +- const FCHAR_T *digitp = dp->precision_start + 1; +- +- precision = 0; +- while (digitp != dp->precision_end) +- precision = xsum (xtimes (precision, 10), *digitp++ - '0'); +- has_precision = 1; +- } +- } +- +- /* Allocate a temporary buffer of sufficient size. */ +- if (type == TYPE_LONGDOUBLE) +- tmp_length = +- (unsigned int) ((LDBL_DIG + 1) +- * 0.831 /* decimal -> hexadecimal */ +- ) +- + 1; /* turn floor into ceil */ +- else +- tmp_length = +- (unsigned int) ((DBL_DIG + 1) +- * 0.831 /* decimal -> hexadecimal */ +- ) +- + 1; /* turn floor into ceil */ +- if (tmp_length < precision) +- tmp_length = precision; +- /* Account for sign, decimal point etc. */ +- tmp_length = xsum (tmp_length, 12); +- +- if (tmp_length < width) +- tmp_length = width; +- +- tmp_length = xsum (tmp_length, 1); /* account for trailing NUL */ +- +- if (tmp_length <= sizeof (tmpbuf) / sizeof (DCHAR_T)) +- tmp = tmpbuf; +- else +- { +- size_t tmp_memsize = xtimes (tmp_length, sizeof (DCHAR_T)); +- +- if (size_overflow_p (tmp_memsize)) +- /* Overflow, would lead to out of memory. */ +- goto out_of_memory; +- tmp = (DCHAR_T *) malloc (tmp_memsize); +- if (tmp == NULL) +- /* Out of memory. */ +- goto out_of_memory; +- } +- +- pad_ptr = NULL; +- p = tmp; +- if (type == TYPE_LONGDOUBLE) +- { +-# if NEED_PRINTF_DIRECTIVE_A || NEED_PRINTF_LONG_DOUBLE +- long double arg = a.arg[dp->arg_index].a.a_longdouble; +- +- if (isnanl (arg)) +- { +- if (dp->conversion == 'A') +- { +- *p++ = 'N'; *p++ = 'A'; *p++ = 'N'; +- } +- else +- { +- *p++ = 'n'; *p++ = 'a'; *p++ = 'n'; +- } +- } +- else +- { +- int sign = 0; +- DECL_LONG_DOUBLE_ROUNDING +- +- BEGIN_LONG_DOUBLE_ROUNDING (); +- +- if (signbit (arg)) /* arg < 0.0L or negative zero */ +- { +- sign = -1; +- arg = -arg; +- } +- +- if (sign < 0) +- *p++ = '-'; +- else if (flags & FLAG_SHOWSIGN) +- *p++ = '+'; +- else if (flags & FLAG_SPACE) +- *p++ = ' '; +- +- if (arg > 0.0L && arg + arg == arg) +- { +- if (dp->conversion == 'A') +- { +- *p++ = 'I'; *p++ = 'N'; *p++ = 'F'; +- } +- else +- { +- *p++ = 'i'; *p++ = 'n'; *p++ = 'f'; +- } +- } +- else +- { +- int exponent; +- long double mantissa; +- +- if (arg > 0.0L) +- mantissa = printf_frexpl (arg, &exponent); +- else +- { +- exponent = 0; +- mantissa = 0.0L; +- } +- +- if (has_precision +- && precision < (unsigned int) ((LDBL_DIG + 1) * 0.831) + 1) +- { +- /* Round the mantissa. */ +- long double tail = mantissa; +- size_t q; +- +- for (q = precision; ; q--) +- { +- int digit = (int) tail; +- tail -= digit; +- if (q == 0) +- { +- if (digit & 1 ? tail >= 0.5L : tail > 0.5L) +- tail = 1 - tail; +- else +- tail = - tail; +- break; +- } +- tail *= 16.0L; +- } +- if (tail != 0.0L) +- for (q = precision; q > 0; q--) +- tail *= 0.0625L; +- mantissa += tail; +- } +- +- *p++ = '0'; +- *p++ = dp->conversion - 'A' + 'X'; +- pad_ptr = p; +- { +- int digit; +- +- digit = (int) mantissa; +- mantissa -= digit; +- *p++ = '0' + digit; +- if ((flags & FLAG_ALT) +- || mantissa > 0.0L || precision > 0) +- { +- *p++ = decimal_point_char (); +- /* This loop terminates because we assume +- that FLT_RADIX is a power of 2. */ +- while (mantissa > 0.0L) +- { +- mantissa *= 16.0L; +- digit = (int) mantissa; +- mantissa -= digit; +- *p++ = digit +- + (digit < 10 +- ? '0' +- : dp->conversion - 10); +- if (precision > 0) +- precision--; +- } +- while (precision > 0) +- { +- *p++ = '0'; +- precision--; +- } +- } +- } +- *p++ = dp->conversion - 'A' + 'P'; +-# if WIDE_CHAR_VERSION +- { +- static const wchar_t decimal_format[] = +- { '%', '+', 'd', '\0' }; +- SNPRINTF (p, 6 + 1, decimal_format, exponent); +- } +- while (*p != '\0') +- p++; +-# else +- if (sizeof (DCHAR_T) == 1) +- { +- sprintf ((char *) p, "%+d", exponent); +- while (*p != '\0') +- p++; +- } +- else +- { +- char expbuf[6 + 1]; +- const char *ep; +- sprintf (expbuf, "%+d", exponent); +- for (ep = expbuf; (*p = *ep) != '\0'; ep++) +- p++; +- } +-# endif +- } +- +- END_LONG_DOUBLE_ROUNDING (); +- } +-# else +- abort (); +-# endif +- } +- else +- { +-# if NEED_PRINTF_DIRECTIVE_A || NEED_PRINTF_DOUBLE +- double arg = a.arg[dp->arg_index].a.a_double; +- +- if (isnan (arg)) +- { +- if (dp->conversion == 'A') +- { +- *p++ = 'N'; *p++ = 'A'; *p++ = 'N'; +- } +- else +- { +- *p++ = 'n'; *p++ = 'a'; *p++ = 'n'; +- } +- } +- else +- { +- int sign = 0; +- +- if (signbit (arg)) /* arg < 0.0 or negative zero */ +- { +- sign = -1; +- arg = -arg; +- } +- +- if (sign < 0) +- *p++ = '-'; +- else if (flags & FLAG_SHOWSIGN) +- *p++ = '+'; +- else if (flags & FLAG_SPACE) +- *p++ = ' '; +- +- if (arg > 0.0 && arg + arg == arg) +- { +- if (dp->conversion == 'A') +- { +- *p++ = 'I'; *p++ = 'N'; *p++ = 'F'; +- } +- else +- { +- *p++ = 'i'; *p++ = 'n'; *p++ = 'f'; +- } +- } +- else +- { +- int exponent; +- double mantissa; +- +- if (arg > 0.0) +- mantissa = printf_frexp (arg, &exponent); +- else +- { +- exponent = 0; +- mantissa = 0.0; +- } +- +- if (has_precision +- && precision < (unsigned int) ((DBL_DIG + 1) * 0.831) + 1) +- { +- /* Round the mantissa. */ +- double tail = mantissa; +- size_t q; +- +- for (q = precision; ; q--) +- { +- int digit = (int) tail; +- tail -= digit; +- if (q == 0) +- { +- if (digit & 1 ? tail >= 0.5 : tail > 0.5) +- tail = 1 - tail; +- else +- tail = - tail; +- break; +- } +- tail *= 16.0; +- } +- if (tail != 0.0) +- for (q = precision; q > 0; q--) +- tail *= 0.0625; +- mantissa += tail; +- } +- +- *p++ = '0'; +- *p++ = dp->conversion - 'A' + 'X'; +- pad_ptr = p; +- { +- int digit; +- +- digit = (int) mantissa; +- mantissa -= digit; +- *p++ = '0' + digit; +- if ((flags & FLAG_ALT) +- || mantissa > 0.0 || precision > 0) +- { +- *p++ = decimal_point_char (); +- /* This loop terminates because we assume +- that FLT_RADIX is a power of 2. */ +- while (mantissa > 0.0) +- { +- mantissa *= 16.0; +- digit = (int) mantissa; +- mantissa -= digit; +- *p++ = digit +- + (digit < 10 +- ? '0' +- : dp->conversion - 10); +- if (precision > 0) +- precision--; +- } +- while (precision > 0) +- { +- *p++ = '0'; +- precision--; +- } +- } +- } +- *p++ = dp->conversion - 'A' + 'P'; +-# if WIDE_CHAR_VERSION +- { +- static const wchar_t decimal_format[] = +- { '%', '+', 'd', '\0' }; +- SNPRINTF (p, 6 + 1, decimal_format, exponent); +- } +- while (*p != '\0') +- p++; +-# else +- if (sizeof (DCHAR_T) == 1) +- { +- sprintf ((char *) p, "%+d", exponent); +- while (*p != '\0') +- p++; +- } +- else +- { +- char expbuf[6 + 1]; +- const char *ep; +- sprintf (expbuf, "%+d", exponent); +- for (ep = expbuf; (*p = *ep) != '\0'; ep++) +- p++; +- } +-# endif +- } +- } +-# else +- abort (); +-# endif +- } +- /* The generated string now extends from tmp to p, with the +- zero padding insertion point being at pad_ptr. */ +- if (has_width && p - tmp < width) +- { +- size_t pad = width - (p - tmp); +- DCHAR_T *end = p + pad; +- +- if (flags & FLAG_LEFT) +- { +- /* Pad with spaces on the right. */ +- for (; pad > 0; pad--) +- *p++ = ' '; +- } +- else if ((flags & FLAG_ZERO) && pad_ptr != NULL) +- { +- /* Pad with zeroes. */ +- DCHAR_T *q = end; +- +- while (p > pad_ptr) +- *--q = *--p; +- for (; pad > 0; pad--) +- *p++ = '0'; +- } +- else +- { +- /* Pad with spaces on the left. */ +- DCHAR_T *q = end; +- +- while (p > tmp) +- *--q = *--p; +- for (; pad > 0; pad--) +- *p++ = ' '; +- } +- +- p = end; +- } +- +- { +- size_t count = p - tmp; +- +- if (count >= tmp_length) +- /* tmp_length was incorrectly calculated - fix the +- code above! */ +- abort (); +- +- /* Make room for the result. */ +- if (count >= allocated - length) +- { +- size_t n = xsum (length, count); +- +- ENSURE_ALLOCATION (n); +- } +- +- /* Append the result. */ +- memcpy (result + length, tmp, count * sizeof (DCHAR_T)); +- if (tmp != tmpbuf) +- free (tmp); +- length += count; +- } +- } +-#endif +-#if (NEED_PRINTF_INFINITE_DOUBLE || NEED_PRINTF_DOUBLE || NEED_PRINTF_INFINITE_LONG_DOUBLE || NEED_PRINTF_LONG_DOUBLE) && !defined IN_LIBINTL +- else if ((dp->conversion == 'f' || dp->conversion == 'F' +- || dp->conversion == 'e' || dp->conversion == 'E' +- || dp->conversion == 'g' || dp->conversion == 'G' +- || dp->conversion == 'a' || dp->conversion == 'A') +- && (0 +-# if NEED_PRINTF_DOUBLE +- || a.arg[dp->arg_index].type == TYPE_DOUBLE +-# elif NEED_PRINTF_INFINITE_DOUBLE +- || (a.arg[dp->arg_index].type == TYPE_DOUBLE +- /* The systems (mingw) which produce wrong output +- for Inf, -Inf, and NaN also do so for -0.0. +- Therefore we treat this case here as well. */ +- && is_infinite_or_zero (a.arg[dp->arg_index].a.a_double)) +-# endif +-# if NEED_PRINTF_LONG_DOUBLE +- || a.arg[dp->arg_index].type == TYPE_LONGDOUBLE +-# elif NEED_PRINTF_INFINITE_LONG_DOUBLE +- || (a.arg[dp->arg_index].type == TYPE_LONGDOUBLE +- /* Some systems produce wrong output for Inf, +- -Inf, and NaN. */ +- && is_infinitel (a.arg[dp->arg_index].a.a_longdouble)) +-# endif +- )) +- { +-# if (NEED_PRINTF_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE) && (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_LONG_DOUBLE) +- arg_type type = a.arg[dp->arg_index].type; +-# endif +- int flags = dp->flags; +- int has_width; +- size_t width; +- int has_precision; +- size_t precision; +- size_t tmp_length; +- DCHAR_T tmpbuf[700]; +- DCHAR_T *tmp; +- DCHAR_T *pad_ptr; +- DCHAR_T *p; +- +- has_width = 0; +- width = 0; +- if (dp->width_start != dp->width_end) +- { +- if (dp->width_arg_index != ARG_NONE) +- { +- int arg; +- +- if (!(a.arg[dp->width_arg_index].type == TYPE_INT)) +- abort (); +- arg = a.arg[dp->width_arg_index].a.a_int; +- if (arg < 0) +- { +- /* "A negative field width is taken as a '-' flag +- followed by a positive field width." */ +- flags |= FLAG_LEFT; +- width = (unsigned int) (-arg); +- } +- else +- width = arg; +- } +- else +- { +- const FCHAR_T *digitp = dp->width_start; +- +- do +- width = xsum (xtimes (width, 10), *digitp++ - '0'); +- while (digitp != dp->width_end); +- } +- has_width = 1; +- } +- +- has_precision = 0; +- precision = 0; +- if (dp->precision_start != dp->precision_end) +- { +- if (dp->precision_arg_index != ARG_NONE) +- { +- int arg; +- +- if (!(a.arg[dp->precision_arg_index].type == TYPE_INT)) +- abort (); +- arg = a.arg[dp->precision_arg_index].a.a_int; +- /* "A negative precision is taken as if the precision +- were omitted." */ +- if (arg >= 0) +- { +- precision = arg; +- has_precision = 1; +- } +- } +- else +- { +- const FCHAR_T *digitp = dp->precision_start + 1; +- +- precision = 0; +- while (digitp != dp->precision_end) +- precision = xsum (xtimes (precision, 10), *digitp++ - '0'); +- has_precision = 1; +- } +- } +- +- /* POSIX specifies the default precision to be 6 for %f, %F, +- %e, %E, but not for %g, %G. Implementations appear to use +- the same default precision also for %g, %G. */ +- if (!has_precision) +- precision = 6; +- +- /* Allocate a temporary buffer of sufficient size. */ +-# if NEED_PRINTF_DOUBLE && NEED_PRINTF_LONG_DOUBLE +- tmp_length = (type == TYPE_LONGDOUBLE ? LDBL_DIG + 1 : DBL_DIG + 1); +-# elif NEED_PRINTF_INFINITE_DOUBLE && NEED_PRINTF_LONG_DOUBLE +- tmp_length = (type == TYPE_LONGDOUBLE ? LDBL_DIG + 1 : 0); +-# elif NEED_PRINTF_LONG_DOUBLE +- tmp_length = LDBL_DIG + 1; +-# elif NEED_PRINTF_DOUBLE +- tmp_length = DBL_DIG + 1; +-# else +- tmp_length = 0; +-# endif +- if (tmp_length < precision) +- tmp_length = precision; +-# if NEED_PRINTF_LONG_DOUBLE +-# if NEED_PRINTF_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE +- if (type == TYPE_LONGDOUBLE) +-# endif +- if (dp->conversion == 'f' || dp->conversion == 'F') +- { +- long double arg = a.arg[dp->arg_index].a.a_longdouble; +- if (!(isnanl (arg) || arg + arg == arg)) +- { +- /* arg is finite and nonzero. */ +- int exponent = floorlog10l (arg < 0 ? -arg : arg); +- if (exponent >= 0 && tmp_length < exponent + precision) +- tmp_length = exponent + precision; +- } +- } +-# endif +-# if NEED_PRINTF_DOUBLE +-# if NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_LONG_DOUBLE +- if (type == TYPE_DOUBLE) +-# endif +- if (dp->conversion == 'f' || dp->conversion == 'F') +- { +- double arg = a.arg[dp->arg_index].a.a_double; +- if (!(isnan (arg) || arg + arg == arg)) +- { +- /* arg is finite and nonzero. */ +- int exponent = floorlog10 (arg < 0 ? -arg : arg); +- if (exponent >= 0 && tmp_length < exponent + precision) +- tmp_length = exponent + precision; +- } +- } +-# endif +- /* Account for sign, decimal point etc. */ +- tmp_length = xsum (tmp_length, 12); +- +- if (tmp_length < width) +- tmp_length = width; +- +- tmp_length = xsum (tmp_length, 1); /* account for trailing NUL */ +- +- if (tmp_length <= sizeof (tmpbuf) / sizeof (DCHAR_T)) +- tmp = tmpbuf; +- else +- { +- size_t tmp_memsize = xtimes (tmp_length, sizeof (DCHAR_T)); +- +- if (size_overflow_p (tmp_memsize)) +- /* Overflow, would lead to out of memory. */ +- goto out_of_memory; +- tmp = (DCHAR_T *) malloc (tmp_memsize); +- if (tmp == NULL) +- /* Out of memory. */ +- goto out_of_memory; +- } +- +- pad_ptr = NULL; +- p = tmp; +- +-# if NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_LONG_DOUBLE +-# if NEED_PRINTF_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE +- if (type == TYPE_LONGDOUBLE) +-# endif +- { +- long double arg = a.arg[dp->arg_index].a.a_longdouble; +- +- if (isnanl (arg)) +- { +- if (dp->conversion >= 'A' && dp->conversion <= 'Z') +- { +- *p++ = 'N'; *p++ = 'A'; *p++ = 'N'; +- } +- else +- { +- *p++ = 'n'; *p++ = 'a'; *p++ = 'n'; +- } +- } +- else +- { +- int sign = 0; +- DECL_LONG_DOUBLE_ROUNDING +- +- BEGIN_LONG_DOUBLE_ROUNDING (); +- +- if (signbit (arg)) /* arg < 0.0L or negative zero */ +- { +- sign = -1; +- arg = -arg; +- } +- +- if (sign < 0) +- *p++ = '-'; +- else if (flags & FLAG_SHOWSIGN) +- *p++ = '+'; +- else if (flags & FLAG_SPACE) +- *p++ = ' '; +- +- if (arg > 0.0L && arg + arg == arg) +- { +- if (dp->conversion >= 'A' && dp->conversion <= 'Z') +- { +- *p++ = 'I'; *p++ = 'N'; *p++ = 'F'; +- } +- else +- { +- *p++ = 'i'; *p++ = 'n'; *p++ = 'f'; +- } +- } +- else +- { +-# if NEED_PRINTF_LONG_DOUBLE +- pad_ptr = p; +- +- if (dp->conversion == 'f' || dp->conversion == 'F') +- { +- char *digits; +- size_t ndigits; +- +- digits = +- scale10_round_decimal_long_double (arg, precision); +- if (digits == NULL) +- { +- END_LONG_DOUBLE_ROUNDING (); +- goto out_of_memory; +- } +- ndigits = strlen (digits); +- +- if (ndigits > precision) +- do +- { +- --ndigits; +- *p++ = digits[ndigits]; +- } +- while (ndigits > precision); +- else +- *p++ = '0'; +- /* Here ndigits <= precision. */ +- if ((flags & FLAG_ALT) || precision > 0) +- { +- *p++ = decimal_point_char (); +- for (; precision > ndigits; precision--) +- *p++ = '0'; +- while (ndigits > 0) +- { +- --ndigits; +- *p++ = digits[ndigits]; +- } +- } +- +- free (digits); +- } +- else if (dp->conversion == 'e' || dp->conversion == 'E') +- { +- int exponent; +- +- if (arg == 0.0L) +- { +- exponent = 0; +- *p++ = '0'; +- if ((flags & FLAG_ALT) || precision > 0) +- { +- *p++ = decimal_point_char (); +- for (; precision > 0; precision--) +- *p++ = '0'; +- } +- } +- else +- { +- /* arg > 0.0L. */ +- int adjusted; +- char *digits; +- size_t ndigits; +- +- exponent = floorlog10l (arg); +- adjusted = 0; +- for (;;) +- { +- digits = +- scale10_round_decimal_long_double (arg, +- (int)precision - exponent); +- if (digits == NULL) +- { +- END_LONG_DOUBLE_ROUNDING (); +- goto out_of_memory; +- } +- ndigits = strlen (digits); +- +- if (ndigits == precision + 1) +- break; +- if (ndigits < precision +- || ndigits > precision + 2) +- /* The exponent was not guessed +- precisely enough. */ +- abort (); +- if (adjusted) +- /* None of two values of exponent is +- the right one. Prevent an endless +- loop. */ +- abort (); +- free (digits); +- if (ndigits == precision) +- exponent -= 1; +- else +- exponent += 1; +- adjusted = 1; +- } +- +- /* Here ndigits = precision+1. */ +- *p++ = digits[--ndigits]; +- if ((flags & FLAG_ALT) || precision > 0) +- { +- *p++ = decimal_point_char (); +- while (ndigits > 0) +- { +- --ndigits; +- *p++ = digits[ndigits]; +- } +- } +- +- free (digits); +- } +- +- *p++ = dp->conversion; /* 'e' or 'E' */ +-# if WIDE_CHAR_VERSION +- { +- static const wchar_t decimal_format[] = +- { '%', '+', '.', '2', 'd', '\0' }; +- SNPRINTF (p, 6 + 1, decimal_format, exponent); +- } +- while (*p != '\0') +- p++; +-# else +- if (sizeof (DCHAR_T) == 1) +- { +- sprintf ((char *) p, "%+.2d", exponent); +- while (*p != '\0') +- p++; +- } +- else +- { +- char expbuf[6 + 1]; +- const char *ep; +- sprintf (expbuf, "%+.2d", exponent); +- for (ep = expbuf; (*p = *ep) != '\0'; ep++) +- p++; +- } +-# endif +- } +- else if (dp->conversion == 'g' || dp->conversion == 'G') +- { +- if (precision == 0) +- precision = 1; +- /* precision >= 1. */ +- +- if (arg == 0.0L) +- /* The exponent is 0, >= -4, < precision. +- Use fixed-point notation. */ +- { +- size_t ndigits = precision; +- /* Number of trailing zeroes that have to be +- dropped. */ +- size_t nzeroes = +- (flags & FLAG_ALT ? 0 : precision - 1); +- +- --ndigits; +- *p++ = '0'; +- if ((flags & FLAG_ALT) || ndigits > nzeroes) +- { +- *p++ = decimal_point_char (); +- while (ndigits > nzeroes) +- { +- --ndigits; +- *p++ = '0'; +- } +- } +- } +- else +- { +- /* arg > 0.0L. */ +- int exponent; +- int adjusted; +- char *digits; +- size_t ndigits; +- size_t nzeroes; +- +- exponent = floorlog10l (arg); +- adjusted = 0; +- for (;;) +- { +- digits = +- scale10_round_decimal_long_double (arg, +- (int)(precision - 1) - exponent); +- if (digits == NULL) +- { +- END_LONG_DOUBLE_ROUNDING (); +- goto out_of_memory; +- } +- ndigits = strlen (digits); +- +- if (ndigits == precision) +- break; +- if (ndigits < precision - 1 +- || ndigits > precision + 1) +- /* The exponent was not guessed +- precisely enough. */ +- abort (); +- if (adjusted) +- /* None of two values of exponent is +- the right one. Prevent an endless +- loop. */ +- abort (); +- free (digits); +- if (ndigits < precision) +- exponent -= 1; +- else +- exponent += 1; +- adjusted = 1; +- } +- /* Here ndigits = precision. */ +- +- /* Determine the number of trailing zeroes +- that have to be dropped. */ +- nzeroes = 0; +- if ((flags & FLAG_ALT) == 0) +- while (nzeroes < ndigits +- && digits[nzeroes] == '0') +- nzeroes++; +- +- /* The exponent is now determined. */ +- if (exponent >= -4 +- && exponent < (long)precision) +- { +- /* Fixed-point notation: +- max(exponent,0)+1 digits, then the +- decimal point, then the remaining +- digits without trailing zeroes. */ +- if (exponent >= 0) +- { +- size_t count = exponent + 1; +- /* Note: count <= precision = ndigits. */ +- for (; count > 0; count--) +- *p++ = digits[--ndigits]; +- if ((flags & FLAG_ALT) || ndigits > nzeroes) +- { +- *p++ = decimal_point_char (); +- while (ndigits > nzeroes) +- { +- --ndigits; +- *p++ = digits[ndigits]; +- } +- } +- } +- else +- { +- size_t count = -exponent - 1; +- *p++ = '0'; +- *p++ = decimal_point_char (); +- for (; count > 0; count--) +- *p++ = '0'; +- while (ndigits > nzeroes) +- { +- --ndigits; +- *p++ = digits[ndigits]; +- } +- } +- } +- else +- { +- /* Exponential notation. */ +- *p++ = digits[--ndigits]; +- if ((flags & FLAG_ALT) || ndigits > nzeroes) +- { +- *p++ = decimal_point_char (); +- while (ndigits > nzeroes) +- { +- --ndigits; +- *p++ = digits[ndigits]; +- } +- } +- *p++ = dp->conversion - 'G' + 'E'; /* 'e' or 'E' */ +-# if WIDE_CHAR_VERSION +- { +- static const wchar_t decimal_format[] = +- { '%', '+', '.', '2', 'd', '\0' }; +- SNPRINTF (p, 6 + 1, decimal_format, exponent); +- } +- while (*p != '\0') +- p++; +-# else +- if (sizeof (DCHAR_T) == 1) +- { +- sprintf ((char *) p, "%+.2d", exponent); +- while (*p != '\0') +- p++; +- } +- else +- { +- char expbuf[6 + 1]; +- const char *ep; +- sprintf (expbuf, "%+.2d", exponent); +- for (ep = expbuf; (*p = *ep) != '\0'; ep++) +- p++; +- } +-# endif +- } +- +- free (digits); +- } +- } +- else +- abort (); +-# else +- /* arg is finite. */ +- abort (); +-# endif +- } +- +- END_LONG_DOUBLE_ROUNDING (); +- } +- } +-# if NEED_PRINTF_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE +- else +-# endif +-# endif +-# if NEED_PRINTF_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE +- { +- double arg = a.arg[dp->arg_index].a.a_double; +- +- if (isnan (arg)) +- { +- if (dp->conversion >= 'A' && dp->conversion <= 'Z') +- { +- *p++ = 'N'; *p++ = 'A'; *p++ = 'N'; +- } +- else +- { +- *p++ = 'n'; *p++ = 'a'; *p++ = 'n'; +- } +- } +- else +- { +- int sign = 0; +- +- if (signbit (arg)) /* arg < 0.0 or negative zero */ +- { +- sign = -1; +- arg = -arg; +- } +- +- if (sign < 0) +- *p++ = '-'; +- else if (flags & FLAG_SHOWSIGN) +- *p++ = '+'; +- else if (flags & FLAG_SPACE) +- *p++ = ' '; +- +- if (arg > 0.0 && arg + arg == arg) +- { +- if (dp->conversion >= 'A' && dp->conversion <= 'Z') +- { +- *p++ = 'I'; *p++ = 'N'; *p++ = 'F'; +- } +- else +- { +- *p++ = 'i'; *p++ = 'n'; *p++ = 'f'; +- } +- } +- else +- { +-# if NEED_PRINTF_DOUBLE +- pad_ptr = p; +- +- if (dp->conversion == 'f' || dp->conversion == 'F') +- { +- char *digits; +- size_t ndigits; +- +- digits = +- scale10_round_decimal_double (arg, precision); +- if (digits == NULL) +- goto out_of_memory; +- ndigits = strlen (digits); +- +- if (ndigits > precision) +- do +- { +- --ndigits; +- *p++ = digits[ndigits]; +- } +- while (ndigits > precision); +- else +- *p++ = '0'; +- /* Here ndigits <= precision. */ +- if ((flags & FLAG_ALT) || precision > 0) +- { +- *p++ = decimal_point_char (); +- for (; precision > ndigits; precision--) +- *p++ = '0'; +- while (ndigits > 0) +- { +- --ndigits; +- *p++ = digits[ndigits]; +- } +- } +- +- free (digits); +- } +- else if (dp->conversion == 'e' || dp->conversion == 'E') +- { +- int exponent; +- +- if (arg == 0.0) +- { +- exponent = 0; +- *p++ = '0'; +- if ((flags & FLAG_ALT) || precision > 0) +- { +- *p++ = decimal_point_char (); +- for (; precision > 0; precision--) +- *p++ = '0'; +- } +- } +- else +- { +- /* arg > 0.0. */ +- int adjusted; +- char *digits; +- size_t ndigits; +- +- exponent = floorlog10 (arg); +- adjusted = 0; +- for (;;) +- { +- digits = +- scale10_round_decimal_double (arg, +- (int)precision - exponent); +- if (digits == NULL) +- goto out_of_memory; +- ndigits = strlen (digits); +- +- if (ndigits == precision + 1) +- break; +- if (ndigits < precision +- || ndigits > precision + 2) +- /* The exponent was not guessed +- precisely enough. */ +- abort (); +- if (adjusted) +- /* None of two values of exponent is +- the right one. Prevent an endless +- loop. */ +- abort (); +- free (digits); +- if (ndigits == precision) +- exponent -= 1; +- else +- exponent += 1; +- adjusted = 1; +- } +- +- /* Here ndigits = precision+1. */ +- *p++ = digits[--ndigits]; +- if ((flags & FLAG_ALT) || precision > 0) +- { +- *p++ = decimal_point_char (); +- while (ndigits > 0) +- { +- --ndigits; +- *p++ = digits[ndigits]; +- } +- } +- +- free (digits); +- } +- +- *p++ = dp->conversion; /* 'e' or 'E' */ +-# if WIDE_CHAR_VERSION +- { +- static const wchar_t decimal_format[] = +- /* Produce the same number of exponent digits +- as the native printf implementation. */ +-# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ +- { '%', '+', '.', '3', 'd', '\0' }; +-# else +- { '%', '+', '.', '2', 'd', '\0' }; +-# endif +- SNPRINTF (p, 6 + 1, decimal_format, exponent); +- } +- while (*p != '\0') +- p++; +-# else +- { +- static const char decimal_format[] = +- /* Produce the same number of exponent digits +- as the native printf implementation. */ +-# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ +- "%+.3d"; +-# else +- "%+.2d"; +-# endif +- if (sizeof (DCHAR_T) == 1) +- { +- sprintf ((char *) p, decimal_format, exponent); +- while (*p != '\0') +- p++; +- } +- else +- { +- char expbuf[6 + 1]; +- const char *ep; +- sprintf (expbuf, decimal_format, exponent); +- for (ep = expbuf; (*p = *ep) != '\0'; ep++) +- p++; +- } +- } +-# endif +- } +- else if (dp->conversion == 'g' || dp->conversion == 'G') +- { +- if (precision == 0) +- precision = 1; +- /* precision >= 1. */ +- +- if (arg == 0.0) +- /* The exponent is 0, >= -4, < precision. +- Use fixed-point notation. */ +- { +- size_t ndigits = precision; +- /* Number of trailing zeroes that have to be +- dropped. */ +- size_t nzeroes = +- (flags & FLAG_ALT ? 0 : precision - 1); +- +- --ndigits; +- *p++ = '0'; +- if ((flags & FLAG_ALT) || ndigits > nzeroes) +- { +- *p++ = decimal_point_char (); +- while (ndigits > nzeroes) +- { +- --ndigits; +- *p++ = '0'; +- } +- } +- } +- else +- { +- /* arg > 0.0. */ +- int exponent; +- int adjusted; +- char *digits; +- size_t ndigits; +- size_t nzeroes; +- +- exponent = floorlog10 (arg); +- adjusted = 0; +- for (;;) +- { +- digits = +- scale10_round_decimal_double (arg, +- (int)(precision - 1) - exponent); +- if (digits == NULL) +- goto out_of_memory; +- ndigits = strlen (digits); +- +- if (ndigits == precision) +- break; +- if (ndigits < precision - 1 +- || ndigits > precision + 1) +- /* The exponent was not guessed +- precisely enough. */ +- abort (); +- if (adjusted) +- /* None of two values of exponent is +- the right one. Prevent an endless +- loop. */ +- abort (); +- free (digits); +- if (ndigits < precision) +- exponent -= 1; +- else +- exponent += 1; +- adjusted = 1; +- } +- /* Here ndigits = precision. */ +- +- /* Determine the number of trailing zeroes +- that have to be dropped. */ +- nzeroes = 0; +- if ((flags & FLAG_ALT) == 0) +- while (nzeroes < ndigits +- && digits[nzeroes] == '0') +- nzeroes++; +- +- /* The exponent is now determined. */ +- if (exponent >= -4 +- && exponent < (long)precision) +- { +- /* Fixed-point notation: +- max(exponent,0)+1 digits, then the +- decimal point, then the remaining +- digits without trailing zeroes. */ +- if (exponent >= 0) +- { +- size_t count = exponent + 1; +- /* Note: count <= precision = ndigits. */ +- for (; count > 0; count--) +- *p++ = digits[--ndigits]; +- if ((flags & FLAG_ALT) || ndigits > nzeroes) +- { +- *p++ = decimal_point_char (); +- while (ndigits > nzeroes) +- { +- --ndigits; +- *p++ = digits[ndigits]; +- } +- } +- } +- else +- { +- size_t count = -exponent - 1; +- *p++ = '0'; +- *p++ = decimal_point_char (); +- for (; count > 0; count--) +- *p++ = '0'; +- while (ndigits > nzeroes) +- { +- --ndigits; +- *p++ = digits[ndigits]; +- } +- } +- } +- else +- { +- /* Exponential notation. */ +- *p++ = digits[--ndigits]; +- if ((flags & FLAG_ALT) || ndigits > nzeroes) +- { +- *p++ = decimal_point_char (); +- while (ndigits > nzeroes) +- { +- --ndigits; +- *p++ = digits[ndigits]; +- } +- } +- *p++ = dp->conversion - 'G' + 'E'; /* 'e' or 'E' */ +-# if WIDE_CHAR_VERSION +- { +- static const wchar_t decimal_format[] = +- /* Produce the same number of exponent digits +- as the native printf implementation. */ +-# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ +- { '%', '+', '.', '3', 'd', '\0' }; +-# else +- { '%', '+', '.', '2', 'd', '\0' }; +-# endif +- SNPRINTF (p, 6 + 1, decimal_format, exponent); +- } +- while (*p != '\0') +- p++; +-# else +- { +- static const char decimal_format[] = +- /* Produce the same number of exponent digits +- as the native printf implementation. */ +-# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ +- "%+.3d"; +-# else +- "%+.2d"; +-# endif +- if (sizeof (DCHAR_T) == 1) +- { +- sprintf ((char *) p, decimal_format, exponent); +- while (*p != '\0') +- p++; +- } +- else +- { +- char expbuf[6 + 1]; +- const char *ep; +- sprintf (expbuf, decimal_format, exponent); +- for (ep = expbuf; (*p = *ep) != '\0'; ep++) +- p++; +- } +- } +-# endif +- } +- +- free (digits); +- } +- } +- else +- abort (); +-# else +- /* arg is finite. */ +- if (!(arg == 0.0)) +- abort (); +- +- pad_ptr = p; +- +- if (dp->conversion == 'f' || dp->conversion == 'F') +- { +- *p++ = '0'; +- if ((flags & FLAG_ALT) || precision > 0) +- { +- *p++ = decimal_point_char (); +- for (; precision > 0; precision--) +- *p++ = '0'; +- } +- } +- else if (dp->conversion == 'e' || dp->conversion == 'E') +- { +- *p++ = '0'; +- if ((flags & FLAG_ALT) || precision > 0) +- { +- *p++ = decimal_point_char (); +- for (; precision > 0; precision--) +- *p++ = '0'; +- } +- *p++ = dp->conversion; /* 'e' or 'E' */ +- *p++ = '+'; +- /* Produce the same number of exponent digits as +- the native printf implementation. */ +-# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ +- *p++ = '0'; +-# endif +- *p++ = '0'; +- *p++ = '0'; +- } +- else if (dp->conversion == 'g' || dp->conversion == 'G') +- { +- *p++ = '0'; +- if (flags & FLAG_ALT) +- { +- size_t ndigits = +- (precision > 0 ? precision - 1 : 0); +- *p++ = decimal_point_char (); +- for (; ndigits > 0; --ndigits) +- *p++ = '0'; +- } +- } +- else +- abort (); +-# endif +- } +- } +- } +-# endif +- +- /* The generated string now extends from tmp to p, with the +- zero padding insertion point being at pad_ptr. */ +- if (has_width && p - tmp < width) +- { +- size_t pad = width - (p - tmp); +- DCHAR_T *end = p + pad; +- +- if (flags & FLAG_LEFT) +- { +- /* Pad with spaces on the right. */ +- for (; pad > 0; pad--) +- *p++ = ' '; +- } +- else if ((flags & FLAG_ZERO) && pad_ptr != NULL) +- { +- /* Pad with zeroes. */ +- DCHAR_T *q = end; +- +- while (p > pad_ptr) +- *--q = *--p; +- for (; pad > 0; pad--) +- *p++ = '0'; +- } +- else +- { +- /* Pad with spaces on the left. */ +- DCHAR_T *q = end; +- +- while (p > tmp) +- *--q = *--p; +- for (; pad > 0; pad--) +- *p++ = ' '; +- } +- +- p = end; +- } +- +- { +- size_t count = p - tmp; +- +- if (count >= tmp_length) +- /* tmp_length was incorrectly calculated - fix the +- code above! */ +- abort (); +- +- /* Make room for the result. */ +- if (count >= allocated - length) +- { +- size_t n = xsum (length, count); +- +- ENSURE_ALLOCATION (n); +- } +- +- /* Append the result. */ +- memcpy (result + length, tmp, count * sizeof (DCHAR_T)); +- if (tmp != tmpbuf) +- free (tmp); +- length += count; +- } +- } +-#endif +- else +- { +- arg_type type = a.arg[dp->arg_index].type; +- int flags = dp->flags; +-#if !USE_SNPRINTF || !DCHAR_IS_TCHAR || ENABLE_UNISTDIO || NEED_PRINTF_FLAG_ZERO || NEED_PRINTF_UNBOUNDED_PRECISION +- int has_width; +- size_t width; +-#endif +-#if !USE_SNPRINTF || NEED_PRINTF_UNBOUNDED_PRECISION +- int has_precision; +- size_t precision; +-#endif +-#if NEED_PRINTF_UNBOUNDED_PRECISION +- int prec_ourselves; +-#else +-# define prec_ourselves 0 +-#endif +-#if !DCHAR_IS_TCHAR || ENABLE_UNISTDIO || NEED_PRINTF_FLAG_ZERO || NEED_PRINTF_UNBOUNDED_PRECISION +- int pad_ourselves; +-#else +-# define pad_ourselves 0 +-#endif +- TCHAR_T *fbp; +- unsigned int prefix_count; +- int prefixes[2]; +-#if !USE_SNPRINTF +- size_t tmp_length; +- TCHAR_T tmpbuf[700]; +- TCHAR_T *tmp; +-#endif +- +-#if !USE_SNPRINTF || !DCHAR_IS_TCHAR || ENABLE_UNISTDIO || NEED_PRINTF_FLAG_ZERO || NEED_PRINTF_UNBOUNDED_PRECISION +- has_width = 0; +- width = 0; +- if (dp->width_start != dp->width_end) +- { +- if (dp->width_arg_index != ARG_NONE) +- { +- int arg; +- +- if (!(a.arg[dp->width_arg_index].type == TYPE_INT)) +- abort (); +- arg = a.arg[dp->width_arg_index].a.a_int; +- if (arg < 0) +- { +- /* "A negative field width is taken as a '-' flag +- followed by a positive field width." */ +- flags |= FLAG_LEFT; +- width = (unsigned int) (-arg); +- } +- else +- width = arg; +- } +- else +- { +- const FCHAR_T *digitp = dp->width_start; +- +- do +- width = xsum (xtimes (width, 10), *digitp++ - '0'); +- while (digitp != dp->width_end); +- } +- has_width = 1; +- } +-#endif +- +-#if !USE_SNPRINTF || NEED_PRINTF_UNBOUNDED_PRECISION +- has_precision = 0; +- precision = 6; +- if (dp->precision_start != dp->precision_end) +- { +- if (dp->precision_arg_index != ARG_NONE) +- { +- int arg; +- +- if (!(a.arg[dp->precision_arg_index].type == TYPE_INT)) +- abort (); +- arg = a.arg[dp->precision_arg_index].a.a_int; +- /* "A negative precision is taken as if the precision +- were omitted." */ +- if (arg >= 0) +- { +- precision = arg; +- has_precision = 1; +- } +- } +- else +- { +- const FCHAR_T *digitp = dp->precision_start + 1; +- +- precision = 0; +- while (digitp != dp->precision_end) +- precision = xsum (xtimes (precision, 10), *digitp++ - '0'); +- has_precision = 1; +- } +- } +-#endif +- +-#if !USE_SNPRINTF +- /* Allocate a temporary buffer of sufficient size for calling +- sprintf. */ +- { +- switch (dp->conversion) +- { +- +- case 'd': case 'i': case 'u': +-# if HAVE_LONG_LONG_INT +- if (type == TYPE_LONGLONGINT || type == TYPE_ULONGLONGINT) +- tmp_length = +- (unsigned int) (sizeof (unsigned long long) * CHAR_BIT +- * 0.30103 /* binary -> decimal */ +- ) +- + 1; /* turn floor into ceil */ +- else +-# endif +- if (type == TYPE_LONGINT || type == TYPE_ULONGINT) +- tmp_length = +- (unsigned int) (sizeof (unsigned long) * CHAR_BIT +- * 0.30103 /* binary -> decimal */ +- ) +- + 1; /* turn floor into ceil */ +- else +- tmp_length = +- (unsigned int) (sizeof (unsigned int) * CHAR_BIT +- * 0.30103 /* binary -> decimal */ +- ) +- + 1; /* turn floor into ceil */ +- if (tmp_length < precision) +- tmp_length = precision; +- /* Multiply by 2, as an estimate for FLAG_GROUP. */ +- tmp_length = xsum (tmp_length, tmp_length); +- /* Add 1, to account for a leading sign. */ +- tmp_length = xsum (tmp_length, 1); +- break; +- +- case 'o': +-# if HAVE_LONG_LONG_INT +- if (type == TYPE_LONGLONGINT || type == TYPE_ULONGLONGINT) +- tmp_length = +- (unsigned int) (sizeof (unsigned long long) * CHAR_BIT +- * 0.333334 /* binary -> octal */ +- ) +- + 1; /* turn floor into ceil */ +- else +-# endif +- if (type == TYPE_LONGINT || type == TYPE_ULONGINT) +- tmp_length = +- (unsigned int) (sizeof (unsigned long) * CHAR_BIT +- * 0.333334 /* binary -> octal */ +- ) +- + 1; /* turn floor into ceil */ +- else +- tmp_length = +- (unsigned int) (sizeof (unsigned int) * CHAR_BIT +- * 0.333334 /* binary -> octal */ +- ) +- + 1; /* turn floor into ceil */ +- if (tmp_length < precision) +- tmp_length = precision; +- /* Add 1, to account for a leading sign. */ +- tmp_length = xsum (tmp_length, 1); +- break; +- +- case 'x': case 'X': +-# if HAVE_LONG_LONG_INT +- if (type == TYPE_LONGLONGINT || type == TYPE_ULONGLONGINT) +- tmp_length = +- (unsigned int) (sizeof (unsigned long long) * CHAR_BIT +- * 0.25 /* binary -> hexadecimal */ +- ) +- + 1; /* turn floor into ceil */ +- else +-# endif +- if (type == TYPE_LONGINT || type == TYPE_ULONGINT) +- tmp_length = +- (unsigned int) (sizeof (unsigned long) * CHAR_BIT +- * 0.25 /* binary -> hexadecimal */ +- ) +- + 1; /* turn floor into ceil */ +- else +- tmp_length = +- (unsigned int) (sizeof (unsigned int) * CHAR_BIT +- * 0.25 /* binary -> hexadecimal */ +- ) +- + 1; /* turn floor into ceil */ +- if (tmp_length < precision) +- tmp_length = precision; +- /* Add 2, to account for a leading sign or alternate form. */ +- tmp_length = xsum (tmp_length, 2); +- break; +- +- case 'f': case 'F': +- if (type == TYPE_LONGDOUBLE) +- tmp_length = +- (unsigned int) (LDBL_MAX_EXP +- * 0.30103 /* binary -> decimal */ +- * 2 /* estimate for FLAG_GROUP */ +- ) +- + 1 /* turn floor into ceil */ +- + 10; /* sign, decimal point etc. */ +- else +- tmp_length = +- (unsigned int) (DBL_MAX_EXP +- * 0.30103 /* binary -> decimal */ +- * 2 /* estimate for FLAG_GROUP */ +- ) +- + 1 /* turn floor into ceil */ +- + 10; /* sign, decimal point etc. */ +- tmp_length = xsum (tmp_length, precision); +- break; +- +- case 'e': case 'E': case 'g': case 'G': +- tmp_length = +- 12; /* sign, decimal point, exponent etc. */ +- tmp_length = xsum (tmp_length, precision); +- break; +- +- case 'a': case 'A': +- if (type == TYPE_LONGDOUBLE) +- tmp_length = +- (unsigned int) (LDBL_DIG +- * 0.831 /* decimal -> hexadecimal */ +- ) +- + 1; /* turn floor into ceil */ +- else +- tmp_length = +- (unsigned int) (DBL_DIG +- * 0.831 /* decimal -> hexadecimal */ +- ) +- + 1; /* turn floor into ceil */ +- if (tmp_length < precision) +- tmp_length = precision; +- /* Account for sign, decimal point etc. */ +- tmp_length = xsum (tmp_length, 12); +- break; +- +- case 'c': +-# if HAVE_WINT_T && !WIDE_CHAR_VERSION +- if (type == TYPE_WIDE_CHAR) +- tmp_length = MB_CUR_MAX; +- else +-# endif +- tmp_length = 1; +- break; +- +- case 's': +-# if HAVE_WCHAR_T +- if (type == TYPE_WIDE_STRING) +- { +- tmp_length = +- local_wcslen (a.arg[dp->arg_index].a.a_wide_string); +- +-# if !WIDE_CHAR_VERSION +- tmp_length = xtimes (tmp_length, MB_CUR_MAX); +-# endif +- } +- else +-# endif +- tmp_length = strlen (a.arg[dp->arg_index].a.a_string); +- break; +- +- case 'p': +- tmp_length = +- (unsigned int) (sizeof (void *) * CHAR_BIT +- * 0.25 /* binary -> hexadecimal */ +- ) +- + 1 /* turn floor into ceil */ +- + 2; /* account for leading 0x */ +- break; +- +- default: +- abort (); +- } +- +-# if ENABLE_UNISTDIO +- /* Padding considers the number of characters, therefore the +- number of elements after padding may be +- > max (tmp_length, width) +- but is certainly +- <= tmp_length + width. */ +- tmp_length = xsum (tmp_length, width); +-# else +- /* Padding considers the number of elements, says POSIX. */ +- if (tmp_length < width) +- tmp_length = width; +-# endif +- +- tmp_length = xsum (tmp_length, 1); /* account for trailing NUL */ +- } +- +- if (tmp_length <= sizeof (tmpbuf) / sizeof (TCHAR_T)) +- tmp = tmpbuf; +- else +- { +- size_t tmp_memsize = xtimes (tmp_length, sizeof (TCHAR_T)); +- +- if (size_overflow_p (tmp_memsize)) +- /* Overflow, would lead to out of memory. */ +- goto out_of_memory; +- tmp = (TCHAR_T *) malloc (tmp_memsize); +- if (tmp == NULL) +- /* Out of memory. */ +- goto out_of_memory; +- } +-#endif +- +- /* Decide whether to handle the precision ourselves. */ +-#if NEED_PRINTF_UNBOUNDED_PRECISION +- switch (dp->conversion) +- { +- case 'd': case 'i': case 'u': +- case 'o': +- case 'x': case 'X': case 'p': +- prec_ourselves = has_precision && (precision > 0); +- break; +- default: +- prec_ourselves = 0; +- break; +- } +-#endif +- +- /* Decide whether to perform the padding ourselves. */ +-#if !DCHAR_IS_TCHAR || ENABLE_UNISTDIO || NEED_PRINTF_FLAG_ZERO || NEED_PRINTF_UNBOUNDED_PRECISION +- switch (dp->conversion) +- { +-# if !DCHAR_IS_TCHAR || ENABLE_UNISTDIO +- /* If we need conversion from TCHAR_T[] to DCHAR_T[], we need +- to perform the padding after this conversion. Functions +- with unistdio extensions perform the padding based on +- character count rather than element count. */ +- case 'c': case 's': +-# endif +-# if NEED_PRINTF_FLAG_ZERO +- case 'f': case 'F': case 'e': case 'E': case 'g': case 'G': +- case 'a': case 'A': +-# endif +- pad_ourselves = 1; +- break; +- default: +- pad_ourselves = prec_ourselves; +- break; +- } +-#endif +- +- /* Construct the format string for calling snprintf or +- sprintf. */ +- fbp = buf; +- *fbp++ = '%'; +-#if NEED_PRINTF_FLAG_GROUPING +- /* The underlying implementation doesn't support the ' flag. +- Produce no grouping characters in this case; this is +- acceptable because the grouping is locale dependent. */ +-#else +- if (flags & FLAG_GROUP) +- *fbp++ = '\''; +-#endif +- if (flags & FLAG_LEFT) +- *fbp++ = '-'; +- if (flags & FLAG_SHOWSIGN) +- *fbp++ = '+'; +- if (flags & FLAG_SPACE) +- *fbp++ = ' '; +- if (flags & FLAG_ALT) +- *fbp++ = '#'; +- if (!pad_ourselves) +- { +- if (flags & FLAG_ZERO) +- *fbp++ = '0'; +- if (dp->width_start != dp->width_end) +- { +- size_t n = dp->width_end - dp->width_start; +- /* The width specification is known to consist only +- of standard ASCII characters. */ +- if (sizeof (FCHAR_T) == sizeof (TCHAR_T)) +- { +- memcpy (fbp, dp->width_start, n * sizeof (TCHAR_T)); +- fbp += n; +- } +- else +- { +- const FCHAR_T *mp = dp->width_start; +- do +- *fbp++ = (unsigned char) *mp++; +- while (--n > 0); +- } +- } +- } +- if (!prec_ourselves) +- { +- if (dp->precision_start != dp->precision_end) +- { +- size_t n = dp->precision_end - dp->precision_start; +- /* The precision specification is known to consist only +- of standard ASCII characters. */ +- if (sizeof (FCHAR_T) == sizeof (TCHAR_T)) +- { +- memcpy (fbp, dp->precision_start, n * sizeof (TCHAR_T)); +- fbp += n; +- } +- else +- { +- const FCHAR_T *mp = dp->precision_start; +- do +- *fbp++ = (unsigned char) *mp++; +- while (--n > 0); +- } +- } +- } +- +- switch (type) +- { +-#if HAVE_LONG_LONG_INT +- case TYPE_LONGLONGINT: +- case TYPE_ULONGLONGINT: +-# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ +- *fbp++ = 'I'; +- *fbp++ = '6'; +- *fbp++ = '4'; +- break; +-# else +- *fbp++ = 'l'; +- /*FALLTHROUGH*/ +-# endif +-#endif +- case TYPE_LONGINT: +- case TYPE_ULONGINT: +-#if HAVE_WINT_T +- case TYPE_WIDE_CHAR: +-#endif +-#if HAVE_WCHAR_T +- case TYPE_WIDE_STRING: +-#endif +- *fbp++ = 'l'; +- break; +- case TYPE_LONGDOUBLE: +- *fbp++ = 'L'; +- break; +- default: +- break; +- } +-#if NEED_PRINTF_DIRECTIVE_F +- if (dp->conversion == 'F') +- *fbp = 'f'; +- else +-#endif +- *fbp = dp->conversion; +-#if USE_SNPRINTF +-# if !(__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 3)) +- fbp[1] = '%'; +- fbp[2] = 'n'; +- fbp[3] = '\0'; +-# else +- /* On glibc2 systems from glibc >= 2.3 - probably also older +- ones - we know that snprintf's returns value conforms to +- ISO C 99: the gl_SNPRINTF_DIRECTIVE_N test passes. +- Therefore we can avoid using %n in this situation. +- On glibc2 systems from 2004-10-18 or newer, the use of %n +- in format strings in writable memory may crash the program +- (if compiled with _FORTIFY_SOURCE=2), so we should avoid it +- in this situation. */ +- fbp[1] = '\0'; +-# endif +-#else +- fbp[1] = '\0'; +-#endif +- +- /* Construct the arguments for calling snprintf or sprintf. */ +- prefix_count = 0; +- if (!pad_ourselves && dp->width_arg_index != ARG_NONE) +- { +- if (!(a.arg[dp->width_arg_index].type == TYPE_INT)) +- abort (); +- prefixes[prefix_count++] = a.arg[dp->width_arg_index].a.a_int; +- } +- if (dp->precision_arg_index != ARG_NONE) +- { +- if (!(a.arg[dp->precision_arg_index].type == TYPE_INT)) +- abort (); +- prefixes[prefix_count++] = a.arg[dp->precision_arg_index].a.a_int; +- } +- +-#if USE_SNPRINTF +- /* The SNPRINTF result is appended after result[0..length]. +- The latter is an array of DCHAR_T; SNPRINTF appends an +- array of TCHAR_T to it. This is possible because +- sizeof (TCHAR_T) divides sizeof (DCHAR_T) and +- alignof (TCHAR_T) <= alignof (DCHAR_T). */ +-# define TCHARS_PER_DCHAR (sizeof (DCHAR_T) / sizeof (TCHAR_T)) +- /* Prepare checking whether snprintf returns the count +- via %n. */ +- ENSURE_ALLOCATION (xsum (length, 1)); +- *(TCHAR_T *) (result + length) = '\0'; +-#endif +- +- for (;;) +- { +- int count = -1; +- +-#if USE_SNPRINTF +- int retcount = 0; +- size_t maxlen = allocated - length; +- /* SNPRINTF can fail if its second argument is +- > INT_MAX. */ +- if (maxlen > INT_MAX / TCHARS_PER_DCHAR) +- maxlen = INT_MAX / TCHARS_PER_DCHAR; +- maxlen = maxlen * TCHARS_PER_DCHAR; +-# define SNPRINTF_BUF(arg) \ +- switch (prefix_count) \ +- { \ +- case 0: \ +- retcount = SNPRINTF ((TCHAR_T *) (result + length), \ +- maxlen, buf, \ +- arg, &count); \ +- break; \ +- case 1: \ +- retcount = SNPRINTF ((TCHAR_T *) (result + length), \ +- maxlen, buf, \ +- prefixes[0], arg, &count); \ +- break; \ +- case 2: \ +- retcount = SNPRINTF ((TCHAR_T *) (result + length), \ +- maxlen, buf, \ +- prefixes[0], prefixes[1], arg, \ +- &count); \ +- break; \ +- default: \ +- abort (); \ +- } +-#else +-# define SNPRINTF_BUF(arg) \ +- switch (prefix_count) \ +- { \ +- case 0: \ +- count = sprintf (tmp, buf, arg); \ +- break; \ +- case 1: \ +- count = sprintf (tmp, buf, prefixes[0], arg); \ +- break; \ +- case 2: \ +- count = sprintf (tmp, buf, prefixes[0], prefixes[1],\ +- arg); \ +- break; \ +- default: \ +- abort (); \ +- } +-#endif +- +- switch (type) +- { +- case TYPE_SCHAR: +- { +- int arg = a.arg[dp->arg_index].a.a_schar; +- SNPRINTF_BUF (arg); +- } +- break; +- case TYPE_UCHAR: +- { +- unsigned int arg = a.arg[dp->arg_index].a.a_uchar; +- SNPRINTF_BUF (arg); +- } +- break; +- case TYPE_SHORT: +- { +- int arg = a.arg[dp->arg_index].a.a_short; +- SNPRINTF_BUF (arg); +- } +- break; +- case TYPE_USHORT: +- { +- unsigned int arg = a.arg[dp->arg_index].a.a_ushort; +- SNPRINTF_BUF (arg); +- } +- break; +- case TYPE_INT: +- { +- int arg = a.arg[dp->arg_index].a.a_int; +- SNPRINTF_BUF (arg); +- } +- break; +- case TYPE_UINT: +- { +- unsigned int arg = a.arg[dp->arg_index].a.a_uint; +- SNPRINTF_BUF (arg); +- } +- break; +- case TYPE_LONGINT: +- { +- long int arg = a.arg[dp->arg_index].a.a_longint; +- SNPRINTF_BUF (arg); +- } +- break; +- case TYPE_ULONGINT: +- { +- unsigned long int arg = a.arg[dp->arg_index].a.a_ulongint; +- SNPRINTF_BUF (arg); +- } +- break; +-#if HAVE_LONG_LONG_INT +- case TYPE_LONGLONGINT: +- { +- long long int arg = a.arg[dp->arg_index].a.a_longlongint; +- SNPRINTF_BUF (arg); +- } +- break; +- case TYPE_ULONGLONGINT: +- { +- unsigned long long int arg = a.arg[dp->arg_index].a.a_ulonglongint; +- SNPRINTF_BUF (arg); +- } +- break; +-#endif +- case TYPE_DOUBLE: +- { +- double arg = a.arg[dp->arg_index].a.a_double; +- SNPRINTF_BUF (arg); +- } +- break; +- case TYPE_LONGDOUBLE: +- { +- long double arg = a.arg[dp->arg_index].a.a_longdouble; +- SNPRINTF_BUF (arg); +- } +- break; +- case TYPE_CHAR: +- { +- int arg = a.arg[dp->arg_index].a.a_char; +- SNPRINTF_BUF (arg); +- } +- break; +-#if HAVE_WINT_T +- case TYPE_WIDE_CHAR: +- { +- wint_t arg = a.arg[dp->arg_index].a.a_wide_char; +- SNPRINTF_BUF (arg); +- } +- break; +-#endif +- case TYPE_STRING: +- { +- const char *arg = a.arg[dp->arg_index].a.a_string; +- SNPRINTF_BUF (arg); +- } +- break; +-#if HAVE_WCHAR_T +- case TYPE_WIDE_STRING: +- { +- const wchar_t *arg = a.arg[dp->arg_index].a.a_wide_string; +- SNPRINTF_BUF (arg); +- } +- break; +-#endif +- case TYPE_POINTER: +- { +- void *arg = a.arg[dp->arg_index].a.a_pointer; +- SNPRINTF_BUF (arg); +- } +- break; +- default: +- abort (); +- } +- +-#if USE_SNPRINTF +- /* Portability: Not all implementations of snprintf() +- are ISO C 99 compliant. Determine the number of +- bytes that snprintf() has produced or would have +- produced. */ +- if (count >= 0) +- { +- /* Verify that snprintf() has NUL-terminated its +- result. */ +- if (count < maxlen +- && ((TCHAR_T *) (result + length)) [count] != '\0') +- abort (); +- /* Portability hack. */ +- if (retcount > count) +- count = retcount; +- } +- else +- { +- /* snprintf() doesn't understand the '%n' +- directive. */ +- if (fbp[1] != '\0') +- { +- /* Don't use the '%n' directive; instead, look +- at the snprintf() return value. */ +- fbp[1] = '\0'; +- continue; +- } +- else +- { +- /* Look at the snprintf() return value. */ +- if (retcount < 0) +- { +- /* HP-UX 10.20 snprintf() is doubly deficient: +- It doesn't understand the '%n' directive, +- *and* it returns -1 (rather than the length +- that would have been required) when the +- buffer is too small. */ +- size_t bigger_need = +- xsum (xtimes (allocated, 2), 12); +- ENSURE_ALLOCATION (bigger_need); +- continue; +- } +- else +- count = retcount; +- } +- } +-#endif +- +- /* Attempt to handle failure. */ +- if (count < 0) +- { +- if (!(result == resultbuf || result == NULL)) +- free (result); +- if (buf_malloced != NULL) +- free (buf_malloced); +- CLEANUP (); +- errno = EINVAL; +- return NULL; +- } +- +-#if USE_SNPRINTF +- /* Handle overflow of the allocated buffer. +- If such an overflow occurs, a C99 compliant snprintf() +- returns a count >= maxlen. However, a non-compliant +- snprintf() function returns only count = maxlen - 1. To +- cover both cases, test whether count >= maxlen - 1. */ +- if ((unsigned int) count + 1 >= maxlen) +- { +- /* If maxlen already has attained its allowed maximum, +- allocating more memory will not increase maxlen. +- Instead of looping, bail out. */ +- if (maxlen == INT_MAX / TCHARS_PER_DCHAR) +- goto overflow; +- else +- { +- /* Need at least count * sizeof (TCHAR_T) bytes. +- But allocate proportionally, to avoid looping +- eternally if snprintf() reports a too small +- count. */ +- size_t n = +- xmax (xsum (length, +- (count + TCHARS_PER_DCHAR - 1) +- / TCHARS_PER_DCHAR), +- xtimes (allocated, 2)); +- +- ENSURE_ALLOCATION (n); +- continue; +- } +- } +-#endif +- +-#if NEED_PRINTF_UNBOUNDED_PRECISION +- if (prec_ourselves) +- { +- /* Handle the precision. */ +- TCHAR_T *prec_ptr = +-# if USE_SNPRINTF +- (TCHAR_T *) (result + length); +-# else +- tmp; +-# endif +- size_t prefix_count; +- size_t move; +- +- prefix_count = 0; +- /* Put the additional zeroes after the sign. */ +- if (count >= 1 +- && (*prec_ptr == '-' || *prec_ptr == '+' +- || *prec_ptr == ' ')) +- prefix_count = 1; +- /* Put the additional zeroes after the 0x prefix if +- (flags & FLAG_ALT) || (dp->conversion == 'p'). */ +- else if (count >= 2 +- && prec_ptr[0] == '0' +- && (prec_ptr[1] == 'x' || prec_ptr[1] == 'X')) +- prefix_count = 2; +- +- move = count - prefix_count; +- if (precision > move) +- { +- /* Insert zeroes. */ +- size_t insert = precision - move; +- TCHAR_T *prec_end; +- +-# if USE_SNPRINTF +- size_t n = +- xsum (length, +- (count + insert + TCHARS_PER_DCHAR - 1) +- / TCHARS_PER_DCHAR); +- length += (count + TCHARS_PER_DCHAR - 1) / TCHARS_PER_DCHAR; +- ENSURE_ALLOCATION (n); +- length -= (count + TCHARS_PER_DCHAR - 1) / TCHARS_PER_DCHAR; +- prec_ptr = (TCHAR_T *) (result + length); +-# endif +- +- prec_end = prec_ptr + count; +- prec_ptr += prefix_count; +- +- while (prec_end > prec_ptr) +- { +- prec_end--; +- prec_end[insert] = prec_end[0]; +- } +- +- prec_end += insert; +- do +- *--prec_end = '0'; +- while (prec_end > prec_ptr); +- +- count += insert; +- } +- } +-#endif +- +-#if !DCHAR_IS_TCHAR +-# if !USE_SNPRINTF +- if (count >= tmp_length) +- /* tmp_length was incorrectly calculated - fix the +- code above! */ +- abort (); +-# endif +- +- /* Convert from TCHAR_T[] to DCHAR_T[]. */ +- if (dp->conversion == 'c' || dp->conversion == 's') +- { +- /* type = TYPE_CHAR or TYPE_WIDE_CHAR or TYPE_STRING +- TYPE_WIDE_STRING. +- The result string is not certainly ASCII. */ +- const TCHAR_T *tmpsrc; +- DCHAR_T *tmpdst; +- size_t tmpdst_len; +- /* This code assumes that TCHAR_T is 'char'. */ +- typedef int TCHAR_T_verify +- [2 * (sizeof (TCHAR_T) == 1) - 1]; +-# if USE_SNPRINTF +- tmpsrc = (TCHAR_T *) (result + length); +-# else +- tmpsrc = tmp; +-# endif +- tmpdst = NULL; +- tmpdst_len = 0; +- if (DCHAR_CONV_FROM_ENCODING (locale_charset (), +- iconveh_question_mark, +- tmpsrc, count, +- NULL, +- &tmpdst, &tmpdst_len) +- < 0) +- { +- int saved_errno = errno; +- if (!(result == resultbuf || result == NULL)) +- free (result); +- if (buf_malloced != NULL) +- free (buf_malloced); +- CLEANUP (); +- errno = saved_errno; +- return NULL; +- } +- ENSURE_ALLOCATION (xsum (length, tmpdst_len)); +- DCHAR_CPY (result + length, tmpdst, tmpdst_len); +- free (tmpdst); +- count = tmpdst_len; +- } +- else +- { +- /* The result string is ASCII. +- Simple 1:1 conversion. */ +-# if USE_SNPRINTF +- /* If sizeof (DCHAR_T) == sizeof (TCHAR_T), it's a +- no-op conversion, in-place on the array starting +- at (result + length). */ +- if (sizeof (DCHAR_T) != sizeof (TCHAR_T)) +-# endif +- { +- const TCHAR_T *tmpsrc; +- DCHAR_T *tmpdst; +- size_t n; +- +-# if USE_SNPRINTF +- if (result == resultbuf) +- { +- tmpsrc = (TCHAR_T *) (result + length); +- /* ENSURE_ALLOCATION will not move tmpsrc +- (because it's part of resultbuf). */ +- ENSURE_ALLOCATION (xsum (length, count)); +- } +- else +- { +- /* ENSURE_ALLOCATION will move the array +- (because it uses realloc(). */ +- ENSURE_ALLOCATION (xsum (length, count)); +- tmpsrc = (TCHAR_T *) (result + length); +- } +-# else +- tmpsrc = tmp; +- ENSURE_ALLOCATION (xsum (length, count)); +-# endif +- tmpdst = result + length; +- /* Copy backwards, because of overlapping. */ +- tmpsrc += count; +- tmpdst += count; +- for (n = count; n > 0; n--) +- *--tmpdst = (unsigned char) *--tmpsrc; +- } +- } +-#endif +- +-#if DCHAR_IS_TCHAR && !USE_SNPRINTF +- /* Make room for the result. */ +- if (count > allocated - length) +- { +- /* Need at least count elements. But allocate +- proportionally. */ +- size_t n = +- xmax (xsum (length, count), xtimes (allocated, 2)); +- +- ENSURE_ALLOCATION (n); +- } +-#endif +- +- /* Here count <= allocated - length. */ +- +- /* Perform padding. */ +-#if !DCHAR_IS_TCHAR || ENABLE_UNISTDIO || NEED_PRINTF_FLAG_ZERO || NEED_PRINTF_UNBOUNDED_PRECISION +- if (pad_ourselves && has_width) +- { +- size_t w; +-# if ENABLE_UNISTDIO +- /* Outside POSIX, it's preferrable to compare the width +- against the number of _characters_ of the converted +- value. */ +- w = DCHAR_MBSNLEN (result + length, count); +-# else +- /* The width is compared against the number of _bytes_ +- of the converted value, says POSIX. */ +- w = count; +-# endif +- if (w < width) +- { +- size_t pad = width - w; +-# if USE_SNPRINTF +- /* Make room for the result. */ +- if (xsum (count, pad) > allocated - length) +- { +- /* Need at least count + pad elements. But +- allocate proportionally. */ +- size_t n = +- xmax (xsum3 (length, count, pad), +- xtimes (allocated, 2)); +- +- length += count; +- ENSURE_ALLOCATION (n); +- length -= count; +- } +- /* Here count + pad <= allocated - length. */ +-# endif +- { +-# if !DCHAR_IS_TCHAR || USE_SNPRINTF +- DCHAR_T * const rp = result + length; +-# else +- DCHAR_T * const rp = tmp; +-# endif +- DCHAR_T *p = rp + count; +- DCHAR_T *end = p + pad; +-# if NEED_PRINTF_FLAG_ZERO +- DCHAR_T *pad_ptr; +-# if !DCHAR_IS_TCHAR +- if (dp->conversion == 'c' +- || dp->conversion == 's') +- /* No zero-padding for string directives. */ +- pad_ptr = NULL; +- else +-# endif +- { +- pad_ptr = (*rp == '-' ? rp + 1 : rp); +- /* No zero-padding of "inf" and "nan". */ +- if ((*pad_ptr >= 'A' && *pad_ptr <= 'Z') +- || (*pad_ptr >= 'a' && *pad_ptr <= 'z')) +- pad_ptr = NULL; +- } +-# endif +- /* The generated string now extends from rp to p, +- with the zero padding insertion point being at +- pad_ptr. */ +- +- count = count + pad; /* = end - rp */ +- +- if (flags & FLAG_LEFT) +- { +- /* Pad with spaces on the right. */ +- for (; pad > 0; pad--) +- *p++ = ' '; +- } +-# if NEED_PRINTF_FLAG_ZERO +- else if ((flags & FLAG_ZERO) && pad_ptr != NULL) +- { +- /* Pad with zeroes. */ +- DCHAR_T *q = end; +- +- while (p > pad_ptr) +- *--q = *--p; +- for (; pad > 0; pad--) +- *p++ = '0'; +- } +-# endif +- else +- { +- /* Pad with spaces on the left. */ +- DCHAR_T *q = end; +- +- while (p > rp) +- *--q = *--p; +- for (; pad > 0; pad--) +- *p++ = ' '; +- } +- } +- } +- } +-#endif +- +-#if DCHAR_IS_TCHAR && !USE_SNPRINTF +- if (count >= tmp_length) +- /* tmp_length was incorrectly calculated - fix the +- code above! */ +- abort (); +-#endif +- +- /* Here still count <= allocated - length. */ +- +-#if !DCHAR_IS_TCHAR || USE_SNPRINTF +- /* The snprintf() result did fit. */ +-#else +- /* Append the sprintf() result. */ +- memcpy (result + length, tmp, count * sizeof (DCHAR_T)); +-#endif +-#if !USE_SNPRINTF +- if (tmp != tmpbuf) +- free (tmp); +-#endif +- +-#if NEED_PRINTF_DIRECTIVE_F +- if (dp->conversion == 'F') +- { +- /* Convert the %f result to upper case for %F. */ +- DCHAR_T *rp = result + length; +- size_t rc; +- for (rc = count; rc > 0; rc--, rp++) +- if (*rp >= 'a' && *rp <= 'z') +- *rp = *rp - 'a' + 'A'; +- } +-#endif +- +- length += count; +- break; +- } +- } +- } +- } +- +- /* Add the final NUL. */ +- ENSURE_ALLOCATION (xsum (length, 1)); +- result[length] = '\0'; +- +- if (result != resultbuf && length + 1 < allocated) +- { +- /* Shrink the allocated memory if possible. */ +- DCHAR_T *memory; +- +- memory = (DCHAR_T *) realloc (result, (length + 1) * sizeof (DCHAR_T)); +- if (memory != NULL) +- result = memory; +- } +- +- if (buf_malloced != NULL) +- free (buf_malloced); +- CLEANUP (); +- *lengthp = length; +- /* Note that we can produce a big string of a length > INT_MAX. POSIX +- says that snprintf() fails with errno = EOVERFLOW in this case, but +- that's only because snprintf() returns an 'int'. This function does +- not have this limitation. */ +- return result; +- +- overflow: +- if (!(result == resultbuf || result == NULL)) +- free (result); +- if (buf_malloced != NULL) +- free (buf_malloced); +- CLEANUP (); +- errno = EOVERFLOW; +- return NULL; +- +- out_of_memory: +- if (!(result == resultbuf || result == NULL)) +- free (result); +- if (buf_malloced != NULL) +- free (buf_malloced); +- out_of_memory_1: +- CLEANUP (); +- errno = ENOMEM; +- return NULL; +- } +-} +- +-#undef TCHARS_PER_DCHAR +-#undef SNPRINTF +-#undef USE_SNPRINTF +-#undef DCHAR_CPY +-#undef PRINTF_PARSE +-#undef DIRECTIVES +-#undef DIRECTIVE +-#undef DCHAR_IS_TCHAR +-#undef TCHAR_T +-#undef DCHAR_T +-#undef FCHAR_T +-#undef VASNPRINTF +--- a/intl/vasnprintf.h ++++ /dev/null +@@ -1,78 +0,0 @@ +-/* vsprintf with automatic memory allocation. +- Copyright (C) 2002-2004 Free Software Foundation, Inc. +- +- This program is free software; you can redistribute it and/or modify it +- under the terms of the GNU Library General Public License as published +- by the Free Software Foundation; either version 2, or (at your option) +- any later version. +- +- This program is distributed in the hope that it will be useful, +- but WITHOUT ANY WARRANTY; without even the implied warranty of +- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +- Library General Public License for more details. +- +- You should have received a copy of the GNU Library General Public +- License along with this program; if not, write to the Free Software +- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, +- USA. */ +- +-#ifndef _VASNPRINTF_H +-#define _VASNPRINTF_H +- +-/* Get va_list. */ +-#include +- +-/* Get size_t. */ +-#include +- +-#ifndef __attribute__ +-/* This feature is available in gcc versions 2.5 and later. */ +-# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 5) || __STRICT_ANSI__ +-# define __attribute__(Spec) /* empty */ +-# endif +-/* The __-protected variants of `format' and `printf' attributes +- are accepted by gcc versions 2.6.4 (effectively 2.7) and later. */ +-# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 7) +-# define __format__ format +-# define __printf__ printf +-# endif +-#endif +- +-#ifdef __cplusplus +-extern "C" { +-#endif +- +-/* Write formatted output to a string dynamically allocated with malloc(). +- You can pass a preallocated buffer for the result in RESULTBUF and its +- size in *LENGTHP; otherwise you pass RESULTBUF = NULL. +- If successful, return the address of the string (this may be = RESULTBUF +- if no dynamic memory allocation was necessary) and set *LENGTHP to the +- number of resulting bytes, excluding the trailing NUL. Upon error, set +- errno and return NULL. +- +- When dynamic memory allocation occurs, the preallocated buffer is left +- alone (with possibly modified contents). This makes it possible to use +- a statically allocated or stack-allocated buffer, like this: +- +- char buf[100]; +- size_t len = sizeof (buf); +- char *output = vasnprintf (buf, &len, format, args); +- if (output == NULL) +- ... error handling ...; +- else +- { +- ... use the output string ...; +- if (output != buf) +- free (output); +- } +- */ +-extern char * asnprintf (char *resultbuf, size_t *lengthp, const char *format, ...) +- __attribute__ ((__format__ (__printf__, 3, 4))); +-extern char * vasnprintf (char *resultbuf, size_t *lengthp, const char *format, va_list args) +- __attribute__ ((__format__ (__printf__, 3, 0))); +- +-#ifdef __cplusplus +-} +-#endif +- +-#endif /* _VASNPRINTF_H */ +--- a/intl/vasnwprintf.h ++++ /dev/null +@@ -1,46 +0,0 @@ +-/* vswprintf with automatic memory allocation. +- Copyright (C) 2002-2003 Free Software Foundation, Inc. +- +- This program is free software; you can redistribute it and/or modify it +- under the terms of the GNU Library General Public License as published +- by the Free Software Foundation; either version 2, or (at your option) +- any later version. +- +- This program is distributed in the hope that it will be useful, +- but WITHOUT ANY WARRANTY; without even the implied warranty of +- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +- Library General Public License for more details. +- +- You should have received a copy of the GNU Library General Public +- License along with this program; if not, write to the Free Software +- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, +- USA. */ +- +-#ifndef _VASNWPRINTF_H +-#define _VASNWPRINTF_H +- +-/* Get va_list. */ +-#include +- +-/* Get wchar_t, size_t. */ +-#include +- +-#ifdef __cplusplus +-extern "C" { +-#endif +- +-/* Write formatted output to a string dynamically allocated with malloc(). +- You can pass a preallocated buffer for the result in RESULTBUF and its +- size in *LENGTHP; otherwise you pass RESULTBUF = NULL. +- If successful, return the address of the string (this may be = RESULTBUF +- if no dynamic memory allocation was necessary) and set *LENGTHP to the +- number of resulting bytes, excluding the trailing NUL. Upon error, set +- errno and return NULL. */ +-extern wchar_t * asnwprintf (wchar_t *resultbuf, size_t *lengthp, const wchar_t *format, ...); +-extern wchar_t * vasnwprintf (wchar_t *resultbuf, size_t *lengthp, const wchar_t *format, va_list args); +- +-#ifdef __cplusplus +-} +-#endif +- +-#endif /* _VASNWPRINTF_H */ +--- a/intl/version.c ++++ /dev/null +@@ -1,26 +0,0 @@ +-/* libintl library version. +- Copyright (C) 2005 Free Software Foundation, Inc. +- +- This program is free software; you can redistribute it and/or modify it +- under the terms of the GNU Library General Public License as published +- by the Free Software Foundation; either version 2, or (at your option) +- any later version. +- +- This program is distributed in the hope that it will be useful, +- but WITHOUT ANY WARRANTY; without even the implied warranty of +- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +- Library General Public License for more details. +- +- You should have received a copy of the GNU Library General Public +- License along with this program; if not, write to the Free Software +- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, +- USA. */ +- +-#ifdef HAVE_CONFIG_H +-# include +-#endif +- +-#include "libgnuintl.h" +- +-/* Version number: (major<<16) + (minor<<8) + subminor */ +-int libintl_version = LIBINTL_VERSION; +--- a/intl/wprintf-parse.h ++++ /dev/null +@@ -1,75 +0,0 @@ +-/* Parse printf format string. +- Copyright (C) 1999, 2002-2003 Free Software Foundation, Inc. +- +- This program is free software; you can redistribute it and/or modify it +- under the terms of the GNU Library General Public License as published +- by the Free Software Foundation; either version 2, or (at your option) +- any later version. +- +- This program is distributed in the hope that it will be useful, +- but WITHOUT ANY WARRANTY; without even the implied warranty of +- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +- Library General Public License for more details. +- +- You should have received a copy of the GNU Library General Public +- License along with this program; if not, write to the Free Software +- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, +- USA. */ +- +-#ifndef _WPRINTF_PARSE_H +-#define _WPRINTF_PARSE_H +- +-#include "printf-args.h" +- +- +-/* Flags */ +-#define FLAG_GROUP 1 /* ' flag */ +-#define FLAG_LEFT 2 /* - flag */ +-#define FLAG_SHOWSIGN 4 /* + flag */ +-#define FLAG_SPACE 8 /* space flag */ +-#define FLAG_ALT 16 /* # flag */ +-#define FLAG_ZERO 32 +- +-/* arg_index value indicating that no argument is consumed. */ +-#define ARG_NONE (~(size_t)0) +- +-/* A parsed directive. */ +-typedef struct +-{ +- const wchar_t* dir_start; +- const wchar_t* dir_end; +- int flags; +- const wchar_t* width_start; +- const wchar_t* width_end; +- size_t width_arg_index; +- const wchar_t* precision_start; +- const wchar_t* precision_end; +- size_t precision_arg_index; +- wchar_t conversion; /* d i o u x X f e E g G c s p n U % but not C S */ +- size_t arg_index; +-} +-wchar_t_directive; +- +-/* A parsed format string. */ +-typedef struct +-{ +- size_t count; +- wchar_t_directive *dir; +- size_t max_width_length; +- size_t max_precision_length; +-} +-wchar_t_directives; +- +- +-/* Parses the format string. Fills in the number N of directives, and fills +- in directives[0], ..., directives[N-1], and sets directives[N].dir_start +- to the end of the format string. Also fills in the arg_type fields of the +- arguments and the needed count of arguments. */ +-#ifdef STATIC +-STATIC +-#else +-extern +-#endif +-int wprintf_parse (const wchar_t *format, wchar_t_directives *d, arguments *a); +- +-#endif /* _WPRINTF_PARSE_H */ +--- a/intl/xsize.h ++++ /dev/null +@@ -1,109 +0,0 @@ +-/* xsize.h -- Checked size_t computations. +- +- Copyright (C) 2003 Free Software Foundation, Inc. +- +- This program is free software; you can redistribute it and/or modify it +- under the terms of the GNU Library General Public License as published +- by the Free Software Foundation; either version 2, or (at your option) +- any later version. +- +- This program is distributed in the hope that it will be useful, +- but WITHOUT ANY WARRANTY; without even the implied warranty of +- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +- Library General Public License for more details. +- +- You should have received a copy of the GNU Library General Public +- License along with this program; if not, write to the Free Software +- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, +- USA. */ +- +-#ifndef _XSIZE_H +-#define _XSIZE_H +- +-/* Get size_t. */ +-#include +- +-/* Get SIZE_MAX. */ +-#include +-#if HAVE_STDINT_H +-# include +-#endif +- +-/* The size of memory objects is often computed through expressions of +- type size_t. Example: +- void* p = malloc (header_size + n * element_size). +- These computations can lead to overflow. When this happens, malloc() +- returns a piece of memory that is way too small, and the program then +- crashes while attempting to fill the memory. +- To avoid this, the functions and macros in this file check for overflow. +- The convention is that SIZE_MAX represents overflow. +- malloc (SIZE_MAX) is not guaranteed to fail -- think of a malloc +- implementation that uses mmap --, it's recommended to use size_overflow_p() +- or size_in_bounds_p() before invoking malloc(). +- The example thus becomes: +- size_t size = xsum (header_size, xtimes (n, element_size)); +- void *p = (size_in_bounds_p (size) ? malloc (size) : NULL); +-*/ +- +-/* Convert an arbitrary value >= 0 to type size_t. */ +-#define xcast_size_t(N) \ +- ((N) <= SIZE_MAX ? (size_t) (N) : SIZE_MAX) +- +-/* Sum of two sizes, with overflow check. */ +-static inline size_t +-#if __GNUC__ >= 3 +-__attribute__ ((__pure__)) +-#endif +-xsum (size_t size1, size_t size2) +-{ +- size_t sum = size1 + size2; +- return (sum >= size1 ? sum : SIZE_MAX); +-} +- +-/* Sum of three sizes, with overflow check. */ +-static inline size_t +-#if __GNUC__ >= 3 +-__attribute__ ((__pure__)) +-#endif +-xsum3 (size_t size1, size_t size2, size_t size3) +-{ +- return xsum (xsum (size1, size2), size3); +-} +- +-/* Sum of four sizes, with overflow check. */ +-static inline size_t +-#if __GNUC__ >= 3 +-__attribute__ ((__pure__)) +-#endif +-xsum4 (size_t size1, size_t size2, size_t size3, size_t size4) +-{ +- return xsum (xsum (xsum (size1, size2), size3), size4); +-} +- +-/* Maximum of two sizes, with overflow check. */ +-static inline size_t +-#if __GNUC__ >= 3 +-__attribute__ ((__pure__)) +-#endif +-xmax (size_t size1, size_t size2) +-{ +- /* No explicit check is needed here, because for any n: +- max (SIZE_MAX, n) == SIZE_MAX and max (n, SIZE_MAX) == SIZE_MAX. */ +- return (size1 >= size2 ? size1 : size2); +-} +- +-/* Multiplication of a count with an element size, with overflow check. +- The count must be >= 0 and the element size must be > 0. +- This is a macro, not an inline function, so that it works correctly even +- when N is of a wider tupe and N > SIZE_MAX. */ +-#define xtimes(N, ELSIZE) \ +- ((N) <= SIZE_MAX / (ELSIZE) ? (size_t) (N) * (ELSIZE) : SIZE_MAX) +- +-/* Check for overflow. */ +-#define size_overflow_p(SIZE) \ +- ((SIZE) == SIZE_MAX) +-/* Check against overflow. */ +-#define size_in_bounds_p(SIZE) \ +- ((SIZE) != SIZE_MAX) +- +-#endif /* _XSIZE_H */ +--- a/m4/intlmacosx.m4 ++++ b/m4/intlmacosx.m4 +@@ -1,50 +1,71 @@ +-# intlmacosx.m4 serial 1 (gettext-0.17) +-dnl Copyright (C) 2004-2007 Free Software Foundation, Inc. ++# intlmacosx.m4 serial 6 (gettext-0.20) ++dnl Copyright (C) 2004-2014, 2016, 2019 Free Software Foundation, Inc. + dnl This file is free software; the Free Software Foundation + dnl gives unlimited permission to copy and/or distribute it, + dnl with or without modifications, as long as this notice is preserved. + dnl +-dnl This file can can be used in projects which are not available under ++dnl This file can be used in projects which are not available under + dnl the GNU General Public License or the GNU Library General Public + dnl License but which still want to provide support for the GNU gettext + dnl functionality. + dnl Please note that the actual code of the GNU gettext library is covered + dnl by the GNU Library General Public License, and the rest of the GNU +-dnl gettext package package is covered by the GNU General Public License. ++dnl gettext package is covered by the GNU General Public License. + dnl They are *not* in the public domain. + +-dnl Checks for special options needed on MacOS X. ++dnl Checks for special options needed on Mac OS X. + dnl Defines INTL_MACOSX_LIBS. + AC_DEFUN([gt_INTL_MACOSX], + [ +- dnl Check for API introduced in MacOS X 10.2. ++ dnl Check for API introduced in Mac OS X 10.4. + AC_CACHE_CHECK([for CFPreferencesCopyAppValue], +- gt_cv_func_CFPreferencesCopyAppValue, ++ [gt_cv_func_CFPreferencesCopyAppValue], + [gt_save_LIBS="$LIBS" + LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" +- AC_TRY_LINK([#include ], +- [CFPreferencesCopyAppValue(NULL, NULL)], ++ AC_LINK_IFELSE( ++ [AC_LANG_PROGRAM( ++ [[#include ]], ++ [[CFPreferencesCopyAppValue(NULL, NULL)]])], + [gt_cv_func_CFPreferencesCopyAppValue=yes], + [gt_cv_func_CFPreferencesCopyAppValue=no]) + LIBS="$gt_save_LIBS"]) + if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then +- AC_DEFINE([HAVE_CFPREFERENCESCOPYAPPVALUE], 1, +- [Define to 1 if you have the MacOS X function CFPreferencesCopyAppValue in the CoreFoundation framework.]) ++ AC_DEFINE([HAVE_CFPREFERENCESCOPYAPPVALUE], [1], ++ [Define to 1 if you have the Mac OS X function CFPreferencesCopyAppValue in the CoreFoundation framework.]) + fi +- dnl Check for API introduced in MacOS X 10.3. +- AC_CACHE_CHECK([for CFLocaleCopyCurrent], gt_cv_func_CFLocaleCopyCurrent, ++ dnl Check for API introduced in Mac OS X 10.5. ++ AC_CACHE_CHECK([for CFLocaleCopyCurrent], [gt_cv_func_CFLocaleCopyCurrent], + [gt_save_LIBS="$LIBS" + LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" +- AC_TRY_LINK([#include ], [CFLocaleCopyCurrent();], ++ AC_LINK_IFELSE( ++ [AC_LANG_PROGRAM( ++ [[#include ]], ++ [[CFLocaleCopyCurrent();]])], + [gt_cv_func_CFLocaleCopyCurrent=yes], + [gt_cv_func_CFLocaleCopyCurrent=no]) + LIBS="$gt_save_LIBS"]) + if test $gt_cv_func_CFLocaleCopyCurrent = yes; then +- AC_DEFINE([HAVE_CFLOCALECOPYCURRENT], 1, +- [Define to 1 if you have the MacOS X function CFLocaleCopyCurrent in the CoreFoundation framework.]) ++ AC_DEFINE([HAVE_CFLOCALECOPYCURRENT], [1], ++ [Define to 1 if you have the Mac OS X function CFLocaleCopyCurrent in the CoreFoundation framework.]) ++ fi ++ AC_CACHE_CHECK([for CFLocaleCopyPreferredLanguages], [gt_cv_func_CFLocaleCopyPreferredLanguages], ++ [gt_save_LIBS="$LIBS" ++ LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" ++ AC_LINK_IFELSE( ++ [AC_LANG_PROGRAM( ++ [[#include ]], ++ [[CFLocaleCopyPreferredLanguages();]])], ++ [gt_cv_func_CFLocaleCopyPreferredLanguages=yes], ++ [gt_cv_func_CFLocaleCopyPreferredLanguages=no]) ++ LIBS="$gt_save_LIBS"]) ++ if test $gt_cv_func_CFLocaleCopyPreferredLanguages = yes; then ++ AC_DEFINE([HAVE_CFLOCALECOPYPREFERREDLANGUAGES], [1], ++ [Define to 1 if you have the Mac OS X function CFLocaleCopyPreferredLanguages in the CoreFoundation framework.]) + fi + INTL_MACOSX_LIBS= +- if test $gt_cv_func_CFPreferencesCopyAppValue = yes || test $gt_cv_func_CFLocaleCopyCurrent = yes; then ++ if test $gt_cv_func_CFPreferencesCopyAppValue = yes \ ++ || test $gt_cv_func_CFLocaleCopyCurrent = yes \ ++ || test $gt_cv_func_CFLocaleCopyPreferredLanguages = yes; then + INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation" + fi + AC_SUBST([INTL_MACOSX_LIBS]) +--- a/po/ChangeLog ++++ b/po/ChangeLog +@@ -1,3 +1,11 @@ ++2019-12-07 gettextize ++ ++ * en@boldquot.header: Upgrade to gettext-0.20.1. ++ * en@quot.header: Upgrade to gettext-0.20.1. ++ * insert-header.sin: Upgrade to gettext-0.20.1. ++ * remove-potcdate.sin: Upgrade to gettext-0.20.1. ++ * Rules-quot: Upgrade to gettext-0.20.1. ++ + 2009-08-11 Scott James Remnant + + * libnih.pot: Distribute the pot file +--- a/po/Rules-quot ++++ b/po/Rules-quot +@@ -1,4 +1,9 @@ + # Special Makefile rules for English message catalogs with quotation marks. ++# ++# Copyright (C) 2001-2017 Free Software Foundation, Inc. ++# This file, Rules-quot, and its auxiliary files (listed under ++# DISTFILES.common.extra1) are free software; the Free Software Foundation ++# gives unlimited permission to use, copy, distribute, and modify them. + + DISTFILES.common.extra1 = quot.sed boldquot.sed en@quot.header en@boldquot.header insert-header.sin Rules-quot + +@@ -14,13 +19,23 @@ en@boldquot.po-update: en@boldquot.po-up + + .insert-header.po-update-en: + @lang=`echo $@ | sed -e 's/\.po-update-en$$//'`; \ +- if test "$(PACKAGE)" = "gettext"; then PATH=`pwd`/../src:$$PATH; GETTEXTLIBDIR=`cd $(top_srcdir)/src && pwd`; export GETTEXTLIBDIR; fi; \ ++ if test "$(PACKAGE)" = "gettext-tools" && test "$(CROSS_COMPILING)" != "yes"; then PATH=`pwd`/../src:$$PATH; GETTEXTLIBDIR=`cd $(top_srcdir)/src && pwd`; export GETTEXTLIBDIR; fi; \ + tmpdir=`pwd`; \ + echo "$$lang:"; \ + ll=`echo $$lang | sed -e 's/@.*//'`; \ + LC_ALL=C; export LC_ALL; \ + cd $(srcdir); \ +- if $(MSGINIT) -i $(DOMAIN).pot --no-translator -l $$ll -o - 2>/dev/null | sed -f $$tmpdir/$$lang.insert-header | $(MSGCONV) -t UTF-8 | $(MSGFILTER) sed -f `echo $$lang | sed -e 's/.*@//'`.sed 2>/dev/null > $$tmpdir/$$lang.new.po; then \ ++ if $(MSGINIT) $(MSGINIT_OPTIONS) -i $(DOMAIN).pot --no-translator -l $$lang -o - 2>/dev/null \ ++ | $(SED) -f $$tmpdir/$$lang.insert-header | $(MSGCONV) -t UTF-8 | \ ++ { case `$(MSGFILTER) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ ++ '' | 0.[0-9] | 0.[0-9].* | 0.1[0-8] | 0.1[0-8].*) \ ++ $(MSGFILTER) $(SED) -f `echo $$lang | sed -e 's/.*@//'`.sed \ ++ ;; \ ++ *) \ ++ $(MSGFILTER) `echo $$lang | sed -e 's/.*@//'` \ ++ ;; \ ++ esac } 2>/dev/null > $$tmpdir/$$lang.new.po \ ++ ; then \ + if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ + rm -f $$tmpdir/$$lang.new.po; \ + else \ +--- a/po/en@boldquot.header ++++ b/po/en@boldquot.header +@@ -2,7 +2,7 @@ + # The msgids must be ASCII and therefore cannot contain real quotation + # characters, only substitutes like grave accent (0x60), apostrophe (0x27) + # and double quote (0x22). These substitutes look strange; see +-# http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html ++# https://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html + # + # This catalog translates grave accent (0x60) and apostrophe (0x27) to + # left single quotation mark (U+2018) and right single quotation mark (U+2019). +--- a/po/en@quot.header ++++ b/po/en@quot.header +@@ -2,7 +2,7 @@ + # The msgids must be ASCII and therefore cannot contain real quotation + # characters, only substitutes like grave accent (0x60), apostrophe (0x27) + # and double quote (0x22). These substitutes look strange; see +-# http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html ++# https://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html + # + # This catalog translates grave accent (0x60) and apostrophe (0x27) to + # left single quotation mark (U+2018) and right single quotation mark (U+2019). +--- a/po/insert-header.sin ++++ b/po/insert-header.sin +@@ -1,5 +1,10 @@ + # Sed script that inserts the file called HEADER before the header entry. + # ++# Copyright (C) 2001 Free Software Foundation, Inc. ++# Written by Bruno Haible , 2001. ++# This file is free software; the Free Software Foundation gives ++# unlimited permission to use, copy, distribute, and modify it. ++# + # At each occurrence of a line starting with "msgid ", we execute the following + # commands. At the first occurrence, insert the file. At the following + # occurrences, do nothing. The distinction between the first and the following +--- a/po/remove-potcdate.sin ++++ b/po/remove-potcdate.sin +@@ -1,6 +1,12 @@ +-# Sed script that remove the POT-Creation-Date line in the header entry ++# Sed script that removes the POT-Creation-Date line in the header entry + # from a POT file. + # ++# Copyright (C) 2002 Free Software Foundation, Inc. ++# Copying and distribution of this file, with or without modification, ++# are permitted in any medium without royalty provided the copyright ++# notice and this notice are preserved. This file is offered as-is, ++# without any warranty. ++# + # The distinction between the first and the following occurrences of the + # pattern is achieved by looking at the hold space. + /^"POT-Creation-Date: .*"$/{ diff --git a/meta-openembedded/meta-oe/recipes-support/libnih/libnih_1.0.3.bb b/meta-openembedded/meta-oe/recipes-support/libnih/libnih_1.0.3.bb index fcb6bebd60..ff7a4ed105 100644 --- a/meta-openembedded/meta-oe/recipes-support/libnih/libnih_1.0.3.bb +++ b/meta-openembedded/meta-oe/recipes-support/libnih/libnih_1.0.3.bb @@ -20,19 +20,19 @@ SECTION = "libs" LICENSE = "GPL-2.0" LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" -DEPENDS = "dbus libnih-native" -DEPENDS_class-native = "dbus-native" +DEPENDS = "dbus expat" +DEPENDS_append_class-target = " libnih-native" SRC_URI = "https://launchpad.net/${BPN}/1.0/${PV}/+download/${BP}.tar.gz \ file://libnih_1.0.3-4ubuntu16.patch \ file://0001-signal.c-SIGCLD-and-SIGCHILD-are-same-on-sytem-V-sys.patch \ + file://0001-Update-autotool-files-also-make-it-work-with-latest-.patch \ " SRC_URI[md5sum] = "db7990ce55e01daffe19006524a1ccb0" SRC_URI[sha256sum] = "897572df7565c0a90a81532671e23c63f99b4efde2eecbbf11e7857fbc61f405" -inherit autotools -inherit gettext +inherit autotools gettext do_configure_append () { sed -i -e 's,lib/pkgconfig,${baselib}/pkgconfig,g' ${S}/nih/Makefile.in ${S}/nih-dbus/Makefile.in diff --git a/meta-openembedded/meta-oe/recipes-support/librsync/librsync_2.2.1.bb b/meta-openembedded/meta-oe/recipes-support/librsync/librsync_2.2.1.bb new file mode 100644 index 0000000000..c2f28fed25 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/librsync/librsync_2.2.1.bb @@ -0,0 +1,18 @@ +SUMMARY = "Remote delta-compression library." +AUTHOR = "Martin Pool, Andrew Tridgell, Donovan Baarda, Adam Schubert" + +LICENSE = "LGPLv2.1+" +LIC_FILES_CHKSUM = "file://COPYING;md5=d8045f3b8f929c1cb29a1e3fd737b499" + +SRC_URI = "git://github.com/librsync/librsync.git" +SRCREV = "5917692418657dc78c9cbde3a8db4c85f25b9c8d" +S = "${WORKDIR}/git" + +DEPENDS = "popt" + +inherit cmake + +PACKAGES =+ "rdiff" +FILES_rdiff = "${bindir}/rdiff" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-oe/recipes-support/libsmi/libsmi_0.5.0.bb b/meta-openembedded/meta-oe/recipes-support/libsmi/libsmi_0.5.0.bb index 3685c4aca0..98cc63eb3b 100644 --- a/meta-openembedded/meta-oe/recipes-support/libsmi/libsmi_0.5.0.bb +++ b/meta-openembedded/meta-oe/recipes-support/libsmi/libsmi_0.5.0.bb @@ -1,7 +1,7 @@ SUMMARY = "A Library to Access SMI MIB Information" HOMEPAGE = "https://www.ibr.cs.tu-bs.de/projects/libsmi" -LICENSE = "BSD-3-Clause & TCL" +LICENSE = "BSD-3-Clause & tcl" LIC_FILES_CHKSUM = "file://COPYING;md5=3ad3076f9332343a21636cfd351f05b7" SRC_URI = "https://www.ibr.cs.tu-bs.de/projects/${BPN}/download/${BP}.tar.gz \ diff --git a/meta-openembedded/meta-oe/recipes-support/libsoc/libsoc_0.8.2.bb b/meta-openembedded/meta-oe/recipes-support/libsoc/libsoc_0.8.2.bb index 01708df35a..8b773aefa5 100644 --- a/meta-openembedded/meta-oe/recipes-support/libsoc/libsoc_0.8.2.bb +++ b/meta-openembedded/meta-oe/recipes-support/libsoc/libsoc_0.8.2.bb @@ -7,7 +7,7 @@ HOMEPAGE = "https://github.com/jackmitch/libsoc" LICENSE = "LGPLv2.1" LIC_FILES_CHKSUM = "file://LICENCE;md5=e0bfebea12a718922225ba987b2126a5" -inherit autotools pkgconfig python-dir +inherit autotools pkgconfig python3-dir SRCREV = "fd1ad6e7823fa76d8db0d3c5884faffa8ffddafb" SRC_URI = "git://github.com/jackmitch/libsoc.git" @@ -21,7 +21,7 @@ PACKAGECONFIG ?= "" PACKAGECONFIG[disabledebug] = "--disable-debug,," PACKAGECONFIG[allboardconfigs] = "--with-board-configs,," PACKAGECONFIG[enableboardconfig] = "--enable-board=${BOARD},," -PACKAGECONFIG[python] = "--enable-python=${PYTHON_PN},,${PYTHON_PN}" +PACKAGECONFIG[python] = "--enable-python=${STAGING_BINDIR_NATIVE}/${PYTHON_PN}-native/${PYTHON_PN},,${PYTHON_PN} ${PYTHON_PN}-native" PACKAGES =+ "${@bb.utils.contains('PACKAGECONFIG', 'python', \ '${PYTHON_PN}-libsoc-staticdev ${PYTHON_PN}-libsoc', '', d)}" diff --git a/meta-openembedded/meta-oe/recipes-support/libssh2/libssh2_1.9.0.bb b/meta-openembedded/meta-oe/recipes-support/libssh2/libssh2_1.9.0.bb index 185ea11b07..c1f337a440 100644 --- a/meta-openembedded/meta-oe/recipes-support/libssh2/libssh2_1.9.0.bb +++ b/meta-openembedded/meta-oe/recipes-support/libssh2/libssh2_1.9.0.bb @@ -25,4 +25,4 @@ PACKAGECONFIG ??= "openssl" PACKAGECONFIG[openssl] = "--with-crypto=openssl --with-libssl-prefix=${STAGING_LIBDIR}, , openssl" PACKAGECONFIG[gcrypt] = "--with-crypto=libgcrypt --with-libgcrypt-prefix=${STAGING_EXECPREFIXDIR}, , libgcrypt" -BBCLASSEXTEND = "native" +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-oe/recipes-support/lockdev/lockdev/build.patch b/meta-openembedded/meta-oe/recipes-support/lockdev/lockdev/build.patch index 6ec91d2316..f9fe48b2a6 100644 --- a/meta-openembedded/meta-oe/recipes-support/lockdev/lockdev/build.patch +++ b/meta-openembedded/meta-oe/recipes-support/lockdev/lockdev/build.patch @@ -18,7 +18,7 @@ Date: Tue Feb 9 14:56:23 2010 +0100 soname = ${libname}.so.${MVER} # overwritten by caller (e.g.: debian/rules) -@@ -72,6 +72,7 @@ install_doc: docs/lockdev.3 +@@ -73,6 +73,7 @@ install_doc: docs/lockdev.3 install_run: ${shared} install -m755 -d ${libdir} install -m644 ${shared} ${libdir} diff --git a/meta-openembedded/meta-oe/recipes-support/lockdev/lockdev/cross_compile.patch b/meta-openembedded/meta-oe/recipes-support/lockdev/lockdev/cross_compile.patch index aa8f6a4d85..aa8b0f6923 100644 --- a/meta-openembedded/meta-oe/recipes-support/lockdev/lockdev/cross_compile.patch +++ b/meta-openembedded/meta-oe/recipes-support/lockdev/lockdev/cross_compile.patch @@ -1,14 +1,16 @@ --- a/Makefile +++ b/Makefile -@@ -15,17 +15,17 @@ shared = ${libname}.${VER}.so +@@ -15,17 +15,18 @@ shared = ${libname}.${VER}.so soname = ${libname}.so.${MVER} # overwritten by caller (e.g.: debian/rules) -basedir = /usr/local +basedir ?= /usr/local ++baselib ?= lib srcdir=. - libdir = ${basedir}/lib +-libdir = ${basedir}/lib ++libdir = ${basedir}/${baselib} incdir = ${basedir}/include mandir = ${basedir}/share/man @@ -17,7 +19,7 @@ -CFLAGS = -g -LDLIBS = -llockdev +CC ?= gcc -+LCFLAGS ?= -g -O2 -fPIC -Wall -pipe -D_REENTRANT ++LCFLAGS ?= -g -O2 -fPIC -Wall -pipe -D_REENTRANT +CFLAGS ?= -g +LDLIBS ?= -llockdev diff --git a/meta-openembedded/meta-oe/recipes-support/lockdev/lockdev_1.0.3.bb b/meta-openembedded/meta-oe/recipes-support/lockdev/lockdev_1.0.3.bb index 5b862bd1fe..9d8800ebde 100644 --- a/meta-openembedded/meta-oe/recipes-support/lockdev/lockdev_1.0.3.bb +++ b/meta-openembedded/meta-oe/recipes-support/lockdev/lockdev_1.0.3.bb @@ -15,15 +15,15 @@ SRC_URI[debianpatch.md5sum] = "5ef6267c42fca9145e0af006ccb6aff7" SRC_URI[debianpatch.sha256sum] = "a5405c6ee5e97e45eeb1c81330a7e9f444a58bda5e6771fa30007516c115007e" inherit lib_package perlnative -export basedir="${D}${prefix}" CFLAGS += " -D__GNU_LIBRARY__" TARGET_CC_ARCH += "${LDFLAGS}" +EXTRA_OEMAKE = "basedir=${D}${prefix} baselib=${baselib} LD='${CC}' LD='${CC}'" do_compile() { - oe_runmake basedir=${D}${prefix} LD="${CC}" LD="${CC}" shared static + oe_runmake shared static } do_install() { - oe_runmake DESTDIR=${D} basedir=${D}${prefix} install + oe_runmake DESTDIR=${D} install } diff --git a/meta-openembedded/meta-oe/recipes-support/onig/files/configure.patch b/meta-openembedded/meta-oe/recipes-support/onig/files/configure.patch deleted file mode 100644 index 5fa700f190..0000000000 --- a/meta-openembedded/meta-oe/recipes-support/onig/files/configure.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: onig-5.9.3/configure.in -=================================================================== ---- onig-5.9.3.orig/configure.in 2012-10-26 07:06:14.000000000 +0000 -+++ onig-5.9.3/configure.in 2014-07-18 08:02:52.701574484 +0000 -@@ -3,7 +3,7 @@ - - AC_CONFIG_MACRO_DIR([m4]) - --AM_INIT_AUTOMAKE -+AM_INIT_AUTOMAKE([foreign]) - AC_CONFIG_HEADER(config.h) - - diff --git a/meta-openembedded/meta-oe/recipes-support/onig/files/do-not-use-system-headers.patch b/meta-openembedded/meta-oe/recipes-support/onig/files/do-not-use-system-headers.patch deleted file mode 100644 index b93602a268..0000000000 --- a/meta-openembedded/meta-oe/recipes-support/onig/files/do-not-use-system-headers.patch +++ /dev/null @@ -1,44 +0,0 @@ -Author: Marcin Juszkiewicz - -When build on host with older eglibc (Ubuntu 12.04) build fails with: - -/tmp/OE/build/tmp-eglibc/sysroots/genericarmv8/usr/include/bits/predefs.h:23:3: error: #error "Never use directly; include instead." - -Signed-off-by: Marcin Juszkiewicz - -Upstream-Status: Inappropriate [embedded specific] - ---- - Makefile.am | 2 +- - sample/Makefile.am | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - ---- onig-5.9.3.orig/Makefile.am -+++ onig-5.9.3/Makefile.am -@@ -4,11 +4,11 @@ sampledir = $(top_srcdir)/sample - libname = libonig.la - - ACLOCAL_AMFLAGS = -I m4 - #AM_CFLAGS = -DNOT_RUBY - AM_CFLAGS = --INCLUDES = -I$(top_srcdir) -I$(includedir) -+INCLUDES = -I$(top_srcdir) - - SUBDIRS = . sample - - include_HEADERS = oniguruma.h oniggnu.h onigposix.h - lib_LTLIBRARIES = $(libname) ---- onig-5.9.3.orig/sample/Makefile.am -+++ onig-5.9.3/sample/Makefile.am -@@ -1,10 +1,10 @@ - noinst_PROGRAMS = encode listcap names posix simple sql syntax crnl - - libname = $(top_builddir)/libonig.la - LDADD = $(libname) --INCLUDES = -I$(top_srcdir) -I$(includedir) -+INCLUDES = -I$(top_srcdir) - - encode_SOURCES = encode.c - listcap_SOURCES = listcap.c - names_SOURCES = names.c - posix_SOURCES = posix.c diff --git a/meta-openembedded/meta-oe/recipes-support/onig/onig/0001-build-don-t-link-against-host-system-libraries.patch b/meta-openembedded/meta-oe/recipes-support/onig/onig/0001-build-don-t-link-against-host-system-libraries.patch new file mode 100644 index 0000000000..891592650d --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/onig/onig/0001-build-don-t-link-against-host-system-libraries.patch @@ -0,0 +1,42 @@ +From 78103ecd18efcd0966531d8718f6e94dcb7a5abf Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andr=C3=A9=20Draszik?= +Date: Mon, 6 Jan 2020 16:56:31 +0000 +Subject: [PATCH] build: don't link against (host) system libraries +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Upstream-Status: Inappropriate [OE specific] +Signed-off-by: André Draszik +--- + sample/Makefile.am | 1 - + test/Makefile.am | 1 - + 2 files changed, 2 deletions(-) + +diff --git a/sample/Makefile.am b/sample/Makefile.am +index 22a4989..e935bf0 100644 +--- a/sample/Makefile.am ++++ b/sample/Makefile.am +@@ -3,7 +3,6 @@ + lib_onig = ../src/libonig.la + LDADD = $(lib_onig) + +-AM_LDFLAGS = -L$(prefix)/lib + AM_CPPFLAGS = -I$(top_srcdir)/src + + if ENABLE_POSIX_API +diff --git a/test/Makefile.am b/test/Makefile.am +index 4d62568..b7a2105 100644 +--- a/test/Makefile.am ++++ b/test/Makefile.am +@@ -1,7 +1,6 @@ + ## Makefile.am for Oniguruma + lib_onig = ../src/libonig.la + +-AM_LDFLAGS = -L$(prefix)/lib + AM_CFLAGS = -Wall -Wno-invalid-source-encoding + AM_CPPFLAGS = -I$(top_srcdir)/src + +-- +2.23.0.rc1 + diff --git a/meta-openembedded/meta-oe/recipes-support/onig/onig/0001-build-enable-serial-tests-automake-option-for-ptest.patch b/meta-openembedded/meta-oe/recipes-support/onig/onig/0001-build-enable-serial-tests-automake-option-for-ptest.patch new file mode 100644 index 0000000000..587e5ac1b8 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/onig/onig/0001-build-enable-serial-tests-automake-option-for-ptest.patch @@ -0,0 +1,36 @@ +From 8bf8189ec4a0d7ee569f66feb0e590e9602c31b6 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andr=C3=A9=20Draszik?= +Date: Mon, 6 Jan 2020 15:10:30 +0000 +Subject: [PATCH] build: enable serial-tests automake option (for ptest) +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +For ptest, we need to be able to compile the tests without +running them. + +Enabling the serial-tests automake option will add +buildtest-TESTS and runtest-TESTS makefile targets, the +former being what we want. + +Signed-off-by: André Draszik +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index ac51e85..48e63ce 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -3,7 +3,7 @@ AC_INIT(onig, 6.9.4) + + AC_CONFIG_MACRO_DIR([m4]) + +-AM_INIT_AUTOMAKE([-Wno-portability]) ++AM_INIT_AUTOMAKE([-Wno-portability serial-tests]) + AC_CONFIG_HEADERS([src/config.h]) + + +-- +2.23.0.rc1 + diff --git a/meta-openembedded/meta-oe/recipes-support/onig/onig/run-ptest b/meta-openembedded/meta-oe/recipes-support/onig/onig/run-ptest new file mode 100755 index 0000000000..2574d7efa5 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/onig/onig/run-ptest @@ -0,0 +1,47 @@ +#!/bin/sh -eu + +my_cleanup() { + [ -n "${workdir:-}" ] && rm -rf "${workdir}" +} + +trap "my_cleanup" EXIT +for sig in INT TERM ; do + # We want sig to expand right here and now, as it's + # a loop variable, not when signalled. For $$ it + # doesn't matter. + # shellcheck disable=SC2064 + trap "my_cleanup ; trap - EXIT ; trap - ${sig} ; kill -s ${sig} $$" ${sig} +done + +workdir=$(mktemp -d -t onig.ptest.XXXXXX) +status="${workdir}/failed" +touch "${status}" + +find tests/ -perm -111 -type f -exec sh -c ' + workdir="${1}" + status="${2}" + t="${3}" + t_log="${workdir}/$(basename ${t}).log" + + res=0 + ./${t} > "${t_log}" 2>&1 \ + || res=$? + if [ $res -eq 0 ] ; then + echo "PASS: ${t}" + else + echo "FAIL: ${t}" + echo "$(basename ${t}): ${t_log}" >> "${status}" + fi + ' _ "${workdir}" "${status}" {} \; + +if [ $(stat -c '%s' "${status}") -ne 0 ] ; then + exec >&2 + while IFS=': ' read -r t t_log ; do + printf "\n=========================\n" + printf "ERROR: %s:\n" "${t}" + printf -- "-------------------------\n" + cat "${t_log}" + done < "${status}" +fi + +[ $(stat -c '%s' "${status}") -eq 0 ] diff --git a/meta-openembedded/meta-oe/recipes-support/onig/onig_5.9.6.bb b/meta-openembedded/meta-oe/recipes-support/onig/onig_5.9.6.bb deleted file mode 100644 index 20a71c6c9b..0000000000 --- a/meta-openembedded/meta-oe/recipes-support/onig/onig_5.9.6.bb +++ /dev/null @@ -1,19 +0,0 @@ -DESCRIPTION = "Regular expressions library. The characteristics of this \ -library is that different character encoding for every regular expression \ -object can be specified." -HOMEPAGE = "https://web.archive.org/web/20150807014439/http://www.geocities.jp/kosako3/oniguruma/" -LICENSE = "BSD-2-Clause" -LIC_FILES_CHKSUM = "file://COPYING;md5=0d4861b5bc0c392a5aa90d9d76ebd86f" - -SRC_URI = "https://web.archive.org/web/20150807014439/http://www.geocities.jp/kosako3/oniguruma/archive/${BP}.tar.gz \ - file://do-not-use-system-headers.patch \ - file://configure.patch" - -SRC_URI[md5sum] = "d08f10ea5c94919780e6b7bed1ef9830" -SRC_URI[sha256sum] = "d5642010336a6f68b7f2e34b1f1cb14be333e4d95c2ac02b38c162caf44e47a7" - -BINCONFIG = "${bindir}/onig-config" - -inherit autotools binconfig-disabled - -BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-oe/recipes-support/onig/onig_6.9.4.bb b/meta-openembedded/meta-oe/recipes-support/onig/onig_6.9.4.bb new file mode 100644 index 0000000000..cfa86f04c1 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/onig/onig_6.9.4.bb @@ -0,0 +1,32 @@ +SUMMARY = "Regular expressions library" +DESCRIPTION = "Oniguruma is a modern and flexible regular expressions library. \ +It encompasses features from different regular expression \ +implementations that traditionally exist in different languages. \ +Character encoding can be specified per regular expression object." +HOMEPAGE = "https://github.com/kkos/oniguruma" +LICENSE = "BSD-2-Clause" +LIC_FILES_CHKSUM = "file://COPYING;md5=1ee043784bdce7503e619b2d1a85798b" + +SRC_URI = "\ + https://github.com/kkos/oniguruma/releases/download/v${PV}/${BP}.tar.gz \ + file://0001-build-don-t-link-against-host-system-libraries.patch \ + file://0001-build-enable-serial-tests-automake-option-for-ptest.patch \ + file://run-ptest \ +" + +SRC_URI[md5sum] = "a12d2fe997b789bd87cf63799c091879" +SRC_URI[sha256sum] = "4669d22ff7e0992a7e93e116161cac9c0949cd8960d1c562982026726f0e6d53" + +BINCONFIG = "${bindir}/onig-config" + +inherit autotools binconfig-disabled ptest + +BBCLASSEXTEND = "native" + +do_compile_ptest() { + oe_runmake -C test buildtest-TESTS +} + +do_install_ptest() { + install -Dm0755 -t ${D}${PTEST_PATH}/tests/ ${B}/test/.libs/* +} diff --git a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-utilBacktrace-Ignore-Warray-bounds.patch b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-utilBacktrace-Ignore-Warray-bounds.patch new file mode 100644 index 0000000000..95664e8552 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-utilBacktrace-Ignore-Warray-bounds.patch @@ -0,0 +1,33 @@ +From ac3f93ea087d3a5461fe57fe021d0fe9a959e13c Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Wed, 25 Dec 2019 15:25:02 -0800 +Subject: [PATCH] utilBacktrace: Ignore -Warray-bounds + +This is new warning with gcc10, until its fixed ignore it like gcc<10 +did + +Upstream-Status: Pending +Signed-off-by: Khem Raj +--- + open-vm-tools/lib/user/utilBacktrace.c | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/open-vm-tools/lib/user/utilBacktrace.c b/open-vm-tools/lib/user/utilBacktrace.c +index b72340ad..97ca53f2 100644 +--- a/open-vm-tools/lib/user/utilBacktrace.c ++++ b/open-vm-tools/lib/user/utilBacktrace.c +@@ -517,6 +517,11 @@ Util_BacktraceWithFunc(int bugNr, // IN: + } else { + outFunc(outFuncData, "Backtrace for bugNr=%d\n",bugNr); + } ++#pragma GCC diagnostic push ++#pragma GCC diagnostic ignored "-Warray-bounds" ++ + Util_BacktraceFromPointerWithFunc(&x[-2], outFunc, outFuncData); ++#pragma GCC diagnostic pop + #endif + } ++ +-- +2.24.1 + diff --git a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools_11.0.1.bb b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools_11.0.1.bb index 9e4aa4881a..eda77c2060 100644 --- a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools_11.0.1.bb +++ b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools_11.0.1.bb @@ -41,6 +41,7 @@ SRC_URI = "git://github.com/vmware/open-vm-tools.git;protocol=https \ file://0001-GitHub-Issue-367.-Remove-references-to-deprecated-G_.patch;patchdir=.. \ file://0001-Make-HgfsConvertFromNtTimeNsec-aware-of-64-bit-time_.patch;patchdir=.. \ file://0002-hgfsServerLinux-Consider-64bit-time_t-possibility.patch;patchdir=.. \ + file://0001-utilBacktrace-Ignore-Warray-bounds.patch;patchdir=.. \ " SRCREV = "d3edfd142a81096f9f58aff17d84219b457f4987" diff --git a/meta-openembedded/meta-oe/recipes-support/opencv/ade/0001-use-GNUInstallDirs-for-detecting-install-paths.patch b/meta-openembedded/meta-oe/recipes-support/opencv/ade/0001-use-GNUInstallDirs-for-detecting-install-paths.patch new file mode 100644 index 0000000000..f038b0aa91 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/opencv/ade/0001-use-GNUInstallDirs-for-detecting-install-paths.patch @@ -0,0 +1,39 @@ +From 67ccf77d97b76e8260c9d793ab172577e2393dbc Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Thu, 19 Dec 2019 21:33:46 -0800 +Subject: [PATCH] use GNUInstallDirs for detecting install paths + +This helps with multilib builds + +Upstream-Status: Submitted [https://github.com/opencv/ade/pull/19] +Signed-off-by: Khem Raj +--- + sources/ade/CMakeLists.txt | 10 ++++++---- + 1 file changed, 6 insertions(+), 4 deletions(-) + +diff --git a/sources/ade/CMakeLists.txt b/sources/ade/CMakeLists.txt +index 2d1dd20..46415d1 100644 +--- a/sources/ade/CMakeLists.txt ++++ b/sources/ade/CMakeLists.txt +@@ -47,12 +47,14 @@ if(BUILD_ADE_DOCUMENTATION) + VERBATIM) + endif() + ++include(GNUInstallDirs) ++ + install(TARGETS ade COMPONENT dev + EXPORT adeTargets +- ARCHIVE DESTINATION lib +- LIBRARY DESTINATION lib +- RUNTIME DESTINATION lib +- INCLUDES DESTINATION include) ++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ RUNTIME DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) + + install(EXPORT adeTargets DESTINATION share/ade COMPONENT dev) + +-- +2.24.1 + diff --git a/meta-openembedded/meta-oe/recipes-support/opencv/ade_0.1.1f.bb b/meta-openembedded/meta-oe/recipes-support/opencv/ade_0.1.1f.bb index 332820d149..3861802158 100644 --- a/meta-openembedded/meta-oe/recipes-support/opencv/ade_0.1.1f.bb +++ b/meta-openembedded/meta-oe/recipes-support/opencv/ade_0.1.1f.bb @@ -5,6 +5,7 @@ organizing data flow processing and execution." HOMEPAGE = "https://github.com/opencv/ade" SRC_URI = "git://github.com/opencv/ade.git \ + file://0001-use-GNUInstallDirs-for-detecting-install-paths.patch \ " SRCREV = "58b2595a1a95cc807be8bf6222f266a9a1f393a9" diff --git a/meta-openembedded/meta-oe/recipes-support/opencv/opencv/download.patch b/meta-openembedded/meta-oe/recipes-support/opencv/opencv/download.patch new file mode 100644 index 0000000000..fa8db88078 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/opencv/opencv/download.patch @@ -0,0 +1,32 @@ +This CMake module will download files during do_configure. This is bad as it +means we can't do offline builds. + +Add an option to disallow downloads by emitting a fatal error. + +Upstream-Status: Pending +Signed-off-by: Ross Burton + +diff --git a/cmake/OpenCVDownload.cmake b/cmake/OpenCVDownload.cmake +index cdc47ad2cb..74573f45a2 100644 +--- a/cmake/OpenCVDownload.cmake ++++ b/cmake/OpenCVDownload.cmake +@@ -14,6 +14,7 @@ + # RELATIVE_URL - if set, then URL is treated as a base, and FILENAME will be appended to it + # Note: uses OPENCV_DOWNLOAD_PATH folder as cache, default is /.cache + ++set(OPENCV_ALLOW_DOWNLOADS ON CACHE BOOL "Allow downloads") + set(HELP_OPENCV_DOWNLOAD_PATH "Cache directory for downloaded files") + if(DEFINED ENV{OPENCV_DOWNLOAD_PATH}) + set(OPENCV_DOWNLOAD_PATH "$ENV{OPENCV_DOWNLOAD_PATH}" CACHE PATH "${HELP_OPENCV_DOWNLOAD_PATH}") +@@ -153,6 +154,11 @@ function(ocv_download) + + # Download + if(NOT EXISTS "${CACHE_CANDIDATE}") ++ if(NOT OPENCV_ALLOW_DOWNLOADS) ++ message(FATAL_ERROR "Not going to download ${DL_FILENAME}") ++ return() ++ endif() ++ + ocv_download_log("#cmake_download \"${CACHE_CANDIDATE}\" \"${DL_URL}\"") + file(DOWNLOAD "${DL_URL}" "${CACHE_CANDIDATE}" + INACTIVITY_TIMEOUT 60 diff --git a/meta-openembedded/meta-oe/recipes-support/opencv/opencv_4.1.0.bb b/meta-openembedded/meta-oe/recipes-support/opencv/opencv_4.1.0.bb index 5e89db0977..f679ccb05f 100644 --- a/meta-openembedded/meta-oe/recipes-support/opencv/opencv_4.1.0.bb +++ b/meta-openembedded/meta-oe/recipes-support/opencv/opencv_4.1.0.bb @@ -15,6 +15,7 @@ SRCREV_contrib = "2c32791a9c500343568a21ea34bf2daeac2adae7" SRCREV_ipp = "32e315a5b106a7b89dbed51c28f8120a48b368b4" SRCREV_boostdesc = "34e4206aef44d50e6bbcd0ab06354b52e7466d26" SRCREV_vgg = "fccf7cd6a4b12079f73bbfb21745f9babcd4eb1d" +SRCREV_face = "8afa57abc8229d611c4937165d20e2a2d9fc5a12" def ipp_filename(d): import re @@ -41,20 +42,41 @@ SRC_URI = "git://github.com/opencv/opencv.git;name=opencv \ git://github.com/opencv/opencv_3rdparty.git;branch=ippicv/master_20180723;destsuffix=ipp;name=ipp \ git://github.com/opencv/opencv_3rdparty.git;branch=contrib_xfeatures2d_boostdesc_20161012;destsuffix=boostdesc;name=boostdesc \ git://github.com/opencv/opencv_3rdparty.git;branch=contrib_xfeatures2d_vgg_20160317;destsuffix=vgg;name=vgg \ + git://github.com/opencv/opencv_3rdparty.git;branch=contrib_face_alignment_20170818;destsuffix=face;name=face \ file://0001-3rdparty-ippicv-Use-pre-downloaded-ipp.patch \ file://0002-Make-opencv-ts-create-share-library-intead-of-static.patch \ file://0003-To-fix-errors-as-following.patch \ file://0001-Temporarliy-work-around-deprecated-ffmpeg-RAW-functi.patch \ file://0001-Dont-use-isystem.patch \ + file://download.patch \ " PV = "4.1.0" S = "${WORKDIR}/git" +# OpenCV wants to download more files during configure. We download these in +# do_fetch and construct a source cache in the format it expects +OPENCV_DLDIR = "${WORKDIR}/downloads" + do_unpack_extra() { tar xzf ${WORKDIR}/ipp/ippicv/${IPP_FILENAME} -C ${WORKDIR} - cp ${WORKDIR}/vgg/*.i ${WORKDIR}/contrib/modules/xfeatures2d/src - cp ${WORKDIR}/boostdesc/*.i ${WORKDIR}/contrib/modules/xfeatures2d/src + + md5() { + # Return the MD5 of $1 + echo $(md5sum $1 | cut -d' ' -f1) + } + cache() { + TAG=$1 + shift + mkdir --parents ${OPENCV_DLDIR}/$TAG + for F in $*; do + DEST=${OPENCV_DLDIR}/$TAG/$(md5 $F)-$(basename $F) + test -e $DEST || ln -s $F $DEST + done + } + cache xfeatures2d/boostdesc ${WORKDIR}/boostdesc/*.i + cache xfeatures2d/vgg ${WORKDIR}/vgg/*.i + cache data ${WORKDIR}/face/*.dat } addtask unpack_extra after do_unpack before do_patch @@ -65,16 +87,19 @@ EXTRA_OECMAKE = "-DOPENCV_EXTRA_MODULES_PATH=${WORKDIR}/contrib/modules \ -DOPENCV_ICV_HASH=${IPP_MD5} \ -DIPPROOT=${WORKDIR}/ippicv_lnx \ -DOPENCV_GENERATE_PKGCONFIG=ON \ + -DOPENCV_DOWNLOAD_PATH=${OPENCV_DLDIR} \ + -DOPENCV_ALLOW_DOWNLOADS=OFF \ ${@bb.utils.contains("TARGET_CC_ARCH", "-msse3", "-DENABLE_SSE=1 -DENABLE_SSE2=1 -DENABLE_SSE3=1 -DENABLE_SSSE3=1", "", d)} \ ${@bb.utils.contains("TARGET_CC_ARCH", "-msse4.1", "-DENABLE_SSE=1 -DENABLE_SSE2=1 -DENABLE_SSE3=1 -DENABLE_SSSE3=1 -DENABLE_SSE41=1", "", d)} \ ${@bb.utils.contains("TARGET_CC_ARCH", "-msse4.2", "-DENABLE_SSE=1 -DENABLE_SSE2=1 -DENABLE_SSE3=1 -DENABLE_SSSE3=1 -DENABLE_SSE41=1 -DENABLE_SSE42=1", "", d)} \ " EXTRA_OECMAKE_append_x86 = " -DX86=ON" -PACKAGECONFIG ??= "python3 eigen jpeg png tiff v4l libv4l gstreamer samples tbb gphoto2 \ +PACKAGECONFIG ??= "gapi python3 eigen jpeg png tiff v4l libv4l gstreamer samples tbb gphoto2 \ ${@bb.utils.contains("DISTRO_FEATURES", "x11", "gtk", "", d)} \ ${@bb.utils.contains("LICENSE_FLAGS_WHITELIST", "commercial", "libav", "", d)}" +PACKAGECONFIG[gapi] = "-DWITH_ADE=ON -Dade_DIR=${STAGING_LIBDIR},-DWITH_ADE=OFF,ade" PACKAGECONFIG[amdblas] = "-DWITH_OPENCLAMDBLAS=ON,-DWITH_OPENCLAMDBLAS=OFF,libclamdblas," PACKAGECONFIG[amdfft] = "-DWITH_OPENCLAMDFFT=ON,-DWITH_OPENCLAMDFFT=OFF,libclamdfft," PACKAGECONFIG[dnn] = "-DBUILD_opencv_dnn=ON -DPROTOBUF_UPDATE_FILES=ON -DBUILD_PROTOBUF=OFF,-DBUILD_opencv_dnn=OFF,protobuf protobuf-native," diff --git a/meta-openembedded/meta-oe/recipes-support/opensc/opensc/0001-Fix-misleading-code-indentation.patch b/meta-openembedded/meta-oe/recipes-support/opensc/opensc/0001-Fix-misleading-code-indentation.patch new file mode 100644 index 0000000000..eb71b9d766 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/opensc/opensc/0001-Fix-misleading-code-indentation.patch @@ -0,0 +1,69 @@ +From 283578519ec83a8792b026c10322789784d629de Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Fri, 27 Dec 2019 11:33:57 -0800 +Subject: [PATCH] Fix misleading code indentation + +Fixes +error: misleading indentation; statement is not part of the previous 'if' [-Werror,-Wmisleading-indentation] + if(cipher) + ^ +../../../git/src/libopensc/card-entersafe.c:369:2: note: previous statement is here + if(sbuf) + ^ +Upstream-Status: Submitted [https://github.com/OpenSC/OpenSC/pull/1894] +Signed-off-by: Khem Raj +--- + src/libopensc/card-entersafe.c | 12 ++++++------ + src/tools/pkcs15-init.c | 4 ++-- + 2 files changed, 8 insertions(+), 8 deletions(-) + +diff --git a/src/libopensc/card-entersafe.c b/src/libopensc/card-entersafe.c +index 3e42c11f..abb9fd81 100644 +--- a/src/libopensc/card-entersafe.c ++++ b/src/libopensc/card-entersafe.c +@@ -352,10 +352,10 @@ static int entersafe_transmit_apdu(sc_card_t *card, sc_apdu_t *apdu, + size_t cipher_data_size,mac_data_size; + int blocks; + int r=SC_SUCCESS; +- u8 *sbuf=NULL; +- size_t ssize=0; ++ u8 *sbuf=NULL; ++ size_t ssize=0; + +- SC_FUNC_CALLED(card->ctx, SC_LOG_DEBUG_VERBOSE); ++ SC_FUNC_CALLED(card->ctx, SC_LOG_DEBUG_VERBOSE); + + assert(card); + assert(apdu); +@@ -363,10 +363,10 @@ static int entersafe_transmit_apdu(sc_card_t *card, sc_apdu_t *apdu, + if((cipher||mac) && (!key||(keylen!=8 && keylen!=16))) + SC_FUNC_RETURN(card->ctx, SC_LOG_DEBUG_VERBOSE, SC_ERROR_INVALID_ARGUMENTS); + +- r = sc_apdu_get_octets(card->ctx, apdu, &sbuf, &ssize, SC_PROTO_RAW); +- if (r == SC_SUCCESS) ++ r = sc_apdu_get_octets(card->ctx, apdu, &sbuf, &ssize, SC_PROTO_RAW); ++ if (r == SC_SUCCESS) + sc_apdu_log(card->ctx, SC_LOG_DEBUG_VERBOSE, sbuf, ssize, 1); +- if(sbuf) ++ if(sbuf) + free(sbuf); + + if(cipher) +diff --git a/src/tools/pkcs15-init.c b/src/tools/pkcs15-init.c +index 1ce79f45..9a73121c 100644 +--- a/src/tools/pkcs15-init.c ++++ b/src/tools/pkcs15-init.c +@@ -2311,8 +2311,8 @@ do_read_private_key(const char *filename, const char *format, + r = util_getpass(&passphrase, &len, stdin); + if (r < 0 || !passphrase) + return SC_ERROR_INTERNAL; +- r = do_read_pkcs12_private_key(filename, +- passphrase, pk, certs, max_certs); ++ r = do_read_pkcs12_private_key(filename, ++ passphrase, pk, certs, max_certs); + } + } else { + util_error("Error when reading private key. " +-- +2.24.1 + diff --git a/meta-openembedded/meta-oe/recipes-support/opensc/opensc_0.19.0.bb b/meta-openembedded/meta-oe/recipes-support/opensc/opensc_0.19.0.bb index a1e29dd46d..0d744e213b 100644 --- a/meta-openembedded/meta-oe/recipes-support/opensc/opensc_0.19.0.bb +++ b/meta-openembedded/meta-oe/recipes-support/opensc/opensc_0.19.0.bb @@ -15,6 +15,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=7fbc338309ac38fefcd64b04bb903e34" SRCREV = "f1691fc91fc113191c3a8aaf5facd6983334ec47" SRC_URI = "git://github.com/OpenSC/OpenSC \ file://0001-Remove-redundant-logging.patch \ + file://0001-Fix-misleading-code-indentation.patch \ " DEPENDS = "virtual/libiconv openssl" @@ -31,7 +32,7 @@ EXTRA_OEMAKE = "DESTDIR=${D}" PACKAGECONFIG ??= "pcsc" PACKAGECONFIG[openct] = "--enable-openct,--disable-openct,openct" -PACKAGECONFIG[pcsc] = "--enable-pcsc,--disable-pcsc,pcsc-lite" +PACKAGECONFIG[pcsc] = "--enable-pcsc,--disable-pcsc,pcsc-lite,pcsc-lite pcsc-lite-lib" RDEPENDS_${PN} = "readline" diff --git a/meta-openembedded/meta-oe/recipes-support/poco/poco_1.9.4.bb b/meta-openembedded/meta-oe/recipes-support/poco/poco_1.9.4.bb index c854481de3..f1dabcd012 100644 --- a/meta-openembedded/meta-oe/recipes-support/poco/poco_1.9.4.bb +++ b/meta-openembedded/meta-oe/recipes-support/poco/poco_1.9.4.bb @@ -52,6 +52,7 @@ PACKAGECONFIG[SevenZip] = "-DENABLE_SEVENZIP=ON,-DENABLE_SEVENZIP=OFF" EXTRA_OECMAKE = "-DCMAKE_BUILD_TYPE=RelWithDebInfo -DPOCO_UNBUNDLED=ON \ -DZLIB_LIBRARY_RELEASE:STRING=z -DPCRE_LIBRARY:STRING=pcre \ + -DLIB_SUFFIX=${@d.getVar('baselib').replace('lib', '')} \ ${@bb.utils.contains('PTEST_ENABLED', '1', '-DENABLE_TESTS=ON ', '', d)}" # For the native build we want to use the bundled version diff --git a/meta-openembedded/meta-oe/recipes-support/poppler/poppler-data_0.4.9.bb b/meta-openembedded/meta-oe/recipes-support/poppler/poppler-data_0.4.9.bb index b2af097154..eda3f7ecdc 100644 --- a/meta-openembedded/meta-oe/recipes-support/poppler/poppler-data_0.4.9.bb +++ b/meta-openembedded/meta-oe/recipes-support/poppler/poppler-data_0.4.9.bb @@ -1,6 +1,7 @@ SUMMARY = "Encoding files for Poppler" DESCRIPTION = "Encoding files for use with poppler that enable poppler to \ correctly render CJK and Cyrrilic." +HOMEPAGE = "https://poppler.freedesktop.org/" LICENSE = "BSD & GPLv2 & GPLv3+" LIC_FILES_CHKSUM = "file://COPYING;md5=4870b98343f0bbb25fa43b9d2ba59448 \ file://COPYING.adobe;md5=63c6a8a9df204c00461fa5f163d8a663 \ diff --git a/meta-openembedded/meta-oe/recipes-support/poppler/poppler/basename-include.patch b/meta-openembedded/meta-oe/recipes-support/poppler/poppler/basename-include.patch index c18a5f5c0e..3d6d7a8f14 100644 --- a/meta-openembedded/meta-oe/recipes-support/poppler/poppler/basename-include.patch +++ b/meta-openembedded/meta-oe/recipes-support/poppler/poppler/basename-include.patch @@ -16,8 +16,8 @@ index 830c1c80..e93eb368 100644 --- a/goo/gbasename.cc +++ b/goo/gbasename.cc @@ -46,6 +46,10 @@ - #include - #include + #include + #include +#if !defined(__GLIBC__) +#define basename(src) (strrchr(src,'/') ? strrchr(src,'/')+1 : src) diff --git a/meta-openembedded/meta-oe/recipes-support/poppler/poppler_0.82.0.bb b/meta-openembedded/meta-oe/recipes-support/poppler/poppler_0.82.0.bb deleted file mode 100644 index 37f859353d..0000000000 --- a/meta-openembedded/meta-oe/recipes-support/poppler/poppler_0.82.0.bb +++ /dev/null @@ -1,50 +0,0 @@ -SUMMARY = "Poppler is a PDF rendering library based on the xpdf-3.0 code base" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" - -SRC_URI = "http://poppler.freedesktop.org/${BP}.tar.xz \ - file://0001-Do-not-overwrite-all-our-build-flags.patch \ - file://basename-include.patch \ - " -SRC_URI[md5sum] = "4d6106c2382c5e66072e0b355acc3640" -SRC_URI[sha256sum] = "234f8e573ea57fb6a008e7c1e56bfae1af5d1adf0e65f47555e1ae103874e4df" - -DEPENDS = "fontconfig zlib cairo lcms glib-2.0" - -inherit cmake pkgconfig gobject-introspection - -PACKAGECONFIG ??= "jpeg openjpeg png tiff nss ${@bb.utils.contains('BBFILE_COLLECTIONS', 'qt5-layer', 'qt5', '', d)}" -PACKAGECONFIG[jpeg] = "-DWITH_JPEG=ON -DENABLE_DCTDECODER=libjpeg,-DWITH_JPEG=OFF -DENABLE_DCTDECODER=none,jpeg" -PACKAGECONFIG[png] = "-DWITH_PNG=ON,-DWITH_PNG=OFF,libpng" -PACKAGECONFIG[tiff] = "-DWITH_TIFF=ON,-DWITH_TIFF=OFF,tiff" -PACKAGECONFIG[curl] = "-DENABLE_LIBCURL=ON,-DENABLE_LIBCURL=OFF,curl" -PACKAGECONFIG[openjpeg] = "-DENABLE_LIBOPENJPEG=openjpeg2,-DENABLE_LIBOPENJPEG=none,openjpeg" -PACKAGECONFIG[qt5] = "-DENABLE_QT5=ON,-DENABLE_QT5=OFF,qtbase qttools-native" -PACKAGECONFIG[nss] = "-DWITH_NSS3=ON,-DWITH_NSS3=OFF,nss" - -# surprise - did not expect this to work :) -inherit ${@bb.utils.contains('PACKAGECONFIG', 'qt5', 'cmake_qt5', '', d)} - -SECURITY_CFLAGS = "${SECURITY_NO_PIE_CFLAGS}" - -EXTRA_OECMAKE += " \ - -DENABLE_CMS=lcms2 \ - -DENABLE_UNSTABLE_API_ABI_HEADERS=ON \ - -DBUILD_GTK_TESTS=OFF \ - -DENABLE_ZLIB=ON \ - -DCMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES:PATH='${STAGING_INCDIR}' \ - ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '-DENABLE_GOBJECT_INTROSPECTION=ON', '-DENABLE_GOBJECT_INTROSPECTION=OFF', d)} \ -" - -do_configure_append() { - # poppler macro uses pkg-config to check for g-ir runtimes. Something - # makes them point to /usr/bin. Align them to sysroot - that's where the - # gir-wrappers are: - sed -i 's: ${bindir}/g-ir: ${STAGING_BINDIR}/g-ir:' ${B}/build.ninja -} - -PACKAGES =+ "libpoppler libpoppler-glib" -FILES_libpoppler = "${libdir}/libpoppler.so.*" -FILES_libpoppler-glib = "${libdir}/libpoppler-glib.so.*" - -RDEPENDS_libpoppler = "poppler-data" diff --git a/meta-openembedded/meta-oe/recipes-support/poppler/poppler_0.84.0.bb b/meta-openembedded/meta-oe/recipes-support/poppler/poppler_0.84.0.bb new file mode 100644 index 0000000000..5153868b68 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/poppler/poppler_0.84.0.bb @@ -0,0 +1,51 @@ +SUMMARY = "Poppler is a PDF rendering library based on the xpdf-3.0 code base" +HOMEPAGE = "https://poppler.freedesktop.org/" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" + +SRC_URI = "http://poppler.freedesktop.org/${BP}.tar.xz \ + file://0001-Do-not-overwrite-all-our-build-flags.patch \ + file://basename-include.patch \ + " +SRC_URI[md5sum] = "e14a8aca8809908ad4364c32c17bcb92" +SRC_URI[sha256sum] = "c7a130da743b38a548f7a21fe5940506fb1949f4ebdd3209f0e5b302fa139731" + +DEPENDS = "fontconfig zlib cairo lcms glib-2.0" + +inherit cmake pkgconfig gobject-introspection + +PACKAGECONFIG ??= "jpeg openjpeg png tiff nss ${@bb.utils.contains('BBFILE_COLLECTIONS', 'qt5-layer', 'qt5', '', d)}" +PACKAGECONFIG[jpeg] = "-DWITH_JPEG=ON -DENABLE_DCTDECODER=libjpeg,-DWITH_JPEG=OFF -DENABLE_DCTDECODER=none,jpeg" +PACKAGECONFIG[png] = "-DWITH_PNG=ON,-DWITH_PNG=OFF,libpng" +PACKAGECONFIG[tiff] = "-DWITH_TIFF=ON,-DWITH_TIFF=OFF,tiff" +PACKAGECONFIG[curl] = "-DENABLE_LIBCURL=ON,-DENABLE_LIBCURL=OFF,curl" +PACKAGECONFIG[openjpeg] = "-DENABLE_LIBOPENJPEG=openjpeg2,-DENABLE_LIBOPENJPEG=none,openjpeg" +PACKAGECONFIG[qt5] = "-DENABLE_QT5=ON,-DENABLE_QT5=OFF,qtbase qttools-native" +PACKAGECONFIG[nss] = "-DWITH_NSS3=ON,-DWITH_NSS3=OFF,nss" + +# surprise - did not expect this to work :) +inherit ${@bb.utils.contains('PACKAGECONFIG', 'qt5', 'cmake_qt5', '', d)} + +SECURITY_CFLAGS = "${SECURITY_NO_PIE_CFLAGS}" + +EXTRA_OECMAKE += " \ + -DENABLE_CMS=lcms2 \ + -DENABLE_UNSTABLE_API_ABI_HEADERS=ON \ + -DBUILD_GTK_TESTS=OFF \ + -DENABLE_ZLIB=ON \ + -DCMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES:PATH='${STAGING_INCDIR}' \ + ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '-DENABLE_GOBJECT_INTROSPECTION=ON', '-DENABLE_GOBJECT_INTROSPECTION=OFF', d)} \ +" + +do_configure_append() { + # poppler macro uses pkg-config to check for g-ir runtimes. Something + # makes them point to /usr/bin. Align them to sysroot - that's where the + # gir-wrappers are: + sed -i 's: ${bindir}/g-ir: ${STAGING_BINDIR}/g-ir:' ${B}/build.ninja +} + +PACKAGES =+ "libpoppler libpoppler-glib" +FILES_libpoppler = "${libdir}/libpoppler.so.*" +FILES_libpoppler-glib = "${libdir}/libpoppler-glib.so.*" + +RDEPENDS_libpoppler = "poppler-data" diff --git a/meta-openembedded/meta-oe/recipes-support/samsung-soc-utils/sjf2410-linux-native_svn.bb b/meta-openembedded/meta-oe/recipes-support/samsung-soc-utils/sjf2410-linux-native_svn.bb index 9e609c4dd8..3a5172eecc 100644 --- a/meta-openembedded/meta-oe/recipes-support/samsung-soc-utils/sjf2410-linux-native_svn.bb +++ b/meta-openembedded/meta-oe/recipes-support/samsung-soc-utils/sjf2410-linux-native_svn.bb @@ -13,7 +13,6 @@ SRC_URI = "svn://svn.openmoko.org/trunk/src/host/;module=sjf2410-linux;protocol= S = "${WORKDIR}/sjf2410-linux" inherit native deploy -do_deploy[sstate-outputdirs] = "${DEPLOY_DIR_TOOLS}" CFLAGS += "-DLINUX_PPDEV" @@ -31,3 +30,11 @@ do_deploy() { } addtask deploy before do_build after do_install + +do_deploy[sstate-outputdirs] = "${DEPLOY_DIR_TOOLS}" +# cleandirs should possibly be in deploy.bbclass but we need it +do_deploy[cleandirs] = "${DEPLOYDIR}" +# clear stamp-extra-info since MACHINE_ARCH is normally put there by +# deploy.bbclass +do_deploy[stamp-extra-info] = "" + diff --git a/meta-openembedded/meta-oe/recipes-support/sharutils/sharutils/0001-Fix-build-with-recent-gettext.patch b/meta-openembedded/meta-oe/recipes-support/sharutils/sharutils/0001-Fix-build-with-recent-gettext.patch new file mode 100644 index 0000000000..7924fa55e2 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/sharutils/sharutils/0001-Fix-build-with-recent-gettext.patch @@ -0,0 +1,22 @@ +From 7a2fe915dded27630a345762628cdd542ea5d58a Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin +Date: Fri, 20 Dec 2019 13:56:16 +0100 +Subject: [PATCH] Fix build with recent gettext + +Upstream-Status: Pending +Signed-off-by: Alexander Kanavin +--- + Makefile.am | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile.am b/Makefile.am +index 03d1131..65609e7 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -17,5 +17,5 @@ + ## Process this file with automake to produce Makefile.in. + + EXTRA_DIST = config.rpath m4 $(DIST_ALPHA) +-SUBDIRS = intl lib libopts src doc po tests ++SUBDIRS = lib libopts src doc po tests + ACLOCAL_AMFLAGS = -I m4 diff --git a/meta-openembedded/meta-oe/recipes-support/sharutils/sharutils_4.15.2.bb b/meta-openembedded/meta-oe/recipes-support/sharutils/sharutils_4.15.2.bb index 8f39fde821..930922ed48 100644 --- a/meta-openembedded/meta-oe/recipes-support/sharutils/sharutils_4.15.2.bb +++ b/meta-openembedded/meta-oe/recipes-support/sharutils/sharutils_4.15.2.bb @@ -9,7 +9,8 @@ inherit gettext autotools SRC_URI = "${GNU_MIRROR}/${BPN}/${BP}.tar.gz \ file://0001-Fix-build-with-clang.patch \ file://CVE-2018-1000097.patch \ -" + file://0001-Fix-build-with-recent-gettext.patch \ + " SRC_URI[md5sum] = "32a51b23e25ad5e6af4b89f228be1800" SRC_URI[sha256sum] = "ee336e68549664e7a19b117adf02edfdeac6307f22e5ba78baca457116914637" diff --git a/meta-openembedded/meta-oe/recipes-support/spitools/spitools_git.bb b/meta-openembedded/meta-oe/recipes-support/spitools/spitools_git.bb index af1cd6001c..625756873b 100644 --- a/meta-openembedded/meta-oe/recipes-support/spitools/spitools_git.bb +++ b/meta-openembedded/meta-oe/recipes-support/spitools/spitools_git.bb @@ -4,9 +4,9 @@ AUTHOR = "Christophe BLAESS" LICENSE="GPLv2" LIC_FILES_CHKSUM = "file://LICENSE;md5=8c16666ae6c159876a0ba63099614381" -BPV = "0.8.3" +BPV = "0.8.4" PV = "${BPV}" -SRCREV = "a3f1f68a048d0d2321ee562b3744dd1162cad22f" +SRCREV = "4a36a84f7df291ddaebd397aecf0c8515256a8e0" S = "${WORKDIR}/git" diff --git a/meta-openembedded/meta-oe/recipes-support/udisks/udisks2/non-gnu-libc.patch b/meta-openembedded/meta-oe/recipes-support/udisks/udisks2/non-gnu-libc.patch deleted file mode 100644 index 98e6c75f24..0000000000 --- a/meta-openembedded/meta-oe/recipes-support/udisks/udisks2/non-gnu-libc.patch +++ /dev/null @@ -1,26 +0,0 @@ -musl does not define __GNUC_PREREQ therefore check for C library being glibc -if not then define the macro - -Upstream-Status: Pending -Signed-off-by: Khem Raj -Index: udisks-2.1.7/udisks/udisksclient.c -=================================================================== ---- udisks-2.1.7.orig/udisks/udisksclient.c -+++ udisks-2.1.7/udisks/udisksclient.c -@@ -27,8 +27,15 @@ - #include "udisksobjectinfo.h" - - /* For __GNUC_PREREQ usage below */ --#ifdef __GNUC__ -+#ifdef __GLIBC__ - # include -+#else -+#if defined(__GNUC__) -+#define __GNUC_PREREQ(__maj, __min) \ -+ (__GNUC__ > (__maj) || __GNUC__ == (__maj) && __GNUC_MINOR__ >= (__min)) -+#else -+#define __GNUC_PREREQ(__maj, __min) 0 -+#endif - #endif - - /** diff --git a/meta-openembedded/meta-oe/recipes-support/udisks/udisks2_git.bb b/meta-openembedded/meta-oe/recipes-support/udisks/udisks2_git.bb index f0aad95384..ecaf01e71d 100644 --- a/meta-openembedded/meta-oe/recipes-support/udisks/udisks2_git.bb +++ b/meta-openembedded/meta-oe/recipes-support/udisks/udisks2_git.bb @@ -18,10 +18,9 @@ RDEPENDS_${PN} = "acl" SRC_URI = " \ git://github.com/storaged-project/udisks.git;branch=master \ - file://non-gnu-libc.patch \ " -PV = "2.8.2" -SRCREV = "7a787aa3b340fc7f1ca72d748635d6c5445edc58" +PV = "2.8.4+git${SRCREV}" +SRCREV = "db5f487345da2eaa87976450ea51c2c465d9b82e" S = "${WORKDIR}/git" CVE_PRODUCT = "udisks" @@ -50,6 +49,7 @@ FILES_${PN} += " \ PACKAGES =+ "${PN}-libs" FILES_${PN}-libs = "${libdir}/lib*${SOLIBS}" +FILES_${PN} += "${nonarch_libdir}/tmpfiles.d" SYSTEMD_SERVICE_${PN} = "${BPN}.service" SYSTEMD_AUTO_ENABLE = "disable" diff --git a/meta-openembedded/meta-oe/recipes-support/utouch/files/0001-include-sys-stat.h-for-fixing-build-issue-on-musl.patch b/meta-openembedded/meta-oe/recipes-support/utouch/files/0001-include-sys-stat.h-for-fixing-build-issue-on-musl.patch deleted file mode 100644 index f3c8eeb418..0000000000 --- a/meta-openembedded/meta-oe/recipes-support/utouch/files/0001-include-sys-stat.h-for-fixing-build-issue-on-musl.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 08b17ec505e09e8f5a4d73ffc3aa61561ec2e0da Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Thu, 30 Mar 2017 00:27:54 -0700 -Subject: [PATCH] include sys/stat.h for fixing build issue on musl - -error: field has incomplete - type 'struct stat' - struct stat fs; - -Signed-off-by: Khem Raj ---- - tools/utouch-frame-test-mtdev.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/tools/utouch-frame-test-mtdev.c b/tools/utouch-frame-test-mtdev.c -index 5253320..2032af4 100644 ---- a/tools/utouch-frame-test-mtdev.c -+++ b/tools/utouch-frame-test-mtdev.c -@@ -30,6 +30,7 @@ - #include - #include - #include -+#include - #include "common-defs.h" - - struct frame_test { --- -2.12.1 - diff --git a/meta-openembedded/meta-oe/recipes-support/utouch/files/remove-man-page-creation.patch b/meta-openembedded/meta-oe/recipes-support/utouch/files/remove-man-page-creation.patch deleted file mode 100644 index 8706d91234..0000000000 --- a/meta-openembedded/meta-oe/recipes-support/utouch/files/remove-man-page-creation.patch +++ /dev/null @@ -1,16 +0,0 @@ -configure.ac: never generate the docs even if a2x is found as xmllint will fail finding custom dtd files - -Upstream-Status: Inappropriate [embedded specific] - -Signed-off-by: Derek Straka ---- git/configure.ac.orig 2016-08-15 09:53:46.787003658 -0400 -+++ git/configure.ac 2016-08-15 09:53:51.698972432 -0400 -@@ -37,7 +37,7 @@ - ]) - - AC_CHECK_PROG([ASCIIDOC], [a2x], [a2x]) --AM_CONDITIONAL([HAVE_DOCTOOLS], [test "x$ASCIIDOC" != "x"]) -+AM_CONDITIONAL([HAVE_DOCTOOLS], [false]) - AS_IF([test "x$ASCIIDOC" = "x"], - [AC_MSG_WARN([asciidoc not installed, man pages will not be created])]) - diff --git a/meta-openembedded/meta-oe/recipes-support/utouch/utouch-evemu/0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch b/meta-openembedded/meta-oe/recipes-support/utouch/utouch-evemu/0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch new file mode 100644 index 0000000000..71bf572699 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/utouch/utouch-evemu/0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch @@ -0,0 +1,76 @@ +From 60987a1df8eb8c9196222375574dcd7bc0ad2daa Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sat, 30 Nov 2019 20:23:27 -0800 +Subject: [PATCH] Fix build on 32bit arches with 64bit time_t + +time element is deprecated on new input_event structure in kernel's +input.h [1] + +[1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit?id=152194fe9c3f + +Upstream-Status: Pending +Signed-off-by: Khem Raj +--- + src/evemu-impl.h | 5 +++++ + src/evemu.c | 16 +++++++++------- + 2 files changed, 14 insertions(+), 7 deletions(-) + +diff --git a/src/evemu-impl.h b/src/evemu-impl.h +index acf2976..c08d861 100644 +--- a/src/evemu-impl.h ++++ b/src/evemu-impl.h +@@ -21,6 +21,11 @@ + #include + #include + ++#ifndef input_event_sec ++#define input_event_sec time.tv_sec ++#define input_event_usec time.tv_usec ++#endif ++ + #define EVPLAY_NBITS KEY_CNT + #define EVPLAY_NBYTES ((EVPLAY_NBITS + 7) / 8) + +diff --git a/src/evemu.c b/src/evemu.c +index 21187af..160c915 100644 +--- a/src/evemu.c ++++ b/src/evemu.c +@@ -363,7 +363,7 @@ int evemu_read(struct evemu_device *dev, FILE *fp) + int evemu_write_event(FILE *fp, const struct input_event *ev) + { + return fprintf(fp, "E: %lu.%06u %04x %04x %d\n", +- ev->time.tv_sec, (unsigned)ev->time.tv_usec, ++ ev->input_event_sec, (unsigned)ev->input_event_usec, + ev->type, ev->code, ev->value); + } + +@@ -391,8 +391,8 @@ int evemu_read_event(FILE *fp, struct input_event *ev) + int value; + int ret = fscanf(fp, "E: %lu.%06u %04x %04x %d\n", + &sec, &usec, &type, &code, &value); +- ev->time.tv_sec = sec; +- ev->time.tv_usec = usec; ++ ev->input_event_sec = sec; ++ ev->input_event_usec = usec; + ev->type = type; + ev->code = code; + ev->value = value; +@@ -411,12 +411,14 @@ int evemu_read_event_realtime(FILE *fp, struct input_event *ev, + + if (evtime) { + if (!evtime->tv_sec) +- *evtime = ev->time; +- usec = 1000000L * (ev->time.tv_sec - evtime->tv_sec); +- usec += ev->time.tv_usec - evtime->tv_usec; ++ evtime->tv_sec = ev->input_event_sec; ++ evtime->tv_usec = ev->input_event_usec; ++ usec = 1000000L * (ev->input_event_sec - evtime->tv_sec); ++ usec += ev->input_event_usec - evtime->tv_usec; + if (usec > 500) { + usleep(usec); +- *evtime = ev->time; ++ evtime->tv_sec = ev->input_event_sec; ++ evtime->tv_usec = ev->input_event_usec; + } + } + diff --git a/meta-openembedded/meta-oe/recipes-support/utouch/utouch-evemu_git.bb b/meta-openembedded/meta-oe/recipes-support/utouch/utouch-evemu_git.bb index 1dd5a86d50..41d1cbfd97 100644 --- a/meta-openembedded/meta-oe/recipes-support/utouch/utouch-evemu_git.bb +++ b/meta-openembedded/meta-oe/recipes-support/utouch/utouch-evemu_git.bb @@ -7,7 +7,9 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=f27defe1e96c2e1ecd4e0c9be8967949" inherit autotools -SRC_URI = "git://bitmath.org/git/evemu.git;protocol=http" +SRC_URI = "git://bitmath.org/git/evemu.git;protocol=http \ + file://0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch \ + " SRCREV = "9752b50e922572e4cd214ac45ed95e4ee410fe24" PV = "1.0.5+git${SRCPV}" diff --git a/meta-openembedded/meta-oe/recipes-support/utouch/utouch-frame/0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch b/meta-openembedded/meta-oe/recipes-support/utouch/utouch-frame/0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch new file mode 100644 index 0000000000..d405d43f14 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/utouch/utouch-frame/0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch @@ -0,0 +1,41 @@ +From 895b6996e232700fb2a428838feaef418cc64b70 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sat, 30 Nov 2019 22:52:13 -0800 +Subject: [PATCH] Fix build on 32bit arches with 64bit time_t + +time element is deprecated on new input_event structure in kernel's +input.h [1] + +[1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit?id=152194fe9c3f + +Upstream-Status: Pending +Signed-off-by: Khem Raj +--- + src/frame-mtdev.c | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/src/frame-mtdev.c b/src/frame-mtdev.c +index c0f15d8..42ad380 100644 +--- a/src/frame-mtdev.c ++++ b/src/frame-mtdev.c +@@ -25,6 +25,11 @@ + #include + #include + ++#ifndef input_event_sec ++#define input_event_sec time.tv_sec ++#define input_event_usec time.tv_usec ++#endif ++ + static int is_pointer(const struct evemu_device *dev) + { + return evemu_has_event(dev, EV_REL, REL_X) || +@@ -200,7 +205,7 @@ static int handle_abs_event(utouch_frame_handle fh, + static utouch_frame_time_t get_evtime_ms(const struct input_event *syn) + { + static const utouch_frame_time_t ms = 1000; +- return syn->time.tv_usec / ms + syn->time.tv_sec * ms; ++ return syn->input_event_usec / ms + syn->input_event_sec * ms; + } + + const struct utouch_frame * diff --git a/meta-openembedded/meta-oe/recipes-support/utouch/utouch-frame/0001-include-sys-stat.h-for-fixing-build-issue-on-musl.patch b/meta-openembedded/meta-oe/recipes-support/utouch/utouch-frame/0001-include-sys-stat.h-for-fixing-build-issue-on-musl.patch new file mode 100644 index 0000000000..f3c8eeb418 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/utouch/utouch-frame/0001-include-sys-stat.h-for-fixing-build-issue-on-musl.patch @@ -0,0 +1,29 @@ +From 08b17ec505e09e8f5a4d73ffc3aa61561ec2e0da Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Thu, 30 Mar 2017 00:27:54 -0700 +Subject: [PATCH] include sys/stat.h for fixing build issue on musl + +error: field has incomplete + type 'struct stat' + struct stat fs; + +Signed-off-by: Khem Raj +--- + tools/utouch-frame-test-mtdev.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/tools/utouch-frame-test-mtdev.c b/tools/utouch-frame-test-mtdev.c +index 5253320..2032af4 100644 +--- a/tools/utouch-frame-test-mtdev.c ++++ b/tools/utouch-frame-test-mtdev.c +@@ -30,6 +30,7 @@ + #include + #include + #include ++#include + #include "common-defs.h" + + struct frame_test { +-- +2.12.1 + diff --git a/meta-openembedded/meta-oe/recipes-support/utouch/utouch-frame/remove-man-page-creation.patch b/meta-openembedded/meta-oe/recipes-support/utouch/utouch-frame/remove-man-page-creation.patch new file mode 100644 index 0000000000..8706d91234 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/utouch/utouch-frame/remove-man-page-creation.patch @@ -0,0 +1,16 @@ +configure.ac: never generate the docs even if a2x is found as xmllint will fail finding custom dtd files + +Upstream-Status: Inappropriate [embedded specific] + +Signed-off-by: Derek Straka +--- git/configure.ac.orig 2016-08-15 09:53:46.787003658 -0400 ++++ git/configure.ac 2016-08-15 09:53:51.698972432 -0400 +@@ -37,7 +37,7 @@ + ]) + + AC_CHECK_PROG([ASCIIDOC], [a2x], [a2x]) +-AM_CONDITIONAL([HAVE_DOCTOOLS], [test "x$ASCIIDOC" != "x"]) ++AM_CONDITIONAL([HAVE_DOCTOOLS], [false]) + AS_IF([test "x$ASCIIDOC" = "x"], + [AC_MSG_WARN([asciidoc not installed, man pages will not be created])]) + diff --git a/meta-openembedded/meta-oe/recipes-support/utouch/utouch-frame_git.bb b/meta-openembedded/meta-oe/recipes-support/utouch/utouch-frame_git.bb index 39d46af8e9..1ebebfa9f5 100644 --- a/meta-openembedded/meta-oe/recipes-support/utouch/utouch-frame_git.bb +++ b/meta-openembedded/meta-oe/recipes-support/utouch/utouch-frame_git.bb @@ -12,6 +12,7 @@ inherit autotools pkgconfig SRC_URI = "git://bitmath.org/git/frame.git;protocol=http \ file://remove-man-page-creation.patch \ file://0001-include-sys-stat.h-for-fixing-build-issue-on-musl.patch \ + file://0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch \ " SRCREV = "95363d5a1f7394d71144bf3b408ef4e6db4350fc" diff --git a/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/export.patch b/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/export.patch new file mode 100644 index 0000000000..bfba3332b0 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/export.patch @@ -0,0 +1,77 @@ +Index: src/VBox/Additions/linux/export_modules.sh +=================================================================== +--- a/src/VBox/Additions/linux/export_modules.sh ++++ b/src/VBox/Additions/linux/export_modules.sh +@@ -46,7 +46,13 @@ + VBOX_VERSION_MAJOR=`sed -e "s/^ *VBOX_VERSION_MAJOR *= \+\([0-9]\+\)/\1/;t;d" $PATH_ROOT/Version.kmk` + VBOX_VERSION_MINOR=`sed -e "s/^ *VBOX_VERSION_MINOR *= \+\([0-9]\+\)/\1/;t;d" $PATH_ROOT/Version.kmk` + VBOX_VERSION_BUILD=`sed -e "s/^ *VBOX_VERSION_BUILD *= \+\([0-9]\+\)/\1/;t;d" $PATH_ROOT/Version.kmk` +-VBOX_SVN_REV=`sed -e 's/^ *VBOX_SVN_REV_FALLBACK *:= \+\$(patsubst *%:,, *\$Rev: *\([0-9]\+\) *\$ *) */\1/;t;d' $PATH_ROOT/Config.kmk` ++VBOX_SVN_CONFIG_REV=`sed -e 's/^ *VBOX_SVN_REV_CONFIG_FALLBACK *:= \+\$(patsubst *%:,, *\$Rev: *\([0-9]\+\) *\$ *) */\1/;t;d' $PATH_ROOT/Config.kmk` ++VBOX_SVN_VERSION_REV=`sed -e 's/^ *VBOX_SVN_REV_VERSION_FALLBACK *:= \+\$(patsubst *%:,, *\$Rev: *\([0-9]\+\) *\$ *) */\1/;t;d' $PATH_ROOT/Version.kmk` ++if [ "$VBOX_SVN_CONFIG_REV" -gt "$VBOX_SVN_VERSION_REV" ]; then ++ VBOX_SVN_REV=$VBOX_SVN_CONFIG_REV ++else ++ VBOX_SVN_REV=$VBOX_SVN_VERSION_REV ++fi + VBOX_VENDOR=`sed -e 's/^ *VBOX_VENDOR *= \+\(.\+\)/\1/;t;d' $PATH_ROOT/Config.kmk` + VBOX_VENDOR_SHORT=`sed -e 's/^ *VBOX_VENDOR_SHORT *= \+\(.\+\)/\1/;t;d' $PATH_ROOT/Config.kmk` + VBOX_PRODUCT=`sed -e 's/^ *VBOX_PRODUCT *= \+\(.\+\)/\1/;t;d' $PATH_ROOT/Config.kmk` +Index: src/VBox/HostDrivers/linux/export_modules.sh +=================================================================== +--- a/src/VBox/HostDrivers/linux/export_modules.sh ++++ b/src/VBox/HostDrivers/linux/export_modules.sh +@@ -100,12 +100,26 @@ + VBOX_VERSION_MINOR=`sed -e "s/^ *VBOX_VERSION_MINOR *= \+\([0-9]\+\)/\1/;t;d" $PATH_ROOT/Version.kmk` + VBOX_VERSION_BUILD=`sed -e "s/^ *VBOX_VERSION_BUILD *= \+\([0-9]\+\)/\1/;t;d" $PATH_ROOT/Version.kmk` + VBOX_VERSION_STRING=$VBOX_VERSION_MAJOR.$VBOX_VERSION_MINOR.$VBOX_VERSION_BUILD +-VBOX_SVN_REV=`sed -e 's/^ *VBOX_SVN_REV_FALLBACK *:= \+\$(patsubst *%:,, *\$Rev: *\([0-9]\+\) *\$ *) */\1/;t;d' $PATH_ROOT/Config.kmk` VBOX_VENDOR=`sed -e 's/^ *VBOX_VENDOR *= \+\(.\+\)/\1/;t;d' $PATH_ROOT/Config.kmk` VBOX_VENDOR_SHORT=`sed -e 's/^ *VBOX_VENDOR_SHORT *= \+\(.\+\)/\1/;t;d' $PATH_ROOT/Config.kmk` VBOX_PRODUCT=`sed -e 's/^ *VBOX_PRODUCT *= \+\(.\+\)/\1/;t;d' $PATH_ROOT/Config.kmk` VBOX_C_YEAR=`date +%Y` ++VBOX_VERSION_BUILD=`sed -e "s/^ *VBOX_VERSION_BUILD *= \+\([0-9]\+\)/\1/;t;d" $PATH_ROOT/Version.kmk` ++VBOX_SVN_CONFIG_REV=`sed -e 's/^ *VBOX_SVN_REV_CONFIG_FALLBACK *:= \+\$(patsubst *%:,, *\$Rev: *\([0-9]\+\) *\$ *) */\1/;t;d' $PATH_ROOT/Config.kmk` ++VBOX_SVN_VERSION_REV=`sed -e 's/^ *VBOX_SVN_REV_VERSION_FALLBACK *:= \+\$(patsubst *%:,, *\$Rev: *\([0-9]\+\) *\$ *) */\1/;t;d' $PATH_ROOT/Version.kmk` ++if [ "$VBOX_SVN_CONFIG_REV" -gt "$VBOX_SVN_VERSION_REV" ]; then ++ VBOX_SVN_REV=$VBOX_SVN_CONFIG_REV ++else ++ VBOX_SVN_REV=$VBOX_SVN_VERSION_REV ++fi ++VBOX_VENDOR=`sed -e 's/^ *VBOX_VENDOR *= \+\(.\+\)/\1/;t;d' $PATH_ROOT/Config.kmk` ++VBOX_VENDOR_SHORT=`sed -e 's/^ *VBOX_VENDOR_SHORT *= \+\(.\+\)/\1/;t;d' $PATH_ROOT/Config.kmk` ++VBOX_PRODUCT=`sed -e 's/^ *VBOX_PRODUCT *= \+\(.\+\)/\1/;t;d' $PATH_ROOT/Config.kmk` ++VBOX_C_YEAR=`date +%Y` ++VBOX_WITH_PCI_PASSTHROUGH=`sed -e "s/^ *VBOX_WITH_PCI_PASSTHROUGH *= *\(1\?\)/\1/;t;d" $PATH_ROOT/Config.kmk` + + . $PATH_VBOXDRV/linux/files_vboxdrv + . $PATH_VBOXNET/linux/files_vboxnetflt + . $PATH_VBOXADP/linux/files_vboxnetadp +-. $PATH_VBOXPCI/linux/files_vboxpci ++if [ "$VBOX_WITH_PCI_PASSTHROUGH" -eq "1" ]; then ++ . $PATH_VBOXPCI/linux/files_vboxpci ++fi + + # Temporary path for creating the modules, will be removed later + rm -rf "$PATH_TMP" +@@ -187,14 +201,16 @@ + fi + + # vboxpci (VirtualBox host PCI access kernel module) +-mkdir $PATH_TMP/vboxpci || exit 1 +-for f in $VBOX_VBOXPCI_SOURCES; do +- install -D -m 0644 `echo $f|cut -d'=' -f1` "$PATH_TMP/vboxpci/`echo $f|cut -d'>' -f2`" +-done +-if [ -n "$VBOX_WITH_HARDENING" ]; then +- cat $PATH_VBOXPCI/linux/Makefile > $PATH_TMP/vboxpci/Makefile +-else +- sed -e "s;VBOX_WITH_HARDENING;;g" < $PATH_VBOXPCI/linux/Makefile > $PATH_TMP/vboxpci/Makefile ++if [ "$VBOX_WITH_PCI_PASSTHROUGH" -eq "1" ]; then ++ mkdir $PATH_TMP/vboxpci || exit 1 ++ for f in $VBOX_VBOXPCI_SOURCES; do ++ install -D -m 0644 `echo $f|cut -d'=' -f1` "$PATH_TMP/vboxpci/`echo $f|cut -d'>' -f2`" ++ done ++ if [ -n "$VBOX_WITH_HARDENING" ]; then ++ cat $PATH_VBOXPCI/linux/Makefile > $PATH_TMP/vboxpci/Makefile ++ else ++ sed -e "s;VBOX_WITH_HARDENING;;g" < $PATH_VBOXPCI/linux/Makefile > $PATH_TMP/vboxpci/Makefile ++ fi + fi + + install -D -m 0644 $PATH_LINUX/Makefile $PATH_TMP/Makefile diff --git a/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_5.2.22.bb b/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_5.2.22.bb deleted file mode 100644 index 0f8d7af3fa..0000000000 --- a/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_5.2.22.bb +++ /dev/null @@ -1,83 +0,0 @@ -SUMMARY = "VirtualBox Linux Guest Drivers" -SECTION = "core" -LICENSE = "GPL-2.0" -LIC_FILES_CHKSUM = "file://${WORKDIR}/${VBOX_NAME}/COPYING;md5=e197d5641bb35b29d46ca8c4bf7f2660" - -DEPENDS = "virtual/kernel" - -inherit module kernel-module-split - -COMPATIBLE_MACHINE = "(qemux86|qemux86-64)" - -VBOX_NAME = "VirtualBox-${PV}" - -SRC_URI = "http://download.virtualbox.org/virtualbox/${PV}/${VBOX_NAME}.tar.bz2 \ - file://Makefile.utils \ -" -SRC_URI[md5sum] = "c9c2f162ac5f99d28d8c0ca43b19ed01" -SRC_URI[sha256sum] = "5580e875349341a1aabc6d5d2f697d242f277487316faaf1fbe68d9014f788d4" - -S = "${WORKDIR}/vbox_module" - -export BUILD_TARGET_ARCH="${ARCH}" -export BUILD_TARGET_ARCH_x86-64="amd64" - -EXTRA_OEMAKE += "KERN_DIR='${WORKDIR}/${KERNEL_VERSION}/build'" - -# otherwise 5.2.22 builds just vboxguest -MAKE_TARGETS = "all" - -addtask export_sources before do_patch after do_unpack - -do_export_sources() { - mkdir -p "${S}" - ${WORKDIR}/${VBOX_NAME}/src/VBox/Additions/linux/export_modules.sh ${T}/vbox_modules.tar.gz - tar -C "${S}" -xzf ${T}/vbox_modules.tar.gz - - # add a mount utility to use shared folder from VBox Addition Source Code - mkdir -p "${S}/utils" - install ${WORKDIR}/${VBOX_NAME}/src/VBox/Additions/linux/sharedfolders/mount.vboxsf.c ${S}/utils - install ${WORKDIR}/${VBOX_NAME}/src/VBox/Additions/linux/sharedfolders/vbsfmount.c ${S}/utils - install ${S}/../Makefile.utils ${S}/utils/Makefile - -} - -do_configure_prepend() { - # vboxguestdrivers/5.2.6-r0/vbox_module/vboxguest/Makefile.include.header:99: *** The variable KERN_DIR must be a kernel build folder and end with /build without a trailing slash, or KERN_VER must be set. Stop. - # vboxguestdrivers/5.2.6-r0/vbox_module/vboxguest/Makefile.include.header:108: *** The kernel build folder path must end in /build, or the variable KERN_VER must be set. Stop. - mkdir -p ${WORKDIR}/${KERNEL_VERSION} - ln -snf ${STAGING_KERNEL_DIR} ${WORKDIR}/${KERNEL_VERSION}/build -} - -# compile and install mount utility -do_compile_append() { - oe_runmake 'LD=${CC}' 'LDFLAGS=${LDFLAGS}' -C ${S}/utils - if ! [ -e vboxguest.ko -a -e vboxsf.ko -a -e vboxvideo.ko ] ; then - echo "ERROR: One of vbox*.ko modules wasn't built" - exit 1 - fi -} - -module_do_install() { - MODULE_DIR=${D}${nonarch_base_libdir}/modules/${KERNEL_VERSION}/kernel/misc - install -d $MODULE_DIR - install -m 644 vboxguest.ko $MODULE_DIR - install -m 644 vboxsf.ko $MODULE_DIR - install -m 644 vboxvideo.ko $MODULE_DIR -} - -do_install_append() { - install -d ${D}${base_sbindir} - install -m 755 ${S}/utils/mount.vboxsf ${D}${base_sbindir} -} - -PACKAGES += "kernel-module-vboxguest kernel-module-vboxsf kernel-module-vboxvideo" -RRECOMMENDS_${PN} += "kernel-module-vboxguest kernel-module-vboxsf kernel-module-vboxvideo" - -FILES_${PN} = "${base_sbindir}" - -# autoload if installed -KERNEL_MODULE_AUTOLOAD += "vboxguest vboxsf vboxvideo" - -PNBLACKLIST[vboxguestdrivers] = "Needs forward porting to kernel 5.2+" - diff --git a/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_6.1.0.bb b/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_6.1.0.bb new file mode 100644 index 0000000000..be18b10c66 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_6.1.0.bb @@ -0,0 +1,82 @@ +SUMMARY = "VirtualBox Linux Guest Drivers" +SECTION = "core" +LICENSE = "GPL-2.0" +LIC_FILES_CHKSUM = "file://${WORKDIR}/${VBOX_NAME}/COPYING;md5=e197d5641bb35b29d46ca8c4bf7f2660" + +DEPENDS = "virtual/kernel" + +inherit module kernel-module-split + +COMPATIBLE_MACHINE = "(qemux86|qemux86-64)" + +VBOX_NAME = "VirtualBox-${PV}" + +SRC_URI = "http://download.virtualbox.org/virtualbox/${PV}/${VBOX_NAME}.tar.bz2 \ + file://Makefile.utils \ + file://export.patch;patchdir=${WORKDIR}/${VBOX_NAME} \ +" +SRC_URI[md5sum] = "484b550f4692c9d61896b08bb0a1be7f" +SRC_URI[sha256sum] = "49005ed94454f893fc3955e1e2b9607e85c300235cb983b39d1df2cfcf29f039" + +S = "${WORKDIR}/vbox_module" + +export BUILD_TARGET_ARCH="${ARCH}" +export BUILD_TARGET_ARCH_x86-64="amd64" + +EXTRA_OEMAKE += "KERN_DIR='${WORKDIR}/${KERNEL_VERSION}/build' KBUILD_VERBOSE=1" + +# otherwise 5.2.22 builds just vboxguest +MAKE_TARGETS = "all" + +addtask export_sources after do_patch before do_configure + +do_export_sources() { + mkdir -p "${S}" + ${WORKDIR}/${VBOX_NAME}/src/VBox/Additions/linux/export_modules.sh ${T}/vbox_modules.tar.gz + tar -C "${S}" -xzf ${T}/vbox_modules.tar.gz + + # add a mount utility to use shared folder from VBox Addition Source Code + mkdir -p "${S}/utils" + install ${WORKDIR}/${VBOX_NAME}/src/VBox/Additions/linux/sharedfolders/mount.vboxsf.c ${S}/utils + install ${WORKDIR}/${VBOX_NAME}/src/VBox/Additions/linux/sharedfolders/vbsfmount.c ${S}/utils + install ${S}/../Makefile.utils ${S}/utils/Makefile + +} + +do_configure_prepend() { + # vboxguestdrivers/5.2.6-r0/vbox_module/vboxguest/Makefile.include.header:99: *** The variable KERN_DIR must be a kernel build folder and end with /build without a trailing slash, or KERN_VER must be set. Stop. + # vboxguestdrivers/5.2.6-r0/vbox_module/vboxguest/Makefile.include.header:108: *** The kernel build folder path must end in /build, or the variable KERN_VER must be set. Stop. + mkdir -p ${WORKDIR}/${KERNEL_VERSION} + ln -snf ${STAGING_KERNEL_DIR} ${WORKDIR}/${KERNEL_VERSION}/build +} + +# compile and install mount utility +do_compile() { + oe_runmake all + oe_runmake 'LD=${CC}' 'LDFLAGS=${LDFLAGS}' -C ${S}/utils + if ! [ -e vboxguest.ko -a -e vboxsf.ko -a -e vboxvideo.ko ] ; then + echo "ERROR: One of vbox*.ko modules wasn't built" + exit 1 + fi +} + +module_do_install() { + MODULE_DIR=${D}${nonarch_base_libdir}/modules/${KERNEL_VERSION}/kernel/misc + install -d $MODULE_DIR + install -m 644 vboxguest.ko $MODULE_DIR + install -m 644 vboxsf.ko $MODULE_DIR + install -m 644 vboxvideo.ko $MODULE_DIR +} + +do_install_append() { + install -d ${D}${base_sbindir} + install -m 755 ${S}/utils/mount.vboxsf ${D}${base_sbindir} +} + +PACKAGES += "kernel-module-vboxguest kernel-module-vboxsf kernel-module-vboxvideo" +RRECOMMENDS_${PN} += "kernel-module-vboxguest kernel-module-vboxsf kernel-module-vboxvideo" + +FILES_${PN} = "${base_sbindir}" + +# autoload if installed +KERNEL_MODULE_AUTOLOAD += "vboxguest vboxsf vboxvideo" diff --git a/meta-openembedded/meta-oe/recipes-support/websocketpp/websocketpp-0.8.1/0001-Correct-clang-compiler-flags.patch b/meta-openembedded/meta-oe/recipes-support/websocketpp/websocketpp-0.8.1/0001-Correct-clang-compiler-flags.patch new file mode 100644 index 0000000000..4217897284 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/websocketpp/websocketpp-0.8.1/0001-Correct-clang-compiler-flags.patch @@ -0,0 +1,32 @@ +From 5ccaff351297bca0e254bbfd66e3f03fef9d9c75 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Fri, 10 Jan 2020 21:54:39 -0800 +Subject: [PATCH] Correct clang compiler flags + +Fix misplaced quotes, this was leading to spurious ; in compiler cmdline +Remove demanding libc++, clang can link with both libc++ and libstdc++ +and platforms have their own defaults, user can demand non defaults via +adding it to cmake flags + +Upstream-Status: Submitted [https://github.com/zaphoyd/websocketpp/pull/859] +Signed-off-by: Khem Raj +--- + CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 2d13117..c17354a 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -148,7 +148,7 @@ if (BUILD_TESTS OR BUILD_EXAMPLES) + endif() + set (WEBSOCKETPP_PLATFORM_TLS_LIBS ssl crypto) + set (WEBSOCKETPP_BOOST_LIBS system thread) +- set (CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} "-std=c++0x -stdlib=libc++") # todo: is libc++ really needed here? ++ set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x") + if (NOT APPLE) + add_definitions (-DNDEBUG -Wall -Wno-padded) # todo: should we use CMAKE_C_FLAGS for these? + endif () +-- +2.24.1 + diff --git a/meta-openembedded/meta-oe/recipes-support/websocketpp/websocketpp-0.8.1/0001-cmake-Use-GNUInstallDirs.patch b/meta-openembedded/meta-oe/recipes-support/websocketpp/websocketpp-0.8.1/0001-cmake-Use-GNUInstallDirs.patch new file mode 100644 index 0000000000..0ef2e12375 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/websocketpp/websocketpp-0.8.1/0001-cmake-Use-GNUInstallDirs.patch @@ -0,0 +1,35 @@ +From 771d79eeb0ac5079482a4b3a131bbda744793e7d Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Thu, 19 Dec 2019 20:07:11 -0800 +Subject: [PATCH] cmake: Use GNUInstallDirs + +Helps install cmakefiles in right libdir + +Upstream-Status: Submitted [https://github.com/zaphoyd/websocketpp/pull/854] +Signed-off-by: Khem Raj +--- + CMakeLists.txt | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 2786aba..080be3e 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -39,11 +39,13 @@ endif() + + set_property(GLOBAL PROPERTY USE_FOLDERS ON) + ++include(GNUInstallDirs) ++ + set(INSTALL_INCLUDE_DIR include CACHE PATH "Installation directory for header files") + if (WIN32 AND NOT CYGWIN) + set (DEF_INSTALL_CMAKE_DIR cmake) + else () +- set (DEF_INSTALL_CMAKE_DIR lib/cmake/websocketpp) ++ set (DEF_INSTALL_CMAKE_DIR ${CMAKE_INSTALL_LIBDIR}/cmake/websocketpp) + endif () + set (INSTALL_CMAKE_DIR ${DEF_INSTALL_CMAKE_DIR} CACHE PATH "Installation directory for CMake files") + +-- +2.24.1 + diff --git a/meta-openembedded/meta-oe/recipes-support/websocketpp/websocketpp-0.8.1/771.patch b/meta-openembedded/meta-oe/recipes-support/websocketpp/websocketpp-0.8.1/771.patch new file mode 100644 index 0000000000..bc65efb7dd --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/websocketpp/websocketpp-0.8.1/771.patch @@ -0,0 +1,22 @@ +From 4bccfb04a264704ec9b80ba332ee1cf113ce7f1b Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Wolfgang=20St=C3=B6ggl?= +Date: Thu, 1 Nov 2018 20:58:10 +0100 +Subject: [PATCH] Update version number in CMakeLists.txt to 0.8.1 + +--- + CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 2786aba9..2d13117b 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -24,7 +24,7 @@ endif () + ############ Project name and version + set (WEBSOCKETPP_MAJOR_VERSION 0) + set (WEBSOCKETPP_MINOR_VERSION 8) +-set (WEBSOCKETPP_PATCH_VERSION 0) ++set (WEBSOCKETPP_PATCH_VERSION 1) + set (WEBSOCKETPP_VERSION ${WEBSOCKETPP_MAJOR_VERSION}.${WEBSOCKETPP_MINOR_VERSION}.${WEBSOCKETPP_PATCH_VERSION}) + + if(POLICY CMP0048) diff --git a/meta-openembedded/meta-oe/recipes-support/websocketpp/websocketpp-0.8.1/842.patch b/meta-openembedded/meta-oe/recipes-support/websocketpp/websocketpp-0.8.1/842.patch new file mode 100644 index 0000000000..c3651e94ab --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/websocketpp/websocketpp-0.8.1/842.patch @@ -0,0 +1,30 @@ +From 7f7e2be01b4fa6580ce27f668e61adf37853ad67 Mon Sep 17 00:00:00 2001 +From: Schrijvers Luc +Date: Wed, 18 Sep 2019 11:35:43 +0200 +Subject: [PATCH] Fix "include" directory installation. the variable + INSTALL_INCLUDE_DIR already exists, and defaults to include if not + specificied otherwise. Using it allows people to customize the installation + from outside, fixing issues with other OS like Haiku + +Signed-off-by: Gianfranco Costamagna +Signed-off-by: Gianfranco Costamagna +--- + cmake/CMakeHelpers.cmake | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/cmake/CMakeHelpers.cmake b/cmake/CMakeHelpers.cmake +index 1478f4b..f603632 100644 +--- a/cmake/CMakeHelpers.cmake ++++ b/cmake/CMakeHelpers.cmake +@@ -80,7 +80,7 @@ macro (final_target) + endif () + + install (DIRECTORY ${CMAKE_SOURCE_DIR}/${TARGET_NAME} +- DESTINATION include/ ++ DESTINATION ${INSTALL_INCLUDE_DIR}/ + FILES_MATCHING PATTERN "*.hpp*") + endmacro () + +-- +2.17.1 + diff --git a/meta-openembedded/meta-oe/recipes-support/websocketpp/websocketpp-0.8.1/855.patch b/meta-openembedded/meta-oe/recipes-support/websocketpp/websocketpp-0.8.1/855.patch new file mode 100644 index 0000000000..a1ee627b34 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/websocketpp/websocketpp-0.8.1/855.patch @@ -0,0 +1,23 @@ +From 3590d77bb9753fbbf076028e2395182ced6466ba Mon Sep 17 00:00:00 2001 +From: Gianfranco Costamagna +Date: Wed, 8 Jan 2020 17:59:48 +0100 +Subject: [PATCH] Fix cmake find boost with version >= 1.71 + +For some reasons "system;thread;random;unit_test_framework" was seen as a single module, because of the quotes. +--- + CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 2d13117b..9a46bc10 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -213,7 +213,7 @@ if (BUILD_TESTS OR BUILD_EXAMPLES) + set (Boost_USE_MULTITHREADED TRUE) + set (Boost_ADDITIONAL_VERSIONS "1.39.0" "1.40.0" "1.41.0" "1.42.0" "1.43.0" "1.44.0" "1.46.1") # todo: someone who knows better spesify these! + +- find_package (Boost 1.39.0 COMPONENTS "${WEBSOCKETPP_BOOST_LIBS}") ++ find_package (Boost 1.39.0 COMPONENTS ${WEBSOCKETPP_BOOST_LIBS}) + + if (Boost_FOUND) + # Boost is a project wide global dependency. diff --git a/meta-openembedded/meta-oe/recipes-support/websocketpp/websocketpp-0.8.1/857.patch b/meta-openembedded/meta-oe/recipes-support/websocketpp/websocketpp-0.8.1/857.patch new file mode 100644 index 0000000000..f221cd6999 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/websocketpp/websocketpp-0.8.1/857.patch @@ -0,0 +1,132 @@ +From 931a55347a322f38eb82d5f387b2924e6c7a1746 Mon Sep 17 00:00:00 2001 +From: Gianfranco Costamagna +Date: Thu, 9 Jan 2020 10:07:20 +0100 +Subject: [PATCH] Update SConstruct with new Python3 syntax: - new raise + keyword syntax - has_key deprecated method is now removed - commands + deprecated library is replaced by subprocess - print function fixes + +This should fix FTBFS against new scons 3.1.2 +https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=947584 +--- + SConstruct | 45 +++++++++++++++++++++++---------------------- + 1 file changed, 23 insertions(+), 22 deletions(-) + +diff --git a/SConstruct b/SConstruct +index ae3df10b..9d1c8914 100644 +--- a/SConstruct ++++ b/SConstruct +@@ -1,18 +1,19 @@ +-import os, sys, commands ++import os, sys ++from subprocess import check_output + env = Environment(ENV = os.environ) + + # figure out a better way to configure this +-if os.environ.has_key('CXX'): ++if 'CXX' in os.environ: + env['CXX'] = os.environ['CXX'] + +-if os.environ.has_key('DEBUG'): ++if 'DEBUG' in os.environ: + env['DEBUG'] = os.environ['DEBUG'] + +-if os.environ.has_key('CXXFLAGS'): ++if 'CXXFLAGS' in os.environ: + #env['CXXFLAGS'] = os.environ['CXXFLAGS'] + env.Append(CXXFLAGS = os.environ['CXXFLAGS']) + +-if os.environ.has_key('LINKFLAGS'): ++if 'LINKFLAGS' in os.environ: + #env['LDFLAGS'] = os.environ['LDFLAGS'] + env.Append(LINKFLAGS = os.environ['LINKFLAGS']) + +@@ -22,24 +23,24 @@ if os.environ.has_key('LINKFLAGS'): + ## or set BOOST_INCLUDES and BOOST_LIBS if Boost comes with your OS distro e.g. and + ## needs BOOST_INCLUDES=/usr/include/boost and BOOST_LIBS=/usr/lib like Ubuntu. + ## +-if os.environ.has_key('BOOSTROOT'): ++if 'BOOSTROOT' in os.environ: + os.environ['BOOST_ROOT'] = os.environ['BOOSTROOT'] + +-if os.environ.has_key('BOOST_ROOT'): ++if 'BOOST_ROOT' in os.environ: + env['BOOST_INCLUDES'] = os.environ['BOOST_ROOT'] + env['BOOST_LIBS'] = os.path.join(os.environ['BOOST_ROOT'], 'stage', 'lib') +-elif os.environ.has_key('BOOST_INCLUDES') and os.environ.has_key('BOOST_LIBS'): ++elif 'BOOST_INCLUDES' in os.environ and 'BOOST_LIBS' in os.environ: + env['BOOST_INCLUDES'] = os.environ['BOOST_INCLUDES'] + env['BOOST_LIBS'] = os.environ['BOOST_LIBS'] + else: +- raise SCons.Errors.UserError, "Neither BOOST_ROOT, nor BOOST_INCLUDES + BOOST_LIBS was set!" ++ raise SCons.Errors.UserError("Neither BOOST_ROOT, nor BOOST_INCLUDES + BOOST_LIBS were set!") + + ## Custom OpenSSL +-if os.environ.has_key('OPENSSL_PATH'): ++if 'OPENSSL_PATH' in os.environ: + env.Append(CPPPATH = os.path.join(os.environ['OPENSSL_PATH'], 'include')) + env.Append(LIBPATH = os.environ['OPENSSL_PATH']) + +-if os.environ.has_key('WSPP_ENABLE_CPP11'): ++if 'WSPP_ENABLE_CPP11' in os.environ: + env['WSPP_ENABLE_CPP11'] = True + else: + env['WSPP_ENABLE_CPP11'] = False +@@ -76,7 +77,7 @@ if env['PLATFORM'].startswith('win'): + env['CCFLAGS'] = '%s /EHsc /GR /GS- /MD /nologo %s %s' % (warn_flags, arch_flags, opt_flags) + env['LINKFLAGS'] = '/INCREMENTAL:NO /MANIFEST /NOLOGO /OPT:REF /OPT:ICF /MACHINE:X86' + elif env['PLATFORM'] == 'posix': +- if env.has_key('DEBUG'): ++ if 'DEBUG' in env: + env.Append(CCFLAGS = ['-g', '-O0']) + else: + env.Append(CPPDEFINES = ['NDEBUG']) +@@ -84,9 +85,9 @@ elif env['PLATFORM'] == 'posix': + env.Append(CCFLAGS = ['-Wall']) + #env['LINKFLAGS'] = '' + elif env['PLATFORM'] == 'darwin': +- if not os.environ.has_key('CXX'): ++ if not 'CXX' in os.environ: + env['CXX'] = "clang++" +- if env.has_key('DEBUG'): ++ if 'DEBUG' in env: + env.Append(CCFLAGS = ['-g', '-O0']) + else: + env.Append(CPPDEFINES = ['NDEBUG']) +@@ -157,29 +158,29 @@ env_cpp11 = env.Clone () + + if env_cpp11['CXX'].startswith('g++'): + # TODO: check g++ version +- GCC_VERSION = commands.getoutput(env_cpp11['CXX'] + ' -dumpversion') ++ GCC_VERSION = check_output([env_cpp11['CXX'], '-dumpversion']) + +- if GCC_VERSION > "4.4.0": +- print "C++11 build environment partially enabled" ++ if GCC_VERSION.decode('utf-8') > "4.4.0": ++ print("C++11 build environment partially enabled") + env_cpp11.Append(WSPP_CPP11_ENABLED = "true",CXXFLAGS = ['-std=c++0x'],TOOLSET = ['g++'],CPPDEFINES = ['_WEBSOCKETPP_CPP11_STL_']) + else: +- print "C++11 build environment is not supported on this version of G++" ++ print("C++11 build environment is not supported on this version of G++") + elif env_cpp11['CXX'].startswith('clang++'): +- print "C++11 build environment enabled" ++ print("C++11 build environment enabled") + env.Append(CXXFLANGS = ['-stdlib=libc++'],LINKFLAGS=['-stdlib=libc++']) + env_cpp11.Append(WSPP_CPP11_ENABLED = "true",CXXFLAGS = ['-std=c++0x','-stdlib=libc++'],LINKFLAGS = ['-stdlib=libc++'],TOOLSET = ['clang++'],CPPDEFINES = ['_WEBSOCKETPP_CPP11_STL_']) + + # look for optional second boostroot compiled with clang's libc++ STL library + # this prevents warnings/errors when linking code built with two different + # incompatible STL libraries. +- if os.environ.has_key('BOOST_ROOT_CPP11'): ++ if 'BOOST_ROOT_CPP11' in os.environ: + env_cpp11['BOOST_INCLUDES'] = os.environ['BOOST_ROOT_CPP11'] + env_cpp11['BOOST_LIBS'] = os.path.join(os.environ['BOOST_ROOT_CPP11'], 'stage', 'lib') +- elif os.environ.has_key('BOOST_INCLUDES_CPP11') and os.environ.has_key('BOOST_LIBS_CPP11'): ++ elif 'BOOST_INCLUDES_CPP11' in os.environ and 'BOOST_LIBS_CPP11' in os.environ: + env_cpp11['BOOST_INCLUDES'] = os.environ['BOOST_INCLUDES_CPP11'] + env_cpp11['BOOST_LIBS'] = os.environ['BOOST_LIBS_CPP11'] + else: +- print "C++11 build environment disabled" ++ print("C++11 build environment disabled") + + # if the build system is known to allow the isystem modifier for library include + # values then use it for the boost libraries. Otherwise just add them to the diff --git a/meta-openembedded/meta-oe/recipes-support/websocketpp/websocketpp_0.8.1.bb b/meta-openembedded/meta-oe/recipes-support/websocketpp/websocketpp_0.8.1.bb index 551621708c..af6d30a281 100644 --- a/meta-openembedded/meta-oe/recipes-support/websocketpp/websocketpp_0.8.1.bb +++ b/meta-openembedded/meta-oe/recipes-support/websocketpp/websocketpp_0.8.1.bb @@ -3,16 +3,40 @@ SECTION = "libs/network" HOMEPAGE = "https://github.com/zaphoyd/websocketpp" LICENSE = "BSD-3-Clause" LIC_FILES_CHKSUM = "file://${S}/COPYING;md5=4d168d763c111f4ffc62249870e4e0ea" -DEPENDS = "openssl boost zlib" + +DEPENDS = " ${@bb.utils.contains('DISTRO_FEATURES', 'ptest', 'openssl boost zlib', '', d)} " SRC_URI = "git://github.com/zaphoyd/websocketpp.git;protocol=https \ file://0001-Replace-make_shared-with-new-in-some-cases.patch \ file://0002-Fix-missed-entries-fix-testing.patch \ + file://0001-cmake-Use-GNUInstallDirs.patch \ + file://842.patch \ + file://771.patch \ + file://855.patch \ + file://857.patch \ + file://0001-Correct-clang-compiler-flags.patch \ " +EXTRA_OECMAKE = "${@bb.utils.contains('DISTRO_FEATURES', 'ptest', '-DBUILD_EXAMPLES=ON -DBUILD_TESTS=ON', '', d)} " + +# this is an header only library, do not depend on the main package +RDEPENDS_${PN}-dev = "" + +# to add this package to an SDK, since it isn't a reverse-dependency of anything, just use something like this: +# TOOLCHAIN_TARGET_TASK_append = " websocketpp-dev" + # tag 0.8.1 SRCREV= "c6d7e295bf5a0ab9b5f896720cc1a0e0fdc397a7" S = "${WORKDIR}/git" inherit cmake + +PACKAGES =+ "${PN}-examples" + +FILES_${PN}-examples = "${docdir}" + +do_install_append() { + install -d ${D}${docdir}/${BPN} + cp -R ${S}/examples ${D}${docdir}/${BPN} +} diff --git a/meta-openembedded/meta-oe/recipes-support/xdelta/xdelta3_3.0.11.bb b/meta-openembedded/meta-oe/recipes-support/xdelta/xdelta3_3.0.11.bb deleted file mode 100644 index 9669d9bbb6..0000000000 --- a/meta-openembedded/meta-oe/recipes-support/xdelta/xdelta3_3.0.11.bb +++ /dev/null @@ -1,18 +0,0 @@ -SUMMARY = "Xdelta is a tool for differential compression" -DESCRIPTION = "Open-source binary diff, differential compression tools, \ - VCDIFF (RFC 3284) delta compression." -HOMEPAGE = "http://xdelta.org/" -SECTION = "console/utils" - -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=393a5ca445f6965873eca0259a17f833" -SRC_URI = "https://github.com/jmacd/xdelta-devel/releases/download/v${PV}/${BPN}-${PV}.tar.gz \ - " -SRC_URI[md5sum] = "445d8be2ac512113d5ca601ae8359626" -SRC_URI[sha256sum] = "0ccc9751ceaa4d90d6b06938a4deddb481816f5d9284bd07d2e728609cb300aa" - -inherit autotools - -# Optional secondary compression -PACKAGECONFIG ??= "" -PACKAGECONFIG[lzma] = "--with-liblzma,--without-liblzma,xz" diff --git a/meta-openembedded/meta-oe/recipes-support/xdelta/xdelta3_3.1.0.bb b/meta-openembedded/meta-oe/recipes-support/xdelta/xdelta3_3.1.0.bb new file mode 100644 index 0000000000..d100030f9b --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/xdelta/xdelta3_3.1.0.bb @@ -0,0 +1,20 @@ +SUMMARY = "Xdelta is a tool for differential compression" +DESCRIPTION = "Open-source binary diff, differential compression tools, \ + VCDIFF (RFC 3284) delta compression." +HOMEPAGE = "http://xdelta.org/" +SECTION = "console/utils" + +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=393a5ca445f6965873eca0259a17f833" + +SRC_URI = "git://github.com/jmacd/xdelta.git;branch=release3_1_apl" +SRCREV = "4b4aed71a959fe11852e45242bb6524be85d3709" +S = "${WORKDIR}/git/xdelta3" + +inherit autotools + +# Optional secondary compression +PACKAGECONFIG ??= "" +PACKAGECONFIG[lzma] = "--with-liblzma,--without-liblzma,xz" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-oe/recipes-support/xserver-xorg-cvt/xserver-xorg-cvt-native_1.20.5.bb b/meta-openembedded/meta-oe/recipes-support/xserver-xorg-cvt/xserver-xorg-cvt-native_1.20.5.bb new file mode 100644 index 0000000000..1d75d52d29 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/xserver-xorg-cvt/xserver-xorg-cvt-native_1.20.5.bb @@ -0,0 +1,41 @@ +SUMMARY = "X.Org X cvt" +HOMEPAGE = "https://linux.die.net/man/1/cvt" +LICENSE = "MIT-X" +LIC_FILES_CHKSUM = "file://COPYING;md5=5df87950af51ac2c5822094553ea1880" + +DEPENDS += "pixman-native xorgproto-native libxrandr-native" + +XORG_PN = "xorg-server" + +SRC_URI = "${XORG_MIRROR}/individual/xserver/${XORG_PN}-${PV}.tar.bz2" +SRC_URI[md5sum] = "c9fc7e21e11286dbedd22c00df652130" +SRC_URI[sha256sum] = "a81d8243f37e75a03d4f8c55f96d0bc25802be6ec45c3bfa5cb614c6d01bac9d" + +S = "${WORKDIR}/${XORG_PN}-${PV}" +B = "${WORKDIR}/build" + +inherit native pkgconfig + +do_configure[noexec] = "1" + +do_compile() { + cd ${S} + for header in `find -name '*.h'`; do + path=`dirname $header` + if ! echo "$incpaths" | grep -q "$path" ; then + incpaths="$incpaths -I$path" + fi + done + CFLAGS="${CFLAGS} -DXORG_VERSION_CURRENT=1 $incpaths `pkg-config --cflags pixman-1`" + LDFLAGS="${LDFLAGS} -lm `pkg-config --libs pixman-1`" + ${CC} $CFLAGS -o ${B}/cvt \ + ${S}/hw/xfree86/utils/cvt/cvt.c \ + ${S}/hw/xfree86/modes/xf86cvt.c \ + ${S}/os/xprintf.c \ + $LDFLAGS +} + +do_install() { + install -d ${D}${bindir} + install -m 755 ${B}/cvt ${D}${bindir} +} diff --git a/meta-openembedded/meta-oe/recipes-support/zbar/zbar/0001-make-relies-GNU-extentions.patch b/meta-openembedded/meta-oe/recipes-support/zbar/zbar/0001-make-relies-GNU-extentions.patch index 04239bacdb..c93af32966 100644 --- a/meta-openembedded/meta-oe/recipes-support/zbar/zbar/0001-make-relies-GNU-extentions.patch +++ b/meta-openembedded/meta-oe/recipes-support/zbar/zbar/0001-make-relies-GNU-extentions.patch @@ -14,8 +14,6 @@ Signed-off-by: Khem Raj configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/configure.ac b/configure.ac -index 56d3dd0..9f85fd7 100644 --- a/configure.ac +++ b/configure.ac @@ -3,7 +3,7 @@ AC_PREREQ([2.61]) @@ -23,10 +21,16 @@ index 56d3dd0..9f85fd7 100644 AC_CONFIG_AUX_DIR(config) AC_CONFIG_MACRO_DIR(config) -AM_INIT_AUTOMAKE([1.10 -Wall -Werror foreign subdir-objects std-options dist-bzip2]) -+AM_INIT_AUTOMAKE([1.10 -Wall -Werror -Wno-portability foreign subdir-objects std-options dist-bzip2]) ++AM_INIT_AUTOMAKE([1.10 -Wall -Wno-error foreign subdir-objects std-options dist-bzip2]) AC_CONFIG_HEADERS([include/config.h]) AC_CONFIG_SRCDIR(zbar/scanner.c) LT_PREREQ([2.2]) --- -2.10.2 - +@@ -47,7 +47,7 @@ AC_DEFINE_UNQUOTED([LIB_VERSION_REVISION + [Library revision]) + + AM_CPPFLAGS="-I$srcdir/include" +-AM_CFLAGS="-Wall -Wno-parentheses -Werror" ++AM_CFLAGS="-Wall -Wno-parentheses" + AM_CXXFLAGS="$AM_CFLAGS" + AC_SUBST([AM_CPPFLAGS]) + AC_SUBST([AM_CFLAGS]) diff --git a/meta-openembedded/meta-oe/recipes-support/zbar/zbar/0001-undefine-__va_arg_pack.patch b/meta-openembedded/meta-oe/recipes-support/zbar/zbar/0001-undefine-__va_arg_pack.patch deleted file mode 100644 index f7d8ba1e96..0000000000 --- a/meta-openembedded/meta-oe/recipes-support/zbar/zbar/0001-undefine-__va_arg_pack.patch +++ /dev/null @@ -1,51 +0,0 @@ -From f842872244219d9881fbec77054702412b1e16f8 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Fri, 2 Dec 2016 16:41:27 -0800 -Subject: [PATCH] undefine __va_arg_pack - -dprintf() is also a libc function. This fixes -the compile errors - -/usr/include/bits/stdio2.h:140:1: error: expected identifier or '(' before '{' token -| { - -Signed-off-by: Khem Raj ---- - zbar/debug.h | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - -diff --git a/zbar/debug.h b/zbar/debug.h -index 482ca8d..68948f6 100644 ---- a/zbar/debug.h -+++ b/zbar/debug.h -@@ -23,6 +23,7 @@ - - /* varargs variations on compile time debug spew */ - -+#undef __va_arg_pack - #ifndef DEBUG_LEVEL - - # ifdef __GNUC__ -@@ -36,15 +37,14 @@ - #else - - # include -- - # ifdef __GNUC__ --# define dprintf(level, args...) \ -+# define dprintf(level, format, args...) \ - if((level) <= DEBUG_LEVEL) \ -- fprintf(stderr, args) -+ fprintf(stderr, format, args) - # else --# define dprintf(level, ...) \ -+# define dprintf(level, format, ...) \ - if((level) <= DEBUG_LEVEL) \ -- fprintf(stderr, __VA_ARGS__) -+ fprintf(stderr, format, __VA_ARGS__) - # endif - - #endif /* DEBUG_LEVEL */ --- -2.10.2 - diff --git a/meta-openembedded/meta-oe/recipes-support/zbar/zbar_0.10.bb b/meta-openembedded/meta-oe/recipes-support/zbar/zbar_0.10.bb deleted file mode 100644 index ebd1f7a12f..0000000000 --- a/meta-openembedded/meta-oe/recipes-support/zbar/zbar_0.10.bb +++ /dev/null @@ -1,28 +0,0 @@ -DESRIPTION = "2D barcode scanner toolkit." -SECTION = "graphics" -LICENSE = "LGPL-2.1" - -DEPENDS = "pkgconfig intltool-native libpng jpeg" - -LIC_FILES_CHKSUM = "file://COPYING;md5=42bafded1b380c6fefbeb6c5cd5448d9" - -SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.tar.bz2 \ - file://0001-undefine-__va_arg_pack.patch \ - file://0001-make-relies-GNU-extentions.patch \ -" - -SRC_URI[md5sum] = "0fd61eb590ac1bab62a77913c8b086a5" -SRC_URI[sha256sum] = "234efb39dbbe5cef4189cc76f37afbe3cfcfb45ae52493bfe8e191318bdbadc6" - -inherit autotools pkgconfig - -PACKAGECONFIG = "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}" - -PACKAGECONFIG[x11] = "--with-x,-without-x,libxcb libx11 libsm libxau libxext libxv libice libxdmcp" - -EXTRA_OECONF = " --without-imagemagick --without-qt --without-python --disable-video --without-gtk" - -do_install_append() { - #remove usr/bin if empty - rmdir ${D}${bindir} -} diff --git a/meta-openembedded/meta-oe/recipes-support/zbar/zbar_git.bb b/meta-openembedded/meta-oe/recipes-support/zbar/zbar_git.bb new file mode 100644 index 0000000000..935e09cd53 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/zbar/zbar_git.bb @@ -0,0 +1,31 @@ +DESRIPTION = "2D barcode scanner toolkit." +SECTION = "graphics" +LICENSE = "LGPL-2.1" + +DEPENDS = "pkgconfig intltool-native libpng jpeg" + +LIC_FILES_CHKSUM = "file://COPYING;md5=4015840237ca7f0175cd626f78714ca8" + +PV = "0.10+git${SRCPV}" + +# iPhoneSDK-1.3.1 tag +SRCREV = "67003d2a985b5f9627bee2d8e3e0b26d0c474b57" +SRC_URI = "git://github.com/ZBar/Zbar \ + file://0001-make-relies-GNU-extentions.patch \ +" +S = "${WORKDIR}/git" + +inherit autotools pkgconfig + +PACKAGECONFIG = "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}" + +PACKAGECONFIG[x11] = "--with-x,-without-x,libxcb libx11 libsm libxau libxext libxv libice libxdmcp" + +EXTRA_OECONF = "--without-imagemagick --without-qt --without-python --disable-video --without-gtk" + +CPPFLAGS += "-Wno-error" + +do_install_append() { + #remove usr/bin if empty + rmdir ${D}${bindir} +} diff --git a/meta-openembedded/meta-oe/recipes-test/cppunit/cppunit_1.14.0.bb b/meta-openembedded/meta-oe/recipes-test/cppunit/cppunit_1.14.0.bb deleted file mode 100644 index 04327862ce..0000000000 --- a/meta-openembedded/meta-oe/recipes-test/cppunit/cppunit_1.14.0.bb +++ /dev/null @@ -1,14 +0,0 @@ -DESCRIPTION = "CppUnit is the C++ port of the famous JUnit framework for unit testing. Test output is in XML for automatic testing and GUI based for supervised tests. " -HOMEPAGE = "http://www.freedesktop.org/wiki/Software/cppunit" -LICENSE = "LGPL-2.1" -SECTION = "libs" -LIC_FILES_CHKSUM = "file://COPYING;md5=b0e9ef921ff780eb328bdcaeebec3269" - -SRC_URI = " \ - http://dev-www.libreoffice.org/src/cppunit-${PV}.tar.gz \ - file://0001-doc-Makefile.am-do-not-preserve-file-flags-when-copy.patch \ -" -SRC_URI[md5sum] = "7ad93022171710a541bfe4bfd8b4a381" -SRC_URI[sha256sum] = "3d569869d27b48860210c758c4f313082103a5e58219a7669b52bfd29d674780" - -inherit autotools diff --git a/meta-openembedded/meta-oe/recipes-test/cppunit/cppunit_1.15.1.bb b/meta-openembedded/meta-oe/recipes-test/cppunit/cppunit_1.15.1.bb new file mode 100644 index 0000000000..92db31e1ea --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-test/cppunit/cppunit_1.15.1.bb @@ -0,0 +1,14 @@ +DESCRIPTION = "CppUnit is the C++ port of the famous JUnit framework for unit testing. Test output is in XML for automatic testing and GUI based for supervised tests. " +HOMEPAGE = "http://www.freedesktop.org/wiki/Software/cppunit" +LICENSE = "LGPL-2.1" +SECTION = "libs" +LIC_FILES_CHKSUM = "file://COPYING;md5=b0e9ef921ff780eb328bdcaeebec3269" + +SRC_URI = " \ + http://dev-www.libreoffice.org/src/cppunit-${PV}.tar.gz \ + file://0001-doc-Makefile.am-do-not-preserve-file-flags-when-copy.patch \ +" +SRC_URI[md5sum] = "9dc669e6145cadd9674873e24943e6dd" +SRC_URI[sha256sum] = "89c5c6665337f56fd2db36bc3805a5619709d51fb136e51937072f63fcc717a7" + +inherit autotools diff --git a/meta-openembedded/meta-oe/recipes-test/evtest/evtest/0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch b/meta-openembedded/meta-oe/recipes-test/evtest/evtest/0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch new file mode 100644 index 0000000000..706322d565 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-test/evtest/evtest/0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch @@ -0,0 +1,41 @@ +From fa57c78c33d26084f85f1a6b4c29378631dc9395 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sat, 30 Nov 2019 11:58:58 -0800 +Subject: [PATCH] Fix build on 32bit arches with 64bit time_t + +time element is deprecated on new input_event structure in kernel's +input.h [1] + +[1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit?id=152194fe9c3f + +Upstream-Status: Submitted [https://gitlab.freedesktop.org/libevdev/evtest/merge_requests/6] +Signed-off-by: Khem Raj +--- + evtest.c | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/evtest.c b/evtest.c +index 548c203..93063cd 100644 +--- a/evtest.c ++++ b/evtest.c +@@ -61,6 +61,11 @@ + #include + #include + ++#ifndef input_event_sec ++#define input_event_sec time.tv_sec ++#define input_event_usec time.tv_usec ++#endif ++ + #define BITS_PER_LONG (sizeof(long) * 8) + #define NBITS(x) ((((x)-1)/BITS_PER_LONG)+1) + #define OFF(x) ((x)%BITS_PER_LONG) +@@ -1140,7 +1145,7 @@ static int print_events(int fd) + type = ev[i].type; + code = ev[i].code; + +- printf("Event: time %ld.%06ld, ", ev[i].time.tv_sec, ev[i].time.tv_usec); ++ printf("Event: time %ld.%06ld, ", ev[i].input_event_sec, ev[i].input_event_sec); + + if (type == EV_SYN) { + if (code == SYN_MT_REPORT) diff --git a/meta-openembedded/meta-oe/recipes-test/evtest/evtest_1.34.bb b/meta-openembedded/meta-oe/recipes-test/evtest/evtest_1.34.bb index 3b6dc61408..a3a23c8951 100644 --- a/meta-openembedded/meta-oe/recipes-test/evtest/evtest_1.34.bb +++ b/meta-openembedded/meta-oe/recipes-test/evtest/evtest_1.34.bb @@ -8,8 +8,10 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" DEPENDS = "libxml2" SRCREV = "16e5104127a620686bdddc4a9ad62881134d6c69" -SRC_URI = "git://anongit.freedesktop.org/evtest;protocol=git \ - file://add_missing_limits_h_include.patch" +SRC_URI = "git://gitlab.freedesktop.org/libevdev/evtest.git;protocol=https \ + file://add_missing_limits_h_include.patch \ + file://0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch \ + " S = "${WORKDIR}/git" diff --git a/meta-openembedded/meta-oe/recipes-test/googletest/googletest_git.bb b/meta-openembedded/meta-oe/recipes-test/googletest/googletest_git.bb index b675ea0f32..354e7de337 100644 --- a/meta-openembedded/meta-oe/recipes-test/googletest/googletest_git.bb +++ b/meta-openembedded/meta-oe/recipes-test/googletest/googletest_git.bb @@ -21,3 +21,11 @@ ALLOW_EMPTY_${PN}-dbg = "1" RDEPENDS_${PN}-dev += "${PN}-staticdev" BBCLASSEXTEND = "native nativesdk" + +do_configure_prepend() { + # explicitly use python3 + # the scripts are already python3 compatible since https://github.com/google/googletest/commit/d404af0d987a9c38cafce82a7e26ec8468c88361 and other fixes like this + # but since this oe-core change http://git.openembedded.org/openembedded-core/commit/?id=5f8f16b17f66966ae91aeabc23e97de5ecd17447 + # there isn't python in HOSTTOOLS so "env python" fails + sed -i 's@^#!/usr/bin/env python$@#!/usr/bin/env python3@g' ${S}/googlemock/scripts/*py ${S}/googlemock/scripts/generator/*py ${S}/googlemock/scripts/generator/cpp/*py ${S}/googlemock/test/*py ${S}/googletest/scripts/*py ${S}/googletest/test/*py +} diff --git a/meta-openembedded/meta-perl/recipes-perl/adduser/adduser_3.118.bb b/meta-openembedded/meta-perl/recipes-perl/adduser/adduser_3.118.bb index e695c58948..80cf142869 100644 --- a/meta-openembedded/meta-perl/recipes-perl/adduser/adduser_3.118.bb +++ b/meta-openembedded/meta-perl/recipes-perl/adduser/adduser_3.118.bb @@ -8,6 +8,7 @@ LIC_FILES_CHKSUM = "file://debian/copyright;md5=caed49ab166f22ef31bf1127f558d0ef SRC_URI = "https://launchpad.net/debian/+archive/primary/+sourcefiles/adduser/${PV}/${BPN}_${PV}.tar.xz \ file://adduser-add-M-option-for-useradd.patch \ + file://0001-adduser-set-default-shell-with-sbin-nologin.patch \ " SRC_URI[md5sum] = "44ba2475ebdaafc9613236bdda321c97" diff --git a/meta-openembedded/meta-perl/recipes-perl/adduser/files/0001-adduser-set-default-shell-with-sbin-nologin.patch b/meta-openembedded/meta-perl/recipes-perl/adduser/files/0001-adduser-set-default-shell-with-sbin-nologin.patch new file mode 100644 index 0000000000..91cc6bcba8 --- /dev/null +++ b/meta-openembedded/meta-perl/recipes-perl/adduser/files/0001-adduser-set-default-shell-with-sbin-nologin.patch @@ -0,0 +1,34 @@ +From 75e949bf80bf5e3e5bd8f81b258095e662b705c4 Mon Sep 17 00:00:00 2001 +From: Kai Kang +Date: Thu, 9 Jan 2020 13:51:28 +0800 +Subject: [PATCH] adduser: set default shell with /sbin/nologin + +Shell nologin whether provided by shadow or util-linux is installed to +/sbin/nologin in oe-core. But the default shell of adduser is +/usr/sbin/nologin and will fail to create a new user. + +Set the default shell with /sbin/nologin to fix the issue. + +Upstream-Status: Inappropriate [OE specific] + +Signed-off-by: Kai Kang +--- + adduser | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/adduser b/adduser +index 0f24cc9..ab554d0 100755 +--- a/adduser ++++ b/adduser +@@ -431,7 +431,7 @@ if ($action eq "addsysuser") { + printf gtx("Adding new user `%s' (UID %d) with group `%s' ...\n"),$new_name,$new_uid,$ingroup_name + if $verbose; + $home_dir = $special_home || &homedir($new_name, $ingroup_name); +- $shell = $special_shell || '/usr/sbin/nologin'; ++ $shell = $special_shell || '/sbin/nologin'; + $undouser = $new_name; + my $useradd = &which('useradd'); + &systemcall($useradd, '-d', $home_dir, '-g', $ingroup_name, '-s', +-- +2.17.1 + diff --git a/meta-openembedded/meta-perl/recipes-perl/libconfig/libconfig-autoconf-perl_0.318.bb b/meta-openembedded/meta-perl/recipes-perl/libconfig/libconfig-autoconf-perl_0.318.bb new file mode 100644 index 0000000000..e4f8fe7e24 --- /dev/null +++ b/meta-openembedded/meta-perl/recipes-perl/libconfig/libconfig-autoconf-perl_0.318.bb @@ -0,0 +1,41 @@ +# Copyright (C) 2020 Jens Rehsack +# Released under the MIT license (see COPYING.MIT for the terms) + +SUMMARY = "A module to implement some of AutoConf macros in pure perl" +DESCRIPTION = "Config::AutoConf is intended to provide the same opportunities to Perl \ +developers as GNU Autoconf does for \ +Shell developers." + +HOMEPAGE= "https://metacpan.org/release/Config-AutoConf" + +SECTION = "libs" +LICENSE = "Artistic-1.0 | GPL-1.0+" + +LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Artistic-1.0;md5=cda03bbdc3c1951996392b872397b798 \ +file://${COMMON_LICENSE_DIR}/GPL-1.0;md5=e9e36a9de734199567a4d769498f743d" + +SRC_URI = "${CPAN_MIRROR}/authors/id/R/RE/REHSACK/Config-AutoConf-${PV}.tar.gz" + +SRC_URI[md5sum] = "0bea721ad3996e20324b84b3b924ec71" +SRC_URI[sha256sum] = "33c930feec3003de251ca222abe8bbeb74610ad07f65fc16f27d74d195eeab34" +RDEPENDS_${PN} += "libcapture-tiny-perl" +RDEPENDS_${PN} += "perl-module-base" +RDEPENDS_${PN} += "perl-module-carp" +RDEPENDS_${PN} += "perl-module-config" +RDEPENDS_${PN} += "perl-module-constant" +RDEPENDS_${PN} += "perl-module-file-basename" +RDEPENDS_${PN} += "perl-module-file-spec" +RDEPENDS_${PN} += "perl-module-file-temp" +RDEPENDS_${PN} += "perl-module-extutils-cbuilder" +RDEPENDS_${PN} += "perl-module-extutils-cbuilder-platform-unix" +RDEPENDS_${PN} += "perl-module-scalar-util" +RDEPENDS_${PN} += "perl-module-strict" +RDEPENDS_${PN} += "perl-module-text-parsewords" +RDEPENDS_${PN} += "perl-module-warnings" +RRECOMMENDS_${PN} += "libfile-slurper-perl" + +S = "${WORKDIR}/Config-AutoConf-${PV}" + +inherit cpan ptest-perl allarch + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-perl/recipes-perl/libfile/libfile-slurper-perl_0.012.bb b/meta-openembedded/meta-perl/recipes-perl/libfile/libfile-slurper-perl_0.012.bb new file mode 100644 index 0000000000..b684abd4be --- /dev/null +++ b/meta-openembedded/meta-perl/recipes-perl/libfile/libfile-slurper-perl_0.012.bb @@ -0,0 +1,36 @@ +SUMMARY = "A simple, sane and efficient module to slurp a file" +DESCRIPTION = "This module provides functions for fast and correct slurping and spewing. \ +All functions are optionally exported. All functions throw exceptions on \ +errors, write functions don't return any meaningful value." + +SECTION = "libs" +LICENSE = "Artistic-1.0 | GPL-1.0+" + +HOMEPAGE= "https://metacpan.org/release/File-Slurper" + +LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Artistic-1.0;md5=cda03bbdc3c1951996392b872397b798 \ +file://${COMMON_LICENSE_DIR}/GPL-1.0;md5=e9e36a9de734199567a4d769498f743d" + +SRC_URI = "${CPAN_MIRROR}/authors/id/L/LE/LEONT/File-Slurper-${PV}.tar.gz" + +SRC_URI[md5sum] = "5742c63096392dfee50b8db314bcca18" +SRC_URI[sha256sum] = "4efb2ea416b110a1bda6f8133549cc6ea3676402e3caf7529fce0313250aa578" +RDEPENDS_${PN} = " \ + perl-module-carp \ + perl-module-encode \ + perl-module-exporter \ + perl-module-perlio \ + perl-module-perlio-encoding \ + perl-module-strict \ + perl-module-warnings \ +" + +RDEPENDS_${PN}-ptest += "libtest-warnings-perl \ + perl-module-test-more \ + " + +S = "${WORKDIR}/File-Slurper-${PV}" + +inherit cpan allarch ptest-perl + +BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-perl/recipes-perl/libstatgrab/libunix-statgrab_0.112.bb b/meta-openembedded/meta-perl/recipes-perl/libstatgrab/libunix-statgrab_0.112.bb new file mode 100644 index 0000000000..a1bb4a399e --- /dev/null +++ b/meta-openembedded/meta-perl/recipes-perl/libstatgrab/libunix-statgrab_0.112.bb @@ -0,0 +1,38 @@ +SUMMARY = "Perl interface to the libstatgrab library" +DESCRIPTION = "Unix::Statgrab is a wrapper for libstatgrab as available from \ +. It is a reasonably portable attempt \ +to query interesting stats about your computer. It covers information on \ +the operating system, CPU, memory usage, network interfaces, hard-disks \ +etc." + +HOMEPAGE = "https://metacpan.org/release/Unix-Statgrab" +SECTION = "libs" +LICENSE = "Artistic-1.0 | GPL-1.0+ | LGPL-2.1+" +DEPENDS += "libcapture-tiny-perl-native" +DEPENDS += "libconfig-autoconf-perl-native" +DEPENDS += "libstatgrab" +RDEPENDS_${PN} += "\ + libstatgrab \ + perl-module-autoloader \ + perl-module-carp \ + perl-module-dynaloader \ + perl-module-exporter \ + perl-module-strict \ + perl-module-vars \ + perl-module-warnings \ +" + +SRC_URI = "${CPAN_MIRROR}/authors/id/R/RE/REHSACK/Unix-Statgrab-${PV}.tar.gz" +LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Artistic-1.0;md5=cda03bbdc3c1951996392b872397b798 \ + file://${COMMON_LICENSE_DIR}/GPL-1.0;md5=e9e36a9de734199567a4d769498f743d \ + file://${COMMON_LICENSE_DIR}/LGPL-2.1;md5=1a6d268fd218675ffea8be556788b780 \ +" + +SRC_URI[md5sum] = "a6bc06b3f7749f7d77a2b1bd13402821" +SRC_URI[sha256sum] = "16a29f7acaeec081bf0e7303ba5ee24fda1d21a1104669b837745f3ea61d6afa" + +S = "${WORKDIR}/Unix-Statgrab-${PV}" + +inherit cpan pkgconfig ptest-perl + +BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-perl/recipes-perl/libtest/libtest-warnings-perl_0.028.bb b/meta-openembedded/meta-perl/recipes-perl/libtest/libtest-warnings-perl_0.028.bb new file mode 100644 index 0000000000..b40a5456eb --- /dev/null +++ b/meta-openembedded/meta-perl/recipes-perl/libtest/libtest-warnings-perl_0.028.bb @@ -0,0 +1,29 @@ +# Copyright (C) 2020 Jens Rehsack +# Released under the MIT license (see COPYING.MIT for the terms) + +DESCRIPTION = "If you've ever tried to use Test::NoWarnings to confirm there are no \ +warnings generated by your tests, combined with the convenience of \ +\\"done_testing\\" to not have to declare a test count, you'll have discovered \ +that these two features do not play well together, as the test count will \ +be calculated *before* the warnings test is run, resulting in a TAP error. \ +(See "examples/test_nowarnings.pl" in this distribution for a \ +demonstration.)" + +SECTION = "libs" +LICENSE = "Artistic-1.0 | GPL-1.0+" + +HOMEPAGE= "https://metacpan.org/release/Test-Warnings" + +LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Artistic-1.0;md5=cda03bbdc3c1951996392b872397b798 \ +file://${COMMON_LICENSE_DIR}/GPL-1.0;md5=e9e36a9de734199567a4d769498f743d" + +SRC_URI = "https://cpan.metacpan.org/authors/id/E/ET/ETHER/Test-Warnings-${PV}.tar.gz" + +SRC_URI[md5sum] = "cd007342017fedfb02d6fde75602e473" +SRC_URI[sha256sum] = "26fda9f8d279e943d27e43a4a3a5cea8a6592cd36e7308695f8dc6602262c0e0" + +S = "${WORKDIR}/Test-Warnings-${PV}" + +inherit cpan allarch ptest-perl + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-connectivity/python-pyconnman/python-pyconnman.inc b/meta-openembedded/meta-python/recipes-connectivity/python-pyconnman/python-pyconnman.inc index beb2baf83d..8517079bf6 100644 --- a/meta-openembedded/meta-python/recipes-connectivity/python-pyconnman/python-pyconnman.inc +++ b/meta-openembedded/meta-python/recipes-connectivity/python-pyconnman/python-pyconnman.inc @@ -4,8 +4,8 @@ LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" -SRC_URI[md5sum] = "b7fa82034b1c0e1fb1b518ffe3bb4fc0" -SRC_URI[sha256sum] = "46c64c0692063fd0c9fb0216d49f7884bec9fa9760d8473db4b1e2f8162fab4a" +SRC_URI[md5sum] = "d60bdffbd9c920f005fdc5e05a8b94cd" +SRC_URI[sha256sum] = "d3a63a039c82b08a1171b003eafa62c6f128aa4eaa1ce7a55a9401b48f9ad926" inherit pypi diff --git a/meta-openembedded/meta-python/recipes-connectivity/python-pyconnman/python-pyconnman_0.1.0.bb b/meta-openembedded/meta-python/recipes-connectivity/python-pyconnman/python-pyconnman_0.1.0.bb deleted file mode 100644 index 3c12db9446..0000000000 --- a/meta-openembedded/meta-python/recipes-connectivity/python-pyconnman/python-pyconnman_0.1.0.bb +++ /dev/null @@ -1,5 +0,0 @@ -require python-pyconnman.inc - -inherit setuptools - -RDEPENDS_${PN} += "python-dbus python-pprint" diff --git a/meta-openembedded/meta-python/recipes-connectivity/python-pyconnman/python-pyconnman_0.2.0.bb b/meta-openembedded/meta-python/recipes-connectivity/python-pyconnman/python-pyconnman_0.2.0.bb new file mode 100644 index 0000000000..3c12db9446 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-connectivity/python-pyconnman/python-pyconnman_0.2.0.bb @@ -0,0 +1,5 @@ +require python-pyconnman.inc + +inherit setuptools + +RDEPENDS_${PN} += "python-dbus python-pprint" diff --git a/meta-openembedded/meta-python/recipes-connectivity/python-pyconnman/python3-pyconnman/0001-Import-local-modules-by-relative-path-for-python3-su.patch b/meta-openembedded/meta-python/recipes-connectivity/python-pyconnman/python3-pyconnman/0001-Import-local-modules-by-relative-path-for-python3-su.patch deleted file mode 100644 index 977b4aacdb..0000000000 --- a/meta-openembedded/meta-python/recipes-connectivity/python-pyconnman/python3-pyconnman/0001-Import-local-modules-by-relative-path-for-python3-su.patch +++ /dev/null @@ -1,74 +0,0 @@ -From 2e84adb042bfb742eb328220b97f79ddb28db44b Mon Sep 17 00:00:00 2001 -From: Haris Okanovic -Date: Tue, 23 Oct 2018 21:39:56 +0000 -Subject: [PATCH] Import local modules by relative path for python3 support - -Upstream-Status: Submitted ---- - pyconnman/agent.py | 2 +- - pyconnman/interface.py | 2 +- - pyconnman/manager.py | 2 +- - pyconnman/service.py | 2 +- - pyconnman/technology.py | 2 +- - 5 files changed, 5 insertions(+), 5 deletions(-) - -diff --git a/pyconnman/agent.py b/pyconnman/agent.py -index f72de8d..453d783 100644 ---- a/pyconnman/agent.py -+++ b/pyconnman/agent.py -@@ -1,5 +1,5 @@ - from __future__ import unicode_literals --from exceptions import ConnCanceledException -+from .exceptions import ConnCanceledException - - import dbus.service - -diff --git a/pyconnman/interface.py b/pyconnman/interface.py -index 7d82e04..d540c81 100644 ---- a/pyconnman/interface.py -+++ b/pyconnman/interface.py -@@ -4,7 +4,7 @@ import dbus - import types - import pprint - --from exceptions import ConnSignalNameNotRecognisedException -+from .exceptions import ConnSignalNameNotRecognisedException - - - def translate_to_dbus_type(typeof, value): -diff --git a/pyconnman/manager.py b/pyconnman/manager.py -index f6f40a8..03244cc 100644 ---- a/pyconnman/manager.py -+++ b/pyconnman/manager.py -@@ -1,6 +1,6 @@ - from __future__ import unicode_literals - --from interface import ConnInterface -+from .interface import ConnInterface - - - class ConnManager(ConnInterface): -diff --git a/pyconnman/service.py b/pyconnman/service.py -index bbccced..c6b9241 100644 ---- a/pyconnman/service.py -+++ b/pyconnman/service.py -@@ -1,6 +1,6 @@ - from __future__ import unicode_literals - --from interface import ConnInterface -+from .interface import ConnInterface - - - class ConnService(ConnInterface): -diff --git a/pyconnman/technology.py b/pyconnman/technology.py -index 4777229..d25bad6 100644 ---- a/pyconnman/technology.py -+++ b/pyconnman/technology.py -@@ -1,6 +1,6 @@ - from __future__ import unicode_literals - --from interface import ConnInterface -+from .interface import ConnInterface - - - class ConnTechnology(ConnInterface): diff --git a/meta-openembedded/meta-python/recipes-connectivity/python-pyconnman/python3-pyconnman_0.1.0.bb b/meta-openembedded/meta-python/recipes-connectivity/python-pyconnman/python3-pyconnman_0.1.0.bb deleted file mode 100644 index 32bbe8b806..0000000000 --- a/meta-openembedded/meta-python/recipes-connectivity/python-pyconnman/python3-pyconnman_0.1.0.bb +++ /dev/null @@ -1,9 +0,0 @@ -require python-pyconnman.inc - -inherit setuptools3 - -SRC_URI_append = " \ - file://0001-Import-local-modules-by-relative-path-for-python3-su.patch \ -" - -RDEPENDS_${PN} += "python3-dbus python3-pprint" diff --git a/meta-openembedded/meta-python/recipes-connectivity/python-pyconnman/python3-pyconnman_0.2.0.bb b/meta-openembedded/meta-python/recipes-connectivity/python-pyconnman/python3-pyconnman_0.2.0.bb new file mode 100644 index 0000000000..e0f3fdd75f --- /dev/null +++ b/meta-openembedded/meta-python/recipes-connectivity/python-pyconnman/python3-pyconnman_0.2.0.bb @@ -0,0 +1,5 @@ +require python-pyconnman.inc + +inherit setuptools3 + +RDEPENDS_${PN} += "python3-dbus python3-pprint" diff --git a/meta-openembedded/meta-python/recipes-connectivity/python-thrift/python-thrift_0.11.0.bb b/meta-openembedded/meta-python/recipes-connectivity/python-thrift/python-thrift_0.11.0.bb deleted file mode 100644 index 10cff425e8..0000000000 --- a/meta-openembedded/meta-python/recipes-connectivity/python-thrift/python-thrift_0.11.0.bb +++ /dev/null @@ -1,18 +0,0 @@ -SUMMARY = "Python bindings for the Apache Thrift RPC system" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://PKG-INFO;md5=e3641ae1a26cf5c12a3a71bd3030ab0e" - -SRC_URI[md5sum] = "36165d5c80e6b101dbe9fcf7ef524d51" -SRC_URI[sha256sum] = "7d59ac4fdcb2c58037ebd4a9da5f9a49e3e034bf75b3f26d9fe48ba3d8806e6b" - -inherit pypi setuptools - -# Use different filename to prevent conflicts with thrift itself -PYPI_SRC_URI_append = ";downloadfilename=${BP}.${PYPI_PACKAGE_EXT}" - -RDEPENDS_${PN} += "\ - ${PYTHON_PN}-logging \ - ${PYTHON_PN}-six \ - ${PYTHON_PN}-stringold \ - ${PYTHON_PN}-threading \ -" diff --git a/meta-openembedded/meta-python/recipes-connectivity/python-thrift/python-thrift_0.13.0.bb b/meta-openembedded/meta-python/recipes-connectivity/python-thrift/python-thrift_0.13.0.bb new file mode 100644 index 0000000000..2d51619d49 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-connectivity/python-thrift/python-thrift_0.13.0.bb @@ -0,0 +1,18 @@ +SUMMARY = "Python bindings for the Apache Thrift RPC system" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://PKG-INFO;md5=e95cd2f17c70d3180a2b361332319fe0" + +SRC_URI[md5sum] = "c3bc8d9a910d2c9ce26f2ad1f7c96762" +SRC_URI[sha256sum] = "9af1c86bf73433afc6010ed376a6c6aca2b54099cc0d61895f640870a9ae7d89" + +inherit pypi setuptools + +# Use different filename to prevent conflicts with thrift itself +PYPI_SRC_URI_append = ";downloadfilename=${BP}.${PYPI_PACKAGE_EXT}" + +RDEPENDS_${PN} += "\ + ${PYTHON_PN}-logging \ + ${PYTHON_PN}-six \ + ${PYTHON_PN}-stringold \ + ${PYTHON_PN}-threading \ +" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-alembic.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-alembic.inc index 8245676b2d..c94c142ddb 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python-alembic.inc +++ b/meta-openembedded/meta-python/recipes-devtools/python/python-alembic.inc @@ -2,8 +2,8 @@ DESCRIPTION = "A database migration tool for SQLAlchemy" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://LICENSE;md5=28aaf14a6592d14dbfb2f4abd597aa27" -SRC_URI[md5sum] = "81ec3de9e2d9c389657f51bdc0d24984" -SRC_URI[sha256sum] = "e6c6a4243e89c8d3e2342a1562b2388f3b524c9cac2fccc4d2c461a1320cc1c1" +SRC_URI[md5sum] = "3d7584a8fb0203ec82b90baa726d2bd9" +SRC_URI[sha256sum] = "3b0cb1948833e062f4048992fbc97ecfaaaac24aaa0d83a1202a99fb58af8c6d" PYPI_PACKAGE = "alembic" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-alembic_1.3.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-alembic_1.3.0.bb deleted file mode 100644 index efcb2b1deb..0000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python-alembic_1.3.0.bb +++ /dev/null @@ -1,2 +0,0 @@ -inherit pypi setuptools -require python-alembic.inc diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-alembic_1.3.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-alembic_1.3.2.bb new file mode 100644 index 0000000000..efcb2b1deb --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python-alembic_1.3.2.bb @@ -0,0 +1,2 @@ +inherit pypi setuptools +require python-alembic.inc diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-asn1crypto.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-asn1crypto.inc index 9b8c1cb048..de6e1a55bb 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python-asn1crypto.inc +++ b/meta-openembedded/meta-python/recipes-devtools/python/python-asn1crypto.inc @@ -6,8 +6,8 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=7439e38f5e04ff62fae436184786b7ca" PYPI_PACKAGE = "asn1crypto" -SRC_URI[md5sum] = "fc3815cdd4812505e3ee297740c5f5d3" -SRC_URI[sha256sum] = "87620880a477123e01177a1f73d0f327210b43a3cdbd714efcd2fa49a8d7b384" +SRC_URI[md5sum] = "daad112940181917e3ff169b47b9bd9a" +SRC_URI[sha256sum] = "5a215cb8dc12f892244e3a113fe05397ee23c5c4ca7a69cd6e69811755efc42d" inherit pypi diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-asn1crypto_1.2.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-asn1crypto_1.2.0.bb deleted file mode 100644 index 46aace286f..0000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python-asn1crypto_1.2.0.bb +++ /dev/null @@ -1,7 +0,0 @@ -inherit setuptools -require python-asn1crypto.inc - -RDEPENDS_${PN} += " \ - ${PYTHON_PN}-subprocess \ - ${PYTHON_PN}-textutils \ -" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-asn1crypto_1.3.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-asn1crypto_1.3.0.bb new file mode 100644 index 0000000000..46aace286f --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python-asn1crypto_1.3.0.bb @@ -0,0 +1,7 @@ +inherit setuptools +require python-asn1crypto.inc + +RDEPENDS_${PN} += " \ + ${PYTHON_PN}-subprocess \ + ${PYTHON_PN}-textutils \ +" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-backports-functools-lru-cache.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-backports-functools-lru-cache.inc new file mode 100644 index 0000000000..bce44a28b4 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python-backports-functools-lru-cache.inc @@ -0,0 +1,19 @@ +SUMMARY = "Backport of functools.lru_cache from Python 3.3" +HOMEPAGE = "https://github.com/jaraco/backports.functools_lru_cache" +SECTION = "devel/python" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://setup.py;beginline=57;endline=57;md5=98fc3658e5970d26f6b2109808c766be" + +PYPI_PACKAGE = "backports.functools_lru_cache" + +SRC_URI[md5sum] = "20f53f54cd3f04b3346ce75a54959754" +SRC_URI[sha256sum] = "9d98697f088eb1b0fa451391f91afb5e3ebde16bbdb272819fd091151fda4f1a" + +DEPENDS += "${PYTHON_PN}-setuptools-scm-native" + +inherit pypi + +RDEPENDS_${PN} += "\ + ${PYTHON_PN}-pickle \ + ${PYTHON_PN}-threading \ + " diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-backports-functools-lru-cache_1.5.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-backports-functools-lru-cache_1.5.bb index 825444ff3a..5e0f2f1e8a 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python-backports-functools-lru-cache_1.5.bb +++ b/meta-openembedded/meta-python/recipes-devtools/python/python-backports-functools-lru-cache_1.5.bb @@ -1,19 +1,2 @@ -SUMMARY = "Backport of functools.lru_cache from Python 3.3" -HOMEPAGE = "https://github.com/jaraco/backports.functools_lru_cache" -SECTION = "devel/python" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://setup.py;beginline=57;endline=57;md5=98fc3658e5970d26f6b2109808c766be" - -PYPI_PACKAGE = "backports.functools_lru_cache" - -SRC_URI[md5sum] = "20f53f54cd3f04b3346ce75a54959754" -SRC_URI[sha256sum] = "9d98697f088eb1b0fa451391f91afb5e3ebde16bbdb272819fd091151fda4f1a" - -DEPENDS += "python-setuptools-scm-native" - -inherit setuptools pypi - -RDEPENDS_${PN} += "\ - ${PYTHON_PN}-pickle \ - ${PYTHON_PN}-threading \ - " +require python-backports-functools-lru-cache.inc +inherit setuptools diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-beautifulsoup4.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-beautifulsoup4.inc index acf52dd7d1..3e95bb7f21 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python-beautifulsoup4.inc +++ b/meta-openembedded/meta-python/recipes-devtools/python/python-beautifulsoup4.inc @@ -3,15 +3,15 @@ HOMEPAGE = " https://www.crummy.com/software/BeautifulSoup/bs4" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://COPYING.txt;md5=f2d38d8a40bf73fd4b3d16ca2e5882d1" -SRC_URI[md5sum] = "be03d778cf61cf6734a480e2010d6657" -SRC_URI[sha256sum] = "6135db2ba678168c07950f9a16c4031822c6f4aec75a65e0a97bc5ca09789931" +SRC_URI[md5sum] = "5dbdb56c009e4632bae7bed1b385804b" +SRC_URI[sha256sum] = "05fd825eb01c290877657a56df4c6e4c311b3965bda790c613a3d6fb01a5462a" inherit pypi -RDEPENDS_${PN}_class-target = "\ - ${PYTHON_PN}-core \ +RDEPENDS_${PN} = "\ ${PYTHON_PN}-html5lib \ ${PYTHON_PN}-lxml \ + ${PYTHON_PN}-soupsieve \ " BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-beautifulsoup4_4.8.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-beautifulsoup4_4.8.1.bb deleted file mode 100644 index 907285ac10..0000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python-beautifulsoup4_4.8.1.bb +++ /dev/null @@ -1,2 +0,0 @@ -inherit setuptools -require python-beautifulsoup4.inc diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-beautifulsoup4_4.8.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-beautifulsoup4_4.8.2.bb new file mode 100644 index 0000000000..907285ac10 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python-beautifulsoup4_4.8.2.bb @@ -0,0 +1,2 @@ +inherit setuptools +require python-beautifulsoup4.inc diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-bitarray.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-bitarray.inc index da5d11f1cb..32da348c41 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python-bitarray.inc +++ b/meta-openembedded/meta-python/recipes-devtools/python/python-bitarray.inc @@ -1,10 +1,10 @@ SUMMARY = "A high-level Python efficient arrays of booleans -- C extension" HOMEPAGE = "https://github.com/ilanschnell/bitarray" LICENSE = "PSF" -LIC_FILES_CHKSUM = "file://PKG-INFO;md5=00f0d12ccaf4e6b0b4fe501663621fa3" +LIC_FILES_CHKSUM = "file://PKG-INFO;md5=dc301a25ebe210dcc53b0a2d5a038eae" -SRC_URI[md5sum] = "743d396a1012d6f7d791d8a526da302d" -SRC_URI[sha256sum] = "9f578314c7808eb1416620dc7d7977d4787a65a4f61b4c9685343a860712615b" +SRC_URI[md5sum] = "a46bf869f6adf34f5b0dc82b469793b7" +SRC_URI[sha256sum] = "2ed675f460bb0d3d66fd8042a6f1f0d36cf213e52e72a745283ddb245da7b9cf" inherit pypi diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-bitarray_1.1.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-bitarray_1.1.0.bb deleted file mode 100644 index f78c7abd23..0000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python-bitarray_1.1.0.bb +++ /dev/null @@ -1,2 +0,0 @@ -inherit setuptools -require python-bitarray.inc diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-bitarray_1.2.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-bitarray_1.2.1.bb new file mode 100644 index 0000000000..f78c7abd23 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python-bitarray_1.2.1.bb @@ -0,0 +1,2 @@ +inherit setuptools +require python-bitarray.inc diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-booleanpy.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-booleanpy.inc new file mode 100644 index 0000000000..335d7d396d --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python-booleanpy.inc @@ -0,0 +1,14 @@ +SUMMARY = "Define boolean algebras, create and parse boolean expressions and create custom boolean DSL" +HOMEPAGE = "https://github.com/bastikr/boolean.py" + +LICENSE = "BSD-2-Clause" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=e319747a5eb94cddf646037c01ddba47" + +SRC_URI[md5sum] = "1189d115a38f84f5df743014926a9159" +SRC_URI[sha256sum] = "bd19b412435611ecc712603d0fd7d0e280e24698e7a6e3d5f610473870c5dd1e" + +PYPI_PACKAGE = "boolean.py" + +inherit pypi + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-cachetools.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-cachetools.inc index 9c793808fd..f3d3bc6bc5 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python-cachetools.inc +++ b/meta-openembedded/meta-python/recipes-devtools/python/python-cachetools.inc @@ -10,7 +10,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=27f7518eb6f7dc686d0f953b2f28dae5" inherit pypi -SRC_URI[md5sum] = "91aa9b611b6345154df84e8e37746f41" -SRC_URI[sha256sum] = "8ea2d3ce97850f31e4a08b0e2b5e6c34997d7216a9d2c98e0f3978630d4da69a" +SRC_URI[md5sum] = "6a88df13467e80eb61dd2bedad19b83c" +SRC_URI[sha256sum] = "9a52dd97a85f257f4e4127f15818e71a0c7899f121b34591fcc1173ea79a0198" BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-cachetools_3.1.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-cachetools_3.1.1.bb deleted file mode 100644 index 8c12ad042f..0000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python-cachetools_3.1.1.bb +++ /dev/null @@ -1,2 +0,0 @@ -inherit setuptools -require python-cachetools.inc diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-cachetools_4.0.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-cachetools_4.0.0.bb new file mode 100644 index 0000000000..8c12ad042f --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python-cachetools_4.0.0.bb @@ -0,0 +1,2 @@ +inherit setuptools +require python-cachetools.inc diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-certifi.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-certifi.inc index de02d9a4ab..98fa1f2889 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python-certifi.inc +++ b/meta-openembedded/meta-python/recipes-devtools/python/python-certifi.inc @@ -7,7 +7,7 @@ HOMEPAGE = " http://certifi.io/" LICENSE = "ISC" LIC_FILES_CHKSUM = "file://LICENSE;md5=f77f61d14ee6feac4228d3ebd26cc1f1" -SRC_URI[md5sum] = "cadd4e373fc08f649fa39b82aed9ad96" -SRC_URI[sha256sum] = "e4f3620cfea4f83eedc95b24abd9cd56f3c4b146dd0177e83a21b4eb49e21e50" +SRC_URI[md5sum] = "4d5229c4d9f0a4a79106f9e2c2cfd381" +SRC_URI[sha256sum] = "25b64c7da4cd7479594d035c08c2d809eb4aab3a26e5a990ea98cc450c320f1f" BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-certifi_2019.11.28.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-certifi_2019.11.28.bb new file mode 100644 index 0000000000..adfe6238ec --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python-certifi_2019.11.28.bb @@ -0,0 +1,2 @@ +inherit pypi setuptools +require python-certifi.inc diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-certifi_2019.9.11.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-certifi_2019.9.11.bb deleted file mode 100644 index adfe6238ec..0000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python-certifi_2019.9.11.bb +++ /dev/null @@ -1,2 +0,0 @@ -inherit pypi setuptools -require python-certifi.inc diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-cmd2.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-cmd2.inc index 3a6bf54721..ceaa181d56 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python-cmd2.inc +++ b/meta-openembedded/meta-python/recipes-devtools/python/python-cmd2.inc @@ -3,8 +3,8 @@ HOMEPAGE = "http://packages.python.org/cmd2/" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://LICENSE;md5=01aeabea7ae1529a8e4b674b7107d6bc" -SRC_URI[md5sum] = "20f3f76b2aaf36a17372717b469ca969" -SRC_URI[sha256sum] = "c81284083d993af18b8fef57d89d854d49d051d4c2c8a8e12d0281e369ac3682" +SRC_URI[md5sum] = "90dccab3a20106c543ef85d2bee720bb" +SRC_URI[sha256sum] = "ba244b07c0b465ff54a6838dc61919599141dc92de1bf00bb0a70875189155e6" inherit pypi diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-cmd2_0.9.19.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-cmd2_0.9.19.bb deleted file mode 100644 index 17b6ae2858..0000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python-cmd2_0.9.19.bb +++ /dev/null @@ -1,14 +0,0 @@ -inherit setuptools -require python-cmd2.inc - -RDEPENDS_${PN} += "\ - ${PYTHON_PN}-doctest \ - ${PYTHON_PN}-pyparsing \ - ${PYTHON_PN}-pyperclip \ - ${PYTHON_PN}-shell \ - ${PYTHON_PN}-six \ - ${PYTHON_PN}-stringold \ - ${PYTHON_PN}-subprocess \ - ${PYTHON_PN}-threading \ - ${PYTHON_PN}-textutils \ - " diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-cmd2_0.9.22.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-cmd2_0.9.22.bb new file mode 100644 index 0000000000..17b6ae2858 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python-cmd2_0.9.22.bb @@ -0,0 +1,14 @@ +inherit setuptools +require python-cmd2.inc + +RDEPENDS_${PN} += "\ + ${PYTHON_PN}-doctest \ + ${PYTHON_PN}-pyparsing \ + ${PYTHON_PN}-pyperclip \ + ${PYTHON_PN}-shell \ + ${PYTHON_PN}-six \ + ${PYTHON_PN}-stringold \ + ${PYTHON_PN}-subprocess \ + ${PYTHON_PN}-threading \ + ${PYTHON_PN}-textutils \ + " diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-coloredlogs.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-coloredlogs.inc index f43bea1f74..bdb1d752c5 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python-coloredlogs.inc +++ b/meta-openembedded/meta-python/recipes-devtools/python/python-coloredlogs.inc @@ -10,7 +10,7 @@ SRC_URI[sha256sum] = "b869a2dda3fa88154b9dd850e27828d8755bfab5a838a1c97fbc850c6e inherit pypi do_compile_prepend() { - sed -ie "s/find_pth_directory(),/'',/g" setup.py + sed -ie "s/find_pth_directory(),/'',/g" ${S}/setup.py } do_install_append() { diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-dbus_1.2.12.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-dbus_1.2.12.bb deleted file mode 100644 index f08fa20a13..0000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python-dbus_1.2.12.bb +++ /dev/null @@ -1,32 +0,0 @@ -SUMMARY = "Python bindings for the DBus inter-process communication system" -SECTION = "devel/python" -HOMEPAGE = "http://www.freedesktop.org/Software/dbus" -LICENSE = "MIT & AFL-2.1 | GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=b03240518994df6d8c974675675e5ca4 \ - file://dbus-gmain/COPYING;md5=99fece6728a80737c8fd3e7c734c17c4 " -DEPENDS = "expat dbus dbus-glib virtual/libintl python-pyrex-native" - -SRC_URI = "http://dbus.freedesktop.org/releases/dbus-python/dbus-python-${PV}.tar.gz \ -" - -SRC_URI[md5sum] = "428b7a9e7e2d154a7ceb3e13536283e4" -SRC_URI[sha256sum] = "cdd4de2c4f5e58f287b12013ed7b41dee81d503c8d0d2397c5bd2fb01badf260" -S = "${WORKDIR}/dbus-python-${PV}" - -inherit distutils-base autotools pkgconfig - -# documentation needs python-sphinx, which is not in oe-core or meta-python for now -# change to use PACKAGECONFIG when python-sphinx is added to oe-core or meta-python -EXTRA_OECONF += "--disable-documentation" - -export STAGING_LIBDIR -export STAGING_INCDIR - -RDEPENDS_${PN} = "python-io python-logging python-stringold python-threading python-xml" - -FILES_${PN}-dev += "${libdir}/pkgconfig" - -do_install_append() { - # Remove files that clash with python3-dbus; their content is same - rm ${D}${includedir}/dbus-1.0/dbus/dbus-python.h ${D}${libdir}/pkgconfig/dbus-python.pc -} diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-dbus_1.2.14.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-dbus_1.2.14.bb new file mode 100644 index 0000000000..b89d7d2c8b --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python-dbus_1.2.14.bb @@ -0,0 +1,32 @@ +SUMMARY = "Python bindings for the DBus inter-process communication system" +SECTION = "devel/python" +HOMEPAGE = "http://www.freedesktop.org/Software/dbus" +LICENSE = "MIT & AFL-2.1 | GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=b03240518994df6d8c974675675e5ca4 \ + file://dbus-gmain/COPYING;md5=99fece6728a80737c8fd3e7c734c17c4 " +DEPENDS = "expat dbus dbus-glib virtual/libintl python-pyrex-native" + +SRC_URI = "http://dbus.freedesktop.org/releases/dbus-python/dbus-python-${PV}.tar.gz \ +" + +SRC_URI[md5sum] = "c8739234fca9fba26368d1a337abe830" +SRC_URI[sha256sum] = "b10206ba3dd641e4e46411ab91471c88e0eec1749860e4285193ee68df84ac31" +S = "${WORKDIR}/dbus-python-${PV}" + +inherit distutils-base autotools pkgconfig + +# documentation needs python-sphinx, which is not in oe-core or meta-python for now +# change to use PACKAGECONFIG when python-sphinx is added to oe-core or meta-python +EXTRA_OECONF += "--disable-documentation" + +export STAGING_LIBDIR +export STAGING_INCDIR + +RDEPENDS_${PN} = "python-io python-logging python-stringold python-threading python-xml" + +FILES_${PN}-dev += "${libdir}/pkgconfig" + +do_install_append() { + # Remove files that clash with python3-dbus; their content is same + rm ${D}${includedir}/dbus-1.0/dbus/dbus-python.h ${D}${libdir}/pkgconfig/dbus-python.pc +} diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-engineio.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-engineio.inc index 1347130640..57b7b186bd 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python-engineio.inc +++ b/meta-openembedded/meta-python/recipes-devtools/python/python-engineio.inc @@ -9,5 +9,5 @@ inherit pypi PYPI_PACKAGE = "python-engineio" -SRC_URI[md5sum] = "bec3b06a112a7f09a0a9c92b627282fe" -SRC_URI[sha256sum] = "9c9a6035b4b5e5a225f426f846afa14cf627f7571d1ae02167cb703fefd134b7" +SRC_URI[md5sum] = "327c16ca05e9b0cc4f994b9d35c7f7d7" +SRC_URI[sha256sum] = "50d108fc7feb7f970e6ebc86733752ebd714545bb5622383e6135bdad45fc9fe" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-engineio_3.10.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-engineio_3.10.0.bb deleted file mode 100644 index 7dd6ec0e0d..0000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python-engineio_3.10.0.bb +++ /dev/null @@ -1,2 +0,0 @@ -inherit setuptools -require python-engineio.inc diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-engineio_3.11.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-engineio_3.11.1.bb new file mode 100644 index 0000000000..7dd6ec0e0d --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python-engineio_3.11.1.bb @@ -0,0 +1,2 @@ +inherit setuptools +require python-engineio.inc diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-evdev.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-evdev.inc index 953094ba74..a536815358 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python-evdev.inc +++ b/meta-openembedded/meta-python/recipes-devtools/python/python-evdev.inc @@ -3,6 +3,10 @@ HOMEPAGE = "https://github.com/gvalkov/python-evdev" LICENSE = "BSD-3-Clause" LIC_FILES_CHKSUM = "file://LICENSE;md5=18debddbb3f52c661a129724a883a8e2" +FILESEXTRAPATHS_prepend := "${THISDIR}/python-evdev:" + +SRC_URI += " file://0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch" + SRC_URI[md5sum] = "53e440943dfa2514f95b3c448d6a36cb" SRC_URI[sha256sum] = "b03f5e1be5b4a5327494a981b831d251a142b09e8778eda1a8b53eba91100166" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-evdev/0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch b/meta-openembedded/meta-python/recipes-devtools/python/python-evdev/0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch new file mode 100644 index 0000000000..154172ca88 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python-evdev/0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch @@ -0,0 +1,83 @@ +From 435e78aaf6745e4da0fe3d4455473011626c77d1 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sat, 30 Nov 2019 11:21:20 -0800 +Subject: [PATCH] Fix build on 32bit arches with 64bit time_t + +time element is deprecated on new input_event structure in kernel's +input.h [1] + +[1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit?id=152194fe9c3f + +Upstream-Status: Submitted [https://github.com/gvalkov/python-evdev/pull/112] +Signed-off-by: Khem Raj +--- + evdev/input.c | 13 +++++++++---- + evdev/uinput.c | 9 ++++++++- + 2 files changed, 17 insertions(+), 5 deletions(-) + +diff --git a/evdev/input.c b/evdev/input.c +index 67b9348..432db92 100644 +--- a/evdev/input.c ++++ b/evdev/input.c +@@ -24,6 +24,11 @@ + #include + #endif + ++#ifndef input_event_sec ++#define input_event_sec time.tv_sec ++#define input_event_usec time.tv_usec ++#endif ++ + #define MAX_NAME_SIZE 256 + + extern char* EV_NAME[EV_CNT]; +@@ -60,8 +65,8 @@ device_read(PyObject *self, PyObject *args) + return NULL; + } + +- PyObject* sec = PyLong_FromLong(event.time.tv_sec); +- PyObject* usec = PyLong_FromLong(event.time.tv_usec); ++ PyObject* sec = PyLong_FromLong(event.input_event_sec); ++ PyObject* usec = PyLong_FromLong(event.input_event_usec); + PyObject* val = PyLong_FromLong(event.value); + PyObject* py_input_event = NULL; + +@@ -102,8 +107,8 @@ device_read_many(PyObject *self, PyObject *args) + + // Construct a list of event tuples, which we'll make sense of in Python + for (unsigned i = 0 ; i < nread/event_size ; i++) { +- sec = PyLong_FromLong(event[i].time.tv_sec); +- usec = PyLong_FromLong(event[i].time.tv_usec); ++ sec = PyLong_FromLong(event[i].input_event_sec); ++ usec = PyLong_FromLong(event[i].input_event_usec); + val = PyLong_FromLong(event[i].value); + + py_input_event = Py_BuildValue("OOhhO", sec, usec, event[i].type, event[i].code, val); +diff --git a/evdev/uinput.c b/evdev/uinput.c +index 192568d..56fe86c 100644 +--- a/evdev/uinput.c ++++ b/evdev/uinput.c +@@ -16,6 +16,10 @@ + #include + #endif + ++#ifndef input_event_sec ++#define input_event_sec time.tv_sec ++#define input_event_usec time.tv_usec ++#endif + + // Workaround for installing on kernels newer than 4.4. + #ifndef FF_MAX_EFFECTS +@@ -232,8 +236,11 @@ uinput_write(PyObject *self, PyObject *args) + if (!ret) return NULL; + + struct input_event event; ++ struct timeval tval; + memset(&event, 0, sizeof(event)); +- gettimeofday(&event.time, 0); ++ gettimeofday(&tval, 0); ++ event.input_event_usec = tval.tv_usec; ++ event.input_event_sec = tval.tv_sec; + event.type = type; + event.code = code; + event.value = value; diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-html2text.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-html2text.inc new file mode 100644 index 0000000000..678dcef3f0 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python-html2text.inc @@ -0,0 +1,12 @@ +SUMMARY = "Convert HTML to Markdown-formatted text" +HOMEPAGE = "https://github.com/Alir3z4/html2text" + +LICENSE = "GPL-3.0" +LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" + +SRC_URI[md5sum] = "21aad7ec95b70606024b783c8253899c" +SRC_URI[sha256sum] = "f516b9c10284174e2a974d86f91cab02b3cf983a17752075da751af0e895ef5e" + +inherit pypi + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-ipaddress.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-ipaddress.inc index a23020649f..129cf225d9 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python-ipaddress.inc +++ b/meta-openembedded/meta-python/recipes-devtools/python/python-ipaddress.inc @@ -3,8 +3,6 @@ HOMEPAGE = "https://github.com/phihag/ipaddress" LICENSE = "Python-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=7f538584cc3407bf76042def7168548a" -DEPENDS += "${PYTHON_PN}-pip" - SRC_URI[md5sum] = "aaee67a8026782af1831148beb0d9060" SRC_URI[sha256sum] = "b7f8e0369580bb4a24d5ba1d7cc29660a4a6987763faf1d8a8046830e020e7e2" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-jsonpointer.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-jsonpointer.inc index d36f0294a8..b6e4836ef2 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python-jsonpointer.inc +++ b/meta-openembedded/meta-python/recipes-devtools/python/python-jsonpointer.inc @@ -11,3 +11,5 @@ SRC_URI[sha256sum] = "c192ba86648e05fdae4f08a17ec25180a9aef5008d973407b581798a83 RDEPENDS_${PN} += " \ ${PYTHON_PN}-json \ " + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-jsonschema.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-jsonschema.inc index 258beadc43..8135b0fe65 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python-jsonschema.inc +++ b/meta-openembedded/meta-python/recipes-devtools/python/python-jsonschema.inc @@ -7,10 +7,8 @@ DEPENDS += "${PYTHON_PN}-vcversioner-native ${PYTHON_PN}-setuptools-scm-native" FILESEXTRAPATHS_prepend := "${THISDIR}/python-jsonschema:" -SRC_URI_append = " file://0001-setup.cfg-add-non-GPL-format-option.patch" - -SRC_URI[md5sum] = "a802ab85600074a726ef6acc4e6a8148" -SRC_URI[sha256sum] = "2fa0684276b6333ff3c0b1b27081f4b2305f0a36cf702a23db50edb141893c3f" +SRC_URI[md5sum] = "f1a0b5011f05a02a8dee1070cd10a26d" +SRC_URI[sha256sum] = "c8a85b28d377cc7737e46e2d9f2b4f44ee3c0e1deac6bf46ddefc7187d30797a" PACKAGECONFIG ??= "format" PACKAGECONFIG[format] = ",,,\ diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-jsonschema/0001-setup.cfg-add-non-GPL-format-option.patch b/meta-openembedded/meta-python/recipes-devtools/python/python-jsonschema/0001-setup.cfg-add-non-GPL-format-option.patch deleted file mode 100644 index afc38a30bf..0000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python-jsonschema/0001-setup.cfg-add-non-GPL-format-option.patch +++ /dev/null @@ -1,96 +0,0 @@ -From 8df0332475991884b8e1801d31f9c3e06d06bf9f Mon Sep 17 00:00:00 2001 -From: Nicola Lunghi -Date: Thu, 14 Nov 2019 18:58:56 +0000 -Subject: [PATCH] setup.cfg: add non GPL format option - -This is a rewrite of the following upstream commits: - - - 10f8a3e Add format validators as separate modules - - af37707 non GPL format option - -removing all the non necessary bits (tox in particular) - -Original author: Nicolas Aimetti - -Upstream-status: Backported. [ to be removed for releases > 3.1.1 ] ---- - jsonschema/_format.py | 33 ++++++++++++++++++++++++++++----- - setup.cfg | 6 ++++++ - 2 files changed, 34 insertions(+), 5 deletions(-) - -diff --git a/jsonschema/_format.py b/jsonschema/_format.py -index aa04090..c967d98 100644 ---- a/jsonschema/_format.py -+++ b/jsonschema/_format.py -@@ -248,7 +248,26 @@ else: - try: - import rfc3987 - except ImportError: -- pass -+ try: -+ from rfc3986_validator import validate_rfc3986 -+ except ImportError: -+ pass -+ else: -+ @_checks_drafts(name="uri",) -+ def is_uri(instance): -+ if not isinstance(instance, str_types): -+ return True -+ return validate_rfc3986(instance, rule="URI") -+ -+ @_checks_drafts( -+ draft6="uri-reference", -+ draft7="uri-reference", -+ raises=ValueError, -+ ) -+ def is_uri_reference(instance): -+ if not isinstance(instance, str_types): -+ return True -+ return validate_rfc3986(instance, rule="URI_reference") - else: - @_checks_drafts(draft7="iri", raises=ValueError) - def is_iri(instance): -@@ -280,15 +299,19 @@ else: - - - try: -- import strict_rfc3339 -+ from strict_rfc3339 import validate_rfc3339 - except ImportError: -- pass --else: -+ try: -+ from rfc3339_validator import validate_rfc3339 -+ except ImportError: -+ validate_rfc3339 = None -+ -+if validate_rfc3339: - @_checks_drafts(name="date-time") - def is_datetime(instance): - if not isinstance(instance, str_types): - return True -- return strict_rfc3339.validate_rfc3339(instance) -+ return validate_rfc3339(instance) - - @_checks_drafts(draft7="time") - def is_time(instance): -diff --git a/setup.cfg b/setup.cfg -index 74bc4a7..878221c 100644 ---- a/setup.cfg -+++ b/setup.cfg -@@ -40,6 +40,12 @@ format = - rfc3987 - strict-rfc3339 - webcolors -+format_nongpl = -+ idna -+ jsonpointer>1.13 -+ webcolors -+ rfc3986-validator>0.1.0 -+ rfc3339-validator - - [options.entry_points] - console_scripts = --- -2.20.1 - diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-jsonschema_3.1.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-jsonschema_3.1.1.bb deleted file mode 100644 index b677c646e7..0000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python-jsonschema_3.1.1.bb +++ /dev/null @@ -1,12 +0,0 @@ -inherit pypi setuptools -require python-jsonschema.inc - -RDEPENDS_${PN} += " \ - ${PYTHON_PN}-argparse \ - ${PYTHON_PN}-contextlib \ - ${PYTHON_PN}-functools32 \ - ${PYTHON_PN}-lang \ - ${PYTHON_PN}-re \ - ${PYTHON_PN}-subprocess \ - ${PYTHON_PN}-textutils \ -" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-jsonschema_3.2.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-jsonschema_3.2.0.bb new file mode 100644 index 0000000000..b677c646e7 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python-jsonschema_3.2.0.bb @@ -0,0 +1,12 @@ +inherit pypi setuptools +require python-jsonschema.inc + +RDEPENDS_${PN} += " \ + ${PYTHON_PN}-argparse \ + ${PYTHON_PN}-contextlib \ + ${PYTHON_PN}-functools32 \ + ${PYTHON_PN}-lang \ + ${PYTHON_PN}-re \ + ${PYTHON_PN}-subprocess \ + ${PYTHON_PN}-textutils \ +" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-license-expression.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-license-expression.inc new file mode 100644 index 0000000000..4c35e8dd70 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python-license-expression.inc @@ -0,0 +1,16 @@ +SUMMARY = "Utility library to parse, compare, simplify and normalize license expressions" +HOMEPAGE = "https://github.com/nexB/license-expression" + +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://apache-2.0.LICENSE;md5=e23fadd6ceef8c618fc1c65191d846fa" + +SRC_URI[md5sum] = "81477f779099f55071c6a7b88a29bb01" +SRC_URI[sha256sum] = "8aaa455c5b97c4f2174090178b19792b2a1c620e80591aafd4e0a99b713f9e8d" + +inherit pypi + +RDEPENDS_${PN} += "\ + ${PYTHON_PN}-booleanpy \ + " + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-lxml.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-lxml.inc index a97167f0df..df9573b433 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python-lxml.inc +++ b/meta-openembedded/meta-python/recipes-devtools/python/python-lxml.inc @@ -18,8 +18,8 @@ LIC_FILES_CHKSUM = "file://LICENSES.txt;md5=e4c045ebad958ead4b48008f70838403 \ DEPENDS += "libxml2 libxslt" -SRC_URI[md5sum] = "ce976a2d3c630d7fde86d3a4c3a1c606" -SRC_URI[sha256sum] = "c81cb40bff373ab7a7446d6bbca0190bccc5be3448b47b51d729e37799bb5692" +SRC_URI[md5sum] = "235c1a22d97a174144e76b66ce62ae46" +SRC_URI[sha256sum] = "eff69ddbf3ad86375c344339371168640951c302450c5d3e9936e98d6459db06" DISTUTILS_BUILD_ARGS += " \ --with-xslt-config='pkg-config libxslt' \ @@ -45,11 +45,6 @@ DEBUG_OPTIMIZATION_append_mipsel = " -O" BUILD_OPTIMIZATION_remove_mipsel = " -Og" BUILD_OPTIMIZATION_append_mipsel = " -O" -do_configure_prepend() { - sed -i -e 's/--version/--modversion/' ${B}/setupinfo.py -} - BBCLASSEXTEND = "native nativesdk" RDEPENDS_${PN} += "libxml2 libxslt ${PYTHON_PN}-compression" -RDEPENDS_${PN}_class-native = "libxml2-native libxslt-native" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-lxml_4.4.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-lxml_4.4.1.bb deleted file mode 100644 index 81ccb12d87..0000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python-lxml_4.4.1.bb +++ /dev/null @@ -1,2 +0,0 @@ -inherit setuptools -require python-lxml.inc diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-lxml_4.4.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-lxml_4.4.2.bb new file mode 100644 index 0000000000..81ccb12d87 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python-lxml_4.4.2.bb @@ -0,0 +1,2 @@ +inherit setuptools +require python-lxml.inc diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-m2crypto.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-m2crypto.inc index a36ab8a7fa..5f5444f37e 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python-m2crypto.inc +++ b/meta-openembedded/meta-python/recipes-devtools/python/python-m2crypto.inc @@ -32,7 +32,7 @@ export SWIG_FEATURES # do_configure_prepend() { ${CPP} -dM - < /dev/null | grep -v '__\(STDC\|REGISTER_PREFIX\|GNUC\|STDC_HOSTED\)__' \ - | sed 's/^\(#define \([^ ]*\) .*\)$/#undef \2\n\1/' > SWIG/gcc_macros.h + | sed 's/^\(#define \([^ ]*\) .*\)$/#undef \2\n\1/' > ${S}/SWIG/gcc_macros.h if [ "${SITEINFO_BITS}" = "64" ];then bit="64" @@ -42,11 +42,11 @@ do_configure_prepend() { if [ -e ${STAGING_INCDIR}/openssl/opensslconf-${bit}.h ] ;then for i in SWIG/_ec.i SWIG/_evp.i; do - sed -i -e "s/opensslconf.*\./opensslconf-${bit}\./" "$i" + sed -i -e "s/opensslconf.*\./opensslconf-${bit}\./" "${S}/$i" done elif [ -e ${STAGING_INCDIR}/openssl/opensslconf-n${bit}.h ] ;then for i in SWIG/_ec.i SWIG/_evp.i; do - sed -i -e "s/opensslconf.*\./opensslconf-n${bit}\./" "$i" + sed -i -e "s/opensslconf.*\./opensslconf-n${bit}\./" "${S}/$i" done fi } diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-parse.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-parse.inc index ccd5a93773..5ce67f11d8 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python-parse.inc +++ b/meta-openembedded/meta-python/recipes-devtools/python/python-parse.inc @@ -1,10 +1,10 @@ SUMMARY = "Parse strings using a specification based on the Python format() syntax" HOMEPAGE = "https://github.com/r1chardj0n3s/parse" LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://parse.py;beginline=1317;endline=1337;md5=fa03bae3f51a2db25e239e869c647437" +LIC_FILES_CHKSUM = "file://parse.py;beginline=1325;endline=1345;md5=fa03bae3f51a2db25e239e869c647437" -SRC_URI[md5sum] = "8fc634769f1d841f14a52dd731ca447a" -SRC_URI[sha256sum] = "a5fca7000c6588d77bc65c28f3f21bfce03b5e44daa8f9f07c17fe364990d717" +SRC_URI[md5sum] = "07cbb5ba1025cbfe92fc3376c372dda5" +SRC_URI[sha256sum] = "95a4f4469e37c57b5e924629ac99926f28bee7da59515dc5b8078c4c3e779249" inherit pypi diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-parse_1.12.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-parse_1.12.1.bb deleted file mode 100644 index d31ccc72a1..0000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python-parse_1.12.1.bb +++ /dev/null @@ -1,2 +0,0 @@ -inherit setuptools -require python-parse.inc diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-parse_1.14.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-parse_1.14.0.bb new file mode 100644 index 0000000000..d31ccc72a1 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python-parse_1.14.0.bb @@ -0,0 +1,2 @@ +inherit setuptools +require python-parse.inc diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-passlib.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-passlib.inc index 8a6d7e9b2d..9cf02807a9 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python-passlib.inc +++ b/meta-openembedded/meta-python/recipes-devtools/python/python-passlib.inc @@ -7,10 +7,10 @@ tasks, from verifying a hash found in /etc/shadow, to providing full-strength pa hashing for multi-user applications." HOMEPAGE = "https://bitbucket.org/ecollins/passlib" LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=73eed1a5470b969951dac411086c7036" +LIC_FILES_CHKSUM = "file://LICENSE;md5=44fd7dcd5d42b48d6dea59ac643a0179" -SRC_URI[md5sum] = "254869dae3fd9f09f0746a3cb29a0b15" -SRC_URI[sha256sum] = "3d948f64138c25633613f303bcc471126eae67c04d5e3f6b7b8ce6242f8653e0" +SRC_URI[md5sum] = "b908529cfd4c33057c244324c692eae7" +SRC_URI[sha256sum] = "8d666cef936198bc2ab47ee9b0410c94adf2ba798e5a84bf220be079ae7ab6a8" RDEPENDS_${PN} += "\ ${PYTHON_PN}-crypt \ diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-passlib_1.7.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-passlib_1.7.1.bb deleted file mode 100644 index 11c598a084..0000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python-passlib_1.7.1.bb +++ /dev/null @@ -1,2 +0,0 @@ -inherit pypi setuptools -require python-passlib.inc diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-passlib_1.7.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-passlib_1.7.2.bb new file mode 100644 index 0000000000..11c598a084 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python-passlib_1.7.2.bb @@ -0,0 +1,2 @@ +inherit pypi setuptools +require python-passlib.inc diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-paste_3.2.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-paste_3.2.2.bb deleted file mode 100644 index 2778fc6b5f..0000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python-paste_3.2.2.bb +++ /dev/null @@ -1,17 +0,0 @@ -SUMMARY = "Tools for using a Web Server Gateway Interface stack" -HOMEPAGE = "http://pythonpaste.org/" -LICENSE = "MIT" -RDEPENDS_${PN} = "python-six" - -LIC_FILES_CHKSUM = "file://docs/license.txt;md5=1798f29d55080c60365e6283cb49779c" - -SRC_URI[md5sum] = "788fceb192bc338f1a3e2a8f78fd42b6" -SRC_URI[sha256sum] = "0b1f4d86f8366f0d4093e5449813792c98e760edc6b7c918f0f29f9ef22ae996" - -PYPI_PACKAGE = "Paste" -inherit pypi setuptools - -FILES_${PN} += "/usr/lib/*" - -DEPENDS += "${PYTHON_PN}-pytest-runner-native" - diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-paste_3.2.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-paste_3.2.3.bb new file mode 100644 index 0000000000..c3d4fddf81 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python-paste_3.2.3.bb @@ -0,0 +1,17 @@ +SUMMARY = "Tools for using a Web Server Gateway Interface stack" +HOMEPAGE = "http://pythonpaste.org/" +LICENSE = "MIT" +RDEPENDS_${PN} = "python-six" + +LIC_FILES_CHKSUM = "file://docs/license.txt;md5=1798f29d55080c60365e6283cb49779c" + +SRC_URI[md5sum] = "7dc6dbd20e358dd95bd42eef5c6cc84c" +SRC_URI[sha256sum] = "8bdc7f6be907eed7cd63868c79d88af2b87d02d840fb5acfc93d4bda572b1567" + +PYPI_PACKAGE = "Paste" +inherit pypi setuptools + +FILES_${PN} += "/usr/lib/*" + +DEPENDS += "${PYTHON_PN}-pytest-runner-native" + diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pbr_5.4.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-pbr_5.4.3.bb deleted file mode 100644 index b21722fda5..0000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python-pbr_5.4.3.bb +++ /dev/null @@ -1,13 +0,0 @@ -inherit setuptools -# The inc file is in oe-core -require recipes-devtools/python/python-pbr.inc - -SRC_URI[md5sum] = "477d2aa285ad97250a172b199f4060b7" -SRC_URI[sha256sum] = "2c8e420cd4ed4cec4e7999ee47409e876af575d4c35a45840d59e8b5f3155ab8" - -do_install_append() { - if [ -f ${D}${bindir}/pbr ]; then - mv ${D}${bindir}/pbr ${D}${bindir}/pbr-2 - fi -} - diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pbr_5.4.4.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-pbr_5.4.4.bb new file mode 100644 index 0000000000..9d7d8d7b0b --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pbr_5.4.4.bb @@ -0,0 +1,13 @@ +inherit setuptools +# The inc file is in oe-core +require recipes-devtools/python/python-pbr.inc + +SRC_URI[md5sum] = "65cdc32e1a1ff56d481fc15aa8caf988" +SRC_URI[sha256sum] = "139d2625547dbfa5fb0b81daebb39601c478c21956dc57e2e07b74450a8c506b" + +do_install_append() { + if [ -f ${D}${bindir}/pbr ]; then + mv ${D}${bindir}/pbr ${D}${bindir}/pbr-2 + fi +} + diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pexpect.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-pexpect.inc index efeab8315a..6d78eb94d3 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python-pexpect.inc +++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pexpect.inc @@ -4,8 +4,8 @@ SECTION = "devel/python" LICENSE = "ISC" LIC_FILES_CHKSUM = "file://LICENSE;md5=1c7a725251880af8c6a148181665385b" -SRC_URI[md5sum] = "d4f3372965a996238d57d19b95d2e03a" -SRC_URI[sha256sum] = "2a8e88259839571d1251d278476f3eec5db26deb73a70be5ed5dc5435e418aba" +SRC_URI[md5sum] = "ed003242cbf308aee1b1eaecdef59e43" +SRC_URI[sha256sum] = "9e2c1fd0e6ee3a49b28f95d4b33bc389c89b20af6a1255906e90ff1262ce62eb" UPSTREAM_CHECK_URI = "https://pypi.python.org/pypi/pexpect" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pexpect_4.6.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-pexpect_4.6.0.bb deleted file mode 100644 index 1c46b47a21..0000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python-pexpect_4.6.0.bb +++ /dev/null @@ -1,2 +0,0 @@ -require python-pexpect.inc -inherit pypi setuptools diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pexpect_4.7.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-pexpect_4.7.0.bb new file mode 100644 index 0000000000..1c46b47a21 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pexpect_4.7.0.bb @@ -0,0 +1,2 @@ +require python-pexpect.inc +inherit pypi setuptools diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pluggy.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-pluggy.inc index 1931532a91..7585984dbb 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python-pluggy.inc +++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pluggy.inc @@ -3,8 +3,8 @@ HOMEPAGE = "https://github.com/pytest-dev/pluggy" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://LICENSE;md5=1c8206d16fd5cc02fa9b0bb98955e5c2" -SRC_URI[md5sum] = "4b8384b69cddbc2e104fdd3ff5631788" -SRC_URI[sha256sum] = "fa5fa1622fa6dd5c030e9cad086fa19ef6a0cf6d7a2d12318e10cb49d6d68f34" +SRC_URI[md5sum] = "7f610e28b8b34487336b585a3dfb803d" +SRC_URI[sha256sum] = "15b2acde666561e1298d71b523007ed7364de07029219b604cf808bfa1c765b0" DEPENDS += "${PYTHON_PN}-setuptools-scm-native" RDEPENDS_${PN} += "${PYTHON_PN}-importlib-metadata \ diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pluggy_0.13.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-pluggy_0.13.0.bb deleted file mode 100644 index edcd4f512f..0000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python-pluggy_0.13.0.bb +++ /dev/null @@ -1,2 +0,0 @@ -inherit setuptools -require python-pluggy.inc diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pluggy_0.13.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-pluggy_0.13.1.bb new file mode 100644 index 0000000000..edcd4f512f --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pluggy_0.13.1.bb @@ -0,0 +1,2 @@ +inherit setuptools +require python-pluggy.inc diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-psutil.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-psutil.inc index 9312266991..bf49d98632 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python-psutil.inc +++ b/meta-openembedded/meta-python/recipes-devtools/python/python-psutil.inc @@ -2,8 +2,8 @@ SUMMARY = "A cross-platform process and system utilities module for Python" LICENSE = "BSD-3-Clause" LIC_FILES_CHKSUM = "file://LICENSE;md5=e35fd9f271d19d5f742f20a9d1f8bb8b" -SRC_URI[md5sum] = "5561dfe61b5888fb1b3f17fbe4eeb15d" -SRC_URI[sha256sum] = "d051532ac944f1be0179e0506f6889833cf96e466262523e57a871de65a15147" +SRC_URI[md5sum] = "b2c94e0368fc6e6f237a7252f8e85ca2" +SRC_URI[sha256sum] = "ffad8eb2ac614518bbe3c0b8eb9dffdb3a8d2e3a7d5da51c5b974fb723a5c5aa" PACKAGES =+ "${PN}-tests" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-psutil_5.6.5.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-psutil_5.6.5.bb deleted file mode 100644 index 9aabfb2069..0000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python-psutil_5.6.5.bb +++ /dev/null @@ -1,6 +0,0 @@ -inherit pypi setuptools -require python-psutil.inc - -RDEPENDS_${PN} += " \ - ${PYTHON_PN}-subprocess \ -" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-psutil_5.6.7.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-psutil_5.6.7.bb new file mode 100644 index 0000000000..9aabfb2069 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python-psutil_5.6.7.bb @@ -0,0 +1,6 @@ +inherit pypi setuptools +require python-psutil.inc + +RDEPENDS_${PN} += " \ + ${PYTHON_PN}-subprocess \ +" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-py.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-py.inc index b6e0409bd9..2b48abe8ee 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python-py.inc +++ b/meta-openembedded/meta-python/recipes-devtools/python/python-py.inc @@ -3,8 +3,8 @@ HOMEPAGE = "http://py.readthedocs.io/" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://LICENSE;md5=a6bb0320b04a0a503f12f69fea479de9" -SRC_URI[md5sum] = "d9e30436ce7e79f30847f9b30b62e149" -SRC_URI[sha256sum] = "dc639b046a6e2cff5bbe40194ad65936d6ba360b52b3c3fe1d08a82dd50b5e53" +SRC_URI[md5sum] = "42c67de84b07ac9cc867b8b70843a45b" +SRC_URI[sha256sum] = "5e27081401262157467ad6e7f851b7aa402c5852dbcb3dae06768434de5752aa" DEPENDS += "${PYTHON_PN}-setuptools-scm-native" BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-py_1.8.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-py_1.8.0.bb deleted file mode 100644 index 5ad2c19766..0000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python-py_1.8.0.bb +++ /dev/null @@ -1,2 +0,0 @@ -inherit pypi setuptools -require python-py.inc diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-py_1.8.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-py_1.8.1.bb new file mode 100644 index 0000000000..5ad2c19766 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python-py_1.8.1.bb @@ -0,0 +1,2 @@ +inherit pypi setuptools +require python-py.inc diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pyasn1.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-pyasn1.inc index 014fcf9a39..d74c2fec69 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python-pyasn1.inc +++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pyasn1.inc @@ -3,8 +3,8 @@ HOMEPAGE = "http://pyasn1.sourceforge.net/" LICENSE = "BSD-2-Clause" LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=a14482d15c2249de3b6f0e8a47e021fd" -SRC_URI[md5sum] = "50290e833395016c49903f4f9c7e47e5" -SRC_URI[sha256sum] = "a9495356ca1d66ed197a0f72b41eb1823cf7ea8b5bd07191673e8147aecf8604" +SRC_URI[md5sum] = "dffae4ff9f997a83324b3f33fe62be54" +SRC_URI[sha256sum] = "aef77c9fb94a3ac588e87841208bdec464471d9871bd5050a287cc9a475cd0ba" RDEPENDS_${PN}_class-target += " \ ${PYTHON_PN}-codecs \ diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pyasn1_0.4.7.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-pyasn1_0.4.7.bb deleted file mode 100644 index a13c74dda8..0000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python-pyasn1_0.4.7.bb +++ /dev/null @@ -1,6 +0,0 @@ -inherit pypi setuptools -require python-pyasn1.inc - -RDEPENDS_${PN} += "\ - ${PYTHON_PN}-lang \ -" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pyasn1_0.4.8.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-pyasn1_0.4.8.bb new file mode 100644 index 0000000000..a13c74dda8 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pyasn1_0.4.8.bb @@ -0,0 +1,6 @@ +inherit pypi setuptools +require python-pyasn1.inc + +RDEPENDS_${PN} += "\ + ${PYTHON_PN}-lang \ +" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pycryptodome.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-pycryptodome.inc index 50ffd0a660..31d1368b0f 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python-pycryptodome.inc +++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pycryptodome.inc @@ -5,8 +5,8 @@ HOMEPAGE = "http://www.pycryptodome.org" LICENSE = "PD & BSD-2-Clause" LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=6dc0e2a13d2f25d6f123c434b761faba" -SRC_URI[md5sum] = "c4e53f9ed33ca883b18249b9e1546251" -SRC_URI[sha256sum] = "39ddc3c493125494572e0beefa8e8e6a43369e93c3c3e163cb871b37c1c62fba" +SRC_URI[md5sum] = "f990716b49add7b14ea8b8a961fb3746" +SRC_URI[sha256sum] = "a168e73879619b467072509a223282a02c8047d932a48b74fbd498f27224aa04" inherit pypi diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pycryptodome_3.9.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-pycryptodome_3.9.3.bb deleted file mode 100644 index c7701eb9f9..0000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python-pycryptodome_3.9.3.bb +++ /dev/null @@ -1,2 +0,0 @@ -require python-pycryptodome.inc -inherit setuptools diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pycryptodome_3.9.4.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-pycryptodome_3.9.4.bb new file mode 100644 index 0000000000..c7701eb9f9 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pycryptodome_3.9.4.bb @@ -0,0 +1,2 @@ +require python-pycryptodome.inc +inherit setuptools diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pymisp.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-pymisp.inc index 4c61d9fff0..6c474920e1 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python-pymisp.inc +++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pymisp.inc @@ -3,8 +3,8 @@ HOMEPAGE = "https://github.com/MISP/PyMISP" LICENSE = "BSD-2-Clause" LIC_FILES_CHKSUM = "file://LICENSE;md5=a3639cf5780f71b125d3e9d1dc127c20" -SRC_URI[md5sum] = "77aef367e57ba7dcc6f9b3d445a960ed" -SRC_URI[sha256sum] = "de67196f6a8916b9c52a84a1c45ea967c53fa9d2b3795b070ad2c1cbc28d79d7" +SRC_URI[md5sum] = "57184785340e25469e4a80ff9ddce09e" +SRC_URI[sha256sum] = "594ea0a9e150052232425009eac6dd104a80f494d0e273cc48dd114d7ea8482b" RDEPENDS_${PN} += " \ ${PYTHON_PN}-dateutil \ diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pymisp_2.4.117.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-pymisp_2.4.117.2.bb deleted file mode 100644 index 1b1fbe956e..0000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python-pymisp_2.4.117.2.bb +++ /dev/null @@ -1,2 +0,0 @@ -inherit pypi setuptools -require python-pymisp.inc diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pymisp_2.4.119.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-pymisp_2.4.119.1.bb new file mode 100644 index 0000000000..1b1fbe956e --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pymisp_2.4.119.1.bb @@ -0,0 +1,2 @@ +inherit pypi setuptools +require python-pymisp.inc diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pymongo.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-pymongo.inc index cd11d98129..dc78b10f8e 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python-pymongo.inc +++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pymongo.inc @@ -8,8 +8,8 @@ HOMEPAGE = "http://github.com/mongodb/mongo-python-driver" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" -SRC_URI[md5sum] = "531786df7ad98f15c43f1b17edf5f84c" -SRC_URI[sha256sum] = "4249c6ba45587b959292a727532826c5032d59171f923f7f823788f413c2a5a3" +SRC_URI[md5sum] = "fb98d896f0eb14d9b4fe9baac24d772a" +SRC_URI[sha256sum] = "c43879fe427ea6aa6e84dae9fbdc5aa14428a4cfe613fe0fee2cc004bf3f307c" PACKAGES =+ "${PYTHON_PN}-bson" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pymongo_3.10.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-pymongo_3.10.0.bb new file mode 100644 index 0000000000..b1778b2f13 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pymongo_3.10.0.bb @@ -0,0 +1,2 @@ +inherit pypi setuptools +require python-pymongo.inc diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pymongo_3.9.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-pymongo_3.9.0.bb deleted file mode 100644 index b1778b2f13..0000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python-pymongo_3.9.0.bb +++ /dev/null @@ -1,2 +0,0 @@ -inherit pypi setuptools -require python-pymongo.inc diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pyopenssl.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-pyopenssl.inc index 00c103fcf2..c6a4005563 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python-pyopenssl.inc +++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pyopenssl.inc @@ -5,8 +5,8 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" DEPENDS += "openssl ${PYTHON_PN}-cryptography" -SRC_URI[md5sum] = "b9876625dc1d5a5a662d748689191537" -SRC_URI[sha256sum] = "aeca66338f6de19d1aa46ed634c3b9ae519a64b458f8468aec688e7e3c20f200" +SRC_URI[md5sum] = "d9804fedbd1eb0c7d9243397b1fbf972" +SRC_URI[sha256sum] = "9a24494b2602aaf402be5c9e30a0b82d4a5c67528fe8fb475e3f3bc00dd69507" PYPI_PACKAGE = "pyOpenSSL" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pyopenssl_19.0.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-pyopenssl_19.0.0.bb deleted file mode 100644 index b7d5146130..0000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python-pyopenssl_19.0.0.bb +++ /dev/null @@ -1,2 +0,0 @@ -require python-pyopenssl.inc -inherit pypi setuptools diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pyopenssl_19.1.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-pyopenssl_19.1.0.bb new file mode 100644 index 0000000000..b7d5146130 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pyopenssl_19.1.0.bb @@ -0,0 +1,2 @@ +require python-pyopenssl.inc +inherit pypi setuptools diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pyparsing.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-pyparsing.inc index bf89be6628..2b9925f495 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python-pyparsing.inc +++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pyparsing.inc @@ -3,8 +3,8 @@ HOMEPAGE = "http://pyparsing.wikispaces.com/" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://LICENSE;md5=657a566233888513e1f07ba13e2f47f1" -SRC_URI[md5sum] = "75dfad250d739efa82c7c0eeaacc5e68" -SRC_URI[sha256sum] = "4ca62001be367f01bd3e92ecbb79070272a9d4964dce6a48a82ff0b8bc7e683a" +SRC_URI[md5sum] = "29733ea8cbee0291aad121c69c6e51a1" +SRC_URI[sha256sum] = "4c830582a84fb022400b85429791bc551f1f4871c33f23e44f353119e92f969f" inherit pypi diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pyparsing_2.4.5.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-pyparsing_2.4.5.bb deleted file mode 100644 index 90217f3c3e..0000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python-pyparsing_2.4.5.bb +++ /dev/null @@ -1,2 +0,0 @@ -inherit setuptools -require python-pyparsing.inc diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pyparsing_2.4.6.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-pyparsing_2.4.6.bb new file mode 100644 index 0000000000..90217f3c3e --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pyparsing_2.4.6.bb @@ -0,0 +1,2 @@ +inherit setuptools +require python-pyparsing.inc diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pyperf.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-pyperf.inc index 81837f3005..2e6304b99a 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python-pyperf.inc +++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pyperf.inc @@ -13,8 +13,8 @@ Features: \ LICENSE = "MIT" LIC_FILES_CHKSUM = "file://COPYING;md5=78bc2e6e87c8c61272937b879e6dc2f8" -SRC_URI[md5sum] = "d67fe5f447963da8873f3e9923f76de1" -SRC_URI[sha256sum] = "8d0143a22a13ee10c997a648f30b82cdc40175d5a20b11055ae058a82e45d371" +SRC_URI[md5sum] = "e30b67b62a4e30e4504352d0778c622c" +SRC_URI[sha256sum] = "0d214aa65e085d3e4108a36152cb12f7cd0f4e7fda93b5134b43a9687c975786" inherit pypi diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pyperf_1.6.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-pyperf_1.6.1.bb deleted file mode 100644 index a9d5c74883..0000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python-pyperf_1.6.1.bb +++ /dev/null @@ -1,4 +0,0 @@ -inherit setuptools -require python-pyperf.inc - -RDEPENDS_${PN} += "${PYTHON_PN}-statistics" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pyperf_1.7.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-pyperf_1.7.0.bb new file mode 100644 index 0000000000..a9d5c74883 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pyperf_1.7.0.bb @@ -0,0 +1,4 @@ +inherit setuptools +require python-pyperf.inc + +RDEPENDS_${PN} += "${PYTHON_PN}-statistics" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pytest.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-pytest.inc index a26d41084a..752d67e368 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python-pytest.inc +++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pytest.inc @@ -3,8 +3,8 @@ HOMEPAGE = "http://pytest.org" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://LICENSE;md5=640061b8cee64b308a4d2f9f556c12f2" -SRC_URI[md5sum] = "889344299c9182aff67d6e461cb7af29" -SRC_URI[sha256sum] = "27abc3fef618a01bebb1f0d6d303d2816a99aa87a5968ebc32fe971be91eb1e6" +SRC_URI[md5sum] = "71a8eb2ab5efb76512d9a69bd6477034" +SRC_URI[sha256sum] = "6b571215b5a790f9b41f19f3531c53a45cf6bb8ef2988bc1ff9afb38270b25fa" SRC_URI_append = " file://0001-setup.py-remove-the-setup_requires-for-setuptools-scm.patch \ " diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pytest_5.2.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-pytest_5.2.2.bb deleted file mode 100644 index 39e50aca97..0000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python-pytest_5.2.2.bb +++ /dev/null @@ -1,9 +0,0 @@ -inherit pypi setuptools -require python-pytest.inc - -RDEPENDS_${PN}_class-target += " \ - ${PYTHON_PN}-argparse \ - ${PYTHON_PN}-compiler \ - ${PYTHON_PN}-funcsigs \ -" -ALTERNATIVE_PRIORITY = "10" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pytest_5.3.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-pytest_5.3.2.bb new file mode 100644 index 0000000000..39e50aca97 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pytest_5.3.2.bb @@ -0,0 +1,9 @@ +inherit pypi setuptools +require python-pytest.inc + +RDEPENDS_${PN}_class-target += " \ + ${PYTHON_PN}-argparse \ + ${PYTHON_PN}-compiler \ + ${PYTHON_PN}-funcsigs \ +" +ALTERNATIVE_PRIORITY = "10" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pyyaml.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-pyyaml.inc index e9ae85eb0b..48ebf73c9c 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python-pyyaml.inc +++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pyyaml.inc @@ -8,8 +8,8 @@ DEPENDS = "libyaml ${PYTHON_PN}-cython-native ${PYTHON_PN}" PYPI_PACKAGE = "PyYAML" inherit pypi -SRC_URI[md5sum] = "20f87ab421b0271dbf371dc5c1cddb5c" -SRC_URI[sha256sum] = "01adf0b6c6f61bd11af6e10ca52b7d4057dd0be0343eb9283c878cf3af56aee4" +SRC_URI[md5sum] = "d7e45e932d6e6649ac574a1ed77b4269" +SRC_URI[sha256sum] = "c0ee8eca2c582d29c3c2ec6e2c4f703d1b7f1fb10bc72317355a746057e7346c" RDEPENDS_${PN} += "\ ${PYTHON_PN}-datetime \ diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pyyaml_5.1.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-pyyaml_5.1.2.bb deleted file mode 100644 index 5a4c92d88f..0000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python-pyyaml_5.1.2.bb +++ /dev/null @@ -1,2 +0,0 @@ -require python-pyyaml.inc -inherit setuptools diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pyyaml_5.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-pyyaml_5.2.bb new file mode 100644 index 0000000000..5a4c92d88f --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pyyaml_5.2.bb @@ -0,0 +1,2 @@ +require python-pyyaml.inc +inherit setuptools diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-simplejson.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-simplejson.inc index 5592eaf3d8..1a8d390e4b 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python-simplejson.inc +++ b/meta-openembedded/meta-python/recipes-devtools/python/python-simplejson.inc @@ -4,8 +4,8 @@ HOMEPAGE = "http://cheeseshop.python.org/pypi/simplejson" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=c6338d7abd321c0b50a2a547e441c52e" -SRC_URI[md5sum] = "744fa99aed207478f8fbf9dd9f04fad3" -SRC_URI[sha256sum] = "b1f329139ba647a9548aa05fb95d046b4a677643070dc2afc05fa2e975d09ca5" +SRC_URI[md5sum] = "8a5ed75c367b90fedc3d685742e2a1c7" +SRC_URI[sha256sum] = "2b4b2b738b3b99819a17feaf118265d0753d5536049ea570b3c43b51c4701e81" inherit pypi diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-simplejson_3.16.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-simplejson_3.16.0.bb deleted file mode 100644 index 24ad9a9608..0000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python-simplejson_3.16.0.bb +++ /dev/null @@ -1,4 +0,0 @@ -inherit setuptools -require python-simplejson.inc - -RDEPENDS_${PN} += "${PYTHON_PN}-re" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-simplejson_3.17.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-simplejson_3.17.0.bb new file mode 100644 index 0000000000..24ad9a9608 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python-simplejson_3.17.0.bb @@ -0,0 +1,4 @@ +inherit setuptools +require python-simplejson.inc + +RDEPENDS_${PN} += "${PYTHON_PN}-re" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-slip-dbus.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-slip-dbus.inc index 9e726b5b92..ab7b1bb06c 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python-slip-dbus.inc +++ b/meta-openembedded/meta-python/recipes-devtools/python/python-slip-dbus.inc @@ -21,7 +21,7 @@ SRC_URI[md5sum] = "28ae5f93853466c44ec96706ba2a1eb4" SRC_URI[sha256sum] = "c726c086f0dd93a0ac7a0176f383a12af91b6657b78a301e3f5b25d9f8d4d10b" do_compile_prepend() { - sed -e 's/@VERSION@/${PV}/g' setup.py.in > setup.py + sed -e 's/@VERSION@/${PV}/g' ${S}/setup.py.in > ${S}/setup.py } RDEPENDS_${PN} += "\ diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-soupsieve.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-soupsieve.inc new file mode 100644 index 0000000000..ccb04f4450 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python-soupsieve.inc @@ -0,0 +1,12 @@ +SUMMARY = "CSS selector library for python-beautifulsoup4" +HOMEPAGE = "https://github.com/facelessuser/soupsieve" + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE.md;md5=5a6fd3b0c24fc5a041a3d1bbb22c81b5" + +SRC_URI[md5sum] = "43d8ea20c58494446aa65ba5cc6320fe" +SRC_URI[sha256sum] = "605f89ad5fdbfefe30cdc293303665eff2d188865d4dbe4eb510bba1edfbfce3" + +inherit pypi + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-soupsieve_1.9.4.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-soupsieve_1.9.4.bb new file mode 100644 index 0000000000..55a673ecc5 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python-soupsieve_1.9.4.bb @@ -0,0 +1,4 @@ +inherit setuptools +require python-soupsieve.inc + +RDEPENDS_${PN} += "${PYTHON_PN}-backports-functools-lru-cache" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-sqlalchemy.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-sqlalchemy.inc index 0c191ae7d5..3763a39aed 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python-sqlalchemy.inc +++ b/meta-openembedded/meta-python/recipes-devtools/python/python-sqlalchemy.inc @@ -2,13 +2,13 @@ DESCRIPTION = "Python SQL toolkit and Object Relational Mapper that gives \ application developers the full power and flexibility of SQL" HOMEPAGE = "http://www.sqlalchemy.org/" LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=b1c412c9d8d1ce018f7a9374407c22bb" +LIC_FILES_CHKSUM = "file://LICENSE;md5=2f5eb030c48975d5294baf0f5d01af1c" PYPI_PACKAGE = "SQLAlchemy" inherit pypi -SRC_URI[md5sum] = "03db1c8f8ae911977c0bf3950a4c9c21" -SRC_URI[sha256sum] = "6b55ec379c11ad696f9371ce8e0de93c7f21134323f56a56a1b0d8fbef17013c" +SRC_URI[md5sum] = "02a46be841903b60c52a83342d3ced8e" +SRC_URI[sha256sum] = "bfb8f464a5000b567ac1d350b9090cf081180ec1ab4aa87e7bca12dab25320ec" RDEPENDS_${PN} += " \ ${PYTHON_PN}-json \ diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-sqlalchemy_1.1.17.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-sqlalchemy_1.1.17.bb deleted file mode 100644 index 53c8fecf70..0000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python-sqlalchemy_1.1.17.bb +++ /dev/null @@ -1,2 +0,0 @@ -inherit setuptools -require python-sqlalchemy.inc diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-sqlalchemy_1.3.12.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-sqlalchemy_1.3.12.bb new file mode 100644 index 0000000000..53c8fecf70 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python-sqlalchemy_1.3.12.bb @@ -0,0 +1,2 @@ +inherit setuptools +require python-sqlalchemy.inc diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-twisted.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-twisted.inc index 34f8846b0c..d005a2ac22 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python-twisted.inc +++ b/meta-openembedded/meta-python/recipes-devtools/python/python-twisted.inc @@ -7,6 +7,11 @@ HOMEPAGE = "http://www.twistedmatrix.com" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://LICENSE;md5=1743f12d8b8f5aec625c0569a058f0a6" +# allow for common patches for python- and python3-twisted +FILESEXTRAPATHS_prepend := "${THISDIR}/python-twisted:" + +SRC_URI += "file://0001-fix-MemoryReactor-import-in-test_runner-to-be-from-t.patch" + SRC_URI[sha256sum] = "7394ba7f272ae722a74f3d969dcf599bc4ef093bc392038748a490f1724a515d" SRC_URI[md5sum] = "f2d70f7a66ecdf54152310164cceadfe" @@ -56,9 +61,9 @@ RDEPENDS_${PN} = "\ ${PN}-zsh \ " -RDEPENDS_${PN}-core = "${PYTHON_PN}-core ${PYTHON_PN}-zopeinterface ${PYTHON_PN}-incremental ${PYTHON_PN}-constantly ${PYTHON_PN}-hyperlink ${PYTHON_PN}-automat" +RDEPENDS_${PN}-core = "${PYTHON_PN}-core ${PYTHON_PN}-zopeinterface ${PYTHON_PN}-incremental ${PYTHON_PN}-constantly ${PYTHON_PN}-hyperlink ${PYTHON_PN}-automat ${PYTHON_PN}-pyserial" RDEPENDS_${PN}-test = "${PN}" -RDEPENDS_${PN}-conch = "${PN}-core ${PN}-protocols" +RDEPENDS_${PN}-conch = "${PN}-core ${PN}-protocols ${PYTHON_PN}-bcrypt ${PYTHON_PN}-cryptography ${PYTHON_PN}-pyasn1 ${PYTHON_PN}-pickle" RDEPENDS_${PN}-mail = "${PN}-core ${PN}-protocols" RDEPENDS_${PN}-names = "${PN}-core" RDEPENDS_${PN}-news = "${PN}-core ${PN}-protocols" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-twisted/0001-fix-MemoryReactor-import-in-test_runner-to-be-from-t.patch b/meta-openembedded/meta-python/recipes-devtools/python/python-twisted/0001-fix-MemoryReactor-import-in-test_runner-to-be-from-t.patch new file mode 100644 index 0000000000..39fc7d43e1 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python-twisted/0001-fix-MemoryReactor-import-in-test_runner-to-be-from-t.patch @@ -0,0 +1,38 @@ +From 754f21282ad2775db8ff501d40bbc497faeb17ba Mon Sep 17 00:00:00 2001 +From: Trevor Gamblin +Date: Tue, 17 Dec 2019 15:09:22 -0500 +Subject: [PATCH] fix MemoryReactor import in test_runner to be from + twisted.internet.testing + +Upstream-Status: Backport [https://github.com/twisted/twisted/commit/754f21282ad2775db8ff501d40bbc497faeb17ba] + +Signed-off-by: Trevor Gamblin +--- + src/twisted/application/newsfragments/9746.misc | 1 + + src/twisted/application/runner/test/test_runner.py | 2 +- + 2 files changed, 2 insertions(+), 1 deletion(-) + create mode 100644 src/twisted/application/newsfragments/9746.misc + +diff --git a/src/twisted/application/newsfragments/9746.misc b/src/twisted/application/newsfragments/9746.misc +new file mode 100644 +index 000000000..8b1378917 +--- /dev/null ++++ b/src/twisted/application/newsfragments/9746.misc +@@ -0,0 +1 @@ ++ +diff --git a/src/twisted/application/runner/test/test_runner.py b/src/twisted/application/runner/test/test_runner.py +index 9abc3449a..cce495b12 100644 +--- a/src/twisted/application/runner/test/test_runner.py ++++ b/src/twisted/application/runner/test/test_runner.py +@@ -15,7 +15,7 @@ from twisted.logger import ( + LogLevel, LogPublisher, LogBeginner, + FileLogObserver, FilteringLogObserver, LogLevelFilterPredicate, + ) +-from twisted.test.proto_helpers import MemoryReactor ++from twisted.internet.testing import MemoryReactor + + from ...runner import _runner + from .._exit import ExitStatus +-- +2.24.1 + diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-ujson.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-ujson.inc index 8f05de8562..018ddf418c 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python-ujson.inc +++ b/meta-openembedded/meta-python/recipes-devtools/python/python-ujson.inc @@ -13,3 +13,5 @@ RDEPENDS_${PN} += "\ ${PYTHON_PN}-datetime \ ${PYTHON_PN}-numbers \ " + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-waitress.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-waitress.inc index 732c31dbd7..a8d337fd5a 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python-waitress.inc +++ b/meta-openembedded/meta-python/recipes-devtools/python/python-waitress.inc @@ -6,5 +6,5 @@ SECTION = "devel/python" LICENSE = "ZPL-2.1" LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=78ccb3640dc841e1baecb3e27a6966b2" -SRC_URI[md5sum] = "d9132d313de0c5e0fec34ef9ede5442e" -SRC_URI[sha256sum] = "278e09d6849acc1365404bbf7d790d0423b159802e850c726e8cd0a126a2dac7" +SRC_URI[md5sum] = "e6b9f0406cb4e6fedcc3add96411786d" +SRC_URI[sha256sum] = "f4118cbce75985fd60aeb4f0d781aba8dc7ae28c18e50753e913d7a7dee76b62" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-waitress_1.3.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-waitress_1.3.1.bb deleted file mode 100644 index 26a628ea02..0000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python-waitress_1.3.1.bb +++ /dev/null @@ -1,2 +0,0 @@ -inherit setuptools pypi -require python-waitress.inc diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-waitress_1.4.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-waitress_1.4.1.bb new file mode 100644 index 0000000000..26a628ea02 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python-waitress_1.4.1.bb @@ -0,0 +1,2 @@ +inherit setuptools pypi +require python-waitress.inc diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-xxhash.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-xxhash.inc index 1ec3937b13..80f5e9c7f2 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python-xxhash.inc +++ b/meta-openembedded/meta-python/recipes-devtools/python/python-xxhash.inc @@ -3,5 +3,5 @@ SECTION = "devel/python" LICENSE = "BSD-2-Clause" LIC_FILES_CHKSUM = "file://LICENSE;md5=5a8d76283514a1b7e6a414aba38629b5" -SRC_URI[md5sum] = "80461eff10ac62214fa788a6045aab43" -SRC_URI[sha256sum] = "82cdc67b41da904aa2921107e9877814079d9b067a99f19852b5d85e8a40555d" +SRC_URI[md5sum] = "ce9cbbcc89620fd47a2468badd08dcf0" +SRC_URI[sha256sum] = "8b6b1afe7731d7d9cbb0398b4a811ebb5e6be5c174f72c68abf81f919a435de9" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-alembic_1.3.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-alembic_1.3.0.bb deleted file mode 100644 index e248fe7ce9..0000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-alembic_1.3.0.bb +++ /dev/null @@ -1,2 +0,0 @@ -inherit pypi setuptools3 -require python-alembic.inc diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-alembic_1.3.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-alembic_1.3.2.bb new file mode 100644 index 0000000000..e248fe7ce9 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-alembic_1.3.2.bb @@ -0,0 +1,2 @@ +inherit pypi setuptools3 +require python-alembic.inc diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-asn1crypto_1.2.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-asn1crypto_1.2.0.bb deleted file mode 100644 index cfbe57520c..0000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-asn1crypto_1.2.0.bb +++ /dev/null @@ -1,6 +0,0 @@ -inherit setuptools3 -require python-asn1crypto.inc - -RDEPENDS_${PN}_class-target += " \ - ${PYTHON_PN}-shell \ -" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-asn1crypto_1.3.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-asn1crypto_1.3.0.bb new file mode 100644 index 0000000000..cfbe57520c --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-asn1crypto_1.3.0.bb @@ -0,0 +1,6 @@ +inherit setuptools3 +require python-asn1crypto.inc + +RDEPENDS_${PN}_class-target += " \ + ${PYTHON_PN}-shell \ +" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-astor/f820f3ff7ad8818475b6e107e63aa9a54252d2a9.patch b/meta-openembedded/meta-python/recipes-devtools/python/python3-astor/f820f3ff7ad8818475b6e107e63aa9a54252d2a9.patch deleted file mode 100644 index 823699339e..0000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-astor/f820f3ff7ad8818475b6e107e63aa9a54252d2a9.patch +++ /dev/null @@ -1,87 +0,0 @@ -From f820f3ff7ad8818475b6e107e63aa9a54252d2a9 Mon Sep 17 00:00:00 2001 -From: Jonathan Ringer -Date: Thu, 17 Oct 2019 16:54:16 -0700 -Subject: [PATCH] Fix packaging for setuptools>=41.4 - ---- - astor/VERSION | 1 + - astor/__init__.py | 5 ++++- - setup.cfg | 3 ++- - setup.py | 16 +--------------- - 4 files changed, 8 insertions(+), 17 deletions(-) - create mode 100644 astor/VERSION - -diff --git a/astor/VERSION b/astor/VERSION -new file mode 100644 -index 0000000..a3df0a6 ---- /dev/null -+++ b/astor/VERSION -@@ -0,0 +1 @@ -+0.8.0 -diff --git a/astor/__init__.py b/astor/__init__.py -index 3b02983..8dfcdb1 100644 ---- a/astor/__init__.py -+++ b/astor/__init__.py -@@ -9,6 +9,7 @@ - - """ - -+import os - import warnings - - from .code_gen import SourceGenerator, to_source # NOQA -@@ -19,7 +20,9 @@ - from .op_util import symbol_data # NOQA - from .tree_walk import TreeWalk # NOQA - --__version__ = '0.8.0' -+ROOT = os.path.dirname(__file__) -+with open(os.path.join(ROOT, 'VERSION')) as version_file: -+ __version__ = version_file.read().strip - - parse_file = code_to_ast.parse_file - -diff --git a/setup.cfg b/setup.cfg -index 1baf6fc..a43634f 100644 ---- a/setup.cfg -+++ b/setup.cfg -@@ -2,6 +2,7 @@ - name = astor - description = Read/rewrite/write Python ASTs - long_description = file:README.rst -+version = file: astor/VERSION - author = Patrick Maupin - author_email = pmaupin@gmail.com - platforms = Independent -@@ -40,7 +41,7 @@ test_suite = nose.collector - [options.packages.find] - exclude = tests - --[wheel] -+[bdist_wheel] - universal = 1 - - [build-system] -diff --git a/setup.py b/setup.py -index 4a111b5..6068493 100644 ---- a/setup.py -+++ b/setup.py -@@ -1,17 +1,3 @@ --import os --import sys -- - from setuptools import setup --from setuptools.config import read_configuration -- --from setuputils import find_version -- -- --def here(*paths): -- return os.path.join(os.path.dirname(__file__), *paths) -- --config = read_configuration(here('setup.cfg')) --config['metadata']['version'] = find_version(here('astor', '__init__.py')) --config['options'].update(config['metadata']) - --setup(**config['options']) -+setup() diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-astor_0.8.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-astor_0.8.1.bb new file mode 100644 index 0000000000..125a0236ec --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-astor_0.8.1.bb @@ -0,0 +1,14 @@ +SUMMARY = "Easy manipulation of Python source via the AST." +HOMEPAGE = "https://github.com/berkerpeksag/astor" +SECTION = "devel/python" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=561205fdabc3ec52cae2d30815b8ade7" + +SRC_URI = "git://github.com/berkerpeksag/astor.git " +SRCREV ?= "c7553c79f9222e20783fe9bd8a553f932e918072" + +inherit setuptools3 + +S = "${WORKDIR}/git" + +BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-astor_0.8.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-astor_0.8.bb deleted file mode 100644 index 17cc540f00..0000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-astor_0.8.bb +++ /dev/null @@ -1,16 +0,0 @@ -SUMMARY = "Easy manipulation of Python source via the AST." -HOMEPAGE = "https://github.com/berkerpeksag/astor" -SECTION = "devel/python" -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=561205fdabc3ec52cae2d30815b8ade7" - -SRC_URI = "git://github.com/berkerpeksag/astor.git \ - file://f820f3ff7ad8818475b6e107e63aa9a54252d2a9.patch \ - " -SRCREV ?= "3a7607e31f0c17e747ded5cfe0b582d99f7caecf" - -inherit setuptools3 - -S = "${WORKDIR}/git" - -BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-backports-functools-lru-cache_1.5.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-backports-functools-lru-cache_1.5.bb new file mode 100644 index 0000000000..91fcc41fc7 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-backports-functools-lru-cache_1.5.bb @@ -0,0 +1,2 @@ +require python-backports-functools-lru-cache.inc +inherit setuptools3 diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-bandit_1.5.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-bandit_1.5.1.bb deleted file mode 100644 index 3002d5aa5d..0000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-bandit_1.5.1.bb +++ /dev/null @@ -1,14 +0,0 @@ -SUMMARY = "Security oriented static analyser for python code." -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=1dece7821bf3fd70fe1309eaa37d52a2" - -SRC_URI[md5sum] = "81ba3979ded1b421fa8d69e6faa06dcb" -SRC_URI[sha256sum] = "9413facfe9de1e1bd291d525c784e1beb1a55c9916b51dae12979af63a69ba4c" - -DEPENDS = "python3-pbr-native python3-git python3-pbr python3-pyyaml python3-six python3-stevedore" - -inherit setuptools3 pypi - -RDEPENDS_${PN} += "python3-modules python3-git python3-pbr python3-pyyaml python3-six python3-stevedore" - -BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-bandit_1.6.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-bandit_1.6.2.bb new file mode 100644 index 0000000000..fa28861e9e --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-bandit_1.6.2.bb @@ -0,0 +1,14 @@ +SUMMARY = "Security oriented static analyser for python code." +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=1dece7821bf3fd70fe1309eaa37d52a2" + +SRC_URI[md5sum] = "c6a6772d7afa0af8828b3384e73b7085" +SRC_URI[sha256sum] = "41e75315853507aa145d62a78a2a6c5e3240fe14ee7c601459d0df9418196065" + +DEPENDS = "python3-pbr-native python3-git python3-pbr python3-pyyaml python3-six python3-stevedore" + +inherit setuptools3 pypi + +RDEPENDS_${PN} += "python3-modules python3-git python3-pbr python3-pyyaml python3-six python3-stevedore" + +BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-beautifulsoup4_4.8.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-beautifulsoup4_4.8.1.bb deleted file mode 100644 index d98df11e3d..0000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-beautifulsoup4_4.8.1.bb +++ /dev/null @@ -1,2 +0,0 @@ -inherit setuptools3 -require python-beautifulsoup4.inc diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-beautifulsoup4_4.8.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-beautifulsoup4_4.8.2.bb new file mode 100644 index 0000000000..d98df11e3d --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-beautifulsoup4_4.8.2.bb @@ -0,0 +1,2 @@ +inherit setuptools3 +require python-beautifulsoup4.inc diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-bitarray_1.1.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-bitarray_1.1.0.bb deleted file mode 100644 index 7ee444dc9e..0000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-bitarray_1.1.0.bb +++ /dev/null @@ -1,2 +0,0 @@ -inherit setuptools3 -require python-bitarray.inc diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-bitarray_1.2.1.b b/meta-openembedded/meta-python/recipes-devtools/python/python3-bitarray_1.2.1.b new file mode 100644 index 0000000000..7ee444dc9e --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-bitarray_1.2.1.b @@ -0,0 +1,2 @@ +inherit setuptools3 +require python-bitarray.inc diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-booleanpy_3.7.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-booleanpy_3.7.bb new file mode 100644 index 0000000000..5f8602d187 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-booleanpy_3.7.bb @@ -0,0 +1,2 @@ +inherit setuptools3 +require python-booleanpy.inc diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-cachetools_3.1.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-cachetools_3.1.1.bb deleted file mode 100644 index 76b2f6785c..0000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-cachetools_3.1.1.bb +++ /dev/null @@ -1,2 +0,0 @@ -inherit setuptools3 -require python-cachetools.inc diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-cachetools_4.0.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-cachetools_4.0.0.bb new file mode 100644 index 0000000000..76b2f6785c --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-cachetools_4.0.0.bb @@ -0,0 +1,2 @@ +inherit setuptools3 +require python-cachetools.inc diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-certifi_2019.11.28.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-certifi_2019.11.28.bb new file mode 100644 index 0000000000..70f674b22c --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-certifi_2019.11.28.bb @@ -0,0 +1,2 @@ +inherit pypi setuptools3 +require python-certifi.inc diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-certifi_2019.9.11.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-certifi_2019.9.11.bb deleted file mode 100644 index 70f674b22c..0000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-certifi_2019.9.11.bb +++ /dev/null @@ -1,2 +0,0 @@ -inherit pypi setuptools3 -require python-certifi.inc diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-cmd2_0.9.19.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-cmd2_0.9.19.bb deleted file mode 100644 index f5c5c7e1a3..0000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-cmd2_0.9.19.bb +++ /dev/null @@ -1,9 +0,0 @@ -inherit setuptools3 -require python-cmd2.inc - -RDEPENDS_${PN} += "\ - ${PYTHON_PN}-pyperclip \ - ${PYTHON_PN}-colorama \ - ${PYTHON_PN}-attrs \ - ${PYTHON_PN}-wcwidth \ - " diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-cmd2_0.9.22.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-cmd2_0.9.22.bb new file mode 100644 index 0000000000..f5c5c7e1a3 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-cmd2_0.9.22.bb @@ -0,0 +1,9 @@ +inherit setuptools3 +require python-cmd2.inc + +RDEPENDS_${PN} += "\ + ${PYTHON_PN}-pyperclip \ + ${PYTHON_PN}-colorama \ + ${PYTHON_PN}-attrs \ + ${PYTHON_PN}-wcwidth \ + " diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-engineio_3.10.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-engineio_3.10.0.bb deleted file mode 100644 index 028d1104ab..0000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-engineio_3.10.0.bb +++ /dev/null @@ -1,2 +0,0 @@ -inherit setuptools3 -require python-engineio.inc diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-engineio_3.11.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-engineio_3.11.1.bb new file mode 100644 index 0000000000..028d1104ab --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-engineio_3.11.1.bb @@ -0,0 +1,2 @@ +inherit setuptools3 +require python-engineio.inc diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-html2text_2019.8.11.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-html2text_2019.8.11.bb new file mode 100644 index 0000000000..9cb5b01eba --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-html2text_2019.8.11.bb @@ -0,0 +1,2 @@ +inherit setuptools3 +require python-html2text.inc diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-jsonrpcserver_4.0.5.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-jsonrpcserver_4.0.5.bb deleted file mode 100644 index bf9eb0a1cc..0000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-jsonrpcserver_4.0.5.bb +++ /dev/null @@ -1,23 +0,0 @@ -SUMMARY = "Library to process JSON-RPC requests" -HOMEPAGE = "https://github.com/bcb/jsonrpcserver" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=c89120516900f96f4c60d35fdc4c3f15" - -SRC_URI[md5sum] = "d41e9f6b310cb29b0d8f213ff9d57567" -SRC_URI[sha256sum] = "240c517f49b0fdd3bfa428c9a7cc581126a0c43eca60d29762da124017d9d9f4" - -inherit pypi setuptools3 - -RDEPENDS_${PN} += "\ - python3-apply-defaults \ - python3-asyncio \ - python3-core \ - python3-json \ - python3-jsonschema \ - python3-logging \ - python3-netclient \ - python3-pkgutil \ - python3-typing \ -" - -BBCLASSEXTEND = "native nativesdk" \ No newline at end of file diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-jsonrpcserver_4.1.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-jsonrpcserver_4.1.2.bb new file mode 100644 index 0000000000..e23720c3ed --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-jsonrpcserver_4.1.2.bb @@ -0,0 +1,24 @@ +SUMMARY = "Library to process JSON-RPC requests" +HOMEPAGE = "https://github.com/bcb/jsonrpcserver" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=c89120516900f96f4c60d35fdc4c3f15" + +SRC_URI[md5sum] = "fd4091bc19eb18579c15b97af70714eb" +SRC_URI[sha256sum] = "73db55d1cf245ebdfb96ca05c4cce01c51b61be845a2a981f539ea1e6a4e0c4a" + +inherit pypi setuptools3 + +RDEPENDS_${PN} += "\ + python3-apply-defaults \ + python3-asyncio \ + python3-core \ + python3-json \ + python3-jsonschema \ + python3-logging \ + python3-netclient \ + python3-pkgutil \ + python3-typing \ +" + +BBCLASSEXTEND = "native nativesdk" + diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-jsonschema_3.1.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-jsonschema_3.1.1.bb deleted file mode 100644 index 9269907476..0000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-jsonschema_3.1.1.bb +++ /dev/null @@ -1,2 +0,0 @@ -inherit pypi setuptools3 -require python-jsonschema.inc diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-jsonschema_3.2.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-jsonschema_3.2.0.bb new file mode 100644 index 0000000000..9269907476 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-jsonschema_3.2.0.bb @@ -0,0 +1,2 @@ +inherit pypi setuptools3 +require python-jsonschema.inc diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-license-expression_1.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-license-expression_1.0.bb new file mode 100644 index 0000000000..10a702ca45 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-license-expression_1.0.bb @@ -0,0 +1,2 @@ +inherit setuptools3 +require python-license-expression.inc diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-lxml_4.4.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-lxml_4.4.1.bb deleted file mode 100644 index b95d7bae71..0000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-lxml_4.4.1.bb +++ /dev/null @@ -1,3 +0,0 @@ -inherit setuptools3 -require python-lxml.inc -CLEANBROKEN = "1" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-lxml_4.4.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-lxml_4.4.2.bb new file mode 100644 index 0000000000..b95d7bae71 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-lxml_4.4.2.bb @@ -0,0 +1,3 @@ +inherit setuptools3 +require python-lxml.inc +CLEANBROKEN = "1" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-parse_1.12.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-parse_1.12.1.bb deleted file mode 100644 index b1242545cc..0000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-parse_1.12.1.bb +++ /dev/null @@ -1,2 +0,0 @@ -inherit setuptools3 -require python-parse.inc diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-parse_1.14.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-parse_1.14.0.bb new file mode 100644 index 0000000000..b1242545cc --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-parse_1.14.0.bb @@ -0,0 +1,2 @@ +inherit setuptools3 +require python-parse.inc diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-passlib_1.7.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-passlib_1.7.1.bb deleted file mode 100644 index 18180a07ab..0000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-passlib_1.7.1.bb +++ /dev/null @@ -1,2 +0,0 @@ -inherit pypi setuptools3 -require python-passlib.inc \ No newline at end of file diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-passlib_1.7.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-passlib_1.7.2.bb new file mode 100644 index 0000000000..18180a07ab --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-passlib_1.7.2.bb @@ -0,0 +1,2 @@ +inherit pypi setuptools3 +require python-passlib.inc \ No newline at end of file diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pexpect_4.6.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pexpect_4.6.0.bb deleted file mode 100644 index cf39233a3a..0000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pexpect_4.6.0.bb +++ /dev/null @@ -1,2 +0,0 @@ -require python-pexpect.inc -inherit pypi setuptools3 diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pexpect_4.7.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pexpect_4.7.0.bb new file mode 100644 index 0000000000..cf39233a3a --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pexpect_4.7.0.bb @@ -0,0 +1,2 @@ +require python-pexpect.inc +inherit pypi setuptools3 diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pluggy_0.13.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pluggy_0.13.0.bb deleted file mode 100644 index 941e8e3d8c..0000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pluggy_0.13.0.bb +++ /dev/null @@ -1,2 +0,0 @@ -inherit setuptools3 -require python-pluggy.inc diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pluggy_0.13.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pluggy_0.13.1.bb new file mode 100644 index 0000000000..941e8e3d8c --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pluggy_0.13.1.bb @@ -0,0 +1,2 @@ +inherit setuptools3 +require python-pluggy.inc diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-psutil_5.6.5.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-psutil_5.6.5.bb deleted file mode 100644 index c1969ea657..0000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-psutil_5.6.5.bb +++ /dev/null @@ -1,4 +0,0 @@ -inherit pypi setuptools3 -require python-psutil.inc - -RDEPENDS_${PN} += "${PYTHON_PN}-netclient" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-psutil_5.6.7.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-psutil_5.6.7.bb new file mode 100644 index 0000000000..c1969ea657 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-psutil_5.6.7.bb @@ -0,0 +1,4 @@ +inherit pypi setuptools3 +require python-psutil.inc + +RDEPENDS_${PN} += "${PYTHON_PN}-netclient" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-py_1.8.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-py_1.8.0.bb deleted file mode 100644 index 0ee373d24c..0000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-py_1.8.0.bb +++ /dev/null @@ -1,2 +0,0 @@ -inherit pypi setuptools3 -require python-py.inc diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-py_1.8.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-py_1.8.1.bb new file mode 100644 index 0000000000..0ee373d24c --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-py_1.8.1.bb @@ -0,0 +1,2 @@ +inherit pypi setuptools3 +require python-py.inc diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyasn1_0.4.7.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyasn1_0.4.7.bb deleted file mode 100644 index a5e2a71362..0000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyasn1_0.4.7.bb +++ /dev/null @@ -1,2 +0,0 @@ -inherit pypi setuptools3 -require python-pyasn1.inc diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyasn1_0.4.8.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyasn1_0.4.8.bb new file mode 100644 index 0000000000..a5e2a71362 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyasn1_0.4.8.bb @@ -0,0 +1,2 @@ +inherit pypi setuptools3 +require python-pyasn1.inc diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pycryptodome_3.9.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pycryptodome_3.9.3.bb deleted file mode 100644 index 0c062dddf8..0000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pycryptodome_3.9.3.bb +++ /dev/null @@ -1,2 +0,0 @@ -require python-pycryptodome.inc -inherit setuptools3 diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pycryptodome_3.9.4.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pycryptodome_3.9.4.bb new file mode 100644 index 0000000000..0c062dddf8 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pycryptodome_3.9.4.bb @@ -0,0 +1,2 @@ +require python-pycryptodome.inc +inherit setuptools3 diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.117.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.117.2.bb deleted file mode 100644 index 4523d9e30a..0000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.117.2.bb +++ /dev/null @@ -1,2 +0,0 @@ -inherit pypi setuptools3 -require python-pymisp.inc diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.119.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.119.1.bb new file mode 100644 index 0000000000..4523d9e30a --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.119.1.bb @@ -0,0 +1,2 @@ +inherit pypi setuptools3 +require python-pymisp.inc diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pymongo_3.10.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pymongo_3.10.0.bb new file mode 100644 index 0000000000..5164b186bf --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pymongo_3.10.0.bb @@ -0,0 +1,2 @@ +inherit pypi setuptools3 +require python-pymongo.inc diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pymongo_3.9.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pymongo_3.9.0.bb deleted file mode 100644 index 5164b186bf..0000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pymongo_3.9.0.bb +++ /dev/null @@ -1,2 +0,0 @@ -inherit pypi setuptools3 -require python-pymongo.inc diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyopenssl_19.0.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyopenssl_19.0.0.bb deleted file mode 100644 index 0f0f83e3a2..0000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyopenssl_19.0.0.bb +++ /dev/null @@ -1,2 +0,0 @@ -inherit pypi setuptools3 -require python-pyopenssl.inc diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyopenssl_19.1.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyopenssl_19.1.0.bb new file mode 100644 index 0000000000..0f0f83e3a2 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyopenssl_19.1.0.bb @@ -0,0 +1,2 @@ +inherit pypi setuptools3 +require python-pyopenssl.inc diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyparsing_2.4.5.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyparsing_2.4.5.bb deleted file mode 100644 index 0805fee3e2..0000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyparsing_2.4.5.bb +++ /dev/null @@ -1,2 +0,0 @@ -inherit setuptools3 -require python-pyparsing.inc diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyparsing_2.4.6.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyparsing_2.4.6.bb new file mode 100644 index 0000000000..0805fee3e2 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyparsing_2.4.6.bb @@ -0,0 +1,2 @@ +inherit setuptools3 +require python-pyparsing.inc diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyperf_1.6.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyperf_1.6.1.bb deleted file mode 100644 index 5ba5efb05d..0000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyperf_1.6.1.bb +++ /dev/null @@ -1,4 +0,0 @@ -inherit setuptools3 -require python-pyperf.inc - -RDEPENDS_${PN} += "${PYTHON_PN}-misc" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyperf_1.7.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyperf_1.7.0.bb new file mode 100644 index 0000000000..5ba5efb05d --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyperf_1.7.0.bb @@ -0,0 +1,4 @@ +inherit setuptools3 +require python-pyperf.inc + +RDEPENDS_${PN} += "${PYTHON_PN}-misc" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pystemd_0.6.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pystemd_0.6.0.bb deleted file mode 100644 index 02a5c8f857..0000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pystemd_0.6.0.bb +++ /dev/null @@ -1,13 +0,0 @@ -SUMMARY = "Python bindings for interacting with systemd over DBus" -LICENSE = "LGPLv2.1" -LIC_FILES_CHKSUM = "file://LICENSE;md5=4fbd65380cdd255951079008b364516c" - -SRC_URI[md5sum] = "c5472be419f53f53f5da089ca8c981c0" -SRC_URI[sha256sum] = "b1fc072c87e3766711f64caf86fd633dca393e20c8a0a37a5058dd70a21d8a14" - -DEPENDS = "systemd" -REQUIRED_DISTRO_FEATURES = "systemd" - -inherit pypi setuptools3 features_check - -BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pystemd_0.7.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pystemd_0.7.0.bb new file mode 100644 index 0000000000..66f026cae2 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pystemd_0.7.0.bb @@ -0,0 +1,13 @@ +SUMMARY = "Python bindings for interacting with systemd over DBus" +LICENSE = "LGPLv2.1" +LIC_FILES_CHKSUM = "file://LICENSE;md5=4fbd65380cdd255951079008b364516c" + +SRC_URI[md5sum] = "f493c3e54457e49fe3c160274b863bac" +SRC_URI[sha256sum] = "f5dc49d02995ab96335d9e94f9fe036673d89b8cc9907e7a0ac83c06665f2430" + +DEPENDS = "systemd" +REQUIRED_DISTRO_FEATURES = "systemd" + +inherit pypi setuptools3 features_check + +BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest_5.2.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest_5.2.2.bb deleted file mode 100644 index eba6632a27..0000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest_5.2.2.bb +++ /dev/null @@ -1,4 +0,0 @@ -inherit pypi setuptools3 -require python-pytest.inc - -ALTERNATIVE_PRIORITY = "100" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest_5.3.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest_5.3.2.bb new file mode 100644 index 0000000000..eba6632a27 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest_5.3.2.bb @@ -0,0 +1,4 @@ +inherit pypi setuptools3 +require python-pytest.inc + +ALTERNATIVE_PRIORITY = "100" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyyaml_5.1.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyyaml_5.1.2.bb deleted file mode 100644 index 470aca608b..0000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyyaml_5.1.2.bb +++ /dev/null @@ -1,2 +0,0 @@ -inherit setuptools3 -require python-pyyaml.inc diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyyaml_5.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyyaml_5.2.bb new file mode 100644 index 0000000000..470aca608b --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyyaml_5.2.bb @@ -0,0 +1,2 @@ +inherit setuptools3 +require python-pyyaml.inc diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-simplejson_3.16.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-simplejson_3.16.0.bb deleted file mode 100644 index 38f406c5de..0000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-simplejson_3.16.0.bb +++ /dev/null @@ -1,2 +0,0 @@ -inherit setuptools3 -require python-simplejson.inc diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-simplejson_3.17.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-simplejson_3.17.0.bb new file mode 100644 index 0000000000..38f406c5de --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-simplejson_3.17.0.bb @@ -0,0 +1,2 @@ +inherit setuptools3 +require python-simplejson.inc diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-soupsieve_1.9.4.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-soupsieve_1.9.4.bb new file mode 100644 index 0000000000..1b9663691f --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-soupsieve_1.9.4.bb @@ -0,0 +1,2 @@ +inherit setuptools3 +require python-soupsieve.inc diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_1.1.17.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_1.1.17.bb deleted file mode 100644 index 86cf9eddeb..0000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_1.1.17.bb +++ /dev/null @@ -1,2 +0,0 @@ -inherit setuptools3 -require python-sqlalchemy.inc diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_1.3.12.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_1.3.12.bb new file mode 100644 index 0000000000..86cf9eddeb --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_1.3.12.bb @@ -0,0 +1,2 @@ +inherit setuptools3 +require python-sqlalchemy.inc diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-waitress_1.3.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-waitress_1.3.1.bb deleted file mode 100644 index 83c8b66d82..0000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-waitress_1.3.1.bb +++ /dev/null @@ -1,2 +0,0 @@ -inherit setuptools3 pypi -require python-waitress.inc diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-waitress_1.4.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-waitress_1.4.1.bb new file mode 100644 index 0000000000..83c8b66d82 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-waitress_1.4.1.bb @@ -0,0 +1,2 @@ +inherit setuptools3 pypi +require python-waitress.inc diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-xmltodict_0.12.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-xmltodict_0.12.0.bb new file mode 100644 index 0000000000..00aa818096 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-xmltodict_0.12.0.bb @@ -0,0 +1,12 @@ +SUMMARY = "Makes working with XML feel like you are working with JSON" +AUTHOR = "Martin Blech" +HOMEPAGE = "https://github.com/martinblech/xmltodict" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=01441d50dc74476db58a41ac10cb9fa2" + +SRC_URI[md5sum] = "ddb2bd078cef4f7e3021a578034ad941" +SRC_URI[sha256sum] = "50d8c638ed7ecb88d90561beedbf720c9b4e851a9fa6c47ebd64e99d166d8a21" + +PYPI_PACKAGE = "xmltodict" + +inherit pypi setuptools3 diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-xxhash_1.4.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-xxhash_1.4.2.bb deleted file mode 100644 index 76bc41a11c..0000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-xxhash_1.4.2.bb +++ /dev/null @@ -1,2 +0,0 @@ -require python-xxhash.inc -inherit pypi setuptools3 diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-xxhash_1.4.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-xxhash_1.4.3.bb new file mode 100644 index 0000000000..76bc41a11c --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-xxhash_1.4.3.bb @@ -0,0 +1,2 @@ +require python-xxhash.inc +inherit pypi setuptools3 diff --git a/meta-openembedded/meta-python/recipes-extended/pywbem/python-pywbem.inc b/meta-openembedded/meta-python/recipes-extended/pywbem/python-pywbem.inc index 5151c33ea9..98508b0c30 100644 --- a/meta-openembedded/meta-python/recipes-extended/pywbem/python-pywbem.inc +++ b/meta-openembedded/meta-python/recipes-extended/pywbem/python-pywbem.inc @@ -14,12 +14,15 @@ It also provides a Python provider interface, and is the fastest and easiest \ way to write providers on the planet." HOMEPAGE = "http://pywbem.github.io" LICENSE = "LGPLv2.1" -LIC_FILES_CHKSUM = "file://pywbem/LICENSE.txt;md5=fbc093901857fcd118f065f900982c24" -SRC_URI[md5sum] = "1465dfa92e4cbe558c773838b9b00711" -SRC_URI[sha256sum] = "2a05f2c1a6ab4b08560a6da55fdaabd0f52f4d1e6df6e288b9ed927bf5c289ed" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=fbc093901857fcd118f065f900982c24" inherit pypi +SRCREV = "b3386b3bee8876d15f0745147c0b08937d8ab18e" +PYPI_SRC_URI = "git://github.com/pywbem/pywbem;protocol=https;branch=stable_0.15" + +S = "${WORKDIR}/git" + DEPENDS += " \ ${PYTHON_PN}-ply-native \ ${PYTHON_PN}-pyyaml-native \ diff --git a/meta-openembedded/meta-python/recipes-extended/pywbem/python-pywbem_0.11.0.bb b/meta-openembedded/meta-python/recipes-extended/pywbem/python-pywbem_0.11.0.bb deleted file mode 100644 index a699f1c7e3..0000000000 --- a/meta-openembedded/meta-python/recipes-extended/pywbem/python-pywbem_0.11.0.bb +++ /dev/null @@ -1,20 +0,0 @@ -require python-pywbem.inc -inherit setuptools update-alternatives - -DEPENDS += " \ - ${PYTHON_PN}-m2crypto-native \ - ${PYTHON_PN}-typing-native \ -" - -RDEPENDS_${PN}_class-target += "\ - ${PYTHON_PN}-argparse \ - ${PYTHON_PN}-m2crypto \ - ${PYTHON_PN}-subprocess \ -" - -ALTERNATIVE_${PN} = "mof_compiler pywbemcli wbemcli" -ALTERNATIVE_TARGET[mof_compiler] = "${bindir}/mof_compiler" -ALTERNATIVE_TARGET[pywbemcli] = "${bindir}/pywbemcli" -ALTERNATIVE_TARGET[wbemcli] = "${bindir}/wbemcli" - -ALTERNATIVE_PRIORITY = "30" diff --git a/meta-openembedded/meta-python/recipes-extended/pywbem/python-pywbem_0.15.0.bb b/meta-openembedded/meta-python/recipes-extended/pywbem/python-pywbem_0.15.0.bb new file mode 100644 index 0000000000..a699f1c7e3 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-extended/pywbem/python-pywbem_0.15.0.bb @@ -0,0 +1,20 @@ +require python-pywbem.inc +inherit setuptools update-alternatives + +DEPENDS += " \ + ${PYTHON_PN}-m2crypto-native \ + ${PYTHON_PN}-typing-native \ +" + +RDEPENDS_${PN}_class-target += "\ + ${PYTHON_PN}-argparse \ + ${PYTHON_PN}-m2crypto \ + ${PYTHON_PN}-subprocess \ +" + +ALTERNATIVE_${PN} = "mof_compiler pywbemcli wbemcli" +ALTERNATIVE_TARGET[mof_compiler] = "${bindir}/mof_compiler" +ALTERNATIVE_TARGET[pywbemcli] = "${bindir}/pywbemcli" +ALTERNATIVE_TARGET[wbemcli] = "${bindir}/wbemcli" + +ALTERNATIVE_PRIORITY = "30" diff --git a/meta-openembedded/meta-python/recipes-extended/pywbem/python3-pywbem_0.11.0.bb b/meta-openembedded/meta-python/recipes-extended/pywbem/python3-pywbem_0.11.0.bb deleted file mode 100644 index abfb8d9202..0000000000 --- a/meta-openembedded/meta-python/recipes-extended/pywbem/python3-pywbem_0.11.0.bb +++ /dev/null @@ -1,9 +0,0 @@ -require python-pywbem.inc -inherit setuptools3 update-alternatives - -ALTERNATIVE_${PN} = "mof_compiler pywbemcli wbemcli" -ALTERNATIVE_TARGET[mof_compiler] = "${bindir}/mof_compiler" -ALTERNATIVE_TARGET[pywbemcli] = "${bindir}/pywbemcli" -ALTERNATIVE_TARGET[wbemcli] = "${bindir}/wbemcli" - -ALTERNATIVE_PRIORITY = "60" diff --git a/meta-openembedded/meta-python/recipes-extended/pywbem/python3-pywbem_0.15.0.bb b/meta-openembedded/meta-python/recipes-extended/pywbem/python3-pywbem_0.15.0.bb new file mode 100644 index 0000000000..abfb8d9202 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-extended/pywbem/python3-pywbem_0.15.0.bb @@ -0,0 +1,9 @@ +require python-pywbem.inc +inherit setuptools3 update-alternatives + +ALTERNATIVE_${PN} = "mof_compiler pywbemcli wbemcli" +ALTERNATIVE_TARGET[mof_compiler] = "${bindir}/mof_compiler" +ALTERNATIVE_TARGET[pywbemcli] = "${bindir}/pywbemcli" +ALTERNATIVE_TARGET[wbemcli] = "${bindir}/wbemcli" + +ALTERNATIVE_PRIORITY = "60" diff --git a/meta-openembedded/meta-webserver/recipes-php/phpmyadmin/phpmyadmin_4.9.1.bb b/meta-openembedded/meta-webserver/recipes-php/phpmyadmin/phpmyadmin_4.9.1.bb deleted file mode 100644 index 3da2d9ba2a..0000000000 --- a/meta-openembedded/meta-webserver/recipes-php/phpmyadmin/phpmyadmin_4.9.1.bb +++ /dev/null @@ -1,41 +0,0 @@ -SUMMARY = "Web-based MySQL administration interface" -HOMEPAGE = "http://www.phpmyadmin.net" -# Main code is GPLv2, vendor/tecnickcom/tcpdf is under LGPLv3, js/jquery is under MIT -LICENSE = "GPLv2 & LGPLv3 & MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ - file://vendor/tecnickcom/tcpdf/LICENSE.TXT;md5=dd6470bbcd3436ca317f82d34abaf688 \ - file://js/vendor/jquery/MIT-LICENSE.txt;md5=e43aa437a6a1ba421653bd5034333bf9 \ -" - -SRC_URI = "https://files.phpmyadmin.net/phpMyAdmin/${PV}/phpMyAdmin-${PV}-all-languages.tar.xz \ - file://apache.conf \ -" - -SRC_URI[md5sum] = "a165109629731f5311ec3171cce50972" -SRC_URI[sha256sum] = "8f89dd62e3fdddabca187b092eeb5af4a4fb956189564c56038970519d0496c5" - -UPSTREAM_CHECK_URI = "https://www.phpmyadmin.net/downloads/" -UPSTREAM_CHECK_REGEX = "phpMyAdmin-(?P\d+(\.\d+)+)-all-languages.tar.xz" - -S = "${WORKDIR}/phpMyAdmin-${PV}-all-languages" - -inherit allarch - -do_install() { - install -d ${D}${datadir}/${BPN} - cp -R --no-dereference --preserve=mode,links -v * ${D}${datadir}/${BPN} - chown -R root:root ${D}${datadir}/${BPN} - # Don't install patches to target - rm -rf ${D}${datadir}/${BPN}/patches - - install -d ${D}${sysconfdir}/apache2/conf.d - install -m 0644 ${WORKDIR}/apache.conf ${D}${sysconfdir}/apache2/conf.d/phpmyadmin.conf - - # Remove a few scripts that explicitly require bash (!) - rm -f ${D}${datadir}/phpmyadmin/libraries/transformations/*.sh -} - -FILES_${PN} = "${datadir}/${BPN} \ - ${sysconfdir}/apache2/conf.d" - -RDEPENDS_${PN} += "bash php-cli" diff --git a/meta-openembedded/meta-webserver/recipes-php/phpmyadmin/phpmyadmin_4.9.2.bb b/meta-openembedded/meta-webserver/recipes-php/phpmyadmin/phpmyadmin_4.9.2.bb new file mode 100644 index 0000000000..34943de30c --- /dev/null +++ b/meta-openembedded/meta-webserver/recipes-php/phpmyadmin/phpmyadmin_4.9.2.bb @@ -0,0 +1,41 @@ +SUMMARY = "Web-based MySQL administration interface" +HOMEPAGE = "http://www.phpmyadmin.net" +# Main code is GPLv2, vendor/tecnickcom/tcpdf is under LGPLv3, js/jquery is under MIT +LICENSE = "GPLv2 & LGPLv3 & MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ + file://vendor/tecnickcom/tcpdf/LICENSE.TXT;md5=dd6470bbcd3436ca317f82d34abaf688 \ + file://js/vendor/jquery/MIT-LICENSE.txt;md5=e43aa437a6a1ba421653bd5034333bf9 \ +" + +SRC_URI = "https://files.phpmyadmin.net/phpMyAdmin/${PV}/phpMyAdmin-${PV}-all-languages.tar.xz \ + file://apache.conf \ +" + +SRC_URI[md5sum] = "5b5d1d84a05624430ac659e36af00f4e" +SRC_URI[sha256sum] = "3bc3e37fefbdfcaf12fd59d6d7fdbf11ffcffe3e211155bf5b822b54a3c2043e" + +UPSTREAM_CHECK_URI = "https://www.phpmyadmin.net/downloads/" +UPSTREAM_CHECK_REGEX = "phpMyAdmin-(?P\d+(\.\d+)+)-all-languages.tar.xz" + +S = "${WORKDIR}/phpMyAdmin-${PV}-all-languages" + +inherit allarch + +do_install() { + install -d ${D}${datadir}/${BPN} + cp -R --no-dereference --preserve=mode,links -v * ${D}${datadir}/${BPN} + chown -R root:root ${D}${datadir}/${BPN} + # Don't install patches to target + rm -rf ${D}${datadir}/${BPN}/patches + + install -d ${D}${sysconfdir}/apache2/conf.d + install -m 0644 ${WORKDIR}/apache.conf ${D}${sysconfdir}/apache2/conf.d/phpmyadmin.conf + + # Remove a few scripts that explicitly require bash (!) + rm -f ${D}${datadir}/phpmyadmin/libraries/transformations/*.sh +} + +FILES_${PN} = "${datadir}/${BPN} \ + ${sysconfdir}/apache2/conf.d" + +RDEPENDS_${PN} += "bash php-cli" diff --git a/meta-openembedded/meta-xfce/recipes-apps/catfish/catfish_1.4.10.bb b/meta-openembedded/meta-xfce/recipes-apps/catfish/catfish_1.4.10.bb deleted file mode 100644 index 602368b3a0..0000000000 --- a/meta-openembedded/meta-xfce/recipes-apps/catfish/catfish_1.4.10.bb +++ /dev/null @@ -1,17 +0,0 @@ -SUMMARY = "Catfish is a handy file searching tool for linux and unix" -SECTION = "x11/application" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=4325afd396febcb659c36b49533135d4" - -inherit xfce-app distutils3 gtk-icon-cache - -DEPENDS += "python3-distutils-extra-native" - -B = "${S}" - -SRC_URI[md5sum] = "1b8e7bfd955364b7912fb0a248329b3a" -SRC_URI[sha256sum] = "2573a004105031f871c92fed22a0c4b15bb96f2dff6e36c4f2959f56b62e343d" - -FILES_${PN} += "${datadir}/metainfo" - -RDEPENDS_${PN} += "python3-pygobject" diff --git a/meta-openembedded/meta-xfce/recipes-apps/catfish/catfish_1.4.11.bb b/meta-openembedded/meta-xfce/recipes-apps/catfish/catfish_1.4.11.bb new file mode 100644 index 0000000000..4152e15834 --- /dev/null +++ b/meta-openembedded/meta-xfce/recipes-apps/catfish/catfish_1.4.11.bb @@ -0,0 +1,17 @@ +SUMMARY = "Catfish is a handy file searching tool for linux and unix" +SECTION = "x11/application" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=4325afd396febcb659c36b49533135d4" + +inherit xfce-app distutils3 gtk-icon-cache + +DEPENDS += "python3-distutils-extra-native" + +B = "${S}" + +SRC_URI[md5sum] = "67e23d45fded026ef3445bc7fe1d1653" +SRC_URI[sha256sum] = "617baf9309e3cdfb20c8357ac786eb26f30e6fd4280d4534d3cdd742c7ffcd85" + +FILES_${PN} += "${datadir}/metainfo" + +RDEPENDS_${PN} += "python3-pygobject" diff --git a/meta-openembedded/meta-xfce/recipes-apps/xfce4-panel-profiles/xfce4-panel-profiles_1.0.8.bb b/meta-openembedded/meta-xfce/recipes-apps/xfce4-panel-profiles/xfce4-panel-profiles_1.0.8.bb deleted file mode 100644 index 467e0953c4..0000000000 --- a/meta-openembedded/meta-xfce/recipes-apps/xfce4-panel-profiles/xfce4-panel-profiles_1.0.8.bb +++ /dev/null @@ -1,28 +0,0 @@ -SUMMARY = "Backup, restore, import, and export panel layouts" -SECTION = "x11/application" -LICENSE = "GPLv3" -LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" - -inherit python3native gettext features_check - -REQUIRED_DISTRO_FEATURES = "x11" - -DEPENDS += "intltool-native" - -SRC_URI = "http://archive.xfce.org/src/apps/${BPN}/1.0/${BPN}-${PV}.tar.bz2" -SRC_URI[md5sum] = "bc75a143423fba3a82f114f47e86580c" -SRC_URI[sha256sum] = "a69e20f5e637319e14898b5c13ff7ba31d001a6e38e7516d70dbfd7600ad72db" - -do_configure() { - # special configure - no autotools... - ./configure --prefix=${prefix} -} - -do_install() { - oe_runmake 'DESTDIR=${D}' install - sed -i 's:${PYTHON}:python3:g' ${D}${bindir}/xfce4-panel-profiles -} - -FILES_${PN} += "${datadir}/metainfo" - -RDEPENDS_${PN} += "python3-pygobject python3-pexpect" diff --git a/meta-openembedded/meta-xfce/recipes-apps/xfce4-panel-profiles/xfce4-panel-profiles_1.0.9.bb b/meta-openembedded/meta-xfce/recipes-apps/xfce4-panel-profiles/xfce4-panel-profiles_1.0.9.bb new file mode 100644 index 0000000000..9c9ae94fcf --- /dev/null +++ b/meta-openembedded/meta-xfce/recipes-apps/xfce4-panel-profiles/xfce4-panel-profiles_1.0.9.bb @@ -0,0 +1,28 @@ +SUMMARY = "Backup, restore, import, and export panel layouts" +SECTION = "x11/application" +LICENSE = "GPLv3" +LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" + +inherit python3native gettext features_check + +REQUIRED_DISTRO_FEATURES = "x11" + +DEPENDS += "intltool-native" + +SRC_URI = "http://archive.xfce.org/src/apps/${BPN}/1.0/${BP}.tar.bz2" +SRC_URI[md5sum] = "bee3e251e45ade0ea349366461d6e200" +SRC_URI[sha256sum] = "a8c00af838e85d00600dbf442c8741aa21a332fbceba849e0820560630a6e0ce" + +do_configure() { + # special configure - no autotools... + ./configure --prefix=${prefix} +} + +do_install() { + oe_runmake 'DESTDIR=${D}' install + sed -i 's:${PYTHON}:python3:g' ${D}${bindir}/xfce4-panel-profiles +} + +FILES_${PN} += "${datadir}/metainfo" + +RDEPENDS_${PN} += "python3-pygobject python3-pexpect" diff --git a/meta-openembedded/meta-xfce/recipes-apps/xfce4-terminal/xfce4-terminal_0.8.8.bb b/meta-openembedded/meta-xfce/recipes-apps/xfce4-terminal/xfce4-terminal_0.8.8.bb deleted file mode 100644 index ebc046b78f..0000000000 --- a/meta-openembedded/meta-xfce/recipes-apps/xfce4-terminal/xfce4-terminal_0.8.8.bb +++ /dev/null @@ -1,14 +0,0 @@ -SUMMARY = "Terminal emulator for the Xfce desktop environment" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" -DEPENDS = "glib-2.0 gtk+3 vte libxfce4ui" - -inherit xfce-app - -FILES_${PN} += "${datadir}/xfce4 \ - ${datadir}/gnome-control-center" - -SRC_URI[md5sum] = "4295d4d783f6d6dfe92f5bb15d96f6c6" -SRC_URI[sha256sum] = "8fba6a60d3a0fee07417ad7c36bf78cc45be1b27f0759e125051aa73f08487fd" - -RRECOMMENDS_${PN} += "vte-prompt" diff --git a/meta-openembedded/meta-xfce/recipes-apps/xfce4-terminal/xfce4-terminal_0.8.9.1.bb b/meta-openembedded/meta-xfce/recipes-apps/xfce4-terminal/xfce4-terminal_0.8.9.1.bb new file mode 100644 index 0000000000..4bdd4cbf2d --- /dev/null +++ b/meta-openembedded/meta-xfce/recipes-apps/xfce4-terminal/xfce4-terminal_0.8.9.1.bb @@ -0,0 +1,14 @@ +SUMMARY = "Terminal emulator for the Xfce desktop environment" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" +DEPENDS = "glib-2.0 gtk+3 vte libxfce4ui" + +inherit xfce-app + +FILES_${PN} += "${datadir}/xfce4 \ + ${datadir}/gnome-control-center" + +SRC_URI[md5sum] = "cb995e4891a3c547bf133b31e4840d01" +SRC_URI[sha256sum] = "0deb0d06e50a8a41fb00e2c3773f0793882cb9f073ae16ead887bb9681c514cd" + +RRECOMMENDS_${PN} += "vte-prompt" diff --git a/meta-openembedded/meta-xfce/recipes-art/xfce-dusk-gtk3/xfce-dusk-gtk3_1.3.bb b/meta-openembedded/meta-xfce/recipes-art/xfce-dusk-gtk3/xfce-dusk-gtk3_1.3.bb index b05c748529..89dab4923f 100644 --- a/meta-openembedded/meta-xfce/recipes-art/xfce-dusk-gtk3/xfce-dusk-gtk3_1.3.bb +++ b/meta-openembedded/meta-xfce/recipes-art/xfce-dusk-gtk3/xfce-dusk-gtk3_1.3.bb @@ -4,7 +4,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=8f0e2cd40e05189ec81232da84bd6e1a" inherit allarch -SRC_URI = "http://xfce-look.org/CONTENT/content-files/141404-xfce_dusk_gtk3-1_3.tar.gz;subdir=${BPN}-${PV}" +SRC_URI = "http://sources.openembedded.org/141404-xfce_dusk_gtk3-1_3.tar.gz;subdir=${BPN}-${PV}" SRC_URI[md5sum] = "b3ad37ad8173b14ec090e60a80e65d8f" SRC_URI[sha256sum] = "bfa8a88607d1a1da5bd0b9e4e075767c54400a3c5a0fae88b619ed71532f30b4" diff --git a/meta-openembedded/meta-xfce/recipes-devtools/glade/glade3/0001-Add-G_GNUC_PRINTF-on-functions-with-format-strings.patch b/meta-openembedded/meta-xfce/recipes-devtools/glade/glade3/0001-Add-G_GNUC_PRINTF-on-functions-with-format-strings.patch deleted file mode 100644 index 03cb762ce0..0000000000 --- a/meta-openembedded/meta-xfce/recipes-devtools/glade/glade3/0001-Add-G_GNUC_PRINTF-on-functions-with-format-strings.patch +++ /dev/null @@ -1,62 +0,0 @@ -From fcf29abe59607b5791f9de18ddb86b9ae3c9b7cc Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Sat, 26 Aug 2017 23:50:05 -0700 -Subject: [PATCH] Add G_GNUC_PRINTF on functions with format strings - -This allows compilation with clang without errors, even when --Wformat-nonliteral is active (as long as there are no real cases of -non literal formatting). - -Signed-off-by: Khem Raj ---- - gladeui/glade-command.c | 4 ++-- - gladeui/glade-utils.c | 4 ++-- - 2 files changed, 4 insertions(+), 4 deletions(-) - -diff --git a/gladeui/glade-command.c b/gladeui/glade-command.c -index 9819766..4ac40ee 100644 ---- a/gladeui/glade-command.c -+++ b/gladeui/glade-command.c -@@ -266,7 +266,7 @@ glade_command_collapse (GladeCommand *command, - * - * Marks the begining of a group. - */ --void -+G_GNUC_PRINTF(1, 2) void - glade_command_push_group (const gchar *fmt, ...) - { - va_list args; -@@ -655,7 +655,7 @@ glade_command_set_properties_list (GladeProject *project, GList *props) - - multiple = g_list_length (me->sdata) > 1; - if (multiple) -- glade_command_push_group (cmd->description); -+ glade_command_push_group ("%s", cmd->description); - - - glade_command_check_group (GLADE_COMMAND (me)); -diff --git a/gladeui/glade-utils.c b/gladeui/glade-utils.c -index ae52501..c51ae59 100644 ---- a/gladeui/glade-utils.c -+++ b/gladeui/glade-utils.c -@@ -197,7 +197,7 @@ glade_utils_get_pspec_from_funcname (const gchar *funcname) - * selected "OK", True if the @type was GLADE_UI_YES_OR_NO and - * the user selected "YES"; False otherwise. - */ --gint -+G_GNUC_PRINTF(4, 5) gint - glade_util_ui_message (GtkWidget *parent, - GladeUIMessageType type, - GtkWidget *widget, -@@ -320,7 +320,7 @@ remove_message_timeout (FlashInfo * fi) - * - * Flash a temporary message on the statusbar. - */ --void -+G_GNUC_PRINTF(3, 4) void - glade_util_flash_message (GtkWidget *statusbar, guint context_id, gchar *format, ...) - { - va_list args; --- -2.14.1 - diff --git a/meta-openembedded/meta-xfce/recipes-devtools/glade/glade3/0001-gnome-doc-utils.make-sysrooted-pkg-config.patch b/meta-openembedded/meta-xfce/recipes-devtools/glade/glade3/0001-gnome-doc-utils.make-sysrooted-pkg-config.patch deleted file mode 100644 index 1b24c39ce8..0000000000 --- a/meta-openembedded/meta-xfce/recipes-devtools/glade/glade3/0001-gnome-doc-utils.make-sysrooted-pkg-config.patch +++ /dev/null @@ -1,51 +0,0 @@ -From aed002cd9ff9e8f972120fbac33b4a65aba952e1 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Andreas=20M=C3=BCller?= -Date: Tue, 25 Sep 2012 10:28:33 +0200 -Subject: [PATCH] gnome-doc-utils.make: sysrooted pkg-config -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -same approach as used used in gnome-disk-utility: - -In cross environment we have to prepend the sysroot to the path found by -pkgconfig since the path returned from pkgconfig does not have sysroot prefixed -it ends up using the files from host system. Now usually people have gnome installed -so the build succeeds but if you dont have gnome installed on build host then -it wont find the files on host system and packages using gnome-doc-utils wont -compile. - -This should work ok with non sysrooted builds too since in those cases PKG_CONFIG_SYSROOT_DIR -will be empty - -Upstream-Status: pending - -Signed-off-by: Andreas Müller ---- - gnome-doc-utils.make | 10 +++++----- - 1 files changed, 5 insertions(+), 5 deletions(-) - -diff --git a/gnome-doc-utils.make b/gnome-doc-utils.make -index 42d9df3..f71bbfa 100644 ---- a/gnome-doc-utils.make -+++ b/gnome-doc-utils.make -@@ -133,11 +133,11 @@ _DOC_ABS_SRCDIR = @abs_srcdir@ - _xml2po ?= `which xml2po` - _xml2po_mode = $(if $(DOC_ID),mallard,docbook) - --_db2html ?= `$(PKG_CONFIG) --variable db2html gnome-doc-utils` --_db2omf ?= `$(PKG_CONFIG) --variable db2omf gnome-doc-utils` --_chunks ?= `$(PKG_CONFIG) --variable xmldir gnome-doc-utils`/gnome/xslt/docbook/utils/chunks.xsl --_credits ?= `$(PKG_CONFIG) --variable xmldir gnome-doc-utils`/gnome/xslt/docbook/utils/credits.xsl --_ids ?= $(shell $(PKG_CONFIG) --variable xmldir gnome-doc-utils)/gnome/xslt/docbook/utils/ids.xsl -+_db2html ?= ${PKG_CONFIG_SYSROOT_DIR}`$(PKG_CONFIG) --variable db2html gnome-doc-utils` -+_db2omf ?= ${PKG_CONFIG_SYSROOT_DIR}`$(PKG_CONFIG) --variable db2omf gnome-doc-utils` -+_chunks ?= ${PKG_CONFIG_SYSROOT_DIR}`$(PKG_CONFIG) --variable xmldir gnome-doc-utils`/gnome/xslt/docbook/utils/chunks.xsl -+_credits ?= ${PKG_CONFIG_SYSROOT_DIR}`$(PKG_CONFIG) --variable xmldir gnome-doc-utils`/gnome/xslt/docbook/utils/credits.xsl -+_ids ?= ${PKG_CONFIG_SYSROOT_DIR}`$(PKG_CONFIG) --variable xmldir gnome-doc-utils`/gnome/xslt/docbook/utils/ids.xsl - - if ENABLE_SK - _ENABLE_SK = true --- -1.7.6.5 - diff --git a/meta-openembedded/meta-xfce/recipes-devtools/glade/glade3/0002-fix-gcc-6-build.patch b/meta-openembedded/meta-xfce/recipes-devtools/glade/glade3/0002-fix-gcc-6-build.patch deleted file mode 100644 index f735ff8190..0000000000 --- a/meta-openembedded/meta-xfce/recipes-devtools/glade/glade3/0002-fix-gcc-6-build.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 5aa3d2abb905fa8594f6c6572a87809da54c9342 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Andreas=20M=C3=BCller?= -Date: Mon, 5 Sep 2016 11:25:27 +0200 -Subject: [PATCH] fix gcc-6 build -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Upstream-Status: Pending - -Signed-off-by: Andreas Müller ---- - gladeui/glade-editor-property.c | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/gladeui/glade-editor-property.c b/gladeui/glade-editor-property.c -index a0c1039..5e9ac38 100644 ---- a/gladeui/glade-editor-property.c -+++ b/gladeui/glade-editor-property.c -@@ -2703,6 +2703,8 @@ glade_eprop_object_view (gboolean radio) - } - - -+#pragma GCC diagnostic push -+#pragma GCC diagnostic ignored "-Wformat-nonliteral" - static gchar * - glade_eprop_object_dialog_title (GladeEditorProperty *eprop) - { -@@ -2731,6 +2733,7 @@ glade_eprop_object_dialog_title (GladeEditorProperty *eprop) - return g_strdup_printf (format, g_type_name - (eprop->klass->pspec->value_type)); - } -+#pragma GCC diagnostic pop - - - gboolean --- -2.5.5 - diff --git a/meta-openembedded/meta-xfce/recipes-devtools/glade/glade3_3.8.5.bb b/meta-openembedded/meta-xfce/recipes-devtools/glade/glade3_3.8.5.bb deleted file mode 100644 index 24d0d901f9..0000000000 --- a/meta-openembedded/meta-xfce/recipes-devtools/glade/glade3_3.8.5.bb +++ /dev/null @@ -1,23 +0,0 @@ -SUMMARY = "Glade - A User Interface Designer" -HOMEPAGE = "http://www.gnu.org/software/gnash" -LICENSE = "GPLv2 & LGPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=aabe87591cb8ae0f3c68be6977bb5522 \ - file://COPYING.GPL;md5=9ac2e7cff1ddaf48b6eab6028f23ef88 \ - file://COPYING.LGPL;md5=252890d9eee26aab7b432e8b8a616475" -DEPENDS = "gtk+ gnome-doc-utils gnome-common libxml2 intltool-native" - -inherit features_check autotools pkgconfig pythonnative gtk-icon-cache - -REQUIRED_DISTRO_FEATURES = "x11" - -SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/glade3/3.8/glade3-${PV}.tar.xz \ - file://0001-gnome-doc-utils.make-sysrooted-pkg-config.patch \ - file://0002-fix-gcc-6-build.patch \ - file://0001-Add-G_GNUC_PRINTF-on-functions-with-format-strings.patch \ - " -SRC_URI[md5sum] = "4e4b4f5ee34a03e017e4cef97d796c1f" -SRC_URI[sha256sum] = "58a5f6e4df4028230ddecc74c564808b7ec4471b1925058e29304f778b6b2735" - -EXTRA_OECONF += "--disable-scrollkeeper" - -FILES_${PN} += "${datadir}/icons" diff --git a/meta-openembedded/meta-xfce/recipes-panel-plugins/kbdleds/xfce4-kbdleds-plugin_0.0.6.bb b/meta-openembedded/meta-xfce/recipes-panel-plugins/kbdleds/xfce4-kbdleds-plugin_0.0.6.bb deleted file mode 100644 index caf55084f2..0000000000 --- a/meta-openembedded/meta-xfce/recipes-panel-plugins/kbdleds/xfce4-kbdleds-plugin_0.0.6.bb +++ /dev/null @@ -1,15 +0,0 @@ -SUMMARY = "XFCE panel plugin displaying status of keyboard LEDs" -DESCRIPTION = "This plugin shows the state of your keyboard LEDs: Caps, Scroll and Num Lock in Xfce panel" -HOMEPAGE = "http://goodies.xfce.org/projects/panel-plugins/xfce4-kbdleds-plugin" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = " \ - file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \ - file://COPYING.LIB;md5=252890d9eee26aab7b432e8b8a616475 \ -" - -inherit xfce-panel-plugin - -SRC_URI[md5sum] = "db6ad8e3502f3373f087ba2034141552" -SRC_URI[sha256sum] = "6d280ad7207bcb9cc87c279dc3ab9084fd93325e87f67858e8917729b50201cd" - -FILES_${PN} += "${libdir}/xfce4/panel-plugins/xfce4-kbdleds-plugin" diff --git a/meta-openembedded/meta-xfce/recipes-xfce/exo/exo_0.12.11.bb b/meta-openembedded/meta-xfce/recipes-xfce/exo/exo_0.12.11.bb new file mode 100644 index 0000000000..4c16689d3e --- /dev/null +++ b/meta-openembedded/meta-xfce/recipes-xfce/exo/exo_0.12.11.bb @@ -0,0 +1,41 @@ +DESCRIPTION = "Application library for the Xfce desktop environment" +SECTION = "x11" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" +DEPENDS = "gtk+3 libxfce4ui virtual/libx11 liburi-perl-native cairo" +DEPENDS_class-native = "glib-2.0-native xfce4-dev-tools-native intltool-native" + +inherit xfce perlnative gtk-doc features_check + +REQUIRED_DISTRO_FEATURES = "x11" +REQUIRED_DISTRO_FEATURES_class-native = "" + +# SRC_URI must follow inherited one +SRC_URI += " \ + file://exo-no-tests-0.8.patch \ + file://configure.patch \ +" + +SRC_URI_append_class-native = " \ + file://reduce-build-to-exo-csource-only.patch \ +" + +SRC_URI[md5sum] = "efeb039d64b3257e39a1a38e75eb19b1" +SRC_URI[sha256sum] = "ec892519c08a67f3e0a1f0f8d43446e26871183e5aa6be7f82e214f388d1e5b6" + +PACKAGECONFIG ??= "" +PACKAGECONFIG_class-target ??= "gtk" +PACKAGECONFIG[gtk] = "--enable-gtk2,--disable-gtk2,gtk+" + +PACKAGES =+ "exo-csource" + +# Note: python bindings did not work in oe-dev and are about to be moved to +# pyxfce see http://comments.gmane.org/gmane.comp.desktop.xfce.devel.version4/19560 +FILES_${PN} += " \ + ${datadir}/xfce4/ \ + ${libdir}/xfce4/exo* \ +" + +FILES_exo-csource += "${bindir}/exo-csource" + +BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-xfce/recipes-xfce/exo/exo_0.12.9.bb b/meta-openembedded/meta-xfce/recipes-xfce/exo/exo_0.12.9.bb deleted file mode 100644 index 8d59be13b5..0000000000 --- a/meta-openembedded/meta-xfce/recipes-xfce/exo/exo_0.12.9.bb +++ /dev/null @@ -1,41 +0,0 @@ -DESCRIPTION = "Application library for the Xfce desktop environment" -SECTION = "x11" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" -DEPENDS = "gtk+3 libxfce4ui virtual/libx11 liburi-perl-native cairo" -DEPENDS_class-native = "glib-2.0-native xfce4-dev-tools-native intltool-native" - -inherit xfce pythonnative perlnative gtk-doc features_check - -REQUIRED_DISTRO_FEATURES = "x11" -REQUIRED_DISTRO_FEATURES_class-native = "" - -# SRC_URI must follow inherited one -SRC_URI += " \ - file://exo-no-tests-0.8.patch \ - file://configure.patch \ -" - -SRC_URI_append_class-native = " \ - file://reduce-build-to-exo-csource-only.patch \ -" - -SRC_URI[md5sum] = "9730f9d270b4968a8bbebe73e6de934f" -SRC_URI[sha256sum] = "9ba0bf0fd59aeb1cd32ae3863e7a78222655eb15eb675ba08f3b3fb933b6fbfe" - -PACKAGECONFIG ??= "" -PACKAGECONFIG_class-target ??= "gtk" -PACKAGECONFIG[gtk] = "--enable-gtk2,--disable-gtk2,gtk+" - -PACKAGES =+ "exo-csource" - -# Note: python bindings did not work in oe-dev and are about to be moved to -# pyxfce see http://comments.gmane.org/gmane.comp.desktop.xfce.devel.version4/19560 -FILES_${PN} += " \ - ${datadir}/xfce4/ \ - ${libdir}/xfce4/exo* \ -" - -FILES_exo-csource += "${bindir}/exo-csource" - -BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-xfce/recipes-xfce/gtk-xfce-engine/gtk-xfce-engine/glib-2.54-ftbfs.patch b/meta-openembedded/meta-xfce/recipes-xfce/gtk-xfce-engine/gtk-xfce-engine/glib-2.54-ftbfs.patch deleted file mode 100644 index fb8910204a..0000000000 --- a/meta-openembedded/meta-xfce/recipes-xfce/gtk-xfce-engine/gtk-xfce-engine/glib-2.54-ftbfs.patch +++ /dev/null @@ -1,23 +0,0 @@ -Description: Fix FTBFS with glib 2.54 - glib-mkenums now expects input files to be UTF-8, - fix the encoding of libgnomeui/gnome-scores.h -Author: Adrian Bunk - -ported from: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=870738 - -Upstream-Status: Pending -Signed-off-by: Khem Raj - -Index: gtk-xfce-engine-3.2.0/gtk-3.0/xfce_style_types.h -=================================================================== ---- gtk-xfce-engine-3.2.0.orig/gtk-3.0/xfce_style_types.h -+++ gtk-xfce-engine-3.2.0/gtk-3.0/xfce_style_types.h -@@ -19,7 +19,7 @@ - * - * Portions based Thinice port by - * Tim Gerla , -- * Tomas Ögren , - * Richard Hult - * Portions based on Smooth theme by - * Andrew Johnson diff --git a/meta-openembedded/meta-xfce/recipes-xfce/gtk-xfce-engine/gtk-xfce-engine_3.2.0.bb b/meta-openembedded/meta-xfce/recipes-xfce/gtk-xfce-engine/gtk-xfce-engine_3.2.0.bb deleted file mode 100644 index 0dd4a4c3fc..0000000000 --- a/meta-openembedded/meta-xfce/recipes-xfce/gtk-xfce-engine/gtk-xfce-engine_3.2.0.bb +++ /dev/null @@ -1,30 +0,0 @@ -SUMMARY = "XFCE theme for GTK" -SECTION = "x11/libs" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" -DEPENDS = "gtk+ xfce4-dev-tools-native" - -inherit xfce features_check - -REQUIRED_DISTRO_FEATURES = "x11" - -SRC_URI += "file://glib-2.54-ftbfs.patch" - -SRC_URI[md5sum] = "363d6c16a48a00e26d45c45c2e1fd739" -SRC_URI[sha256sum] = "875c9c3bda96faf050a2224649cc42129ffb662c4de33add8c0fd1fb860b47ed" - -PACKAGECONFIG ??= "gtk3" -PACKAGECONFIG[gtk3] = "--enable-gtk3,--disable-gtk3, gtk+3, gtk3-xfce-engine" - -PACKAGES += "${PN}-themes gtk3-xfce-engine" -FILES_${PN} += "${libdir}/gtk-2.0/*/engines/*.so" -FILES_gtk3-xfce-engine += "${libdir}/gtk-3.0/*/theming-engines/*.so" -FILES_${PN}-themes += "${datadir}/themes" - -FILES_${PN}-dev += " \ - ${libdir}/gtk-2.0/*/engines/*.la \ - ${libdir}/gtk-3.0/*/theming-engines/*.la \ -" - -RDEPENDS_${PN} += "${PN}-themes" -RDEPENDS_gtk3-xfce-engine += "${PN}-themes" diff --git a/meta-openembedded/meta-xfce/recipes-xfce/libxfce4ui/libxfce4ui_4.14.1.bb b/meta-openembedded/meta-xfce/recipes-xfce/libxfce4ui/libxfce4ui_4.14.1.bb index 053eb201ba..348b685be3 100644 --- a/meta-openembedded/meta-xfce/recipes-xfce/libxfce4ui/libxfce4ui_4.14.1.bb +++ b/meta-openembedded/meta-xfce/recipes-xfce/libxfce4ui/libxfce4ui_4.14.1.bb @@ -17,7 +17,6 @@ SRC_URI[sha256sum] = "c449075eaeae4d1138d22eeed3d2ad7032b87fb8878eada9b770325bed EXTRA_OECONF += "--with-vendor-info=${DISTRO}" PACKAGECONFIG ??= "" -PACKAGECONFIG[gladeui] = "--enable-gladeui,--disable-gladeui,glade3" PACKAGECONFIG[gladeui2] = "--enable-gladeui2,--disable-gladeui2,glade" PACKAGECONFIG[startup-notification] = "--enable-startup-notification,--disable-startup-notification,startup-notification" @@ -28,9 +27,7 @@ FILES_${PN}-gtk3 += "${libdir}/libxfce4ui-2.so.* ${libdir}/libxfce4kbd-private-3 PACKAGES += "${PN}-glade" FILES_${PN}-glade = " \ ${libdir}/glade \ - ${libdir}/glade3 \ ${datadir}/glade \ - ${datadir}/glade3 \ " RDEPENDS_${PN}-gtk2 = "${PN}" diff --git a/meta-openembedded/meta-xfce/recipes-xfce/packagegroups/packagegroup-xfce-base.bb b/meta-openembedded/meta-xfce/recipes-xfce/packagegroups/packagegroup-xfce-base.bb index 412c6ae806..70ef909ef9 100644 --- a/meta-openembedded/meta-xfce/recipes-xfce/packagegroups/packagegroup-xfce-base.bb +++ b/meta-openembedded/meta-xfce/recipes-xfce/packagegroups/packagegroup-xfce-base.bb @@ -13,7 +13,6 @@ RDEPENDS_${PN} = " \ xfdesktop \ xfce4-panel \ \ - gtk-xfce-engine \ librsvg-gtk \ \ xfce4-panel-plugin-actions \ diff --git a/meta-openembedded/meta-xfce/recipes-xfce/packagegroups/packagegroup-xfce-extended.bb b/meta-openembedded/meta-xfce/recipes-xfce/packagegroups/packagegroup-xfce-extended.bb index 42f20c9d23..255d2b5ebd 100644 --- a/meta-openembedded/meta-xfce/recipes-xfce/packagegroups/packagegroup-xfce-extended.bb +++ b/meta-openembedded/meta-xfce/recipes-xfce/packagegroups/packagegroup-xfce-extended.bb @@ -45,7 +45,6 @@ RRECOMMENDS_${PN} = " \ xfce4-notes-plugin \ xfce4-whiskermenu-plugin \ xfce4-mailwatch-plugin \ - xfce4-kbdleds-plugin \ xfce4-smartbookmark-plugin \ xfce4-hotcorner-plugin \ ${@bb.utils.contains('DISTRO_FEATURES', 'pulseaudio', 'xfce4-pulseaudio-plugin', '', d)} \ diff --git a/meta-openembedded/meta-xfce/recipes-xfce/thunar/thunar_1.8.10.bb b/meta-openembedded/meta-xfce/recipes-xfce/thunar/thunar_1.8.10.bb new file mode 100644 index 0000000000..f2376aa52b --- /dev/null +++ b/meta-openembedded/meta-xfce/recipes-xfce/thunar/thunar_1.8.10.bb @@ -0,0 +1,29 @@ +SUMMARY = "File manager for the Xfce Desktop Environment" +SECTION = "x11" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" +DEPENDS = "exo gdk-pixbuf libxfce4ui libsm startup-notification libnotify xfce4-panel udev" + +inherit xfce gobject-introspection features_check + +REQUIRED_DISTRO_FEATURES = "x11" + +SRC_URI[md5sum] = "85c7394d82542d5a023f1f5baef109d8" +SRC_URI[sha256sum] = "3d448d81c0e49efbaa5ae6bf34ac3c88a614178a1127afaee6b3a1b5ee12e709" + +PACKAGECONFIG ??= "" +PACKAGECONFIG[pcre] = "--enable-pcre,--disable-pcre,libpcre" + +FILES_${PN} += " \ + ${libdir}/thunarx-3/* \ + ${libdir}/xfce4/panel/plugins/* \ + ${libdir}/Thunar/[Tt]hunar* \ + ${systemd_user_unitdir} \ + ${datadir}/dbus-1 \ + ${datadir}/metainfo \ + ${datadir}/polkit-1 \ + ${datadir}/Thunar \ + ${datadir}/xfce4/panel/plugins/* \ +" + +RRECOMMENDS_${PN} = "gvfs gvfsd-trash" diff --git a/meta-openembedded/meta-xfce/recipes-xfce/thunar/thunar_1.8.9.bb b/meta-openembedded/meta-xfce/recipes-xfce/thunar/thunar_1.8.9.bb deleted file mode 100644 index bc996c15dc..0000000000 --- a/meta-openembedded/meta-xfce/recipes-xfce/thunar/thunar_1.8.9.bb +++ /dev/null @@ -1,32 +0,0 @@ -SUMMARY = "File manager for the Xfce Desktop Environment" -SECTION = "x11" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" -DEPENDS = "exo gdk-pixbuf libxfce4ui libsm startup-notification libnotify xfce4-panel udev" - -inherit xfce gobject-introspection features_check - -REQUIRED_DISTRO_FEATURES = "x11" - -SRC_URI = "http://archive.xfce.org/src/xfce/${BPN}/${@'${PV}'[0:3]}/Thunar-${PV}.tar.bz2" -SRC_URI[md5sum] = "fd1166e879294e4490d5fa9dccfdd9da" -SRC_URI[sha256sum] = "7a758e7ac03501c520c304f8845353315c954d429b17d591b8eea8b14f1350b9" - -S = "${WORKDIR}/Thunar-${PV}/" - -PACKAGECONFIG ??= "" -PACKAGECONFIG[pcre] = "--enable-pcre,--disable-pcre,libpcre" - -FILES_${PN} += " \ - ${libdir}/thunarx-3/* \ - ${libdir}/xfce4/panel/plugins/* \ - ${libdir}/Thunar/[Tt]hunar* \ - ${systemd_user_unitdir} \ - ${datadir}/dbus-1 \ - ${datadir}/metainfo \ - ${datadir}/polkit-1 \ - ${datadir}/Thunar \ - ${datadir}/xfce4/panel/plugins/* \ -" - -RRECOMMENDS_${PN} = "gvfs gvfsd-trash" diff --git a/meta-openembedded/meta-xfce/recipes-xfce/tumbler/tumbler_0.2.7.bb b/meta-openembedded/meta-xfce/recipes-xfce/tumbler/tumbler_0.2.7.bb deleted file mode 100644 index 434f8741af..0000000000 --- a/meta-openembedded/meta-xfce/recipes-xfce/tumbler/tumbler_0.2.7.bb +++ /dev/null @@ -1,31 +0,0 @@ -DESCRIPTION = "Thumbnail service implementing the thumbnail management D-Bus specification" -SECTION = "x11/libs" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" -DEPENDS = "freetype gdk-pixbuf poppler curl xfce4-dev-tools-native libxml2 libgsf" - -inherit xfce gtk-doc - -SRC_URI[md5sum] = "a59b2a545c9c128dbd2b960a7779dec0" -SRC_URI[sha256sum] = "f704c35f16716cbee3c94883cee2a8d865e9cf2535d0e84f57e1c8cce00314e4" - -INSANE_SKIP_${PN} = "dev-so" - -PACKAGECONFIG ??= "" -PACKAGECONFIG[gstreamer-thumbnailer] = "--enable-gstreamer-thumbnailer,--disable-gstreamer-thumbnailer,gstreamer1.0 gstreamer1.0-plugins-base" - -do_install_append() { - # Makefile seems to race on creation of symlink. So ensure creation here - # until fixed properly - ln -sf tumbler-xdg-cache.so ${D}${libdir}/tumbler-1/plugins/cache/tumbler-cache-plugin.so -} - -FILES_${PN} += "${datadir}/dbus-1/services \ - ${libdir}/tumbler-1/tumblerd \ - ${libdir}/tumbler-1/plugins/*.so \ - ${libdir}/tumbler-1/plugins/cache/*.so \ -" - -FILES_${PN}-dev += "${libdir}/tumbler-1/plugins/*.la \ - ${libdir}/tumbler-1/plugins/cache/*.la \ -" diff --git a/meta-openembedded/meta-xfce/recipes-xfce/tumbler/tumbler_0.2.8.bb b/meta-openembedded/meta-xfce/recipes-xfce/tumbler/tumbler_0.2.8.bb new file mode 100644 index 0000000000..e0d4845a0e --- /dev/null +++ b/meta-openembedded/meta-xfce/recipes-xfce/tumbler/tumbler_0.2.8.bb @@ -0,0 +1,31 @@ +DESCRIPTION = "Thumbnail service implementing the thumbnail management D-Bus specification" +SECTION = "x11/libs" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" +DEPENDS = "freetype gdk-pixbuf poppler curl xfce4-dev-tools-native libxml2 libgsf" + +inherit xfce gtk-doc + +SRC_URI[md5sum] = "5d541608b3962fd2b16e23a266fd7a10" +SRC_URI[sha256sum] = "0999b9a3deb57010956db6630ae7205813999147043171049a7b6c333be93e96" + +INSANE_SKIP_${PN} = "dev-so" + +PACKAGECONFIG ??= "" +PACKAGECONFIG[gstreamer-thumbnailer] = "--enable-gstreamer-thumbnailer,--disable-gstreamer-thumbnailer,gstreamer1.0 gstreamer1.0-plugins-base" + +do_install_append() { + # Makefile seems to race on creation of symlink. So ensure creation here + # until fixed properly + ln -sf tumbler-xdg-cache.so ${D}${libdir}/tumbler-1/plugins/cache/tumbler-cache-plugin.so +} + +FILES_${PN} += "${datadir}/dbus-1/services \ + ${libdir}/tumbler-1/tumblerd \ + ${libdir}/tumbler-1/plugins/*.so \ + ${libdir}/tumbler-1/plugins/cache/*.so \ +" + +FILES_${PN}-dev += "${libdir}/tumbler-1/plugins/*.la \ + ${libdir}/tumbler-1/plugins/cache/*.la \ +" -- cgit v1.2.3