diff options
author | Patrick Williams <patrick@stwcx.xyz> | 2021-08-08 03:21:33 +0300 |
---|---|---|
committer | Patrick Williams <patrick@stwcx.xyz> | 2021-08-11 23:39:32 +0300 |
commit | 213cb2696d00a85cd48d356cb5131824a302d828 (patch) | |
tree | bfdf8fcdfef3a88e392ca3acfca6dec4dc836c9f /poky/meta/recipes-extended | |
parent | 40d8f44b51f83548f7ca8df062dd7435b784c0a8 (diff) | |
download | openbmc-213cb2696d00a85cd48d356cb5131824a302d828.tar.xz |
subtree updates
meta-raspberrypi: 8dc3a31088..c7f4c739a3:
Khem Raj (5):
linux-raspberrypi: Upgrade to 5.10.52
userland: Update to latest master branch
raspberrypi-firmware: Update to latest
raspberrypi-tools: Update to latest
sdcard_image-rpi.bbclass: Fix IMAGE_TYPEDEP override to use new syntax
Martin Jansa (4):
Convert to new override syntax
Manually fix conversion
layer.conf: Update to honister
userland: package man pages in PN-doc
Pierre-Jean Texier (2):
kas: local.conf: bump CONF_VERSION variable
kas: local.conf: disable prelink
poky: 17aabc0127..492205ea83:
Alexander Kanavin (17):
llvm: update 12.0.0 -> 12.0.1
systemd: update 248.3 -> 249.1
python3-testools: update 2.4.0 -> 2.5.0
libuv: update 1.41.0 -> 1.42.0
gnu-config: update to latest revision
vulkan-samples: update to latest revision
cmake: update 3.20.5 -> 3.21.0
cmake: update 3.21.0 -> 3.21.1
mtools: update 4.0.32 -> 4.0.34
util-linux: update 2.37 -> 2.37.1
iputils: update 20210202 -> 20210722
freetype: update 2.10.4 -> 2.11.0
devtool: print a warning on upgrades if PREFERRED_VERSION is set
rpm: do not RRECOMMEND rpm-build
selftest: add core-image-weston to no-gpl3-no-meta-gpl2 image test
shadow: update 4.8.1 -> 4.9
local.conf.sample: disable prelink
Bernhard Rosenkränzer (1):
gcc: update 11.1 -> 11.2
Bruce Ashfield (6):
linux-yocto/5.10: update to v5.10.53
linux-yocto/5.13: update to v5.13.5
linux-yocto/5.4: update to v5.4.135
linux-yocto-rt/5.10: update to -rt47
linux-yocto/5.13: enable TYPEC_TCPCI in usbc fragment
linux-yocto/5.10: enable TYPEC_TCPCI in usbc fragment
Changqing Li (1):
archiver.bbclass: fix do_ar_configured failure for kernel
Chen Qi (3):
zstd: fix CVE_PRODUCT
insane.bbclass: fix the file-rdeps QA message for the new override syntax
iputils: fix do_configure failure of missing ip command
Damian Wrobel (1):
rootfs: remove ldconfig auxiliary cache where appropriate
Denys Dmytriyenko (4):
meta: convert nested overrides leftovers to new syntax
convert-overrides.py: handle few more cases of overrides
libwpe: remove rpi-specific custom code
poky-tiny: drop uclibc override
Jon Mason (1):
parselogs.py: qemuarm should be qemuarmv5
Joshua Watt (4):
mesa: Fix v3d & vc4 dmabuf import
bitbake: bitbake: asyncrpc: Catch early SIGTERM
libxft: Fix bad PKG value
bitbake: contrib: vim: Update for new override syntax
Kai Kang (2):
u-boot_2021.07: set UBOOT_MACHINE for qemumips and qemumips64
python3-pytest: display correct version info
Kevin Hao (2):
meta-yocto-bsp: Introduce the v5.13 bbappend
meta-yocto-bsp: Bump to the v5.10.55
Khem Raj (10):
binutils: Upgrade to 2.37 branch
texinfo: Update gnulib to fix build with glibc 2.34
systemd: Fix build on musl
stress-ng: Drop defining daddr_t
stress-ng: Detemine minimal stack size via sysconf
mesa: Define a fallback for DRIDRIVERS
libssh2: Fix syntax for using ptest override
toaster-managed-mode.json: Correctly specify term with new override syntax
distrooverrides.bbclass: Correct override syntax
devtool.py: Correct override syntax
Lee Chee Yang (1):
aspell: fix CVE-2019-25051
Marek Vasut (2):
image_types: Restore pre-btrfs-tools 4.14.1 mkfs.btrfs shrink behavior
kernel-uboot: Handle gzip and lzo compression options
Martin Jansa (6):
convert-overrides.py: show processed file and version of this script
convert-overrides.py: remove base_dep_prepend and autotools_dep_prepend exception
convert-overrides.py: 0.9.1 include '(' as delimiter for shortvars
convert-overrides.py: allow specifying multiple target dirs
convert-overrides.py: allow dots before override in vars_re and shortvars_re
systemd-boot: use ld.bfd as efi-ld even when gold or lld is used in ${LD}
Matthias Klein (2):
runqemu: Fix typo in error message
runqemu: decouple bios and kernel options
Matthias Schiffer (3):
initscripts: populate-volatile.sh: do not log to tty0
initscripts: populate-volatile.sh: run create_file synchronously
initscripts: fix creation order for /var/log with VOLATILE_LOG_DIR=true
Michael Halstead (1):
releases: update to include 3.3.1
Michael Opdenacker (18):
oe-setup-builddir: update YP docs and OE URLs
conf-notes.txt: now suggesting to run 'runqemu qemux86-64'
test-manual: document LTO related reproducibility bug
quick start manual: update "source oe-init-build-env" output
dev-manual: fix wrong reference to class
documentation/README: improve BitBake manual referencing guidelines
manuals: simplify references to BitBake manual
manuals: remove explicit BitBake variable references
meta-skeleton: add recipe examples from documentation sources
bitbake: doc: bitbake-user-manual: fix syntax in example and improve description
bitbake: doc: bitbake-user-manual: update bitbake option help
bitbake: doc: bitbake-user-manual: grammar fix for the number of "metadata"
manuals: initial documentation for CVE management
ref-manual: remove example recipe source files
profile-manual: document how to build perf manpages on target
cve-check: fix comments
cve-check: update link to NVD website for CVE details
cve-check: improve comment about CVE patch file names
Mingli Yu (2):
perlcross: not break build if already patched
curl: Upgrade to 7.78.0
Nicolas Dechesne (4):
yocto-check-layer: improve missed dependencies
checklayer: new function get_layer_dependencies()
checklayer: rename _find_layer_depends
yocto-check-layer: ensure that all layer dependencies are tested too
Oleksandr Kravchuk (1):
bitbake.conf: change GNOME_MIRROR to new one
Patrick Williams (1):
pixman: re-disable iwmmxt
Paul Barker (4):
bitbake: asyncrpc: Fix bad message error in client
bitbake: asyncrpc: Set timeout when waiting for reply from server
bitbake: parse/ast: Substitute '~' when naming anonymous functions
kernel-yocto: Simplify no git repo case in do_kernel_checkout
Quentin Schulz (4):
bitbake: doc: Makefile: turn warnings into errors by default
bitbake: doc: bitbake-user-manual: ref-variables: order alphabetically the glossary sources
bitbake: doc: bitbake-user-manual: ref-variables: force glossary output to be alphabetically sorted
bitbake: doc: bitbake-user-manual: replace ``FOO`` by :term:`FOO` where possible
Richard Purdie (49):
Add MAINTAINERS.md file
yocto-check-layer: Remove duplicated code
libubootenv: Drop default-env RRECOMMENDS
bitbake: data_smart: Allow colon in variable expansion regex
meta-poky/meta-yocto-bsp: Convert to new override syntax
layer.conf: Update to honister
autotools/base/icecc: Remove prepend from function names
scripts/contrib: Add override conversion script
systemtap: Fix headers issue with x86 and 5.13 headers
migration-guides: Add start of 3.4 guide with override migration notes
common-tasks: Fix conversion error in npm example
bitbake: bitbake: Switch to using new override syntax
bitbake: doc/lib: Update to use new override syntax containing colons
bitbake: doc/lib: Add fixes for issues missed by the automated conversion
bitbake: bitbake: Update to version 1.51.1
layer.conf: Override changes mean we're only compatible with honister
Convert to new override syntax
meta: Manual override fixes
local.conf.sample: Bump version so users update their config
sanity.conf: Require bitbake 1.51.1
dropbear: Fix incorrect package override for postrm
convert-overrides: Allow script to handle patch/diffs
sdk: Decouple default install path from built in path
sstate: Fix rebuilds when changing layer config
populate_sdk_ext: Fix handling of TOOLCHAIN_HOST_TASK in the eSDK case
local.conf.sample: Bump version so users update their config
poky: Use SDKPATHINSTALL instead of SDKPATH
vim: Clarify where RDEPENDS/RRECOMMENDS apply
bitbake: data_smart: Fix inactive overide accidental variable value corruption
local.conf.sample: Fix missed override conversion
license: Exclude COPYING.MIT from pseudo
meta: Convert IMAGE_TYPEDEP to use override syntax
uboot-extlinux-config: Fix missing override conversion
image/image_types: Convert CONVERSION_CMD/COMPRESS_CMD to new override syntax
image: Drop COMPRESS_CMD
devupstream: Allow support of native class extensions
diffoscope: Upgrade 178 -> 179
strace: Upgrade 5.12 -> 5.13
valgrind: Add patches for glibc 2.34 support
bitbake: runqueue: Improve multiconfig deferred task issues
elfutils: Add patch from upstream for glibc 2.34 ptest fixes
bitbake: doc: Fix append/prepend/remove references
bitbake: fetch/tests/toaster: Override conversion fixups
bitbake: process: Improve traceback error reporting from main loop
bitbake: command: Ensure we catch/handle exceptions
bitbake: ui/taskexp: Improve startup exception handling
bitbake: ui/taskexp: Fix to work with empty build directories
oeqa/runtime/cases/ptest: Increase test timeout from 300s to 450s
packagedata: Fix after override syntax change
Ross Burton (2):
glew: fix Makefile race
libx11: fix xkb compilation with _EVDEVK symbols
Saul Wold (1):
MAINTAINERS: Saul will cover devtool and eSDK
Stefan Wiehler (1):
dev-manual: fix source release example script
Stefano Babic (1):
mtd-utils: upgrade 2.1.2 -> 2.1.3
Tim Orling (2):
python3-hypothesis: upgrade 6.14.3 -> 6.14.5
python3-importlib-metadata: upgrade 4.6.1 -> 4.6.3
Tony Battersby (2):
lto.inc: disable LTO for grub
gcc: Backport patch to make LTO builds more reproducible
Tony Tascioglu (6):
ffmpeg: fix-CVE-2020-20446
ffmpeg: fix CVE-2020-20453
ffmpeg: fix CVE-2020-22015
ffmpeg: fix CVE-2020-22021
ffmpeg: fix CVE-2020-22033 and CVE-2020-22019
ffmpeg: fix CVE-2021-33815
Trevor Woerner (1):
ffmpeg: add libatomic for armv5
Ulrich Ölmann (2):
initramfs-framework: fix whitespace issue
initramfs-framework/setup-live: fix shebang
Vinay Kumar (1):
glibc: Fix CVE-2021-33574
Vivien Didelot (1):
init-manager-systemd: define weak dev manager
Zqiang (1):
python3: use monotonic clock for condvar if possible
hongxu (1):
createrepo-c: fix createrepo-c failed in nativesdk
leimaohui (1):
archiver.bbclass: Fix patch error for recipes that inherit dos2unix.
wangmy (3):
bind: upgrade 9.16.18 -> 9.16.19
i2c-tools: upgrade 4.2 -> 4.3
diffoscope: upgrade 177 -> 178
zangrc (2):
python3-dbus: upgrade 1.2.16 -> 1.2.18
python3-pip: upgrade 21.1.3 -> 21.2.1
meta-openembedded: 8fbcfb9f02..3cf2475ea0:
Anastasios Kavoukis (1):
pm-qa: fix paths for shell scripts
Andreas Müller (3):
mozjs/0001-Port-build-to-python3.patch: Fix typos in description
jack: upgrade 1.19.18 -> 1.19.19
fluidsynth: upgrade 2.2.1 -> 2.2.2
Andrej Valek (1):
thrift: upgrade to 0.14.2
Andrew Jeffery (2):
python3-gmpy: Add native support
python3-ecdsa: Add native support
Armin Kuster (2):
hiawatha: fix url.
wireshark: update to 3.4.7
Ben Brown (1):
android-tools: fix install of adb client when TOOLS is overridden
Changqing Li (1):
apache2: upgrade 2.4.46 -> 2.4.48
Devendra Tewari (1):
Suppress eol in functionfs setup scripts (#147)
Gianfranco (1):
vboxguestdrivers: upgrade 6.1.22 -> 6.1.24
Joe Slater (2):
php: move to version 7.4.21
gtksourceview4: work around dependency deficiency
Johannes Obermüller (1):
evtest: fix timestamps in output
Kai Kang (2):
python3-blivet: 3.1.4 -> 3.4.0
python3-blivetgui: 2.1.10 -> 2.2.1
Khem Raj (23):
netperf: Update to latest
netperf: Add systemd unit file
packagegroup-meta-oe: Add lmdb
packagegroup-meta-oe: Add mbw
addcli: check for ns_get16 and ns_get32
fuse: Define closefrom if not available
autofs: Fix build with glibc 2.34+
ntp: Do not use PTHREAD_STACK_MIN on glibc
ntp: Fix make check
mongodb: Upgrade to 4.4.7
vboxguestdrivers: Remove __divmoddi4 patch
packagegroup-meta-oe: Add jemalloc
apitrace: Exclude from builds with glibc 2.34+
libhugetlbfs: Disable build with glibc 2.34+
fvwm: Package extra files and man pages
luajit: Fix override syntax
lua: Drop uclibc patch
packagegroup-meta-oe: Correct override name and fix syntax
recipes: Fix override syntax
emacs,libgpiod,cockpit: Fix override syntax in using FILES_${PN}
fvwm: Fix build time paths in target perl/python scripts
nis: Drop uclibc check in anon python function
jemalloc: Fix build on musl
Leon Anavi (3):
python3-networkx: Upgrade 2.6.1 -> 2.6.2
python3-pysonos: Upgrade 0.0.53 -> 0.0.54
python3-zeroconf: Upgrade 0.33.1 -> 0.33.2
Li Wang (1):
openlldp: fix segfault
Maksym Sloyko (1):
libusbgx: Configure the Devices Used
Martin Jansa (5):
Convert to new override syntax
layer.conf: Update to honister
mariadb: manually fix the conversion
packagegroup-meta-oe: manually finish override syntax conversion
klibc.bbclass, image_types_sparse.bbclass, packagegroup-meta-oe.bb: update the overrides syntax conversion
Mingli Yu (4):
mariadb: redefine log-error item
jemalloc: add new recipe
hdf5: improve reproducibility
mariadb: Update SRC_URI
Nicolas Dechesne (1):
mbw: add new recipe
Paulo Neves (1):
htop: Add ncurses-terminfo-base to RDEPENDS
Sakib Sajal (1):
lmdb: add recipe
Salman Ahmed (2):
nginx: upgrade 1.18.0 -> 1.20.1
nginx: upgrade 1.19.6 -> 1.21.1
Tony Battersby (1):
net-snmp: fix QA Issue after LDFLAGS change
Yi Zhao (3):
postfix: upgrade 3.6.1 -> 3.6.2
audit: upgrade 3.0.2 -> 3.0.3
audit: fix compile error for 2.8.5
Zang Ruochen (1):
python3-robotframework: upgrade 4.0.3 -> 4.1
wangmy (17):
evince: upgrade 40.2 -> 40.4
gnome-backgrounds: upgrade 3.36.0 -> 3.38.0
gnome-desktop3: upgrade 3.36.6 -> 3.38.8
cmark: upgrade 0.30.0 -> 0.30.1
ctags: upgrade 5.9.20210711.0 -> 5.9.20210718.0
libnet-dns-perl: upgrade 1.31 -> 1.32
libtalloc: upgrade 2.3.2 -> 2.3.3
nghttp2: upgrade 1.43.0 -> 1.44.0
bats: upgrade 1.3.0 -> 1.4.1
networkmanager: upgrade 1.32.2 -> 1.32.4
gensio: upgrade 2.2.7 -> 2.2.8
libmbim: upgrade 1.24.8 -> 1.26.0
fetchmail: upgrade 6.4.19 -> 6.4.20
ctags: upgrade 5.9.20210718.0 -> 5.9.20210801.0
libblockdev: upgrade 2.25 -> 2.26
libqmi: upgrade 1.28.6 -> 1.28.8
monit: upgrade 5.28.0 -> 5.28.1
zangrc (15):
python3-qrcode: upgrade 7.1 -> 7.2
python3-rdflib: upgrade 5.0.0 -> 6.0.0
python3-simplejson: upgrade 3.17.2 -> 3.17.3
python3-bitstring: upgrade 3.1.7 -> 3.1.9
python3-iso8601: upgrade 0.1.14 -> 0.1.16
python3-gmqtt: upgrade 0.6.9 -> 0.6.10
python3-graphviz: upgrade 0.16 -> 0.17
python3-smbus: upgrade 4.2 -> 4.3
python3-pandas: upgrade 1.3.0 -> 1.3.1
python3-progress: upgrade 1.5 -> 1.6
python3-sentry-sdk: upgrade 1.3.0 -> 1.3.1
python3-socketio: upgrade 5.3.0 -> 5.4.0
python3-tqdm: upgrade 4.61.2 -> 4.62.0
python3-twisted: upgrade 21.2.0 -> 21.7.0
python3-xlsxwriter: upgrade 1.4.4 -> 1.4.5
zhengruoqin (15):
live555: upgrade 20210710 -> 20210720
libtest-warnings-perl: upgrade 0.030 -> 0.031
python3-pybind11: upgrade 2.6.2 -> 2.7.0
python3-pymongo: upgrade 3.11.4 -> 3.12.0
python3-sqlalchemy: upgrade 1.4.20 -> 1.4.22
python3-sentry-sdk: upgrade 1.2.0 -> 1.3.0
libcurses-perl: upgrade 1.37 -> 1.38
libdbd-sqlite-perl: upgrade 1.66 -> 1.68
libencode-perl: upgrade 3.10 -> 3.11
python3-bitarray: upgrade 2.2.2 -> 2.2.3
python3-cbor2: upgrade 5.4.0 -> 5.4.1
python3-gast: upgrade 0.5.0 -> 0.5.1
poppler: upgrade 21.07.0 -> 21.08.0
valijson: upgrade 0.4 -> 0.5
xwd: upgrade 1.0.7 -> 1.0.8
meta-security: 152cdb506b..c885d399cd:
Armin Kuster (18):
suricata.inc: exclude ppc in rust version
suricata: Drop 4.1.x its EOL
add meta-rust
crowdsec: add pkg
packagegroup-core-security.bb: fix suricat-ptest inclusion
gitlab-ci.yml: streamline builds matrix
krill: Add new pkg
clamav: fix branch name and update
meta-security: Convert to new override syntax
meta-tpm: Convert to new override syntax
meta-integrity: Convert to new override syntax
meta-hardening: Convert to new override syntax
meta-security-isafw: Convert to new override syntax
meta-parsec: Convert to new override syntax
meta-security-compliance: Convert to new override syntax
dynamix-layers: Convert to new override syntax
kas: Convert to new override syntax
packagegroup-core-security.bb: only include suricat-ptest if rust is included
Martin Jansa (1):
layer.conf: Update to honister
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
Change-Id: Iec7301cf1c43b7cec462dcf88292a8b1b12a5045
Diffstat (limited to 'poky/meta/recipes-extended')
95 files changed, 12743 insertions, 843 deletions
diff --git a/poky/meta/recipes-extended/acpica/acpica_20210331.bb b/poky/meta/recipes-extended/acpica/acpica_20210331.bb index e17bc94c3..35f8ecd85 100644 --- a/poky/meta/recipes-extended/acpica/acpica_20210331.bb +++ b/poky/meta/recipes-extended/acpica/acpica_20210331.bb @@ -26,7 +26,7 @@ S = "${WORKDIR}/acpica-unix-${PV}" inherit update-alternatives ALTERNATIVE_PRIORITY = "100" -ALTERNATIVE_${PN} = "acpixtract acpidump" +ALTERNATIVE:${PN} = "acpixtract acpidump" EXTRA_OEMAKE = "CC='${CC}' \ OPT_CFLAGS=-Wall \ @@ -44,8 +44,8 @@ do_install() { # iasl*.bb is a subset of this recipe, so RREPLACE it PROVIDES = "iasl" -RPROVIDES_${PN} += "iasl" -RREPLACES_${PN} += "iasl" -RCONFLICTS_${PN} += "iasl" +RPROVIDES:${PN} += "iasl" +RREPLACES:${PN} += "iasl" +RCONFLICTS:${PN} += "iasl" BBCLASSEXTEND = "native" diff --git a/poky/meta/recipes-extended/asciidoc/asciidoc_9.1.0.bb b/poky/meta/recipes-extended/asciidoc/asciidoc_9.1.0.bb index 523bf33f4..dd9f8e32c 100644 --- a/poky/meta/recipes-extended/asciidoc/asciidoc_9.1.0.bb +++ b/poky/meta/recipes-extended/asciidoc/asciidoc_9.1.0.bb @@ -24,8 +24,8 @@ inherit autotools-brokensep CLEANBROKEN = "1" # target and nativesdk needs python3, but for native we can use the host. -RDEPENDS_${PN} += "python3" -RDEPENDS_remove_class-native = "python3" +RDEPENDS:${PN} += "python3" +RDEPENDS:remove:class-native = "python3" BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-extended/at/at_3.2.2.bb b/poky/meta/recipes-extended/at/at_3.2.2.bb index 5c2018774..efe569479 100644 --- a/poky/meta/recipes-extended/at/at_3.2.2.bb +++ b/poky/meta/recipes-extended/at/at_3.2.2.bb @@ -14,13 +14,13 @@ PACKAGECONFIG ?= "\ PACKAGECONFIG[selinux] = "--with-selinux,--without-selinux,libselinux," -RDEPENDS_${PN} = "${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${PAM_DEPS}', '', d)} \ +RDEPENDS:${PN} = "${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${PAM_DEPS}', '', d)} \ " PAM_DEPS = "libpam libpam-runtime pam-plugin-env pam-plugin-limits" -RCONFLICTS_${PN} = "atd" -RREPLACES_${PN} = "atd" +RCONFLICTS:${PN} = "atd" +RREPLACES:${PN} = "atd" SRC_URI = "http://software.calhariz.com/at/${BPN}_${PV}.orig.tar.gz \ file://fix_parallel_build_error.patch \ @@ -51,7 +51,7 @@ inherit autotools-brokensep systemd update-rc.d INITSCRIPT_NAME = "atd" INITSCRIPT_PARAMS = "defaults" -SYSTEMD_SERVICE_${PN} = "atd.service" +SYSTEMD_SERVICE:${PN} = "atd.service" copy_sources() { cp -f ${WORKDIR}/posixtm.[ch] ${S} diff --git a/poky/meta/recipes-extended/bash/bash.inc b/poky/meta/recipes-extended/bash/bash.inc index 7350601c6..ca788e167 100644 --- a/poky/meta/recipes-extended/bash/bash.inc +++ b/poky/meta/recipes-extended/bash/bash.inc @@ -22,18 +22,18 @@ CFLAGS += "-DHEREDOC_PIPESIZE=65536" # causes a lot of garbage in non-interactive shells CFLAGS += "-DBRACKETED_PASTE_DEFAULT=0" -ALTERNATIVE_${PN} = "bash sh" +ALTERNATIVE:${PN} = "bash sh" ALTERNATIVE_LINK_NAME[bash] = "${base_bindir}/bash" ALTERNATIVE_TARGET[bash] = "${base_bindir}/bash" ALTERNATIVE_LINK_NAME[sh] = "${base_bindir}/sh" ALTERNATIVE_TARGET[sh] = "${base_bindir}/bash.${BPN}" ALTERNATIVE_PRIORITY = "100" -RDEPENDS_${PN} += "base-files" -RDEPENDS_${PN}_class-nativesdk = "" -RDEPENDS_${PN}-ptest += "make coreutils perl sed shadow util-linux-setpriv" +RDEPENDS:${PN} += "base-files" +RDEPENDS:${PN}:class-nativesdk = "" +RDEPENDS:${PN}-ptest += "make coreutils perl sed shadow util-linux-setpriv" -RDEPENDS_${PN}-ptest_append_libc-glibc = " \ +RDEPENDS:${PN}-ptest:append:libc-glibc = " \ glibc-gconv-big5hkscs \ glibc-gconv-iso8859-1 \ glibc-utils \ @@ -46,13 +46,13 @@ RDEPENDS_${PN}-ptest_append_libc-glibc = " \ CACHED_CONFIGUREVARS += "headersdir=${includedir}/${PN}" -do_configure_prepend () { +do_configure:prepend () { if [ ! -e ${S}/acinclude.m4 ]; then cat ${S}/aclocal.m4 > ${S}/acinclude.m4 fi } -do_compile_prepend() { +do_compile:prepend() { # Remove any leftover .build files. This ensures that bash always has the # same version number and keeps builds reproducible rm -f ${B}/.build @@ -62,14 +62,14 @@ do_compile_ptest () { oe_runmake buildtest } -do_install_append () { +do_install:append () { # Move /usr/bin/bash to /bin/bash, if need if [ "${base_bindir}" != "${bindir}" ]; then mkdir -p ${D}${base_bindir} mv ${D}${bindir}/bash ${D}${base_bindir} fi } -do_install_append_class-target () { +do_install:append:class-target () { # Clean buildhost references in bashbug sed -i -e "s,--sysroot=${STAGING_DIR_TARGET},,g" \ -e "s,-I${WORKDIR}/\S* ,,g" \ @@ -107,20 +107,20 @@ do_install_ptest () { # hash do_install_ptest[vardepsexclude] += "UNINATIVE_LOADER" -pkg_postinst_${PN} () { +pkg_postinst:${PN} () { grep -q "^${base_bindir}/bash$" $D${sysconfdir}/shells || echo ${base_bindir}/bash >> $D${sysconfdir}/shells } -pkg_postrm_${PN} () { +pkg_postrm:${PN} () { printf "$(grep -v "^${base_bindir}/bash$" $D${sysconfdir}/shells)\n" > $D${sysconfdir}/shells } PACKAGES += "${PN}-bashbug" -FILES_${PN} = "${bindir}/bash ${base_bindir}/bash.bash" -FILES_${PN}-bashbug = "${bindir}/bashbug" +FILES:${PN} = "${bindir}/bash ${base_bindir}/bash.bash" +FILES:${PN}-bashbug = "${bindir}/bashbug" PACKAGE_BEFORE_PN += "${PN}-loadable" -RDEPENDS_${PN}-loadable += "${PN}" -FILES_${PN}-loadable += "${libdir}/bash/*" +RDEPENDS:${PN}-loadable += "${PN}" +FILES:${PN}-loadable += "${libdir}/bash/*" -RPROVIDES_${PN} += "${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge', '/bin/sh /bin/bash', '', d)}" +RPROVIDES:${PN} += "${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge', '/bin/sh /bin/bash', '', d)}" diff --git a/poky/meta/recipes-extended/bash/bash_5.1.8.bb b/poky/meta/recipes-extended/bash/bash_5.1.8.bb index 5d7704af1..9400835b8 100644 --- a/poky/meta/recipes-extended/bash/bash_5.1.8.bb +++ b/poky/meta/recipes-extended/bash/bash_5.1.8.bb @@ -19,7 +19,7 @@ SRC_URI = "${GNU_MIRROR}/bash/${BP}.tar.gz;name=tarball \ SRC_URI[tarball.sha256sum] = "0cfb5c9bb1a29f800a97bd242d19511c997a1013815b805e0fdd32214113d6be" -DEBUG_OPTIMIZATION_append_armv4 = " ${@bb.utils.contains('TUNE_CCARGS', '-mthumb', '-fomit-frame-pointer', '', d)}" -DEBUG_OPTIMIZATION_append_armv5 = " ${@bb.utils.contains('TUNE_CCARGS', '-mthumb', '-fomit-frame-pointer', '', d)}" +DEBUG_OPTIMIZATION:append:armv4 = " ${@bb.utils.contains('TUNE_CCARGS', '-mthumb', '-fomit-frame-pointer', '', d)}" +DEBUG_OPTIMIZATION:append:armv5 = " ${@bb.utils.contains('TUNE_CCARGS', '-mthumb', '-fomit-frame-pointer', '', d)}" BBCLASSEXTEND = "nativesdk" diff --git a/poky/meta/recipes-extended/bc/bc_1.07.1.bb b/poky/meta/recipes-extended/bc/bc_1.07.1.bb index ff3e8f440..37f06b72c 100644 --- a/poky/meta/recipes-extended/bc/bc_1.07.1.bb +++ b/poky/meta/recipes-extended/bc/bc_1.07.1.bb @@ -25,11 +25,11 @@ PACKAGECONFIG ??= "readline" PACKAGECONFIG[readline] = "--with-readline,--without-readline,readline" PACKAGECONFIG[libedit] = "--with-libedit,--without-libedit,libedit" -do_compile_prepend() { +do_compile:prepend() { cp -f ${WORKDIR}/libmath.h ${B}/bc/libmath.h } -ALTERNATIVE_${PN} = "bc dc" +ALTERNATIVE:${PN} = "bc dc" ALTERNATIVE_PRIORITY = "100" BBCLASSEXTEND = "native" diff --git a/poky/meta/recipes-extended/bzip2/bzip2_1.0.8.bb b/poky/meta/recipes-extended/bzip2/bzip2_1.0.8.bb index 70eb67f1f..296bc68d4 100644 --- a/poky/meta/recipes-extended/bzip2/bzip2_1.0.8.bb +++ b/poky/meta/recipes-extended/bzip2/bzip2_1.0.8.bb @@ -5,13 +5,13 @@ LZ77/LZ78-based compressors, and approaches the performance of the PPM family of HOMEPAGE = "https://sourceware.org/bzip2/" SECTION = "console/utils" LICENSE = "bzip2-1.0.6 & GPLv3+ & Apache-2.0 & MS-PL & BSD-3-Clause & Zlib" -LICENSE_${PN} = "bzip2-1.0.6" -LICENSE_${PN}-dev = "bzip2-1.0.6" -LICENSE_${PN}-dbg = "bzip2-1.0.6" -LICENSE_${PN}-doc = "bzip2-1.0.6" -LICENSE_${PN}-src = "bzip2-1.0.6" -LICENSE_libbz2 = "bzip2-1.0.6" -LICENSE_${PN}-ptest = "bzip2-1.0.6 & GPLv3+ & Apache-2.0 & MS-PL & BSD-3-Clause & Zlib" +LICENSE:${PN} = "bzip2-1.0.6" +LICENSE:${PN}-dev = "bzip2-1.0.6" +LICENSE:${PN}-dbg = "bzip2-1.0.6" +LICENSE:${PN}-doc = "bzip2-1.0.6" +LICENSE:${PN}-src = "bzip2-1.0.6" +LICENSE:libbz2 = "bzip2-1.0.6" +LICENSE:${PN}-ptest = "bzip2-1.0.6 & GPLv3+ & Apache-2.0 & MS-PL & BSD-3-Clause & Zlib" LIC_FILES_CHKSUM = "file://LICENSE;beginline=4;endline=37;md5=600af43c50f1fcb82e32f19b32df4664 \ file://${WORKDIR}/git/commons-compress/LICENSE.txt;md5=86d3f3a95c324c9479bd8986968f4327 \ @@ -36,17 +36,17 @@ UPSTREAM_CHECK_URI = "https://www.sourceware.org/pub/bzip2/" PACKAGES =+ "libbz2" -CFLAGS_append = " -fPIC -fpic -Winline -fno-strength-reduce -D_FILE_OFFSET_BITS=64" +CFLAGS:append = " -fPIC -fpic -Winline -fno-strength-reduce -D_FILE_OFFSET_BITS=64" inherit autotools update-alternatives ptest relative_symlinks ALTERNATIVE_PRIORITY = "100" -ALTERNATIVE_${PN} = "bunzip2 bzcat bzip2" +ALTERNATIVE:${PN} = "bunzip2 bzcat bzip2" #install binaries to bzip2-native under sysroot for replacement-native -EXTRA_OECONF_append_class-native = " --bindir=${STAGING_BINDIR_NATIVE}/${PN}" +EXTRA_OECONF:append:class-native = " --bindir=${STAGING_BINDIR_NATIVE}/${PN}" -do_configure_prepend () { +do_configure:prepend () { sed -i -e "s|%BZIP2_VERSION%|${PV}|" ${S}/configure.ac } @@ -62,9 +62,9 @@ do_install_ptest () { sed -i -e "s|^Makefile:|_Makefile:|" ${D}${PTEST_PATH}/Makefile } -FILES_libbz2 = "${libdir}/lib*${SOLIBS}" +FILES:libbz2 = "${libdir}/lib*${SOLIBS}" -RDEPENDS_${PN}-ptest += "make bash" +RDEPENDS:${PN}-ptest += "make bash" -PROVIDES_append_class-native = " bzip2-replacement-native" +PROVIDES:append:class-native = " bzip2-replacement-native" BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-extended/cpio/cpio_2.13.bb b/poky/meta/recipes-extended/cpio/cpio_2.13.bb index f4df826ed..20ea3c25e 100644 --- a/poky/meta/recipes-extended/cpio/cpio_2.13.bb +++ b/poky/meta/recipes-extended/cpio/cpio_2.13.bb @@ -37,14 +37,14 @@ do_install () { PACKAGES =+ "${PN}-rmt" -FILES_${PN}-rmt = "${sbindir}/rmt*" +FILES:${PN}-rmt = "${sbindir}/rmt*" inherit update-alternatives ALTERNATIVE_PRIORITY = "100" -ALTERNATIVE_${PN} = "cpio" -ALTERNATIVE_${PN}-rmt = "rmt" +ALTERNATIVE:${PN} = "cpio" +ALTERNATIVE:${PN}-rmt = "rmt" ALTERNATIVE_LINK_NAME[cpio] = "${base_bindir}/cpio" diff --git a/poky/meta/recipes-extended/cracklib/cracklib_2.9.5.bb b/poky/meta/recipes-extended/cracklib/cracklib_2.9.5.bb index 9cdb71f1a..c2677184b 100644 --- a/poky/meta/recipes-extended/cracklib/cracklib_2.9.5.bb +++ b/poky/meta/recipes-extended/cracklib/cracklib_2.9.5.bb @@ -22,7 +22,7 @@ UPSTREAM_CHECK_REGEX = "/cracklib/(?P<pver>(\d+[\.\-_]*)+)/" inherit autotools gettext -do_install_append_class-target() { +do_install:append:class-target() { create-cracklib-dict -o ${D}${datadir}/cracklib/pw_dict ${D}${datadir}/cracklib/cracklib-small } diff --git a/poky/meta/recipes-extended/cronie/cronie_1.5.7.bb b/poky/meta/recipes-extended/cronie/cronie_1.5.7.bb index d0abdd839..2cbae591b 100644 --- a/poky/meta/recipes-extended/cronie/cronie_1.5.7.bb +++ b/poky/meta/recipes-extended/cronie/cronie_1.5.7.bb @@ -39,11 +39,11 @@ INITSCRIPT_NAME = "crond" INITSCRIPT_PARAMS = "start 90 2 3 4 5 . stop 60 0 1 6 ." USERADD_PACKAGES = "${PN}" -GROUPADD_PARAM_${PN} = "--system crontab" +GROUPADD_PARAM:${PN} = "--system crontab" -SYSTEMD_SERVICE_${PN} = "crond.service" +SYSTEMD_SERVICE:${PN} = "crond.service" -do_install_append () { +do_install:append () { install -d ${D}${sysconfdir}/sysconfig/ install -d ${D}${sysconfdir}/init.d/ install -m 0644 ${S}/crond.sysconfig ${D}${sysconfdir}/sysconfig/crond @@ -79,5 +79,5 @@ do_install_append () { chmod 600 ${D}${sysconfdir}/crontab } -FILES_${PN} += "${sysconfdir}/cron*" -CONFFILES_${PN} += "${sysconfdir}/crontab" +FILES:${PN} += "${sysconfdir}/cron*" +CONFFILES:${PN} += "${sysconfdir}/crontab" diff --git a/poky/meta/recipes-extended/cups/cups.inc b/poky/meta/recipes-extended/cups/cups.inc index df2382546..f6f8637a4 100644 --- a/poky/meta/recipes-extended/cups/cups.inc +++ b/poky/meta/recipes-extended/cups/cups.inc @@ -34,9 +34,9 @@ CLEANBROKEN = "1" inherit autotools-brokensep binconfig useradd systemd pkgconfig multilib_script USERADD_PACKAGES = "${PN}" -GROUPADD_PARAM_${PN} = "--system lpadmin" +GROUPADD_PARAM:${PN} = "--system lpadmin" -SYSTEMD_SERVICE_${PN} = "cups.socket cups.path cups.service cups-lpd.socket" +SYSTEMD_SERVICE:${PN} = "cups.socket cups.path cups.service cups-lpd.socket" PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'zeroconf', 'avahi', '', d)} \ ${@bb.utils.filter('DISTRO_FEATURES', 'pam systemd', d)}" @@ -91,21 +91,21 @@ do_install () { PACKAGES =+ "${PN}-lib ${PN}-libimage" -RDEPENDS_${PN} += "${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'procps', '', d)}" -FILES_${PN} += "${libexecdir}/cups/" +RDEPENDS:${PN} += "${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'procps', '', d)}" +FILES:${PN} += "${libexecdir}/cups/" -FILES_${PN}-lib = "${libdir}/libcups.so.*" +FILES:${PN}-lib = "${libdir}/libcups.so.*" -FILES_${PN}-libimage = "${libdir}/libcupsimage.so.*" +FILES:${PN}-libimage = "${libdir}/libcupsimage.so.*" #package the html for the webgui inside the main packages (~1MB uncompressed) -FILES_${PN} += "${datadir}/doc/cups/images \ +FILES:${PN} += "${datadir}/doc/cups/images \ ${datadir}/doc/cups/*html \ ${datadir}/doc/cups/*.css \ ${datadir}/icons/ \ " -CONFFILES_${PN} += "${sysconfdir}/cups/cupsd.conf" +CONFFILES:${PN} += "${sysconfdir}/cups/cupsd.conf" MULTILIB_SCRIPTS = "${PN}-dev:${bindir}/cups-config" diff --git a/poky/meta/recipes-extended/diffutils/diffutils.inc b/poky/meta/recipes-extended/diffutils/diffutils.inc index c9e313058..194d6e5a1 100644 --- a/poky/meta/recipes-extended/diffutils/diffutils.inc +++ b/poky/meta/recipes-extended/diffutils/diffutils.inc @@ -7,7 +7,7 @@ SECTION = "base" inherit autotools texinfo update-alternatives gettext -ALTERNATIVE_${PN} = "diff cmp" +ALTERNATIVE:${PN} = "diff cmp" ALTERNATIVE_PRIORITY = "100" BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-extended/diffutils/diffutils_3.7.bb b/poky/meta/recipes-extended/diffutils/diffutils_3.7.bb index b9a54fea5..7b4ae160f 100644 --- a/poky/meta/recipes-extended/diffutils/diffutils_3.7.bb +++ b/poky/meta/recipes-extended/diffutils/diffutils_3.7.bb @@ -19,7 +19,7 @@ acpaths = "-I ./m4" inherit ptest -RDEPENDS_${PN}-ptest += "make perl" +RDEPENDS:${PN}-ptest += "make perl" do_install_ptest() { t=${D}${PTEST_PATH} diff --git a/poky/meta/recipes-extended/ethtool/ethtool_5.13.bb b/poky/meta/recipes-extended/ethtool/ethtool_5.13.bb index 8f6a7904a..3c99debc9 100644 --- a/poky/meta/recipes-extended/ethtool/ethtool_5.13.bb +++ b/poky/meta/recipes-extended/ethtool/ethtool_5.13.bb @@ -17,7 +17,7 @@ UPSTREAM_CHECK_URI = "https://www.kernel.org/pub/software/network/ethtool/" inherit autotools ptest bash-completion pkgconfig -RDEPENDS_${PN}-ptest += "make" +RDEPENDS:${PN}-ptest += "make" PACKAGECONFIG ?= "netlink" PACKAGECONFIG[netlink] = "--enable-netlink,--disable-netlink,libmnl," diff --git a/poky/meta/recipes-extended/findutils/findutils.inc b/poky/meta/recipes-extended/findutils/findutils.inc index 9aa723982..ea8a1b7af 100644 --- a/poky/meta/recipes-extended/findutils/findutils.inc +++ b/poky/meta/recipes-extended/findutils/findutils.inc @@ -10,7 +10,7 @@ SRC_URI = "${GNU_MIRROR}/${BPN}/${BP}.tar.xz" inherit autotools gettext texinfo update-alternatives -ALTERNATIVE_${PN} = "find xargs" +ALTERNATIVE:${PN} = "find xargs" ALTERNATIVE_PRIORITY = "100" BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-extended/gawk/gawk_5.1.0.bb b/poky/meta/recipes-extended/gawk/gawk_5.1.0.bb index ae897be62..3c801e8bc 100644 --- a/poky/meta/recipes-extended/gawk/gawk_5.1.0.bb +++ b/poky/meta/recipes-extended/gawk/gawk_5.1.0.bb @@ -25,14 +25,14 @@ SRC_URI[sha256sum] = "03a0360edcd84bec156fe211bbc4fc8c78790973ce4e8b990a11d778d4 inherit autotools gettext texinfo update-alternatives -FILES_${PN} += "${datadir}/awk" -FILES_${PN}-dev += "${libdir}/${BPN}/*.la" +FILES:${PN} += "${datadir}/awk" +FILES:${PN}-dev += "${libdir}/${BPN}/*.la" -ALTERNATIVE_${PN} = "awk" +ALTERNATIVE:${PN} = "awk" ALTERNATIVE_TARGET[awk] = "${bindir}/gawk" ALTERNATIVE_PRIORITY = "100" -do_install_append() { +do_install:append() { # remove the link since we don't package it rm ${D}${bindir}/awk } @@ -51,9 +51,9 @@ do_install_ptest() { sed -i -e "s|GAWKLOCALE|LANG|g" ${D}${PTEST_PATH}/test/Maketests } -RDEPENDS_${PN}-ptest += "make" +RDEPENDS:${PN}-ptest += "make" -RDEPENDS_${PN}-ptest_append_libc-glibc = "\ +RDEPENDS:${PN}-ptest:append:libc-glibc = "\ locale-base-en-us.iso-8859-1 \ " diff --git a/poky/meta/recipes-extended/ghostscript/ghostscript_9.54.0.bb b/poky/meta/recipes-extended/ghostscript/ghostscript_9.54.0.bb index 81f8d615a..59cc560cf 100644 --- a/poky/meta/recipes-extended/ghostscript/ghostscript_9.54.0.bb +++ b/poky/meta/recipes-extended/ghostscript/ghostscript_9.54.0.bb @@ -14,7 +14,7 @@ LICENSE = "GPLv3" LIC_FILES_CHKSUM = "file://LICENSE;md5=70dc2bac4d0ce4448da873cd86b123fc" DEPENDS = "ghostscript-native tiff jpeg fontconfig cups libpng" -DEPENDS_class-native = "libpng-native" +DEPENDS:class-native = "libpng-native" UPSTREAM_CHECK_URI = "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases" UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)\.tar" @@ -40,7 +40,7 @@ SRC_URI = "${SRC_URI_BASE} \ file://cups-no-gcrypt.patch \ " -SRC_URI_class-native = "${SRC_URI_BASE} \ +SRC_URI:class-native = "${SRC_URI_BASE} \ file://ghostscript-9.21-native-fix-disable-system-libtiff.patch \ file://base-genht.c-add-a-preprocessor-define-to-allow-fope.patch \ " @@ -49,13 +49,13 @@ SRC_URI[sha256sum] = "0646bb97f6f4d10a763f4919c54fa28b4fbdd3dff8e7de3410431c8176 # Put something like # -# PACKAGECONFIG_append_pn-ghostscript = " x11" +# PACKAGECONFIG:append:pn-ghostscript = " x11" # # in local.conf to enable building with X11. Be careful. The order # of the overrides matters! # #PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)}" -PACKAGECONFIG_class-native = "" +PACKAGECONFIG:class-native = "" PACKAGECONFIG[x11] = "--with-x --x-includes=${STAGING_INCDIR} --x-libraries=${STAGING_LIBDIR}, \ --without-x, virtual/libx11 libxext libxt gtk+3\ @@ -68,11 +68,11 @@ EXTRA_OECONF = "--without-libpaper --with-system-libtiff --without-jbig2dec \ CUPSCONFIG="${STAGING_BINDIR_CROSS}/cups-config" \ " -EXTRA_OECONF_append_mipsarcho32 = " --with-large_color_index=0" +EXTRA_OECONF:append:mipsarcho32 = " --with-large_color_index=0" # Explicity disable libtiff, fontconfig, # freetype, cups for ghostscript-native -EXTRA_OECONF_class-native = "--without-x --with-system-libtiff=no \ +EXTRA_OECONF:class-native = "--without-x --with-system-libtiff=no \ --without-jbig2dec --without-libpaper \ --with-fontpath=${datadir}/fonts \ --without-libidn --disable-fontconfig \ @@ -86,11 +86,11 @@ BUILD_CFLAGS += "-DHAVE_SYS_TIME_H=1" inherit autotools-brokensep -do_configure_prepend_class-target () { +do_configure:prepend:class-target () { rm -rf ${S}/jpeg/ } -do_configure_append () { +do_configure:append () { # copy tools from the native ghostscript build if [ "${PN}" != "ghostscript-native" ]; then mkdir -p obj/aux soobj @@ -100,20 +100,20 @@ do_configure_append () { fi } -do_install_append () { +do_install:append () { mkdir -p ${D}${datadir}/ghostscript/${PV}/ cp -r ${S}/Resource ${D}${datadir}/ghostscript/${PV}/ cp -r ${S}/iccprofiles ${D}${datadir}/ghostscript/${PV}/ } -do_compile_class-native () { +do_compile:class-native () { mkdir -p obj for i in genarch genconf mkromfs echogs gendev genht packps; do oe_runmake obj/aux/$i done } -do_install_class-native () { +do_install:class-native () { install -d ${D}${bindir}/ghostscript-${PV} for i in genarch genconf mkromfs echogs gendev genht packps; do install -m 755 obj/aux/$i ${D}${bindir}/ghostscript-${PV}/$i diff --git a/poky/meta/recipes-extended/go-examples/go-helloworld_0.1.bb b/poky/meta/recipes-extended/go-examples/go-helloworld_0.1.bb index c51f163e9..aeff482f3 100644 --- a/poky/meta/recipes-extended/go-examples/go-helloworld_0.1.bb +++ b/poky/meta/recipes-extended/go-examples/go-helloworld_0.1.bb @@ -17,6 +17,6 @@ export GO111MODULE="off" inherit go # This is just to make clear where this example is -do_install_append() { +do_install:append() { mv ${D}${bindir}/hello ${D}${bindir}/${BPN} } diff --git a/poky/meta/recipes-extended/grep/grep_3.6.bb b/poky/meta/recipes-extended/grep/grep_3.6.bb index c17b96d7b..750575ec2 100644 --- a/poky/meta/recipes-extended/grep/grep_3.6.bb +++ b/poky/meta/recipes-extended/grep/grep_3.6.bb @@ -15,7 +15,7 @@ inherit autotools gettext texinfo pkgconfig # Fix "Argument list too long" error when len(TMPDIR) = 410 acpaths = "-I ./m4" -do_configure_prepend () { +do_configure:prepend () { sed -i -e '1s,#!@SHELL@,#!/bin/sh,' ${S}/src/egrep.sh rm -f ${S}/m4/init.m4 } @@ -38,7 +38,7 @@ PACKAGECONFIG[pcre] = "--enable-perl-regexp,--disable-perl-regexp,libpcre" ALTERNATIVE_PRIORITY = "100" -ALTERNATIVE_${PN} = "grep egrep fgrep" +ALTERNATIVE:${PN} = "grep egrep fgrep" ALTERNATIVE_LINK_NAME[grep] = "${base_bindir}/grep" ALTERNATIVE_LINK_NAME[egrep] = "${base_bindir}/egrep" ALTERNATIVE_LINK_NAME[fgrep] = "${base_bindir}/fgrep" diff --git a/poky/meta/recipes-extended/groff/groff_1.22.4.bb b/poky/meta/recipes-extended/groff/groff_1.22.4.bb index f0e9eb6a8..d0b543ab6 100644 --- a/poky/meta/recipes-extended/groff/groff_1.22.4.bb +++ b/poky/meta/recipes-extended/groff/groff_1.22.4.bb @@ -22,7 +22,7 @@ SRC_URI[sha256sum] = "e78e7b4cb7dec310849004fa88847c44701e8d133b5d4c13057d876c1b PR = "r1" DEPENDS = "bison-native" -RDEPENDS_${PN} += "perl sed" +RDEPENDS:${PN} += "perl sed" inherit autotools-brokensep texinfo multilib_script pkgconfig @@ -35,12 +35,12 @@ CACHED_CONFIGUREVARS += "ac_cv_path_PERL='/usr/bin/env perl' ac_cv_path_BASH_PRO # Delete these generated files since we depend on bison-native # and regenerate them. Do it deterministically (always). -do_configure_prepend() { +do_configure:prepend() { rm -f ${S}/src/preproc/eqn/eqn.cpp rm -f ${S}/src/preproc/eqn/eqn.hpp } -do_install_append() { +do_install:append() { # Some distros have both /bin/perl and /usr/bin/perl, but we set perl location # for target as /usr/bin/perl, so fix it to /usr/bin/perl. for i in afmtodit mmroff gropdf pdfmom grog; do @@ -68,13 +68,13 @@ do_install_append() { rm -rf ${D}${mandir}/man1/grap2graph* } -do_install_append_class-native() { +do_install:append:class-native() { create_cmdline_wrapper ${D}/${bindir}/groff \ -F${STAGING_DIR_NATIVE}${datadir_native}/groff/${PV}/font \ -M${STAGING_DIR_NATIVE}${datadir_native}/groff/${PV}/tmac } -FILES_${PN} += "${libdir}/${BPN}/site-tmac \ +FILES:${PN} += "${libdir}/${BPN}/site-tmac \ ${libdir}/${BPN}/groffer/" BBCLASSEXTEND = "native" diff --git a/poky/meta/recipes-extended/gzip/gzip.inc b/poky/meta/recipes-extended/gzip/gzip.inc index 04f8f95dd..15fd665ac 100644 --- a/poky/meta/recipes-extended/gzip/gzip.inc +++ b/poky/meta/recipes-extended/gzip/gzip.inc @@ -8,10 +8,10 @@ SECTION = "console/utils" inherit autotools texinfo export DEFS="NO_ASM" -EXTRA_OEMAKE_class-target = "GREP=${base_bindir}/grep" -EXTRA_OECONF_append_libc-musl = " gl_cv_func_fflush_stdin=yes " +EXTRA_OEMAKE:class-target = "GREP=${base_bindir}/grep" +EXTRA_OECONF:append:libc-musl = " gl_cv_func_fflush_stdin=yes " -do_install_append () { +do_install:append () { if [ "${base_bindir}" != "${bindir}" ]; then # Rename and move files into /bin (FHS), which is typical place for gzip install -d ${D}${base_bindir} @@ -25,7 +25,7 @@ do_install_append () { inherit update-alternatives ALTERNATIVE_PRIORITY = "100" -ALTERNATIVE_${PN} = "gunzip gzip zcat" +ALTERNATIVE:${PN} = "gunzip gzip zcat" ALTERNATIVE_LINK_NAME[gunzip] = "${base_bindir}/gunzip" ALTERNATIVE_LINK_NAME[gzip] = "${base_bindir}/gzip" ALTERNATIVE_LINK_NAME[zcat] = "${base_bindir}/zcat" diff --git a/poky/meta/recipes-extended/gzip/gzip_1.10.bb b/poky/meta/recipes-extended/gzip/gzip_1.10.bb index 9778e687e..120e1d458 100644 --- a/poky/meta/recipes-extended/gzip/gzip_1.10.bb +++ b/poky/meta/recipes-extended/gzip/gzip_1.10.bb @@ -5,14 +5,14 @@ LICENSE = "GPLv3+" SRC_URI = "${GNU_MIRROR}/gzip/${BP}.tar.gz \ file://run-ptest \ " -SRC_URI_append_class-target = " file://wrong-path-fix.patch" +SRC_URI:append:class-target = " file://wrong-path-fix.patch" LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \ file://gzip.h;beginline=8;endline=20;md5=6e47caaa630e0c8bf9f1bc8d94a8ed0e" -PROVIDES_append_class-native = " gzip-replacement-native" +PROVIDES:append:class-native = " gzip-replacement-native" -RDEPENDS_${PN}-ptest += "make perl grep diffutils" +RDEPENDS:${PN}-ptest += "make perl grep diffutils" BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-extended/hdparm/hdparm_9.62.bb b/poky/meta/recipes-extended/hdparm/hdparm_9.62.bb index 026772351..3d4081c2b 100644 --- a/poky/meta/recipes-extended/hdparm/hdparm_9.62.bb +++ b/poky/meta/recipes-extended/hdparm/hdparm_9.62.bb @@ -5,9 +5,9 @@ and manipulating various IDE drive and driver parameters." SECTION = "console/utils" LICENSE = "BSD & GPLv2" -LICENSE_${PN} = "BSD" -LICENSE_${PN}-dbg = "BSD" -LICENSE_wiper = "GPLv2" +LICENSE:${PN} = "BSD" +LICENSE:${PN}-dbg = "BSD" +LICENSE:wiper = "GPLv2" LIC_FILES_CHKSUM = "file://LICENSE.TXT;md5=495d03e50dc6c89d6a30107ab0df5b03 \ file://debian/copyright;md5=a82d7ba3ade9e8ec902749db98c592f3 \ @@ -17,9 +17,9 @@ LIC_FILES_CHKSUM = "file://LICENSE.TXT;md5=495d03e50dc6c89d6a30107ab0df5b03 \ PACKAGES =+ "wiper" -FILES_wiper = "${bindir}/wiper.sh" +FILES:wiper = "${bindir}/wiper.sh" -RDEPENDS_wiper = "bash gawk coreutils" +RDEPENDS:wiper = "bash gawk coreutils" SRC_URI = "${SOURCEFORGE_MIRROR}/hdparm/${BP}.tar.gz \ file://wiper.sh-fix-stat-path.patch \ @@ -31,7 +31,7 @@ EXTRA_OEMAKE = 'STRIP="echo" LDFLAGS="${LDFLAGS}"' inherit update-alternatives -ALTERNATIVE_${PN} = "hdparm" +ALTERNATIVE:${PN} = "hdparm" ALTERNATIVE_LINK_NAME[hdparm] = "${base_sbindir}/hdparm" ALTERNATIVE_PRIORITY = "100" diff --git a/poky/meta/recipes-extended/images/core-image-kernel-dev.bb b/poky/meta/recipes-extended/images/core-image-kernel-dev.bb index 4d16da1ea..4018af7a3 100644 --- a/poky/meta/recipes-extended/images/core-image-kernel-dev.bb +++ b/poky/meta/recipes-extended/images/core-image-kernel-dev.bb @@ -15,7 +15,7 @@ CORE_IMAGE_EXTRA_INSTALL += "${KERNEL_DEV_MODULE} \ " # We need extra space for things like kernel builds, etc. -IMAGE_ROOTFS_EXTRA_SPACE_append = " + 3000000" +IMAGE_ROOTFS_EXTRA_SPACE:append = " + 3000000" # Let's define our own subset to test, we can later add a on-target kernel build even! DEFAULT_TEST_SUITES = "ping ssh df connman syslog scp date parselogs" diff --git a/poky/meta/recipes-extended/iptables/iptables_1.8.7.bb b/poky/meta/recipes-extended/iptables/iptables_1.8.7.bb index 621f87ff8..93af96b77 100644 --- a/poky/meta/recipes-extended/iptables/iptables_1.8.7.bb +++ b/poky/meta/recipes-extended/iptables/iptables_1.8.7.bb @@ -18,7 +18,7 @@ SRC_URI = "http://netfilter.org/projects/iptables/files/iptables-${PV}.tar.bz2 \ " SRC_URI[sha256sum] = "c109c96bb04998cd44156622d36f8e04b140701ec60531a10668cfdff5e8d8f0" -SYSTEMD_SERVICE_${PN} = "\ +SYSTEMD_SERVICE:${PN} = "\ iptables.service \ ${@bb.utils.contains('PACKAGECONFIG', 'ipv6', 'ip6tables.service', '', d)} \ " @@ -36,7 +36,7 @@ PACKAGECONFIG[libnfnetlink] = "--enable-libnfnetlink,--disable-libnfnetlink,libn # libnftnl recipe is in meta-networking layer(previously known as libnftables) PACKAGECONFIG[libnftnl] = "--enable-nftables,--disable-nftables,libnftnl" -do_configure_prepend() { +do_configure:prepend() { # Remove some libtool m4 files # Keep ax_check_linker_flags.m4 which belongs to autoconf-archive. rm -f libtool.m4 lt~obsolete.m4 ltoptions.m4 ltsugar.m4 ltversion.m4 @@ -44,7 +44,7 @@ do_configure_prepend() { IPTABLES_RULES_DIR ?= "${sysconfdir}/${BPN}" -do_install_append() { +do_install:append() { install -d ${D}${IPTABLES_RULES_DIR} install -m 0644 ${WORKDIR}/iptables.rules ${D}${IPTABLES_RULES_DIR} @@ -70,15 +70,15 @@ do_install_append() { PACKAGES =+ "${PN}-modules ${PN}-apply" PACKAGES_DYNAMIC += "^${PN}-module-.*" -python populate_packages_prepend() { +python populate_packages:prepend() { modules = do_split_packages(d, '${libdir}/xtables', r'lib(.*)\.so$', '${PN}-module-%s', '${PN} module %s', extra_depends='') if modules: metapkg = d.getVar('PN') + '-modules' - d.appendVar('RDEPENDS_' + metapkg, ' ' + ' '.join(modules)) + d.appendVar('RDEPENDS:' + metapkg, ' ' + ' '.join(modules)) } -RDEPENDS_${PN} = "${PN}-module-xt-standard" -RRECOMMENDS_${PN} = " \ +RDEPENDS:${PN} = "${PN}-module-xt-standard" +RRECOMMENDS:${PN} = " \ ${PN}-modules \ kernel-module-x-tables \ kernel-module-ip-tables \ @@ -95,16 +95,16 @@ RRECOMMENDS_${PN} = " \ ', '', d)} \ " -FILES_${PN} += "${datadir}/xtables" +FILES:${PN} += "${datadir}/xtables" -FILES_${PN}-apply = "${sbindir}/ip*-apply" -RDEPENDS_${PN}-apply = "${PN} bash" +FILES:${PN}-apply = "${sbindir}/ip*-apply" +RDEPENDS:${PN}-apply = "${PN} bash" # Include the symlinks as well in respective packages -FILES_${PN}-module-xt-conntrack += "${libdir}/xtables/libxt_state.so" -FILES_${PN}-module-xt-ct += "${libdir}/xtables/libxt_NOTRACK.so" +FILES:${PN}-module-xt-conntrack += "${libdir}/xtables/libxt_state.so" +FILES:${PN}-module-xt-ct += "${libdir}/xtables/libxt_NOTRACK.so" -ALLOW_EMPTY_${PN}-modules = "1" +ALLOW_EMPTY:${PN}-modules = "1" -INSANE_SKIP_${PN}-module-xt-conntrack = "dev-so" -INSANE_SKIP_${PN}-module-xt-ct = "dev-so" +INSANE_SKIP:${PN}-module-xt-conntrack = "dev-so" +INSANE_SKIP:${PN}-module-xt-ct = "dev-so" diff --git a/poky/meta/recipes-extended/iputils/iputils/0001-meson-Make-tests-optional.patch b/poky/meta/recipes-extended/iputils/iputils/0001-meson-Make-tests-optional.patch new file mode 100644 index 000000000..9f17cbdb8 --- /dev/null +++ b/poky/meta/recipes-extended/iputils/iputils/0001-meson-Make-tests-optional.patch @@ -0,0 +1,220 @@ +From d8048d60d30a2efe7883b36626123630ce69b9fc Mon Sep 17 00:00:00 2001 +From: Heiko Becker <heirecka@exherbo.org> +Date: Fri, 23 Jul 2021 16:32:46 +0200 +Subject: [PATCH] meson: Make tests optional + +Now can be disabled with -DSKIP_TESTS=true. + +It allows to avoid meson error during build when ip isn't installed. + +Closes: #359 + +Reviewed-by: Petr Vorel <petr.vorel@gmail.com> +Signed-off-by: Heiko Becker <heirecka@exherbo.org> +[ pvorel: Rename variable TEST => SKIP_TESTS, default false, adjust +the description ] +Signed-off-by: Petr Vorel <petr.vorel@gmail.com> + +Upstream-Status: Backport [3163c49f9f4ad473a00d8a345ee334a028376011] +Signed-off-by: Chen Qi <Qi.Chen@windriver.com> +--- + meson_options.txt | 3 ++ + ping/meson.build | 84 ++----------------------------------------- + ping/test/meson.build | 81 +++++++++++++++++++++++++++++++++++++++++ + 3 files changed, 86 insertions(+), 82 deletions(-) + create mode 100644 ping/test/meson.build + +diff --git a/meson_options.txt b/meson_options.txt +index ac5f5d9..517667f 100644 +--- a/meson_options.txt ++++ b/meson_options.txt +@@ -72,3 +72,6 @@ option('INSTALL_SYSTEMD_UNITS', type: 'boolean', value: false, + + option('USE_GETTEXT', type: 'boolean', value: true, + description: 'Enable I18N') ++ ++option('SKIP_TESTS', type: 'boolean', value: false, ++ description: 'Skip tests during build') +diff --git a/ping/meson.build b/ping/meson.build +index 1e678ec..83ea353 100644 +--- a/ping/meson.build ++++ b/ping/meson.build +@@ -27,86 +27,6 @@ if (setcap_ping) + ) + endif + +-##### TESTS ##### +- +-# TODO: ::1 generates DEPRECATION: ":" is not allowed in test name "ping -c1 ::1", it has been replaced with "_" +- +-# GitHub CI does not have working IPv6 +-# https://github.com/actions/virtual-environments/issues/668 +-ipv6_dst = [] +-ipv6_switch = [] +-r = run_command('ip', '-6', 'a') +-if r.stdout().strip().contains('::1') +- message('IPv6 enabled') +- ipv6_dst = [ '::1' ] +- ipv6_switch = [ '-6' ] +-else +- message('WARNING: IPv6 disabled') ++if not get_option('SKIP_TESTS') ++ subdir('test') + endif +- +-run_as_root = false +-r = run_command('id', '-u') +-if r.stdout().strip().to_int() == 0 +- message('running as root') +- run_as_root = true +-else +- message('running as normal user') +-endif +- +-foreach dst : [ 'localhost', '127.0.0.1' ] + ipv6_dst +- foreach switch : [ '', '-4' ] + ipv6_switch +- args = [ '-c1', dst ] +- should_fail = false +- +- if switch != '' +- args = [switch] + args +- if (switch == '-4' and dst == '::1') or (switch == '-6' and dst == '127.0.0.1') +- should_fail = true +- endif +- endif +- +- name = 'ping ' + ' '.join(args) +- test(name, ping, args : args, should_fail : should_fail) +- endforeach +-endforeach +- +-ping_tests_opt = [ +- [ '-c1' ], +- [ '-c5', '-i0.1' ], +- [ '-c1', '-I', 'lo' ], +- [ '-c1', '-w1' ], +- [ '-c1', '-W1' ], +- [ '-c1', '-W1.1' ], +-] +-foreach dst : [ '127.0.0.1' ] + ipv6_dst +- foreach args : ping_tests_opt +- args += [ dst ] +- name = 'ping ' + ' '.join(args) +- test(name, ping, args : args) +- endforeach +-endforeach +- +-ping_tests_opt_fail = [ +- [ '-c1.1' ], +- [ '-I', 'nonexisting' ], +- [ '-w0.1' ], +- [ '-w0,1' ], +-] +-foreach dst : [ '127.0.0.1' ] + ipv6_dst +- foreach args : ping_tests_opt_fail +- args += [ dst ] +- name = 'ping ' + ' '.join(args) +- test(name, ping, args : args, should_fail : true) +- endforeach +-endforeach +- +-ping_tests_user_fail = [ +- [ '-c1', '-i0.001' ], # -c1 required to quit ping when running as root +-] +-foreach dst : [ '127.0.0.1' ] + ipv6_dst +- foreach args : ping_tests_user_fail +- args += [ dst ] +- name = 'ping ' + ' '.join(args) +- test(name, ping, args : args, should_fail : not run_as_root) +- endforeach +-endforeach +diff --git a/ping/test/meson.build b/ping/test/meson.build +new file mode 100644 +index 0000000..43aed75 +--- /dev/null ++++ b/ping/test/meson.build +@@ -0,0 +1,81 @@ ++# TODO: ::1 generates DEPRECATION: ":" is not allowed in test name "ping -c1 ::1", it has been replaced with "_" ++ ++# GitHub CI does not have working IPv6 ++# https://github.com/actions/virtual-environments/issues/668 ++ipv6_dst = [] ++ipv6_switch = [] ++r = run_command('ip', '-6', 'a') ++if r.stdout().strip().contains('::1') ++ message('IPv6 enabled') ++ ipv6_dst = [ '::1' ] ++ ipv6_switch = [ '-6' ] ++else ++ message('WARNING: IPv6 disabled') ++endif ++ ++run_as_root = false ++r = run_command('id', '-u') ++if r.stdout().strip().to_int() == 0 ++ message('running as root') ++ run_as_root = true ++else ++ message('running as normal user') ++endif ++ ++foreach dst : [ 'localhost', '127.0.0.1' ] + ipv6_dst ++ foreach switch : [ '', '-4' ] + ipv6_switch ++ args = [ '-c1', dst ] ++ should_fail = false ++ ++ if switch != '' ++ args = [switch] + args ++ if (switch == '-4' and dst == '::1') or (switch == '-6' and dst == '127.0.0.1') ++ should_fail = true ++ endif ++ endif ++ ++ name = 'ping ' + ' '.join(args) ++ test(name, ping, args : args, should_fail : should_fail) ++ endforeach ++endforeach ++ ++ping_tests_opt = [ ++ [ '-c1' ], ++ [ '-c5', '-i0.1' ], ++ [ '-c1', '-I', 'lo' ], ++ [ '-c1', '-w1' ], ++ [ '-c1', '-W1' ], ++ [ '-c1', '-W1.1' ], ++] ++foreach dst : [ '127.0.0.1' ] + ipv6_dst ++ foreach args : ping_tests_opt ++ args += [ dst ] ++ name = 'ping ' + ' '.join(args) ++ test(name, ping, args : args) ++ endforeach ++endforeach ++ ++ping_tests_opt_fail = [ ++ [ '-c1.1' ], ++ [ '-I', 'nonexisting' ], ++ [ '-w0.1' ], ++ [ '-w0,1' ], ++] ++foreach dst : [ '127.0.0.1' ] + ipv6_dst ++ foreach args : ping_tests_opt_fail ++ args += [ dst ] ++ name = 'ping ' + ' '.join(args) ++ test(name, ping, args : args, should_fail : true) ++ endforeach ++endforeach ++ ++ping_tests_user_fail = [ ++ [ '-c1', '-i0.001' ], # -c1 required to quit ping when running as root ++] ++foreach dst : [ '127.0.0.1' ] + ipv6_dst ++ foreach args : ping_tests_user_fail ++ args += [ dst ] ++ name = 'ping ' + ' '.join(args) ++ test(name, ping, args : args, should_fail : not run_as_root) ++ endforeach ++endforeach +-- +2.30.2 + diff --git a/poky/meta/recipes-extended/iputils/iputils/0001-rarpd-rdisc-Drop-PrivateUsers.patch b/poky/meta/recipes-extended/iputils/iputils/0001-rarpd-rdisc-Drop-PrivateUsers.patch index d7367caf7..c61e39dc8 100644 --- a/poky/meta/recipes-extended/iputils/iputils/0001-rarpd-rdisc-Drop-PrivateUsers.patch +++ b/poky/meta/recipes-extended/iputils/iputils/0001-rarpd-rdisc-Drop-PrivateUsers.patch @@ -1,20 +1,20 @@ -From 6e51d529988cfc0bb357751fd767e9f1478e2b81 Mon Sep 17 00:00:00 2001 +From dfeeb3f1328d09f516edeb6349bd63e3c87f9397 Mon Sep 17 00:00:00 2001 From: Alex Kiernan <alex.kiernan@gmail.com> Date: Thu, 13 Feb 2020 06:08:45 +0000 -Subject: [PATCH] rarpd: rdisc: Drop PrivateUsers +Subject: [PATCH] rarpd:Drop PrivateUsers -Neither rarpd nor rdisc can gain the necessary capabilities with +rarpd cannot gain the necessary capabilities with PrivateUsers enabled. Upstream-Status: Pending Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com> + --- systemd/rarpd.service.in | 1 - - systemd/rdisc.service.in | 3 ++- - 2 files changed, 2 insertions(+), 2 deletions(-) + 1 file changed, 1 deletion(-) diff --git a/systemd/rarpd.service.in b/systemd/rarpd.service.in -index e600c10c93e6..f5d7621a7ce8 100644 +index e600c10..f5d7621 100644 --- a/systemd/rarpd.service.in +++ b/systemd/rarpd.service.in @@ -12,7 +12,6 @@ AmbientCapabilities=CAP_NET_RAW @@ -25,22 +25,3 @@ index e600c10c93e6..f5d7621a7ce8 100644 ProtectSystem=strict ProtectHome=yes ProtectControlGroups=yes -diff --git a/systemd/rdisc.service.in b/systemd/rdisc.service.in -index 4e2a1ec9d0e5..a71b87d36b37 100644 ---- a/systemd/rdisc.service.in -+++ b/systemd/rdisc.service.in -@@ -8,9 +8,10 @@ After=network.target - EnvironmentFile=-/etc/sysconfig/rdisc - ExecStart=@sbindir@/rdisc -f -t $OPTIONS $SEND_ADDRESS $RECEIVE_ADDRESS - -+CapabilityBoundingSet=CAP_NET_RAW - AmbientCapabilities=CAP_NET_RAW - PrivateTmp=yes --PrivateUsers=yes -+DynamicUser=yes - ProtectSystem=strict - ProtectHome=yes - ProtectControlGroups=yes --- -2.17.1 - diff --git a/poky/meta/recipes-extended/iputils/iputils_20210202.bb b/poky/meta/recipes-extended/iputils/iputils_20210722.bb index 02a303782..2e8d9032e 100644 --- a/poky/meta/recipes-extended/iputils/iputils_20210202.bb +++ b/poky/meta/recipes-extended/iputils/iputils_20210722.bb @@ -12,8 +12,9 @@ DEPENDS = "gnutls" SRC_URI = "git://github.com/iputils/iputils \ file://0001-rarpd-rdisc-Drop-PrivateUsers.patch \ + file://0001-meson-Make-tests-optional.patch \ " -SRCREV = "cc16da6b574ce6637f3e6e9ab3c1a728663006ff" +SRCREV = "71bb2a6c72e9f658e90ac618c73d873a76bbaa81" S = "${WORKDIR}/git" @@ -38,11 +39,11 @@ PACKAGECONFIG[docs] = "-DBUILD_HTML_MANS=true -DBUILD_MANS=true,-DBUILD_HTML_MAN inherit meson systemd update-alternatives -EXTRA_OEMESON += "--prefix=${root_prefix}/" +EXTRA_OEMESON += "--prefix=${root_prefix}/ -DSKIP_TESTS=true" ALTERNATIVE_PRIORITY = "100" -ALTERNATIVE_${PN}-ping = "ping" +ALTERNATIVE:${PN}-ping = "ping" ALTERNATIVE_LINK_NAME[ping] = "${base_bindir}/ping" SPLITPKGS = "${PN}-ping ${PN}-arping ${PN}-tracepath ${PN}-clockdiff ${PN}-rdisc \ @@ -51,21 +52,21 @@ SPLITPKGS = "${PN}-ping ${PN}-arping ${PN}-tracepath ${PN}-clockdiff ${PN}-rdisc ${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', '${PN}-traceroute6 ${PN}-ninfod', '', d)}" PACKAGES += "${SPLITPKGS}" -ALLOW_EMPTY_${PN} = "1" -RDEPENDS_${PN} += "${SPLITPKGS}" +ALLOW_EMPTY:${PN} = "1" +RDEPENDS:${PN} += "${SPLITPKGS}" -FILES_${PN} = "" -FILES_${PN}-ping = "${base_bindir}/ping.${BPN}" -FILES_${PN}-arping = "${base_bindir}/arping" -FILES_${PN}-tracepath = "${base_bindir}/tracepath" -FILES_${PN}-traceroute6 = "${base_bindir}/traceroute6" -FILES_${PN}-clockdiff = "${base_bindir}/clockdiff" -FILES_${PN}-tftpd = "${base_bindir}/tftpd ${sysconfdir}/xinetd.d/tftp" -FILES_${PN}-rarpd = "${base_sbindir}/rarpd ${systemd_unitdir}/system/rarpd@.service" -FILES_${PN}-rdisc = "${base_sbindir}/rdisc" -FILES_${PN}-ninfod = "${base_sbindir}/ninfod ${sysconfdir}/init.d/ninfod.sh" +FILES:${PN} = "" +FILES:${PN}-ping = "${base_bindir}/ping.${BPN}" +FILES:${PN}-arping = "${base_bindir}/arping" +FILES:${PN}-tracepath = "${base_bindir}/tracepath" +FILES:${PN}-traceroute6 = "${base_bindir}/traceroute6" +FILES:${PN}-clockdiff = "${base_bindir}/clockdiff" +FILES:${PN}-tftpd = "${base_bindir}/tftpd ${sysconfdir}/xinetd.d/tftp" +FILES:${PN}-rarpd = "${base_sbindir}/rarpd ${systemd_unitdir}/system/rarpd@.service" +FILES:${PN}-rdisc = "${base_sbindir}/rdisc" +FILES:${PN}-ninfod = "${base_sbindir}/ninfod ${sysconfdir}/init.d/ninfod.sh" SYSTEMD_PACKAGES = "${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', '${PN}-ninfod', '', d)} \ ${PN}-rdisc" -SYSTEMD_SERVICE_${PN}-ninfod = "ninfod.service" -SYSTEMD_SERVICE_${PN}-rdisc = "rdisc.service" +SYSTEMD_SERVICE:${PN}-ninfod = "ninfod.service" +SYSTEMD_SERVICE:${PN}-rdisc = "rdisc.service" diff --git a/poky/meta/recipes-extended/less/less_590.bb b/poky/meta/recipes-extended/less/less_590.bb index 82a231264..5d0d0a5af 100644 --- a/poky/meta/recipes-extended/less/less_590.bb +++ b/poky/meta/recipes-extended/less/less_590.bb @@ -38,5 +38,5 @@ do_install () { oe_runmake 'bindir=${D}${bindir}' 'mandir=${D}${mandir}' install } -ALTERNATIVE_${PN} = "less" +ALTERNATIVE:${PN} = "less" ALTERNATIVE_PRIORITY = "100" diff --git a/poky/meta/recipes-extended/libarchive/libarchive_3.5.1.bb b/poky/meta/recipes-extended/libarchive/libarchive_3.5.1.bb index ebecee1f3..7d98e573b 100644 --- a/poky/meta/recipes-extended/libarchive/libarchive_3.5.1.bb +++ b/poky/meta/recipes-extended/libarchive/libarchive_3.5.1.bb @@ -9,12 +9,12 @@ DEPENDS = "e2fsprogs-native" PACKAGECONFIG ?= "zlib bz2 xz lzo zstd" -PACKAGECONFIG_append_class-target = "\ +PACKAGECONFIG:append:class-target = "\ ${@bb.utils.filter('DISTRO_FEATURES', 'acl xattr', d)} \ " DEPENDS_BZIP2 = "bzip2-replacement-native" -DEPENDS_BZIP2_class-target = "bzip2" +DEPENDS_BZIP2:class-target = "bzip2" PACKAGECONFIG[acl] = "--enable-acl,--disable-acl,acl," PACKAGECONFIG[xattr] = "--enable-xattr,--disable-xattr,attr," @@ -41,7 +41,7 @@ inherit autotools update-alternatives pkgconfig CPPFLAGS += "-I${WORKDIR}/extra-includes" do_configure[cleandirs] += "${WORKDIR}/extra-includes" -do_configure_prepend() { +do_configure:prepend() { # We just need the headers for some type constants, so no need to # build all of e2fsprogs for the target cp -R ${STAGING_INCDIR_NATIVE}/ext2fs ${WORKDIR}/extra-includes/ @@ -50,16 +50,16 @@ do_configure_prepend() { ALTERNATIVE_PRIORITY = "80" PACKAGES =+ "bsdtar" -FILES_bsdtar = "${bindir}/bsdtar" +FILES:bsdtar = "${bindir}/bsdtar" -ALTERNATIVE_bsdtar = "tar" +ALTERNATIVE:bsdtar = "tar" ALTERNATIVE_LINK_NAME[tar] = "${base_bindir}/tar" ALTERNATIVE_TARGET[tar] = "${bindir}/bsdtar" PACKAGES =+ "bsdcpio" -FILES_bsdcpio = "${bindir}/bsdcpio" +FILES:bsdcpio = "${bindir}/bsdcpio" -ALTERNATIVE_bsdcpio = "cpio" +ALTERNATIVE:bsdcpio = "cpio" ALTERNATIVE_LINK_NAME[cpio] = "${base_bindir}/cpio" ALTERNATIVE_TARGET[cpio] = "${bindir}/bsdcpio" diff --git a/poky/meta/recipes-extended/libidn/libidn2_2.3.1.bb b/poky/meta/recipes-extended/libidn/libidn2_2.3.1.bb index d33d6a7da..07781940a 100644 --- a/poky/meta/recipes-extended/libidn/libidn2_2.3.1.bb +++ b/poky/meta/recipes-extended/libidn/libidn2_2.3.1.bb @@ -21,12 +21,12 @@ EXTRA_OECONF += "--disable-rpath \ --with-libunistring-prefix=${STAGING_EXECPREFIXDIR} \ " -do_install_append() { +do_install:append() { # Need to remove any duplicate whitespace too for reproducibility sed -i -e 's|-L${STAGING_LIBDIR}||' -e 's/ */ /g' ${D}${libdir}/pkgconfig/libidn2.pc } -LICENSE_${PN} = "(GPLv2+ | LGPLv3)" -LICENSE_${PN}-bin = "GPLv3+" +LICENSE:${PN} = "(GPLv2+ | LGPLv3)" +LICENSE:${PN}-bin = "GPLv3+" BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-extended/libnss-nis/libnss-nis.bb b/poky/meta/recipes-extended/libnss-nis/libnss-nis.bb index a1d914e87..34103428e 100644 --- a/poky/meta/recipes-extended/libnss-nis/libnss-nis.bb +++ b/poky/meta/recipes-extended/libnss-nis/libnss-nis.bb @@ -28,4 +28,4 @@ BBCLASSEXTEND += "native nativesdk" # # We will skip parsing this packagegeoup for non-glibc systems # -COMPATIBLE_HOST_libc-musl = 'null' +COMPATIBLE_HOST:libc-musl = 'null' diff --git a/poky/meta/recipes-extended/libsolv/libsolv_0.7.19.bb b/poky/meta/recipes-extended/libsolv/libsolv_0.7.19.bb index 0c6963632..bb925073e 100644 --- a/poky/meta/recipes-extended/libsolv/libsolv_0.7.19.bb +++ b/poky/meta/recipes-extended/libsolv/libsolv_0.7.19.bb @@ -26,7 +26,7 @@ EXTRA_OECMAKE = "-DMULTI_SEMANTICS=ON -DENABLE_COMPLEX_DEPS=ON" PACKAGES =+ "${PN}-tools ${PN}ext" -FILES_${PN}-tools = "${bindir}/*" -FILES_${PN}ext = "${libdir}/${PN}ext.so.*" +FILES:${PN}-tools = "${bindir}/*" +FILES:${PN}ext = "${libdir}/${PN}ext.so.*" BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-extended/libtirpc/libtirpc_1.3.2.bb b/poky/meta/recipes-extended/libtirpc/libtirpc_1.3.2.bb index b66626328..45b3d2bef 100644 --- a/poky/meta/recipes-extended/libtirpc/libtirpc_1.3.2.bb +++ b/poky/meta/recipes-extended/libtirpc/libtirpc_1.3.2.bb @@ -18,7 +18,7 @@ inherit autotools pkgconfig EXTRA_OECONF = "--disable-gssapi" -do_install_append() { +do_install:append() { chown root:root ${D}${sysconfdir}/netconfig } diff --git a/poky/meta/recipes-extended/lighttpd/lighttpd_1.4.59.bb b/poky/meta/recipes-extended/lighttpd/lighttpd_1.4.59.bb index cf7f47891..f97c5913b 100644 --- a/poky/meta/recipes-extended/lighttpd/lighttpd_1.4.59.bb +++ b/poky/meta/recipes-extended/lighttpd/lighttpd_1.4.59.bb @@ -7,10 +7,10 @@ LICENSE = "BSD-3-Clause" LIC_FILES_CHKSUM = "file://COPYING;md5=e4dac5c6ab169aa212feb5028853a579" SECTION = "net" -RDEPENDS_${PN} = "lighttpd-module-dirlisting \ +RDEPENDS:${PN} = "lighttpd-module-dirlisting \ lighttpd-module-indexfile \ lighttpd-module-staticfile" -RRECOMMENDS_${PN} = "lighttpd-module-access \ +RRECOMMENDS:${PN} = "lighttpd-module-access \ lighttpd-module-accesslog" SRC_URI = "http://download.lighttpd.net/lighttpd/releases-1.4.x/lighttpd-${PV}.tar.xz \ @@ -52,9 +52,9 @@ inherit autotools pkgconfig update-rc.d gettext systemd INITSCRIPT_NAME = "lighttpd" INITSCRIPT_PARAMS = "defaults 70" -SYSTEMD_SERVICE_${PN} = "lighttpd.service" +SYSTEMD_SERVICE:${PN} = "lighttpd.service" -do_install_append() { +do_install:append() { install -d ${D}${sysconfdir}/init.d ${D}${sysconfdir}/lighttpd ${D}${sysconfdir}/lighttpd.d ${D}/www/pages/dav install -m 0755 ${WORKDIR}/lighttpd ${D}${sysconfdir}/init.d install -m 0644 ${WORKDIR}/lighttpd.conf ${D}${sysconfdir}/lighttpd @@ -71,13 +71,13 @@ do_install_append() { ln -sf ${localstatedir}/tmp ${D}/www/var } -FILES_${PN} += "${sysconfdir} /www" +FILES:${PN} += "${sysconfdir} /www" -CONFFILES_${PN} = "${sysconfdir}/lighttpd/lighttpd.conf" +CONFFILES:${PN} = "${sysconfdir}/lighttpd/lighttpd.conf" PACKAGES_DYNAMIC += "^lighttpd-module-.*" -python populate_packages_prepend () { +python populate_packages:prepend () { lighttpd_libdir = d.expand('${libdir}') do_split_packages(d, lighttpd_libdir, r'^mod_(.*)\.so$', 'lighttpd-module-%s', 'Lighttpd module for %s', extra_depends='') } diff --git a/poky/meta/recipes-extended/logrotate/logrotate_3.18.1.bb b/poky/meta/recipes-extended/logrotate/logrotate_3.18.1.bb index d853f7bec..bca47872c 100644 --- a/poky/meta/recipes-extended/logrotate/logrotate_3.18.1.bb +++ b/poky/meta/recipes-extended/logrotate/logrotate_3.18.1.bb @@ -29,7 +29,7 @@ PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'acl selinux', d)}" PACKAGECONFIG[acl] = ",,acl" PACKAGECONFIG[selinux] = ",,libselinux" -CONFFILES_${PN} += "${localstatedir}/lib/logrotate.status \ +CONFFILES:${PN} += "${localstatedir}/lib/logrotate.status \ ${sysconfdir}/logrotate.conf \ ${sysconfdir}/logrotate.d/btmp \ ${sysconfdir}/logrotate.d/wtmp" @@ -53,7 +53,7 @@ OS_NAME = "Linux" inherit autotools systemd -SYSTEMD_SERVICE_${PN} = "\ +SYSTEMD_SERVICE:${PN} = "\ ${BPN}.service \ ${BPN}.timer \ " diff --git a/poky/meta/recipes-extended/lsb/lsb-release_1.4.bb b/poky/meta/recipes-extended/lsb/lsb-release_1.4.bb index bafc18fcc..a3bcaf51c 100644 --- a/poky/meta/recipes-extended/lsb/lsb-release_1.4.bb +++ b/poky/meta/recipes-extended/lsb/lsb-release_1.4.bb @@ -4,7 +4,7 @@ HOMEPAGE = "https://sourceforge.net/projects/lsb/files" LICENSE = "GPLv2+" # lsb_release needs getopt -RDEPENDS_${PN} += "${VIRTUAL-RUNTIME_getopt}" +RDEPENDS:${PN} += "${VIRTUAL-RUNTIME_getopt}" LIC_FILES_CHKSUM = "file://README;md5=12da544b1a3a5a1795a21160b49471cf" @@ -35,4 +35,4 @@ do_install() { echo "DISTRIB_DESCRIPTION=\"${DISTRO_NAME} ${DISTRO_VERSION}\"" >> ${D}${sysconfdir}/lsb-release } -FILES_${PN} += "${base_libdir}" +FILES:${PN} += "${base_libdir}" diff --git a/poky/meta/recipes-extended/ltp/ltp_20210524.bb b/poky/meta/recipes-extended/ltp/ltp_20210524.bb index 26fd9ac04..702fa62b6 100644 --- a/poky/meta/recipes-extended/ltp/ltp_20210524.bb +++ b/poky/meta/recipes-extended/ltp/ltp_20210524.bb @@ -15,18 +15,18 @@ LIC_FILES_CHKSUM = "\ " DEPENDS = "attr libaio libcap acl openssl zip-native" -DEPENDS_append_libc-musl = " fts " -EXTRA_OEMAKE_append_libc-musl = " LIBC=musl " -EXTRA_OECONF_append_libc-musl = " LIBS=-lfts " +DEPENDS:append:libc-musl = " fts " +EXTRA_OEMAKE:append:libc-musl = " LIBC=musl " +EXTRA_OECONF:append:libc-musl = " LIBS=-lfts " # since ltp contains x86-64 assembler which uses the frame-pointer register, # set -fomit-frame-pointer x86-64 to handle cases where optimisation # is set to -O0 or frame pointers have been enabled by -fno-omit-frame-pointer # earlier in CFLAGS, etc. -CFLAGS_append_x86-64 = " -fomit-frame-pointer" +CFLAGS:append:x86-64 = " -fomit-frame-pointer" -CFLAGS_append_powerpc64 = " -D__SANE_USERSPACE_TYPES__" -CFLAGS_append_mipsarchn64 = " -D__SANE_USERSPACE_TYPES__" +CFLAGS:append:powerpc64 = " -D__SANE_USERSPACE_TYPES__" +CFLAGS:append:mipsarchn64 = " -D__SANE_USERSPACE_TYPES__" SRCREV = "0fb171f2beddaf64bd27597577c206c0f892b3cd" SRC_URI = "git://github.com/linux-test-project/ltp.git \ @@ -75,7 +75,7 @@ do_install(){ sed -e '/^memcg_stress/d' -i ${D}${prefix}/runtest/controllers } -RDEPENDS_${PN} = "\ +RDEPENDS:${PN} = "\ attr \ bash \ bc \ @@ -105,11 +105,11 @@ RDEPENDS_${PN} = "\ tar \ " -FILES_${PN} += "${prefix}/* ${prefix}/runtest/* ${prefix}/scenario_groups/* ${prefix}/testcases/bin/* ${prefix}/testcases/bin/*/bin/* ${prefix}/testscripts/* ${prefix}/testcases/open_posix_testsuite/* ${prefix}/testcases/open_posix_testsuite/conformance/* ${prefix}/testcases/open_posix_testsuite/Documentation/* ${prefix}/testcases/open_posix_testsuite/functional/* ${prefix}/testcases/open_posix_testsuite/include/* ${prefix}/testcases/open_posix_testsuite/scripts/* ${prefix}/testcases/open_posix_testsuite/stress/* ${prefix}/testcases/open_posix_testsuite/tools/* ${prefix}/testcases/data/nm01/lib.a ${prefix}/lib/libmem.a" +FILES:${PN} += "${prefix}/* ${prefix}/runtest/* ${prefix}/scenario_groups/* ${prefix}/testcases/bin/* ${prefix}/testcases/bin/*/bin/* ${prefix}/testscripts/* ${prefix}/testcases/open_posix_testsuite/* ${prefix}/testcases/open_posix_testsuite/conformance/* ${prefix}/testcases/open_posix_testsuite/Documentation/* ${prefix}/testcases/open_posix_testsuite/functional/* ${prefix}/testcases/open_posix_testsuite/include/* ${prefix}/testcases/open_posix_testsuite/scripts/* ${prefix}/testcases/open_posix_testsuite/stress/* ${prefix}/testcases/open_posix_testsuite/tools/* ${prefix}/testcases/data/nm01/lib.a ${prefix}/lib/libmem.a" # Avoid stripping some generated binaries otherwise some of the ltp tests such as ldd01 & nm01 fail INHIBIT_PACKAGE_STRIP_FILES = "${prefix}/testcases/bin/nm01 ${prefix}/testcases/bin/ldd01" -INSANE_SKIP_${PN} += "already-stripped staticdev" +INSANE_SKIP:${PN} += "already-stripped staticdev" remove_broken_musl_sources() { [ "${TCLIBC}" = "musl" ] || return 0 @@ -135,4 +135,4 @@ do_patch[postfuncs] += "remove_broken_musl_sources" # exist on the running system. For instance it has specific checks for # csh and ksh which are not typically part of OpenEmbedded systems (but # can be added via additional layers.) -SKIP_FILEDEPS_${PN} = '1' +SKIP_FILEDEPS:${PN} = '1' diff --git a/poky/meta/recipes-extended/man-db/man-db_2.9.4.bb b/poky/meta/recipes-extended/man-db/man-db_2.9.4.bb index cfa656176..c4cdbcc3b 100644 --- a/poky/meta/recipes-extended/man-db/man-db_2.9.4.bb +++ b/poky/meta/recipes-extended/man-db/man-db_2.9.4.bb @@ -11,11 +11,11 @@ SRC_URI = "${SAVANNAH_NONGNU_MIRROR}/man-db/man-db-${PV}.tar.xz \ SRC_URI[sha256sum] = "b66c99edfad16ad928c889f87cf76380263c1609323c280b3a9e6963fdb16756" DEPENDS = "libpipeline gdbm groff-native base-passwd" -RDEPENDS_${PN} += "base-passwd" +RDEPENDS:${PN} += "base-passwd" PACKAGE_WRITE_DEPS += "base-passwd" # | /usr/src/debug/man-db/2.8.0-r0/man-db-2.8.0/src/whatis.c:939: undefined reference to `_nl_msg_cat_cntr' -USE_NLS_libc-musl = "no" +USE_NLS:libc-musl = "no" inherit gettext pkgconfig autotools systemd @@ -31,17 +31,17 @@ do_install() { fi } -do_install_append_libc-musl() { +do_install:append:libc-musl() { rm -f ${D}${libdir}/charset.alias } -FILES_${PN} += "${prefix}/lib/tmpfiles.d" +FILES:${PN} += "${prefix}/lib/tmpfiles.d" -FILES_${PN}-dev += "${libdir}/man-db/libman.so ${libdir}/${BPN}/libmandb.so" +FILES:${PN}-dev += "${libdir}/man-db/libman.so ${libdir}/${BPN}/libmandb.so" -RDEPENDS_${PN} += "groff" -RRECOMMENDS_${PN} += "less" -RPROVIDES_${PN} += " man" +RDEPENDS:${PN} += "groff" +RRECOMMENDS:${PN} += "less" +RPROVIDES:${PN} += " man" def compress_pkg(d): if bb.utils.contains("INHERIT", "compress_doc", True, False, d): @@ -54,7 +54,7 @@ def compress_pkg(d): return "xz" return "" -RDEPENDS_${PN} += "${@compress_pkg(d)}" +RDEPENDS:${PN} += "${@compress_pkg(d)}" -SYSTEMD_SERVICE_${PN} = "man-db.timer man-db.service" +SYSTEMD_SERVICE:${PN} = "man-db.timer man-db.service" SYSTEMD_AUTO_ENABLE ?= "disable" diff --git a/poky/meta/recipes-extended/man-pages/man-pages_5.12.bb b/poky/meta/recipes-extended/man-pages/man-pages_5.12.bb index a5b2c3030..ed30103cc 100644 --- a/poky/meta/recipes-extended/man-pages/man-pages_5.12.bb +++ b/poky/meta/recipes-extended/man-pages/man-pages_5.12.bb @@ -23,14 +23,14 @@ do_install() { oe_runmake install prefix=${prefix} DESTDIR=${D} } -# Only deliveres man-pages so FILES_${PN} gets everything -FILES_${PN}-doc = "" -FILES_${PN} = "${mandir}/*" +# Only deliveres man-pages so FILES:${PN} gets everything +FILES:${PN}-doc = "" +FILES:${PN} = "${mandir}/*" inherit update-alternatives ALTERNATIVE_PRIORITY = "100" -ALTERNATIVE_${PN} = "passwd.5 getspnam.3 crypt.3" +ALTERNATIVE:${PN} = "passwd.5 getspnam.3 crypt.3" ALTERNATIVE_LINK_NAME[passwd.5] = "${mandir}/man5/passwd.5" ALTERNATIVE_LINK_NAME[getspnam.3] = "${mandir}/man3/getspnam.3" ALTERNATIVE_LINK_NAME[crypt.3] = "${mandir}/man3/crypt.3" diff --git a/poky/meta/recipes-extended/mc/mc_4.8.26.bb b/poky/meta/recipes-extended/mc/mc_4.8.26.bb index 5c5e6790d..d5619675e 100644 --- a/poky/meta/recipes-extended/mc/mc_4.8.26.bb +++ b/poky/meta/recipes-extended/mc/mc_4.8.26.bb @@ -5,8 +5,8 @@ LICENSE = "GPLv3" LIC_FILES_CHKSUM = "file://COPYING;md5=270bbafe360e73f9840bd7981621f9c2" SECTION = "console/utils" DEPENDS = "ncurses glib-2.0 util-linux" -RDEPENDS_${PN} = "ncurses-terminfo-base" -RRECOMMENDS_${PN} = "ncurses-terminfo" +RDEPENDS:${PN} = "ncurses-terminfo-base" +RRECOMMENDS:${PN} = "ncurses-terminfo" SRC_URI = "http://www.midnight-commander.org/downloads/${BPN}-${PV}.tar.bz2 \ file://0001-mc-replace-perl-w-with-use-warnings.patch \ @@ -23,7 +23,7 @@ PACKAGECONFIG ??= "" PACKAGECONFIG[smb] = "--enable-vfs-smb,--disable-vfs-smb,samba," PACKAGECONFIG[sftp] = "--enable-vfs-sftp,--disable-vfs-sftp,libssh2," -CFLAGS_append_libc-musl = ' -DNCURSES_WIDECHAR=1 ' +CFLAGS:append:libc-musl = ' -DNCURSES_WIDECHAR=1 ' EXTRA_OECONF = "--with-screen=ncurses --without-gpm-mouse --without-x --disable-configure-args" CACHED_CONFIGUREVARS += "ac_cv_path_PERL='/usr/bin/env perl'" @@ -31,7 +31,7 @@ CACHED_CONFIGUREVARS += "ac_cv_path_PYTHON='/usr/bin/env python'" CACHED_CONFIGUREVARS += "ac_cv_path_GREP='/usr/bin/env grep'" CACHED_CONFIGUREVARS += "mc_cv_have_zipinfo=yes" -do_install_append () { +do_install:append () { sed -i -e '1s,#!.*perl,#!${bindir}/env perl,' ${D}${libexecdir}/mc/extfs.d/* rm ${D}${libexecdir}/mc/extfs.d/s3+ ${D}${libexecdir}/mc/extfs.d/uc1541 @@ -39,17 +39,17 @@ do_install_append () { PACKAGES =+ "${BPN}-helpers-perl ${BPN}-helpers ${BPN}-fish" -SUMMARY_${BPN}-helpers-perl = "Midnight Commander Perl-based helper scripts" -FILES_${BPN}-helpers-perl = "${libexecdir}/mc/extfs.d/a+ ${libexecdir}/mc/extfs.d/apt+ \ +SUMMARY:${BPN}-helpers-perl = "Midnight Commander Perl-based helper scripts" +FILES:${BPN}-helpers-perl = "${libexecdir}/mc/extfs.d/a+ ${libexecdir}/mc/extfs.d/apt+ \ ${libexecdir}/mc/extfs.d/deb ${libexecdir}/mc/extfs.d/deba \ ${libexecdir}/mc/extfs.d/debd ${libexecdir}/mc/extfs.d/dpkg+ \ ${libexecdir}/mc/extfs.d/mailfs ${libexecdir}/mc/extfs.d/patchfs \ ${libexecdir}/mc/extfs.d/rpms+ ${libexecdir}/mc/extfs.d/ulib \ ${libexecdir}/mc/extfs.d/uzip" -RDEPENDS_${BPN}-helpers-perl = "perl" +RDEPENDS:${BPN}-helpers-perl = "perl" -SUMMARY_${BPN}-helpers = "Midnight Commander shell helper scripts" -FILES_${BPN}-helpers = "${libexecdir}/mc/extfs.d/* ${libexecdir}/mc/ext.d/*" +SUMMARY:${BPN}-helpers = "Midnight Commander shell helper scripts" +FILES:${BPN}-helpers = "${libexecdir}/mc/extfs.d/* ${libexecdir}/mc/ext.d/*" -SUMMARY_${BPN}-fish = "Midnight Commander Fish scripts" -FILES_${BPN}-fish = "${libexecdir}/mc/fish" +SUMMARY:${BPN}-fish = "Midnight Commander Fish scripts" +FILES:${BPN}-fish = "${libexecdir}/mc/fish" diff --git a/poky/meta/recipes-extended/mdadm/mdadm_4.1.bb b/poky/meta/recipes-extended/mdadm/mdadm_4.1.bb index bb77759cf..062797afe 100644 --- a/poky/meta/recipes-extended/mdadm/mdadm_4.1.bb +++ b/poky/meta/recipes-extended/mdadm/mdadm_4.1.bb @@ -31,23 +31,23 @@ SRC_URI[sha256sum] = "ab7688842908d3583a704d491956f31324c3a5fc9f6a04653cb75d19f1 inherit autotools-brokensep ptest systemd -SYSTEMD_SERVICE_${PN} = "mdmonitor.service" +SYSTEMD_SERVICE:${PN} = "mdmonitor.service" SYSTEMD_AUTO_ENABLE = "disable" -CFLAGS_append_toolchain-clang = " -Wno-error=address-of-packed-member" +CFLAGS:append:toolchain-clang = " -Wno-error=address-of-packed-member" # PPC64 and MIPS64 uses long long for u64 in the kernel, but powerpc's asm/types.h # prevents 64-bit userland from seeing this definition, instead defaulting # to u64 == long in userspace. Define __SANE_USERSPACE_TYPES__ to get # int-ll64.h included -CFLAGS_append_powerpc64 = ' -D__SANE_USERSPACE_TYPES__' -CFLAGS_append_mipsarchn64 = ' -D__SANE_USERSPACE_TYPES__' -CFLAGS_append_mipsarchn32 = ' -D__SANE_USERSPACE_TYPES__' +CFLAGS:append:powerpc64 = ' -D__SANE_USERSPACE_TYPES__' +CFLAGS:append:mipsarchn64 = ' -D__SANE_USERSPACE_TYPES__' +CFLAGS:append:mipsarchn32 = ' -D__SANE_USERSPACE_TYPES__' EXTRA_OEMAKE = 'CHECK_RUN_DIR=0 CXFLAGS="${CFLAGS}" SYSTEMD_DIR=${systemd_unitdir}/system \ BINDIR="${base_sbindir}" UDEVDIR="${nonarch_base_libdir}/udev"' -DEBUG_OPTIMIZATION_append = " -Wno-error" +DEBUG_OPTIMIZATION:append = " -Wno-error" do_compile() { oe_runmake SYSROOT="${STAGING_DIR_TARGET}" @@ -58,14 +58,14 @@ do_install() { autotools_do_install } -do_install_append() { +do_install:append() { install -d ${D}/${sysconfdir}/ install -m 644 ${S}/mdadm.conf-example ${D}${sysconfdir}/mdadm.conf install -d ${D}/${sysconfdir}/init.d install -m 755 ${WORKDIR}/mdadm.init ${D}${sysconfdir}/init.d/mdmonitor } -do_install_append() { +do_install:append() { oe_runmake install-systemd DESTDIR=${D} } @@ -93,8 +93,8 @@ do_install_ptest() { done } -RDEPENDS_${PN}-ptest += "bash e2fsprogs-mke2fs" -RRECOMMENDS_${PN}-ptest += " \ +RDEPENDS:${PN}-ptest += "bash e2fsprogs-mke2fs" +RRECOMMENDS:${PN}-ptest += " \ coreutils \ util-linux \ kernel-module-loop \ @@ -105,4 +105,4 @@ RRECOMMENDS_${PN}-ptest += " \ kernel-module-raid456 \ " -FILES_${PN} += "${systemd_unitdir}/*" +FILES:${PN} += "${systemd_unitdir}/*" diff --git a/poky/meta/recipes-extended/mingetty/mingetty_1.08.bb b/poky/meta/recipes-extended/mingetty/mingetty_1.08.bb index 9822e86b0..27feaa8cd 100644 --- a/poky/meta/recipes-extended/mingetty/mingetty_1.08.bb +++ b/poky/meta/recipes-extended/mingetty/mingetty_1.08.bb @@ -24,7 +24,7 @@ do_install(){ inherit update-alternatives -ALTERNATIVE_${PN} = "getty" +ALTERNATIVE:${PN} = "getty" ALTERNATIVE_LINK_NAME[getty] = "${base_sbindir}/getty" ALTERNATIVE_TARGET[getty] = "${base_sbindir}/mingetty" ALTERNATIVE_PRIORITY = "10" diff --git a/poky/meta/recipes-extended/minicom/minicom_2.7.1.bb b/poky/meta/recipes-extended/minicom/minicom_2.7.1.bb index 12003ff49..4f715cbc7 100644 --- a/poky/meta/recipes-extended/minicom/minicom_2.7.1.bb +++ b/poky/meta/recipes-extended/minicom/minicom_2.7.1.bb @@ -28,6 +28,6 @@ do_install() { for d in doc extras man lib src; do make -C $d DESTDIR=${D} install; done } -RRECOMMENDS_${PN} += "lrzsz" +RRECOMMENDS:${PN} += "lrzsz" -RDEPENDS_${PN} += "ncurses-terminfo-base" +RDEPENDS:${PN} += "ncurses-terminfo-base" diff --git a/poky/meta/recipes-extended/msmtp/msmtp_1.8.15.bb b/poky/meta/recipes-extended/msmtp/msmtp_1.8.15.bb index e85873e90..bb56a2e34 100644 --- a/poky/meta/recipes-extended/msmtp/msmtp_1.8.15.bb +++ b/poky/meta/recipes-extended/msmtp/msmtp_1.8.15.bb @@ -17,9 +17,9 @@ inherit gettext autotools update-alternatives pkgconfig EXTRA_OECONF += "--without-libsecret --without-libgsasl --without-libidn" -ALTERNATIVE_${PN} = "sendmail" +ALTERNATIVE:${PN} = "sendmail" # /usr/lib/sendmial is required by LSB core test -ALTERNATIVE_${PN}_linuxstdbase = "sendmail usr-lib-sendmail" +ALTERNATIVE:${PN}:linuxstdbase = "sendmail usr-lib-sendmail" ALTERNATIVE_TARGET[sendmail] = "${bindir}/msmtp" ALTERNATIVE_LINK_NAME[sendmail] = "${sbindir}/sendmail" ALTERNATIVE_TARGET[usr-lib-sendmail] = "${bindir}/msmtp" diff --git a/poky/meta/recipes-extended/net-tools/net-tools_2.10.bb b/poky/meta/recipes-extended/net-tools/net-tools_2.10.bb index de4a71597..00caccd4b 100644 --- a/poky/meta/recipes-extended/net-tools/net-tools_2.10.bb +++ b/poky/meta/recipes-extended/net-tools/net-tools_2.10.bb @@ -90,8 +90,8 @@ base_bindir_progs = "ifconfig netstat route \ ${@bb.utils.contains('PACKAGECONFIG', 'hostname', 'dnsdomainname domainname hostname nisdomainname ypdomainname', '', d)} \ " -ALTERNATIVE_${PN} = "${base_sbindir_progs} ${base_bindir_progs}" -ALTERNATIVE_${PN}-doc += "${@bb.utils.contains('PACKAGECONFIG', 'hostname', 'hostname.1 dnsdomainname.1', '', d)}" +ALTERNATIVE:${PN} = "${base_sbindir_progs} ${base_bindir_progs}" +ALTERNATIVE:${PN}-doc += "${@bb.utils.contains('PACKAGECONFIG', 'hostname', 'hostname.1 dnsdomainname.1', '', d)}" ALTERNATIVE_LINK_NAME[hostname.1] = "${mandir}/man1/hostname.1" ALTERNATIVE_LINK_NAME[dnsdomainname.1] = "${mandir}/man1/dnsdomainname.1" ALTERNATIVE_PRIORITY[hostname.1] = "10" @@ -105,16 +105,16 @@ python __anonymous() { ALTERNATIVE_PRIORITY = "100" NETTOOLS_PACKAGES = "${PN}-mii-tool" -NETTOOLS_PACKAGES_class-native = "" +NETTOOLS_PACKAGES:class-native = "" PACKAGE_BEFORE_PN = "${NETTOOLS_PACKAGES}" -RDEPENDS_${PN} += "${NETTOOLS_PACKAGES}" +RDEPENDS:${PN} += "${NETTOOLS_PACKAGES}" -FILES_${PN}-mii-tool = "${base_sbindir}/mii-tool" +FILES:${PN}-mii-tool = "${base_sbindir}/mii-tool" -ALTERNATIVE_${PN}_remove = "mii-tool" +ALTERNATIVE:${PN}:remove = "mii-tool" -ALTERNATIVE_${PN}-mii-tool = "mii-tool" +ALTERNATIVE:${PN}-mii-tool = "mii-tool" ALTERNATIVE_TARGET[mii-tool] = "${base_sbindir}/mii-tool" ALTERNATIVE_LINK_NAME[mii-tool] = "${base_sbindir}/mii-tool" diff --git a/poky/meta/recipes-extended/newt/libnewt_0.52.21.bb b/poky/meta/recipes-extended/newt/libnewt_0.52.21.bb index 88b4cf4a0..84d327ca8 100644 --- a/poky/meta/recipes-extended/newt/libnewt_0.52.21.bb +++ b/poky/meta/recipes-extended/newt/libnewt_0.52.21.bb @@ -39,20 +39,20 @@ CLEANBROKEN = "1" export CPPFLAGS -PACKAGES_prepend = "whiptail ${PN}-python " +PACKAGES:prepend = "whiptail ${PN}-python " -RDEPENDS_${PN}-python += "python3-core" -FILES_${PN}-python = "${PYTHON_SITEPACKAGES_DIR}/*" +RDEPENDS:${PN}-python += "python3-core" +FILES:${PN}-python = "${PYTHON_SITEPACKAGES_DIR}/*" -do_configure_prepend() { +do_configure:prepend() { sh autogen.sh } -do_compile_prepend() { +do_compile:prepend() { # Make sure the recompile is OK rm -f ${B}/.depend } -FILES_whiptail = "${bindir}/whiptail" +FILES:whiptail = "${bindir}/whiptail" BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-extended/packagegroups/packagegroup-core-base-utils.bb b/poky/meta/recipes-extended/packagegroups/packagegroup-core-base-utils.bb index 1e63da7f1..b17cba4a7 100644 --- a/poky/meta/recipes-extended/packagegroups/packagegroup-core-base-utils.bb +++ b/poky/meta/recipes-extended/packagegroups/packagegroup-core-base-utils.bb @@ -13,7 +13,7 @@ VIRTUAL-RUNTIME_vim ?= "vim-tiny" PACKAGE_ARCH = "${MACHINE_ARCH}" -RDEPENDS_${PN} = "\ +RDEPENDS:${PN} = "\ base-passwd \ bash \ bind-utils \ diff --git a/poky/meta/recipes-extended/packagegroups/packagegroup-core-full-cmdline.bb b/poky/meta/recipes-extended/packagegroups/packagegroup-core-full-cmdline.bb index 16c2f9f2a..14a7bded9 100644 --- a/poky/meta/recipes-extended/packagegroups/packagegroup-core-full-cmdline.bb +++ b/poky/meta/recipes-extended/packagegroups/packagegroup-core-full-cmdline.bb @@ -49,13 +49,13 @@ python __anonymous () { if mapped: oldtaskname = mapped.replace("packagegroup-core", "task-core") mapstr = " %s%s %s%s" % (mlprefix, mapped, mlprefix, oldtaskname) - d.appendVar("RPROVIDES_%s" % pkg, mapstr) - d.appendVar("RREPLACES_%s" % pkg, mapstr) - d.appendVar("RCONFLICTS_%s" % pkg, mapstr) + d.appendVar("RPROVIDES:%s" % pkg, mapstr) + d.appendVar("RREPLACES:%s" % pkg, mapstr) + d.appendVar("RCONFLICTS:%s" % pkg, mapstr) } -RDEPENDS_packagegroup-core-full-cmdline = "\ +RDEPENDS:packagegroup-core-full-cmdline = "\ packagegroup-core-full-cmdline-libs \ packagegroup-core-full-cmdline-utils \ packagegroup-core-full-cmdline-extended \ @@ -65,11 +65,11 @@ RDEPENDS_packagegroup-core-full-cmdline = "\ packagegroup-core-full-cmdline-sys-services \ " -RDEPENDS_packagegroup-core-full-cmdline-libs = "\ +RDEPENDS:packagegroup-core-full-cmdline-libs = "\ glib-2.0 \ " -RDEPENDS_packagegroup-core-full-cmdline-utils = "\ +RDEPENDS:packagegroup-core-full-cmdline-utils = "\ bash \ acl \ attr \ @@ -99,7 +99,7 @@ RDEPENDS_packagegroup-core-full-cmdline-utils = "\ util-linux \ " -RDEPENDS_packagegroup-core-full-cmdline-extended = "\ +RDEPENDS:packagegroup-core-full-cmdline-extended = "\ iproute2 \ iputils \ iptables \ @@ -107,7 +107,7 @@ RDEPENDS_packagegroup-core-full-cmdline-extended = "\ openssl \ " -RDEPENDS_packagegroup-core-full-cmdline-dev-utils = "\ +RDEPENDS:packagegroup-core-full-cmdline-dev-utils = "\ diffutils \ m4 \ make \ @@ -115,7 +115,7 @@ RDEPENDS_packagegroup-core-full-cmdline-dev-utils = "\ " VIRTUAL-RUNTIME_syslog ?= "sysklogd" -RDEPENDS_packagegroup-core-full-cmdline-initscripts = "\ +RDEPENDS:packagegroup-core-full-cmdline-initscripts = "\ ${VIRTUAL-RUNTIME_initscripts} \ ${VIRTUAL-RUNTIME_init_manager} \ ethtool \ @@ -123,7 +123,7 @@ RDEPENDS_packagegroup-core-full-cmdline-initscripts = "\ ${VIRTUAL-RUNTIME_syslog} \ " -RDEPENDS_packagegroup-core-full-cmdline-multiuser = "\ +RDEPENDS:packagegroup-core-full-cmdline-multiuser = "\ bzip2 \ cracklib \ gzip \ @@ -131,7 +131,7 @@ RDEPENDS_packagegroup-core-full-cmdline-multiuser = "\ sudo \ " -RDEPENDS_packagegroup-core-full-cmdline-sys-services = "\ +RDEPENDS:packagegroup-core-full-cmdline-sys-services = "\ at \ cronie \ logrotate \ diff --git a/poky/meta/recipes-extended/pam/libpam/0001-modules-pam_namespace-Makefile.am-correctly-install-.patch b/poky/meta/recipes-extended/pam/libpam/0001-modules-pam_namespace-Makefile.am-correctly-install-.patch new file mode 100644 index 000000000..b41d1e596 --- /dev/null +++ b/poky/meta/recipes-extended/pam/libpam/0001-modules-pam_namespace-Makefile.am-correctly-install-.patch @@ -0,0 +1,28 @@ +From e2db4082f6b988f1d5803028e9e47aee5f3519ac Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin <alex.kanavin@gmail.com> +Date: Sun, 27 Dec 2020 00:30:45 +0100 +Subject: [PATCH] modules/pam_namespace/Makefile.am: correctly install systemd + unit file + +Upstream-Status: Pending +Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> +--- + modules/pam_namespace/Makefile.am | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/modules/pam_namespace/Makefile.am b/modules/pam_namespace/Makefile.am +index 21e1b33..ddd5fc0 100644 +--- a/modules/pam_namespace/Makefile.am ++++ b/modules/pam_namespace/Makefile.am +@@ -18,7 +18,7 @@ TESTS = $(dist_check_SCRIPTS) + securelibdir = $(SECUREDIR) + secureconfdir = $(SCONFIGDIR) + namespaceddir = $(SCONFIGDIR)/namespace.d +-servicedir = $(prefix)/lib/systemd/system ++servicedir = /lib/systemd/system + + AM_CFLAGS = -I$(top_srcdir)/libpam/include -I$(top_srcdir)/libpamc/include \ + -DSECURECONF_DIR=\"$(SCONFIGDIR)/\" $(WARN_CFLAGS) +-- +2.24.0 + diff --git a/poky/meta/recipes-extended/pam/libpam_1.3.1.bb b/poky/meta/recipes-extended/pam/libpam_1.3.1.bb index 43db08e7e..9b5b1e186 100644 --- a/poky/meta/recipes-extended/pam/libpam_1.3.1.bb +++ b/poky/meta/recipes-extended/pam/libpam_1.3.1.bb @@ -87,10 +87,10 @@ RRECOMMENDS:${PN}_class-native = "" python populate_packages:prepend () { def pam_plugin_append_file(pn, dir, file): nf = os.path.join(dir, file) - of = d.getVar('FILES_' + pn) + of = d.getVar('FILES:' + pn) if of: nf = of + " " + nf - d.setVar('FILES_' + pn, nf) + d.setVar('FILES:' + pn, nf) def pam_plugin_hook(file, pkg, pattern, format, basename): pn = d.getVar('PN') diff --git a/poky/meta/recipes-extended/parted/parted_3.4.bb b/poky/meta/recipes-extended/parted/parted_3.4.bb index d9b3ffb85..8924bdb47 100644 --- a/poky/meta/recipes-extended/parted/parted_3.4.bb +++ b/poky/meta/recipes-extended/parted/parted_3.4.bb @@ -49,9 +49,9 @@ do_install_ptest() { sed -e 's| ../parted||' -i $t/tests/*.sh } -RDEPENDS_${PN}-ptest = "bash coreutils perl util-linux-losetup util-linux-mkswap python3 make gawk e2fsprogs-mke2fs e2fsprogs-tune2fs python3-core dosfstools" -RRECOMMENDS_${PN}-ptest += "kernel-module-scsi-debug kernel-module-loop kernel-module-vfat" -RDEPENDS_${PN}-ptest_append_libc-glibc = "\ +RDEPENDS:${PN}-ptest = "bash coreutils perl util-linux-losetup util-linux-mkswap python3 make gawk e2fsprogs-mke2fs e2fsprogs-tune2fs python3-core dosfstools" +RRECOMMENDS:${PN}-ptest += "kernel-module-scsi-debug kernel-module-loop kernel-module-vfat" +RDEPENDS:${PN}-ptest:append:libc-glibc = "\ glibc-utils \ locale-base-en-us \ " @@ -59,5 +59,5 @@ RDEPENDS_${PN}-ptest_append_libc-glibc = "\ inherit update-alternatives ALTERNATIVE_PRIORITY = "100" -ALTERNATIVE_${PN} = "partprobe" +ALTERNATIVE:${PN} = "partprobe" ALTERNATIVE_LINK_NAME[partprobe] = "${sbindir}/partprobe" diff --git a/poky/meta/recipes-extended/pbzip2/pbzip2_1.1.13.bb b/poky/meta/recipes-extended/pbzip2/pbzip2_1.1.13.bb index ed21d8117..3fa89dec9 100644 --- a/poky/meta/recipes-extended/pbzip2/pbzip2_1.1.13.bb +++ b/poky/meta/recipes-extended/pbzip2/pbzip2_1.1.13.bb @@ -9,7 +9,7 @@ LICENSE = "bzip2-1.0.6" LIC_FILES_CHKSUM = "file://COPYING;md5=398b8832c6f840cfebd20ab2be6a3743" DEPENDS = "bzip2" -DEPENDS_append_class-native = " bzip2-replacement-native" +DEPENDS:append:class-native = " bzip2-replacement-native" SRC_URI = "https://launchpad.net/${BPN}/1.1/${PV}/+download/${BP}.tar.gz \ file://0001-pbzip2-Fix-invalid-suffix-on-literal-C-11-warning.patch \ diff --git a/poky/meta/recipes-extended/perl/libconvert-asn1-perl_0.27.bb b/poky/meta/recipes-extended/perl/libconvert-asn1-perl_0.27.bb index 409a8f389..cdc43b5fb 100644 --- a/poky/meta/recipes-extended/perl/libconvert-asn1-perl_0.27.bb +++ b/poky/meta/recipes-extended/perl/libconvert-asn1-perl_0.27.bb @@ -16,7 +16,7 @@ inherit cpan ptest-perl EXTRA_PERLFLAGS = "-I ${PERLHOSTLIB}" -RDEPENDS_${PN} += "perl-module-exporter perl-module-constant perl-module-encode perl-module-encode-encoding perl-module-utf8 perl-module-socket perl-module-time-local perl-module-posix" -RDEPENDS_${PN}-ptest += "perl-module-math-bigint perl-module-io-socket perl-module-data-dumper perl-module-math-bigint-calc" +RDEPENDS:${PN} += "perl-module-exporter perl-module-constant perl-module-encode perl-module-encode-encoding perl-module-utf8 perl-module-socket perl-module-time-local perl-module-posix" +RDEPENDS:${PN}-ptest += "perl-module-math-bigint perl-module-io-socket perl-module-data-dumper perl-module-math-bigint-calc" BBCLASSEXTEND = "native" diff --git a/poky/meta/recipes-extended/perl/libtimedate-perl_2.30.bb b/poky/meta/recipes-extended/perl/libtimedate-perl_2.30.bb index 46843bfc8..7c5e99063 100644 --- a/poky/meta/recipes-extended/perl/libtimedate-perl_2.30.bb +++ b/poky/meta/recipes-extended/perl/libtimedate-perl_2.30.bb @@ -14,8 +14,8 @@ inherit cpan ptest-perl BBCLASSEXTEND = "native" -RDEPENDS_${PN} += "perl-module-carp perl-module-exporter perl-module-strict perl-module-time-local" -RDEPENDS_${PN}-ptest += "perl-module-test-more perl-module-utf8" +RDEPENDS:${PN} += "perl-module-carp perl-module-exporter perl-module-strict perl-module-time-local" +RDEPENDS:${PN}-ptest += "perl-module-test-more perl-module-utf8" SRC_URI[md5sum] = "b1d91153ac971347aee84292ed886c1c" SRC_URI[sha256sum] = "75bd254871cb5853a6aa0403ac0be270cdd75c9d1b6639f18ecba63c15298e86" diff --git a/poky/meta/recipes-extended/perl/libxml-namespacesupport-perl_1.12.bb b/poky/meta/recipes-extended/perl/libxml-namespacesupport-perl_1.12.bb index 57c407e0f..03bf0b6ff 100644 --- a/poky/meta/recipes-extended/perl/libxml-namespacesupport-perl_1.12.bb +++ b/poky/meta/recipes-extended/perl/libxml-namespacesupport-perl_1.12.bb @@ -21,7 +21,7 @@ S = "${WORKDIR}/${SRCNAME}-${PV}" inherit cpan ptest-perl -RDEPENDS_${PN}-ptest += "perl-module-test-more" +RDEPENDS:${PN}-ptest += "perl-module-test-more" BBCLASSEXTEND="native nativesdk" diff --git a/poky/meta/recipes-extended/perl/libxml-sax-base-perl_1.09.bb b/poky/meta/recipes-extended/perl/libxml-sax-base-perl_1.09.bb index 2bff65a08..790ff5155 100644 --- a/poky/meta/recipes-extended/perl/libxml-sax-base-perl_1.09.bb +++ b/poky/meta/recipes-extended/perl/libxml-sax-base-perl_1.09.bb @@ -8,7 +8,7 @@ implement the characters() callback." SECTION = "libs" LICENSE = "Artistic-1.0 | GPL-1.0+" -RDEPENDS_${PN} += "perl-module-extutils-makemaker" +RDEPENDS:${PN} += "perl-module-extutils-makemaker" LIC_FILES_CHKSUM = "file://dist.ini;endline=5;md5=8f9c9a55340aefaee6e9704c88466446" @@ -21,6 +21,6 @@ S = "${WORKDIR}/XML-SAX-Base-${PV}" inherit cpan ptest-perl -RDEPENDS_${PN}-ptest += "perl-module-test perl-module-test-more" +RDEPENDS:${PN}-ptest += "perl-module-test perl-module-test-more" BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-extended/perl/libxml-sax-perl_1.02.bb b/poky/meta/recipes-extended/perl/libxml-sax-perl_1.02.bb index 02ee34ee1..9aa6fd050 100644 --- a/poky/meta/recipes-extended/perl/libxml-sax-perl_1.02.bb +++ b/poky/meta/recipes-extended/perl/libxml-sax-perl_1.02.bb @@ -11,7 +11,7 @@ javaness." SECTION = "libs" LICENSE = "Artistic-1.0 | GPL-1.0+" DEPENDS += "libxml-namespacesupport-perl-native" -RDEPENDS_${PN} += "libxml-namespacesupport-perl libxml-sax-base-perl perl-module-file-temp" +RDEPENDS:${PN} += "libxml-namespacesupport-perl libxml-sax-base-perl perl-module-file-temp" LIC_FILES_CHKSUM = "file://LICENSE;md5=65c4cd8f39c24c7135ed70dacbcb09e3" @@ -29,9 +29,9 @@ do_install_ptest() { chown -R root:root ${D}${PTEST_PATH}/testfiles } -RDEPENDS_${PN} += "perl-module-encode perl-module-perlio" +RDEPENDS:${PN} += "perl-module-encode perl-module-perlio" -RDEPENDS_${PN}-ptest += " \ +RDEPENDS:${PN}-ptest += " \ perl-module-base \ perl-module-encode-byte \ perl-module-encode-unicode \ diff --git a/poky/meta/recipes-extended/pigz/pigz_2.6.bb b/poky/meta/recipes-extended/pigz/pigz_2.6.bb index 05be9b733..3566e18b7 100644 --- a/poky/meta/recipes-extended/pigz/pigz_2.6.bb +++ b/poky/meta/recipes-extended/pigz/pigz_2.6.bb @@ -10,7 +10,7 @@ LIC_FILES_CHKSUM = "file://pigz.c;md5=9ae6dee8ceba9610596ed0ada493d142;beginline SRC_URI = "http://zlib.net/${BPN}/fossils/${BP}.tar.gz" SRC_URI[sha256sum] = "2eed7b0d7449d1d70903f2a62cd6005d262eb3a8c9e98687bc8cbb5809db2a7d" -PROVIDES_class-native += "gzip-native" +PROVIDES:class-native += "gzip-native" # Point this at the homepage in case /fossils/ isn't updated UPSTREAM_CHECK_URI = "http://zlib.net/${BPN}/" @@ -30,7 +30,7 @@ do_install() { ln -nsf pigz ${D}${base_bindir}/pigzcat } -do_install_append_class-native() { +do_install:append:class-native() { install -d ${D}${bindir} install ${B}/pigz ${D}${bindir}/gzip ln -nsf gzip ${D}${bindir}/gunzip @@ -38,8 +38,8 @@ do_install_append_class-native() { } ALTERNATIVE_PRIORITY = "110" -ALTERNATIVE_${PN} = "gunzip gzip zcat" -ALTERNATIVE_${PN}_class-nativesdk = "" +ALTERNATIVE:${PN} = "gunzip gzip zcat" +ALTERNATIVE:${PN}:class-nativesdk = "" ALTERNATIVE_LINK_NAME[gunzip] = "${base_bindir}/gunzip" ALTERNATIVE_LINK_NAME[gzip] = "${base_bindir}/gzip" ALTERNATIVE_LINK_NAME[zcat] = "${base_bindir}/zcat" diff --git a/poky/meta/recipes-extended/procps/procps_3.3.17.bb b/poky/meta/recipes-extended/procps/procps_3.3.17.bb index c74a901d9..64a2d154b 100644 --- a/poky/meta/recipes-extended/procps/procps_3.3.17.bb +++ b/poky/meta/recipes-extended/procps/procps_3.3.17.bb @@ -24,7 +24,7 @@ S = "${WORKDIR}/git" # Upstream has a custom autogen.sh which invokes po/update-potfiles as they # don't ship a po/POTFILES.in (which is silly). Without that file gettext # doesn't believe po/ is a gettext directory and won't generate po/Makefile. -do_configure_prepend() { +do_configure:prepend() { ( cd ${S} && po/update-potfiles ) } @@ -33,7 +33,7 @@ EXTRA_OECONF = "--enable-skill --disable-modern-top" PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}" PACKAGECONFIG[systemd] = "--with-systemd,--without-systemd,systemd" -do_install_append () { +do_install:append () { install -d ${D}${base_bindir} [ "${bindir}" != "${base_bindir}" ] && for i in ${base_bindir_progs}; do mv ${D}${bindir}/$i ${D}${base_bindir}/$i; done install -d ${D}${base_sbindir} @@ -50,7 +50,7 @@ do_install_append () { fi } -CONFFILES_${PN} = "${sysconfdir}/sysctl.conf" +CONFFILES:${PN} = "${sysconfdir}/sysctl.conf" bindir_progs = "free pkill pmap pgrep pwdx skill snice top uptime w" base_bindir_progs += "kill pidof ps watch" @@ -59,9 +59,9 @@ base_sbindir_progs += "sysctl" ALTERNATIVE_PRIORITY = "200" ALTERNATIVE_PRIORITY[pidof] = "150" -ALTERNATIVE_${PN} = "${bindir_progs} ${base_bindir_progs} ${base_sbindir_progs}" +ALTERNATIVE:${PN} = "${bindir_progs} ${base_bindir_progs} ${base_sbindir_progs}" -ALTERNATIVE_${PN}-doc = "kill.1 uptime.1" +ALTERNATIVE:${PN}-doc = "kill.1 uptime.1" ALTERNATIVE_LINK_NAME[kill.1] = "${mandir}/man1/kill.1" ALTERNATIVE_LINK_NAME[uptime.1] = "${mandir}/man1/uptime.1" @@ -82,22 +82,22 @@ PROCPS_PACKAGES = "${PN}-lib \ ${PN}-sysctl" PACKAGE_BEFORE_PN = "${PROCPS_PACKAGES}" -RDEPENDS_${PN} += "${PROCPS_PACKAGES}" +RDEPENDS:${PN} += "${PROCPS_PACKAGES}" -RDEPENDS_${PN}-ps += "${PN}-lib" -RDEPENDS_${PN}-sysctl += "${PN}-lib" +RDEPENDS:${PN}-ps += "${PN}-lib" +RDEPENDS:${PN}-sysctl += "${PN}-lib" -FILES_${PN}-lib = "${libdir}" -FILES_${PN}-ps = "${base_bindir}/ps.${BPN}" -FILES_${PN}-sysctl = "${base_sbindir}/sysctl.${BPN} ${sysconfdir}/sysctl.conf ${sysconfdir}/sysctl.d" +FILES:${PN}-lib = "${libdir}" +FILES:${PN}-ps = "${base_bindir}/ps.${BPN}" +FILES:${PN}-sysctl = "${base_sbindir}/sysctl.${BPN} ${sysconfdir}/sysctl.conf ${sysconfdir}/sysctl.d" -ALTERNATIVE_${PN}_remove = "ps" -ALTERNATIVE_${PN}_remove = "sysctl" +ALTERNATIVE:${PN}:remove = "ps" +ALTERNATIVE:${PN}:remove = "sysctl" -ALTERNATIVE_${PN}-ps = "ps" +ALTERNATIVE:${PN}-ps = "ps" ALTERNATIVE_TARGET[ps] = "${base_bindir}/ps" ALTERNATIVE_LINK_NAME[ps] = "${base_bindir}/ps" -ALTERNATIVE_${PN}-sysctl = "sysctl" +ALTERNATIVE:${PN}-sysctl = "sysctl" ALTERNATIVE_TARGET[sysctl] = "${base_sbindir}/sysctl" ALTERNATIVE_LINK_NAME[sysctl] = "${base_sbindir}/sysctl"
\ No newline at end of file diff --git a/poky/meta/recipes-extended/psmisc/psmisc.inc b/poky/meta/recipes-extended/psmisc/psmisc.inc index 6ab128815..ad6263ed9 100644 --- a/poky/meta/recipes-extended/psmisc/psmisc.inc +++ b/poky/meta/recipes-extended/psmisc/psmisc.inc @@ -19,7 +19,7 @@ inherit autotools gettext # Upstream has a custom autogen.sh which invokes po/update-potfiles as they # don't ship a po/POTFILES.in (which is silly). Without that file gettext # doesn't believe po/ is a gettext directory and won't generate po/Makefile. -do_configure_prepend() { +do_configure:prepend() { ( cd ${S} && po/update-potfiles ) } @@ -27,30 +27,30 @@ do_configure_prepend() { PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}" PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6," -ALLOW_EMPTY_${PN} = "1" +ALLOW_EMPTY:${PN} = "1" PACKAGES =+ "fuser fuser-doc killall killall-doc pstree pstree-doc" PACKAGES += "psmisc-extras" -FILES_${PN} = "" -RDEPENDS_${PN} = "fuser killall pstree" +FILES:${PN} = "" +RDEPENDS:${PN} = "fuser killall pstree" -FILES_fuser = "${bindir}/fuser.${BPN}" -FILES_fuser-doc = "${mandir}/man1/fuser*" +FILES:fuser = "${bindir}/fuser.${BPN}" +FILES:fuser-doc = "${mandir}/man1/fuser*" -FILES_killall = "${bindir}/killall.${BPN}" -FILES_killall-doc = "${mandir}/man1/killall*" +FILES:killall = "${bindir}/killall.${BPN}" +FILES:killall-doc = "${mandir}/man1/killall*" -FILES_pstree = "${bindir}/pstree" -FILES_pstree-doc = "${mandir}/man1/pstree*" +FILES:pstree = "${bindir}/pstree" +FILES:pstree-doc = "${mandir}/man1/pstree*" -FILES_psmisc-extras = "${bindir}" -FILES_psmisc-extras-doc = "${mandir}" +FILES:psmisc-extras = "${bindir}" +FILES:psmisc-extras-doc = "${mandir}" inherit update-alternatives ALTERNATIVE_PRIORITY = "90" -ALTERNATIVE_killall = "killall" +ALTERNATIVE:killall = "killall" -ALTERNATIVE_fuser = "fuser" +ALTERNATIVE:fuser = "fuser" diff --git a/poky/meta/recipes-extended/quota/quota_4.06.bb b/poky/meta/recipes-extended/quota/quota_4.06.bb index 027b0811f..5115cb389 100644 --- a/poky/meta/recipes-extended/quota/quota_4.06.bb +++ b/poky/meta/recipes-extended/quota/quota_4.06.bb @@ -27,7 +27,7 @@ LDFLAGS += "${@bb.utils.contains('PACKAGECONFIG', 'rpc', '-ltirpc', '', d)}" ASNEEDED = "" PACKAGECONFIG ??= "tcp-wrappers rpc bsd" -PACKAGECONFIG_libc-musl = "tcp-wrappers rpc" +PACKAGECONFIG:libc-musl = "tcp-wrappers rpc" PACKAGECONFIG[tcp-wrappers] = "--enable-libwrap,--disable-libwrap,tcp-wrappers" PACKAGECONFIG[rpc] = "--enable-rpc,--disable-rpc,libtirpc" diff --git a/poky/meta/recipes-extended/rpcbind/rpcbind_1.2.6.bb b/poky/meta/recipes-extended/rpcbind/rpcbind_1.2.6.bb index b02638b2c..e58214d55 100644 --- a/poky/meta/recipes-extended/rpcbind/rpcbind_1.2.6.bb +++ b/poky/meta/recipes-extended/rpcbind/rpcbind_1.2.6.bb @@ -26,12 +26,12 @@ PACKAGECONFIG[tcp-wrappers] = "--enable-libwrap,--disable-libwrap,tcp-wrappers" INITSCRIPT_NAME = "rpcbind" INITSCRIPT_PARAMS = "start 12 2 3 4 5 . stop 60 0 1 6 ." -SYSTEMD_SERVICE_${PN} = "rpcbind.service rpcbind.socket" +SYSTEMD_SERVICE:${PN} = "rpcbind.service rpcbind.socket" inherit useradd USERADD_PACKAGES = "${PN}" -USERADD_PARAM_${PN} = "--system --no-create-home --home-dir / \ +USERADD_PARAM:${PN} = "--system --no-create-home --home-dir / \ --shell /bin/false --user-group rpc" PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}" @@ -42,7 +42,7 @@ PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_unitdir}/system/ EXTRA_OECONF += " --enable-warmstarts --with-rpcuser=rpc" -do_install_append () { +do_install:append () { install -d ${D}${sysconfdir}/init.d sed -e 's,/etc/,${sysconfdir}/,g' \ -e 's,/sbin/,${sbindir}/,g' \ @@ -50,5 +50,5 @@ do_install_append () { chmod 0755 ${D}${sysconfdir}/init.d/rpcbind } -ALTERNATIVE_${PN} = "rpcinfo" +ALTERNATIVE:${PN} = "rpcinfo" ALTERNATIVE_LINK_NAME[rpcinfo] = "${bindir}/rpcinfo" diff --git a/poky/meta/recipes-extended/rpcsvc-proto/rpcsvc-proto.bb b/poky/meta/recipes-extended/rpcsvc-proto/rpcsvc-proto.bb index 5aff2b56a..678632a81 100644 --- a/poky/meta/recipes-extended/rpcsvc-proto/rpcsvc-proto.bb +++ b/poky/meta/recipes-extended/rpcsvc-proto/rpcsvc-proto.bb @@ -27,13 +27,13 @@ S = "${WORKDIR}/git" inherit autotools gettext -EXTRA_OEMAKE_class-native = " -C rpcgen" +EXTRA_OEMAKE:class-native = " -C rpcgen" -do_configure_prepend() { +do_configure:prepend() { touch ${S}/ABOUT-NLS } -do_install_append() { +do_install:append() { # They come from quota recipe rm -rf ${D}${includedir}/rpcsvc/rquota.[hx] } diff --git a/poky/meta/recipes-extended/screen/screen_4.8.0.bb b/poky/meta/recipes-extended/screen/screen_4.8.0.bb index fe640c262..6d307d5ab 100644 --- a/poky/meta/recipes-extended/screen/screen_4.8.0.bb +++ b/poky/meta/recipes-extended/screen/screen_4.8.0.bb @@ -14,7 +14,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \ DEPENDS = "ncurses virtual/crypt \ ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}" -RDEPENDS_${PN} = "base-files" +RDEPENDS:${PN} = "base-files" SRC_URI = "${GNU_MIRROR}/screen/screen-${PV}.tar.gz \ ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'file://screen.pam', '', d)} \ @@ -35,17 +35,17 @@ PACKAGECONFIG[utempter] = "ac_cv_header_utempter_h=yes,ac_cv_header_utempter_h=n EXTRA_OECONF = "--with-pty-mode=0620 --with-pty-group=5 --with-sys-screenrc=${sysconfdir}/screenrc \ ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '--enable-pam', '--disable-pam', d)}" -do_install_append () { +do_install:append () { install -D -m 644 ${S}/etc/etcscreenrc ${D}/${sysconfdir}/screenrc if [ "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}" ]; then install -D -m 644 ${WORKDIR}/screen.pam ${D}/${sysconfdir}/pam.d/screen fi } -pkg_postinst_${PN} () { +pkg_postinst:${PN} () { grep -q "^${bindir}/screen$" $D${sysconfdir}/shells || echo ${bindir}/screen >> $D${sysconfdir}/shells } -pkg_postrm_${PN} () { +pkg_postrm:${PN} () { printf "$(grep -v "^${bindir}/screen$" $D${sysconfdir}/shells)\n" > $D${sysconfdir}/shells } diff --git a/poky/meta/recipes-extended/sed/sed_4.8.bb b/poky/meta/recipes-extended/sed/sed_4.8.bb index 57a769e8c..1f68214ae 100644 --- a/poky/meta/recipes-extended/sed/sed_4.8.bb +++ b/poky/meta/recipes-extended/sed/sed_4.8.bb @@ -18,8 +18,8 @@ inherit autotools texinfo update-alternatives gettext ptest PACKAGECONFIG[selinux] = "--with-selinux,--without-selinux,libselinux" -RDEPENDS_${PN}-ptest += "make gawk perl perl-module-filehandle perl-module-file-compare perl-module-file-find perl-module-file-temp perl-module-file-stat" -RRECOMMENDS_${PN}-ptest_append_libc-glibc = " locale-base-ru-ru locale-base-en-us locale-base-el-gr.iso-8859-7" +RDEPENDS:${PN}-ptest += "make gawk perl perl-module-filehandle perl-module-file-compare perl-module-file-find perl-module-file-temp perl-module-file-stat" +RRECOMMENDS:${PN}-ptest:append:libc-glibc = " locale-base-ru-ru locale-base-en-us locale-base-el-gr.iso-8859-7" EXTRA_OECONF = "--disable-acl \ " @@ -33,7 +33,7 @@ do_install () { fi } -ALTERNATIVE_${PN} = "sed" +ALTERNATIVE:${PN} = "sed" ALTERNATIVE_LINK_NAME[sed] = "${base_bindir}/sed" ALTERNATIVE_PRIORITY = "100" @@ -63,6 +63,6 @@ do_install_ptest() { -i ${D}${PTEST_PATH}/Makefile } -RPROVIDES_${PN} += "${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge', '/bin/sed', '', d)}" +RPROVIDES:${PN} += "${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge', '/bin/sed', '', d)}" BBCLASSEXTEND = "nativesdk" diff --git a/poky/meta/recipes-extended/shadow/files/0001-Disable-use-of-syslog-for-sysroot.patch b/poky/meta/recipes-extended/shadow/files/0001-Disable-use-of-syslog-for-sysroot.patch index ab317b9aa..95728bcd3 100644 --- a/poky/meta/recipes-extended/shadow/files/0001-Disable-use-of-syslog-for-sysroot.patch +++ b/poky/meta/recipes-extended/shadow/files/0001-Disable-use-of-syslog-for-sysroot.patch @@ -1,4 +1,4 @@ -From fa2d9453656641002802d8165e80adb9e6a729d2 Mon Sep 17 00:00:00 2001 +From 30a3906a0a21120fa6bbc918b6258ab9303fbeaa Mon Sep 17 00:00:00 2001 From: Scott Garman <scott.a.garman@intel.com> Date: Thu, 14 Apr 2016 12:28:57 +0200 Subject: [PATCH] Disable use of syslog for sysroot @@ -19,12 +19,12 @@ Signed-off-by: Chen Qi <Qi.Chen@windriver.com> src/groupmems.c | 3 +++ src/groupmod.c | 3 +++ src/useradd.c | 3 +++ - src/userdel.c | 3 +++ + src/userdel.c | 4 ++++ src/usermod.c | 3 +++ - 7 files changed, 21 insertions(+) + 7 files changed, 22 insertions(+) diff --git a/src/groupadd.c b/src/groupadd.c -index 2dd8eec..e9c4bb7 100644 +index d7f68b1..5fe5f43 100644 --- a/src/groupadd.c +++ b/src/groupadd.c @@ -34,6 +34,9 @@ @@ -38,7 +38,7 @@ index 2dd8eec..e9c4bb7 100644 #include <fcntl.h> #include <getopt.h> diff --git a/src/groupdel.c b/src/groupdel.c -index f941a84..5a70056 100644 +index 5c89312..2aefc5a 100644 --- a/src/groupdel.c +++ b/src/groupdel.c @@ -34,6 +34,9 @@ @@ -52,7 +52,7 @@ index f941a84..5a70056 100644 #include <fcntl.h> #include <grp.h> diff --git a/src/groupmems.c b/src/groupmems.c -index fc91c8b..2842514 100644 +index 654a8f3..6b2026b 100644 --- a/src/groupmems.c +++ b/src/groupmems.c @@ -32,6 +32,9 @@ @@ -66,7 +66,7 @@ index fc91c8b..2842514 100644 #include <getopt.h> #include <grp.h> diff --git a/src/groupmod.c b/src/groupmod.c -index 1dca5fc..bc14438 100644 +index acd6f35..a2c5247 100644 --- a/src/groupmod.c +++ b/src/groupmod.c @@ -34,6 +34,9 @@ @@ -80,7 +80,7 @@ index 1dca5fc..bc14438 100644 #include <fcntl.h> #include <getopt.h> diff --git a/src/useradd.c b/src/useradd.c -index 4af0f7c..1b7bf06 100644 +index 127177e..b80e505 100644 --- a/src/useradd.c +++ b/src/useradd.c @@ -34,6 +34,9 @@ @@ -94,21 +94,22 @@ index 4af0f7c..1b7bf06 100644 #include <ctype.h> #include <errno.h> diff --git a/src/userdel.c b/src/userdel.c -index cc951e5..153e0be 100644 +index 79a7c89..c1e010a 100644 --- a/src/userdel.c +++ b/src/userdel.c -@@ -34,6 +34,9 @@ - - #ident "$Id$" +@@ -31,6 +31,10 @@ + */ + #include <config.h> ++ +/* Disable use of syslog since we're running this command against a sysroot */ +#undef USE_SYSLOG + #include <assert.h> + #include <dirent.h> #include <errno.h> - #include <fcntl.h> diff --git a/src/usermod.c b/src/usermod.c -index 05b9871..21c6da9 100644 +index 03bb9b9..e15fdd4 100644 --- a/src/usermod.c +++ b/src/usermod.c @@ -34,6 +34,9 @@ diff --git a/poky/meta/recipes-extended/shadow/files/0001-Fix-out-of-tree-builds-with-respect-to-libsubid-incl.patch b/poky/meta/recipes-extended/shadow/files/0001-Fix-out-of-tree-builds-with-respect-to-libsubid-incl.patch new file mode 100644 index 000000000..c577be650 --- /dev/null +++ b/poky/meta/recipes-extended/shadow/files/0001-Fix-out-of-tree-builds-with-respect-to-libsubid-incl.patch @@ -0,0 +1,114 @@ +From eced8077b57946fe0b723e7c6c510e8f344ce89b Mon Sep 17 00:00:00 2001 +From: Serge Hallyn <serge@hallyn.com> +Date: Fri, 23 Jul 2021 17:51:13 -0500 +Subject: [PATCH] Fix out of tree builds with respect to libsubid includes + +There's a better way to do this, and I hope to clean that up, +but this fixes out of tree builds for me right now. + +Closes #386 + +Signed-off-by: Serge Hallyn <serge@hallyn.com> +Upstream-Status: Backport [https://github.com/shadow-maint/shadow/commit/537b8cd90be7b47b45c45cfd27765ef85eb0ebf1] +Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> +--- + lib/Makefile.am | 2 ++ + libmisc/Makefile.am | 2 +- + libsubid/Makefile.am | 4 ++-- + src/Makefile.am | 6 ++++++ + 4 files changed, 11 insertions(+), 3 deletions(-) + +diff --git a/lib/Makefile.am b/lib/Makefile.am +index ecf3ee25..5ac2e111 100644 +--- a/lib/Makefile.am ++++ b/lib/Makefile.am +@@ -10,6 +10,8 @@ if HAVE_VENDORDIR + libshadow_la_CPPFLAGS += -DVENDORDIR=\"$(VENDORDIR)\" + endif + ++libshadow_la_CPPFLAGS += -I$(top_srcdir) ++ + libshadow_la_SOURCES = \ + commonio.c \ + commonio.h \ +diff --git a/libmisc/Makefile.am b/libmisc/Makefile.am +index 9766a7ec..9f237e0d 100644 +--- a/libmisc/Makefile.am ++++ b/libmisc/Makefile.am +@@ -1,7 +1,7 @@ + + EXTRA_DIST = .indent.pro xgetXXbyYY.c + +-AM_CPPFLAGS = -I$(top_srcdir)/lib $(ECONF_CPPFLAGS) ++AM_CPPFLAGS = -I$(top_srcdir)/lib -I$(top_srcdir) $(ECONF_CPPFLAGS) + + noinst_LTLIBRARIES = libmisc.la + +diff --git a/libsubid/Makefile.am b/libsubid/Makefile.am +index 189165b0..cdc41fe6 100644 +--- a/libsubid/Makefile.am ++++ b/libsubid/Makefile.am +@@ -19,8 +19,8 @@ MISCLIBS = \ + $(LIBTCB) + + libsubid_la_LIBADD = \ +- $(top_srcdir)/lib/libshadow.la \ +- $(top_srcdir)/libmisc/libmisc.la \ ++ $(top_builddir)/lib/libshadow.la \ ++ $(top_builddir)/libmisc/libmisc.la \ + $(MISCLIBS) -ldl + + AM_CPPFLAGS = \ +diff --git a/src/Makefile.am b/src/Makefile.am +index 35027013..7c1a3491 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -10,6 +10,7 @@ sgidperms = 2755 + AM_CPPFLAGS = \ + -I${top_srcdir}/lib \ + -I$(top_srcdir)/libmisc \ ++ -I$(top_srcdir) \ + -DLOCALEDIR=\"$(datadir)/locale\" + + # XXX why are login and su in /bin anyway (other than for +@@ -183,6 +184,7 @@ list_subid_ranges_LDADD = \ + list_subid_ranges_CPPFLAGS = \ + -I$(top_srcdir)/lib \ + -I$(top_srcdir)/libmisc \ ++ -I$(top_srcdir) \ + -I$(top_srcdir)/libsubid + + get_subid_owners_LDADD = \ +@@ -194,11 +196,13 @@ get_subid_owners_LDADD = \ + get_subid_owners_CPPFLAGS = \ + -I$(top_srcdir)/lib \ + -I$(top_srcdir)/libmisc \ ++ -I$(top_srcdir) \ + -I$(top_srcdir)/libsubid + + new_subid_range_CPPFLAGS = \ + -I$(top_srcdir)/lib \ + -I$(top_srcdir)/libmisc \ ++ -I$(top_srcdir) \ + -I$(top_srcdir)/libsubid + + new_subid_range_LDADD = \ +@@ -210,6 +214,7 @@ new_subid_range_LDADD = \ + free_subid_range_CPPFLAGS = \ + -I$(top_srcdir)/lib \ + -I$(top_srcdir)/libmisc \ ++ -I$(top_srcdir) \ + -I$(top_srcdir)/libsubid + + free_subid_range_LDADD = \ +@@ -220,6 +225,7 @@ free_subid_range_LDADD = \ + + check_subid_range_CPPFLAGS = \ + -I$(top_srcdir)/lib \ ++ -I$(top_srcdir) \ + -I$(top_srcdir)/libmisc + + check_subid_range_LDADD = \ +-- +2.31.1 + diff --git a/poky/meta/recipes-extended/shadow/files/0001-libsubid-link-to-PAM-libraries.patch b/poky/meta/recipes-extended/shadow/files/0001-libsubid-link-to-PAM-libraries.patch new file mode 100644 index 000000000..ea7a99dbf --- /dev/null +++ b/poky/meta/recipes-extended/shadow/files/0001-libsubid-link-to-PAM-libraries.patch @@ -0,0 +1,31 @@ +From 4f44617af3a0c59be267ac5fcc33586e3783f5e6 Mon Sep 17 00:00:00 2001 +From: Xi Ruoyao <xry111@mengyan1223.wang> +Date: Fri, 23 Jul 2021 14:38:08 +0800 +Subject: [PATCH] libsubid: link to PAM libraries + +libsubid.so links to libmisc.a, which contains several routines referring to +PAM functions. + +Upstream-Status: Backport [https://github.com/shadow-maint/shadow/commit/f4a84efb468b8be21be124700ce35159c444e9d6] +Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> +--- + libsubid/Makefile.am | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/libsubid/Makefile.am b/libsubid/Makefile.am +index cdc41fe6..99308c1f 100644 +--- a/libsubid/Makefile.am ++++ b/libsubid/Makefile.am +@@ -16,7 +16,8 @@ MISCLIBS = \ + $(LIBCRYPT) \ + $(LIBACL) \ + $(LIBATTR) \ +- $(LIBTCB) ++ $(LIBTCB) \ ++ $(LIBPAM) + + libsubid_la_LIBADD = \ + $(top_builddir)/lib/libshadow.la \ +-- +2.31.1 + diff --git a/poky/meta/recipes-extended/shadow/files/0002-Allow-for-setting-password-in-clear-text.patch b/poky/meta/recipes-extended/shadow/files/0002-Allow-for-setting-password-in-clear-text.patch deleted file mode 100644 index c6332e4f7..000000000 --- a/poky/meta/recipes-extended/shadow/files/0002-Allow-for-setting-password-in-clear-text.patch +++ /dev/null @@ -1,301 +0,0 @@ -From a7d995228491ad5255ad86c1f04ba071f6880897 Mon Sep 17 00:00:00 2001 -From: Chen Qi <Qi.Chen@windriver.com> -Date: Sat, 16 Nov 2013 15:27:47 +0800 -Subject: [PATCH] Allow for setting password in clear text - -Upstream-Status: Inappropriate [OE specific] - -Signed-off-by: Chen Qi <Qi.Chen@windriver.com> - ---- - src/Makefile.am | 8 ++++---- - src/groupadd.c | 20 +++++++++++++++----- - src/groupmod.c | 20 +++++++++++++++----- - src/useradd.c | 21 +++++++++++++++------ - src/usermod.c | 20 +++++++++++++++----- - 5 files changed, 64 insertions(+), 25 deletions(-) - -diff --git a/src/Makefile.am b/src/Makefile.am -index f31fd7a..4a317a3 100644 ---- a/src/Makefile.am -+++ b/src/Makefile.am -@@ -103,10 +103,10 @@ chsh_LDADD = $(LDADD) $(LIBPAM) $(LIBAUDIT) $(LIBSELINUX) $(LIBCRYPT_NOPAM) - chpasswd_LDADD = $(LDADD) $(LIBPAM) $(LIBAUDIT) $(LIBSELINUX) $(LIBCRYPT) $(LIBECONF) - expiry_LDADD = $(LDADD) $(LIBECONF) - gpasswd_LDADD = $(LDADD) $(LIBAUDIT) $(LIBSELINUX) $(LIBCRYPT) $(LIBECONF) --groupadd_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBECONF) -+groupadd_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBECONF) $(LIBCRYPT) - groupdel_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBECONF) - groupmems_LDADD = $(LDADD) $(LIBPAM) $(LIBAUDIT) $(LIBSELINUX) $(LIBECONF) --groupmod_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBECONF) -+groupmod_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBECONF) $(LIBCRYPT) - grpck_LDADD = $(LDADD) $(LIBAUDIT) $(LIBSELINUX) $(LIBECONF) - grpconv_LDADD = $(LDADD) $(LIBAUDIT) $(LIBSELINUX) $(LIBECONF) - grpunconv_LDADD = $(LDADD) $(LIBAUDIT) $(LIBSELINUX) $(LIBECONF) -@@ -127,9 +127,9 @@ su_SOURCES = \ - suauth.c - su_LDADD = $(LDADD) $(LIBPAM) $(LIBAUDIT) $(LIBCRYPT_NOPAM) $(LIBSKEY) $(LIBMD) $(LIBECONF) - sulogin_LDADD = $(LDADD) $(LIBCRYPT) $(LIBECONF) --useradd_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBSEMANAGE) $(LIBACL) $(LIBATTR) $(LIBECONF) -+useradd_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBSEMANAGE) $(LIBACL) $(LIBATTR) $(LIBECONF) $(LIBCRYPT) - userdel_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBSEMANAGE) $(LIBECONF) --usermod_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBSEMANAGE) $(LIBACL) $(LIBATTR) $(LIBECONF) -+usermod_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBSEMANAGE) $(LIBACL) $(LIBATTR) $(LIBECONF) $(LIBCRYPT) - vipw_LDADD = $(LDADD) $(LIBAUDIT) $(LIBSELINUX) $(LIBECONF) - - install-am: all-am -diff --git a/src/groupadd.c b/src/groupadd.c -index e9c4bb7..d572c00 100644 ---- a/src/groupadd.c -+++ b/src/groupadd.c -@@ -127,9 +127,10 @@ static /*@noreturn@*/void usage (int status) - (void) fputs (_(" -o, --non-unique allow to create groups with duplicate\n" - " (non-unique) GID\n"), usageout); - (void) fputs (_(" -p, --password PASSWORD use this encrypted password for the new group\n"), usageout); -+ (void) fputs (_(" -P, --clear-password PASSWORD use this clear password for the new group\n"), usageout); - (void) fputs (_(" -r, --system create a system account\n"), usageout); - (void) fputs (_(" -R, --root CHROOT_DIR directory to chroot into\n"), usageout); -- (void) fputs (_(" -P, --prefix PREFIX_DIR directory prefix\n"), usageout); -+ (void) fputs (_(" -A, --prefix PREFIX_DIR directory prefix\n"), usageout); - (void) fputs ("\n", usageout); - exit (status); - } -@@ -391,13 +392,14 @@ static void process_flags (int argc, char **argv) - {"key", required_argument, NULL, 'K'}, - {"non-unique", no_argument, NULL, 'o'}, - {"password", required_argument, NULL, 'p'}, -+ {"clear-password", required_argument, NULL, 'P'}, - {"system", no_argument, NULL, 'r'}, - {"root", required_argument, NULL, 'R'}, -- {"prefix", required_argument, NULL, 'P'}, -+ {"prefix", required_argument, NULL, 'A'}, - {NULL, 0, NULL, '\0'} - }; - -- while ((c = getopt_long (argc, argv, "fg:hK:op:rR:P:", -+ while ((c = getopt_long (argc, argv, "fg:hK:op:P:rR:A:", - long_options, NULL)) != -1) { - switch (c) { - case 'f': -@@ -449,12 +451,20 @@ static void process_flags (int argc, char **argv) - pflg = true; - group_passwd = optarg; - break; -+ case 'P': -+ pflg = true; -+ group_passwd = pw_encrypt (optarg, crypt_make_salt (NULL, NULL)); -+ break; - case 'r': - rflg = true; - break; - case 'R': /* no-op, handled in process_root_flag () */ - break; -- case 'P': /* no-op, handled in process_prefix_flag () */ -+ case 'A': /* no-op, handled in process_prefix_flag () */ -+ fprintf (stderr, -+ _("%s: -A is deliberately not supported \n"), -+ Prog); -+ exit (E_BAD_ARG); - break; - default: - usage (E_USAGE); -@@ -588,7 +598,7 @@ int main (int argc, char **argv) - (void) textdomain (PACKAGE); - - process_root_flag ("-R", argc, argv); -- prefix = process_prefix_flag ("-P", argc, argv); -+ prefix = process_prefix_flag ("-A", argc, argv); - - OPENLOG ("groupadd"); - #ifdef WITH_AUDIT -diff --git a/src/groupmod.c b/src/groupmod.c -index bc14438..25ccb44 100644 ---- a/src/groupmod.c -+++ b/src/groupmod.c -@@ -138,8 +138,9 @@ static void usage (int status) - (void) fputs (_(" -o, --non-unique allow to use a duplicate (non-unique) GID\n"), usageout); - (void) fputs (_(" -p, --password PASSWORD change the password to this (encrypted)\n" - " PASSWORD\n"), usageout); -+ (void) fputs (_(" -P, --clear-password PASSWORD change the password to this clear PASSWORD\n"), usageout); - (void) fputs (_(" -R, --root CHROOT_DIR directory to chroot into\n"), usageout); -- (void) fputs (_(" -P, --prefix PREFIX_DIR prefix directory where are located the /etc/* files\n"), usageout); -+ (void) fputs (_(" -A, --prefix PREFIX_DIR prefix directory where are located the /etc/* files\n"), usageout); - (void) fputs ("\n", usageout); - exit (status); - } -@@ -387,11 +388,12 @@ static void process_flags (int argc, char **argv) - {"new-name", required_argument, NULL, 'n'}, - {"non-unique", no_argument, NULL, 'o'}, - {"password", required_argument, NULL, 'p'}, -+ {"clear-password", required_argument, NULL, 'P'}, - {"root", required_argument, NULL, 'R'}, -- {"prefix", required_argument, NULL, 'P'}, -+ {"prefix", required_argument, NULL, 'A'}, - {NULL, 0, NULL, '\0'} - }; -- while ((c = getopt_long (argc, argv, "g:hn:op:R:P:", -+ while ((c = getopt_long (argc, argv, "g:hn:op:P:R:A:", - long_options, NULL)) != -1) { - switch (c) { - case 'g': -@@ -418,9 +420,17 @@ static void process_flags (int argc, char **argv) - group_passwd = optarg; - pflg = true; - break; -+ case 'P': -+ group_passwd = pw_encrypt (optarg, crypt_make_salt (NULL, NULL)); -+ pflg = true; -+ break; - case 'R': /* no-op, handled in process_root_flag () */ - break; -- case 'P': /* no-op, handled in process_prefix_flag () */ -+ case 'A': /* no-op, handled in process_prefix_flag () */ -+ fprintf (stderr, -+ _("%s: -A is deliberately not supported \n"), -+ Prog); -+ exit (E_BAD_ARG); - break; - default: - usage (E_USAGE); -@@ -761,7 +771,7 @@ int main (int argc, char **argv) - (void) textdomain (PACKAGE); - - process_root_flag ("-R", argc, argv); -- prefix = process_prefix_flag ("-P", argc, argv); -+ prefix = process_prefix_flag ("-A", argc, argv); - - OPENLOG ("groupmod"); - #ifdef WITH_AUDIT -diff --git a/src/useradd.c b/src/useradd.c -index 1b7bf06..44f09e2 100644 ---- a/src/useradd.c -+++ b/src/useradd.c -@@ -853,9 +853,10 @@ static void usage (int status) - (void) fputs (_(" -o, --non-unique allow to create users with duplicate\n" - " (non-unique) UID\n"), usageout); - (void) fputs (_(" -p, --password PASSWORD encrypted password of the new account\n"), usageout); -+ (void) fputs (_(" -P, --clear-password PASSWORD clear password of the new account\n"), usageout); - (void) fputs (_(" -r, --system create a system account\n"), usageout); - (void) fputs (_(" -R, --root CHROOT_DIR directory to chroot into\n"), usageout); -- (void) fputs (_(" -P, --prefix PREFIX_DIR prefix directory where are located the /etc/* files\n"), usageout); -+ (void) fputs (_(" -A, --prefix PREFIX_DIR prefix directory where are located the /etc/* files\n"), usageout); - (void) fputs (_(" -s, --shell SHELL login shell of the new account\n"), usageout); - (void) fputs (_(" -u, --uid UID user ID of the new account\n"), usageout); - (void) fputs (_(" -U, --user-group create a group with the same name as the user\n"), usageout); -@@ -1133,9 +1134,10 @@ static void process_flags (int argc, char **argv) - {"no-user-group", no_argument, NULL, 'N'}, - {"non-unique", no_argument, NULL, 'o'}, - {"password", required_argument, NULL, 'p'}, -+ {"clear-password", required_argument, NULL, 'P'}, - {"system", no_argument, NULL, 'r'}, - {"root", required_argument, NULL, 'R'}, -- {"prefix", required_argument, NULL, 'P'}, -+ {"prefix", required_argument, NULL, 'A'}, - {"shell", required_argument, NULL, 's'}, - {"uid", required_argument, NULL, 'u'}, - {"user-group", no_argument, NULL, 'U'}, -@@ -1146,9 +1148,9 @@ static void process_flags (int argc, char **argv) - }; - while ((c = getopt_long (argc, argv, - #ifdef WITH_SELINUX -- "b:c:d:De:f:g:G:hk:K:lmMNop:rR:P:s:u:UZ:", -+ "b:c:d:De:f:g:G:hk:K:lmMNop:P:rR:A:s:u:UZ:", - #else /* !WITH_SELINUX */ -- "b:c:d:De:f:g:G:hk:K:lmMNop:rR:P:s:u:U", -+ "b:c:d:De:f:g:G:hk:K:lmMNop:P:rR:A:s:u:U", - #endif /* !WITH_SELINUX */ - long_options, NULL)) != -1) { - switch (c) { -@@ -1320,12 +1322,19 @@ static void process_flags (int argc, char **argv) - } - user_pass = optarg; - break; -+ case 'P': /* set clear text password */ -+ user_pass = pw_encrypt (optarg, crypt_make_salt (NULL, NULL)); -+ break; - case 'r': - rflg = true; - break; - case 'R': /* no-op, handled in process_root_flag () */ - break; -- case 'P': /* no-op, handled in process_prefix_flag () */ -+ case 'A': /* no-op, handled in process_prefix_flag () */ -+ fprintf (stderr, -+ _("%s: -A is deliberately not supported \n"), -+ Prog); -+ exit (E_BAD_ARG); - break; - case 's': - if ( ( !VALID (optarg) ) -@@ -2257,7 +2266,7 @@ int main (int argc, char **argv) - - process_root_flag ("-R", argc, argv); - -- prefix = process_prefix_flag("-P", argc, argv); -+ prefix = process_prefix_flag("-A", argc, argv); - - OPENLOG ("useradd"); - #ifdef WITH_AUDIT -diff --git a/src/usermod.c b/src/usermod.c -index 21c6da9..cffdb3e 100644 ---- a/src/usermod.c -+++ b/src/usermod.c -@@ -431,8 +431,9 @@ static /*@noreturn@*/void usage (int status) - " new location (use only with -d)\n"), usageout); - (void) fputs (_(" -o, --non-unique allow using duplicate (non-unique) UID\n"), usageout); - (void) fputs (_(" -p, --password PASSWORD use encrypted password for the new password\n"), usageout); -+ (void) fputs (_(" -P, --clear-password PASSWORD use clear password for the new password\n"), usageout); - (void) fputs (_(" -R, --root CHROOT_DIR directory to chroot into\n"), usageout); -- (void) fputs (_(" -P, --prefix PREFIX_DIR prefix directory where are located the /etc/* files\n"), usageout); -+ (void) fputs (_(" -A, --prefix PREFIX_DIR prefix directory where are located the /etc/* files\n"), usageout); - (void) fputs (_(" -s, --shell SHELL new login shell for the user account\n"), usageout); - (void) fputs (_(" -u, --uid UID new UID for the user account\n"), usageout); - (void) fputs (_(" -U, --unlock unlock the user account\n"), usageout); -@@ -1010,8 +1011,9 @@ static void process_flags (int argc, char **argv) - {"move-home", no_argument, NULL, 'm'}, - {"non-unique", no_argument, NULL, 'o'}, - {"password", required_argument, NULL, 'p'}, -+ {"clear-password", required_argument, NULL, 'P'}, - {"root", required_argument, NULL, 'R'}, -- {"prefix", required_argument, NULL, 'P'}, -+ {"prefix", required_argument, NULL, 'A'}, - {"shell", required_argument, NULL, 's'}, - {"uid", required_argument, NULL, 'u'}, - {"unlock", no_argument, NULL, 'U'}, -@@ -1027,7 +1029,7 @@ static void process_flags (int argc, char **argv) - {NULL, 0, NULL, '\0'} - }; - while ((c = getopt_long (argc, argv, -- "abc:d:e:f:g:G:hl:Lmop:R:s:u:UP:" -+ "abc:d:e:f:g:G:hl:Lmop:P:R:s:u:UA:" - #ifdef ENABLE_SUBIDS - "v:w:V:W:" - #endif /* ENABLE_SUBIDS */ -@@ -1130,9 +1132,17 @@ static void process_flags (int argc, char **argv) - user_pass = optarg; - pflg = true; - break; -+ case 'P': -+ user_pass = pw_encrypt (optarg, crypt_make_salt (NULL, NULL)); -+ pflg = true; -+ break; - case 'R': /* no-op, handled in process_root_flag () */ - break; -- case 'P': /* no-op, handled in process_prefix_flag () */ -+ case 'A': /* no-op, handled in process_prefix_flag () */ -+ fprintf (stderr, -+ _("%s: -A is deliberately not supported \n"), -+ Prog); -+ exit (E_BAD_ARG); - break; - case 's': - if (!VALID (optarg)) { -@@ -2127,7 +2137,7 @@ int main (int argc, char **argv) - (void) textdomain (PACKAGE); - - process_root_flag ("-R", argc, argv); -- prefix = process_prefix_flag ("-P", argc, argv); -+ prefix = process_prefix_flag ("-A", argc, argv); - - OPENLOG ("usermod"); - #ifdef WITH_AUDIT diff --git a/poky/meta/recipes-extended/shadow/files/commonio.c-fix-unexpected-open-failure-in-chroot-env.patch b/poky/meta/recipes-extended/shadow/files/commonio.c-fix-unexpected-open-failure-in-chroot-env.patch index 982521636..bd24626a2 100644 --- a/poky/meta/recipes-extended/shadow/files/commonio.c-fix-unexpected-open-failure-in-chroot-env.patch +++ b/poky/meta/recipes-extended/shadow/files/commonio.c-fix-unexpected-open-failure-in-chroot-env.patch @@ -1,4 +1,4 @@ -From 66533c7c6f347d257020675a1ed6e0c59cbbc3f0 Mon Sep 17 00:00:00 2001 +From 1422c24f7266b553c82100e3d18a10c55cd91063 Mon Sep 17 00:00:00 2001 From: Chen Qi <Qi.Chen@windriver.com> Date: Thu, 17 Jul 2014 15:53:34 +0800 Subject: [PATCH] commonio.c-fix-unexpected-open-failure-in-chroot-env @@ -21,10 +21,10 @@ Signed-off-by: Chen Qi <Qi.Chen@windriver.com> 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/lib/commonio.c b/lib/commonio.c -index 16fa7e7..d6bc297 100644 +index cef404b..66908fb 100644 --- a/lib/commonio.c +++ b/lib/commonio.c -@@ -632,10 +632,18 @@ int commonio_open (struct commonio_db *db, int mode) +@@ -646,10 +646,18 @@ int commonio_open (struct commonio_db *db, int mode) db->cursor = NULL; db->changed = false; diff --git a/poky/meta/recipes-extended/shadow/shadow.inc b/poky/meta/recipes-extended/shadow/shadow.inc index 2cbdfbc1c..283450964 100644 --- a/poky/meta/recipes-extended/shadow/shadow.inc +++ b/poky/meta/recipes-extended/shadow/shadow.inc @@ -10,28 +10,28 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=ed80ff1c2b40843cf5768e5229cf16e5 \ DEPENDS = "virtual/crypt" UPSTREAM_CHECK_URI = "https://github.com/shadow-maint/shadow/releases" -SRC_URI = "https://github.com/shadow-maint/shadow/releases/download/${PV}/${BP}.tar.gz \ +SRC_URI = "https://github.com/shadow-maint/shadow/releases/download/v${PV}/${BP}.tar.gz \ file://shadow-4.1.3-dots-in-usernames.patch \ ${@bb.utils.contains('PACKAGECONFIG', 'pam', '${PAM_SRC_URI}', '', d)} \ file://shadow-relaxed-usernames.patch \ + file://0001-Fix-out-of-tree-builds-with-respect-to-libsubid-incl.patch \ + file://0001-libsubid-link-to-PAM-libraries.patch \ " -SRC_URI_append_class-target = " \ +SRC_URI:append:class-target = " \ file://login_defs_pam.sed \ file://shadow-update-pam-conf.patch \ " -SRC_URI_append_class-native = " \ +SRC_URI:append:class-native = " \ file://0001-Disable-use-of-syslog-for-sysroot.patch \ - file://0002-Allow-for-setting-password-in-clear-text.patch \ file://commonio.c-fix-unexpected-open-failure-in-chroot-env.patch \ " -SRC_URI_append_class-nativesdk = " \ +SRC_URI:append:class-nativesdk = " \ file://0001-Disable-use-of-syslog-for-sysroot.patch \ " -SRC_URI[md5sum] = "3d97f11e66bfb0b14702b115fa8be480" -SRC_URI[sha256sum] = "3ee3081fbbcbcfea5c8916419e46bc724807bab271072104f23e7a29e9668f3a" +SRC_URI[sha256sum] = "6c4627ff9c9422b96664517ae753c944f2902e92809d0698b65f5fef11985212" # Additional Policy files for PAM PAM_SRC_URI = "file://pam.d/chfn \ @@ -55,9 +55,9 @@ EXTRA_OECONF += "--without-audit \ ${NSCDOPT}" NSCDOPT = "" -NSCDOPT_class-native = "--without-nscd" -NSCDOPT_class-nativesdk = "--without-nscd" -NSCDOPT_libc-glibc = "--with-nscd" +NSCDOPT:class-native = "--without-nscd" +NSCDOPT:class-nativesdk = "--without-nscd" +NSCDOPT:libc-glibc = "--with-nscd" PAM_PLUGINS = "libpam-runtime \ pam-plugin-faildelay \ @@ -72,21 +72,21 @@ PAM_PLUGINS = "libpam-runtime \ pam-plugin-shells \ pam-plugin-rootok" -PAM_PLUGINS_remove_libc-musl = "pam-plugin-lastlog" +PAM_PLUGINS:remove:libc-musl = "pam-plugin-lastlog" PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)} \ ${@bb.utils.contains('DISTRO_FEATURES', 'xattr', 'attr', '', d)}" -PACKAGECONFIG_class-native ??= "${@bb.utils.contains('DISTRO_FEATURES', 'xattr', 'attr', '', d)}" -PACKAGECONFIG_class-nativesdk = "" +PACKAGECONFIG:class-native ??= "${@bb.utils.contains('DISTRO_FEATURES', 'xattr', 'attr', '', d)}" +PACKAGECONFIG:class-nativesdk = "" PACKAGECONFIG[pam] = "--with-libpam,--without-libpam,libpam,${PAM_PLUGINS}" PACKAGECONFIG[attr] = "--with-attr,--without-attr,attr" PACKAGECONFIG[acl] = "--with-acl,--without-acl,acl" -RDEPENDS_${PN} = "shadow-securetty \ +RDEPENDS:${PN} = "shadow-securetty \ base-passwd \ util-linux-sulogin" -RDEPENDS_${PN}_class-native = "" -RDEPENDS_${PN}_class-nativesdk = "" +RDEPENDS:${PN}:class-native = "" +RDEPENDS:${PN}:class-nativesdk = "" do_install() { oe_runmake DESTDIR="${D}" sbindir="${base_sbindir}" usbindir="${sbindir}" install @@ -115,15 +115,9 @@ do_install() { # Use proper encryption for passwords sed -i 's/^#ENCRYPT_METHOD.*$/ENCRYPT_METHOD SHA512/' ${D}${sysconfdir}/login.defs - # Now we don't have a mail system. Disable mail creation for now. - sed -i 's:/bin/bash:/bin/sh:g' ${D}${sysconfdir}/default/useradd - sed -i '/^CREATE_MAIL_SPOOL/ s:^:#:' ${D}${sysconfdir}/default/useradd - - # Use users group by default - sed -i 's,^GROUP=1000,GROUP=100,g' ${D}${sysconfdir}/default/useradd } -do_install_append() { +do_install:append() { # Ensure that the image has as a /var/spool/mail dir so shadow can # put mailboxes there if the user reconfigures shadow to its # defaults (see sed below). @@ -156,7 +150,7 @@ do_install_append() { } PACKAGES =+ "${PN}-base" -FILES_${PN}-base = "\ +FILES:${PN}-base = "\ ${base_bindir}/login.shadow \ ${base_bindir}/su.shadow \ ${bindir}/sg \ @@ -166,13 +160,13 @@ FILES_${PN}-base = "\ ${sysconfdir}/pam.d/su \ ${sysconfdir}/login.defs \ " -RDEPENDS_${PN} += "${PN}-base" +RDEPENDS:${PN} += "${PN}-base" inherit update-alternatives ALTERNATIVE_PRIORITY = "200" -ALTERNATIVE_${PN} = "passwd chfn chsh chpasswd vipw vigr nologin" +ALTERNATIVE:${PN} = "passwd chfn chsh chpasswd vipw vigr nologin" ALTERNATIVE_LINK_NAME[chfn] = "${bindir}/chfn" ALTERNATIVE_LINK_NAME[chsh] = "${bindir}/chsh" ALTERNATIVE_LINK_NAME[chpasswd] = "${sbindir}/chpasswd" @@ -180,19 +174,12 @@ ALTERNATIVE_LINK_NAME[vipw] = "${base_sbindir}/vipw" ALTERNATIVE_LINK_NAME[vigr] = "${base_sbindir}/vigr" ALTERNATIVE_LINK_NAME[nologin] = "${base_sbindir}/nologin" -ALTERNATIVE_${PN}-base = "newgrp groups login su" +ALTERNATIVE:${PN}-base = "newgrp groups login su" ALTERNATIVE_LINK_NAME[login] = "${base_bindir}/login" ALTERNATIVE_LINK_NAME[su] = "${base_bindir}/su" -ALTERNATIVE_${PN}-doc = "passwd.5 getspnam.3 groups.1 su.1 nologin.8" -ALTERNATIVE_LINK_NAME[passwd.5] = "${mandir}/man5/passwd.5" -ALTERNATIVE_LINK_NAME[getspnam.3] = "${mandir}/man3/getspnam.3" -ALTERNATIVE_LINK_NAME[groups.1] = "${mandir}/man1/groups.1" -ALTERNATIVE_LINK_NAME[su.1] = "${mandir}/man1/su.1" -ALTERNATIVE_LINK_NAME[nologin.8] = "${mandir}/man8/nologin.8" - PACKAGE_WRITE_DEPS += "shadow-native" -pkg_postinst_${PN}_class-target () { +pkg_postinst:${PN}:class-target () { if [ "x$D" != "x" ]; then rootarg="--root $D" else diff --git a/poky/meta/recipes-extended/shadow/shadow_4.8.1.bb b/poky/meta/recipes-extended/shadow/shadow_4.9.bb index ff4aad926..2fbd81bf7 100644 --- a/poky/meta/recipes-extended/shadow/shadow_4.8.1.bb +++ b/poky/meta/recipes-extended/shadow/shadow_4.9.bb @@ -2,7 +2,7 @@ require shadow.inc # Build falsely assumes that if --enable-libpam is set, we don't need to link against # libcrypt. This breaks chsh. -BUILD_LDFLAGS_append_class-target = " ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '-lcrypt', '', d)}" +BUILD_LDFLAGS:append:class-target = " ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '-lcrypt', '', d)}" BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-extended/slang/slang_2.3.2.bb b/poky/meta/recipes-extended/slang/slang_2.3.2.bb index 99efb16da..81d152f00 100644 --- a/poky/meta/recipes-extended/slang/slang_2.3.2.bb +++ b/poky/meta/recipes-extended/slang/slang_2.3.2.bb @@ -27,7 +27,7 @@ SRC_URI[md5sum] = "c2d5a7aa0246627da490be4e399c87cb" SRC_URI[sha256sum] = "fc9e3b0fc4f67c3c1f6d43c90c16a5c42d117b8e28457c5b46831b8b5d3ae31a" UPSTREAM_CHECK_URI = "http://www.jedsoft.org/releases/slang/" -PREMIRRORS_append = "\n http://www.jedsoft.org/releases/slang/.* http://www.jedsoft.org/releases/slang/old/ \n" +PREMIRRORS:append = "\n http://www.jedsoft.org/releases/slang/.* http://www.jedsoft.org/releases/slang/old/ \n" inherit autotools-brokensep ptest CLEANBROKEN = "1" @@ -42,7 +42,7 @@ PACKAGECONFIG[pcre] = "--with-pcre=${STAGING_DIR_HOST}${prefix},--without-pcre,p PACKAGECONFIG[png] = "--with-png=${STAGING_DIR_HOST}${prefix},--without-png,libpng" PACKAGECONFIG[zlib] = "--with-z=${STAGING_DIR_HOST}${prefix},--without-z,zlib" -do_configure_prepend() { +do_configure:prepend() { cd ${S}/autoconf # slang keeps configure.ac and rest of autoconf files in autoconf/ directory # we have to go there to be able to run gnu-configize cause it expects configure.{in,ac} @@ -74,9 +74,9 @@ do_install_ptest() { sed -i 's/\.\.\/\.\.\/doc\/text\/slangfun\.txt/slangfun\.txt/' ${D}${PTEST_PATH}/test/docfun.sl } -FILES_${PN} += "${libdir}/${BPN}/v2/modules/ ${datadir}/slsh/" +FILES:${PN} += "${libdir}/${BPN}/v2/modules/ ${datadir}/slsh/" -RDEPENDS_${PN}-ptest += "make" +RDEPENDS:${PN}-ptest += "make" PARALLEL_MAKE = "" PARALLEL_MAKEINST = "" diff --git a/poky/meta/recipes-extended/stress-ng/stress-ng/0001-Detemine-minimal-stack-size-via-sysconf-then-PTHREAD.patch b/poky/meta/recipes-extended/stress-ng/stress-ng/0001-Detemine-minimal-stack-size-via-sysconf-then-PTHREAD.patch new file mode 100644 index 000000000..d275e3d7f --- /dev/null +++ b/poky/meta/recipes-extended/stress-ng/stress-ng/0001-Detemine-minimal-stack-size-via-sysconf-then-PTHREAD.patch @@ -0,0 +1,103 @@ +From f839de283c44ffe46a2d14bfdf854c145abd8ed6 Mon Sep 17 00:00:00 2001 +From: Colin Ian King <colin.king@canonical.com> +Date: Mon, 19 Jul 2021 20:49:34 +0100 +Subject: [PATCH] Detemine minimal stack size via sysconf, then PTHREAD_STACK_MIN then guess + +Don't rely on PTHREAD_STACK_MIN being defined, use sysconf, then +PTHREAD_STACK_MIN if it is defined, then 8K default. + +Upstream-Status: Backport [https://kernel.ubuntu.com/git/cking/stress-ng.git/commit/?id=f839de283c44ffe46a2d14bfdf854c145abd8ed6] +Signed-off-by: Colin Ian King <colin.king@canonical.com> +--- + core-helper.c | 31 +++++++++++++++++++++++++++++++ + stress-ng.h | 1 + + stress-pthread.c | 13 ++----------- + 3 files changed, 34 insertions(+), 11 deletions(-) + +diff --git a/core-helper.c b/core-helper.c +index 508627f2..97a3b869 100644 +--- a/core-helper.c ++++ b/core-helper.c +@@ -2494,6 +2494,37 @@ size_t stress_min_sig_stack_size(void) + return (size_t)sz; + } + ++size_t stress_min_pthread_stack_size(void) ++{ ++ static long sz = -1, min; ++ ++ /* return cached copy */ ++ if (sz > 0) ++ return sz; ++ ++ min = stress_min_aux_sig_stack_size(); ++#if defined(__SC_THREAD_STACK_MIN_VALUE) ++ sz = sysconf(__SC_THREAD_STACK_MIN_VALUE); ++ if (sz > min) ++ min = sz; ++#endif ++#if defined(_SC_THREAD_STACK_MIN_VALUE) ++ sz = sysconf(_SC_THREAD_STACK_MIN_VALUE); ++ if (sz > min) ++ min = sz; ++#endif ++#if defined(PTHREAD_STACK_MIN) ++ if (PTHREAD_STACK_MIN > min) ++ min = PTHREAD_STACK_MIN; ++#endif ++ if (8192 > min) ++ min = 8192; ++ ++ sz = min; ++ ++ return (size_t)sz; ++} ++ + /* + * stress_sig_handler_exit() + * signal handler that exits a process via _exit(0) for +diff --git a/stress-ng.h b/stress-ng.h +index 8a8b17ae..cd744756 100644 +--- a/stress-ng.h ++++ b/stress-ng.h +@@ -4056,6 +4056,7 @@ extern WARN_UNUSED int32_t stress_get_opt_ionice_class(const char *const str); + /* Misc helper funcs */ + extern WARN_UNUSED size_t stress_sig_stack_size(void); + extern WARN_UNUSED size_t stress_min_sig_stack_size(void); ++extern WARN_UNUSED size_t stress_min_pthread_stack_size(void); + + #define STRESS_SIGSTKSZ (stress_sig_stack_size()) + #define STRESS_MINSIGSTKSZ (stress_min_sig_stack_size()) +diff --git a/stress-pthread.c b/stress-pthread.c +index 0da3aeec..27777af8 100644 +--- a/stress-pthread.c ++++ b/stress-pthread.c +@@ -69,12 +69,7 @@ static const stress_opt_set_func_t opt_set_funcs[] = { + + #if defined(HAVE_LIB_PTHREAD) + +-/* Some systems such as GNU/HURD don't define PTHREAD_STACK_MIN */ +-#if !defined(PTHREAD_STACK_MIN) +-#define PTHREAD_STACK_MIN (16 * KB) +-#endif +- +-#define DEFAULT_STACK_MIN (16 * KB) ++#define DEFAULT_STACK_MIN (8 * KB) + + #if defined(HAVE_GET_ROBUST_LIST) && \ + defined(HAVE_LINUX_FUTEX_H) +@@ -404,11 +399,7 @@ static int stress_pthread(const stress_args_t *args) + stress_pthread_args_t pargs = { args, NULL, 0 }; + sigset_t set; + #if defined(HAVE_PTHREAD_ATTR_SETSTACK) +-#if DEFAULT_STACK_MIN == PTHREAD_STACK_MIN +- const size_t stack_size = PTHREAD_STACK_MIN; +-#else +- const size_t stack_size = STRESS_MAXIMUM(DEFAULT_STACK_MIN, PTHREAD_STACK_MIN); +-#endif ++ const size_t stack_size = STRESS_MAXIMUM(DEFAULT_STACK_MIN, stress_min_pthread_stack_size()); + #endif + + keep_running_flag = true; +-- +2.32.0 diff --git a/poky/meta/recipes-extended/stress-ng/stress-ng/no_daddr_t.patch b/poky/meta/recipes-extended/stress-ng/stress-ng/no_daddr_t.patch deleted file mode 100644 index dba4494b9..000000000 --- a/poky/meta/recipes-extended/stress-ng/stress-ng/no_daddr_t.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 55e11765af2bdc8adfac87dab1fb2682f7e6c236 Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Tue, 9 Jun 2020 22:10:28 -0700 -Subject: [PATCH] Define daddr_t if __DADDR_T_TYPE is not defined - -glibc defined daddr_t but musl does not, ideally it should not be used -and simple int type is enough. However, its better to leave glibc behavior -as it is and only define it to int if daddr_t is not provided by libc - -Upstream-Status: Pending - -Signed-off-by: Khem Raj <raj.khem@gmail.com> - ---- - stress-ng.h | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/stress-ng.h b/stress-ng.h -index 1a66293..802dc25 100644 ---- a/stress-ng.h -+++ b/stress-ng.h -@@ -3763,6 +3763,10 @@ struct shim_statx { - uint64_t __spare2[14]; - }; - -+#ifndef __DADDR_T_TYPE -+typedef int daddr_t; -+#endif -+ - /* old ustat struct */ - struct shim_ustat { - #if defined(HAVE_DADDR_T) diff --git a/poky/meta/recipes-extended/stress-ng/stress-ng_0.12.12.bb b/poky/meta/recipes-extended/stress-ng/stress-ng_0.12.12.bb index 97eaa75d1..afc9ddf96 100644 --- a/poky/meta/recipes-extended/stress-ng/stress-ng_0.12.12.bb +++ b/poky/meta/recipes-extended/stress-ng/stress-ng_0.12.12.bb @@ -7,16 +7,16 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" SRC_URI = "https://kernel.ubuntu.com/~cking/tarballs/${BPN}/${BP}.tar.xz \ file://0001-Do-not-preserve-ownership-when-installing-example-jo.patch \ - file://no_daddr_t.patch \ + file://0001-Detemine-minimal-stack-size-via-sysconf-then-PTHREAD.patch \ " SRC_URI[sha256sum] = "f27af50f6f2308e707fef927674bdd209a046b116734281b792aeca35a4e4499" DEPENDS = "coreutils-native" PROVIDES = "stress" -RPROVIDES_${PN} = "stress" -RREPLACES_${PN} = "stress" -RCONFLICTS_${PN} = "stress" +RPROVIDES:${PN} = "stress" +RREPLACES:${PN} = "stress" +RCONFLICTS:${PN} = "stress" inherit bash-completion @@ -24,4 +24,3 @@ do_install() { oe_runmake DESTDIR=${D} install ln -s stress-ng ${D}${bindir}/stress } - diff --git a/poky/meta/recipes-extended/sudo/sudo.inc b/poky/meta/recipes-extended/sudo/sudo.inc index 0bea35a0a..f109672b7 100644 --- a/poky/meta/recipes-extended/sudo/sudo.inc +++ b/poky/meta/recipes-extended/sudo/sudo.inc @@ -24,14 +24,14 @@ PACKAGECONFIG ??= "" PACKAGECONFIG[zlib] = "--enable-zlib,--disable-zlib,zlib" PACKAGECONFIG[pam-wheel] = ",,,pam-plugin-wheel" -CONFFILES_${PN} = "${sysconfdir}/sudoers" +CONFFILES:${PN} = "${sysconfdir}/sudoers" EXTRA_OECONF = "--with-editor=${base_bindir}/vi --with-env-editor" -EXTRA_OECONF_append_libc-musl = " --disable-hardening " +EXTRA_OECONF:append:libc-musl = " --disable-hardening " # mksigname/mksiglist are used on build host to generate source files -do_compile_prepend () { +do_compile:prepend () { # Remove build host references from sudo_usage.h sed -i \ -e 's,--with-libtool-sysroot=${STAGING_DIR_TARGET},,g' \ @@ -46,7 +46,7 @@ do_compile_prepend () { # script (from sudo) will recursively create ${localstatedir}/lib/sudo # and then chmod each directory with 0700 permissions, which isn't what # we want (i.e, users would not be able to access /var/lib). -do_install_prepend (){ +do_install:prepend (){ mkdir -p ${D}/${localstatedir}/lib } diff --git a/poky/meta/recipes-extended/sudo/sudo_1.9.7p1.bb b/poky/meta/recipes-extended/sudo/sudo_1.9.7p1.bb index aba6f4a59..8d47c0170 100644 --- a/poky/meta/recipes-extended/sudo/sudo_1.9.7p1.bb +++ b/poky/meta/recipes-extended/sudo/sudo_1.9.7p1.bb @@ -10,7 +10,7 @@ PAM_SRC_URI = "file://sudo.pam" SRC_URI[sha256sum] = "391431f454e55121b60c6ded0fcf30ddb80d623d7d16a6d1907cfa6a0b91d8cf" DEPENDS += " virtual/crypt ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}" -RDEPENDS_${PN} += " ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam-plugin-limits pam-plugin-keyinit', '', d)}" +RDEPENDS:${PN} += " ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam-plugin-limits pam-plugin-keyinit', '', d)}" CACHED_CONFIGUREVARS = " \ ac_cv_type_rsize_t=no \ @@ -28,7 +28,7 @@ EXTRA_OECONF += " \ --libexecdir=${libdir} \ " -do_install_append () { +do_install:append () { if [ "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}" ]; then install -D -m 644 ${WORKDIR}/sudo.pam ${D}/${sysconfdir}/pam.d/sudo if ${@bb.utils.contains('PACKAGECONFIG', 'pam-wheel', 'true', 'false', d)} ; then @@ -44,7 +44,7 @@ do_install_append () { rmdir -p --ignore-fail-on-non-empty ${D}/run/sudo } -FILES_${PN}-dev += "${libdir}/${BPN}/lib*${SOLIBSDEV} ${libdir}/${BPN}/*.la \ +FILES:${PN}-dev += "${libdir}/${BPN}/lib*${SOLIBSDEV} ${libdir}/${BPN}/*.la \ ${libdir}/lib*${SOLIBSDEV} ${libdir}/*.la" SUDO_PACKAGES = "${PN}-sudo\ @@ -52,8 +52,8 @@ SUDO_PACKAGES = "${PN}-sudo\ PACKAGE_BEFORE_PN = "${SUDO_PACKAGES}" -RDEPENDS_${PN}-sudo = "${PN}-lib" -RDEPENDS_${PN} += "${SUDO_PACKAGES}" +RDEPENDS:${PN}-sudo = "${PN}-lib" +RDEPENDS:${PN} += "${SUDO_PACKAGES}" -FILES_${PN}-sudo = "${bindir}/sudo ${bindir}/sudoedit" -FILES_${PN}-lib = "${localstatedir} ${libexecdir} ${sysconfdir} ${libdir} ${nonarch_libdir}" +FILES:${PN}-sudo = "${bindir}/sudo ${bindir}/sudoedit" +FILES:${PN}-lib = "${localstatedir} ${libexecdir} ${sysconfdir} ${libdir} ${nonarch_libdir}" diff --git a/poky/meta/recipes-extended/sysklogd/sysklogd_2.2.3.bb b/poky/meta/recipes-extended/sysklogd/sysklogd_2.2.3.bb index be34ec7b3..eca531d05 100644 --- a/poky/meta/recipes-extended/sysklogd/sysklogd_2.2.3.bb +++ b/poky/meta/recipes-extended/sysklogd/sysklogd_2.2.3.bb @@ -20,7 +20,7 @@ S = "${WORKDIR}/git" EXTRA_OECONF = "--with-systemd=${systemd_system_unitdir} --without-logger" -do_install_append () { +do_install:append () { install -d ${D}${sysconfdir} install -m 644 ${S}/syslog.conf ${D}${sysconfdir}/syslog.conf install -d ${D}${sysconfdir}/init.d @@ -28,21 +28,21 @@ do_install_append () { } SYSTEMD_PACKAGES = "${PN}" -SYSTEMD_SERVICE_${PN} = "syslogd.service" +SYSTEMD_SERVICE:${PN} = "syslogd.service" SYSTEMD_AUTO_ENABLE = "enable" INITSCRIPT_NAME = "syslog" -CONFFILES_${PN} = "${sysconfdir}/syslog.conf" -RCONFLICTS_${PN} = "rsyslog busybox-syslog syslog-ng" +CONFFILES:${PN} = "${sysconfdir}/syslog.conf" +RCONFLICTS:${PN} = "rsyslog busybox-syslog syslog-ng" -FILES_${PN} += "${@bb.utils.contains('DISTRO_FEATURES','systemd','${exec_prefix}/lib/tmpfiles.d/sysklogd.conf', '', d)}" +FILES:${PN} += "${@bb.utils.contains('DISTRO_FEATURES','systemd','${exec_prefix}/lib/tmpfiles.d/sysklogd.conf', '', d)}" ALTERNATIVE_PRIORITY = "100" -ALTERNATIVE_${PN}-doc = "syslogd.8" +ALTERNATIVE:${PN}-doc = "syslogd.8" ALTERNATIVE_LINK_NAME[syslogd.8] = "${mandir}/man8/syslogd.8" -pkg_prerm_${PN} () { +pkg_prerm:${PN} () { if test "x$D" = "x"; then if test "$1" = "upgrade" -o "$1" = "remove"; then /etc/init.d/syslog stop || : diff --git a/poky/meta/recipes-extended/sysstat/sysstat.inc b/poky/meta/recipes-extended/sysstat/sysstat.inc index f97b88d49..14c6f0778 100644 --- a/poky/meta/recipes-extended/sysstat/sysstat.inc +++ b/poky/meta/recipes-extended/sysstat/sysstat.inc @@ -24,10 +24,10 @@ PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_system_unitdir}" EXTRA_OECONF += "--disable-stripping" SYSTEMD_PACKAGES = "${PN}" -SYSTEMD_SERVICE_${PN} = "sysstat.service" +SYSTEMD_SERVICE:${PN} = "sysstat.service" SYSTEMD_AUTO_ENABLE = "enable" -do_configure_prepend() { +do_configure:prepend() { export sa_lib_dir=${libexecdir}/sa } @@ -58,7 +58,7 @@ do_install() { fi } -pkg_postinst_${PN} () { +pkg_postinst:${PN} () { if [ ! -n "$D" ]; then if [ -e /etc/init.d/populate-volatile.sh ]; then /etc/init.d/populate-volatile.sh update @@ -66,6 +66,6 @@ pkg_postinst_${PN} () { fi } -FILES_${PN} += "${systemd_system_unitdir} ${nonarch_base_libdir}/systemd" +FILES:${PN} += "${systemd_system_unitdir} ${nonarch_base_libdir}/systemd" TARGET_CC_ARCH += "${LDFLAGS}" diff --git a/poky/meta/recipes-extended/tar/tar_1.34.bb b/poky/meta/recipes-extended/tar/tar_1.34.bb index af04919c4..c096a8c9a 100644 --- a/poky/meta/recipes-extended/tar/tar_1.34.bb +++ b/poky/meta/recipes-extended/tar/tar_1.34.bb @@ -13,7 +13,7 @@ SRC_URI[sha256sum] = "b44cc67f8a1f6b0250b7c860e952b37e8ed932a90bd9b1862a51107925 inherit autotools gettext texinfo PACKAGECONFIG ??= "" -PACKAGECONFIG_append_class-target = " ${@bb.utils.filter('DISTRO_FEATURES', 'acl', d)}" +PACKAGECONFIG:append:class-target = " ${@bb.utils.filter('DISTRO_FEATURES', 'acl', d)}" PACKAGECONFIG[acl] = "--with-posix-acls,--without-posix-acls,acl" @@ -32,7 +32,7 @@ do_install () { ln -s tar ${D}${bindir}/gtar } -do_install_append_class-target() { +do_install:append:class-target() { if [ "${base_bindir}" != "${bindir}" ]; then install -d ${D}${base_bindir} mv ${D}${bindir}/tar ${D}${base_bindir}/tar @@ -43,21 +43,21 @@ do_install_append_class-target() { PACKAGES =+ "${PN}-rmt" -FILES_${PN}-rmt = "${sbindir}/rmt*" +FILES:${PN}-rmt = "${sbindir}/rmt*" inherit update-alternatives ALTERNATIVE_PRIORITY = "100" -ALTERNATIVE_${PN} = "tar" -ALTERNATIVE_${PN}-rmt = "rmt" -ALTERNATIVE_${PN}_class-nativesdk = "" -ALTERNATIVE_${PN}-rmt_class-nativesdk = "" +ALTERNATIVE:${PN} = "tar" +ALTERNATIVE:${PN}-rmt = "rmt" +ALTERNATIVE:${PN}:class-nativesdk = "" +ALTERNATIVE:${PN}-rmt:class-nativesdk = "" ALTERNATIVE_LINK_NAME[tar] = "${base_bindir}/tar" ALTERNATIVE_LINK_NAME[rmt] = "${sbindir}/rmt" -PROVIDES_append_class-native = " tar-replacement-native" +PROVIDES:append:class-native = " tar-replacement-native" NATIVE_PACKAGE_PATH_SUFFIX = "/${PN}" BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-extended/tcp-wrappers/tcp-wrappers_7.6.bb b/poky/meta/recipes-extended/tcp-wrappers/tcp-wrappers_7.6.bb index e903b9db1..814d7fd91 100644 --- a/poky/meta/recipes-extended/tcp-wrappers/tcp-wrappers_7.6.bb +++ b/poky/meta/recipes-extended/tcp-wrappers/tcp-wrappers_7.6.bb @@ -11,12 +11,12 @@ PR ="r10" DEPENDS += "libnsl2" PACKAGES = "${PN}-dbg libwrap libwrap-doc libwrap-dev libwrap-staticdev ${PN} ${PN}-doc" -FILES_libwrap = "${base_libdir}/lib*${SOLIBS}" -FILES_libwrap-doc = "${mandir}/man3 ${mandir}/man5" -FILES_libwrap-dev = "${libdir}/lib*${SOLIBSDEV} ${includedir}" -FILES_libwrap-staticdev = "${libdir}/lib*.a" -FILES_${PN} = "${sbindir}" -FILES_${PN}-doc = "${mandir}/man8" +FILES:libwrap = "${base_libdir}/lib*${SOLIBS}" +FILES:libwrap-doc = "${mandir}/man3 ${mandir}/man5" +FILES:libwrap-dev = "${libdir}/lib*${SOLIBSDEV} ${includedir}" +FILES:libwrap-staticdev = "${libdir}/lib*.a" +FILES:${PN} = "${sbindir}" +FILES:${PN}-doc = "${mandir}/man8" SRC_URI = "http://ftp.porcupine.org/pub/security/tcp_wrappers_${PV}.tar.gz \ file://00_man_quoting.diff \ @@ -78,9 +78,9 @@ EXTRA_OEMAKE = "'CC=${CC}' \ 'EXTRA_CFLAGS=${CFLAGS} -DSYS_ERRLIST_DEFINED -DHAVE_STRERROR -DHAVE_WEAKSYMS -D_REENTRANT -DINET6=1 -Dss_family=__ss_family -Dss_len=__ss_len'" EXTRA_OEMAKE_NETGROUP = "-DNETGROUP -DUSE_GETDOMAIN" -EXTRA_OEMAKE_NETGROUP_libc-musl = "-DUSE_GETDOMAIN" +EXTRA_OEMAKE_NETGROUP:libc-musl = "-DUSE_GETDOMAIN" -EXTRA_OEMAKE_append_libc-musl = " 'LIBS='" +EXTRA_OEMAKE:append:libc-musl = " 'LIBS='" do_compile () { oe_runmake 'TABLES=-DHOSTS_DENY=\"${sysconfdir}/hosts.deny\" -DHOSTS_ALLOW=\"${sysconfdir}/hosts.allow\"' \ @@ -133,4 +133,4 @@ do_install () { touch ${D}${sysconfdir}/hosts.deny } -FILES_${PN} += "${sysconfdir}/hosts.allow ${sysconfdir}/hosts.deny" +FILES:${PN} += "${sysconfdir}/hosts.allow ${sysconfdir}/hosts.deny" diff --git a/poky/meta/recipes-extended/texinfo/texinfo/0001-gnulib-Update.patch b/poky/meta/recipes-extended/texinfo/texinfo/0001-gnulib-Update.patch new file mode 100644 index 000000000..470212cab --- /dev/null +++ b/poky/meta/recipes-extended/texinfo/texinfo/0001-gnulib-Update.patch @@ -0,0 +1,11765 @@ +From 4908050c39dbcdcbd59955ea23d692f25f342307 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Wed, 7 Jul 2021 13:42:35 -0700 +Subject: [PATCH] gnulib: Update + +Upstream-Status: Pending +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + gnulib/lib/Makefile.am | 782 +++++++++++-------- + gnulib/lib/_Noreturn.h | 8 +- + gnulib/lib/alloca.in.h | 20 +- + gnulib/lib/arg-nonnull.h | 8 +- + gnulib/lib/argz.c | 16 +- + gnulib/lib/argz.in.h | 14 +- + gnulib/lib/asnprintf.c | 16 +- + gnulib/lib/asprintf.c | 16 +- + gnulib/lib/attribute.h | 16 +- + gnulib/lib/basename-lgpl.c | 14 +- + gnulib/lib/basename-lgpl.h | 26 +- + gnulib/lib/btowc.c | 14 +- + gnulib/lib/c++defs.h | 8 +- + gnulib/lib/calloc.c | 55 ++ + gnulib/lib/cdefs.h | 26 +- + gnulib/lib/cloexec.c | 18 +- + gnulib/lib/cloexec.h | 18 +- + gnulib/lib/close.c | 14 +- + gnulib/lib/dup2.c | 14 +- + gnulib/lib/dynarray.h | 24 +- + gnulib/lib/errno.in.h | 16 +- + gnulib/lib/error.c | 14 +- + gnulib/lib/error.h | 14 +- + gnulib/lib/exitfail.c | 14 +- + gnulib/lib/exitfail.h | 14 +- + gnulib/lib/fcntl.c | 14 +- + gnulib/lib/fcntl.in.h | 14 +- + gnulib/lib/fd-hook.c | 16 +- + gnulib/lib/fd-hook.h | 16 +- + gnulib/lib/filename.h | 8 +- + gnulib/lib/float+.h | 16 +- + gnulib/lib/float.c | 14 +- + gnulib/lib/float.in.h | 14 +- + gnulib/lib/free.c | 53 ++ + gnulib/lib/fstat.c | 14 +- + gnulib/lib/getdtablesize.c | 14 +- + gnulib/lib/getopt-cdefs.in.h | 21 +- + gnulib/lib/getopt-core.h | 8 +- + gnulib/lib/getopt-ext.h | 8 +- + gnulib/lib/getopt-pfx-core.h | 21 +- + gnulib/lib/getopt-pfx-ext.h | 21 +- + gnulib/lib/getopt.c | 8 +- + gnulib/lib/getopt.in.h | 24 +- + gnulib/lib/getopt1.c | 8 +- + gnulib/lib/getopt_int.h | 8 +- + gnulib/lib/getprogname.c | 18 +- + gnulib/lib/getprogname.h | 8 +- + gnulib/lib/gettext.h | 16 +- + gnulib/lib/glthread/lock.c | 16 +- + gnulib/lib/glthread/lock.h | 16 +- + gnulib/lib/glthread/threadlib.c | 16 +- + gnulib/lib/hard-locale.c | 14 +- + gnulib/lib/hard-locale.h | 14 +- + gnulib/lib/ialloc.c | 21 + + gnulib/lib/ialloc.h | 94 +++ + gnulib/lib/idx.h | 114 +++ + gnulib/lib/intprops.h | 26 +- + gnulib/lib/inttypes.in.h | 14 +- + gnulib/lib/iswblank.c | 16 +- + gnulib/lib/iswdigit.c | 16 +- + gnulib/lib/iswxdigit.c | 16 +- + gnulib/lib/itold.c | 14 +- + gnulib/lib/langinfo.in.h | 16 +- + gnulib/lib/lc-charset-dispatch.c | 14 +- + gnulib/lib/lc-charset-dispatch.h | 14 +- + gnulib/lib/libc-config.h | 25 +- + gnulib/lib/limits.in.h | 16 +- + gnulib/lib/localcharset.c | 16 +- + gnulib/lib/localcharset.h | 16 +- + gnulib/lib/locale.in.h | 14 +- + gnulib/lib/localeconv.c | 14 +- + gnulib/lib/malloc.c | 51 +- + gnulib/lib/malloc/dynarray-skeleton.c | 8 +- + gnulib/lib/malloc/dynarray.h | 8 +- + gnulib/lib/malloc/dynarray_at_failure.c | 8 +- + gnulib/lib/malloc/dynarray_emplace_enlarge.c | 8 +- + gnulib/lib/malloc/dynarray_finalize.c | 8 +- + gnulib/lib/malloc/dynarray_resize.c | 8 +- + gnulib/lib/malloc/dynarray_resize_clear.c | 8 +- + gnulib/lib/malloca.c | 24 +- + gnulib/lib/malloca.h | 21 +- + gnulib/lib/mbchar.c | 14 +- + gnulib/lib/mbchar.h | 14 +- + gnulib/lib/mbiter.c | 18 + + gnulib/lib/mbiter.h | 14 +- + gnulib/lib/mbrtowc-impl-utf8.h | 16 +- + gnulib/lib/mbrtowc-impl.h | 14 +- + gnulib/lib/mbrtowc.c | 14 +- + gnulib/lib/mbscasecmp.c | 14 +- + gnulib/lib/mbschr.c | 14 +- + gnulib/lib/mbsinit.c | 14 +- + gnulib/lib/mbslen.c | 14 +- + gnulib/lib/mbsncasecmp.c | 14 +- + gnulib/lib/mbsstr.c | 14 +- + gnulib/lib/mbtowc-impl.h | 14 +- + gnulib/lib/mbtowc-lock.c | 14 +- + gnulib/lib/mbtowc-lock.h | 14 +- + gnulib/lib/mbtowc.c | 14 +- + gnulib/lib/mbuiter.c | 17 + + gnulib/lib/mbuiter.h | 14 +- + gnulib/lib/memchr.c | 24 +- + gnulib/lib/memchr.valgrind | 14 +- + gnulib/lib/mempcpy.c | 16 +- + gnulib/lib/memrchr.c | 14 +- + gnulib/lib/minmax.h | 60 ++ + gnulib/lib/msvc-inval.c | 16 +- + gnulib/lib/msvc-inval.h | 16 +- + gnulib/lib/msvc-nothrow.c | 16 +- + gnulib/lib/msvc-nothrow.h | 16 +- + gnulib/lib/nl_langinfo-lock.c | 14 +- + gnulib/lib/nl_langinfo.c | 14 +- + gnulib/lib/open.c | 14 +- + gnulib/lib/pathmax.h | 16 +- + gnulib/lib/printf-args.c | 16 +- + gnulib/lib/printf-args.h | 16 +- + gnulib/lib/printf-parse.c | 27 +- + gnulib/lib/printf-parse.h | 16 +- + gnulib/lib/realloc.c | 63 ++ + gnulib/lib/reallocarray.c | 39 + + gnulib/lib/regcomp.c | 8 +- + gnulib/lib/regex.c | 8 +- + gnulib/lib/regex.h | 8 +- + gnulib/lib/regex_internal.c | 8 +- + gnulib/lib/regex_internal.h | 8 +- + gnulib/lib/regexec.c | 20 +- + gnulib/lib/setlocale-lock.c | 14 +- + gnulib/lib/setlocale_null.c | 14 +- + gnulib/lib/setlocale_null.h | 14 +- + gnulib/lib/size_max.h | 16 +- + gnulib/lib/stat-time.c | 18 + + gnulib/lib/stat-time.h | 14 +- + gnulib/lib/stat-w32.c | 14 +- + gnulib/lib/stat-w32.h | 14 +- + gnulib/lib/stat.c | 14 +- + gnulib/lib/stdarg.in.h | 16 +- + gnulib/lib/stdbool.in.h | 16 +- + gnulib/lib/stddef.in.h | 16 +- + gnulib/lib/stdint.in.h | 20 +- + gnulib/lib/stdio.in.h | 24 +- + gnulib/lib/stdlib.in.h | 146 +++- + gnulib/lib/stpcpy.c | 14 +- + gnulib/lib/str-kmp.h | 26 +- + gnulib/lib/str-two-way.h | 16 +- + gnulib/lib/strcasecmp.c | 16 +- + gnulib/lib/strcasestr.c | 16 +- + gnulib/lib/strdup.c | 16 +- + gnulib/lib/streq.h | 16 +- + gnulib/lib/strerror-override.c | 100 +-- + gnulib/lib/strerror-override.h | 15 +- + gnulib/lib/strerror.c | 14 +- + gnulib/lib/string.in.h | 18 +- + gnulib/lib/strings.in.h | 16 +- + gnulib/lib/strncasecmp.c | 16 +- + gnulib/lib/strndup.c | 16 +- + gnulib/lib/strnlen.c | 16 +- + gnulib/lib/strnlen1.c | 14 +- + gnulib/lib/strnlen1.h | 14 +- + gnulib/lib/strstr.c | 16 +- + gnulib/lib/sys_stat.in.h | 16 +- + gnulib/lib/sys_types.in.h | 16 +- + gnulib/lib/time.in.h | 58 +- + gnulib/lib/unistd.c | 18 + + gnulib/lib/unistd.in.h | 29 +- + gnulib/lib/unitypes.in.h | 16 +- + gnulib/lib/uniwidth.in.h | 16 +- + gnulib/lib/uniwidth/cjk.h | 16 +- + gnulib/lib/uniwidth/width.c | 16 +- + gnulib/lib/vasnprintf.c | 71 +- + gnulib/lib/vasnprintf.h | 16 +- + gnulib/lib/vasprintf.c | 16 +- + gnulib/lib/verify.h | 14 +- + gnulib/lib/warn-on-use.h | 8 +- + gnulib/lib/wchar.in.h | 18 +- + gnulib/lib/wcrtomb.c | 14 +- + gnulib/lib/wctype-h.c | 19 + + gnulib/lib/wctype.in.h | 26 +- + gnulib/lib/wcwidth.c | 14 +- + gnulib/lib/windows-initguard.h | 16 +- + gnulib/lib/windows-mutex.c | 16 +- + gnulib/lib/windows-mutex.h | 16 +- + gnulib/lib/windows-once.c | 16 +- + gnulib/lib/windows-once.h | 16 +- + gnulib/lib/windows-recmutex.c | 16 +- + gnulib/lib/windows-recmutex.h | 16 +- + gnulib/lib/windows-rwlock.c | 16 +- + gnulib/lib/windows-rwlock.h | 16 +- + gnulib/lib/xalloc-oversized.h | 53 +- + gnulib/lib/xalloc.h | 143 +--- + gnulib/lib/xmalloc.c | 293 +++++-- + gnulib/lib/xsize.c | 18 + + gnulib/lib/xsize.h | 16 +- + gnulib/m4/calloc.m4 | 82 ++ + gnulib/m4/fcntl_h.m4 | 39 +- + gnulib/m4/free.m4 | 52 ++ + gnulib/m4/fstat.m4 | 4 +- + gnulib/m4/gnulib-common.m4 | 84 +- + gnulib/m4/gnulib-comp.m4 | 192 ++++- + gnulib/m4/inttypes.m4 | 31 +- + gnulib/m4/iswdigit.m4 | 6 +- + gnulib/m4/iswxdigit.m4 | 4 +- + gnulib/m4/langinfo_h.m4 | 25 +- + gnulib/m4/largefile.m4 | 28 +- + gnulib/m4/locale_h.m4 | 37 +- + gnulib/m4/malloc.m4 | 152 +++- + gnulib/m4/math_h.m4 | 227 +++--- + gnulib/m4/mbslen.m4 | 4 +- + gnulib/m4/memchr.m4 | 4 +- + gnulib/m4/mempcpy.m4 | 4 +- + gnulib/m4/memrchr.m4 | 4 +- + gnulib/m4/minmax.m4 | 44 ++ + gnulib/m4/printf.m4 | 5 +- + gnulib/m4/realloc.m4 | 63 ++ + gnulib/m4/reallocarray.m4 | 23 + + gnulib/m4/stat.m4 | 4 +- + gnulib/m4/stddef_h.m4 | 23 +- + gnulib/m4/stdint.m4 | 6 +- + gnulib/m4/stdio_h.m4 | 168 ++-- + gnulib/m4/stdlib_h.m4 | 122 +-- + gnulib/m4/stpcpy.m4 | 4 +- + gnulib/m4/strcase.m4 | 6 +- + gnulib/m4/strcasestr.m4 | 4 +- + gnulib/m4/strdup.m4 | 6 +- + gnulib/m4/strerror.m4 | 4 +- + gnulib/m4/string_h.m4 | 124 +-- + gnulib/m4/strings_h.m4 | 38 +- + gnulib/m4/strndup.m4 | 4 +- + gnulib/m4/strnlen.m4 | 4 +- + gnulib/m4/strstr.m4 | 4 +- + gnulib/m4/sys_socket_h.m4 | 53 +- + gnulib/m4/sys_stat_h.m4 | 65 +- + gnulib/m4/sys_types_h.m4 | 16 +- + gnulib/m4/time_h.m4 | 62 +- + gnulib/m4/unistd_h.m4 | 194 ++--- + gnulib/m4/visibility.m4 | 6 +- + gnulib/m4/wchar_h.m4 | 109 +-- + gnulib/m4/wctype_h.m4 | 39 +- + gnulib/m4/wint_t.m4 | 10 +- + gnulib/m4/year2038.m4 | 112 +++ + 238 files changed, 4521 insertions(+), 2636 deletions(-) + create mode 100644 gnulib/lib/calloc.c + create mode 100644 gnulib/lib/free.c + create mode 100644 gnulib/lib/ialloc.c + create mode 100644 gnulib/lib/ialloc.h + create mode 100644 gnulib/lib/idx.h + create mode 100644 gnulib/lib/minmax.h + create mode 100644 gnulib/lib/realloc.c + create mode 100644 gnulib/lib/reallocarray.c + create mode 100644 gnulib/m4/calloc.m4 + create mode 100644 gnulib/m4/free.m4 + create mode 100644 gnulib/m4/minmax.m4 + create mode 100644 gnulib/m4/realloc.m4 + create mode 100644 gnulib/m4/reallocarray.m4 + create mode 100644 gnulib/m4/year2038.m4 + +--- a/gnulib/lib/Makefile.am ++++ b/gnulib/lib/Makefile.am +@@ -165,6 +165,24 @@ EXTRA_libgnu_a_SOURCES += btowc.c + + ## end gnulib module btowc + ++## begin gnulib module calloc-gnu ++ ++ ++EXTRA_DIST += calloc.c ++ ++EXTRA_libgnu_a_SOURCES += calloc.c ++ ++## end gnulib module calloc-gnu ++ ++## begin gnulib module calloc-posix ++ ++ ++EXTRA_DIST += calloc.c ++ ++EXTRA_libgnu_a_SOURCES += calloc.c ++ ++## end gnulib module calloc-posix ++ + ## begin gnulib module cloexec + + if gl_GNULIB_ENABLED_cloexec +@@ -200,6 +218,32 @@ EXTRA_libgnu_a_SOURCES += dup2.c + ## begin gnulib module dynarray + + if gl_GNULIB_ENABLED_dynarray ++BUILT_SOURCES += malloc/dynarray.gl.h malloc/dynarray-skeleton.gl.h ++ ++malloc/dynarray.gl.h: malloc/dynarray.h ++ $(AM_V_at)$(MKDIR_P) malloc ++ $(AM_V_GEN)rm -f $@-t $@ && \ ++ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ ++ sed -e '/libc_hidden_proto/d' < $(srcdir)/malloc/dynarray.h; \ ++ } > $@-t && \ ++ mv $@-t $@ ++MOSTLYCLEANFILES += malloc/dynarray.gl.h malloc/dynarray.gl.h-t ++ ++malloc/dynarray-skeleton.gl.h: malloc/dynarray-skeleton.c ++ $(AM_V_at)$(MKDIR_P) malloc ++ $(AM_V_GEN)rm -f $@-t $@ && \ ++ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ ++ sed -e 's|<malloc/dynarray\.h>|<malloc/dynarray.gl.h>|g' \ ++ -e 's|__attribute_maybe_unused__|_GL_ATTRIBUTE_MAYBE_UNUSED|g' \ ++ -e 's|__attribute_nonnull__|_GL_ATTRIBUTE_NONNULL|g' \ ++ -e 's|__attribute_warn_unused_result__|_GL_ATTRIBUTE_NODISCARD|g' \ ++ -e 's|__glibc_likely|_GL_LIKELY|g' \ ++ -e 's|__glibc_unlikely|_GL_UNLIKELY|g' \ ++ < $(srcdir)/malloc/dynarray-skeleton.c; \ ++ } > $@-t && \ ++ mv $@-t $@ ++MOSTLYCLEANFILES += malloc/dynarray-skeleton.gl.h malloc/dynarray-skeleton.gl.h-t ++ + libgnu_a_SOURCES += malloc/dynarray_at_failure.c malloc/dynarray_emplace_enlarge.c malloc/dynarray_finalize.c malloc/dynarray_resize.c malloc/dynarray_resize_clear.c + + endif +@@ -285,13 +329,13 @@ fcntl.h: fcntl.in.h $(top_builddir)/conf + -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ + -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ + -e 's|@''NEXT_FCNTL_H''@|$(NEXT_FCNTL_H)|g' \ +- -e 's/@''GNULIB_CREAT''@/$(GNULIB_CREAT)/g' \ +- -e 's/@''GNULIB_FCNTL''@/$(GNULIB_FCNTL)/g' \ +- -e 's/@''GNULIB_NONBLOCKING''@/$(GNULIB_NONBLOCKING)/g' \ +- -e 's/@''GNULIB_OPEN''@/$(GNULIB_OPEN)/g' \ +- -e 's/@''GNULIB_OPENAT''@/$(GNULIB_OPENAT)/g' \ +- -e 's/@''GNULIB_MDA_CREAT''@/$(GNULIB_MDA_CREAT)/g' \ +- -e 's/@''GNULIB_MDA_OPEN''@/$(GNULIB_MDA_OPEN)/g' \ ++ -e 's/@''GNULIB_CREAT''@/$(GL_GNULIB_CREAT)/g' \ ++ -e 's/@''GNULIB_FCNTL''@/$(GL_GNULIB_FCNTL)/g' \ ++ -e 's/@''GNULIB_NONBLOCKING''@/$(GL_GNULIB_NONBLOCKING)/g' \ ++ -e 's/@''GNULIB_OPEN''@/$(GL_GNULIB_OPEN)/g' \ ++ -e 's/@''GNULIB_OPENAT''@/$(GL_GNULIB_OPENAT)/g' \ ++ -e 's/@''GNULIB_MDA_CREAT''@/$(GL_GNULIB_MDA_CREAT)/g' \ ++ -e 's/@''GNULIB_MDA_OPEN''@/$(GL_GNULIB_MDA_OPEN)/g' \ + -e 's|@''HAVE_FCNTL''@|$(HAVE_FCNTL)|g' \ + -e 's|@''HAVE_OPENAT''@|$(HAVE_OPENAT)|g' \ + -e 's|@''REPLACE_CREAT''@|$(REPLACE_CREAT)|g' \ +@@ -358,6 +402,17 @@ EXTRA_libgnu_a_SOURCES += float.c itold. + + ## end gnulib module float + ++## begin gnulib module free-posix ++ ++if gl_GNULIB_ENABLED_ef07dc4b3077c11ea9cef586db4e5955 ++ ++endif ++EXTRA_DIST += free.c ++ ++EXTRA_libgnu_a_SOURCES += free.c ++ ++## end gnulib module free-posix ++ + ## begin gnulib module fstat + + if gl_GNULIB_ENABLED_fstat +@@ -445,11 +500,23 @@ EXTRA_DIST += $(top_srcdir)/build-aux/co + + ## end gnulib module havelib + ++## begin gnulib module ialloc ++ ++libgnu_a_SOURCES += ialloc.c ++ ++EXTRA_DIST += ialloc.h ++ ++## end gnulib module ialloc ++ ++## begin gnulib module idx ++ ++libgnu_a_SOURCES += idx.h ++ ++## end gnulib module idx ++ + ## begin gnulib module intprops + +-if gl_GNULIB_ENABLED_intprops + +-endif + EXTRA_DIST += intprops.h + + ## end gnulib module intprops +@@ -470,10 +537,10 @@ inttypes.h: inttypes.in.h $(top_builddir + -e 's|@''NEXT_INTTYPES_H''@|$(NEXT_INTTYPES_H)|g' \ + -e 's/@''APPLE_UNIVERSAL_BUILD''@/$(APPLE_UNIVERSAL_BUILD)/g' \ + -e 's/@''PRIPTR_PREFIX''@/$(PRIPTR_PREFIX)/g' \ +- -e 's/@''GNULIB_IMAXABS''@/$(GNULIB_IMAXABS)/g' \ +- -e 's/@''GNULIB_IMAXDIV''@/$(GNULIB_IMAXDIV)/g' \ +- -e 's/@''GNULIB_STRTOIMAX''@/$(GNULIB_STRTOIMAX)/g' \ +- -e 's/@''GNULIB_STRTOUMAX''@/$(GNULIB_STRTOUMAX)/g' \ ++ -e 's/@''GNULIB_IMAXABS''@/$(GL_GNULIB_IMAXABS)/g' \ ++ -e 's/@''GNULIB_IMAXDIV''@/$(GL_GNULIB_IMAXDIV)/g' \ ++ -e 's/@''GNULIB_STRTOIMAX''@/$(GL_GNULIB_STRTOIMAX)/g' \ ++ -e 's/@''GNULIB_STRTOUMAX''@/$(GL_GNULIB_STRTOUMAX)/g' \ + -e 's/@''HAVE_DECL_IMAXABS''@/$(HAVE_DECL_IMAXABS)/g' \ + -e 's/@''HAVE_DECL_IMAXDIV''@/$(HAVE_DECL_IMAXDIV)/g' \ + -e 's/@''HAVE_DECL_STRTOIMAX''@/$(HAVE_DECL_STRTOIMAX)/g' \ +@@ -540,7 +607,7 @@ langinfo.h: langinfo.in.h $(top_builddir + -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ + -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ + -e 's|@''NEXT_LANGINFO_H''@|$(NEXT_LANGINFO_H)|g' \ +- -e 's/@''GNULIB_NL_LANGINFO''@/$(GNULIB_NL_LANGINFO)/g' \ ++ -e 's/@''GNULIB_NL_LANGINFO''@/$(GL_GNULIB_NL_LANGINFO)/g' \ + -e 's|@''HAVE_LANGINFO_CODESET''@|$(HAVE_LANGINFO_CODESET)|g' \ + -e 's|@''HAVE_LANGINFO_T_FMT_AMPM''@|$(HAVE_LANGINFO_T_FMT_AMPM)|g' \ + -e 's|@''HAVE_LANGINFO_ALTMON''@|$(HAVE_LANGINFO_ALTMON)|g' \ +@@ -622,11 +689,11 @@ locale.h: locale.in.h $(top_builddir)/co + -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ + -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ + -e 's|@''NEXT_LOCALE_H''@|$(NEXT_LOCALE_H)|g' \ +- -e 's/@''GNULIB_LOCALECONV''@/$(GNULIB_LOCALECONV)/g' \ +- -e 's/@''GNULIB_SETLOCALE''@/$(GNULIB_SETLOCALE)/g' \ +- -e 's/@''GNULIB_SETLOCALE_NULL''@/$(GNULIB_SETLOCALE_NULL)/g' \ +- -e 's/@''GNULIB_DUPLOCALE''@/$(GNULIB_DUPLOCALE)/g' \ +- -e 's/@''GNULIB_LOCALENAME''@/$(GNULIB_LOCALENAME)/g' \ ++ -e 's/@''GNULIB_LOCALECONV''@/$(GL_GNULIB_LOCALECONV)/g' \ ++ -e 's/@''GNULIB_SETLOCALE''@/$(GL_GNULIB_SETLOCALE)/g' \ ++ -e 's/@''GNULIB_SETLOCALE_NULL''@/$(GL_GNULIB_SETLOCALE_NULL)/g' \ ++ -e 's/@''GNULIB_DUPLOCALE''@/$(GL_GNULIB_DUPLOCALE)/g' \ ++ -e 's/@''GNULIB_LOCALENAME''@/$(GL_GNULIB_LOCALENAME)/g' \ + -e 's|@''HAVE_NEWLOCALE''@|$(HAVE_NEWLOCALE)|g' \ + -e 's|@''HAVE_DUPLOCALE''@|$(HAVE_DUPLOCALE)|g' \ + -e 's|@''HAVE_FREELOCALE''@|$(HAVE_FREELOCALE)|g' \ +@@ -670,11 +737,18 @@ libgnu_a_SOURCES += glthread/lock.h glth + endif + ## end gnulib module lock + ++## begin gnulib module malloc-gnu ++ ++ ++EXTRA_DIST += malloc.c ++ ++EXTRA_libgnu_a_SOURCES += malloc.c ++ ++## end gnulib module malloc-gnu ++ + ## begin gnulib module malloc-posix + +-if gl_GNULIB_ENABLED_ef455225c00f5049c808c2eda3e76866 + +-endif + EXTRA_DIST += malloc.c + + EXTRA_libgnu_a_SOURCES += malloc.c +@@ -805,6 +879,12 @@ EXTRA_libgnu_a_SOURCES += memrchr.c + + ## end gnulib module memrchr + ++## begin gnulib module minmax ++ ++libgnu_a_SOURCES += minmax.h ++ ++## end gnulib module minmax ++ + ## begin gnulib module msvc-inval + + if gl_GNULIB_ENABLED_f691f076f650964c9f5598c3ee487616 +@@ -856,6 +936,33 @@ EXTRA_DIST += pathmax.h + + ## end gnulib module pathmax + ++## begin gnulib module realloc-gnu ++ ++ ++EXTRA_DIST += realloc.c ++ ++EXTRA_libgnu_a_SOURCES += realloc.c ++ ++## end gnulib module realloc-gnu ++ ++## begin gnulib module realloc-posix ++ ++ ++EXTRA_DIST += realloc.c ++ ++EXTRA_libgnu_a_SOURCES += realloc.c ++ ++## end gnulib module realloc-posix ++ ++## begin gnulib module reallocarray ++ ++ ++EXTRA_DIST += reallocarray.c ++ ++EXTRA_libgnu_a_SOURCES += reallocarray.c ++ ++## end gnulib module reallocarray ++ + ## begin gnulib module regex + + +@@ -1072,7 +1179,7 @@ stdint.h: stdint.in.h $(top_builddir)/co + -e 's/@''BITSIZEOF_WINT_T''@/$(BITSIZEOF_WINT_T)/g' \ + -e 's/@''HAVE_SIGNED_WINT_T''@/$(HAVE_SIGNED_WINT_T)/g' \ + -e 's/@''WINT_T_SUFFIX''@/$(WINT_T_SUFFIX)/g' \ +- -e 's/@''GNULIB_OVERRIDES_WINT_T''@/$(GNULIB_OVERRIDES_WINT_T)/g' \ ++ -e 's/@''GNULIBHEADERS_OVERRIDE_WINT_T''@/$(GNULIBHEADERS_OVERRIDE_WINT_T)/g' \ + < $(srcdir)/stdint.in.h; \ + } > $@-t && \ + mv $@-t $@ +@@ -1100,65 +1207,65 @@ stdio.h: stdio.in.h $(top_builddir)/conf + -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ + -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ + -e 's|@''NEXT_STDIO_H''@|$(NEXT_STDIO_H)|g' \ +- -e 's/@''GNULIB_DPRINTF''@/$(GNULIB_DPRINTF)/g' \ +- -e 's/@''GNULIB_FCLOSE''@/$(GNULIB_FCLOSE)/g' \ +- -e 's/@''GNULIB_FDOPEN''@/$(GNULIB_FDOPEN)/g' \ +- -e 's/@''GNULIB_FFLUSH''@/$(GNULIB_FFLUSH)/g' \ +- -e 's/@''GNULIB_FGETC''@/$(GNULIB_FGETC)/g' \ +- -e 's/@''GNULIB_FGETS''@/$(GNULIB_FGETS)/g' \ +- -e 's/@''GNULIB_FOPEN''@/$(GNULIB_FOPEN)/g' \ +- -e 's/@''GNULIB_FPRINTF''@/$(GNULIB_FPRINTF)/g' \ +- -e 's/@''GNULIB_FPRINTF_POSIX''@/$(GNULIB_FPRINTF_POSIX)/g' \ +- -e 's/@''GNULIB_FPURGE''@/$(GNULIB_FPURGE)/g' \ +- -e 's/@''GNULIB_FPUTC''@/$(GNULIB_FPUTC)/g' \ +- -e 's/@''GNULIB_FPUTS''@/$(GNULIB_FPUTS)/g' \ +- -e 's/@''GNULIB_FREAD''@/$(GNULIB_FREAD)/g' \ +- -e 's/@''GNULIB_FREOPEN''@/$(GNULIB_FREOPEN)/g' \ +- -e 's/@''GNULIB_FSCANF''@/$(GNULIB_FSCANF)/g' \ +- -e 's/@''GNULIB_FSEEK''@/$(GNULIB_FSEEK)/g' \ +- -e 's/@''GNULIB_FSEEKO''@/$(GNULIB_FSEEKO)/g' \ +- -e 's/@''GNULIB_FTELL''@/$(GNULIB_FTELL)/g' \ +- -e 's/@''GNULIB_FTELLO''@/$(GNULIB_FTELLO)/g' \ +- -e 's/@''GNULIB_FWRITE''@/$(GNULIB_FWRITE)/g' \ +- -e 's/@''GNULIB_GETC''@/$(GNULIB_GETC)/g' \ +- -e 's/@''GNULIB_GETCHAR''@/$(GNULIB_GETCHAR)/g' \ +- -e 's/@''GNULIB_GETDELIM''@/$(GNULIB_GETDELIM)/g' \ +- -e 's/@''GNULIB_GETLINE''@/$(GNULIB_GETLINE)/g' \ +- -e 's/@''GNULIB_OBSTACK_PRINTF''@/$(GNULIB_OBSTACK_PRINTF)/g' \ +- -e 's/@''GNULIB_OBSTACK_PRINTF_POSIX''@/$(GNULIB_OBSTACK_PRINTF_POSIX)/g' \ +- -e 's/@''GNULIB_PCLOSE''@/$(GNULIB_PCLOSE)/g' \ +- -e 's/@''GNULIB_PERROR''@/$(GNULIB_PERROR)/g' \ +- -e 's/@''GNULIB_POPEN''@/$(GNULIB_POPEN)/g' \ +- -e 's/@''GNULIB_PRINTF''@/$(GNULIB_PRINTF)/g' \ +- -e 's/@''GNULIB_PRINTF_POSIX''@/$(GNULIB_PRINTF_POSIX)/g' \ +- -e 's/@''GNULIB_PUTC''@/$(GNULIB_PUTC)/g' \ +- -e 's/@''GNULIB_PUTCHAR''@/$(GNULIB_PUTCHAR)/g' \ +- -e 's/@''GNULIB_PUTS''@/$(GNULIB_PUTS)/g' \ +- -e 's/@''GNULIB_REMOVE''@/$(GNULIB_REMOVE)/g' \ +- -e 's/@''GNULIB_RENAME''@/$(GNULIB_RENAME)/g' \ +- -e 's/@''GNULIB_RENAMEAT''@/$(GNULIB_RENAMEAT)/g' \ +- -e 's/@''GNULIB_SCANF''@/$(GNULIB_SCANF)/g' \ +- -e 's/@''GNULIB_SNPRINTF''@/$(GNULIB_SNPRINTF)/g' \ +- -e 's/@''GNULIB_SPRINTF_POSIX''@/$(GNULIB_SPRINTF_POSIX)/g' \ +- -e 's/@''GNULIB_STDIO_H_NONBLOCKING''@/$(GNULIB_STDIO_H_NONBLOCKING)/g' \ +- -e 's/@''GNULIB_STDIO_H_SIGPIPE''@/$(GNULIB_STDIO_H_SIGPIPE)/g' \ +- -e 's/@''GNULIB_TMPFILE''@/$(GNULIB_TMPFILE)/g' \ +- -e 's/@''GNULIB_VASPRINTF''@/$(GNULIB_VASPRINTF)/g' \ +- -e 's/@''GNULIB_VDPRINTF''@/$(GNULIB_VDPRINTF)/g' \ +- -e 's/@''GNULIB_VFPRINTF''@/$(GNULIB_VFPRINTF)/g' \ +- -e 's/@''GNULIB_VFPRINTF_POSIX''@/$(GNULIB_VFPRINTF_POSIX)/g' \ +- -e 's/@''GNULIB_VFSCANF''@/$(GNULIB_VFSCANF)/g' \ +- -e 's/@''GNULIB_VSCANF''@/$(GNULIB_VSCANF)/g' \ +- -e 's/@''GNULIB_VPRINTF''@/$(GNULIB_VPRINTF)/g' \ +- -e 's/@''GNULIB_VPRINTF_POSIX''@/$(GNULIB_VPRINTF_POSIX)/g' \ +- -e 's/@''GNULIB_VSNPRINTF''@/$(GNULIB_VSNPRINTF)/g' \ +- -e 's/@''GNULIB_VSPRINTF_POSIX''@/$(GNULIB_VSPRINTF_POSIX)/g' \ +- -e 's/@''GNULIB_MDA_FCLOSEALL''@/$(GNULIB_MDA_FCLOSEALL)/g' \ +- -e 's/@''GNULIB_MDA_FDOPEN''@/$(GNULIB_MDA_FDOPEN)/g' \ +- -e 's/@''GNULIB_MDA_FILENO''@/$(GNULIB_MDA_FILENO)/g' \ +- -e 's/@''GNULIB_MDA_GETW''@/$(GNULIB_MDA_GETW)/g' \ +- -e 's/@''GNULIB_MDA_PUTW''@/$(GNULIB_MDA_PUTW)/g' \ +- -e 's/@''GNULIB_MDA_TEMPNAM''@/$(GNULIB_MDA_TEMPNAM)/g' \ ++ -e 's/@''GNULIB_DPRINTF''@/$(GL_GNULIB_DPRINTF)/g' \ ++ -e 's/@''GNULIB_FCLOSE''@/$(GL_GNULIB_FCLOSE)/g' \ ++ -e 's/@''GNULIB_FDOPEN''@/$(GL_GNULIB_FDOPEN)/g' \ ++ -e 's/@''GNULIB_FFLUSH''@/$(GL_GNULIB_FFLUSH)/g' \ ++ -e 's/@''GNULIB_FGETC''@/$(GL_GNULIB_FGETC)/g' \ ++ -e 's/@''GNULIB_FGETS''@/$(GL_GNULIB_FGETS)/g' \ ++ -e 's/@''GNULIB_FOPEN''@/$(GL_GNULIB_FOPEN)/g' \ ++ -e 's/@''GNULIB_FPRINTF''@/$(GL_GNULIB_FPRINTF)/g' \ ++ -e 's/@''GNULIB_FPRINTF_POSIX''@/$(GL_GNULIB_FPRINTF_POSIX)/g' \ ++ -e 's/@''GNULIB_FPURGE''@/$(GL_GNULIB_FPURGE)/g' \ ++ -e 's/@''GNULIB_FPUTC''@/$(GL_GNULIB_FPUTC)/g' \ ++ -e 's/@''GNULIB_FPUTS''@/$(GL_GNULIB_FPUTS)/g' \ ++ -e 's/@''GNULIB_FREAD''@/$(GL_GNULIB_FREAD)/g' \ ++ -e 's/@''GNULIB_FREOPEN''@/$(GL_GNULIB_FREOPEN)/g' \ ++ -e 's/@''GNULIB_FSCANF''@/$(GL_GNULIB_FSCANF)/g' \ ++ -e 's/@''GNULIB_FSEEK''@/$(GL_GNULIB_FSEEK)/g' \ ++ -e 's/@''GNULIB_FSEEKO''@/$(GL_GNULIB_FSEEKO)/g' \ ++ -e 's/@''GNULIB_FTELL''@/$(GL_GNULIB_FTELL)/g' \ ++ -e 's/@''GNULIB_FTELLO''@/$(GL_GNULIB_FTELLO)/g' \ ++ -e 's/@''GNULIB_FWRITE''@/$(GL_GNULIB_FWRITE)/g' \ ++ -e 's/@''GNULIB_GETC''@/$(GL_GNULIB_GETC)/g' \ ++ -e 's/@''GNULIB_GETCHAR''@/$(GL_GNULIB_GETCHAR)/g' \ ++ -e 's/@''GNULIB_GETDELIM''@/$(GL_GNULIB_GETDELIM)/g' \ ++ -e 's/@''GNULIB_GETLINE''@/$(GL_GNULIB_GETLINE)/g' \ ++ -e 's/@''GNULIB_OBSTACK_PRINTF''@/$(GL_GNULIB_OBSTACK_PRINTF)/g' \ ++ -e 's/@''GNULIB_OBSTACK_PRINTF_POSIX''@/$(GL_GNULIB_OBSTACK_PRINTF_POSIX)/g' \ ++ -e 's/@''GNULIB_PCLOSE''@/$(GL_GNULIB_PCLOSE)/g' \ ++ -e 's/@''GNULIB_PERROR''@/$(GL_GNULIB_PERROR)/g' \ ++ -e 's/@''GNULIB_POPEN''@/$(GL_GNULIB_POPEN)/g' \ ++ -e 's/@''GNULIB_PRINTF''@/$(GL_GNULIB_PRINTF)/g' \ ++ -e 's/@''GNULIB_PRINTF_POSIX''@/$(GL_GNULIB_PRINTF_POSIX)/g' \ ++ -e 's/@''GNULIB_PUTC''@/$(GL_GNULIB_PUTC)/g' \ ++ -e 's/@''GNULIB_PUTCHAR''@/$(GL_GNULIB_PUTCHAR)/g' \ ++ -e 's/@''GNULIB_PUTS''@/$(GL_GNULIB_PUTS)/g' \ ++ -e 's/@''GNULIB_REMOVE''@/$(GL_GNULIB_REMOVE)/g' \ ++ -e 's/@''GNULIB_RENAME''@/$(GL_GNULIB_RENAME)/g' \ ++ -e 's/@''GNULIB_RENAMEAT''@/$(GL_GNULIB_RENAMEAT)/g' \ ++ -e 's/@''GNULIB_SCANF''@/$(GL_GNULIB_SCANF)/g' \ ++ -e 's/@''GNULIB_SNPRINTF''@/$(GL_GNULIB_SNPRINTF)/g' \ ++ -e 's/@''GNULIB_SPRINTF_POSIX''@/$(GL_GNULIB_SPRINTF_POSIX)/g' \ ++ -e 's/@''GNULIB_STDIO_H_NONBLOCKING''@/$(GL_GNULIB_STDIO_H_NONBLOCKING)/g' \ ++ -e 's/@''GNULIB_STDIO_H_SIGPIPE''@/$(GL_GNULIB_STDIO_H_SIGPIPE)/g' \ ++ -e 's/@''GNULIB_TMPFILE''@/$(GL_GNULIB_TMPFILE)/g' \ ++ -e 's/@''GNULIB_VASPRINTF''@/$(GL_GNULIB_VASPRINTF)/g' \ ++ -e 's/@''GNULIB_VDPRINTF''@/$(GL_GNULIB_VDPRINTF)/g' \ ++ -e 's/@''GNULIB_VFPRINTF''@/$(GL_GNULIB_VFPRINTF)/g' \ ++ -e 's/@''GNULIB_VFPRINTF_POSIX''@/$(GL_GNULIB_VFPRINTF_POSIX)/g' \ ++ -e 's/@''GNULIB_VFSCANF''@/$(GL_GNULIB_VFSCANF)/g' \ ++ -e 's/@''GNULIB_VSCANF''@/$(GL_GNULIB_VSCANF)/g' \ ++ -e 's/@''GNULIB_VPRINTF''@/$(GL_GNULIB_VPRINTF)/g' \ ++ -e 's/@''GNULIB_VPRINTF_POSIX''@/$(GL_GNULIB_VPRINTF_POSIX)/g' \ ++ -e 's/@''GNULIB_VSNPRINTF''@/$(GL_GNULIB_VSNPRINTF)/g' \ ++ -e 's/@''GNULIB_VSPRINTF_POSIX''@/$(GL_GNULIB_VSPRINTF_POSIX)/g' \ ++ -e 's/@''GNULIB_MDA_FCLOSEALL''@/$(GL_GNULIB_MDA_FCLOSEALL)/g' \ ++ -e 's/@''GNULIB_MDA_FDOPEN''@/$(GL_GNULIB_MDA_FDOPEN)/g' \ ++ -e 's/@''GNULIB_MDA_FILENO''@/$(GL_GNULIB_MDA_FILENO)/g' \ ++ -e 's/@''GNULIB_MDA_GETW''@/$(GL_GNULIB_MDA_GETW)/g' \ ++ -e 's/@''GNULIB_MDA_PUTW''@/$(GL_GNULIB_MDA_PUTW)/g' \ ++ -e 's/@''GNULIB_MDA_TEMPNAM''@/$(GL_GNULIB_MDA_TEMPNAM)/g' \ + < $(srcdir)/stdio.in.h | \ + sed -e 's|@''HAVE_DECL_FCLOSEALL''@|$(HAVE_DECL_FCLOSEALL)|g' \ + -e 's|@''HAVE_DECL_FPURGE''@|$(HAVE_DECL_FPURGE)|g' \ +@@ -1236,49 +1343,51 @@ stdlib.h: stdlib.in.h $(top_builddir)/co + -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ + -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ + -e 's|@''NEXT_STDLIB_H''@|$(NEXT_STDLIB_H)|g' \ +- -e 's/@''GNULIB__EXIT''@/$(GNULIB__EXIT)/g' \ +- -e 's/@''GNULIB_ALIGNED_ALLOC''@/$(GNULIB_ALIGNED_ALLOC)/g' \ +- -e 's/@''GNULIB_ATOLL''@/$(GNULIB_ATOLL)/g' \ +- -e 's/@''GNULIB_CALLOC_POSIX''@/$(GNULIB_CALLOC_POSIX)/g' \ +- -e 's/@''GNULIB_CANONICALIZE_FILE_NAME''@/$(GNULIB_CANONICALIZE_FILE_NAME)/g' \ +- -e 's/@''GNULIB_FREE_POSIX''@/$(GNULIB_FREE_POSIX)/g' \ +- -e 's/@''GNULIB_GETLOADAVG''@/$(GNULIB_GETLOADAVG)/g' \ +- -e 's/@''GNULIB_GETSUBOPT''@/$(GNULIB_GETSUBOPT)/g' \ +- -e 's/@''GNULIB_GRANTPT''@/$(GNULIB_GRANTPT)/g' \ +- -e 's/@''GNULIB_MALLOC_POSIX''@/$(GNULIB_MALLOC_POSIX)/g' \ +- -e 's/@''GNULIB_MBTOWC''@/$(GNULIB_MBTOWC)/g' \ +- -e 's/@''GNULIB_MKDTEMP''@/$(GNULIB_MKDTEMP)/g' \ +- -e 's/@''GNULIB_MKOSTEMP''@/$(GNULIB_MKOSTEMP)/g' \ +- -e 's/@''GNULIB_MKOSTEMPS''@/$(GNULIB_MKOSTEMPS)/g' \ +- -e 's/@''GNULIB_MKSTEMP''@/$(GNULIB_MKSTEMP)/g' \ +- -e 's/@''GNULIB_MKSTEMPS''@/$(GNULIB_MKSTEMPS)/g' \ +- -e 's/@''GNULIB_POSIX_MEMALIGN''@/$(GNULIB_POSIX_MEMALIGN)/g' \ +- -e 's/@''GNULIB_POSIX_OPENPT''@/$(GNULIB_POSIX_OPENPT)/g' \ +- -e 's/@''GNULIB_PTSNAME''@/$(GNULIB_PTSNAME)/g' \ +- -e 's/@''GNULIB_PTSNAME_R''@/$(GNULIB_PTSNAME_R)/g' \ +- -e 's/@''GNULIB_PUTENV''@/$(GNULIB_PUTENV)/g' \ +- -e 's/@''GNULIB_QSORT_R''@/$(GNULIB_QSORT_R)/g' \ +- -e 's/@''GNULIB_RANDOM''@/$(GNULIB_RANDOM)/g' \ +- -e 's/@''GNULIB_RANDOM_R''@/$(GNULIB_RANDOM_R)/g' \ +- -e 's/@''GNULIB_REALLOC_POSIX''@/$(GNULIB_REALLOC_POSIX)/g' \ +- -e 's/@''GNULIB_REALLOCARRAY''@/$(GNULIB_REALLOCARRAY)/g' \ +- -e 's/@''GNULIB_REALPATH''@/$(GNULIB_REALPATH)/g' \ +- -e 's/@''GNULIB_RPMATCH''@/$(GNULIB_RPMATCH)/g' \ +- -e 's/@''GNULIB_SECURE_GETENV''@/$(GNULIB_SECURE_GETENV)/g' \ +- -e 's/@''GNULIB_SETENV''@/$(GNULIB_SETENV)/g' \ +- -e 's/@''GNULIB_STRTOD''@/$(GNULIB_STRTOD)/g' \ +- -e 's/@''GNULIB_STRTOLD''@/$(GNULIB_STRTOLD)/g' \ +- -e 's/@''GNULIB_STRTOLL''@/$(GNULIB_STRTOLL)/g' \ +- -e 's/@''GNULIB_STRTOULL''@/$(GNULIB_STRTOULL)/g' \ +- -e 's/@''GNULIB_SYSTEM_POSIX''@/$(GNULIB_SYSTEM_POSIX)/g' \ +- -e 's/@''GNULIB_UNLOCKPT''@/$(GNULIB_UNLOCKPT)/g' \ +- -e 's/@''GNULIB_UNSETENV''@/$(GNULIB_UNSETENV)/g' \ +- -e 's/@''GNULIB_WCTOMB''@/$(GNULIB_WCTOMB)/g' \ +- -e 's/@''GNULIB_MDA_ECVT''@/$(GNULIB_MDA_ECVT)/g' \ +- -e 's/@''GNULIB_MDA_FCVT''@/$(GNULIB_MDA_FCVT)/g' \ +- -e 's/@''GNULIB_MDA_GCVT''@/$(GNULIB_MDA_GCVT)/g' \ +- -e 's/@''GNULIB_MDA_MKTEMP''@/$(GNULIB_MDA_MKTEMP)/g' \ +- -e 's/@''GNULIB_MDA_PUTENV''@/$(GNULIB_MDA_PUTENV)/g' \ ++ -e 's/@''GNULIB__EXIT''@/$(GL_GNULIB__EXIT)/g' \ ++ -e 's/@''GNULIB_ALIGNED_ALLOC''@/$(GL_GNULIB_ALIGNED_ALLOC)/g' \ ++ -e 's/@''GNULIB_ATOLL''@/$(GL_GNULIB_ATOLL)/g' \ ++ -e 's/@''GNULIB_CALLOC_POSIX''@/$(GL_GNULIB_CALLOC_POSIX)/g' \ ++ -e 's/@''GNULIB_CANONICALIZE_FILE_NAME''@/$(GL_GNULIB_CANONICALIZE_FILE_NAME)/g' \ ++ -e 's/@''GNULIB_FREE_POSIX''@/$(GL_GNULIB_FREE_POSIX)/g' \ ++ -e 's/@''GNULIB_GETLOADAVG''@/$(GL_GNULIB_GETLOADAVG)/g' \ ++ -e 's/@''GNULIB_GETSUBOPT''@/$(GL_GNULIB_GETSUBOPT)/g' \ ++ -e 's/@''GNULIB_GRANTPT''@/$(GL_GNULIB_GRANTPT)/g' \ ++ -e 's/@''GNULIB_MALLOC_POSIX''@/$(GL_GNULIB_MALLOC_POSIX)/g' \ ++ -e 's/@''GNULIB_MBTOWC''@/$(GL_GNULIB_MBTOWC)/g' \ ++ -e 's/@''GNULIB_MKDTEMP''@/$(GL_GNULIB_MKDTEMP)/g' \ ++ -e 's/@''GNULIB_MKOSTEMP''@/$(GL_GNULIB_MKOSTEMP)/g' \ ++ -e 's/@''GNULIB_MKOSTEMPS''@/$(GL_GNULIB_MKOSTEMPS)/g' \ ++ -e 's/@''GNULIB_MKSTEMP''@/$(GL_GNULIB_MKSTEMP)/g' \ ++ -e 's/@''GNULIB_MKSTEMPS''@/$(GL_GNULIB_MKSTEMPS)/g' \ ++ -e 's/@''GNULIB_POSIX_MEMALIGN''@/$(GL_GNULIB_POSIX_MEMALIGN)/g' \ ++ -e 's/@''GNULIB_POSIX_OPENPT''@/$(GL_GNULIB_POSIX_OPENPT)/g' \ ++ -e 's/@''GNULIB_PTSNAME''@/$(GL_GNULIB_PTSNAME)/g' \ ++ -e 's/@''GNULIB_PTSNAME_R''@/$(GL_GNULIB_PTSNAME_R)/g' \ ++ -e 's/@''GNULIB_PUTENV''@/$(GL_GNULIB_PUTENV)/g' \ ++ -e 's/@''GNULIB_QSORT_R''@/$(GL_GNULIB_QSORT_R)/g' \ ++ -e 's/@''GNULIB_RANDOM''@/$(GL_GNULIB_RANDOM)/g' \ ++ -e 's/@''GNULIB_RANDOM_R''@/$(GL_GNULIB_RANDOM_R)/g' \ ++ -e 's/@''GNULIB_REALLOC_POSIX''@/$(GL_GNULIB_REALLOC_POSIX)/g' \ ++ -e 's/@''GNULIB_REALLOCARRAY''@/$(GL_GNULIB_REALLOCARRAY)/g' \ ++ -e 's/@''GNULIB_REALPATH''@/$(GL_GNULIB_REALPATH)/g' \ ++ -e 's/@''GNULIB_RPMATCH''@/$(GL_GNULIB_RPMATCH)/g' \ ++ -e 's/@''GNULIB_SECURE_GETENV''@/$(GL_GNULIB_SECURE_GETENV)/g' \ ++ -e 's/@''GNULIB_SETENV''@/$(GL_GNULIB_SETENV)/g' \ ++ -e 's/@''GNULIB_STRTOD''@/$(GL_GNULIB_STRTOD)/g' \ ++ -e 's/@''GNULIB_STRTOL''@/$(GL_GNULIB_STRTOL)/g' \ ++ -e 's/@''GNULIB_STRTOLD''@/$(GL_GNULIB_STRTOLD)/g' \ ++ -e 's/@''GNULIB_STRTOLL''@/$(GL_GNULIB_STRTOLL)/g' \ ++ -e 's/@''GNULIB_STRTOUL''@/$(GL_GNULIB_STRTOUL)/g' \ ++ -e 's/@''GNULIB_STRTOULL''@/$(GL_GNULIB_STRTOULL)/g' \ ++ -e 's/@''GNULIB_SYSTEM_POSIX''@/$(GL_GNULIB_SYSTEM_POSIX)/g' \ ++ -e 's/@''GNULIB_UNLOCKPT''@/$(GL_GNULIB_UNLOCKPT)/g' \ ++ -e 's/@''GNULIB_UNSETENV''@/$(GL_GNULIB_UNSETENV)/g' \ ++ -e 's/@''GNULIB_WCTOMB''@/$(GL_GNULIB_WCTOMB)/g' \ ++ -e 's/@''GNULIB_MDA_ECVT''@/$(GL_GNULIB_MDA_ECVT)/g' \ ++ -e 's/@''GNULIB_MDA_FCVT''@/$(GL_GNULIB_MDA_FCVT)/g' \ ++ -e 's/@''GNULIB_MDA_GCVT''@/$(GL_GNULIB_MDA_GCVT)/g' \ ++ -e 's/@''GNULIB_MDA_MKTEMP''@/$(GL_GNULIB_MDA_MKTEMP)/g' \ ++ -e 's/@''GNULIB_MDA_PUTENV''@/$(GL_GNULIB_MDA_PUTENV)/g' \ + < $(srcdir)/stdlib.in.h | \ + sed -e 's|@''HAVE__EXIT''@|$(HAVE__EXIT)|g' \ + -e 's|@''HAVE_ALIGNED_ALLOC''@|$(HAVE_ALIGNED_ALLOC)|g' \ +@@ -1314,8 +1423,10 @@ stdlib.h: stdlib.in.h $(top_builddir)/co + -e 's|@''HAVE_SETSTATE''@|$(HAVE_SETSTATE)|g' \ + -e 's|@''HAVE_DECL_SETSTATE''@|$(HAVE_DECL_SETSTATE)|g' \ + -e 's|@''HAVE_STRTOD''@|$(HAVE_STRTOD)|g' \ ++ -e 's|@''HAVE_STRTOL''@|$(HAVE_STRTOL)|g' \ + -e 's|@''HAVE_STRTOLD''@|$(HAVE_STRTOLD)|g' \ + -e 's|@''HAVE_STRTOLL''@|$(HAVE_STRTOLL)|g' \ ++ -e 's|@''HAVE_STRTOUL''@|$(HAVE_STRTOUL)|g' \ + -e 's|@''HAVE_STRTOULL''@|$(HAVE_STRTOULL)|g' \ + -e 's|@''HAVE_STRUCT_RANDOM_DATA''@|$(HAVE_STRUCT_RANDOM_DATA)|g' \ + -e 's|@''HAVE_SYS_LOADAVG_H''@|$(HAVE_SYS_LOADAVG_H)|g' \ +@@ -1337,11 +1448,16 @@ stdlib.h: stdlib.in.h $(top_builddir)/co + -e 's|@''REPLACE_RANDOM''@|$(REPLACE_RANDOM)|g' \ + -e 's|@''REPLACE_RANDOM_R''@|$(REPLACE_RANDOM_R)|g' \ + -e 's|@''REPLACE_REALLOC''@|$(REPLACE_REALLOC)|g' \ ++ -e 's|@''REPLACE_REALLOCARRAY''@|$(REPLACE_REALLOCARRAY)|g' \ + -e 's|@''REPLACE_REALPATH''@|$(REPLACE_REALPATH)|g' \ + -e 's|@''REPLACE_SETENV''@|$(REPLACE_SETENV)|g' \ + -e 's|@''REPLACE_SETSTATE''@|$(REPLACE_SETSTATE)|g' \ + -e 's|@''REPLACE_STRTOD''@|$(REPLACE_STRTOD)|g' \ ++ -e 's|@''REPLACE_STRTOL''@|$(REPLACE_STRTOL)|g' \ + -e 's|@''REPLACE_STRTOLD''@|$(REPLACE_STRTOLD)|g' \ ++ -e 's|@''REPLACE_STRTOLL''@|$(REPLACE_STRTOLL)|g' \ ++ -e 's|@''REPLACE_STRTOUL''@|$(REPLACE_STRTOUL)|g' \ ++ -e 's|@''REPLACE_STRTOULL''@|$(REPLACE_STRTOULL)|g' \ + -e 's|@''REPLACE_UNSETENV''@|$(REPLACE_UNSETENV)|g' \ + -e 's|@''REPLACE_WCTOMB''@|$(REPLACE_WCTOMB)|g' \ + -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ +@@ -1444,49 +1560,49 @@ string.h: string.in.h $(top_builddir)/co + -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ + -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ + -e 's|@''NEXT_STRING_H''@|$(NEXT_STRING_H)|g' \ +- -e 's/@''GNULIB_EXPLICIT_BZERO''@/$(GNULIB_EXPLICIT_BZERO)/g' \ +- -e 's/@''GNULIB_FFSL''@/$(GNULIB_FFSL)/g' \ +- -e 's/@''GNULIB_FFSLL''@/$(GNULIB_FFSLL)/g' \ +- -e 's/@''GNULIB_MBSLEN''@/$(GNULIB_MBSLEN)/g' \ +- -e 's/@''GNULIB_MBSNLEN''@/$(GNULIB_MBSNLEN)/g' \ +- -e 's/@''GNULIB_MBSCHR''@/$(GNULIB_MBSCHR)/g' \ +- -e 's/@''GNULIB_MBSRCHR''@/$(GNULIB_MBSRCHR)/g' \ +- -e 's/@''GNULIB_MBSSTR''@/$(GNULIB_MBSSTR)/g' \ +- -e 's/@''GNULIB_MBSCASECMP''@/$(GNULIB_MBSCASECMP)/g' \ +- -e 's/@''GNULIB_MBSNCASECMP''@/$(GNULIB_MBSNCASECMP)/g' \ +- -e 's/@''GNULIB_MBSPCASECMP''@/$(GNULIB_MBSPCASECMP)/g' \ +- -e 's/@''GNULIB_MBSCASESTR''@/$(GNULIB_MBSCASESTR)/g' \ +- -e 's/@''GNULIB_MBSCSPN''@/$(GNULIB_MBSCSPN)/g' \ +- -e 's/@''GNULIB_MBSPBRK''@/$(GNULIB_MBSPBRK)/g' \ +- -e 's/@''GNULIB_MBSSPN''@/$(GNULIB_MBSSPN)/g' \ +- -e 's/@''GNULIB_MBSSEP''@/$(GNULIB_MBSSEP)/g' \ +- -e 's/@''GNULIB_MBSTOK_R''@/$(GNULIB_MBSTOK_R)/g' \ +- -e 's/@''GNULIB_MEMCHR''@/$(GNULIB_MEMCHR)/g' \ +- -e 's/@''GNULIB_MEMMEM''@/$(GNULIB_MEMMEM)/g' \ +- -e 's/@''GNULIB_MEMPCPY''@/$(GNULIB_MEMPCPY)/g' \ +- -e 's/@''GNULIB_MEMRCHR''@/$(GNULIB_MEMRCHR)/g' \ +- -e 's/@''GNULIB_RAWMEMCHR''@/$(GNULIB_RAWMEMCHR)/g' \ +- -e 's/@''GNULIB_STPCPY''@/$(GNULIB_STPCPY)/g' \ +- -e 's/@''GNULIB_STPNCPY''@/$(GNULIB_STPNCPY)/g' \ +- -e 's/@''GNULIB_STRCHRNUL''@/$(GNULIB_STRCHRNUL)/g' \ +- -e 's/@''GNULIB_STRDUP''@/$(GNULIB_STRDUP)/g' \ +- -e 's/@''GNULIB_STRNCAT''@/$(GNULIB_STRNCAT)/g' \ +- -e 's/@''GNULIB_STRNDUP''@/$(GNULIB_STRNDUP)/g' \ +- -e 's/@''GNULIB_STRNLEN''@/$(GNULIB_STRNLEN)/g' \ +- -e 's/@''GNULIB_STRPBRK''@/$(GNULIB_STRPBRK)/g' \ +- -e 's/@''GNULIB_STRSEP''@/$(GNULIB_STRSEP)/g' \ +- -e 's/@''GNULIB_STRSTR''@/$(GNULIB_STRSTR)/g' \ +- -e 's/@''GNULIB_STRCASESTR''@/$(GNULIB_STRCASESTR)/g' \ +- -e 's/@''GNULIB_STRTOK_R''@/$(GNULIB_STRTOK_R)/g' \ +- -e 's/@''GNULIB_STRERROR''@/$(GNULIB_STRERROR)/g' \ +- -e 's/@''GNULIB_STRERROR_R''@/$(GNULIB_STRERROR_R)/g' \ +- -e 's/@''GNULIB_STRERRORNAME_NP''@/$(GNULIB_STRERRORNAME_NP)/g' \ +- -e 's/@''GNULIB_SIGABBREV_NP''@/$(GNULIB_SIGABBREV_NP)/g' \ +- -e 's/@''GNULIB_SIGDESCR_NP''@/$(GNULIB_SIGDESCR_NP)/g' \ +- -e 's/@''GNULIB_STRSIGNAL''@/$(GNULIB_STRSIGNAL)/g' \ +- -e 's/@''GNULIB_STRVERSCMP''@/$(GNULIB_STRVERSCMP)/g' \ +- -e 's/@''GNULIB_MDA_MEMCCPY''@/$(GNULIB_MDA_MEMCCPY)/g' \ +- -e 's/@''GNULIB_MDA_STRDUP''@/$(GNULIB_MDA_STRDUP)/g' \ ++ -e 's/@''GNULIB_EXPLICIT_BZERO''@/$(GL_GNULIB_EXPLICIT_BZERO)/g' \ ++ -e 's/@''GNULIB_FFSL''@/$(GL_GNULIB_FFSL)/g' \ ++ -e 's/@''GNULIB_FFSLL''@/$(GL_GNULIB_FFSLL)/g' \ ++ -e 's/@''GNULIB_MBSLEN''@/$(GL_GNULIB_MBSLEN)/g' \ ++ -e 's/@''GNULIB_MBSNLEN''@/$(GL_GNULIB_MBSNLEN)/g' \ ++ -e 's/@''GNULIB_MBSCHR''@/$(GL_GNULIB_MBSCHR)/g' \ ++ -e 's/@''GNULIB_MBSRCHR''@/$(GL_GNULIB_MBSRCHR)/g' \ ++ -e 's/@''GNULIB_MBSSTR''@/$(GL_GNULIB_MBSSTR)/g' \ ++ -e 's/@''GNULIB_MBSCASECMP''@/$(GL_GNULIB_MBSCASECMP)/g' \ ++ -e 's/@''GNULIB_MBSNCASECMP''@/$(GL_GNULIB_MBSNCASECMP)/g' \ ++ -e 's/@''GNULIB_MBSPCASECMP''@/$(GL_GNULIB_MBSPCASECMP)/g' \ ++ -e 's/@''GNULIB_MBSCASESTR''@/$(GL_GNULIB_MBSCASESTR)/g' \ ++ -e 's/@''GNULIB_MBSCSPN''@/$(GL_GNULIB_MBSCSPN)/g' \ ++ -e 's/@''GNULIB_MBSPBRK''@/$(GL_GNULIB_MBSPBRK)/g' \ ++ -e 's/@''GNULIB_MBSSPN''@/$(GL_GNULIB_MBSSPN)/g' \ ++ -e 's/@''GNULIB_MBSSEP''@/$(GL_GNULIB_MBSSEP)/g' \ ++ -e 's/@''GNULIB_MBSTOK_R''@/$(GL_GNULIB_MBSTOK_R)/g' \ ++ -e 's/@''GNULIB_MEMCHR''@/$(GL_GNULIB_MEMCHR)/g' \ ++ -e 's/@''GNULIB_MEMMEM''@/$(GL_GNULIB_MEMMEM)/g' \ ++ -e 's/@''GNULIB_MEMPCPY''@/$(GL_GNULIB_MEMPCPY)/g' \ ++ -e 's/@''GNULIB_MEMRCHR''@/$(GL_GNULIB_MEMRCHR)/g' \ ++ -e 's/@''GNULIB_RAWMEMCHR''@/$(GL_GNULIB_RAWMEMCHR)/g' \ ++ -e 's/@''GNULIB_STPCPY''@/$(GL_GNULIB_STPCPY)/g' \ ++ -e 's/@''GNULIB_STPNCPY''@/$(GL_GNULIB_STPNCPY)/g' \ ++ -e 's/@''GNULIB_STRCHRNUL''@/$(GL_GNULIB_STRCHRNUL)/g' \ ++ -e 's/@''GNULIB_STRDUP''@/$(GL_GNULIB_STRDUP)/g' \ ++ -e 's/@''GNULIB_STRNCAT''@/$(GL_GNULIB_STRNCAT)/g' \ ++ -e 's/@''GNULIB_STRNDUP''@/$(GL_GNULIB_STRNDUP)/g' \ ++ -e 's/@''GNULIB_STRNLEN''@/$(GL_GNULIB_STRNLEN)/g' \ ++ -e 's/@''GNULIB_STRPBRK''@/$(GL_GNULIB_STRPBRK)/g' \ ++ -e 's/@''GNULIB_STRSEP''@/$(GL_GNULIB_STRSEP)/g' \ ++ -e 's/@''GNULIB_STRSTR''@/$(GL_GNULIB_STRSTR)/g' \ ++ -e 's/@''GNULIB_STRCASESTR''@/$(GL_GNULIB_STRCASESTR)/g' \ ++ -e 's/@''GNULIB_STRTOK_R''@/$(GL_GNULIB_STRTOK_R)/g' \ ++ -e 's/@''GNULIB_STRERROR''@/$(GL_GNULIB_STRERROR)/g' \ ++ -e 's/@''GNULIB_STRERROR_R''@/$(GL_GNULIB_STRERROR_R)/g' \ ++ -e 's/@''GNULIB_STRERRORNAME_NP''@/$(GL_GNULIB_STRERRORNAME_NP)/g' \ ++ -e 's/@''GNULIB_SIGABBREV_NP''@/$(GL_GNULIB_SIGABBREV_NP)/g' \ ++ -e 's/@''GNULIB_SIGDESCR_NP''@/$(GL_GNULIB_SIGDESCR_NP)/g' \ ++ -e 's/@''GNULIB_STRSIGNAL''@/$(GL_GNULIB_STRSIGNAL)/g' \ ++ -e 's/@''GNULIB_STRVERSCMP''@/$(GL_GNULIB_STRVERSCMP)/g' \ ++ -e 's/@''GNULIB_MDA_MEMCCPY''@/$(GL_GNULIB_MDA_MEMCCPY)/g' \ ++ -e 's/@''GNULIB_MDA_STRDUP''@/$(GL_GNULIB_MDA_STRDUP)/g' \ + < $(srcdir)/string.in.h | \ + sed -e 's|@''HAVE_EXPLICIT_BZERO''@|$(HAVE_EXPLICIT_BZERO)|g' \ + -e 's|@''HAVE_FFSL''@|$(HAVE_FFSL)|g' \ +@@ -1556,7 +1672,7 @@ strings.h: strings.in.h $(top_builddir)/ + -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ + -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ + -e 's|@''NEXT_STRINGS_H''@|$(NEXT_STRINGS_H)|g' \ +- -e 's/@''GNULIB_FFS''@/$(GNULIB_FFS)/g' \ ++ -e 's/@''GNULIB_FFS''@/$(GL_GNULIB_FFS)/g' \ + -e 's|@''HAVE_FFS''@|$(HAVE_FFS)|g' \ + -e 's|@''HAVE_STRCASECMP''@|$(HAVE_STRCASECMP)|g' \ + -e 's|@''HAVE_DECL_STRNCASECMP''@|$(HAVE_DECL_STRNCASECMP)|g' \ +@@ -1638,25 +1754,25 @@ sys/stat.h: sys_stat.in.h $(top_builddir + -e 's|@''NEXT_SYS_STAT_H''@|$(NEXT_SYS_STAT_H)|g' \ + -e 's|@''WINDOWS_64_BIT_ST_SIZE''@|$(WINDOWS_64_BIT_ST_SIZE)|g' \ + -e 's|@''WINDOWS_STAT_TIMESPEC''@|$(WINDOWS_STAT_TIMESPEC)|g' \ +- -e 's/@''GNULIB_FCHMODAT''@/$(GNULIB_FCHMODAT)/g' \ +- -e 's/@''GNULIB_FSTAT''@/$(GNULIB_FSTAT)/g' \ +- -e 's/@''GNULIB_FSTATAT''@/$(GNULIB_FSTATAT)/g' \ +- -e 's/@''GNULIB_FUTIMENS''@/$(GNULIB_FUTIMENS)/g' \ +- -e 's/@''GNULIB_GETUMASK''@/$(GNULIB_GETUMASK)/g' \ +- -e 's/@''GNULIB_LCHMOD''@/$(GNULIB_LCHMOD)/g' \ +- -e 's/@''GNULIB_LSTAT''@/$(GNULIB_LSTAT)/g' \ +- -e 's/@''GNULIB_MKDIR''@/$(GNULIB_MKDIR)/g' \ +- -e 's/@''GNULIB_MKDIRAT''@/$(GNULIB_MKDIRAT)/g' \ +- -e 's/@''GNULIB_MKFIFO''@/$(GNULIB_MKFIFO)/g' \ +- -e 's/@''GNULIB_MKFIFOAT''@/$(GNULIB_MKFIFOAT)/g' \ +- -e 's/@''GNULIB_MKNOD''@/$(GNULIB_MKNOD)/g' \ +- -e 's/@''GNULIB_MKNODAT''@/$(GNULIB_MKNODAT)/g' \ +- -e 's/@''GNULIB_STAT''@/$(GNULIB_STAT)/g' \ +- -e 's/@''GNULIB_UTIMENSAT''@/$(GNULIB_UTIMENSAT)/g' \ +- -e 's/@''GNULIB_OVERRIDES_STRUCT_STAT''@/$(GNULIB_OVERRIDES_STRUCT_STAT)/g' \ +- -e 's/@''GNULIB_MDA_CHMOD''@/$(GNULIB_MDA_CHMOD)/g' \ +- -e 's/@''GNULIB_MDA_MKDIR''@/$(GNULIB_MDA_MKDIR)/g' \ +- -e 's/@''GNULIB_MDA_UMASK''@/$(GNULIB_MDA_UMASK)/g' \ ++ -e 's/@''GNULIB_FCHMODAT''@/$(GL_GNULIB_FCHMODAT)/g' \ ++ -e 's/@''GNULIB_FSTAT''@/$(GL_GNULIB_FSTAT)/g' \ ++ -e 's/@''GNULIB_FSTATAT''@/$(GL_GNULIB_FSTATAT)/g' \ ++ -e 's/@''GNULIB_FUTIMENS''@/$(GL_GNULIB_FUTIMENS)/g' \ ++ -e 's/@''GNULIB_GETUMASK''@/$(GL_GNULIB_GETUMASK)/g' \ ++ -e 's/@''GNULIB_LCHMOD''@/$(GL_GNULIB_LCHMOD)/g' \ ++ -e 's/@''GNULIB_LSTAT''@/$(GL_GNULIB_LSTAT)/g' \ ++ -e 's/@''GNULIB_MKDIR''@/$(GL_GNULIB_MKDIR)/g' \ ++ -e 's/@''GNULIB_MKDIRAT''@/$(GL_GNULIB_MKDIRAT)/g' \ ++ -e 's/@''GNULIB_MKFIFO''@/$(GL_GNULIB_MKFIFO)/g' \ ++ -e 's/@''GNULIB_MKFIFOAT''@/$(GL_GNULIB_MKFIFOAT)/g' \ ++ -e 's/@''GNULIB_MKNOD''@/$(GL_GNULIB_MKNOD)/g' \ ++ -e 's/@''GNULIB_MKNODAT''@/$(GL_GNULIB_MKNODAT)/g' \ ++ -e 's/@''GNULIB_STAT''@/$(GL_GNULIB_STAT)/g' \ ++ -e 's/@''GNULIB_UTIMENSAT''@/$(GL_GNULIB_UTIMENSAT)/g' \ ++ -e 's/@''GNULIB_OVERRIDES_STRUCT_STAT''@/$(GL_GNULIB_OVERRIDES_STRUCT_STAT)/g' \ ++ -e 's/@''GNULIB_MDA_CHMOD''@/$(GL_GNULIB_MDA_CHMOD)/g' \ ++ -e 's/@''GNULIB_MDA_MKDIR''@/$(GL_GNULIB_MDA_MKDIR)/g' \ ++ -e 's/@''GNULIB_MDA_UMASK''@/$(GL_GNULIB_MDA_UMASK)/g' \ + -e 's|@''HAVE_FCHMODAT''@|$(HAVE_FCHMODAT)|g' \ + -e 's|@''HAVE_FSTATAT''@|$(HAVE_FSTATAT)|g' \ + -e 's|@''HAVE_FUTIMENS''@|$(HAVE_FUTIMENS)|g' \ +@@ -1744,18 +1860,18 @@ time.h: time.in.h $(top_builddir)/config + -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ + -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ + -e 's|@''NEXT_TIME_H''@|$(NEXT_TIME_H)|g' \ +- -e 's/@''GNULIB_CTIME''@/$(GNULIB_CTIME)/g' \ +- -e 's/@''GNULIB_LOCALTIME''@/$(GNULIB_LOCALTIME)/g' \ +- -e 's/@''GNULIB_MKTIME''@/$(GNULIB_MKTIME)/g' \ +- -e 's/@''GNULIB_NANOSLEEP''@/$(GNULIB_NANOSLEEP)/g' \ +- -e 's/@''GNULIB_STRFTIME''@/$(GNULIB_STRFTIME)/g' \ +- -e 's/@''GNULIB_STRPTIME''@/$(GNULIB_STRPTIME)/g' \ +- -e 's/@''GNULIB_TIMEGM''@/$(GNULIB_TIMEGM)/g' \ +- -e 's/@''GNULIB_TIMESPEC_GET''@/$(GNULIB_TIMESPEC_GET)/g' \ +- -e 's/@''GNULIB_TIME_R''@/$(GNULIB_TIME_R)/g' \ +- -e 's/@''GNULIB_TIME_RZ''@/$(GNULIB_TIME_RZ)/g' \ +- -e 's/@''GNULIB_TZSET''@/$(GNULIB_TZSET)/g' \ +- -e 's/@''GNULIB_MDA_TZSET''@/$(GNULIB_MDA_TZSET)/g' \ ++ -e 's/@''GNULIB_CTIME''@/$(GL_GNULIB_CTIME)/g' \ ++ -e 's/@''GNULIB_LOCALTIME''@/$(GL_GNULIB_LOCALTIME)/g' \ ++ -e 's/@''GNULIB_MKTIME''@/$(GL_GNULIB_MKTIME)/g' \ ++ -e 's/@''GNULIB_NANOSLEEP''@/$(GL_GNULIB_NANOSLEEP)/g' \ ++ -e 's/@''GNULIB_STRFTIME''@/$(GL_GNULIB_STRFTIME)/g' \ ++ -e 's/@''GNULIB_STRPTIME''@/$(GL_GNULIB_STRPTIME)/g' \ ++ -e 's/@''GNULIB_TIMEGM''@/$(GL_GNULIB_TIMEGM)/g' \ ++ -e 's/@''GNULIB_TIMESPEC_GET''@/$(GL_GNULIB_TIMESPEC_GET)/g' \ ++ -e 's/@''GNULIB_TIME_R''@/$(GL_GNULIB_TIME_R)/g' \ ++ -e 's/@''GNULIB_TIME_RZ''@/$(GL_GNULIB_TIME_RZ)/g' \ ++ -e 's/@''GNULIB_TZSET''@/$(GL_GNULIB_TZSET)/g' \ ++ -e 's/@''GNULIB_MDA_TZSET''@/$(GL_GNULIB_MDA_TZSET)/g' \ + -e 's|@''HAVE_DECL_LOCALTIME_R''@|$(HAVE_DECL_LOCALTIME_R)|g' \ + -e 's|@''HAVE_NANOSLEEP''@|$(HAVE_NANOSLEEP)|g' \ + -e 's|@''HAVE_STRPTIME''@|$(HAVE_STRPTIME)|g' \ +@@ -1806,89 +1922,89 @@ unistd.h: unistd.in.h $(top_builddir)/co + -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ + -e 's|@''NEXT_UNISTD_H''@|$(NEXT_UNISTD_H)|g' \ + -e 's|@''WINDOWS_64_BIT_OFF_T''@|$(WINDOWS_64_BIT_OFF_T)|g' \ +- -e 's/@''GNULIB_ACCESS''@/$(GNULIB_ACCESS)/g' \ +- -e 's/@''GNULIB_CHDIR''@/$(GNULIB_CHDIR)/g' \ +- -e 's/@''GNULIB_CHOWN''@/$(GNULIB_CHOWN)/g' \ +- -e 's/@''GNULIB_CLOSE''@/$(GNULIB_CLOSE)/g' \ +- -e 's/@''GNULIB_COPY_FILE_RANGE''@/$(GNULIB_COPY_FILE_RANGE)/g' \ +- -e 's/@''GNULIB_DUP''@/$(GNULIB_DUP)/g' \ +- -e 's/@''GNULIB_DUP2''@/$(GNULIB_DUP2)/g' \ +- -e 's/@''GNULIB_DUP3''@/$(GNULIB_DUP3)/g' \ +- -e 's/@''GNULIB_ENVIRON''@/$(GNULIB_ENVIRON)/g' \ +- -e 's/@''GNULIB_EUIDACCESS''@/$(GNULIB_EUIDACCESS)/g' \ +- -e 's/@''GNULIB_EXECL''@/$(GNULIB_EXECL)/g' \ +- -e 's/@''GNULIB_EXECLE''@/$(GNULIB_EXECLE)/g' \ +- -e 's/@''GNULIB_EXECLP''@/$(GNULIB_EXECLP)/g' \ +- -e 's/@''GNULIB_EXECV''@/$(GNULIB_EXECV)/g' \ +- -e 's/@''GNULIB_EXECVE''@/$(GNULIB_EXECVE)/g' \ +- -e 's/@''GNULIB_EXECVP''@/$(GNULIB_EXECVP)/g' \ +- -e 's/@''GNULIB_EXECVPE''@/$(GNULIB_EXECVPE)/g' \ +- -e 's/@''GNULIB_FACCESSAT''@/$(GNULIB_FACCESSAT)/g' \ +- -e 's/@''GNULIB_FCHDIR''@/$(GNULIB_FCHDIR)/g' \ +- -e 's/@''GNULIB_FCHOWNAT''@/$(GNULIB_FCHOWNAT)/g' \ +- -e 's/@''GNULIB_FDATASYNC''@/$(GNULIB_FDATASYNC)/g' \ +- -e 's/@''GNULIB_FSYNC''@/$(GNULIB_FSYNC)/g' \ +- -e 's/@''GNULIB_FTRUNCATE''@/$(GNULIB_FTRUNCATE)/g' \ +- -e 's/@''GNULIB_GETCWD''@/$(GNULIB_GETCWD)/g' \ +- -e 's/@''GNULIB_GETDOMAINNAME''@/$(GNULIB_GETDOMAINNAME)/g' \ +- -e 's/@''GNULIB_GETDTABLESIZE''@/$(GNULIB_GETDTABLESIZE)/g' \ +- -e 's/@''GNULIB_GETENTROPY''@/$(GNULIB_GETENTROPY)/g' \ +- -e 's/@''GNULIB_GETGROUPS''@/$(GNULIB_GETGROUPS)/g' \ +- -e 's/@''GNULIB_GETHOSTNAME''@/$(GNULIB_GETHOSTNAME)/g' \ +- -e 's/@''GNULIB_GETLOGIN''@/$(GNULIB_GETLOGIN)/g' \ +- -e 's/@''GNULIB_GETLOGIN_R''@/$(GNULIB_GETLOGIN_R)/g' \ +- -e 's/@''GNULIB_GETOPT_POSIX''@/$(GNULIB_GETOPT_POSIX)/g' \ +- -e 's/@''GNULIB_GETPAGESIZE''@/$(GNULIB_GETPAGESIZE)/g' \ +- -e 's/@''GNULIB_GETPASS''@/$(GNULIB_GETPASS)/g' \ +- -e 's/@''GNULIB_GETUSERSHELL''@/$(GNULIB_GETUSERSHELL)/g' \ +- -e 's/@''GNULIB_GROUP_MEMBER''@/$(GNULIB_GROUP_MEMBER)/g' \ +- -e 's/@''GNULIB_ISATTY''@/$(GNULIB_ISATTY)/g' \ +- -e 's/@''GNULIB_LCHOWN''@/$(GNULIB_LCHOWN)/g' \ +- -e 's/@''GNULIB_LINK''@/$(GNULIB_LINK)/g' \ +- -e 's/@''GNULIB_LINKAT''@/$(GNULIB_LINKAT)/g' \ +- -e 's/@''GNULIB_LSEEK''@/$(GNULIB_LSEEK)/g' \ +- -e 's/@''GNULIB_PIPE''@/$(GNULIB_PIPE)/g' \ +- -e 's/@''GNULIB_PIPE2''@/$(GNULIB_PIPE2)/g' \ +- -e 's/@''GNULIB_PREAD''@/$(GNULIB_PREAD)/g' \ +- -e 's/@''GNULIB_PWRITE''@/$(GNULIB_PWRITE)/g' \ +- -e 's/@''GNULIB_READ''@/$(GNULIB_READ)/g' \ +- -e 's/@''GNULIB_READLINK''@/$(GNULIB_READLINK)/g' \ +- -e 's/@''GNULIB_READLINKAT''@/$(GNULIB_READLINKAT)/g' \ +- -e 's/@''GNULIB_RMDIR''@/$(GNULIB_RMDIR)/g' \ +- -e 's/@''GNULIB_SETHOSTNAME''@/$(GNULIB_SETHOSTNAME)/g' \ +- -e 's/@''GNULIB_SLEEP''@/$(GNULIB_SLEEP)/g' \ +- -e 's/@''GNULIB_SYMLINK''@/$(GNULIB_SYMLINK)/g' \ +- -e 's/@''GNULIB_SYMLINKAT''@/$(GNULIB_SYMLINKAT)/g' \ +- -e 's/@''GNULIB_TRUNCATE''@/$(GNULIB_TRUNCATE)/g' \ +- -e 's/@''GNULIB_TTYNAME_R''@/$(GNULIB_TTYNAME_R)/g' \ +- -e 's/@''GNULIB_UNISTD_H_GETOPT''@/0$(GNULIB_GL_UNISTD_H_GETOPT)/g' \ +- -e 's/@''GNULIB_UNISTD_H_NONBLOCKING''@/$(GNULIB_UNISTD_H_NONBLOCKING)/g' \ +- -e 's/@''GNULIB_UNISTD_H_SIGPIPE''@/$(GNULIB_UNISTD_H_SIGPIPE)/g' \ +- -e 's/@''GNULIB_UNLINK''@/$(GNULIB_UNLINK)/g' \ +- -e 's/@''GNULIB_UNLINKAT''@/$(GNULIB_UNLINKAT)/g' \ +- -e 's/@''GNULIB_USLEEP''@/$(GNULIB_USLEEP)/g' \ +- -e 's/@''GNULIB_WRITE''@/$(GNULIB_WRITE)/g' \ +- -e 's/@''GNULIB_MDA_ACCESS''@/$(GNULIB_MDA_ACCESS)/g' \ +- -e 's/@''GNULIB_MDA_CHDIR''@/$(GNULIB_MDA_CHDIR)/g' \ +- -e 's/@''GNULIB_MDA_CLOSE''@/$(GNULIB_MDA_CLOSE)/g' \ +- -e 's/@''GNULIB_MDA_DUP''@/$(GNULIB_MDA_DUP)/g' \ +- -e 's/@''GNULIB_MDA_DUP2''@/$(GNULIB_MDA_DUP2)/g' \ +- -e 's/@''GNULIB_MDA_EXECL''@/$(GNULIB_MDA_EXECL)/g' \ +- -e 's/@''GNULIB_MDA_EXECLE''@/$(GNULIB_MDA_EXECLE)/g' \ +- -e 's/@''GNULIB_MDA_EXECLP''@/$(GNULIB_MDA_EXECLP)/g' \ +- -e 's/@''GNULIB_MDA_EXECV''@/$(GNULIB_MDA_EXECV)/g' \ +- -e 's/@''GNULIB_MDA_EXECVE''@/$(GNULIB_MDA_EXECVE)/g' \ +- -e 's/@''GNULIB_MDA_EXECVP''@/$(GNULIB_MDA_EXECVP)/g' \ +- -e 's/@''GNULIB_MDA_EXECVPE''@/$(GNULIB_MDA_EXECVPE)/g' \ +- -e 's/@''GNULIB_MDA_GETCWD''@/$(GNULIB_MDA_GETCWD)/g' \ +- -e 's/@''GNULIB_MDA_GETPID''@/$(GNULIB_MDA_GETPID)/g' \ +- -e 's/@''GNULIB_MDA_ISATTY''@/$(GNULIB_MDA_ISATTY)/g' \ +- -e 's/@''GNULIB_MDA_LSEEK''@/$(GNULIB_MDA_LSEEK)/g' \ +- -e 's/@''GNULIB_MDA_READ''@/$(GNULIB_MDA_READ)/g' \ +- -e 's/@''GNULIB_MDA_RMDIR''@/$(GNULIB_MDA_RMDIR)/g' \ +- -e 's/@''GNULIB_MDA_SWAB''@/$(GNULIB_MDA_SWAB)/g' \ +- -e 's/@''GNULIB_MDA_UNLINK''@/$(GNULIB_MDA_UNLINK)/g' \ +- -e 's/@''GNULIB_MDA_WRITE''@/$(GNULIB_MDA_WRITE)/g' \ ++ -e 's/@''GNULIB_ACCESS''@/$(GL_GNULIB_ACCESS)/g' \ ++ -e 's/@''GNULIB_CHDIR''@/$(GL_GNULIB_CHDIR)/g' \ ++ -e 's/@''GNULIB_CHOWN''@/$(GL_GNULIB_CHOWN)/g' \ ++ -e 's/@''GNULIB_CLOSE''@/$(GL_GNULIB_CLOSE)/g' \ ++ -e 's/@''GNULIB_COPY_FILE_RANGE''@/$(GL_GNULIB_COPY_FILE_RANGE)/g' \ ++ -e 's/@''GNULIB_DUP''@/$(GL_GNULIB_DUP)/g' \ ++ -e 's/@''GNULIB_DUP2''@/$(GL_GNULIB_DUP2)/g' \ ++ -e 's/@''GNULIB_DUP3''@/$(GL_GNULIB_DUP3)/g' \ ++ -e 's/@''GNULIB_ENVIRON''@/$(GL_GNULIB_ENVIRON)/g' \ ++ -e 's/@''GNULIB_EUIDACCESS''@/$(GL_GNULIB_EUIDACCESS)/g' \ ++ -e 's/@''GNULIB_EXECL''@/$(GL_GNULIB_EXECL)/g' \ ++ -e 's/@''GNULIB_EXECLE''@/$(GL_GNULIB_EXECLE)/g' \ ++ -e 's/@''GNULIB_EXECLP''@/$(GL_GNULIB_EXECLP)/g' \ ++ -e 's/@''GNULIB_EXECV''@/$(GL_GNULIB_EXECV)/g' \ ++ -e 's/@''GNULIB_EXECVE''@/$(GL_GNULIB_EXECVE)/g' \ ++ -e 's/@''GNULIB_EXECVP''@/$(GL_GNULIB_EXECVP)/g' \ ++ -e 's/@''GNULIB_EXECVPE''@/$(GL_GNULIB_EXECVPE)/g' \ ++ -e 's/@''GNULIB_FACCESSAT''@/$(GL_GNULIB_FACCESSAT)/g' \ ++ -e 's/@''GNULIB_FCHDIR''@/$(GL_GNULIB_FCHDIR)/g' \ ++ -e 's/@''GNULIB_FCHOWNAT''@/$(GL_GNULIB_FCHOWNAT)/g' \ ++ -e 's/@''GNULIB_FDATASYNC''@/$(GL_GNULIB_FDATASYNC)/g' \ ++ -e 's/@''GNULIB_FSYNC''@/$(GL_GNULIB_FSYNC)/g' \ ++ -e 's/@''GNULIB_FTRUNCATE''@/$(GL_GNULIB_FTRUNCATE)/g' \ ++ -e 's/@''GNULIB_GETCWD''@/$(GL_GNULIB_GETCWD)/g' \ ++ -e 's/@''GNULIB_GETDOMAINNAME''@/$(GL_GNULIB_GETDOMAINNAME)/g' \ ++ -e 's/@''GNULIB_GETDTABLESIZE''@/$(GL_GNULIB_GETDTABLESIZE)/g' \ ++ -e 's/@''GNULIB_GETENTROPY''@/$(GL_GNULIB_GETENTROPY)/g' \ ++ -e 's/@''GNULIB_GETGROUPS''@/$(GL_GNULIB_GETGROUPS)/g' \ ++ -e 's/@''GNULIB_GETHOSTNAME''@/$(GL_GNULIB_GETHOSTNAME)/g' \ ++ -e 's/@''GNULIB_GETLOGIN''@/$(GL_GNULIB_GETLOGIN)/g' \ ++ -e 's/@''GNULIB_GETLOGIN_R''@/$(GL_GNULIB_GETLOGIN_R)/g' \ ++ -e 's/@''GNULIB_GETOPT_POSIX''@/$(GL_GNULIB_GETOPT_POSIX)/g' \ ++ -e 's/@''GNULIB_GETPAGESIZE''@/$(GL_GNULIB_GETPAGESIZE)/g' \ ++ -e 's/@''GNULIB_GETPASS''@/$(GL_GNULIB_GETPASS)/g' \ ++ -e 's/@''GNULIB_GETUSERSHELL''@/$(GL_GNULIB_GETUSERSHELL)/g' \ ++ -e 's/@''GNULIB_GROUP_MEMBER''@/$(GL_GNULIB_GROUP_MEMBER)/g' \ ++ -e 's/@''GNULIB_ISATTY''@/$(GL_GNULIB_ISATTY)/g' \ ++ -e 's/@''GNULIB_LCHOWN''@/$(GL_GNULIB_LCHOWN)/g' \ ++ -e 's/@''GNULIB_LINK''@/$(GL_GNULIB_LINK)/g' \ ++ -e 's/@''GNULIB_LINKAT''@/$(GL_GNULIB_LINKAT)/g' \ ++ -e 's/@''GNULIB_LSEEK''@/$(GL_GNULIB_LSEEK)/g' \ ++ -e 's/@''GNULIB_PIPE''@/$(GL_GNULIB_PIPE)/g' \ ++ -e 's/@''GNULIB_PIPE2''@/$(GL_GNULIB_PIPE2)/g' \ ++ -e 's/@''GNULIB_PREAD''@/$(GL_GNULIB_PREAD)/g' \ ++ -e 's/@''GNULIB_PWRITE''@/$(GL_GNULIB_PWRITE)/g' \ ++ -e 's/@''GNULIB_READ''@/$(GL_GNULIB_READ)/g' \ ++ -e 's/@''GNULIB_READLINK''@/$(GL_GNULIB_READLINK)/g' \ ++ -e 's/@''GNULIB_READLINKAT''@/$(GL_GNULIB_READLINKAT)/g' \ ++ -e 's/@''GNULIB_RMDIR''@/$(GL_GNULIB_RMDIR)/g' \ ++ -e 's/@''GNULIB_SETHOSTNAME''@/$(GL_GNULIB_SETHOSTNAME)/g' \ ++ -e 's/@''GNULIB_SLEEP''@/$(GL_GNULIB_SLEEP)/g' \ ++ -e 's/@''GNULIB_SYMLINK''@/$(GL_GNULIB_SYMLINK)/g' \ ++ -e 's/@''GNULIB_SYMLINKAT''@/$(GL_GNULIB_SYMLINKAT)/g' \ ++ -e 's/@''GNULIB_TRUNCATE''@/$(GL_GNULIB_TRUNCATE)/g' \ ++ -e 's/@''GNULIB_TTYNAME_R''@/$(GL_GNULIB_TTYNAME_R)/g' \ ++ -e 's/@''GNULIB_UNISTD_H_GETOPT''@/0$(GL_GNULIB_UNISTD_H_GETOPT)/g' \ ++ -e 's/@''GNULIB_UNISTD_H_NONBLOCKING''@/$(GL_GNULIB_UNISTD_H_NONBLOCKING)/g' \ ++ -e 's/@''GNULIB_UNISTD_H_SIGPIPE''@/$(GL_GNULIB_UNISTD_H_SIGPIPE)/g' \ ++ -e 's/@''GNULIB_UNLINK''@/$(GL_GNULIB_UNLINK)/g' \ ++ -e 's/@''GNULIB_UNLINKAT''@/$(GL_GNULIB_UNLINKAT)/g' \ ++ -e 's/@''GNULIB_USLEEP''@/$(GL_GNULIB_USLEEP)/g' \ ++ -e 's/@''GNULIB_WRITE''@/$(GL_GNULIB_WRITE)/g' \ ++ -e 's/@''GNULIB_MDA_ACCESS''@/$(GL_GNULIB_MDA_ACCESS)/g' \ ++ -e 's/@''GNULIB_MDA_CHDIR''@/$(GL_GNULIB_MDA_CHDIR)/g' \ ++ -e 's/@''GNULIB_MDA_CLOSE''@/$(GL_GNULIB_MDA_CLOSE)/g' \ ++ -e 's/@''GNULIB_MDA_DUP''@/$(GL_GNULIB_MDA_DUP)/g' \ ++ -e 's/@''GNULIB_MDA_DUP2''@/$(GL_GNULIB_MDA_DUP2)/g' \ ++ -e 's/@''GNULIB_MDA_EXECL''@/$(GL_GNULIB_MDA_EXECL)/g' \ ++ -e 's/@''GNULIB_MDA_EXECLE''@/$(GL_GNULIB_MDA_EXECLE)/g' \ ++ -e 's/@''GNULIB_MDA_EXECLP''@/$(GL_GNULIB_MDA_EXECLP)/g' \ ++ -e 's/@''GNULIB_MDA_EXECV''@/$(GL_GNULIB_MDA_EXECV)/g' \ ++ -e 's/@''GNULIB_MDA_EXECVE''@/$(GL_GNULIB_MDA_EXECVE)/g' \ ++ -e 's/@''GNULIB_MDA_EXECVP''@/$(GL_GNULIB_MDA_EXECVP)/g' \ ++ -e 's/@''GNULIB_MDA_EXECVPE''@/$(GL_GNULIB_MDA_EXECVPE)/g' \ ++ -e 's/@''GNULIB_MDA_GETCWD''@/$(GL_GNULIB_MDA_GETCWD)/g' \ ++ -e 's/@''GNULIB_MDA_GETPID''@/$(GL_GNULIB_MDA_GETPID)/g' \ ++ -e 's/@''GNULIB_MDA_ISATTY''@/$(GL_GNULIB_MDA_ISATTY)/g' \ ++ -e 's/@''GNULIB_MDA_LSEEK''@/$(GL_GNULIB_MDA_LSEEK)/g' \ ++ -e 's/@''GNULIB_MDA_READ''@/$(GL_GNULIB_MDA_READ)/g' \ ++ -e 's/@''GNULIB_MDA_RMDIR''@/$(GL_GNULIB_MDA_RMDIR)/g' \ ++ -e 's/@''GNULIB_MDA_SWAB''@/$(GL_GNULIB_MDA_SWAB)/g' \ ++ -e 's/@''GNULIB_MDA_UNLINK''@/$(GL_GNULIB_MDA_UNLINK)/g' \ ++ -e 's/@''GNULIB_MDA_WRITE''@/$(GL_GNULIB_MDA_WRITE)/g' \ + < $(srcdir)/unistd.in.h | \ + sed -e 's|@''HAVE_CHOWN''@|$(HAVE_CHOWN)|g' \ + -e 's|@''HAVE_COPY_FILE_RANGE''@|$(HAVE_COPY_FILE_RANGE)|g' \ +@@ -2080,49 +2196,49 @@ wchar.h: wchar.in.h $(top_builddir)/conf + -e 's|@''NEXT_WCHAR_H''@|$(NEXT_WCHAR_H)|g' \ + -e 's|@''HAVE_WCHAR_H''@|$(HAVE_WCHAR_H)|g' \ + -e 's/@''HAVE_CRTDEFS_H''@/$(HAVE_CRTDEFS_H)/g' \ +- -e 's/@''GNULIB_OVERRIDES_WINT_T''@/$(GNULIB_OVERRIDES_WINT_T)/g' \ +- -e 's/@''GNULIB_BTOWC''@/$(GNULIB_BTOWC)/g' \ +- -e 's/@''GNULIB_WCTOB''@/$(GNULIB_WCTOB)/g' \ +- -e 's/@''GNULIB_MBSINIT''@/$(GNULIB_MBSINIT)/g' \ +- -e 's/@''GNULIB_MBRTOWC''@/$(GNULIB_MBRTOWC)/g' \ +- -e 's/@''GNULIB_MBRLEN''@/$(GNULIB_MBRLEN)/g' \ +- -e 's/@''GNULIB_MBSRTOWCS''@/$(GNULIB_MBSRTOWCS)/g' \ +- -e 's/@''GNULIB_MBSNRTOWCS''@/$(GNULIB_MBSNRTOWCS)/g' \ +- -e 's/@''GNULIB_WCRTOMB''@/$(GNULIB_WCRTOMB)/g' \ +- -e 's/@''GNULIB_WCSRTOMBS''@/$(GNULIB_WCSRTOMBS)/g' \ +- -e 's/@''GNULIB_WCSNRTOMBS''@/$(GNULIB_WCSNRTOMBS)/g' \ +- -e 's/@''GNULIB_WCWIDTH''@/$(GNULIB_WCWIDTH)/g' \ +- -e 's/@''GNULIB_WMEMCHR''@/$(GNULIB_WMEMCHR)/g' \ +- -e 's/@''GNULIB_WMEMCMP''@/$(GNULIB_WMEMCMP)/g' \ +- -e 's/@''GNULIB_WMEMCPY''@/$(GNULIB_WMEMCPY)/g' \ +- -e 's/@''GNULIB_WMEMMOVE''@/$(GNULIB_WMEMMOVE)/g' \ +- -e 's/@''GNULIB_WMEMPCPY''@/$(GNULIB_WMEMPCPY)/g' \ +- -e 's/@''GNULIB_WMEMSET''@/$(GNULIB_WMEMSET)/g' \ +- -e 's/@''GNULIB_WCSLEN''@/$(GNULIB_WCSLEN)/g' \ +- -e 's/@''GNULIB_WCSNLEN''@/$(GNULIB_WCSNLEN)/g' \ +- -e 's/@''GNULIB_WCSCPY''@/$(GNULIB_WCSCPY)/g' \ +- -e 's/@''GNULIB_WCPCPY''@/$(GNULIB_WCPCPY)/g' \ +- -e 's/@''GNULIB_WCSNCPY''@/$(GNULIB_WCSNCPY)/g' \ +- -e 's/@''GNULIB_WCPNCPY''@/$(GNULIB_WCPNCPY)/g' \ +- -e 's/@''GNULIB_WCSCAT''@/$(GNULIB_WCSCAT)/g' \ +- -e 's/@''GNULIB_WCSNCAT''@/$(GNULIB_WCSNCAT)/g' \ +- -e 's/@''GNULIB_WCSCMP''@/$(GNULIB_WCSCMP)/g' \ +- -e 's/@''GNULIB_WCSNCMP''@/$(GNULIB_WCSNCMP)/g' \ +- -e 's/@''GNULIB_WCSCASECMP''@/$(GNULIB_WCSCASECMP)/g' \ +- -e 's/@''GNULIB_WCSNCASECMP''@/$(GNULIB_WCSNCASECMP)/g' \ +- -e 's/@''GNULIB_WCSCOLL''@/$(GNULIB_WCSCOLL)/g' \ +- -e 's/@''GNULIB_WCSXFRM''@/$(GNULIB_WCSXFRM)/g' \ +- -e 's/@''GNULIB_WCSDUP''@/$(GNULIB_WCSDUP)/g' \ +- -e 's/@''GNULIB_WCSCHR''@/$(GNULIB_WCSCHR)/g' \ +- -e 's/@''GNULIB_WCSRCHR''@/$(GNULIB_WCSRCHR)/g' \ +- -e 's/@''GNULIB_WCSCSPN''@/$(GNULIB_WCSCSPN)/g' \ +- -e 's/@''GNULIB_WCSSPN''@/$(GNULIB_WCSSPN)/g' \ +- -e 's/@''GNULIB_WCSPBRK''@/$(GNULIB_WCSPBRK)/g' \ +- -e 's/@''GNULIB_WCSSTR''@/$(GNULIB_WCSSTR)/g' \ +- -e 's/@''GNULIB_WCSTOK''@/$(GNULIB_WCSTOK)/g' \ +- -e 's/@''GNULIB_WCSWIDTH''@/$(GNULIB_WCSWIDTH)/g' \ +- -e 's/@''GNULIB_WCSFTIME''@/$(GNULIB_WCSFTIME)/g' \ +- -e 's/@''GNULIB_MDA_WCSDUP''@/$(GNULIB_MDA_WCSDUP)/g' \ ++ -e 's/@''GNULIBHEADERS_OVERRIDE_WINT_T''@/$(GNULIBHEADERS_OVERRIDE_WINT_T)/g' \ ++ -e 's/@''GNULIB_BTOWC''@/$(GL_GNULIB_BTOWC)/g' \ ++ -e 's/@''GNULIB_WCTOB''@/$(GL_GNULIB_WCTOB)/g' \ ++ -e 's/@''GNULIB_MBSINIT''@/$(GL_GNULIB_MBSINIT)/g' \ ++ -e 's/@''GNULIB_MBRTOWC''@/$(GL_GNULIB_MBRTOWC)/g' \ ++ -e 's/@''GNULIB_MBRLEN''@/$(GL_GNULIB_MBRLEN)/g' \ ++ -e 's/@''GNULIB_MBSRTOWCS''@/$(GL_GNULIB_MBSRTOWCS)/g' \ ++ -e 's/@''GNULIB_MBSNRTOWCS''@/$(GL_GNULIB_MBSNRTOWCS)/g' \ ++ -e 's/@''GNULIB_WCRTOMB''@/$(GL_GNULIB_WCRTOMB)/g' \ ++ -e 's/@''GNULIB_WCSRTOMBS''@/$(GL_GNULIB_WCSRTOMBS)/g' \ ++ -e 's/@''GNULIB_WCSNRTOMBS''@/$(GL_GNULIB_WCSNRTOMBS)/g' \ ++ -e 's/@''GNULIB_WCWIDTH''@/$(GL_GNULIB_WCWIDTH)/g' \ ++ -e 's/@''GNULIB_WMEMCHR''@/$(GL_GNULIB_WMEMCHR)/g' \ ++ -e 's/@''GNULIB_WMEMCMP''@/$(GL_GNULIB_WMEMCMP)/g' \ ++ -e 's/@''GNULIB_WMEMCPY''@/$(GL_GNULIB_WMEMCPY)/g' \ ++ -e 's/@''GNULIB_WMEMMOVE''@/$(GL_GNULIB_WMEMMOVE)/g' \ ++ -e 's/@''GNULIB_WMEMPCPY''@/$(GL_GNULIB_WMEMPCPY)/g' \ ++ -e 's/@''GNULIB_WMEMSET''@/$(GL_GNULIB_WMEMSET)/g' \ ++ -e 's/@''GNULIB_WCSLEN''@/$(GL_GNULIB_WCSLEN)/g' \ ++ -e 's/@''GNULIB_WCSNLEN''@/$(GL_GNULIB_WCSNLEN)/g' \ ++ -e 's/@''GNULIB_WCSCPY''@/$(GL_GNULIB_WCSCPY)/g' \ ++ -e 's/@''GNULIB_WCPCPY''@/$(GL_GNULIB_WCPCPY)/g' \ ++ -e 's/@''GNULIB_WCSNCPY''@/$(GL_GNULIB_WCSNCPY)/g' \ ++ -e 's/@''GNULIB_WCPNCPY''@/$(GL_GNULIB_WCPNCPY)/g' \ ++ -e 's/@''GNULIB_WCSCAT''@/$(GL_GNULIB_WCSCAT)/g' \ ++ -e 's/@''GNULIB_WCSNCAT''@/$(GL_GNULIB_WCSNCAT)/g' \ ++ -e 's/@''GNULIB_WCSCMP''@/$(GL_GNULIB_WCSCMP)/g' \ ++ -e 's/@''GNULIB_WCSNCMP''@/$(GL_GNULIB_WCSNCMP)/g' \ ++ -e 's/@''GNULIB_WCSCASECMP''@/$(GL_GNULIB_WCSCASECMP)/g' \ ++ -e 's/@''GNULIB_WCSNCASECMP''@/$(GL_GNULIB_WCSNCASECMP)/g' \ ++ -e 's/@''GNULIB_WCSCOLL''@/$(GL_GNULIB_WCSCOLL)/g' \ ++ -e 's/@''GNULIB_WCSXFRM''@/$(GL_GNULIB_WCSXFRM)/g' \ ++ -e 's/@''GNULIB_WCSDUP''@/$(GL_GNULIB_WCSDUP)/g' \ ++ -e 's/@''GNULIB_WCSCHR''@/$(GL_GNULIB_WCSCHR)/g' \ ++ -e 's/@''GNULIB_WCSRCHR''@/$(GL_GNULIB_WCSRCHR)/g' \ ++ -e 's/@''GNULIB_WCSCSPN''@/$(GL_GNULIB_WCSCSPN)/g' \ ++ -e 's/@''GNULIB_WCSSPN''@/$(GL_GNULIB_WCSSPN)/g' \ ++ -e 's/@''GNULIB_WCSPBRK''@/$(GL_GNULIB_WCSPBRK)/g' \ ++ -e 's/@''GNULIB_WCSSTR''@/$(GL_GNULIB_WCSSTR)/g' \ ++ -e 's/@''GNULIB_WCSTOK''@/$(GL_GNULIB_WCSTOK)/g' \ ++ -e 's/@''GNULIB_WCSWIDTH''@/$(GL_GNULIB_WCSWIDTH)/g' \ ++ -e 's/@''GNULIB_WCSFTIME''@/$(GL_GNULIB_WCSFTIME)/g' \ ++ -e 's/@''GNULIB_MDA_WCSDUP''@/$(GL_GNULIB_MDA_WCSDUP)/g' \ + < $(srcdir)/wchar.in.h | \ + sed -e 's|@''HAVE_WINT_T''@|$(HAVE_WINT_T)|g' \ + -e 's|@''HAVE_BTOWC''@|$(HAVE_BTOWC)|g' \ +@@ -2222,14 +2338,14 @@ wctype.h: wctype.in.h $(top_builddir)/co + -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ + -e 's|@''NEXT_WCTYPE_H''@|$(NEXT_WCTYPE_H)|g' \ + -e 's/@''HAVE_CRTDEFS_H''@/$(HAVE_CRTDEFS_H)/g' \ +- -e 's/@''GNULIB_OVERRIDES_WINT_T''@/$(GNULIB_OVERRIDES_WINT_T)/g' \ +- -e 's/@''GNULIB_ISWBLANK''@/$(GNULIB_ISWBLANK)/g' \ +- -e 's/@''GNULIB_ISWDIGIT''@/$(GNULIB_ISWDIGIT)/g' \ +- -e 's/@''GNULIB_ISWXDIGIT''@/$(GNULIB_ISWXDIGIT)/g' \ +- -e 's/@''GNULIB_WCTYPE''@/$(GNULIB_WCTYPE)/g' \ +- -e 's/@''GNULIB_ISWCTYPE''@/$(GNULIB_ISWCTYPE)/g' \ +- -e 's/@''GNULIB_WCTRANS''@/$(GNULIB_WCTRANS)/g' \ +- -e 's/@''GNULIB_TOWCTRANS''@/$(GNULIB_TOWCTRANS)/g' \ ++ -e 's/@''GNULIBHEADERS_OVERRIDE_WINT_T''@/$(GNULIBHEADERS_OVERRIDE_WINT_T)/g' \ ++ -e 's/@''GNULIB_ISWBLANK''@/$(GL_GNULIB_ISWBLANK)/g' \ ++ -e 's/@''GNULIB_ISWDIGIT''@/$(GL_GNULIB_ISWDIGIT)/g' \ ++ -e 's/@''GNULIB_ISWXDIGIT''@/$(GL_GNULIB_ISWXDIGIT)/g' \ ++ -e 's/@''GNULIB_WCTYPE''@/$(GL_GNULIB_WCTYPE)/g' \ ++ -e 's/@''GNULIB_ISWCTYPE''@/$(GL_GNULIB_ISWCTYPE)/g' \ ++ -e 's/@''GNULIB_WCTRANS''@/$(GL_GNULIB_WCTRANS)/g' \ ++ -e 's/@''GNULIB_TOWCTRANS''@/$(GL_GNULIB_TOWCTRANS)/g' \ + -e 's/@''HAVE_ISWBLANK''@/$(HAVE_ISWBLANK)/g' \ + -e 's/@''HAVE_ISWCNTRL''@/$(HAVE_ISWCNTRL)/g' \ + -e 's/@''HAVE_WCTYPE_T''@/$(HAVE_WCTYPE_T)/g' \ +--- a/gnulib/lib/_Noreturn.h ++++ b/gnulib/lib/_Noreturn.h +@@ -2,16 +2,16 @@ + Copyright (C) 2011-2021 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 ++ under the terms of the GNU Lesser General Public License as published ++ by the Free Software Foundation; either version 2 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. ++ Lesser General Public License for more details. + +- You should have received a copy of the GNU General Public License ++ You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + #ifndef _Noreturn +--- a/gnulib/lib/alloca.in.h ++++ b/gnulib/lib/alloca.in.h +@@ -3,20 +3,18 @@ + Copyright (C) 1995, 1999, 2001-2004, 2006-2021 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, or (at your option) +- any later version. ++ This file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ 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 General Public +- License along with this program; if not, see +- <https://www.gnu.org/licenses/>. +- */ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + /* Avoid using the symbol _ALLOCA_H here, as Bison assumes _ALLOCA_H + means there is a real alloca function. */ +--- a/gnulib/lib/arg-nonnull.h ++++ b/gnulib/lib/arg-nonnull.h +@@ -2,16 +2,16 @@ + Copyright (C) 2009-2021 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 ++ under the terms of the GNU Lesser General Public License as published ++ by the Free Software Foundation; either version 2 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. ++ Lesser General Public License for more details. + +- You should have received a copy of the GNU General Public License ++ You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + /* _GL_ARG_NONNULL((n,...,m)) tells the compiler and static analyzer tools +--- a/gnulib/lib/argz.c ++++ b/gnulib/lib/argz.c +@@ -3,18 +3,18 @@ + Foundation, Inc. + This file is part of the GNU C Library. + +- 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, or (at your option) +- any later version. ++ This file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser 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 <https://www.gnu.org/licenses/>. */ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + #include <config.h> + +--- a/gnulib/lib/argz.in.h ++++ b/gnulib/lib/argz.in.h +@@ -3,17 +3,17 @@ + Inc. + This file is part of the GNU C Library. + +- 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 file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser General Public License for more details. + +- You should have received a copy of the GNU General Public License ++ You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + #ifndef _ARGZ_H +--- a/gnulib/lib/asnprintf.c ++++ b/gnulib/lib/asnprintf.c +@@ -1,18 +1,18 @@ + /* Formatted output to strings. + Copyright (C) 1999, 2002, 2006, 2009-2021 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, or (at your option) +- any later version. ++ This file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser 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 <https://www.gnu.org/licenses/>. */ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + #include <config.h> + +--- a/gnulib/lib/asprintf.c ++++ b/gnulib/lib/asprintf.c +@@ -2,18 +2,18 @@ + Copyright (C) 1999, 2002, 2006-2007, 2009-2021 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, or (at your option) +- any later version. ++ This file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser 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 <https://www.gnu.org/licenses/>. */ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + #include <config.h> + +--- a/gnulib/lib/attribute.h ++++ b/gnulib/lib/attribute.h +@@ -2,17 +2,17 @@ + + Copyright 2020-2021 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 file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ 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 General Public License ++ You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + /* Written by Paul Eggert. */ +--- a/gnulib/lib/basename-lgpl.c ++++ b/gnulib/lib/basename-lgpl.c +@@ -3,17 +3,17 @@ + Copyright (C) 1990, 1998-2001, 2003-2006, 2009-2021 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 file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser General Public License for more details. + +- You should have received a copy of the GNU General Public License ++ You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + #include <config.h> +--- a/gnulib/lib/basename-lgpl.h ++++ b/gnulib/lib/basename-lgpl.h +@@ -1,20 +1,20 @@ +-/* Extract the last component (base name) of a file name. ++/* Extract the last component (base name) of a file name. + +- Copyright (C) 1998, 2001, 2003-2006, 2009-2021 Free Software Foundation, +- Inc. ++ Copyright (C) 1998, 2001, 2003-2006, 2009-2021 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 file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This 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. ++ This file 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 General Public License +- along with this program. If not, see <https://www.gnu.org/licenses/>. */ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + #ifndef _BASENAME_LGPL_H + #define _BASENAME_LGPL_H +--- a/gnulib/lib/btowc.c ++++ b/gnulib/lib/btowc.c +@@ -2,17 +2,17 @@ + Copyright (C) 2008, 2010-2021 Free Software Foundation, Inc. + Written by Bruno Haible <bruno@clisp.org>, 2008. + +- 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 file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser General Public License for more details. + +- You should have received a copy of the GNU General Public License ++ You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + #include <config.h> +--- a/gnulib/lib/c++defs.h ++++ b/gnulib/lib/c++defs.h +@@ -2,16 +2,16 @@ + Copyright (C) 2010-2021 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 ++ under the terms of the GNU Lesser General Public License as published ++ by the Free Software Foundation; either version 2 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. ++ Lesser General Public License for more details. + +- You should have received a copy of the GNU General Public License ++ You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + #ifndef _GL_CXXDEFS_H +--- /dev/null ++++ b/gnulib/lib/calloc.c +@@ -0,0 +1,55 @@ ++/* calloc() function that is glibc compatible. ++ This wrapper function is required at least on Tru64 UNIX 5.1 and mingw. ++ Copyright (C) 2004-2007, 2009-2021 Free Software Foundation, Inc. ++ ++ This file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. ++ ++ This file is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ GNU Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see <https://www.gnu.org/licenses/>. */ ++ ++/* written by Jim Meyering and Bruno Haible */ ++ ++#include <config.h> ++ ++/* Specification. */ ++#include <stdlib.h> ++ ++#include <errno.h> ++ ++#include "xalloc-oversized.h" ++ ++/* Call the system's calloc below. */ ++#undef calloc ++ ++/* Allocate and zero-fill an NxS-byte block of memory from the heap, ++ even if N or S is zero. */ ++ ++void * ++rpl_calloc (size_t n, size_t s) ++{ ++ if (n == 0 || s == 0) ++ n = s = 1; ++ ++ if (xalloc_oversized (n, s)) ++ { ++ errno = ENOMEM; ++ return NULL; ++ } ++ ++ void *result = calloc (n, s); ++ ++#if !HAVE_MALLOC_POSIX ++ if (result == NULL) ++ errno = ENOMEM; ++#endif ++ ++ return result; ++} +--- a/gnulib/lib/cdefs.h ++++ b/gnulib/lib/cdefs.h +@@ -2,16 +2,16 @@ + 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 General Public ++ modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either +- version 3 of the License, or (at your option) any later version. ++ 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 +- General Public License for more details. ++ Lesser General Public License for more details. + +- You should have received a copy of the GNU General Public ++ You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <https://www.gnu.org/licenses/>. */ + +@@ -259,10 +259,12 @@ + # define __attribute_const__ /* Ignore */ + #endif + +-#if defined __STDC_VERSION__ && 201710L < __STDC_VERSION__ +-# define __attribute_maybe_unused__ [[__maybe_unused__]] +-#elif __GNUC_PREREQ (2,7) || __glibc_has_attribute (__unused__) ++#if __GNUC_PREREQ (2,7) || __glibc_has_attribute (__unused__) + # define __attribute_maybe_unused__ __attribute__ ((__unused__)) ++/* Once the next version of the C standard comes out, we can ++ do something like the following here: ++ #elif defined __STDC_VERSION__ && 202???L <= __STDC_VERSION__ ++ # define __attribute_maybe_unused__ [[__maybe_unused__]] */ + #else + # define __attribute_maybe_unused__ /* Ignore */ + #endif +@@ -320,7 +322,9 @@ + #endif + + /* The nonnull function attribute marks pointer parameters that +- must not be NULL. */ ++ must not be NULL. This has the name __nonnull in glibc, ++ and __attribute_nonnull__ in files shared with Gnulib to avoid ++ collision with a different __nonnull in DragonFlyBSD 5.9. */ + #ifndef __attribute_nonnull__ + # if __GNUC_PREREQ (3,3) || __glibc_has_attribute (__nonnull__) + # define __attribute_nonnull__(params) __attribute__ ((__nonnull__ params)) +@@ -485,9 +489,9 @@ + [!!sizeof (struct { int __error_if_negative: (expr) ? 2 : -1; })] + #endif + +-/* The #ifndef lets Gnulib avoid including these on non-glibc +- platforms, where the includes typically do not exist. */ +-#ifndef __WORDSIZE ++/* Gnulib avoids including these, as they don't work on non-glibc or ++ older glibc platforms. */ ++#ifndef __GNULIB_CDEFS + # include <bits/wordsize.h> + # include <bits/long-double.h> + #endif +--- a/gnulib/lib/cloexec.c ++++ b/gnulib/lib/cloexec.c +@@ -2,20 +2,20 @@ + + Copyright (C) 1991, 2004-2006, 2009-2021 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 file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser 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 <https://www.gnu.org/licenses/>. ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see <https://www.gnu.org/licenses/>. */ + +- The code is taken from glibc/manual/llio.texi */ ++/* The code is taken from glibc/manual/llio.texi */ + + #include <config.h> + +--- a/gnulib/lib/cloexec.h ++++ b/gnulib/lib/cloexec.h +@@ -2,20 +2,18 @@ + + Copyright (C) 2004, 2009-2021 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 file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser 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 <https://www.gnu.org/licenses/>. +- +-*/ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + #include <stdbool.h> + +--- a/gnulib/lib/close.c ++++ b/gnulib/lib/close.c +@@ -1,17 +1,17 @@ + /* close replacement. + Copyright (C) 2008-2021 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 file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser General Public License for more details. + +- You should have received a copy of the GNU General Public License ++ You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + #include <config.h> +--- a/gnulib/lib/dup2.c ++++ b/gnulib/lib/dup2.c +@@ -2,17 +2,17 @@ + + Copyright (C) 1999, 2004-2007, 2009-2021 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 file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser General Public License for more details. + +- You should have received a copy of the GNU General Public License ++ You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + /* written by Paul Eggert */ +--- a/gnulib/lib/dynarray.h ++++ b/gnulib/lib/dynarray.h +@@ -1,17 +1,17 @@ + /* Type-safe arrays which grow dynamically. + Copyright 2021 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 file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser General Public License for more details. + +- You should have received a copy of the GNU General Public License ++ You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + /* Written by Paul Eggert and Bruno Haible, 2021. */ +@@ -257,18 +257,22 @@ static DYNARRAY_ELEMENT * + + #if defined DYNARRAY_STRUCT || defined DYNARRAY_ELEMENT || defined DYNARRAY_PREFIX + +-# include <libc-config.h> ++# ifndef _GL_LIKELY ++/* Rely on __builtin_expect, as provided by the module 'builtin-expect'. */ ++# define _GL_LIKELY(cond) __builtin_expect ((cond), 1) ++# define _GL_UNLIKELY(cond) __builtin_expect ((cond), 0) ++# endif + + /* Define auxiliary structs and declare auxiliary functions, common to all + instantiations of dynarray. */ +-# include <malloc/dynarray.h> ++# include <malloc/dynarray.gl.h> + + /* Define the instantiation, specified through + DYNARRAY_STRUCT + DYNARRAY_ELEMENT + DYNARRAY_PREFIX + etc. */ +-# include <malloc/dynarray-skeleton.c> ++# include <malloc/dynarray-skeleton.gl.h> + + #else + +--- a/gnulib/lib/errno.in.h ++++ b/gnulib/lib/errno.in.h +@@ -2,18 +2,18 @@ + + Copyright (C) 2008-2021 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, or (at your option) +- any later version. ++ This file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser 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 <https://www.gnu.org/licenses/>. */ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + #ifndef _@GUARD_PREFIX@_ERRNO_H + +--- a/gnulib/lib/error.c ++++ b/gnulib/lib/error.c +@@ -2,17 +2,17 @@ + Copyright (C) 1990-1998, 2000-2007, 2009-2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + +- 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 file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser General Public License for more details. + +- You should have received a copy of the GNU General Public License ++ You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + /* Written by David MacKenzie <djm@gnu.ai.mit.edu>. */ +--- a/gnulib/lib/error.h ++++ b/gnulib/lib/error.h +@@ -3,17 +3,17 @@ + Inc. + This file is part of the GNU C Library. + +- 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 file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser General Public License for more details. + +- You should have received a copy of the GNU General Public License ++ You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + #ifndef _ERROR_H +--- a/gnulib/lib/exitfail.c ++++ b/gnulib/lib/exitfail.c +@@ -2,17 +2,17 @@ + + Copyright (C) 2002-2003, 2005-2007, 2009-2021 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 file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser General Public License for more details. + +- You should have received a copy of the GNU General Public License ++ You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + #include <config.h> +--- a/gnulib/lib/exitfail.h ++++ b/gnulib/lib/exitfail.h +@@ -2,17 +2,17 @@ + + Copyright (C) 2002, 2009-2021 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 file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser General Public License for more details. + +- You should have received a copy of the GNU General Public License ++ You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + extern int volatile exit_failure; +--- a/gnulib/lib/fcntl.c ++++ b/gnulib/lib/fcntl.c +@@ -2,17 +2,17 @@ + + Copyright (C) 2009-2021 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 file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser General Public License for more details. + +- You should have received a copy of the GNU General Public License ++ You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + /* Written by Eric Blake <ebb9@byu.net>. */ +--- a/gnulib/lib/fcntl.in.h ++++ b/gnulib/lib/fcntl.in.h +@@ -2,17 +2,17 @@ + + Copyright (C) 2006-2021 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 file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser General Public License for more details. + +- You should have received a copy of the GNU General Public License ++ You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + /* written by Paul Eggert */ +--- a/gnulib/lib/fd-hook.c ++++ b/gnulib/lib/fd-hook.c +@@ -2,17 +2,17 @@ + Copyright (C) 2009-2021 Free Software Foundation, Inc. + Written by Bruno Haible <bruno@clisp.org>, 2009. + +- 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 file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ 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 General Public License ++ You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + #include <config.h> +--- a/gnulib/lib/fd-hook.h ++++ b/gnulib/lib/fd-hook.h +@@ -1,17 +1,17 @@ + /* Hook for making file descriptor functions close(), ioctl() extensible. + Copyright (C) 2009-2021 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 file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ 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 General Public License ++ You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + +--- a/gnulib/lib/filename.h ++++ b/gnulib/lib/filename.h +@@ -3,16 +3,16 @@ + 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 General Public ++ modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either +- version 3 of the License, or (at your option) any later version. ++ 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 +- General Public License for more details. ++ Lesser General Public License for more details. + +- You should have received a copy of the GNU General Public ++ You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <https://www.gnu.org/licenses/>. */ + +--- a/gnulib/lib/float+.h ++++ b/gnulib/lib/float+.h +@@ -2,18 +2,18 @@ + Copyright (C) 2007, 2009-2021 Free Software Foundation, Inc. + Written by Bruno Haible <bruno@clisp.org>, 2007. + +- 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, or (at your option) +- any later version. ++ This file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser 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 <https://www.gnu.org/licenses/>. */ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + #ifndef _FLOATPLUS_H + #define _FLOATPLUS_H +--- a/gnulib/lib/float.c ++++ b/gnulib/lib/float.c +@@ -2,17 +2,17 @@ + Copyright (C) 2011-2021 Free Software Foundation, Inc. + Written by Bruno Haible <bruno@clisp.org>, 2011. + +- 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 file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser General Public License for more details. + +- You should have received a copy of the GNU General Public License ++ You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + #include <config.h> +--- a/gnulib/lib/float.in.h ++++ b/gnulib/lib/float.in.h +@@ -2,17 +2,17 @@ + + Copyright (C) 2007-2021 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 file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser General Public License for more details. + +- You should have received a copy of the GNU General Public License ++ You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + #ifndef _@GUARD_PREFIX@_FLOAT_H +--- /dev/null ++++ b/gnulib/lib/free.c +@@ -0,0 +1,53 @@ ++/* Make free() preserve errno. ++ ++ Copyright (C) 2003, 2006, 2009-2021 Free Software Foundation, Inc. ++ ++ This file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. ++ ++ This file is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ GNU Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see <https://www.gnu.org/licenses/>. */ ++ ++/* written by Paul Eggert */ ++ ++#include <config.h> ++ ++/* Specification. */ ++#include <stdlib.h> ++ ++/* A function definition is only needed if HAVE_FREE_POSIX is not defined. */ ++#if !HAVE_FREE_POSIX ++ ++# include <errno.h> ++ ++void ++rpl_free (void *p) ++# undef free ++{ ++# if defined __GNUC__ && !defined __clang__ ++ /* An invalid GCC optimization ++ <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98396> ++ would optimize away the assignments in the code below, when link-time ++ optimization (LTO) is enabled. Make the code more complicated, so that ++ GCC does not grok how to optimize it. */ ++ int err[2]; ++ err[0] = errno; ++ err[1] = errno; ++ errno = 0; ++ free (p); ++ errno = err[errno == 0]; ++# else ++ int err = errno; ++ free (p); ++ errno = err; ++# endif ++} ++ ++#endif +--- a/gnulib/lib/fstat.c ++++ b/gnulib/lib/fstat.c +@@ -1,17 +1,17 @@ + /* fstat() replacement. + Copyright (C) 2011-2021 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 file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser General Public License for more details. + +- You should have received a copy of the GNU General Public License ++ You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + /* If the user's config.h happens to include <sys/stat.h>, let it include only +--- a/gnulib/lib/getdtablesize.c ++++ b/gnulib/lib/getdtablesize.c +@@ -2,17 +2,17 @@ + Copyright (C) 2008-2021 Free Software Foundation, Inc. + Written by Bruno Haible <bruno@clisp.org>, 2008. + +- 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 file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser General Public License for more details. + +- You should have received a copy of the GNU General Public License ++ You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + #include <config.h> +--- a/gnulib/lib/getopt-cdefs.in.h ++++ b/gnulib/lib/getopt-cdefs.in.h +@@ -4,19 +4,18 @@ + Unlike most of the getopt implementation, it is NOT shared + with the GNU C Library. + +- This file 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 file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This file 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. ++ This file 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 General Public +- License along with gnulib; if not, see +- <https://www.gnu.org/licenses/>. */ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + #ifndef _GETOPT_CDEFS_H + #define _GETOPT_CDEFS_H 1 +--- a/gnulib/lib/getopt-core.h ++++ b/gnulib/lib/getopt-core.h +@@ -4,16 +4,16 @@ + Patches to this file should be submitted to both projects. + + The GNU C Library is free software; you can redistribute it and/or +- modify it under the terms of the GNU General Public ++ modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either +- version 3 of the License, or (at your option) any later version. ++ 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 +- General Public License for more details. ++ Lesser General Public License for more details. + +- You should have received a copy of the GNU General Public ++ You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <https://www.gnu.org/licenses/>. */ + +--- a/gnulib/lib/getopt-ext.h ++++ b/gnulib/lib/getopt-ext.h +@@ -4,16 +4,16 @@ + Patches to this file should be submitted to both projects. + + The GNU C Library is free software; you can redistribute it and/or +- modify it under the terms of the GNU General Public ++ modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either +- version 3 of the License, or (at your option) any later version. ++ 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 +- General Public License for more details. ++ Lesser General Public License for more details. + +- You should have received a copy of the GNU General Public ++ You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <https://www.gnu.org/licenses/>. */ + +--- a/gnulib/lib/getopt-pfx-core.h ++++ b/gnulib/lib/getopt-pfx-core.h +@@ -4,19 +4,18 @@ + Unlike most of the getopt implementation, it is NOT shared + with the GNU C Library. + +- This file 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 file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This file 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. ++ This file 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 General Public +- License along with gnulib; if not, see +- <https://www.gnu.org/licenses/>. */ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + #ifndef _GETOPT_PFX_CORE_H + #define _GETOPT_PFX_CORE_H 1 +--- a/gnulib/lib/getopt-pfx-ext.h ++++ b/gnulib/lib/getopt-pfx-ext.h +@@ -4,19 +4,18 @@ + Unlike most of the getopt implementation, it is NOT shared + with the GNU C Library. + +- This file 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 file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This file 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. ++ This file 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 General Public +- License along with gnulib; if not, see +- <https://www.gnu.org/licenses/>. */ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + #ifndef _GETOPT_PFX_EXT_H + #define _GETOPT_PFX_EXT_H 1 +--- a/gnulib/lib/getopt.c ++++ b/gnulib/lib/getopt.c +@@ -4,16 +4,16 @@ + Patches to this file should be submitted to both projects. + + The GNU C Library is free software; you can redistribute it and/or +- modify it under the terms of the GNU General Public ++ modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either +- version 3 of the License, or (at your option) any later version. ++ 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 +- General Public License for more details. ++ Lesser General Public License for more details. + +- You should have received a copy of the GNU General Public ++ You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <https://www.gnu.org/licenses/>. */ + +--- a/gnulib/lib/getopt.in.h ++++ b/gnulib/lib/getopt.in.h +@@ -5,18 +5,18 @@ + with the GNU C Library, which supplies a different version of + this file. + +- This file 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 file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This file 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. ++ This file 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 General Public +- License along with gnulib; if not, see <https://www.gnu.org/licenses/>. */ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + #ifndef _@GUARD_PREFIX@_GETOPT_H + +--- a/gnulib/lib/getopt1.c ++++ b/gnulib/lib/getopt1.c +@@ -4,16 +4,16 @@ + Patches to this file should be submitted to both projects. + + The GNU C Library is free software; you can redistribute it and/or +- modify it under the terms of the GNU General Public ++ modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either +- version 3 of the License, or (at your option) any later version. ++ 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 +- General Public License for more details. ++ Lesser General Public License for more details. + +- You should have received a copy of the GNU General Public ++ You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <https://www.gnu.org/licenses/>. */ + +--- a/gnulib/lib/getopt_int.h ++++ b/gnulib/lib/getopt_int.h +@@ -4,16 +4,16 @@ + Patches to this file should be submitted to both projects. + + The GNU C Library is free software; you can redistribute it and/or +- modify it under the terms of the GNU General Public ++ modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either +- version 3 of the License, or (at your option) any later version. ++ 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 +- General Public License for more details. ++ Lesser General Public License for more details. + +- You should have received a copy of the GNU General Public ++ You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <https://www.gnu.org/licenses/>. */ + +--- a/gnulib/lib/getprogname.c ++++ b/gnulib/lib/getprogname.c +@@ -2,16 +2,16 @@ + Copyright (C) 2016-2021 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 ++ it under the terms of the GNU Lesser General Public License as published by ++ the Free Software Foundation; either version 2.1 of the License, or + (at your option) any later version. + + This 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. ++ GNU Lesser General Public License for more details. + +- You should have received a copy of the GNU General Public License ++ You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + #include <config.h> +@@ -43,7 +43,7 @@ + # include <string.h> + #endif + +-#ifdef __sgi ++#if defined __sgi || defined __osf__ + # include <string.h> + # include <unistd.h> + # include <stdio.h> +@@ -224,11 +224,15 @@ getprogname (void) + free (buf.ps_pathptr); + } + return p; +-# elif defined __sgi /* IRIX */ ++# elif defined __sgi || defined __osf__ /* IRIX or Tru64 */ + char filename[50]; + int fd; + +- sprintf (filename, "/proc/pinfo/%d", (int) getpid ()); ++ # if defined __sgi ++ sprintf (filename, "/proc/pinfo/%d", (int) getpid ()); ++ # else ++ sprintf (filename, "/proc/%d", (int) getpid ()); ++ # endif + fd = open (filename, O_RDONLY | O_CLOEXEC); + if (0 <= fd) + { +--- a/gnulib/lib/getprogname.h ++++ b/gnulib/lib/getprogname.h +@@ -2,16 +2,16 @@ + Copyright (C) 2016-2021 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 ++ it under the terms of the GNU Lesser General Public License as published by ++ the Free Software Foundation; either version 2.1 of the License, or + (at your option) any later version. + + This 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. ++ GNU Lesser General Public License for more details. + +- You should have received a copy of the GNU General Public License ++ You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + #ifndef _GL_GETPROGNAME_H +--- a/gnulib/lib/gettext.h ++++ b/gnulib/lib/gettext.h +@@ -2,18 +2,18 @@ + Copyright (C) 1995-1998, 2000-2002, 2004-2006, 2009-2021 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, or (at your option) +- any later version. ++ This file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser 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 <https://www.gnu.org/licenses/>. */ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + #ifndef _LIBGETTEXT_H + #define _LIBGETTEXT_H 1 +--- a/gnulib/lib/glthread/lock.c ++++ b/gnulib/lib/glthread/lock.c +@@ -1,18 +1,18 @@ + /* Locking in multithreaded situations. + Copyright (C) 2005-2021 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, or (at your option) +- any later version. ++ This file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser 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 <https://www.gnu.org/licenses/>. */ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + /* Written by Bruno Haible <bruno@clisp.org>, 2005. + Based on GCC's gthr-posix.h, gthr-posix95.h. */ +--- a/gnulib/lib/glthread/lock.h ++++ b/gnulib/lib/glthread/lock.h +@@ -1,18 +1,18 @@ + /* Locking in multithreaded situations. + Copyright (C) 2005-2021 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, or (at your option) +- any later version. ++ This file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser 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 <https://www.gnu.org/licenses/>. */ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + /* Written by Bruno Haible <bruno@clisp.org>, 2005. + Based on GCC's gthr-posix.h, gthr-posix95.h, gthr-win32.h. */ +--- a/gnulib/lib/glthread/threadlib.c ++++ b/gnulib/lib/glthread/threadlib.c +@@ -1,18 +1,18 @@ + /* Multithreading primitives. + Copyright (C) 2005-2021 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, or (at your option) +- any later version. ++ This file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser 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 <https://www.gnu.org/licenses/>. */ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + /* Written by Bruno Haible <bruno@clisp.org>, 2005. */ + +--- a/gnulib/lib/hard-locale.c ++++ b/gnulib/lib/hard-locale.c +@@ -3,17 +3,17 @@ + Copyright (C) 1997-1999, 2002-2004, 2006-2007, 2009-2021 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 file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser General Public License for more details. + +- You should have received a copy of the GNU General Public License ++ You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + #include <config.h> +--- a/gnulib/lib/hard-locale.h ++++ b/gnulib/lib/hard-locale.h +@@ -2,17 +2,17 @@ + + Copyright (C) 1999, 2003-2004, 2009-2021 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 file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser General Public License for more details. + +- You should have received a copy of the GNU General Public License ++ You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + #ifndef HARD_LOCALE_H_ +--- /dev/null ++++ b/gnulib/lib/ialloc.c +@@ -0,0 +1,21 @@ ++/* malloc with idx_t rather than size_t ++ ++ Copyright 2021 Free Software Foundation, Inc. ++ ++ This file 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 3 of the ++ License, or (at your option) any later version. ++ ++ This file is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ GNU Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see <https://www.gnu.org/licenses/>. */ ++ ++#include <config.h> ++ ++#define IALLOC_INLINE _GL_EXTERN_INLINE ++#include "ialloc.h" +--- /dev/null ++++ b/gnulib/lib/ialloc.h +@@ -0,0 +1,94 @@ ++/* ialloc.h -- malloc with idx_t rather than size_t ++ ++ Copyright 2021 Free Software Foundation, Inc. ++ ++ This file 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 3 of the ++ License, or (at your option) any later version. ++ ++ This file is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ GNU Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see <https://www.gnu.org/licenses/>. */ ++ ++#ifndef IALLOC_H_ ++#define IALLOC_H_ ++ ++#include "idx.h" ++ ++#include <errno.h> ++#include <stdint.h> ++#include <stdlib.h> ++ ++#ifndef _GL_INLINE_HEADER_BEGIN ++ #error "Please include config.h first." ++#endif ++_GL_INLINE_HEADER_BEGIN ++#ifndef IALLOC_INLINE ++# define IALLOC_INLINE _GL_INLINE ++#endif ++ ++#ifdef __cplusplus ++extern "C" { ++#endif ++ ++IALLOC_INLINE void * _GL_ATTRIBUTE_COLD ++_gl_alloc_nomem (void) ++{ ++ errno = ENOMEM; ++ return NULL; ++} ++ ++IALLOC_INLINE void * ++imalloc (idx_t s) ++{ ++ return s <= SIZE_MAX ? malloc (s) : _gl_alloc_nomem (); ++} ++ ++IALLOC_INLINE void * ++irealloc (void *p, idx_t s) ++{ ++ /* Work around GNU realloc glitch by treating a zero size as if it ++ were 1, so that returning NULL is equivalent to failing. */ ++ return s <= SIZE_MAX ? realloc (p, s | !s) : _gl_alloc_nomem (); ++} ++ ++IALLOC_INLINE void * ++icalloc (idx_t n, idx_t s) ++{ ++ if (SIZE_MAX < n) ++ { ++ if (s != 0) ++ return _gl_alloc_nomem (); ++ n = 0; ++ } ++ if (SIZE_MAX < s) ++ { ++ if (n != 0) ++ return _gl_alloc_nomem (); ++ s = 0; ++ } ++ return calloc (n, s); ++} ++ ++IALLOC_INLINE void * ++ireallocarray (void *p, idx_t n, idx_t s) ++{ ++ /* Work around GNU reallocarray glitch by treating a zero size as if ++ it were 1, so that returning NULL is equivalent to failing. */ ++ if (n == 0 || s == 0) ++ n = s = 1; ++ return (n <= SIZE_MAX && s <= SIZE_MAX ++ ? reallocarray (p, n, s) ++ : _gl_alloc_nomem ()); ++} ++ ++#ifdef __cplusplus ++} ++#endif ++ ++#endif +--- /dev/null ++++ b/gnulib/lib/idx.h +@@ -0,0 +1,114 @@ ++/* A type for indices and sizes. ++ Copyright (C) 2020-2021 Free Software Foundation, Inc. ++ This file is part of the GNU C Library. ++ ++ The GNU C Library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ The GNU C Library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; if not, see ++ <https://www.gnu.org/licenses/>. */ ++ ++#ifndef _IDX_H ++#define _IDX_H ++ ++/* Get ptrdiff_t. */ ++#include <stddef.h> ++ ++/* Get PTRDIFF_MAX. */ ++#include <stdint.h> ++ ++/* The type 'idx_t' holds an (array) index or an (object) size. ++ Its implementation promotes to a signed integer type, ++ which can hold the values ++ 0..2^63-1 (on 64-bit platforms) or ++ 0..2^31-1 (on 32-bit platforms). ++ ++ Why a signed integer type? ++ ++ * Security: Signed types can be checked for overflow via ++ '-fsanitize=undefined', but unsigned types cannot. ++ ++ * Comparisons without surprises: ISO C99 § 6.3.1.8 specifies a few ++ surprising results for comparisons, such as ++ ++ (int) -3 < (unsigned long) 7 => false ++ (int) -3 < (unsigned int) 7 => false ++ and on 32-bit machines: ++ (long) -3 < (unsigned int) 7 => false ++ ++ This is surprising because the natural comparison order is by ++ value in the realm of infinite-precision signed integers (ℤ). ++ ++ The best way to get rid of such surprises is to use signed types ++ for numerical integer values, and use unsigned types only for ++ bit masks and enums. ++ ++ Why not use 'size_t' directly? ++ ++ * Because 'size_t' is an unsigned type, and a signed type is better. ++ See above. ++ ++ Why not use 'ptrdiff_t' directly? ++ ++ * Maintainability: When reading and modifying code, it helps to know that ++ a certain variable cannot have negative values. For example, when you ++ have a loop ++ ++ int n = ...; ++ for (int i = 0; i < n; i++) ... ++ ++ or ++ ++ ptrdiff_t n = ...; ++ for (ptrdiff_t i = 0; i < n; i++) ... ++ ++ you have to ask yourself "what if n < 0?". Whereas in ++ ++ idx_t n = ...; ++ for (idx_t i = 0; i < n; i++) ... ++ ++ you know that this case cannot happen. ++ ++ Similarly, when a programmer writes ++ ++ idx_t = ptr2 - ptr1; ++ ++ there is an implied assertion that ptr1 and ptr2 point into the same ++ object and that ptr1 <= ptr2. ++ ++ * Being future-proof: In the future, range types (integers which are ++ constrained to a certain range of values) may be added to C compilers ++ or to the C standard. Several programming languages (Ada, Haskell, ++ Common Lisp, Pascal) already have range types. Such range types may ++ help producing good code and good warnings. The type 'idx_t' could ++ then be typedef'ed to a range type that is signed after promotion. */ ++ ++/* In the future, idx_t could be typedef'ed to a signed range type. ++ The clang "extended integer types", supported in Clang 11 or newer ++ <https://clang.llvm.org/docs/LanguageExtensions.html#extended-integer-types>, ++ are a special case of range types. However, these types don't support binary ++ operators with plain integer types (e.g. expressions such as x > 1). ++ Therefore, they don't behave like signed types (and not like unsigned types ++ either). So, we cannot use them here. */ ++ ++/* Use the signed type 'ptrdiff_t'. */ ++/* Note: ISO C does not mandate that 'size_t' and 'ptrdiff_t' have the same ++ size, but it is so on all platforms we have seen since 1990. */ ++typedef ptrdiff_t idx_t; ++ ++/* IDX_MAX is the maximum value of an idx_t. */ ++#define IDX_MAX PTRDIFF_MAX ++ ++/* So far no need has been found for an IDX_WIDTH macro. ++ Perhaps there should be another macro IDX_VALUE_BITS that does not ++ count the sign bit and is therefore one less than PTRDIFF_WIDTH. */ ++ ++#endif /* _IDX_H */ +--- a/gnulib/lib/intprops.h ++++ b/gnulib/lib/intprops.h +@@ -3,16 +3,16 @@ + Copyright (C) 2001-2021 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 ++ under the terms of the GNU Lesser General Public License as published ++ by the Free Software Foundation; either version 2.1 of the License, or + (at your option) any later version. + + This 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. ++ GNU Lesser General Public License for more details. + +- You should have received a copy of the GNU General Public License ++ You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + /* Written by Paul Eggert. */ +@@ -133,7 +133,8 @@ + operators might not yield numerically correct answers due to + arithmetic overflow. They do not rely on undefined or + implementation-defined behavior. Their implementations are simple +- and straightforward, but they are a bit harder to use than the ++ and straightforward, but they are harder to use and may be less ++ efficient than the INT_<op>_WRAPV, INT_<op>_OK, and + INT_<op>_OVERFLOW macros described below. + + Example usage: +@@ -158,6 +159,9 @@ + must have minimum value MIN and maximum MAX. Unsigned types should + use a zero MIN of the proper type. + ++ Because all arguments are subject to integer promotions, these ++ macros typically do not work on types narrower than 'int'. ++ + These macros are tuned for constant MIN and MAX. For commutative + operations such as A + B, they are also tuned for constant B. */ + +@@ -339,9 +343,15 @@ + arguments should not have side effects. + + The WRAPV macros are not constant expressions. They support only +- +, binary -, and *. Because the WRAPV macros convert the result, +- they report overflow in different circumstances than the OVERFLOW +- macros do. ++ +, binary -, and *. ++ ++ Because the WRAPV macros convert the result, they report overflow ++ in different circumstances than the OVERFLOW macros do. For ++ example, in the typical case with 16-bit 'short' and 32-bit 'int', ++ if A, B and R are all of type 'short' then INT_ADD_OVERFLOW (A, B) ++ returns false because the addition cannot overflow after A and B ++ are converted to 'int', whereas INT_ADD_WRAPV (A, B, &R) returns ++ true or false depending on whether the sum fits into 'short'. + + These macros are tuned for their last input argument being a constant. + +--- a/gnulib/lib/inttypes.in.h ++++ b/gnulib/lib/inttypes.in.h +@@ -2,17 +2,17 @@ + Written by Paul Eggert, Bruno Haible, Derek Price. + This file is part of gnulib. + +- 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 file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser General Public License for more details. + +- You should have received a copy of the GNU General Public License ++ You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + /* +--- a/gnulib/lib/iswblank.c ++++ b/gnulib/lib/iswblank.c +@@ -1,18 +1,18 @@ + /* Test wide character for being blank. + Copyright (C) 2008-2021 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, or (at your option) +- any later version. ++ This file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser 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 <https://www.gnu.org/licenses/>. */ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + #include <config.h> + +--- a/gnulib/lib/iswdigit.c ++++ b/gnulib/lib/iswdigit.c +@@ -1,18 +1,18 @@ + /* Test wide character for being a digit. + Copyright (C) 2020-2021 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, or (at your option) +- any later version. ++ This file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser 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 <https://www.gnu.org/licenses/>. */ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + #include <config.h> + +--- a/gnulib/lib/iswxdigit.c ++++ b/gnulib/lib/iswxdigit.c +@@ -1,18 +1,18 @@ + /* Test wide character for being a hexadecimal digit. + Copyright (C) 2020-2021 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, or (at your option) +- any later version. ++ This file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser 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 <https://www.gnu.org/licenses/>. */ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + #include <config.h> + +--- a/gnulib/lib/itold.c ++++ b/gnulib/lib/itold.c +@@ -2,17 +2,17 @@ + Copyright (C) 2011-2021 Free Software Foundation, Inc. + Written by Bruno Haible <bruno@clisp.org>, 2011. + +- 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 file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser General Public License for more details. + +- You should have received a copy of the GNU General Public License ++ You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + #include <config.h> +--- a/gnulib/lib/langinfo.in.h ++++ b/gnulib/lib/langinfo.in.h +@@ -1,18 +1,18 @@ + /* Substitute for and wrapper around <langinfo.h>. + Copyright (C) 2009-2021 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, or (at your option) +- any later version. ++ This file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser 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 <https://www.gnu.org/licenses/>. */ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + /* + * POSIX <langinfo.h> for platforms that lack it or have an incomplete one. +--- a/gnulib/lib/lc-charset-dispatch.c ++++ b/gnulib/lib/lc-charset-dispatch.c +@@ -1,17 +1,17 @@ + /* Dispatching based on the current locale's character encoding. + Copyright (C) 2018-2021 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 file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser General Public License for more details. + +- You should have received a copy of the GNU General Public License ++ You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + /* Written by Bruno Haible <bruno@clisp.org>, 2018. */ +--- a/gnulib/lib/lc-charset-dispatch.h ++++ b/gnulib/lib/lc-charset-dispatch.h +@@ -1,17 +1,17 @@ + /* Dispatching based on the current locale's character encoding. + Copyright (C) 2018-2021 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 file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser General Public License for more details. + +- You should have received a copy of the GNU General Public License ++ You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + /* Written by Bruno Haible <bruno@clisp.org>, 2018. */ +--- a/gnulib/lib/libc-config.h ++++ b/gnulib/lib/libc-config.h +@@ -3,16 +3,16 @@ + Copyright 2017-2021 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 ++ modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either +- version 3 of the License, or (at your option) any later version. ++ version 2.1 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. ++ Lesser General Public License for more details. + +- You should have received a copy of the GNU General Public ++ You should have received a copy of the GNU Lesser General Public + License along with this program; if not, see + <https://www.gnu.org/licenses/>. */ + +@@ -28,7 +28,10 @@ + + When compiled as part of glibc this is a no-op; when compiled as + part of Gnulib this includes Gnulib's <config.h> and defines macros +- that glibc library code would normally assume. */ ++ that glibc library code would normally assume. ++ ++ Note: This header file MUST NOT be included by public header files ++ of Gnulib. */ + + #include <config.h> + +@@ -71,7 +74,7 @@ + # endif + #endif + +-#ifndef __attribute_maybe_unused__ ++#ifndef __attribute_nonnull__ + /* <sys/cdefs.h> either does not exist, or is too old for Gnulib. + Prepare to include <cdefs.h>, which is Gnulib's version of a + more-recent glibc <sys/cdefs.h>. */ +@@ -80,13 +83,9 @@ + # ifndef _FEATURES_H + # define _FEATURES_H 1 + # endif +-/* Define __WORDSIZE so that <cdefs.h> does not attempt to include +- nonexistent files. Make it a syntax error, since Gnulib does not +- use __WORDSIZE now, and if Gnulib uses it later the syntax error +- will let us know that __WORDSIZE needs configuring. */ +-# ifndef __WORDSIZE +-# define __WORDSIZE %%% +-# endif ++/* Define __GNULIB_CDEFS so that <cdefs.h> does not attempt to include ++ nonexistent files. */ ++# define __GNULIB_CDEFS + /* Undef the macros unconditionally defined by our copy of glibc + <sys/cdefs.h>, so that they do not clash with any system-defined + versions. */ +--- a/gnulib/lib/limits.in.h ++++ b/gnulib/lib/limits.in.h +@@ -2,18 +2,18 @@ + + Copyright 2016-2021 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, or +- (at your option) any later version. ++ This file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser 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 <https://www.gnu.org/licenses/>. */ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + #if __GNUC__ >= 3 + @PRAGMA_SYSTEM_HEADER@ +--- a/gnulib/lib/localcharset.c ++++ b/gnulib/lib/localcharset.c +@@ -2,18 +2,18 @@ + + Copyright (C) 2000-2006, 2008-2021 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, or (at your option) +- any later version. ++ This file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser 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 <https://www.gnu.org/licenses/>. */ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + /* Written by Bruno Haible <bruno@clisp.org>. */ + +--- a/gnulib/lib/localcharset.h ++++ b/gnulib/lib/localcharset.h +@@ -2,18 +2,18 @@ + Copyright (C) 2000-2003, 2009-2021 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 General Public License as published by +- the Free Software Foundation; either version 3, or (at your option) +- any later version. ++ This file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser 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 <https://www.gnu.org/licenses/>. */ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + #ifndef _LOCALCHARSET_H + #define _LOCALCHARSET_H +--- a/gnulib/lib/locale.in.h ++++ b/gnulib/lib/locale.in.h +@@ -1,17 +1,17 @@ + /* A POSIX <locale.h>. + Copyright (C) 2007-2021 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 file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser General Public License for more details. + +- You should have received a copy of the GNU General Public License ++ You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + #if __GNUC__ >= 3 +--- a/gnulib/lib/localeconv.c ++++ b/gnulib/lib/localeconv.c +@@ -1,17 +1,17 @@ + /* Query locale dependent information for formatting numbers. + Copyright (C) 2012-2021 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 file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser General Public License for more details. + +- You should have received a copy of the GNU General Public License ++ You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + #include <config.h> +--- a/gnulib/lib/malloc.c ++++ b/gnulib/lib/malloc.c +@@ -2,61 +2,50 @@ + + Copyright (C) 1997-1998, 2006-2007, 2009-2021 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, or (at your option) +- any later version. ++ This file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser 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 <https://www.gnu.org/licenses/>. */ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + /* written by Jim Meyering and Bruno Haible */ + + #define _GL_USE_STDLIB_ALLOC 1 + #include <config.h> +-/* Only the AC_FUNC_MALLOC macro defines 'malloc' already in config.h. */ +-#ifdef malloc +-# define NEED_MALLOC_GNU 1 +-# undef malloc +-/* Whereas the gnulib module 'malloc-gnu' defines HAVE_MALLOC_GNU. */ +-#elif GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU +-# define NEED_MALLOC_GNU 1 +-#endif + + #include <stdlib.h> + +-/* A function definition is only needed if NEED_MALLOC_GNU is defined above +- or if the module 'malloc-posix' requests it. */ +-#if NEED_MALLOC_GNU || (GNULIB_MALLOC_POSIX && !HAVE_MALLOC_POSIX) ++#include <errno.h> + +-# include <errno.h> ++#include "xalloc-oversized.h" + +-/* Allocate an N-byte block of memory from the heap. +- If N is zero, allocate a 1-byte block. */ ++/* Allocate an N-byte block of memory from the heap, even if N is 0. */ + + void * + rpl_malloc (size_t n) + { +- void *result; +- +-# if NEED_MALLOC_GNU + if (n == 0) + n = 1; +-# endif + +- result = malloc (n); ++ if (xalloc_oversized (n, 1)) ++ { ++ errno = ENOMEM; ++ return NULL; ++ } ++ ++ void *result = malloc (n); + +-# if !HAVE_MALLOC_POSIX ++#if !HAVE_MALLOC_POSIX + if (result == NULL) + errno = ENOMEM; +-# endif ++#endif + + return result; + } +- +-#endif +--- a/gnulib/lib/malloc/dynarray-skeleton.c ++++ b/gnulib/lib/malloc/dynarray-skeleton.c +@@ -3,16 +3,16 @@ + 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 General Public ++ modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either +- version 3 of the License, or (at your option) any later version. ++ 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 +- General Public License for more details. ++ Lesser General Public License for more details. + +- You should have received a copy of the GNU General Public ++ You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <https://www.gnu.org/licenses/>. */ + +--- a/gnulib/lib/malloc/dynarray.h ++++ b/gnulib/lib/malloc/dynarray.h +@@ -3,16 +3,16 @@ + 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 General Public ++ modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either +- version 3 of the License, or (at your option) any later version. ++ 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 +- General Public License for more details. ++ Lesser General Public License for more details. + +- You should have received a copy of the GNU General Public ++ You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <https://www.gnu.org/licenses/>. */ + +--- a/gnulib/lib/malloc/dynarray_at_failure.c ++++ b/gnulib/lib/malloc/dynarray_at_failure.c +@@ -3,16 +3,16 @@ + 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 General Public ++ modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either +- version 3 of the License, or (at your option) any later version. ++ 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 +- General Public License for more details. ++ Lesser General Public License for more details. + +- You should have received a copy of the GNU General Public ++ You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <https://www.gnu.org/licenses/>. */ + +--- a/gnulib/lib/malloc/dynarray_emplace_enlarge.c ++++ b/gnulib/lib/malloc/dynarray_emplace_enlarge.c +@@ -3,16 +3,16 @@ + 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 General Public ++ modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either +- version 3 of the License, or (at your option) any later version. ++ 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 +- General Public License for more details. ++ Lesser General Public License for more details. + +- You should have received a copy of the GNU General Public ++ You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <https://www.gnu.org/licenses/>. */ + +--- a/gnulib/lib/malloc/dynarray_finalize.c ++++ b/gnulib/lib/malloc/dynarray_finalize.c +@@ -3,16 +3,16 @@ + 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 General Public ++ modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either +- version 3 of the License, or (at your option) any later version. ++ 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 +- General Public License for more details. ++ Lesser General Public License for more details. + +- You should have received a copy of the GNU General Public ++ You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <https://www.gnu.org/licenses/>. */ + +--- a/gnulib/lib/malloc/dynarray_resize.c ++++ b/gnulib/lib/malloc/dynarray_resize.c +@@ -3,16 +3,16 @@ + 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 General Public ++ modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either +- version 3 of the License, or (at your option) any later version. ++ 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 +- General Public License for more details. ++ Lesser General Public License for more details. + +- You should have received a copy of the GNU General Public ++ You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <https://www.gnu.org/licenses/>. */ + +--- a/gnulib/lib/malloc/dynarray_resize_clear.c ++++ b/gnulib/lib/malloc/dynarray_resize_clear.c +@@ -3,16 +3,16 @@ + 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 General Public ++ modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either +- version 3 of the License, or (at your option) any later version. ++ 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 +- General Public License for more details. ++ Lesser General Public License for more details. + +- You should have received a copy of the GNU General Public ++ You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <https://www.gnu.org/licenses/>. */ + +--- a/gnulib/lib/malloca.c ++++ b/gnulib/lib/malloca.c +@@ -2,18 +2,18 @@ + Copyright (C) 2003, 2006-2007, 2009-2021 Free Software Foundation, Inc. + Written by Bruno Haible <bruno@clisp.org>, 2003, 2018. + +- 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, or (at your option) +- any later version. ++ This file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser 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 <https://www.gnu.org/licenses/>. */ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + #define _GL_USE_STDLIB_ALLOC 1 + #include <config.h> +@@ -21,6 +21,8 @@ + /* Specification. */ + #include "malloca.h" + ++#include "idx.h" ++#include "intprops.h" + #include "verify.h" + + /* The speed critical point in this file is freea() applied to an alloca() +@@ -45,9 +47,9 @@ mmalloca (size_t n) + #if HAVE_ALLOCA + /* Allocate one more word, used to determine the address to pass to freea(), + and room for the alignment ≡ sa_alignment_max mod 2*sa_alignment_max. */ +- size_t nplus = n + sizeof (small_t) + 2 * sa_alignment_max - 1; +- +- if (nplus >= n) ++ int plus = sizeof (small_t) + 2 * sa_alignment_max - 1; ++ idx_t nplus; ++ if (!INT_ADD_WRAPV (n, plus, &nplus) && !xalloc_oversized (nplus, 1)) + { + char *mem = (char *) malloc (nplus); + +--- a/gnulib/lib/malloca.h ++++ b/gnulib/lib/malloca.h +@@ -2,18 +2,18 @@ + Copyright (C) 2003-2007, 2009-2021 Free Software Foundation, Inc. + Written by Bruno Haible <bruno@clisp.org>, 2003. + +- 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, or (at your option) +- any later version. ++ This file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser 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 <https://www.gnu.org/licenses/>. */ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + #ifndef _MALLOCA_H + #define _MALLOCA_H +@@ -76,9 +76,10 @@ extern void freea (void *p); + + /* nmalloca(N,S) is an overflow-safe variant of malloca (N * S). + It allocates an array of N objects, each with S bytes of memory, +- on the stack. S must be positive and N must be nonnegative. ++ on the stack. N and S should be nonnegative and free of side effects. + The array must be freed using freea() before the function returns. */ +-#define nmalloca(n, s) (xalloc_oversized (n, s) ? NULL : malloca ((n) * (s))) ++#define nmalloca(n, s) \ ++ (xalloc_oversized (n, s) ? NULL : malloca ((n) * (size_t) (s))) + + + #ifdef __cplusplus +--- a/gnulib/lib/mbchar.c ++++ b/gnulib/lib/mbchar.c +@@ -1,16 +1,16 @@ + /* Copyright (C) 2001, 2006, 2009-2021 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 file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser General Public License for more details. + +- You should have received a copy of the GNU General Public License ++ You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + +--- a/gnulib/lib/mbchar.h ++++ b/gnulib/lib/mbchar.h +@@ -1,17 +1,17 @@ + /* Multibyte character data type. + Copyright (C) 2001, 2005-2007, 2009-2021 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 file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser General Public License for more details. + +- You should have received a copy of the GNU General Public License ++ You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + /* Written by Bruno Haible <bruno@clisp.org>. */ +--- a/gnulib/lib/mbiter.c ++++ b/gnulib/lib/mbiter.c +@@ -1,3 +1,21 @@ ++/* Iterating through multibyte strings: macros for multi-byte encodings. ++ ++ Copyright (C) 2012-2021 Free Software Foundation, Inc. ++ ++ This file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. ++ ++ This file is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ GNU Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see <https://www.gnu.org/licenses/>. */ ++ + #include <config.h> ++ + #define MBITER_INLINE _GL_EXTERN_INLINE + #include "mbiter.h" +--- a/gnulib/lib/mbiter.h ++++ b/gnulib/lib/mbiter.h +@@ -1,17 +1,17 @@ + /* Iterating through multibyte strings: macros for multi-byte encodings. + Copyright (C) 2001, 2005, 2007, 2009-2021 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 file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser General Public License for more details. + +- You should have received a copy of the GNU General Public License ++ You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + /* Written by Bruno Haible <bruno@clisp.org>. */ +--- a/gnulib/lib/mbrtowc-impl-utf8.h ++++ b/gnulib/lib/mbrtowc-impl-utf8.h +@@ -1,17 +1,17 @@ + /* Convert multibyte character to wide character. + Copyright (C) 1999-2002, 2005-2021 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 file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser General Public License for more details. + +- You should have received a copy of the GNU General Public License ++ You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + /* Written by Bruno Haible <bruno@clisp.org>, 2008. */ +@@ -96,7 +96,7 @@ + + if ((c2 ^ 0x80) < 0x40 + && (c >= 0xf1 || c2 >= 0x90) +- && (c < 0xf4 || (c == 0xf4 && c2 < 0x90))) ++ && (c < 0xf4 || (/* c == 0xf4 && */ c2 < 0x90))) + { + if (m == 2) + goto incomplete; +--- a/gnulib/lib/mbrtowc-impl.h ++++ b/gnulib/lib/mbrtowc-impl.h +@@ -1,17 +1,17 @@ + /* Convert multibyte character to wide character. + Copyright (C) 1999-2002, 2005-2021 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 file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser General Public License for more details. + +- You should have received a copy of the GNU General Public License ++ You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + /* Written by Bruno Haible <bruno@clisp.org>, 2008. */ +--- a/gnulib/lib/mbrtowc.c ++++ b/gnulib/lib/mbrtowc.c +@@ -2,17 +2,17 @@ + Copyright (C) 1999-2002, 2005-2021 Free Software Foundation, Inc. + Written by Bruno Haible <bruno@clisp.org>, 2008. + +- 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 file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser General Public License for more details. + +- You should have received a copy of the GNU General Public License ++ You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + #include <config.h> +--- a/gnulib/lib/mbscasecmp.c ++++ b/gnulib/lib/mbscasecmp.c +@@ -3,17 +3,17 @@ + Written by Bruno Haible <bruno@clisp.org>, 2005, + based on earlier glibc code. + +- 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 file 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 3 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser General Public License for more details. + +- You should have received a copy of the GNU General Public License ++ You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + #include <config.h> +--- a/gnulib/lib/mbschr.c ++++ b/gnulib/lib/mbschr.c +@@ -2,17 +2,17 @@ + Copyright (C) 2007-2021 Free Software Foundation, Inc. + Written by Bruno Haible <bruno@clisp.org>, 2007. + +- 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 file 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 3 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser General Public License for more details. + +- You should have received a copy of the GNU General Public License ++ You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + #include <config.h> +--- a/gnulib/lib/mbsinit.c ++++ b/gnulib/lib/mbsinit.c +@@ -2,17 +2,17 @@ + Copyright (C) 2008-2021 Free Software Foundation, Inc. + Written by Bruno Haible <bruno@clisp.org>, 2008. + +- 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 file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser General Public License for more details. + +- You should have received a copy of the GNU General Public License ++ You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + #include <config.h> +--- a/gnulib/lib/mbslen.c ++++ b/gnulib/lib/mbslen.c +@@ -2,17 +2,17 @@ + Copyright (C) 2007-2021 Free Software Foundation, Inc. + Written by Bruno Haible <bruno@clisp.org>, 2007. + +- 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 file 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 3 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser General Public License for more details. + +- You should have received a copy of the GNU General Public License ++ You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + #include <config.h> +--- a/gnulib/lib/mbsncasecmp.c ++++ b/gnulib/lib/mbsncasecmp.c +@@ -3,17 +3,17 @@ + Written by Bruno Haible <bruno@clisp.org>, 2005, + based on earlier glibc code. + +- 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 file 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 3 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser General Public License for more details. + +- You should have received a copy of the GNU General Public License ++ You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + #include <config.h> +--- a/gnulib/lib/mbsstr.c ++++ b/gnulib/lib/mbsstr.c +@@ -2,17 +2,17 @@ + Copyright (C) 2005-2021 Free Software Foundation, Inc. + Written by Bruno Haible <bruno@clisp.org>, 2005. + +- 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 file 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 3 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser General Public License for more details. + +- You should have received a copy of the GNU General Public License ++ You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + #include <config.h> +--- a/gnulib/lib/mbtowc-impl.h ++++ b/gnulib/lib/mbtowc-impl.h +@@ -2,17 +2,17 @@ + Copyright (C) 2011-2021 Free Software Foundation, Inc. + Written by Bruno Haible <bruno@clisp.org>, 2011. + +- 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 file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser General Public License for more details. + +- You should have received a copy of the GNU General Public License ++ You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + /* We don't need a static internal state, because the encoding is not state +--- a/gnulib/lib/mbtowc-lock.c ++++ b/gnulib/lib/mbtowc-lock.c +@@ -1,17 +1,17 @@ + /* Return the internal lock used by mbrtowc and mbrtoc32. + Copyright (C) 2019-2021 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 file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser General Public License for more details. + +- You should have received a copy of the GNU General Public License ++ You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + /* Written by Bruno Haible <bruno@clisp.org>, 2019-2020. */ +--- a/gnulib/lib/mbtowc-lock.h ++++ b/gnulib/lib/mbtowc-lock.h +@@ -1,17 +1,17 @@ + /* Use the internal lock used by mbrtowc and mbrtoc32. + Copyright (C) 2019-2021 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 file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser General Public License for more details. + +- You should have received a copy of the GNU General Public License ++ You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + /* Written by Bruno Haible <bruno@clisp.org>, 2019-2020. */ +--- a/gnulib/lib/mbtowc.c ++++ b/gnulib/lib/mbtowc.c +@@ -2,17 +2,17 @@ + Copyright (C) 2011-2021 Free Software Foundation, Inc. + Written by Bruno Haible <bruno@clisp.org>, 2011. + +- 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 file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser General Public License for more details. + +- You should have received a copy of the GNU General Public License ++ You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + #include <config.h> +--- a/gnulib/lib/mbuiter.c ++++ b/gnulib/lib/mbuiter.c +@@ -1,3 +1,20 @@ ++/* Iterating through multibyte strings: macros for multi-byte encodings. ++ Copyright (C) 2012-2021 Free Software Foundation, Inc. ++ ++ This file 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 3 of the ++ License, or (at your option) any later version. ++ ++ This file is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ GNU Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see <https://www.gnu.org/licenses/>. */ ++ + #include <config.h> ++ + #define MBUITER_INLINE _GL_EXTERN_INLINE + #include "mbuiter.h" +--- a/gnulib/lib/mbuiter.h ++++ b/gnulib/lib/mbuiter.h +@@ -1,17 +1,17 @@ + /* Iterating through multibyte strings: macros for multi-byte encodings. + Copyright (C) 2001, 2005, 2007, 2009-2021 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 file 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 3 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser General Public License for more details. + +- You should have received a copy of the GNU General Public License ++ You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + /* Written by Bruno Haible <bruno@clisp.org>. */ +--- a/gnulib/lib/memchr.c ++++ b/gnulib/lib/memchr.c +@@ -7,21 +7,21 @@ + adaptation to memchr suggested by Dick Karpinski (dick@cca.ucsf.edu), + and implemented by Roland McGrath (roland@ai.mit.edu). + +-NOTE: The canonical source of this file is maintained with the GNU C Library. +-Bugs can be reported to bug-glibc@prep.ai.mit.edu. ++ NOTE: The canonical source of this file is maintained with the GNU C Library. ++ Bugs can be reported to bug-glibc@prep.ai.mit.edu. + +-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 any +-later version. ++ This file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +-This 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. ++ This file 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 General Public License +-along with this program. If not, see <https://www.gnu.org/licenses/>. */ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + #ifndef _LIBC + # include <config.h> +--- a/gnulib/lib/memchr.valgrind ++++ b/gnulib/lib/memchr.valgrind +@@ -2,17 +2,17 @@ + + # Copyright (C) 2009-2021 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 file is free software: you can redistribute it and/or modify ++# it under the terms of the GNU Lesser General Public License as ++# published by the Free Software Foundation; either version 2.1 of the ++# License, or (at your option) any later version. + # +-# This program is distributed in the hope that it will be useful, ++# This file 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. ++# GNU Lesser General Public License for more details. + # +-# You should have received a copy of the GNU General Public License ++# You should have received a copy of the GNU Lesser General Public License + # along with this program. If not, see <https://www.gnu.org/licenses/>. + + # POSIX states that when the character is found, memchr must not read extra +--- a/gnulib/lib/mempcpy.c ++++ b/gnulib/lib/mempcpy.c +@@ -1,18 +1,18 @@ + /* Copy memory area and return pointer after last written byte. + Copyright (C) 2003, 2007, 2009-2021 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, or (at your option) +- any later version. ++ This file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser 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 <https://www.gnu.org/licenses/>. */ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + #include <config.h> + +--- a/gnulib/lib/memrchr.c ++++ b/gnulib/lib/memrchr.c +@@ -9,17 +9,17 @@ + adaptation to memchr suggested by Dick Karpinski (dick@cca.ucsf.edu), + and implemented by Roland McGrath (roland@ai.mit.edu). + +- 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 file 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 3 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser General Public License for more details. + +- You should have received a copy of the GNU General Public License ++ You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + #if defined _LIBC +--- /dev/null ++++ b/gnulib/lib/minmax.h +@@ -0,0 +1,60 @@ ++/* MIN, MAX macros. ++ Copyright (C) 1995, 1998, 2001, 2003, 2005, 2009-2021 Free Software ++ Foundation, Inc. ++ ++ This file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. ++ ++ This file is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ GNU Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see <https://www.gnu.org/licenses/>. */ ++ ++#ifndef _MINMAX_H ++#define _MINMAX_H ++ ++/* Note: MIN, MAX are also defined in <sys/param.h> on some systems ++ (glibc, IRIX, HP-UX, OSF/1). Therefore you might get warnings about ++ MIN, MAX macro redefinitions on some systems; the workaround is to ++ #include this file as the last one among the #include list. */ ++ ++/* Before we define the following symbols we get the <limits.h> file ++ since otherwise we get redefinitions on some systems if <limits.h> is ++ included after this file. Likewise for <sys/param.h>. ++ If more than one of these system headers define MIN and MAX, pick just ++ one of the headers (because the definitions most likely are the same). */ ++#if HAVE_MINMAX_IN_LIMITS_H ++# include <limits.h> ++#elif HAVE_MINMAX_IN_SYS_PARAM_H ++# include <sys/param.h> ++#endif ++ ++/* Note: MIN and MAX should be used with two arguments of the ++ same type. They might not return the minimum and maximum of their two ++ arguments, if the arguments have different types or have unusual ++ floating-point values. For example, on a typical host with 32-bit 'int', ++ 64-bit 'long long', and 64-bit IEEE 754 'double' types: ++ ++ MAX (-1, 2147483648) returns 4294967295. ++ MAX (9007199254740992.0, 9007199254740993) returns 9007199254740992.0. ++ MAX (NaN, 0.0) returns 0.0. ++ MAX (+0.0, -0.0) returns -0.0. ++ ++ and in each case the answer is in some sense bogus. */ ++ ++/* MAX(a,b) returns the maximum of A and B. */ ++#ifndef MAX ++# define MAX(a,b) ((a) > (b) ? (a) : (b)) ++#endif ++ ++/* MIN(a,b) returns the minimum of A and B. */ ++#ifndef MIN ++# define MIN(a,b) ((a) < (b) ? (a) : (b)) ++#endif ++ ++#endif /* _MINMAX_H */ +--- a/gnulib/lib/msvc-inval.c ++++ b/gnulib/lib/msvc-inval.c +@@ -1,18 +1,18 @@ + /* Invalid parameter handler for MSVC runtime libraries. + Copyright (C) 2011-2021 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, or (at your option) +- any later version. ++ This file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser 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 <https://www.gnu.org/licenses/>. */ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + #include <config.h> + +--- a/gnulib/lib/msvc-inval.h ++++ b/gnulib/lib/msvc-inval.h +@@ -1,18 +1,18 @@ + /* Invalid parameter handler for MSVC runtime libraries. + Copyright (C) 2011-2021 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, or (at your option) +- any later version. ++ This file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser 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 <https://www.gnu.org/licenses/>. */ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + #ifndef _MSVC_INVAL_H + #define _MSVC_INVAL_H +--- a/gnulib/lib/msvc-nothrow.c ++++ b/gnulib/lib/msvc-nothrow.c +@@ -2,18 +2,18 @@ + with MSVC runtime libraries. + Copyright (C) 2011-2021 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, or (at your option) +- any later version. ++ This file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser 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 <https://www.gnu.org/licenses/>. */ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + #include <config.h> + +--- a/gnulib/lib/msvc-nothrow.h ++++ b/gnulib/lib/msvc-nothrow.h +@@ -2,18 +2,18 @@ + with MSVC runtime libraries. + Copyright (C) 2011-2021 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, or (at your option) +- any later version. ++ This file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser 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 <https://www.gnu.org/licenses/>. */ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + #ifndef _MSVC_NOTHROW_H + #define _MSVC_NOTHROW_H +--- a/gnulib/lib/nl_langinfo-lock.c ++++ b/gnulib/lib/nl_langinfo-lock.c +@@ -1,17 +1,17 @@ + /* Return the internal lock used by nl_langinfo. + Copyright (C) 2019-2021 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 file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser General Public License for more details. + +- You should have received a copy of the GNU General Public License ++ You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + /* Written by Bruno Haible <bruno@clisp.org>, 2019-2020. */ +--- a/gnulib/lib/nl_langinfo.c ++++ b/gnulib/lib/nl_langinfo.c +@@ -2,17 +2,17 @@ + + Copyright (C) 2007-2021 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 file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser General Public License for more details. + +- You should have received a copy of the GNU General Public License ++ You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + #include <config.h> +--- a/gnulib/lib/open.c ++++ b/gnulib/lib/open.c +@@ -1,17 +1,17 @@ + /* Open a descriptor to a file. + Copyright (C) 2007-2021 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 file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser General Public License for more details. + +- You should have received a copy of the GNU General Public License ++ You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + /* Written by Bruno Haible <bruno@clisp.org>, 2007. */ +--- a/gnulib/lib/pathmax.h ++++ b/gnulib/lib/pathmax.h +@@ -2,18 +2,18 @@ + Copyright (C) 1992, 1999, 2001, 2003, 2005, 2009-2021 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, or (at your option) +- any later version. ++ This file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser 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 <https://www.gnu.org/licenses/>. */ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + #ifndef _PATHMAX_H + # define _PATHMAX_H +--- a/gnulib/lib/printf-args.c ++++ b/gnulib/lib/printf-args.c +@@ -2,18 +2,18 @@ + Copyright (C) 1999, 2002-2003, 2005-2007, 2009-2021 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, or (at your option) +- any later version. ++ This file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser 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 <https://www.gnu.org/licenses/>. */ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + /* This file can be parametrized with the following macros: + ENABLE_UNISTDIO Set to 1 to enable the unistdio extensions. +--- a/gnulib/lib/printf-args.h ++++ b/gnulib/lib/printf-args.h +@@ -2,18 +2,18 @@ + Copyright (C) 1999, 2002-2003, 2006-2007, 2011-2021 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, or (at your option) +- any later version. ++ This file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser 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 <https://www.gnu.org/licenses/>. */ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + #ifndef _PRINTF_ARGS_H + #define _PRINTF_ARGS_H +--- a/gnulib/lib/printf-parse.c ++++ b/gnulib/lib/printf-parse.c +@@ -1,18 +1,18 @@ + /* Formatted output to strings. + Copyright (C) 1999-2000, 2002-2003, 2006-2021 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, or (at your option) +- any later version. ++ This file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser 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 <https://www.gnu.org/licenses/>. */ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + /* This file can be parametrized with the following macros: + CHAR_T The element type of the format string. +@@ -48,16 +48,7 @@ + #include <stddef.h> + + /* Get intmax_t. */ +-#if defined IN_LIBINTL || defined IN_LIBASPRINTF +-# if HAVE_STDINT_H_WITH_UINTMAX +-# include <stdint.h> +-# endif +-# if HAVE_INTTYPES_H_WITH_UINTMAX +-# include <inttypes.h> +-# endif +-#else +-# include <stdint.h> +-#endif ++#include <stdint.h> + + /* malloc(), realloc(), free(). */ + #include <stdlib.h> +--- a/gnulib/lib/printf-parse.h ++++ b/gnulib/lib/printf-parse.h +@@ -2,18 +2,18 @@ + Copyright (C) 1999, 2002-2003, 2005, 2007, 2010-2021 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, or (at your option) +- any later version. ++ This file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser 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 <https://www.gnu.org/licenses/>. */ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + #ifndef _PRINTF_PARSE_H + #define _PRINTF_PARSE_H +--- /dev/null ++++ b/gnulib/lib/realloc.c +@@ -0,0 +1,63 @@ ++/* realloc() function that is glibc compatible. ++ ++ Copyright (C) 1997, 2003-2004, 2006-2007, 2009-2021 Free Software ++ Foundation, Inc. ++ ++ This file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. ++ ++ This file is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ GNU Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see <https://www.gnu.org/licenses/>. */ ++ ++/* written by Jim Meyering and Bruno Haible */ ++ ++#include <config.h> ++ ++#include <stdlib.h> ++ ++#include <errno.h> ++ ++#include "xalloc-oversized.h" ++ ++/* Call the system's realloc below. This file does not define ++ _GL_USE_STDLIB_ALLOC because it needs Gnulib's malloc if present. */ ++#undef realloc ++ ++/* Change the size of an allocated block of memory P to N bytes, ++ with error checking. If P is NULL, use malloc. Otherwise if N is zero, ++ free P and return NULL. */ ++ ++void * ++rpl_realloc (void *p, size_t n) ++{ ++ if (p == NULL) ++ return malloc (n); ++ ++ if (n == 0) ++ { ++ free (p); ++ return NULL; ++ } ++ ++ if (xalloc_oversized (n, 1)) ++ { ++ errno = ENOMEM; ++ return NULL; ++ } ++ ++ void *result = realloc (p, n); ++ ++#if !HAVE_MALLOC_POSIX ++ if (result == NULL) ++ errno = ENOMEM; ++#endif ++ ++ return result; ++} +--- /dev/null ++++ b/gnulib/lib/reallocarray.c +@@ -0,0 +1,39 @@ ++/* reallocarray function that is glibc compatible. ++ ++ Copyright (C) 2017-2021 Free Software Foundation, Inc. ++ ++ This file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. ++ ++ This file is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ GNU Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see <https://www.gnu.org/licenses/>. */ ++ ++/* written by Darshit Shah */ ++ ++#include <config.h> ++ ++#include <stdlib.h> ++#include <errno.h> ++ ++#include "intprops.h" ++ ++void * ++reallocarray (void *ptr, size_t nmemb, size_t size) ++{ ++ size_t nbytes; ++ if (INT_MULTIPLY_WRAPV (nmemb, size, &nbytes)) ++ { ++ errno = ENOMEM; ++ return NULL; ++ } ++ ++ /* Rely on the semantics of GNU realloc. */ ++ return realloc (ptr, nbytes); ++} +--- a/gnulib/lib/regcomp.c ++++ b/gnulib/lib/regcomp.c +@@ -4,16 +4,16 @@ + Contributed by Isamu Hasegawa <isamu@yamato.ibm.com>. + + The GNU C Library is free software; you can redistribute it and/or +- modify it under the terms of the GNU General Public ++ modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either +- version 3 of the License, or (at your option) any later version. ++ 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 +- General Public License for more details. ++ Lesser General Public License for more details. + +- You should have received a copy of the GNU General Public ++ You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <https://www.gnu.org/licenses/>. */ + +--- a/gnulib/lib/regex.c ++++ b/gnulib/lib/regex.c +@@ -4,16 +4,16 @@ + Contributed by Isamu Hasegawa <isamu@yamato.ibm.com>. + + The GNU C Library is free software; you can redistribute it and/or +- modify it under the terms of the GNU General Public ++ modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either +- version 3 of the License, or (at your option) any later version. ++ 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 +- General Public License for more details. ++ Lesser General Public License for more details. + +- You should have received a copy of the GNU General Public ++ You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <https://www.gnu.org/licenses/>. */ + +--- a/gnulib/lib/regex.h ++++ b/gnulib/lib/regex.h +@@ -4,16 +4,16 @@ + 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 General Public ++ modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either +- version 3 of the License, or (at your option) any later version. ++ 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 +- General Public License for more details. ++ Lesser General Public License for more details. + +- You should have received a copy of the GNU General Public ++ You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <https://www.gnu.org/licenses/>. */ + +--- a/gnulib/lib/regex_internal.c ++++ b/gnulib/lib/regex_internal.c +@@ -4,16 +4,16 @@ + Contributed by Isamu Hasegawa <isamu@yamato.ibm.com>. + + The GNU C Library is free software; you can redistribute it and/or +- modify it under the terms of the GNU General Public ++ modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either +- version 3 of the License, or (at your option) any later version. ++ 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 +- General Public License for more details. ++ Lesser General Public License for more details. + +- You should have received a copy of the GNU General Public ++ You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <https://www.gnu.org/licenses/>. */ + +--- a/gnulib/lib/regex_internal.h ++++ b/gnulib/lib/regex_internal.h +@@ -4,16 +4,16 @@ + Contributed by Isamu Hasegawa <isamu@yamato.ibm.com>. + + The GNU C Library is free software; you can redistribute it and/or +- modify it under the terms of the GNU General Public ++ modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either +- version 3 of the License, or (at your option) any later version. ++ 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 +- General Public License for more details. ++ Lesser General Public License for more details. + +- You should have received a copy of the GNU General Public ++ You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <https://www.gnu.org/licenses/>. */ + +--- a/gnulib/lib/regexec.c ++++ b/gnulib/lib/regexec.c +@@ -4,16 +4,16 @@ + Contributed by Isamu Hasegawa <isamu@yamato.ibm.com>. + + The GNU C Library is free software; you can redistribute it and/or +- modify it under the terms of the GNU General Public ++ modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either +- version 3 of the License, or (at your option) any later version. ++ 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 +- General Public License for more details. ++ Lesser General Public License for more details. + +- You should have received a copy of the GNU General Public ++ You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <https://www.gnu.org/licenses/>. */ + +@@ -1220,9 +1220,13 @@ proceed_next_node (const re_match_contex + { + re_node_set *cur_nodes = &mctx->state_log[*pidx]->nodes; + re_node_set *edests = &dfa->edests[node]; +- bool ok = re_node_set_insert (eps_via_nodes, node); +- if (__glibc_unlikely (! ok)) +- return -2; ++ ++ if (! re_node_set_contains (eps_via_nodes, node)) ++ { ++ bool ok = re_node_set_insert (eps_via_nodes, node); ++ if (__glibc_unlikely (! ok)) ++ return -2; ++ } + + /* Pick a valid destination, or return -1 if none is found. */ + Idx dest_node = -1; +@@ -1414,7 +1418,7 @@ set_regs (const regex_t *preg, const re_ + update_regs (dfa, pmatch, prev_idx_match, cur_node, idx, nmatch); + + if ((idx == pmatch[0].rm_eo && cur_node == mctx->last_node) +- || re_node_set_contains (&eps_via_nodes, cur_node)) ++ || (fs && re_node_set_contains (&eps_via_nodes, cur_node))) + { + Idx reg_idx; + cur_node = -1; +--- a/gnulib/lib/setlocale-lock.c ++++ b/gnulib/lib/setlocale-lock.c +@@ -1,17 +1,17 @@ + /* Return the internal lock used by setlocale_null_r. + Copyright (C) 2019-2021 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 file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser General Public License for more details. + +- You should have received a copy of the GNU General Public License ++ You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + /* Written by Bruno Haible <bruno@clisp.org>, 2019. */ +--- a/gnulib/lib/setlocale_null.c ++++ b/gnulib/lib/setlocale_null.c +@@ -1,17 +1,17 @@ + /* Query the name of the current global locale. + Copyright (C) 2019-2021 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 file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser General Public License for more details. + +- You should have received a copy of the GNU General Public License ++ You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + /* Written by Bruno Haible <bruno@clisp.org>, 2019. */ +--- a/gnulib/lib/setlocale_null.h ++++ b/gnulib/lib/setlocale_null.h +@@ -1,17 +1,17 @@ + /* Query the name of the current global locale. + Copyright (C) 2019-2021 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 file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser General Public License for more details. + +- You should have received a copy of the GNU General Public License ++ You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + /* Written by Bruno Haible <bruno@clisp.org>, 2019. */ +--- a/gnulib/lib/size_max.h ++++ b/gnulib/lib/size_max.h +@@ -2,18 +2,18 @@ + Copyright (C) 2005-2006, 2009-2021 Free Software Foundation, Inc. + Written by Simon Josefsson. + +- 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, or (at your option) +- any later version. ++ This file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser 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 <https://www.gnu.org/licenses/>. */ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + #ifndef GNULIB_SIZE_MAX_H + #define GNULIB_SIZE_MAX_H +--- a/gnulib/lib/stat-time.c ++++ b/gnulib/lib/stat-time.c +@@ -1,3 +1,21 @@ ++/* stat-related time functions. ++ ++ Copyright (C) 2012-2021 Free Software Foundation, Inc. ++ ++ This file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. ++ ++ This file is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ GNU Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see <https://www.gnu.org/licenses/>. */ ++ + #include <config.h> ++ + #define _GL_STAT_TIME_INLINE _GL_EXTERN_INLINE + #include "stat-time.h" +--- a/gnulib/lib/stat-time.h ++++ b/gnulib/lib/stat-time.h +@@ -2,17 +2,17 @@ + + Copyright (C) 2005, 2007, 2009-2021 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 file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser General Public License for more details. + +- You should have received a copy of the GNU General Public License ++ You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + /* Written by Paul Eggert. */ +--- a/gnulib/lib/stat-w32.c ++++ b/gnulib/lib/stat-w32.c +@@ -1,17 +1,17 @@ + /* Core of implementation of fstat and stat for native Windows. + Copyright (C) 2017-2021 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 file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser General Public License for more details. + +- You should have received a copy of the GNU General Public License ++ You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + /* Written by Bruno Haible. */ +--- a/gnulib/lib/stat-w32.h ++++ b/gnulib/lib/stat-w32.h +@@ -1,17 +1,17 @@ + /* Core of implementation of fstat and stat for native Windows. + Copyright (C) 2017-2021 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 file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser General Public License for more details. + +- You should have received a copy of the GNU General Public License ++ You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + #ifndef _STAT_W32_H +--- a/gnulib/lib/stat.c ++++ b/gnulib/lib/stat.c +@@ -1,17 +1,17 @@ + /* Work around platform bugs in stat. + Copyright (C) 2009-2021 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 file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser General Public License for more details. + +- You should have received a copy of the GNU General Public License ++ You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + /* Written by Eric Blake and Bruno Haible. */ +--- a/gnulib/lib/stdarg.in.h ++++ b/gnulib/lib/stdarg.in.h +@@ -1,18 +1,18 @@ + /* Substitute for and wrapper around <stdarg.h>. + Copyright (C) 2008-2021 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, or (at your option) +- any later version. ++ This file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser 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 <https://www.gnu.org/licenses/>. */ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + #ifndef _@GUARD_PREFIX@_STDARG_H + +--- a/gnulib/lib/stdbool.in.h ++++ b/gnulib/lib/stdbool.in.h +@@ -1,18 +1,18 @@ + /* Copyright (C) 2001-2003, 2006-2021 Free Software Foundation, Inc. + Written by Bruno Haible <haible@clisp.cons.org>, 2001. + +- 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, or (at your option) +- any later version. ++ This file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser 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 <https://www.gnu.org/licenses/>. */ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + #ifndef _GL_STDBOOL_H + #define _GL_STDBOOL_H +--- a/gnulib/lib/stddef.in.h ++++ b/gnulib/lib/stddef.in.h +@@ -2,18 +2,18 @@ + + Copyright (C) 2009-2021 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, or (at your option) +- any later version. ++ This file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser 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 <https://www.gnu.org/licenses/>. */ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + /* Written by Eric Blake. */ + +--- a/gnulib/lib/stdint.in.h ++++ b/gnulib/lib/stdint.in.h +@@ -2,18 +2,18 @@ + Written by Paul Eggert, Bruno Haible, Sam Steingold, Peter Burwood. + This file is part of gnulib. + +- 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, or (at your option) +- any later version. ++ This file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser 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 <https://www.gnu.org/licenses/>. */ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + /* + * ISO C 99 <stdint.h> for platforms that lack it. +@@ -85,7 +85,7 @@ + + /* Override WINT_MIN and WINT_MAX if gnulib's <wchar.h> or <wctype.h> overrides + wint_t. */ +-#if @GNULIB_OVERRIDES_WINT_T@ ++#if @GNULIBHEADERS_OVERRIDE_WINT_T@ + # undef WINT_MIN + # undef WINT_MAX + # define WINT_MIN 0x0U +@@ -598,7 +598,7 @@ typedef int _verify_intmax_size[sizeof ( + /* wint_t limits */ + /* If gnulib's <wchar.h> or <wctype.h> overrides wint_t, @WINT_T_SUFFIX@ is not + accurate, therefore use the definitions from above. */ +-# if !@GNULIB_OVERRIDES_WINT_T@ ++# if !@GNULIBHEADERS_OVERRIDE_WINT_T@ + # undef WINT_MIN + # undef WINT_MAX + # if @HAVE_SIGNED_WINT_T@ +--- a/gnulib/lib/stdio.in.h ++++ b/gnulib/lib/stdio.in.h +@@ -2,18 +2,18 @@ + + Copyright (C) 2004, 2007-2021 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, or (at your option) +- any later version. ++ This file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser 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 <https://www.gnu.org/licenses/>. */ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + #if __GNUC__ >= 3 + @PRAGMA_SYSTEM_HEADER@ +@@ -242,7 +242,7 @@ _GL_WARN_ON_USE (fclose, "fclose is not + _GL_CXXALIAS_MDA (fcloseall, int, (void)); + # else + # if @HAVE_DECL_FCLOSEALL@ +-# if defined __FreeBSD__ ++# if defined __FreeBSD__ || defined __DragonFly__ + _GL_CXXALIAS_SYS (fcloseall, void, (void)); + # else + _GL_CXXALIAS_SYS (fcloseall, int, (void)); +@@ -1257,6 +1257,7 @@ _GL_CXXALIASWARN (scanf); + # if !(defined __cplusplus && defined GNULIB_NAMESPACE) + # define snprintf rpl_snprintf + # endif ++# define GNULIB_overrides_snprintf 1 + _GL_FUNCDECL_RPL (snprintf, int, + (char *restrict str, size_t size, + const char *restrict format, ...) +@@ -1302,6 +1303,7 @@ _GL_WARN_ON_USE (snprintf, "snprintf is + # if !(defined __cplusplus && defined GNULIB_NAMESPACE) + # define sprintf rpl_sprintf + # endif ++# define GNULIB_overrides_sprintf 1 + _GL_FUNCDECL_RPL (sprintf, int, + (char *restrict str, const char *restrict format, ...) + _GL_ATTRIBUTE_FORMAT_PRINTF_STANDARD (2, 3) +@@ -1369,6 +1371,7 @@ _GL_WARN_ON_USE (tmpfile, "tmpfile is no + # if !(defined __cplusplus && defined GNULIB_NAMESPACE) + # define asprintf rpl_asprintf + # endif ++# define GNULIB_overrides_asprintf + _GL_FUNCDECL_RPL (asprintf, int, + (char **result, const char *format, ...) + _GL_ATTRIBUTE_FORMAT_PRINTF_STANDARD (2, 3) +@@ -1390,6 +1393,7 @@ _GL_CXXALIASWARN (asprintf); + # if !(defined __cplusplus && defined GNULIB_NAMESPACE) + # define vasprintf rpl_vasprintf + # endif ++# define GNULIB_overrides_vasprintf 1 + _GL_FUNCDECL_RPL (vasprintf, int, + (char **result, const char *format, va_list args) + _GL_ATTRIBUTE_FORMAT_PRINTF_STANDARD (2, 0) +@@ -1573,6 +1577,7 @@ _GL_CXXALIASWARN (vscanf); + # if !(defined __cplusplus && defined GNULIB_NAMESPACE) + # define vsnprintf rpl_vsnprintf + # endif ++# define GNULIB_overrides_vsnprintf 1 + _GL_FUNCDECL_RPL (vsnprintf, int, + (char *restrict str, size_t size, + const char *restrict format, va_list args) +@@ -1609,6 +1614,7 @@ _GL_WARN_ON_USE (vsnprintf, "vsnprintf i + # if !(defined __cplusplus && defined GNULIB_NAMESPACE) + # define vsprintf rpl_vsprintf + # endif ++# define GNULIB_overrides_vsprintf 1 + _GL_FUNCDECL_RPL (vsprintf, int, + (char *restrict str, + const char *restrict format, va_list args) +--- a/gnulib/lib/stdlib.in.h ++++ b/gnulib/lib/stdlib.in.h +@@ -2,17 +2,17 @@ + + Copyright (C) 1995, 2001-2004, 2006-2021 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 file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser General Public License for more details. + +- You should have received a copy of the GNU General Public License ++ You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + #if __GNUC__ >= 3 +@@ -1032,12 +1032,23 @@ _GL_WARN_ON_USE (realloc, "realloc is no + + + #if @GNULIB_REALLOCARRAY@ +-# if ! @HAVE_REALLOCARRAY@ ++# if @REPLACE_REALLOCARRAY@ ++# if !(defined __cplusplus && defined GNULIB_NAMESPACE) ++# undef reallocarray ++# define reallocarray rpl_reallocarray ++# endif ++_GL_FUNCDECL_RPL (reallocarray, void *, ++ (void *ptr, size_t nmemb, size_t size)); ++_GL_CXXALIAS_RPL (reallocarray, void *, ++ (void *ptr, size_t nmemb, size_t size)); ++# else ++# if ! @HAVE_REALLOCARRAY@ + _GL_FUNCDECL_SYS (reallocarray, void *, + (void *ptr, size_t nmemb, size_t size)); +-# endif ++# endif + _GL_CXXALIAS_SYS (reallocarray, void *, + (void *ptr, size_t nmemb, size_t size)); ++# endif + _GL_CXXALIASWARN (reallocarray); + #elif defined GNULIB_POSIXCHECK + # undef reallocarray +@@ -1202,6 +1213,47 @@ _GL_WARN_ON_USE (strtold, "strtold is un + # endif + #endif + ++#if @GNULIB_STRTOL@ ++/* Parse a signed integer whose textual representation starts at STRING. ++ The integer is expected to be in base BASE (2 <= BASE <= 36); if BASE == 0, ++ it may be decimal or octal (with prefix "0") or hexadecimal (with prefix ++ "0x"). ++ If ENDPTR is not NULL, the address of the first byte after the integer is ++ stored in *ENDPTR. ++ Upon overflow, the return value is LONG_MAX or LONG_MIN, and errno is set ++ to ERANGE. */ ++# if @REPLACE_STRTOL@ ++# if !(defined __cplusplus && defined GNULIB_NAMESPACE) ++# define strtol rpl_strtol ++# endif ++# define GNULIB_defined_strtol_function 1 ++_GL_FUNCDECL_RPL (strtol, long, ++ (const char *restrict string, char **restrict endptr, ++ int base) ++ _GL_ARG_NONNULL ((1))); ++_GL_CXXALIAS_RPL (strtol, long, ++ (const char *restrict string, char **restrict endptr, ++ int base)); ++# else ++# if !@HAVE_STRTOL@ ++_GL_FUNCDECL_SYS (strtol, long, ++ (const char *restrict string, char **restrict endptr, ++ int base) ++ _GL_ARG_NONNULL ((1))); ++# endif ++_GL_CXXALIAS_SYS (strtol, long, ++ (const char *restrict string, char **restrict endptr, ++ int base)); ++# endif ++_GL_CXXALIASWARN (strtol); ++#elif defined GNULIB_POSIXCHECK ++# undef strtol ++# if HAVE_RAW_DECL_STRTOL ++_GL_WARN_ON_USE (strtol, "strtol is unportable - " ++ "use gnulib module strtol for portability"); ++# endif ++#endif ++ + #if @GNULIB_STRTOLL@ + /* Parse a signed integer whose textual representation starts at STRING. + The integer is expected to be in base BASE (2 <= BASE <= 36); if BASE == 0, +@@ -1211,15 +1263,29 @@ _GL_WARN_ON_USE (strtold, "strtold is un + stored in *ENDPTR. + Upon overflow, the return value is LLONG_MAX or LLONG_MIN, and errno is set + to ERANGE. */ +-# if !@HAVE_STRTOLL@ ++# if @REPLACE_STRTOLL@ ++# if !(defined __cplusplus && defined GNULIB_NAMESPACE) ++# define strtoll rpl_strtoll ++# endif ++# define GNULIB_defined_strtoll_function 1 ++_GL_FUNCDECL_RPL (strtoll, long long, ++ (const char *restrict string, char **restrict endptr, ++ int base) ++ _GL_ARG_NONNULL ((1))); ++_GL_CXXALIAS_RPL (strtoll, long long, ++ (const char *restrict string, char **restrict endptr, ++ int base)); ++# else ++# if !@HAVE_STRTOLL@ + _GL_FUNCDECL_SYS (strtoll, long long, + (const char *restrict string, char **restrict endptr, + int base) + _GL_ARG_NONNULL ((1))); +-# endif ++# endif + _GL_CXXALIAS_SYS (strtoll, long long, + (const char *restrict string, char **restrict endptr, + int base)); ++# endif + _GL_CXXALIASWARN (strtoll); + #elif defined GNULIB_POSIXCHECK + # undef strtoll +@@ -1229,6 +1295,46 @@ _GL_WARN_ON_USE (strtoll, "strtoll is un + # endif + #endif + ++#if @GNULIB_STRTOUL@ ++/* Parse an unsigned integer whose textual representation starts at STRING. ++ The integer is expected to be in base BASE (2 <= BASE <= 36); if BASE == 0, ++ it may be decimal or octal (with prefix "0") or hexadecimal (with prefix ++ "0x"). ++ If ENDPTR is not NULL, the address of the first byte after the integer is ++ stored in *ENDPTR. ++ Upon overflow, the return value is ULONG_MAX, and errno is set to ERANGE. */ ++# if @REPLACE_STRTOUL@ ++# if !(defined __cplusplus && defined GNULIB_NAMESPACE) ++# define strtoul rpl_strtoul ++# endif ++# define GNULIB_defined_strtoul_function 1 ++_GL_FUNCDECL_RPL (strtoul, unsigned long, ++ (const char *restrict string, char **restrict endptr, ++ int base) ++ _GL_ARG_NONNULL ((1))); ++_GL_CXXALIAS_RPL (strtoul, unsigned long, ++ (const char *restrict string, char **restrict endptr, ++ int base)); ++# else ++# if !@HAVE_STRTOUL@ ++_GL_FUNCDECL_SYS (strtoul, unsigned long, ++ (const char *restrict string, char **restrict endptr, ++ int base) ++ _GL_ARG_NONNULL ((1))); ++# endif ++_GL_CXXALIAS_SYS (strtoul, unsigned long, ++ (const char *restrict string, char **restrict endptr, ++ int base)); ++# endif ++_GL_CXXALIASWARN (strtoul); ++#elif defined GNULIB_POSIXCHECK ++# undef strtoul ++# if HAVE_RAW_DECL_STRTOUL ++_GL_WARN_ON_USE (strtoul, "strtoul is unportable - " ++ "use gnulib module strtoul for portability"); ++# endif ++#endif ++ + #if @GNULIB_STRTOULL@ + /* Parse an unsigned integer whose textual representation starts at STRING. + The integer is expected to be in base BASE (2 <= BASE <= 36); if BASE == 0, +@@ -1238,15 +1344,29 @@ _GL_WARN_ON_USE (strtoll, "strtoll is un + stored in *ENDPTR. + Upon overflow, the return value is ULLONG_MAX, and errno is set to + ERANGE. */ +-# if !@HAVE_STRTOULL@ ++# if @REPLACE_STRTOULL@ ++# if !(defined __cplusplus && defined GNULIB_NAMESPACE) ++# define strtoull rpl_strtoull ++# endif ++# define GNULIB_defined_strtoull_function 1 ++_GL_FUNCDECL_RPL (strtoull, unsigned long long, ++ (const char *restrict string, char **restrict endptr, ++ int base) ++ _GL_ARG_NONNULL ((1))); ++_GL_CXXALIAS_RPL (strtoull, unsigned long long, ++ (const char *restrict string, char **restrict endptr, ++ int base)); ++# else ++# if !@HAVE_STRTOULL@ + _GL_FUNCDECL_SYS (strtoull, unsigned long long, + (const char *restrict string, char **restrict endptr, + int base) + _GL_ARG_NONNULL ((1))); +-# endif ++# endif + _GL_CXXALIAS_SYS (strtoull, unsigned long long, + (const char *restrict string, char **restrict endptr, + int base)); ++# endif + _GL_CXXALIASWARN (strtoull); + #elif defined GNULIB_POSIXCHECK + # undef strtoull +--- a/gnulib/lib/stpcpy.c ++++ b/gnulib/lib/stpcpy.c +@@ -5,17 +5,17 @@ + NOTE: The canonical source of this file is maintained with the GNU C Library. + Bugs can be reported to bug-glibc@prep.ai.mit.edu. + +- 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 any +- later version. ++ This file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser General Public License for more details. + +- You should have received a copy of the GNU General Public License ++ You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + #include <config.h> +--- a/gnulib/lib/str-kmp.h ++++ b/gnulib/lib/str-kmp.h +@@ -3,18 +3,26 @@ + Copyright (C) 2005-2021 Free Software Foundation, Inc. + Written by Bruno Haible <bruno@clisp.org>, 2005. + +- 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, or (at your option) +- any later version. ++ This file is free software. ++ It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+". ++ You can redistribute it and/or modify it under either ++ - the terms of the GNU Lesser General Public License as published ++ by the Free Software Foundation; either version 3, or (at your ++ option) any later version, or ++ - the terms of the GNU General Public License as published by the ++ Free Software Foundation; either version 2, or (at your option) ++ any later version, or ++ - the same dual license "the GNU LGPLv3+ or the GNU GPLv2+". + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License and 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 <https://www.gnu.org/licenses/>. */ ++ You should have received a copy of the GNU Lesser General Public ++ License and of the GNU General Public License along with this ++ program. If not, see <https://www.gnu.org/licenses/>. */ + + /* Before including this file, you need to define: + UNIT The element type of the needle and haystack. +--- a/gnulib/lib/str-two-way.h ++++ b/gnulib/lib/str-two-way.h +@@ -3,18 +3,18 @@ + This file is part of the GNU C Library. + Written by Eric Blake <ebb9@byu.net>, 2008. + +- 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, or (at your option) +- any later version. ++ This file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser 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 <https://www.gnu.org/licenses/>. */ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + /* Before including this file, you need to include <config.h> and + <string.h>, and define: +--- a/gnulib/lib/strcasecmp.c ++++ b/gnulib/lib/strcasecmp.c +@@ -1,18 +1,18 @@ + /* Case-insensitive string comparison function. + Copyright (C) 1998-1999, 2005-2007, 2009-2021 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, or (at your option) +- any later version. ++ This file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser 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 <https://www.gnu.org/licenses/>. */ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + #include <config.h> + +--- a/gnulib/lib/strcasestr.c ++++ b/gnulib/lib/strcasestr.c +@@ -2,18 +2,18 @@ + Copyright (C) 2005-2021 Free Software Foundation, Inc. + Written by Bruno Haible <bruno@clisp.org>, 2005. + +- 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, or (at your option) +- any later version. ++ This file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser 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 <https://www.gnu.org/licenses/>. */ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + #include <config.h> + +--- a/gnulib/lib/strdup.c ++++ b/gnulib/lib/strdup.c +@@ -3,18 +3,18 @@ + + This file is part of the GNU C Library. + +- 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, or (at your option) +- any later version. ++ This file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser 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 <https://www.gnu.org/licenses/>. */ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + #ifndef _LIBC + # include <config.h> +--- a/gnulib/lib/streq.h ++++ b/gnulib/lib/streq.h +@@ -1,17 +1,17 @@ + /* Optimized string comparison. + Copyright (C) 2001-2002, 2007, 2009-2021 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 file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ 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 General Public License ++ You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + /* Written by Bruno Haible <bruno@clisp.org>. */ +--- a/gnulib/lib/strerror-override.c ++++ b/gnulib/lib/strerror-override.c +@@ -2,17 +2,17 @@ + + Copyright (C) 2010-2021 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 file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser General Public License for more details. + +- You should have received a copy of the GNU General Public License ++ You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + /* Written by Bruno Haible <bruno@clisp.org>, 2010. */ +@@ -29,6 +29,8 @@ + # endif + #endif + ++#if !GNULIB_defined_strerror_override_macro ++ + /* If ERRNUM maps to an errno value defined by gnulib, return a string + describing the error. Otherwise return NULL. */ + const char * +@@ -37,12 +39,12 @@ strerror_override (int errnum) + /* These error messages are taken from glibc/sysdeps/gnu/errlist.c. */ + switch (errnum) + { +-#if REPLACE_STRERROR_0 ++# if REPLACE_STRERROR_0 + case 0: + return "Success"; +-#endif ++# endif + +-#if GNULIB_defined_ESOCK /* native Windows platforms with older <errno.h> */ ++# if GNULIB_defined_ESOCK /* native Windows platforms with older <errno.h> */ + case EINPROGRESS: + return "Operation now in progress"; + case EALREADY: +@@ -89,8 +91,8 @@ strerror_override (int errnum) + return "No route to host"; + case EWOULDBLOCK: + return "Operation would block"; +-#endif +-#if GNULIB_defined_ESTREAMS /* native Windows platforms with older <errno.h> */ ++# endif ++# if GNULIB_defined_ESTREAMS /* native Windows platforms with older <errno.h> */ + case ETXTBSY: + return "Text file busy"; + case ENODATA: +@@ -103,8 +105,8 @@ strerror_override (int errnum) + return "Timer expired"; + case EOTHER: + return "Other error"; +-#endif +-#if GNULIB_defined_EWINSOCK /* native Windows platforms */ ++# endif ++# if GNULIB_defined_EWINSOCK /* native Windows platforms */ + case ESOCKTNOSUPPORT: + return "Socket type not supported"; + case EPFNOSUPPORT: +@@ -125,7 +127,7 @@ strerror_override (int errnum) + return "Stale NFS file handle"; + case EREMOTE: + return "Object is remote"; +-# if HAVE_WINSOCK2_H ++# if HAVE_WINSOCK2_H + /* WSA_INVALID_HANDLE maps to EBADF */ + /* WSA_NOT_ENOUGH_MEMORY maps to ENOMEM */ + /* WSA_INVALID_PARAMETER maps to EINVAL */ +@@ -213,90 +215,92 @@ strerror_override (int errnum) + case WSANO_DATA: + return "Valid name, no data record of requested type"; + /* WSA_QOS_* omitted */ ++# endif + # endif +-#endif + +-#if GNULIB_defined_ENOMSG ++# if GNULIB_defined_ENOMSG + case ENOMSG: + return "No message of desired type"; +-#endif ++# endif + +-#if GNULIB_defined_EIDRM ++# if GNULIB_defined_EIDRM + case EIDRM: + return "Identifier removed"; +-#endif ++# endif + +-#if GNULIB_defined_ENOLINK ++# if GNULIB_defined_ENOLINK + case ENOLINK: + return "Link has been severed"; +-#endif ++# endif + +-#if GNULIB_defined_EPROTO ++# if GNULIB_defined_EPROTO + case EPROTO: + return "Protocol error"; +-#endif ++# endif + +-#if GNULIB_defined_EMULTIHOP ++# if GNULIB_defined_EMULTIHOP + case EMULTIHOP: + return "Multihop attempted"; +-#endif ++# endif + +-#if GNULIB_defined_EBADMSG ++# if GNULIB_defined_EBADMSG + case EBADMSG: + return "Bad message"; +-#endif ++# endif + +-#if GNULIB_defined_EOVERFLOW ++# if GNULIB_defined_EOVERFLOW + case EOVERFLOW: + return "Value too large for defined data type"; +-#endif ++# endif + +-#if GNULIB_defined_ENOTSUP ++# if GNULIB_defined_ENOTSUP + case ENOTSUP: + return "Not supported"; +-#endif ++# endif + +-#if GNULIB_defined_ENETRESET ++# if GNULIB_defined_ENETRESET + case ENETRESET: + return "Network dropped connection on reset"; +-#endif ++# endif + +-#if GNULIB_defined_ECONNABORTED ++# if GNULIB_defined_ECONNABORTED + case ECONNABORTED: + return "Software caused connection abort"; +-#endif ++# endif + +-#if GNULIB_defined_ESTALE ++# if GNULIB_defined_ESTALE + case ESTALE: + return "Stale NFS file handle"; +-#endif ++# endif + +-#if GNULIB_defined_EDQUOT ++# if GNULIB_defined_EDQUOT + case EDQUOT: + return "Disk quota exceeded"; +-#endif ++# endif + +-#if GNULIB_defined_ECANCELED ++# if GNULIB_defined_ECANCELED + case ECANCELED: + return "Operation canceled"; +-#endif ++# endif + +-#if GNULIB_defined_EOWNERDEAD ++# if GNULIB_defined_EOWNERDEAD + case EOWNERDEAD: + return "Owner died"; +-#endif ++# endif + +-#if GNULIB_defined_ENOTRECOVERABLE ++# if GNULIB_defined_ENOTRECOVERABLE + case ENOTRECOVERABLE: + return "State not recoverable"; +-#endif ++# endif + +-#if GNULIB_defined_EILSEQ ++# if GNULIB_defined_EILSEQ + case EILSEQ: + return "Invalid or incomplete multibyte or wide character"; +-#endif ++# endif + + default: + return NULL; + } + } ++ ++#endif +--- a/gnulib/lib/strerror-override.h ++++ b/gnulib/lib/strerror-override.h +@@ -2,17 +2,17 @@ + + Copyright (C) 2010-2021 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 file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser General Public License for more details. + +- You should have received a copy of the GNU General Public License ++ You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + #ifndef _GL_STRERROR_OVERRIDE_H +@@ -51,6 +51,7 @@ + extern const char *strerror_override (int errnum) _GL_ATTRIBUTE_CONST; + # else + # define strerror_override(ignored) NULL ++# define GNULIB_defined_strerror_override_macro 1 + # endif + + #endif /* _GL_STRERROR_OVERRIDE_H */ +--- a/gnulib/lib/strerror.c ++++ b/gnulib/lib/strerror.c +@@ -2,17 +2,17 @@ + + Copyright (C) 2007-2021 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 file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser General Public License for more details. + +- You should have received a copy of the GNU General Public License ++ You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + #include <config.h> +--- a/gnulib/lib/string.in.h ++++ b/gnulib/lib/string.in.h +@@ -2,18 +2,18 @@ + + Copyright (C) 1995-1996, 2001-2021 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, or (at your option) +- any later version. ++ This file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser 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 <https://www.gnu.org/licenses/>. */ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + #if __GNUC__ >= 3 + @PRAGMA_SYSTEM_HEADER@ +@@ -446,7 +446,7 @@ _GL_WARN_ON_USE (strdup, "strdup is unpo + #elif @GNULIB_MDA_STRDUP@ + /* On native Windows, map 'creat' to '_creat', so that -loldnames is not + required. In C++ with GNULIB_NAMESPACE, avoid differences between +- platforms by defining GNULIB_NAMESPACE::creat always. */ ++ platforms by defining GNULIB_NAMESPACE::strdup always. */ + # if defined _WIN32 && !defined __CYGWIN__ + # if !(defined __cplusplus && defined GNULIB_NAMESPACE) + # undef strdup +--- a/gnulib/lib/strings.in.h ++++ b/gnulib/lib/strings.in.h +@@ -2,18 +2,18 @@ + + Copyright (C) 2007-2021 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, or (at your option) +- any later version. ++ This file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser 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 <https://www.gnu.org/licenses/>. */ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + #ifndef _@GUARD_PREFIX@_STRINGS_H + +--- a/gnulib/lib/strncasecmp.c ++++ b/gnulib/lib/strncasecmp.c +@@ -1,18 +1,18 @@ + /* strncasecmp.c -- case insensitive string comparator + Copyright (C) 1998-1999, 2005-2007, 2009-2021 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, or (at your option) +- any later version. ++ This file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser 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 <https://www.gnu.org/licenses/>. */ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + #include <config.h> + +--- a/gnulib/lib/strndup.c ++++ b/gnulib/lib/strndup.c +@@ -3,18 +3,18 @@ + Copyright (C) 1996-1998, 2001-2003, 2005-2007, 2009-2021 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, or (at your option) any +- later version. ++ This file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser 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 <https://www.gnu.org/licenses/>. */ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + #include <config.h> + +--- a/gnulib/lib/strnlen.c ++++ b/gnulib/lib/strnlen.c +@@ -2,18 +2,18 @@ + Copyright (C) 2005-2007, 2009-2021 Free Software Foundation, Inc. + Written by Simon Josefsson. + +- 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, or (at your option) +- any later version. ++ This file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser 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 <https://www.gnu.org/licenses/>. */ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + #include <config.h> + +--- a/gnulib/lib/strnlen1.c ++++ b/gnulib/lib/strnlen1.c +@@ -1,17 +1,17 @@ + /* Find the length of STRING + 1, but scan at most MAXLEN bytes. + Copyright (C) 2005-2006, 2009-2021 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 file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser General Public License for more details. + +- You should have received a copy of the GNU General Public License ++ You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + #include <config.h> +--- a/gnulib/lib/strnlen1.h ++++ b/gnulib/lib/strnlen1.h +@@ -1,17 +1,17 @@ + /* Find the length of STRING + 1, but scan at most MAXLEN bytes. + Copyright (C) 2005, 2009-2021 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 file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser General Public License for more details. + +- You should have received a copy of the GNU General Public License ++ You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + #ifndef _STRNLEN1_H +--- a/gnulib/lib/strstr.c ++++ b/gnulib/lib/strstr.c +@@ -2,18 +2,18 @@ + Foundation, Inc. + This file is part of the GNU C Library. + +- 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, or (at your option) +- any later version. ++ This file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser 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 <https://www.gnu.org/licenses/>. */ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + /* This particular implementation was written by Eric Blake, 2008. */ + +--- a/gnulib/lib/sys_stat.in.h ++++ b/gnulib/lib/sys_stat.in.h +@@ -1,18 +1,18 @@ + /* Provide a more complete sys/stat.h header file. + Copyright (C) 2005-2021 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, or (at your option) +- any later version. ++ This file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser 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 <https://www.gnu.org/licenses/>. */ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + /* Written by Eric Blake, Paul Eggert, and Jim Meyering. */ + +--- a/gnulib/lib/sys_types.in.h ++++ b/gnulib/lib/sys_types.in.h +@@ -2,18 +2,18 @@ + + Copyright (C) 2011-2021 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, or (at your option) +- any later version. ++ This file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser 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 <https://www.gnu.org/licenses/>. */ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + #if __GNUC__ >= 3 + @PRAGMA_SYSTEM_HEADER@ +--- a/gnulib/lib/time.in.h ++++ b/gnulib/lib/time.in.h +@@ -2,18 +2,18 @@ + + Copyright (C) 2007-2021 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, or (at your option) +- any later version. ++ This file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser 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 <https://www.gnu.org/licenses/>. */ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + #if __GNUC__ >= 3 + @PRAGMA_SYSTEM_HEADER@ +@@ -340,22 +340,60 @@ _GL_CXXALIASWARN (strftime); + # endif + + # if defined _GNU_SOURCE && @GNULIB_TIME_RZ@ && ! @HAVE_TIMEZONE_T@ ++/* Functions that use a first-class time zone data type, instead of ++ relying on an implicit global time zone. ++ Inspired by NetBSD. */ ++ ++/* Represents a time zone. ++ (timezone_t) NULL stands for UTC. */ + typedef struct tm_zone *timezone_t; ++ ++/* tzalloc (name) ++ Returns a time zone object for the given time zone NAME. This object ++ represents the time zone that other functions would use it the TZ ++ environment variable was set to NAME. ++ If NAME is NULL, the result represents the time zone that other functions ++ would use it the TZ environment variable was unset. ++ May return NULL if NAME is invalid (this is platform dependent) or ++ upon memory allocation failure. */ + _GL_FUNCDECL_SYS (tzalloc, timezone_t, (char const *__name)); + _GL_CXXALIAS_SYS (tzalloc, timezone_t, (char const *__name)); ++ ++/* tzfree (tz) ++ Frees a time zone object. ++ The argument must have been returned by tzalloc(). */ + _GL_FUNCDECL_SYS (tzfree, void, (timezone_t __tz)); + _GL_CXXALIAS_SYS (tzfree, void, (timezone_t __tz)); ++ ++/* localtime_rz (tz, &t, &result) ++ Converts an absolute time T to a broken-down time RESULT, assuming the ++ time zone TZ. ++ This function is like 'localtime_r', but relies on the argument TZ instead ++ of an implicit global time zone. */ + _GL_FUNCDECL_SYS (localtime_rz, struct tm *, + (timezone_t __tz, time_t const *restrict __timer, + struct tm *restrict __result) _GL_ARG_NONNULL ((2, 3))); + _GL_CXXALIAS_SYS (localtime_rz, struct tm *, + (timezone_t __tz, time_t const *restrict __timer, + struct tm *restrict __result)); ++ ++/* mktime_z (tz, &tm) ++ Normalizes the broken-down time TM and converts it to an absolute time, ++ assuming the time zone TZ. Returns the absolute time. ++ This function is like 'mktime', but relies on the argument TZ instead ++ of an implicit global time zone. */ + _GL_FUNCDECL_SYS (mktime_z, time_t, +- (timezone_t __tz, struct tm *restrict __result) ++ (timezone_t __tz, struct tm *restrict __tm) + _GL_ARG_NONNULL ((2))); + _GL_CXXALIAS_SYS (mktime_z, time_t, +- (timezone_t __tz, struct tm *restrict __result)); ++ (timezone_t __tz, struct tm *restrict __tm)); ++ ++/* Time zone abbreviation strings (returned by 'localtime_rz' or 'mktime_z' ++ in the 'tm_zone' member of 'struct tm') are valid as long as ++ - the 'struct tm' argument is not destroyed or overwritten, ++ and ++ - the 'timezone_t' argument is not freed through tzfree(). */ ++ + # endif + + /* Convert TM to a time_t value, assuming UTC. */ +--- a/gnulib/lib/unistd.c ++++ b/gnulib/lib/unistd.c +@@ -1,4 +1,22 @@ ++/* Inline functions for <unistd.h>. ++ ++ Copyright (C) 2012-2021 Free Software Foundation, Inc. ++ ++ This file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. ++ ++ This file is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ GNU Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see <https://www.gnu.org/licenses/>. */ ++ + #include <config.h> ++ + #define _GL_UNISTD_INLINE _GL_EXTERN_INLINE + #include "unistd.h" + typedef int dummy; +--- a/gnulib/lib/unistd.in.h ++++ b/gnulib/lib/unistd.in.h +@@ -1,18 +1,18 @@ + /* Substitute for and wrapper around <unistd.h>. + Copyright (C) 2003-2021 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, or (at your option) +- any later version. ++ This file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser 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 <https://www.gnu.org/licenses/>. */ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + #ifndef _@GUARD_PREFIX@_UNISTD_H + +@@ -1521,6 +1521,7 @@ _GL_WARN_ON_USE (group_member, "group_me + # undef isatty + # define isatty rpl_isatty + # endif ++# define GNULIB_defined_isatty 1 + _GL_FUNCDECL_RPL (isatty, int, (int fd)); + _GL_CXXALIAS_RPL (isatty, int, (int fd)); + # elif defined _WIN32 && !defined __CYGWIN__ +@@ -2027,15 +2028,23 @@ _GL_WARN_ON_USE (sleep, "sleep is unport + #if @GNULIB_MDA_SWAB@ + /* On native Windows, map 'swab' to '_swab', so that -loldnames is not + required. In C++ with GNULIB_NAMESPACE, avoid differences between +- platforms by defining GNULIB_NAMESPACE::creat always. */ ++ platforms by defining GNULIB_NAMESPACE::swab always. */ + # if defined _WIN32 && !defined __CYGWIN__ + # if !(defined __cplusplus && defined GNULIB_NAMESPACE) + # undef swab + # define swab _swab + # endif +-_GL_CXXALIAS_MDA (swab, void, (char *from, char *to, int n)); +-# else ++/* Need to cast, because in old mingw the arguments are ++ (const char *from, char *to, size_t n). */ ++_GL_CXXALIAS_MDA_CAST (swab, void, (char *from, char *to, int n)); ++# else ++# if defined __hpux /* HP-UX */ ++_GL_CXXALIAS_SYS (swab, void, (const char *from, char *to, int n)); ++# elif defined __sun && !defined _XPG4 /* Solaris */ ++_GL_CXXALIAS_SYS (swab, void, (const char *from, char *to, ssize_t n)); ++# else + _GL_CXXALIAS_SYS (swab, void, (const void *from, void *to, ssize_t n)); ++# endif + # endif + _GL_CXXALIASWARN (swab); + #endif +--- a/gnulib/lib/unitypes.in.h ++++ b/gnulib/lib/unitypes.in.h +@@ -1,17 +1,17 @@ + /* Elementary types and macros for the GNU UniString library. + Copyright (C) 2002, 2005-2006, 2009-2021 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 file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ 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 General Public License ++ You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + #ifndef _UNITYPES_H +--- a/gnulib/lib/uniwidth.in.h ++++ b/gnulib/lib/uniwidth.in.h +@@ -2,17 +2,17 @@ + Copyright (C) 2001-2002, 2005, 2007, 2009-2021 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 file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ 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 General Public License ++ You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + #ifndef _UNIWIDTH_H +--- a/gnulib/lib/uniwidth/cjk.h ++++ b/gnulib/lib/uniwidth/cjk.h +@@ -2,17 +2,17 @@ + Copyright (C) 2001-2002, 2005-2007, 2009-2021 Free Software Foundation, Inc. + Written by Bruno Haible <bruno@clisp.org>, 2002. + +- 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 file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ 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 General Public License ++ You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + #include "streq.h" +--- a/gnulib/lib/uniwidth/width.c ++++ b/gnulib/lib/uniwidth/width.c +@@ -2,17 +2,17 @@ + Copyright (C) 2001-2002, 2006-2021 Free Software Foundation, Inc. + Written by Bruno Haible <bruno@clisp.org>, 2002. + +- 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 file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ 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 General Public License ++ You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + #include <config.h> +--- a/gnulib/lib/vasnprintf.c ++++ b/gnulib/lib/vasnprintf.c +@@ -1,18 +1,18 @@ + /* vsprintf with automatic memory allocation. + Copyright (C) 1999, 2002-2021 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, or (at your option) +- any later version. ++ This file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser 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 <https://www.gnu.org/licenses/>. */ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + /* This file can be parametrized with the following macros: + VASNPRINTF The name of the function being defined. +@@ -60,9 +60,7 @@ + #ifndef VASNPRINTF + # include <config.h> + #endif +-#ifndef IN_LIBINTL +-# include <alloca.h> +-#endif ++#include <alloca.h> + + /* Specification. */ + #ifndef VASNPRINTF +@@ -1859,6 +1857,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t * + /* errno is already set. */ + return NULL; + ++ /* Frees the memory allocated by this function. Preserves errno. */ + #define CLEANUP() \ + if (d.dir != d.direct_alloc_dir) \ + free (d.dir); \ +@@ -1923,7 +1922,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t * + + /* 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) \ ++#define ENSURE_ALLOCATION_ELSE(needed, oom_statement) \ + if ((needed) > allocated) \ + { \ + size_t memory_size; \ +@@ -1934,17 +1933,19 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t * + allocated = (needed); \ + memory_size = xtimes (allocated, sizeof (DCHAR_T)); \ + if (size_overflow_p (memory_size)) \ +- goto out_of_memory; \ ++ oom_statement \ + 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; \ ++ oom_statement \ + if (result == resultbuf && length > 0) \ + DCHAR_CPY (memory, result, length); \ + result = memory; \ + } ++#define ENSURE_ALLOCATION(needed) \ ++ ENSURE_ALLOCATION_ELSE((needed), goto out_of_memory; ) + + for (cp = format, i = 0, dp = &d.dir[0]; ; cp = dp->dir_end, i++, dp++) + { +@@ -2183,18 +2184,17 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t * + # endif + if (converted == NULL) + { +- 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)); ++ ENSURE_ALLOCATION_ELSE (xsum (length, converted_len), ++ { free (converted); goto out_of_memory; }); + DCHAR_CPY (result + length, converted, converted_len); + free (converted); + } +@@ -2309,18 +2309,17 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t * + # endif + if (converted == NULL) + { +- 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)); ++ ENSURE_ALLOCATION_ELSE (xsum (length, converted_len), ++ { free (converted); goto out_of_memory; }); + DCHAR_CPY (result + length, converted, converted_len); + free (converted); + } +@@ -2435,18 +2434,17 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t * + # endif + if (converted == NULL) + { +- 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)); ++ ENSURE_ALLOCATION_ELSE (xsum (length, converted_len), ++ { free (converted); goto out_of_memory; }); + DCHAR_CPY (result + length, converted, converted_len); + free (converted); + } +@@ -2852,14 +2850,12 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t * + NULL, &tmpdst_len); + if (tmpdst == NULL) + { +- int saved_errno = errno; + free (tmpsrc); + if (!(result == resultbuf || result == NULL)) + free (result); + if (buf_malloced != NULL) + free (buf_malloced); + CLEANUP (); +- errno = saved_errno; + return NULL; + } + free (tmpsrc); +@@ -2951,7 +2947,8 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t * + } + } + # else +- ENSURE_ALLOCATION (xsum (length, tmpdst_len)); ++ ENSURE_ALLOCATION_ELSE (xsum (length, tmpdst_len), ++ { free (tmpdst); goto out_of_memory; }); + DCHAR_CPY (result + length, tmpdst, tmpdst_len); + free (tmpdst); + length += tmpdst_len; +@@ -3079,13 +3076,11 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t * + NULL, &tmpdst_len); + if (tmpdst == NULL) + { +- int saved_errno = errno; + if (!(result == resultbuf || result == NULL)) + free (result); + if (buf_malloced != NULL) + free (buf_malloced); + CLEANUP (); +- errno = saved_errno; + return NULL; + } + # endif +@@ -3156,7 +3151,8 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t * + } + } + # else +- ENSURE_ALLOCATION (xsum (length, tmpdst_len)); ++ ENSURE_ALLOCATION_ELSE (xsum (length, tmpdst_len), ++ { free (tmpdst); goto out_of_memory; }); + DCHAR_CPY (result + length, tmpdst, tmpdst_len); + free (tmpdst); + length += tmpdst_len; +@@ -5449,15 +5445,14 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t * + /* Attempt to handle failure. */ + if (count < 0) + { +- /* SNPRINTF or sprintf failed. Save and use the errno +- that it has set, if any. */ +- int saved_errno = errno; +- if (saved_errno == 0) ++ /* SNPRINTF or sprintf failed. Use the errno that it ++ has set, if any. */ ++ if (errno == 0) + { + if (dp->conversion == 'c' || dp->conversion == 's') +- saved_errno = EILSEQ; ++ errno = EILSEQ; + else +- saved_errno = EINVAL; ++ errno = EINVAL; + } + + if (!(result == resultbuf || result == NULL)) +@@ -5466,7 +5461,6 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t * + free (buf_malloced); + CLEANUP (); + +- errno = saved_errno; + return NULL; + } + +@@ -5602,16 +5596,15 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t * + NULL, &tmpdst_len); + if (tmpdst == NULL) + { +- 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)); ++ ENSURE_ALLOCATION_ELSE (xsum (length, tmpdst_len), ++ { free (tmpdst); goto out_of_memory; }); + DCHAR_CPY (result + length, tmpdst, tmpdst_len); + free (tmpdst); + count = tmpdst_len; +--- a/gnulib/lib/vasnprintf.h ++++ b/gnulib/lib/vasnprintf.h +@@ -1,18 +1,18 @@ + /* vsprintf with automatic memory allocation. + Copyright (C) 2002-2004, 2007-2021 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, or (at your option) +- any later version. ++ This file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser 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 <https://www.gnu.org/licenses/>. */ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + #ifndef _VASNPRINTF_H + #define _VASNPRINTF_H +--- a/gnulib/lib/vasprintf.c ++++ b/gnulib/lib/vasprintf.c +@@ -1,18 +1,18 @@ + /* Formatted output to strings. + Copyright (C) 1999, 2002, 2006-2021 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, or (at your option) +- any later version. ++ This file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser 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 <https://www.gnu.org/licenses/>. */ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + #include <config.h> + +--- a/gnulib/lib/verify.h ++++ b/gnulib/lib/verify.h +@@ -2,17 +2,17 @@ + + Copyright (C) 2005-2006, 2009-2021 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 file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser General Public License for more details. + +- You should have received a copy of the GNU General Public License ++ You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + /* Written by Paul Eggert, Bruno Haible, and Jim Meyering. */ +--- a/gnulib/lib/warn-on-use.h ++++ b/gnulib/lib/warn-on-use.h +@@ -2,16 +2,16 @@ + Copyright (C) 2010-2021 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 ++ under the terms of the GNU Lesser General Public License as published ++ by the Free Software Foundation; either version 2 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. ++ Lesser General Public License for more details. + +- You should have received a copy of the GNU General Public License ++ You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + /* _GL_WARN_ON_USE (function, "literal string") issues a declaration +--- a/gnulib/lib/wchar.in.h ++++ b/gnulib/lib/wchar.in.h +@@ -2,18 +2,18 @@ + + Copyright (C) 2007-2021 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, or (at your option) +- any later version. ++ This file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser 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 <https://www.gnu.org/licenses/>. */ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + /* Written by Eric Blake. */ + +@@ -111,7 +111,7 @@ + /* mingw and MSVC define wint_t as 'unsigned short' in <crtdefs.h> or + <stddef.h>. This is too small: ISO C 99 section 7.24.1.(2) says that + wint_t must be "unchanged by default argument promotions". Override it. */ +-# if @GNULIB_OVERRIDES_WINT_T@ ++# if @GNULIBHEADERS_OVERRIDE_WINT_T@ + # if !GNULIB_defined_wint_t + # if @HAVE_CRTDEFS_H@ + # include <crtdefs.h> +--- a/gnulib/lib/wcrtomb.c ++++ b/gnulib/lib/wcrtomb.c +@@ -2,17 +2,17 @@ + Copyright (C) 2008-2021 Free Software Foundation, Inc. + Written by Bruno Haible <bruno@clisp.org>, 2008. + +- 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 file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser General Public License for more details. + +- You should have received a copy of the GNU General Public License ++ You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + #include <config.h> +--- a/gnulib/lib/wctype-h.c ++++ b/gnulib/lib/wctype-h.c +@@ -1,4 +1,23 @@ ++/* Inline functions for <wctype.h>. ++ ++ Copyright (C) 2012-2021 Free Software Foundation, Inc. ++ ++ This file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. ++ ++ This file is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ GNU Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see <https://www.gnu.org/licenses/>. */ ++ + /* Normally this would be wctype.c, but that name's already taken. */ ++ + #include <config.h> ++ + #define _GL_WCTYPE_INLINE _GL_EXTERN_INLINE + #include "wctype.h" +--- a/gnulib/lib/wctype.in.h ++++ b/gnulib/lib/wctype.in.h +@@ -2,18 +2,18 @@ + + Copyright (C) 2006-2021 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, or (at your option) +- any later version. ++ This file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser 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 <https://www.gnu.org/licenses/>. */ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + /* Written by Bruno Haible and Paul Eggert. */ + +@@ -103,7 +103,7 @@ _GL_INLINE_HEADER_BEGIN + /* mingw and MSVC define wint_t as 'unsigned short' in <crtdefs.h> or + <stddef.h>. This is too small: ISO C 99 section 7.24.1.(2) says that + wint_t must be "unchanged by default argument promotions". Override it. */ +-# if @GNULIB_OVERRIDES_WINT_T@ ++# if @GNULIBHEADERS_OVERRIDE_WINT_T@ + # if !GNULIB_defined_wint_t + # if @HAVE_CRTDEFS_H@ + # include <crtdefs.h> +@@ -132,7 +132,7 @@ typedef unsigned int rpl_wint_t; + same way, or not at all. */ + # if ! @HAVE_ISWCNTRL@ || @REPLACE_ISWCNTRL@ + +-# if @GNULIB_OVERRIDES_WINT_T@ /* implies @REPLACE_ISWCNTRL@ */ ++# if @GNULIBHEADERS_OVERRIDE_WINT_T@ /* implies @REPLACE_ISWCNTRL@ */ + + _GL_WCTYPE_INLINE int + rpl_iswalnum (wint_t wc) +@@ -496,7 +496,7 @@ _GL_FUNCDECL_RPL (iswxdigit, int, (wint_ + + # endif + +-# if defined __MINGW32__ && !@GNULIB_OVERRIDES_WINT_T@ ++# if defined __MINGW32__ && !@GNULIBHEADERS_OVERRIDE_WINT_T@ + + /* On native Windows, wchar_t is uint16_t, and wint_t is uint32_t. + The functions towlower and towupper are implemented in the MSVCRT library +@@ -529,7 +529,7 @@ rpl_towupper (wint_t wc) + # define towupper rpl_towupper + # endif + +-# endif /* __MINGW32__ && !@GNULIB_OVERRIDES_WINT_T@ */ ++# endif /* __MINGW32__ && !@GNULIBHEADERS_OVERRIDE_WINT_T@ */ + + # define GNULIB_defined_wctype_functions 1 + #endif +@@ -646,7 +646,7 @@ _GL_WARN_ON_USE (wctype, "wctype is unpo + The argument WC must be either a wchar_t value or WEOF. + The argument DESC must have been returned by the wctype() function. */ + #if @GNULIB_ISWCTYPE@ +-# if @GNULIB_OVERRIDES_WINT_T@ ++# if @GNULIBHEADERS_OVERRIDE_WINT_T@ + # if !(defined __cplusplus && defined GNULIB_NAMESPACE) + # undef iswctype + # define iswctype rpl_iswctype +--- a/gnulib/lib/wcwidth.c ++++ b/gnulib/lib/wcwidth.c +@@ -1,17 +1,17 @@ + /* Determine the number of screen columns needed for a character. + Copyright (C) 2006-2007, 2010-2021 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 file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser General Public License for more details. + +- You should have received a copy of the GNU General Public License ++ You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + #include <config.h> +--- a/gnulib/lib/windows-initguard.h ++++ b/gnulib/lib/windows-initguard.h +@@ -1,18 +1,18 @@ + /* Init guards, somewhat like spinlocks (native Windows implementation). + Copyright (C) 2005-2021 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, or (at your option) +- any later version. ++ This file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser 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 <https://www.gnu.org/licenses/>. */ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + /* Written by Bruno Haible <bruno@clisp.org>, 2005. + Based on GCC's gthr-win32.h. */ +--- a/gnulib/lib/windows-mutex.c ++++ b/gnulib/lib/windows-mutex.c +@@ -1,18 +1,18 @@ + /* Plain mutexes (native Windows implementation). + Copyright (C) 2005-2021 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, or (at your option) +- any later version. ++ This file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser 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 <https://www.gnu.org/licenses/>. */ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + /* Written by Bruno Haible <bruno@clisp.org>, 2005. + Based on GCC's gthr-win32.h. */ +--- a/gnulib/lib/windows-mutex.h ++++ b/gnulib/lib/windows-mutex.h +@@ -1,18 +1,18 @@ + /* Plain mutexes (native Windows implementation). + Copyright (C) 2005-2021 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, or (at your option) +- any later version. ++ This file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser 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 <https://www.gnu.org/licenses/>. */ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + /* Written by Bruno Haible <bruno@clisp.org>, 2005. + Based on GCC's gthr-win32.h. */ +--- a/gnulib/lib/windows-once.c ++++ b/gnulib/lib/windows-once.c +@@ -1,18 +1,18 @@ + /* Once-only control (native Windows implementation). + Copyright (C) 2005-2021 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, or (at your option) +- any later version. ++ This file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser 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 <https://www.gnu.org/licenses/>. */ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + /* Written by Bruno Haible <bruno@clisp.org>, 2005. + Based on GCC's gthr-win32.h. */ +--- a/gnulib/lib/windows-once.h ++++ b/gnulib/lib/windows-once.h +@@ -1,18 +1,18 @@ + /* Once-only control (native Windows implementation). + Copyright (C) 2005-2021 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, or (at your option) +- any later version. ++ This file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser 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 <https://www.gnu.org/licenses/>. */ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + /* Written by Bruno Haible <bruno@clisp.org>, 2005. + Based on GCC's gthr-win32.h. */ +--- a/gnulib/lib/windows-recmutex.c ++++ b/gnulib/lib/windows-recmutex.c +@@ -1,18 +1,18 @@ + /* Plain recursive mutexes (native Windows implementation). + Copyright (C) 2005-2021 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, or (at your option) +- any later version. ++ This file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser 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 <https://www.gnu.org/licenses/>. */ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + /* Written by Bruno Haible <bruno@clisp.org>, 2005. + Based on GCC's gthr-win32.h. */ +--- a/gnulib/lib/windows-recmutex.h ++++ b/gnulib/lib/windows-recmutex.h +@@ -1,18 +1,18 @@ + /* Plain recursive mutexes (native Windows implementation). + Copyright (C) 2005-2021 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, or (at your option) +- any later version. ++ This file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser 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 <https://www.gnu.org/licenses/>. */ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + /* Written by Bruno Haible <bruno@clisp.org>, 2005. + Based on GCC's gthr-win32.h. */ +--- a/gnulib/lib/windows-rwlock.c ++++ b/gnulib/lib/windows-rwlock.c +@@ -1,18 +1,18 @@ + /* Read-write locks (native Windows implementation). + Copyright (C) 2005-2021 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, or (at your option) +- any later version. ++ This file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser 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 <https://www.gnu.org/licenses/>. */ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + /* Written by Bruno Haible <bruno@clisp.org>, 2005. + Based on GCC's gthr-win32.h. */ +--- a/gnulib/lib/windows-rwlock.h ++++ b/gnulib/lib/windows-rwlock.h +@@ -1,18 +1,18 @@ + /* Read-write locks (native Windows implementation). + Copyright (C) 2005-2021 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, or (at your option) +- any later version. ++ This file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser 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 <https://www.gnu.org/licenses/>. */ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + /* Written by Bruno Haible <bruno@clisp.org>, 2005. + Based on GCC's gthr-win32.h. */ +--- a/gnulib/lib/xalloc-oversized.h ++++ b/gnulib/lib/xalloc-oversized.h +@@ -2,17 +2,17 @@ + + Copyright (C) 1990-2000, 2003-2004, 2006-2021 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 file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser General Public License for more details. + +- You should have received a copy of the GNU General Public License ++ You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + #ifndef XALLOC_OVERSIZED_H_ +@@ -21,34 +21,39 @@ + #include <stddef.h> + #include <stdint.h> + +-/* True if N * S would overflow in a size_t calculation, +- or would generate a value larger than PTRDIFF_MAX. ++/* True if N * S does not fit into both ptrdiff_t and size_t. ++ N and S should be nonnegative and free of side effects. + This expands to a constant expression if N and S are both constants. +- By gnulib convention, SIZE_MAX represents overflow in size ++ By gnulib convention, SIZE_MAX represents overflow in size_t + calculations, so the conservative size_t-based dividend to use here + is SIZE_MAX - 1. */ + #define __xalloc_oversized(n, s) \ +- ((size_t) (PTRDIFF_MAX < SIZE_MAX ? PTRDIFF_MAX : SIZE_MAX - 1) / (s) < (n)) +- +-#if PTRDIFF_MAX < SIZE_MAX +-typedef ptrdiff_t __xalloc_count_type; +-#else +-typedef size_t __xalloc_count_type; +-#endif +- +-/* Return 1 if an array of N objects, each of size S, cannot exist +- reliably due to size or ptrdiff_t arithmetic overflow. S must be +- positive and N must be nonnegative. This is a macro, not a +- function, so that it works correctly even when SIZE_MAX < N. */ +- +-#if 7 <= __GNUC__ && !defined __clang__ ++ ((s) != 0 \ ++ && ((size_t) (PTRDIFF_MAX < SIZE_MAX ? PTRDIFF_MAX : SIZE_MAX - 1) / (s) \ ++ < (n))) ++ ++/* Return 1 if and only if an array of N objects, each of size S, ++ cannot exist reliably because its total size in bytes would exceed ++ MIN (PTRDIFF_MAX, SIZE_MAX - 1). ++ ++ N and S should be nonnegative and free of side effects. ++ ++ Warning: (xalloc_oversized (N, S) ? NULL : malloc (N * S)) can ++ misbehave if N and S are both narrower than ptrdiff_t and size_t, ++ and can be rewritten as (xalloc_oversized (N, S) ? NULL ++ : malloc (N * (size_t) S)). ++ ++ This is a macro, not a function, so that it works even if an ++ argument exceeds MAX (PTRDIFF_MAX, SIZE_MAX). */ ++#if 7 <= __GNUC__ && !defined __clang__ && PTRDIFF_MAX < SIZE_MAX + # define xalloc_oversized(n, s) \ +- __builtin_mul_overflow_p (n, s, (__xalloc_count_type) 1) +-#elif 5 <= __GNUC__ && !defined __ICC && !__STRICT_ANSI__ ++ __builtin_mul_overflow_p (n, s, (ptrdiff_t) 1) ++#elif (5 <= __GNUC__ && !defined __ICC && !__STRICT_ANSI__ \ ++ && PTRDIFF_MAX < SIZE_MAX) + # define xalloc_oversized(n, s) \ + (__builtin_constant_p (n) && __builtin_constant_p (s) \ + ? __xalloc_oversized (n, s) \ +- : ({ __xalloc_count_type __xalloc_count; \ ++ : ({ ptrdiff_t __xalloc_count; \ + __builtin_mul_overflow (n, s, &__xalloc_count); })) + + /* Other compilers use integer division; this may be slower but is +--- a/gnulib/lib/xalloc.h ++++ b/gnulib/lib/xalloc.h +@@ -21,7 +21,10 @@ + #include <stddef.h> + #include <stdint.h> + +-#include "xalloc-oversized.h" ++#if GNULIB_XALLOC ++# include "idx.h" ++# include "intprops.h" ++#endif + + #ifndef _GL_INLINE_HEADER_BEGIN + #error "Please include config.h first." +@@ -50,17 +53,26 @@ extern "C" { + + #if GNULIB_XALLOC + +-void *xmalloc (size_t s) +- _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_ALLOC_SIZE ((1)); +-void *xzalloc (size_t s) +- _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_ALLOC_SIZE ((1)); ++void *xmalloc (size_t s) _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_ALLOC_SIZE ((1)); ++void *ximalloc (idx_t s) _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_ALLOC_SIZE ((1)); ++void *xzalloc (size_t s) _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_ALLOC_SIZE ((1)); ++void *xizalloc (idx_t s) _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_ALLOC_SIZE ((1)); + void *xcalloc (size_t n, size_t s) +- _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_ALLOC_SIZE ((1, 2)); +-void *xrealloc (void *p, size_t s) +- _GL_ATTRIBUTE_ALLOC_SIZE ((2)); +-void *x2realloc (void *p, size_t *pn); +-void *xmemdup (void const *p, size_t s) +- _GL_ATTRIBUTE_ALLOC_SIZE ((2)); ++ _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_ALLOC_SIZE ((1, 2)); ++void *xicalloc (idx_t n, idx_t s) ++ _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_ALLOC_SIZE ((1, 2)); ++void *xrealloc (void *p, size_t s) _GL_ATTRIBUTE_ALLOC_SIZE ((2)); ++void *xirealloc (void *p, idx_t s) _GL_ATTRIBUTE_ALLOC_SIZE ((2)); ++void *xreallocarray (void *p, size_t n, size_t s) ++ _GL_ATTRIBUTE_ALLOC_SIZE ((2, 3)); ++void *xireallocarray (void *p, idx_t n, idx_t s) ++ _GL_ATTRIBUTE_ALLOC_SIZE ((2, 3)); ++void *x2realloc (void *p, size_t *ps); /* superseded by xpalloc */ ++void *x2nrealloc (void *p, size_t *pn, size_t s); /* superseded by xpalloc */ ++void *xpalloc (void *pa, idx_t *pn, idx_t n_incr_min, ptrdiff_t n_max, idx_t s); ++void *xmemdup (void const *p, size_t s) _GL_ATTRIBUTE_ALLOC_SIZE ((2)); ++void *ximemdup (void const *p, idx_t s) _GL_ATTRIBUTE_ALLOC_SIZE ((2)); ++char *ximemdup0 (void const *p, idx_t s) _GL_ATTRIBUTE_MALLOC; + char *xstrdup (char const *str) + _GL_ATTRIBUTE_MALLOC; + +@@ -98,11 +110,10 @@ XALLOC_INLINE void *xnmalloc (size_t n, + XALLOC_INLINE void * + xnmalloc (size_t n, size_t s) + { +- if (xalloc_oversized (n, s)) +- xalloc_die (); +- return xmalloc (n * s); ++ return xreallocarray (NULL, n, s); + } + ++/* FIXME: Deprecate this in favor of xreallocarray? */ + /* Change the size of an allocated block of memory P to an array of N + objects each of S bytes, with error checking. S must be nonzero. */ + +@@ -111,100 +122,7 @@ XALLOC_INLINE void *xnrealloc (void *p, + XALLOC_INLINE void * + xnrealloc (void *p, size_t n, size_t s) + { +- if (xalloc_oversized (n, s)) +- xalloc_die (); +- return xrealloc (p, n * s); +-} +- +-/* If P is null, allocate a block of at least *PN such objects; +- otherwise, reallocate P so that it contains more than *PN objects +- each of S bytes. S must be nonzero. Set *PN to the new number of +- objects, and return the pointer to the new block. *PN is never set +- to zero, and the returned pointer is never null. +- +- Repeated reallocations are guaranteed to make progress, either by +- allocating an initial block with a nonzero size, or by allocating a +- larger block. +- +- In the following implementation, nonzero sizes are increased by a +- factor of approximately 1.5 so that repeated reallocations have +- O(N) overall cost rather than O(N**2) cost, but the +- specification for this function does not guarantee that rate. +- +- Here is an example of use: +- +- int *p = NULL; +- size_t used = 0; +- size_t allocated = 0; +- +- void +- append_int (int value) +- { +- if (used == allocated) +- p = x2nrealloc (p, &allocated, sizeof *p); +- p[used++] = value; +- } +- +- This causes x2nrealloc to allocate a block of some nonzero size the +- first time it is called. +- +- To have finer-grained control over the initial size, set *PN to a +- nonzero value before calling this function with P == NULL. For +- example: +- +- int *p = NULL; +- size_t used = 0; +- size_t allocated = 0; +- size_t allocated1 = 1000; +- +- void +- append_int (int value) +- { +- if (used == allocated) +- { +- p = x2nrealloc (p, &allocated1, sizeof *p); +- allocated = allocated1; +- } +- p[used++] = value; +- } +- +- */ +- +-XALLOC_INLINE void * +-x2nrealloc (void *p, size_t *pn, size_t s) +-{ +- size_t n = *pn; +- +- if (! p) +- { +- if (! n) +- { +- /* The approximate size to use for initial small allocation +- requests, when the invoking code specifies an old size of +- zero. This is the largest "small" request for the GNU C +- library malloc. */ +- enum { DEFAULT_MXFAST = 64 * sizeof (size_t) / 4 }; +- +- n = DEFAULT_MXFAST / s; +- n += !n; +- } +- if (xalloc_oversized (n, s)) +- xalloc_die (); +- } +- else +- { +- /* Set N = floor (1.5 * N) + 1 so that progress is made even if N == 0. +- Check for overflow, so that N * S stays in both ptrdiff_t and +- size_t range. The check may be slightly conservative, but an +- exact check isn't worth the trouble. */ +- if ((PTRDIFF_MAX < SIZE_MAX ? PTRDIFF_MAX : SIZE_MAX) / 3 * 2 / s +- <= n) +- xalloc_die (); +- n += n / 2 + 1; +- } +- +- *pn = n; +- return xrealloc (p, n * s); ++ return xreallocarray (p, n, s); + } + + /* Return a pointer to a new buffer of N bytes. This is like xmalloc, +@@ -239,9 +157,16 @@ xrealloc (T *p, size_t s) + } + + template <typename T> inline T * ++xreallocarray (T *p, size_t n, size_t s) ++{ ++ return (T *) xreallocarray ((void *) p, n, s); ++} ++ ++/* FIXME: Deprecate this in favor of xreallocarray? */ ++template <typename T> inline T * + xnrealloc (T *p, size_t n, size_t s) + { +- return (T *) xnrealloc ((void *) p, n, s); ++ return xreallocarray (p, n, s); + } + + template <typename T> inline T * +--- a/gnulib/lib/xmalloc.c ++++ b/gnulib/lib/xmalloc.c +@@ -21,80 +21,250 @@ + + #include "xalloc.h" + ++#include "ialloc.h" ++#include "intprops.h" ++#include "minmax.h" ++ + #include <stdlib.h> + #include <string.h> + +-/* 1 if calloc, malloc and realloc are known to be compatible with GNU. +- This matters if we are not also using the calloc-gnu, malloc-gnu +- and realloc-gnu modules, which define HAVE_CALLOC_GNU, +- HAVE_MALLOC_GNU and HAVE_REALLOC_GNU and support the GNU API even +- on non-GNU platforms. */ +-#if defined HAVE_CALLOC_GNU || (defined __GLIBC__ && !defined __UCLIBC__) +-enum { HAVE_GNU_CALLOC = 1 }; +-#else +-enum { HAVE_GNU_CALLOC = 0 }; +-#endif +-#if defined HAVE_MALLOC_GNU || (defined __GLIBC__ && !defined __UCLIBC__) +-enum { HAVE_GNU_MALLOC = 1 }; +-#else +-enum { HAVE_GNU_MALLOC = 0 }; +-#endif +-#if defined HAVE_REALLOC_GNU || (defined __GLIBC__ && !defined __UCLIBC__) +-enum { HAVE_GNU_REALLOC = 1 }; +-#else +-enum { HAVE_GNU_REALLOC = 0 }; +-#endif ++static void * _GL_ATTRIBUTE_PURE ++nonnull (void *p) ++{ ++ if (!p) ++ xalloc_die (); ++ return p; ++} + +-/* Allocate N bytes of memory dynamically, with error checking. */ ++/* Allocate S bytes of memory dynamically, with error checking. */ + + void * +-xmalloc (size_t n) ++xmalloc (size_t s) + { +- void *p = malloc (n); +- if (!p && (HAVE_GNU_MALLOC || n)) +- xalloc_die (); +- return p; ++ return nonnull (malloc (s)); ++} ++ ++void * ++ximalloc (idx_t s) ++{ ++ return nonnull (imalloc (s)); + } + +-/* Change the size of an allocated block of memory P to N bytes, ++/* Change the size of an allocated block of memory P to S bytes, + with error checking. */ + + void * +-xrealloc (void *p, size_t n) ++xrealloc (void *p, size_t s) + { +- if (!HAVE_GNU_REALLOC && !n && p) +- { +- /* The GNU and C99 realloc behaviors disagree here. Act like GNU. */ +- free (p); +- return NULL; +- } ++ void *r = realloc (p, s); ++ if (!r && (!p || s)) ++ xalloc_die (); ++ return r; ++} ++ ++void * ++xirealloc (void *p, idx_t s) ++{ ++ return nonnull (irealloc (p, s)); ++} ++ ++/* Change the size of an allocated block of memory P to an array of N ++ objects each of S bytes, with error checking. */ + +- void *r = realloc (p, n); +- if (!r && (n || (HAVE_GNU_REALLOC && !p))) ++void * ++xreallocarray (void *p, size_t n, size_t s) ++{ ++ void *r = reallocarray (p, n, s); ++ if (!r && (!p || (n && s))) + xalloc_die (); + return r; + } + +-/* If P is null, allocate a block of at least *PN bytes; otherwise, +- reallocate P so that it contains more than *PN bytes. *PN must be +- nonzero unless P is null. Set *PN to the new block's size, and +- return the pointer to the new block. *PN is never set to zero, and ++void * ++xireallocarray (void *p, idx_t n, idx_t s) ++{ ++ return nonnull (ireallocarray (p, n, s)); ++} ++ ++/* If P is null, allocate a block of at least *PS bytes; otherwise, ++ reallocate P so that it contains more than *PS bytes. *PS must be ++ nonzero unless P is null. Set *PS to the new block's size, and ++ return the pointer to the new block. *PS is never set to zero, and + the returned pointer is never null. */ + + void * +-x2realloc (void *p, size_t *pn) ++x2realloc (void *p, size_t *ps) ++{ ++ return x2nrealloc (p, ps, 1); ++} ++ ++/* If P is null, allocate a block of at least *PN such objects; ++ otherwise, reallocate P so that it contains more than *PN objects ++ each of S bytes. S must be nonzero. Set *PN to the new number of ++ objects, and return the pointer to the new block. *PN is never set ++ to zero, and the returned pointer is never null. ++ ++ Repeated reallocations are guaranteed to make progress, either by ++ allocating an initial block with a nonzero size, or by allocating a ++ larger block. ++ ++ In the following implementation, nonzero sizes are increased by a ++ factor of approximately 1.5 so that repeated reallocations have ++ O(N) overall cost rather than O(N**2) cost, but the ++ specification for this function does not guarantee that rate. ++ ++ Here is an example of use: ++ ++ int *p = NULL; ++ size_t used = 0; ++ size_t allocated = 0; ++ ++ void ++ append_int (int value) ++ { ++ if (used == allocated) ++ p = x2nrealloc (p, &allocated, sizeof *p); ++ p[used++] = value; ++ } ++ ++ This causes x2nrealloc to allocate a block of some nonzero size the ++ first time it is called. ++ ++ To have finer-grained control over the initial size, set *PN to a ++ nonzero value before calling this function with P == NULL. For ++ example: ++ ++ int *p = NULL; ++ size_t used = 0; ++ size_t allocated = 0; ++ size_t allocated1 = 1000; ++ ++ void ++ append_int (int value) ++ { ++ if (used == allocated) ++ { ++ p = x2nrealloc (p, &allocated1, sizeof *p); ++ allocated = allocated1; ++ } ++ p[used++] = value; ++ } ++ ++ */ ++ ++void * ++x2nrealloc (void *p, size_t *pn, size_t s) + { +- return x2nrealloc (p, pn, 1); ++ size_t n = *pn; ++ ++ if (! p) ++ { ++ if (! n) ++ { ++ /* The approximate size to use for initial small allocation ++ requests, when the invoking code specifies an old size of ++ zero. This is the largest "small" request for the GNU C ++ library malloc. */ ++ enum { DEFAULT_MXFAST = 64 * sizeof (size_t) / 4 }; ++ ++ n = DEFAULT_MXFAST / s; ++ n += !n; ++ } ++ } ++ else ++ { ++ /* Set N = floor (1.5 * N) + 1 to make progress even if N == 0. */ ++ if (INT_ADD_WRAPV (n, (n >> 1) + 1, &n)) ++ xalloc_die (); ++ } ++ ++ p = xreallocarray (p, n, s); ++ *pn = n; ++ return p; + } + +-/* Allocate N bytes of zeroed memory dynamically, with error checking. ++/* Grow PA, which points to an array of *PN items, and return the ++ location of the reallocated array, updating *PN to reflect its ++ new size. The new array will contain at least N_INCR_MIN more ++ items, but will not contain more than N_MAX items total. ++ S is the size of each item, in bytes. ++ ++ S and N_INCR_MIN must be positive. *PN must be ++ nonnegative. If N_MAX is -1, it is treated as if it were ++ infinity. ++ ++ If PA is null, then allocate a new array instead of reallocating ++ the old one. ++ ++ Thus, to grow an array A without saving its old contents, do ++ { free (A); A = xpalloc (NULL, &AITEMS, ...); }. */ ++ ++void * ++xpalloc (void *pa, idx_t *pn, idx_t n_incr_min, ptrdiff_t n_max, idx_t s) ++{ ++ idx_t n0 = *pn; ++ ++ /* The approximate size to use for initial small allocation ++ requests. This is the largest "small" request for the GNU C ++ library malloc. */ ++ enum { DEFAULT_MXFAST = 64 * sizeof (size_t) / 4 }; ++ ++ /* If the array is tiny, grow it to about (but no greater than) ++ DEFAULT_MXFAST bytes. Otherwise, grow it by about 50%. ++ Adjust the growth according to three constraints: N_INCR_MIN, ++ N_MAX, and what the C language can represent safely. */ ++ ++ idx_t n; ++ if (INT_ADD_WRAPV (n0, n0 >> 1, &n)) ++ n = IDX_MAX; ++ if (0 <= n_max && n_max < n) ++ n = n_max; ++ ++ /* NBYTES is of a type suitable for holding the count of bytes in an object. ++ This is typically idx_t, but it should be size_t on (theoretical?) ++ platforms where SIZE_MAX < IDX_MAX so xpalloc does not pass ++ values greater than SIZE_MAX to xrealloc. */ ++#if IDX_MAX <= SIZE_MAX ++ idx_t nbytes; ++#else ++ size_t nbytes; ++#endif ++ idx_t adjusted_nbytes ++ = (INT_MULTIPLY_WRAPV (n, s, &nbytes) ++ ? MIN (IDX_MAX, SIZE_MAX) ++ : nbytes < DEFAULT_MXFAST ? DEFAULT_MXFAST : 0); ++ if (adjusted_nbytes) ++ { ++ n = adjusted_nbytes / s; ++ nbytes = adjusted_nbytes - adjusted_nbytes % s; ++ } ++ ++ if (! pa) ++ *pn = 0; ++ if (n - n0 < n_incr_min ++ && (INT_ADD_WRAPV (n0, n_incr_min, &n) ++ || (0 <= n_max && n_max < n) ++ || INT_MULTIPLY_WRAPV (n, s, &nbytes))) ++ xalloc_die (); ++ pa = xrealloc (pa, nbytes); ++ *pn = n; ++ return pa; ++} ++ ++/* Allocate S bytes of zeroed memory dynamically, with error checking. + There's no need for xnzalloc (N, S), since it would be equivalent + to xcalloc (N, S). */ + + void * +-xzalloc (size_t n) ++xzalloc (size_t s) ++{ ++ return xcalloc (s, 1); ++} ++ ++void * ++xizalloc (idx_t s) + { +- return xcalloc (n, 1); ++ return xicalloc (s, 1); + } + + /* Allocate zeroed memory for N elements of S bytes, with error +@@ -103,15 +273,13 @@ xzalloc (size_t n) + void * + xcalloc (size_t n, size_t s) + { +- void *p; +- /* Test for overflow, since objects with size greater than +- PTRDIFF_MAX cause pointer subtraction to go awry. Omit size-zero +- tests if HAVE_GNU_CALLOC, since GNU calloc never returns NULL if +- successful. */ +- if (xalloc_oversized (n, s) +- || (! (p = calloc (n, s)) && (HAVE_GNU_CALLOC || n != 0))) +- xalloc_die (); +- return p; ++ return nonnull (calloc (n, s)); ++} ++ ++void * ++xicalloc (idx_t n, idx_t s) ++{ ++ return nonnull (icalloc (n, s)); + } + + /* Clone an object P of size S, with error checking. There's no need +@@ -124,6 +292,23 @@ xmemdup (void const *p, size_t s) + return memcpy (xmalloc (s), p, s); + } + ++void * ++ximemdup (void const *p, idx_t s) ++{ ++ return memcpy (ximalloc (s), p, s); ++} ++ ++/* Clone an object P of size S, with error checking. Append ++ a terminating NUL byte. */ ++ ++char * ++ximemdup0 (void const *p, idx_t s) ++{ ++ char *result = ximalloc (s + 1); ++ result[s] = 0; ++ return memcpy (result, p, s); ++} ++ + /* Clone STRING. */ + + char * +--- a/gnulib/lib/xsize.c ++++ b/gnulib/lib/xsize.c +@@ -1,3 +1,21 @@ ++/* Checked size_t computations. ++ ++ Copyright (C) 2012-2021 Free Software Foundation, Inc. ++ ++ This file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. ++ ++ This file is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ GNU Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see <https://www.gnu.org/licenses/>. */ ++ + #include <config.h> ++ + #define XSIZE_INLINE _GL_EXTERN_INLINE + #include "xsize.h" +--- a/gnulib/lib/xsize.h ++++ b/gnulib/lib/xsize.h +@@ -2,18 +2,18 @@ + + Copyright (C) 2003, 2008-2021 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, or (at your option) +- any later version. ++ This file is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. + +- This program is distributed in the hope that it will be useful, ++ This file 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. ++ GNU Lesser 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 <https://www.gnu.org/licenses/>. */ ++ You should have received a copy of the GNU Lesser General Public License ++ along with this program. If not, see <https://www.gnu.org/licenses/>. */ + + #ifndef _XSIZE_H + #define _XSIZE_H +--- /dev/null ++++ b/gnulib/m4/calloc.m4 +@@ -0,0 +1,82 @@ ++# calloc.m4 serial 27 ++ ++# Copyright (C) 2004-2021 Free Software Foundation, Inc. ++# This file is free software; the Free Software Foundation ++# gives unlimited permission to copy and/or distribute it, ++# with or without modifications, as long as this notice is preserved. ++ ++# Written by Jim Meyering. ++ ++# Determine whether calloc (N, S) returns non-NULL when N*S is zero, ++# and returns NULL when N*S overflows. ++# If so, define HAVE_CALLOC. Otherwise, define calloc to rpl_calloc ++# and arrange to use a calloc wrapper function that does work in that case. ++ ++# _AC_FUNC_CALLOC_IF([IF-WORKS], [IF-NOT]) ++# ------------------------------------- ++# If calloc is compatible with GNU calloc, run IF-WORKS, otherwise, IF-NOT. ++AC_DEFUN([_AC_FUNC_CALLOC_IF], ++[ ++ AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles ++ AC_CACHE_CHECK([whether calloc (0, n) and calloc (n, 0) return nonnull], ++ [ac_cv_func_calloc_0_nonnull], ++ [if test $cross_compiling != yes; then ++ ac_cv_func_calloc_0_nonnull=yes ++ AC_RUN_IFELSE( ++ [AC_LANG_PROGRAM( ++ [AC_INCLUDES_DEFAULT], ++ [[int result = 0; ++ char * volatile p = calloc (0, 0); ++ if (!p) ++ result |= 1; ++ free (p); ++ return result; ++ ]])], ++ [], ++ [ac_cv_func_calloc_0_nonnull=no]) ++ else ++ case "$host_os" in ++ # Guess yes on glibc systems. ++ *-gnu* | gnu*) ac_cv_func_calloc_0_nonnull="guessing yes" ;; ++ # Guess yes on musl systems. ++ *-musl*) ac_cv_func_calloc_0_nonnull="guessing yes" ;; ++ # Guess yes on native Windows. ++ mingw*) ac_cv_func_calloc_0_nonnull="guessing yes" ;; ++ # If we don't know, obey --enable-cross-guesses. ++ *) ac_cv_func_calloc_0_nonnull="$gl_cross_guess_normal" ;; ++ esac ++ fi ++ ]) ++ AS_CASE([$ac_cv_func_calloc_0_nonnull], [*yes], [$1], [$2]) ++]) ++ ++ ++# gl_FUNC_CALLOC_GNU ++# ------------------ ++# Replace calloc if it is not compatible with GNU libc. ++AC_DEFUN([gl_FUNC_CALLOC_GNU], ++[ ++ AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) ++ AC_REQUIRE([gl_FUNC_CALLOC_POSIX]) ++ if test $REPLACE_CALLOC = 0; then ++ _AC_FUNC_CALLOC_IF([], [REPLACE_CALLOC=1]) ++ fi ++])# gl_FUNC_CALLOC_GNU ++ ++# gl_FUNC_CALLOC_POSIX ++# -------------------- ++# Test whether 'calloc' is POSIX compliant (sets errno to ENOMEM when it ++# fails, and doesn't mess up with ptrdiff_t or size_t overflow), ++# and replace calloc if it is not. ++AC_DEFUN([gl_FUNC_CALLOC_POSIX], ++[ ++ AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) ++ AC_REQUIRE([gl_FUNC_MALLOC_POSIX]) ++ if test $REPLACE_MALLOC = 1; then ++ REPLACE_CALLOC=1 ++ fi ++ dnl Although in theory we should also test for size_t overflow, ++ dnl in practice testing for ptrdiff_t overflow suffices ++ dnl since PTRDIFF_MAX <= SIZE_MAX on all known Gnulib porting targets. ++ dnl A separate size_t test would slow down 'configure'. ++]) +--- a/gnulib/m4/fcntl_h.m4 ++++ b/gnulib/m4/fcntl_h.m4 +@@ -1,4 +1,4 @@ +-# serial 17 ++# serial 20 + # Configure fcntl.h. + dnl Copyright (C) 2006-2007, 2009-2021 Free Software Foundation, Inc. + dnl This file is free software; the Free Software Foundation +@@ -7,7 +7,7 @@ dnl with or without modifications, as lo + + dnl Written by Paul Eggert. + +-AC_DEFUN([gl_FCNTL_H], ++AC_DEFUN_ONCE([gl_FCNTL_H], + [ + AC_REQUIRE([gl_FCNTL_H_DEFAULTS]) + AC_REQUIRE([gl_FCNTL_O_FLAGS]) +@@ -26,25 +26,40 @@ AC_DEFUN([gl_FCNTL_H], + ]], [fcntl openat]) + ]) + ++# gl_FCNTL_MODULE_INDICATOR([modulename]) ++# sets the shell variable that indicates the presence of the given module ++# to a C preprocessor expression that will evaluate to 1. ++# This macro invocation must not occur in macros that are AC_REQUIREd. + AC_DEFUN([gl_FCNTL_MODULE_INDICATOR], + [ +- dnl Use AC_REQUIRE here, so that the default settings are expanded once only. +- AC_REQUIRE([gl_FCNTL_H_DEFAULTS]) ++ dnl Ensure to expand the default settings once only. ++ gl_FCNTL_H_REQUIRE_DEFAULTS + gl_MODULE_INDICATOR_SET_VARIABLE([$1]) + dnl Define it also as a C macro, for the benefit of the unit tests. + gl_MODULE_INDICATOR_FOR_TESTS([$1]) + ]) + ++# Initializes the default values for AC_SUBSTed shell variables. ++# This macro must not be AC_REQUIREd. It must only be invoked, and only ++# outside of macros or in macros that are not AC_REQUIREd. ++AC_DEFUN([gl_FCNTL_H_REQUIRE_DEFAULTS], ++[ ++ m4_defun(GL_MODULE_INDICATOR_PREFIX[_FCNTL_H_MODULE_INDICATOR_DEFAULTS], [ ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_CREAT]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FCNTL]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_NONBLOCKING]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_OPEN]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_OPENAT]) ++ dnl Support Microsoft deprecated alias function names by default. ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_CREAT], [1]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_OPEN], [1]) ++ ]) ++ m4_require(GL_MODULE_INDICATOR_PREFIX[_FCNTL_H_MODULE_INDICATOR_DEFAULTS]) ++ AC_REQUIRE([gl_FCNTL_H_DEFAULTS]) ++]) ++ + AC_DEFUN([gl_FCNTL_H_DEFAULTS], + [ +- GNULIB_CREAT=0; AC_SUBST([GNULIB_CREAT]) +- GNULIB_FCNTL=0; AC_SUBST([GNULIB_FCNTL]) +- GNULIB_NONBLOCKING=0; AC_SUBST([GNULIB_NONBLOCKING]) +- GNULIB_OPEN=0; AC_SUBST([GNULIB_OPEN]) +- GNULIB_OPENAT=0; AC_SUBST([GNULIB_OPENAT]) +- dnl Support Microsoft deprecated alias function names by default. +- GNULIB_MDA_CREAT=1; AC_SUBST([GNULIB_MDA_CREAT]) +- GNULIB_MDA_OPEN=1; AC_SUBST([GNULIB_MDA_OPEN]) + dnl Assume proper GNU behavior unless another module says otherwise. + HAVE_FCNTL=1; AC_SUBST([HAVE_FCNTL]) + HAVE_OPENAT=1; AC_SUBST([HAVE_OPENAT]) +--- /dev/null ++++ b/gnulib/m4/free.m4 +@@ -0,0 +1,52 @@ ++# free.m4 serial 6 ++# Copyright (C) 2003-2005, 2009-2021 Free Software Foundation, Inc. ++# This file is free software; the Free Software Foundation ++# gives unlimited permission to copy and/or distribute it, ++# with or without modifications, as long as this notice is preserved. ++ ++# Written by Paul Eggert and Bruno Haible. ++ ++AC_DEFUN([gl_FUNC_FREE], ++[ ++ AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) ++ ++ dnl In the next release of POSIX, free must preserve errno. ++ dnl https://www.austingroupbugs.net/view.php?id=385 ++ dnl https://sourceware.org/bugzilla/show_bug.cgi?id=17924 ++ dnl So far, we know of three platforms that do this: ++ dnl * glibc >= 2.33, thanks to the fix for this bug: ++ dnl <https://sourceware.org/bugzilla/show_bug.cgi?id=17924> ++ dnl * OpenBSD >= 4.5, thanks to this commit: ++ dnl <https://cvsweb.openbsd.org/cgi-bin/cvsweb/src/lib/libc/stdlib/malloc.c.diff?r1=1.100&r2=1.101&f=h> ++ dnl * Solaris, because its malloc() implementation is based on brk(), ++ dnl not mmap(); hence its free() implementation makes no system calls. ++ dnl For other platforms, you can only be sure if they state it in their ++ dnl documentation, or by code inspection of the free() implementation in libc. ++ AC_CACHE_CHECK([whether free is known to preserve errno], ++ [gl_cv_func_free_preserves_errno], ++ [AC_COMPILE_IFELSE( ++ [AC_LANG_PROGRAM( ++ [[#include <stdlib.h> ++ ]], ++ [[#if 2 < __GLIBC__ + (33 <= __GLIBC_MINOR__) ++ #elif defined __OpenBSD__ ++ #elif defined __sun ++ #else ++ #error "'free' is not known to preserve errno" ++ #endif ++ ]])], ++ [gl_cv_func_free_preserves_errno=yes], ++ [gl_cv_func_free_preserves_errno=no]) ++ ]) ++ ++ case $gl_cv_func_free_preserves_errno in ++ *yes) ++ AC_DEFINE([HAVE_FREE_POSIX], [1], ++ [Define if the 'free' function is guaranteed to preserve errno.]) ++ ;; ++ *) REPLACE_FREE=1 ;; ++ esac ++]) ++ ++# Prerequisites of lib/free.c. ++AC_DEFUN([gl_PREREQ_FREE], [:]) +--- a/gnulib/m4/fstat.m4 ++++ b/gnulib/m4/fstat.m4 +@@ -1,4 +1,4 @@ +-# fstat.m4 serial 7 ++# fstat.m4 serial 8 + dnl Copyright (C) 2011-2021 Free Software Foundation, Inc. + dnl This file is free software; the Free Software Foundation + dnl gives unlimited permission to copy and/or distribute it, +@@ -34,7 +34,7 @@ AC_DEFUN([gl_FUNC_FSTAT], + + # Prerequisites of lib/fstat.c and lib/stat-w32.c. + AC_DEFUN([gl_PREREQ_FSTAT], [ +- AC_REQUIRE([gl_HEADER_SYS_STAT_H]) ++ AC_REQUIRE([gl_SYS_STAT_H]) + AC_REQUIRE([gl_PREREQ_STAT_W32]) + : + ]) +--- a/gnulib/m4/gnulib-common.m4 ++++ b/gnulib/m4/gnulib-common.m4 +@@ -1,4 +1,4 @@ +-# gnulib-common.m4 serial 63 ++# gnulib-common.m4 serial 66 + dnl Copyright (C) 2007-2021 Free Software Foundation, Inc. + dnl This file is free software; the Free Software Foundation + dnl gives unlimited permission to copy and/or distribute it, +@@ -357,6 +357,16 @@ AC_DEFUN([gl_COMMON_BODY], [ + export LIBC_FATAL_STDERR_ + ]) + ++# gl_MODULE_INDICATOR_INIT_VARIABLE([variablename]) ++# gl_MODULE_INDICATOR_INIT_VARIABLE([variablename], [initialvalue]) ++# initializes the shell variable that indicates the presence of the given module ++# as a C preprocessor expression. ++AC_DEFUN([gl_MODULE_INDICATOR_INIT_VARIABLE], ++[ ++ GL_MODULE_INDICATOR_PREFIX[]_[$1]=m4_if([$2], , [0], [$2]) ++ AC_SUBST(GL_MODULE_INDICATOR_PREFIX[]_[$1]) ++]) ++ + # gl_MODULE_INDICATOR_CONDITION + # expands to a C preprocessor expression that evaluates to 1 or 0, depending + # whether a gnulib module that has been requested shall be considered present +@@ -369,9 +379,9 @@ m4_define([gl_MODULE_INDICATOR_CONDITION + AC_DEFUN([gl_MODULE_INDICATOR_SET_VARIABLE], + [ + gl_MODULE_INDICATOR_SET_VARIABLE_AUX( +- [GNULIB_[]m4_translit([[$1]], +- [abcdefghijklmnopqrstuvwxyz./-], +- [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])], ++ [GL_MODULE_INDICATOR_PREFIX[]_GNULIB_[]m4_translit([[$1]], ++ [abcdefghijklmnopqrstuvwxyz./-], ++ [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])], + [gl_MODULE_INDICATOR_CONDITION]) + ]) + +@@ -656,6 +666,72 @@ AC_DEFUN([gl_CACHE_VAL_SILENT], + ]) + ]) + ++# gl_CC_ALLOW_WARNINGS ++# sets and substitutes a variable GL_CFLAG_ALLOW_WARNINGS, to a $(CC) option ++# that reverts a preceding '-Werror' option, if available. ++# This is expected to be '-Wno-error' on gcc, clang (except clang/MSVC), xlclang ++# and empty otherwise. ++AC_DEFUN([gl_CC_ALLOW_WARNINGS], ++[ ++ AC_REQUIRE([AC_PROG_CC]) ++ AC_CACHE_CHECK([for C compiler option to allow warnings], ++ [gl_cv_cc_wallow], ++ [rm -f conftest* ++ echo 'int dummy;' > conftest.c ++ AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS -c conftest.c 2>conftest1.err]) >/dev/null ++ AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS -Wno-error -c conftest.c 2>conftest2.err]) >/dev/null ++ dnl Test the number of error output lines, because AIX xlc accepts the ++ dnl option '-Wno-error', just to produce a warning ++ dnl "Option -Wno-error was incorrectly specified. The option will be ignored." ++ dnl afterwards. ++ if test $? = 0 && test `wc -l < conftest1.err` = `wc -l < conftest2.err`; then ++ gl_cv_cc_wallow='-Wno-error' ++ else ++ gl_cv_cc_wallow=none ++ fi ++ rm -f conftest* ++ ]) ++ case "$gl_cv_cc_wallow" in ++ none) GL_CFLAG_ALLOW_WARNINGS='' ;; ++ *) GL_CFLAG_ALLOW_WARNINGS="$gl_cv_cc_wallow" ;; ++ esac ++ AC_SUBST([GL_CFLAG_ALLOW_WARNINGS]) ++]) ++ ++# gl_CXX_ALLOW_WARNINGS ++# sets and substitutes a variable GL_CXXFLAG_ALLOW_WARNINGS, to a $(CC) option ++# that reverts a preceding '-Werror' option, if available. ++AC_DEFUN([gl_CXX_ALLOW_WARNINGS], ++[ ++ dnl Requires AC_PROG_CXX or gl_PROG_ANSI_CXX. ++ if test -n "$CXX" && test "$CXX" != no; then ++ AC_CACHE_CHECK([for C++ compiler option to allow warnings], ++ [gl_cv_cxx_wallow], ++ [rm -f conftest* ++ echo 'int dummy;' > conftest.cc ++ AC_TRY_COMMAND([${CXX-c++} $CXXFLAGS $CPPFLAGS -c conftest.cc 2>conftest1.err]) >/dev/null ++ AC_TRY_COMMAND([${CXX-c++} $CXXFLAGS $CPPFLAGS -Wno-error -c conftest.cc 2>conftest2.err]) >/dev/null ++ dnl Test the number of error output lines, because AIX xlC accepts the ++ dnl option '-Wno-error', just to produce a warning ++ dnl "Option -Wno-error was incorrectly specified. The option will be ignored." ++ dnl afterwards. ++ if test $? = 0 && test `wc -l < conftest1.err` = `wc -l < conftest2.err`; then ++ gl_cv_cxx_wallow='-Wno-error' ++ else ++ gl_cv_cxx_wallow=none ++ fi ++ rm -f conftest* ++ ]) ++ case "$gl_cv_cxx_wallow" in ++ none) GL_CXXFLAG_ALLOW_WARNINGS='' ;; ++ *) GL_CXXFLAG_ALLOW_WARNINGS="$gl_cv_cxx_wallow" ;; ++ esac ++ else ++ GL_CXXFLAG_ALLOW_WARNINGS='' ++ fi ++ AC_SUBST([GL_CXXFLAG_ALLOW_WARNINGS]) ++]) ++ + dnl Expands to some code for use in .c programs that, on native Windows, defines + dnl the Microsoft deprecated alias function names to the underscore-prefixed + dnl actual function names. With this macro, these function names are available +--- a/gnulib/m4/gnulib-comp.m4 ++++ b/gnulib/m4/gnulib-comp.m4 +@@ -51,6 +51,8 @@ AC_DEFUN([gl_EARLY], + # Code from module btowc: + # Code from module builtin-expect: + # Code from module c99: ++ # Code from module calloc-gnu: ++ # Code from module calloc-posix: + # Code from module cloexec: + # Code from module close: + # Code from module double-slash-root: +@@ -66,6 +68,7 @@ AC_DEFUN([gl_EARLY], + # Code from module fd-hook: + # Code from module filename: + # Code from module float: ++ # Code from module free-posix: + # Code from module fstat: + # Code from module getdtablesize: + # Code from module getopt-gnu: +@@ -74,7 +77,9 @@ AC_DEFUN([gl_EARLY], + # Code from module gettext-h: + # Code from module hard-locale: + # Code from module havelib: ++ # Code from module ialloc: + # Code from module iconv: ++ # Code from module idx: + # Code from module include_next: + # Code from module intprops: + # Code from module inttypes-incomplete: +@@ -84,12 +89,14 @@ AC_DEFUN([gl_EARLY], + # Code from module langinfo: + # Code from module largefile: + AC_REQUIRE([AC_SYS_LARGEFILE]) ++ AC_REQUIRE([gl_YEAR2038_EARLY]) + # Code from module libc-config: + # Code from module limits-h: + # Code from module localcharset: + # Code from module locale: + # Code from module localeconv: + # Code from module lock: ++ # Code from module malloc-gnu: + # Code from module malloc-posix: + # Code from module malloca: + # Code from module mbchar: +@@ -107,6 +114,7 @@ AC_DEFUN([gl_EARLY], + # Code from module memchr: + # Code from module mempcpy: + # Code from module memrchr: ++ # Code from module minmax: + # Code from module msvc-inval: + # Code from module msvc-nothrow: + # Code from module multiarch: +@@ -114,6 +122,9 @@ AC_DEFUN([gl_EARLY], + # Code from module nocrash: + # Code from module open: + # Code from module pathmax: ++ # Code from module realloc-gnu: ++ # Code from module realloc-posix: ++ # Code from module reallocarray: + # Code from module regex: + # Code from module setlocale-null: + # Code from module size_max: +@@ -189,6 +200,8 @@ AC_DEFUN([gl_INIT], + m4_pushdef([AC_LIBSOURCES], m4_defn([gl_LIBSOURCES])) + m4_pushdef([gl_LIBSOURCES_LIST], []) + m4_pushdef([gl_LIBSOURCES_DIR], []) ++ m4_pushdef([GL_MACRO_PREFIX], [gl]) ++ m4_pushdef([GL_MODULE_INDICATOR_PREFIX], [GL]) + gl_COMMON + gl_source_base='gnulib/lib' + gl_FUNC_ALLOCA +@@ -196,6 +209,15 @@ AC_DEFUN([gl_INIT], + if test -n "$ARGZ_H"; then + AC_LIBOBJ([argz]) + fi ++ gl_FUNC_CALLOC_GNU ++ if test $REPLACE_CALLOC = 1; then ++ AC_LIBOBJ([calloc]) ++ fi ++ gl_FUNC_CALLOC_POSIX ++ if test $REPLACE_CALLOC = 1; then ++ AC_LIBOBJ([calloc]) ++ fi ++ gl_STDLIB_MODULE_INDICATOR([calloc-posix]) + gl_DOUBLE_SLASH_ROOT + gl_HEADER_ERRNO_H + gl_ERROR +@@ -208,6 +230,7 @@ AC_DEFUN([gl_INIT], + AM_][XGETTEXT_OPTION([--flag=error_at_line:5:c-format])]) + AC_REQUIRE([gl_EXTERN_INLINE]) + gl_FCNTL_H ++ gl_FCNTL_H_REQUIRE_DEFAULTS + gl_FLOAT_H + if test $REPLACE_FLOAT_LDBL = 1; then + AC_LIBOBJ([float]) +@@ -223,10 +246,10 @@ AC_DEFUN([gl_INIT], + if test $REPLACE_GETOPT = 1; then + AC_LIBOBJ([getopt]) + AC_LIBOBJ([getopt1]) +- dnl Arrange for unistd.h to include getopt.h. +- GNULIB_GL_UNISTD_H_GETOPT=1 ++ dnl Define the substituted variable GNULIB_UNISTD_H_GETOPT to 1. ++ gl_UNISTD_H_REQUIRE_DEFAULTS ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNISTD_H_GETOPT], [1]) + fi +- AC_SUBST([GNULIB_GL_UNISTD_H_GETOPT]) + gl_UNISTD_MODULE_INDICATOR([getopt-posix]) + gl_FUNC_GETPROGNAME + AC_SUBST([LIBINTL]) +@@ -236,6 +259,7 @@ AC_DEFUN([gl_INIT], + m4_ifdef([gl_ICONV_MODULE_INDICATOR], + [gl_ICONV_MODULE_INDICATOR([iconv])]) + gl_INTTYPES_INCOMPLETE ++ gl_INTTYPES_H_REQUIRE_DEFAULTS + gl_FUNC_ISWBLANK + if test $HAVE_ISWCNTRL = 0 || test $REPLACE_ISWCNTRL = 1; then + : +@@ -265,6 +289,15 @@ AC_DEFUN([gl_INIT], + gl_WCTYPE_MODULE_INDICATOR([iswxdigit]) + AC_REQUIRE([gl_LARGEFILE]) + gl_LIMITS_H ++ gl_FUNC_MALLOC_GNU ++ if test $REPLACE_MALLOC = 1; then ++ AC_LIBOBJ([malloc]) ++ fi ++ AC_REQUIRE([gl_FUNC_MALLOC_POSIX]) ++ if test $REPLACE_MALLOC = 1; then ++ AC_LIBOBJ([malloc]) ++ fi ++ gl_STDLIB_MODULE_INDICATOR([malloc-posix]) + gl_MALLOCA + gl_MBCHAR + gl_MBITER +@@ -305,6 +338,7 @@ AC_DEFUN([gl_INIT], + gl_PREREQ_MEMRCHR + fi + gl_STRING_MODULE_INDICATOR([memrchr]) ++ gl_MINMAX + gl_MULTIARCH + gl_FUNC_OPEN + if test $REPLACE_OPEN = 1; then +@@ -312,6 +346,22 @@ AC_DEFUN([gl_INIT], + gl_PREREQ_OPEN + fi + gl_FCNTL_MODULE_INDICATOR([open]) ++ gl_FUNC_REALLOC_GNU ++ if test $REPLACE_REALLOC = 1; then ++ AC_LIBOBJ([realloc]) ++ fi ++ gl_FUNC_REALLOC_POSIX ++ if test $REPLACE_REALLOC = 1; then ++ AC_LIBOBJ([realloc]) ++ fi ++ gl_STDLIB_MODULE_INDICATOR([realloc-posix]) ++ gl_FUNC_REALLOCARRAY ++ if test $HAVE_REALLOCARRAY = 0 || test $REPLACE_REALLOCARRAY = 1; then ++ AC_LIBOBJ([reallocarray]) ++ gl_PREREQ_REALLOCARRAY ++ fi ++ gl_MODULE_INDICATOR([reallocarray]) ++ gl_STDLIB_MODULE_INDICATOR([reallocarray]) + gl_REGEX + if test $ac_use_included_regex = yes; then + AC_LIBOBJ([regex]) +@@ -321,9 +371,35 @@ AC_DEFUN([gl_INIT], + gl_STDARG_H + AM_STDBOOL_H + gl_STDDEF_H ++ gl_STDDEF_H_REQUIRE_DEFAULTS + gl_STDINT_H + gl_STDIO_H ++ gl_STDIO_H_REQUIRE_DEFAULTS ++ dnl No need to create extra modules for these functions. Everyone who uses ++ dnl <stdio.h> likely needs them. ++ gl_STDIO_MODULE_INDICATOR([fscanf]) ++ gl_MODULE_INDICATOR([fscanf]) ++ gl_STDIO_MODULE_INDICATOR([scanf]) ++ gl_MODULE_INDICATOR([scanf]) ++ gl_STDIO_MODULE_INDICATOR([fgetc]) ++ gl_STDIO_MODULE_INDICATOR([getc]) ++ gl_STDIO_MODULE_INDICATOR([getchar]) ++ gl_STDIO_MODULE_INDICATOR([fgets]) ++ gl_STDIO_MODULE_INDICATOR([fread]) ++ dnl No need to create extra modules for these functions. Everyone who uses ++ dnl <stdio.h> likely needs them. ++ gl_STDIO_MODULE_INDICATOR([fprintf]) ++ gl_STDIO_MODULE_INDICATOR([printf]) ++ gl_STDIO_MODULE_INDICATOR([vfprintf]) ++ gl_STDIO_MODULE_INDICATOR([vprintf]) ++ gl_STDIO_MODULE_INDICATOR([fputc]) ++ gl_STDIO_MODULE_INDICATOR([putc]) ++ gl_STDIO_MODULE_INDICATOR([putchar]) ++ gl_STDIO_MODULE_INDICATOR([fputs]) ++ gl_STDIO_MODULE_INDICATOR([puts]) ++ gl_STDIO_MODULE_INDICATOR([fwrite]) + gl_STDLIB_H ++ gl_STDLIB_H_REQUIRE_DEFAULTS + gl_STRCASE + if test $HAVE_STRCASECMP = 0; then + AC_LIBOBJ([strcasecmp]) +@@ -356,8 +432,10 @@ AC_DEFUN([gl_INIT], + fi + gl_MODULE_INDICATOR([strerror]) + gl_STRING_MODULE_INDICATOR([strerror]) +- gl_HEADER_STRING_H +- gl_HEADER_STRINGS_H ++ gl_STRING_H ++ gl_STRING_H_REQUIRE_DEFAULTS ++ gl_STRINGS_H ++ gl_STRINGS_H_REQUIRE_DEFAULTS + gl_FUNC_STRNLEN + if test $HAVE_DECL_STRNLEN = 0 || test $REPLACE_STRNLEN = 1; then + AC_LIBOBJ([strnlen]) +@@ -365,10 +443,27 @@ AC_DEFUN([gl_INIT], + fi + gl_STRING_MODULE_INDICATOR([strnlen]) + gl_SYS_TYPES_H ++ gl_SYS_TYPES_H_REQUIRE_DEFAULTS + AC_PROG_MKDIR_P + gl_UNISTD_H +- gl_LIBUNISTRING_LIBHEADER([0.9.4], [unitypes.h]) +- gl_LIBUNISTRING_LIBHEADER([0.9.4], [uniwidth.h]) ++ gl_UNISTD_H_REQUIRE_DEFAULTS ++ gl_LIBUNISTRING_LIBHEADER([0.9.11], [unitypes.h]) ++ AH_VERBATIM([unitypes_restrict], [ ++ /* This definition is a duplicate of the one in unitypes.h. ++ It is here so that we can cope with an older version of unitypes.h ++ that does not contain this definition and that is pre-installed among ++ the public header files. */ ++ # if defined __restrict \ ++ || 2 < __GNUC__ + (95 <= __GNUC_MINOR__) \ ++ || __clang_major__ >= 3 ++ # define _UC_RESTRICT __restrict ++ # elif 199901L <= __STDC_VERSION__ || defined restrict ++ # define _UC_RESTRICT restrict ++ # else ++ # define _UC_RESTRICT ++ # endif ++ ]) ++ gl_LIBUNISTRING_LIBHEADER([0.9.11], [uniwidth.h]) + gl_LIBUNISTRING_MODULE([0.9.8], [uniwidth/width]) + gl_FUNC_VASPRINTF + gl_STDIO_MODULE_INDICATOR([vasprintf]) +@@ -376,7 +471,9 @@ AC_DEFUN([gl_INIT], + [AM_][XGETTEXT_OPTION([--flag=asprintf:2:c-format]) + AM_][XGETTEXT_OPTION([--flag=vasprintf:2:c-format])]) + gl_WCHAR_H ++ gl_WCHAR_H_REQUIRE_DEFAULTS + gl_WCTYPE_H ++ gl_WCTYPE_H_REQUIRE_DEFAULTS + gl_FUNC_WCWIDTH + if test $HAVE_WCWIDTH = 0 || test $REPLACE_WCWIDTH = 1; then + AC_LIBOBJ([wcwidth]) +@@ -395,17 +492,16 @@ AC_DEFUN([gl_INIT], + gl_gnulib_enabled_dynarray=false + gl_gnulib_enabled_fcntl=false + gl_gnulib_enabled_43fe87a341d9b4b93c47c3ad819a5239=false ++ gl_gnulib_enabled_ef07dc4b3077c11ea9cef586db4e5955=false + gl_gnulib_enabled_fstat=false + gl_gnulib_enabled_getdtablesize=false + gl_gnulib_enabled_30838f5439487421042f2225bed3af76=false +- gl_gnulib_enabled_intprops=false + gl_gnulib_enabled_langinfo=false + gl_gnulib_enabled_21ee726a3540c09237a8e70c0baf7467=false + gl_gnulib_enabled_localcharset=false + gl_gnulib_enabled_locale=false + gl_gnulib_enabled_localeconv=false + gl_gnulib_enabled_lock=false +- gl_gnulib_enabled_ef455225c00f5049c808c2eda3e76866=false + gl_gnulib_enabled_mbtowc=false + gl_gnulib_enabled_mempcpy=false + gl_gnulib_enabled_f691f076f650964c9f5598c3ee487616=false +@@ -506,8 +602,9 @@ AC_DEFUN([gl_INIT], + func_gl_gnulib_m4code_dynarray () + { + if ! $gl_gnulib_enabled_dynarray; then ++ AC_PROG_MKDIR_P + gl_gnulib_enabled_dynarray=true +- func_gl_gnulib_m4code_intprops ++ func_gl_gnulib_m4code_37f71b604aa9c54446783d80f42fe547 + func_gl_gnulib_m4code_21ee726a3540c09237a8e70c0baf7467 + fi + } +@@ -540,6 +637,18 @@ AC_DEFUN([gl_INIT], + gl_gnulib_enabled_43fe87a341d9b4b93c47c3ad819a5239=true + fi + } ++ func_gl_gnulib_m4code_ef07dc4b3077c11ea9cef586db4e5955 () ++ { ++ if ! $gl_gnulib_enabled_ef07dc4b3077c11ea9cef586db4e5955; then ++ gl_FUNC_FREE ++ if test $REPLACE_FREE = 1; then ++ AC_LIBOBJ([free]) ++ gl_PREREQ_FREE ++ fi ++ gl_STDLIB_MODULE_INDICATOR([free-posix]) ++ gl_gnulib_enabled_ef07dc4b3077c11ea9cef586db4e5955=true ++ fi ++ } + func_gl_gnulib_m4code_fstat () + { + if ! $gl_gnulib_enabled_fstat; then +@@ -595,16 +704,11 @@ AC_DEFUN([gl_INIT], + func_gl_gnulib_m4code_e7e881d32ca02f1c997b13c737c64bbd + fi + } +- func_gl_gnulib_m4code_intprops () +- { +- if ! $gl_gnulib_enabled_intprops; then +- gl_gnulib_enabled_intprops=true +- fi +- } + func_gl_gnulib_m4code_langinfo () + { + if ! $gl_gnulib_enabled_langinfo; then + gl_LANGINFO_H ++ gl_LANGINFO_H_REQUIRE_DEFAULTS + gl_gnulib_enabled_langinfo=true + fi + } +@@ -629,6 +733,7 @@ AC_DEFUN([gl_INIT], + { + if ! $gl_gnulib_enabled_locale; then + gl_LOCALE_H ++ gl_LOCALE_H_REQUIRE_DEFAULTS + gl_gnulib_enabled_locale=true + fi + } +@@ -666,18 +771,6 @@ AC_DEFUN([gl_INIT], + fi + fi + } +- func_gl_gnulib_m4code_ef455225c00f5049c808c2eda3e76866 () +- { +- if ! $gl_gnulib_enabled_ef455225c00f5049c808c2eda3e76866; then +- gl_FUNC_MALLOC_POSIX +- if test $REPLACE_MALLOC = 1; then +- AC_LIBOBJ([malloc]) +- fi +- gl_STDLIB_MODULE_INDICATOR([malloc-posix]) +- gl_MODULE_INDICATOR([malloc-posix]) +- gl_gnulib_enabled_ef455225c00f5049c808c2eda3e76866=true +- fi +- } + func_gl_gnulib_m4code_mbtowc () + { + if ! $gl_gnulib_enabled_mbtowc; then +@@ -803,7 +896,6 @@ AC_DEFUN([gl_INIT], + gl_STAT_TIME + gl_STAT_BIRTHTIME + gl_gnulib_enabled_0137e3d3638b33e5819d132d0b23165c=true +- func_gl_gnulib_m4code_intprops + func_gl_gnulib_m4code_time + fi + } +@@ -870,7 +962,8 @@ AC_DEFUN([gl_INIT], + func_gl_gnulib_m4code_sys_stat () + { + if ! $gl_gnulib_enabled_sys_stat; then +- gl_HEADER_SYS_STAT_H ++ gl_SYS_STAT_H ++ gl_SYS_STAT_H_REQUIRE_DEFAULTS + AC_PROG_MKDIR_P + gl_gnulib_enabled_sys_stat=true + func_gl_gnulib_m4code_time +@@ -886,7 +979,8 @@ AC_DEFUN([gl_INIT], + func_gl_gnulib_m4code_time () + { + if ! $gl_gnulib_enabled_time; then +- gl_HEADER_TIME_H ++ gl_TIME_H ++ gl_TIME_H_REQUIRE_DEFAULTS + gl_gnulib_enabled_time=true + fi + } +@@ -897,6 +991,7 @@ AC_DEFUN([gl_INIT], + gl_FUNC_VASNPRINTF + gl_gnulib_enabled_vasnprintf=true + func_gl_gnulib_m4code_attribute ++ func_gl_gnulib_m4code_ef07dc4b3077c11ea9cef586db4e5955 + func_gl_gnulib_m4code_xsize + fi + } +@@ -1002,6 +1097,9 @@ AC_DEFUN([gl_INIT], + if test $REPLACE_OPEN = 1; then + func_gl_gnulib_m4code_stat + fi ++ if test $REPLACE_REALLOC = 1; then ++ func_gl_gnulib_m4code_ef07dc4b3077c11ea9cef586db4e5955 ++ fi + if test $ac_use_included_regex = yes; then + func_gl_gnulib_m4code_attribute + fi +@@ -1015,9 +1113,6 @@ AC_DEFUN([gl_INIT], + func_gl_gnulib_m4code_dynarray + fi + if test $ac_use_included_regex = yes; then +- func_gl_gnulib_m4code_intprops +- fi +- if test $ac_use_included_regex = yes; then + func_gl_gnulib_m4code_langinfo + fi + if test $ac_use_included_regex = yes; then +@@ -1032,12 +1127,6 @@ AC_DEFUN([gl_INIT], + if test $ac_use_included_regex = yes; then + func_gl_gnulib_m4code_wcrtomb + fi +- if test $REPLACE_STRDUP = 1; then +- func_gl_gnulib_m4code_ef455225c00f5049c808c2eda3e76866 +- fi +- if test $REPLACE_STRERROR = 1; then +- func_gl_gnulib_m4code_intprops +- fi + if test $REPLACE_STRERROR = 1; then + func_gl_gnulib_m4code_dbb57f49352be8fb86869629a254fb72 + fi +@@ -1057,17 +1146,16 @@ AC_DEFUN([gl_INIT], + AM_CONDITIONAL([gl_GNULIB_ENABLED_dynarray], [$gl_gnulib_enabled_dynarray]) + AM_CONDITIONAL([gl_GNULIB_ENABLED_fcntl], [$gl_gnulib_enabled_fcntl]) + AM_CONDITIONAL([gl_GNULIB_ENABLED_43fe87a341d9b4b93c47c3ad819a5239], [$gl_gnulib_enabled_43fe87a341d9b4b93c47c3ad819a5239]) ++ AM_CONDITIONAL([gl_GNULIB_ENABLED_ef07dc4b3077c11ea9cef586db4e5955], [$gl_gnulib_enabled_ef07dc4b3077c11ea9cef586db4e5955]) + AM_CONDITIONAL([gl_GNULIB_ENABLED_fstat], [$gl_gnulib_enabled_fstat]) + AM_CONDITIONAL([gl_GNULIB_ENABLED_getdtablesize], [$gl_gnulib_enabled_getdtablesize]) + AM_CONDITIONAL([gl_GNULIB_ENABLED_30838f5439487421042f2225bed3af76], [$gl_gnulib_enabled_30838f5439487421042f2225bed3af76]) +- AM_CONDITIONAL([gl_GNULIB_ENABLED_intprops], [$gl_gnulib_enabled_intprops]) + AM_CONDITIONAL([gl_GNULIB_ENABLED_langinfo], [$gl_gnulib_enabled_langinfo]) + AM_CONDITIONAL([gl_GNULIB_ENABLED_21ee726a3540c09237a8e70c0baf7467], [$gl_gnulib_enabled_21ee726a3540c09237a8e70c0baf7467]) + AM_CONDITIONAL([gl_GNULIB_ENABLED_localcharset], [$gl_gnulib_enabled_localcharset]) + AM_CONDITIONAL([gl_GNULIB_ENABLED_locale], [$gl_gnulib_enabled_locale]) + AM_CONDITIONAL([gl_GNULIB_ENABLED_localeconv], [$gl_gnulib_enabled_localeconv]) + AM_CONDITIONAL([gl_GNULIB_ENABLED_lock], [$gl_gnulib_enabled_lock]) +- AM_CONDITIONAL([gl_GNULIB_ENABLED_ef455225c00f5049c808c2eda3e76866], [$gl_gnulib_enabled_ef455225c00f5049c808c2eda3e76866]) + AM_CONDITIONAL([gl_GNULIB_ENABLED_mbtowc], [$gl_gnulib_enabled_mbtowc]) + AM_CONDITIONAL([gl_GNULIB_ENABLED_mempcpy], [$gl_gnulib_enabled_mempcpy]) + AM_CONDITIONAL([gl_GNULIB_ENABLED_f691f076f650964c9f5598c3ee487616], [$gl_gnulib_enabled_f691f076f650964c9f5598c3ee487616]) +@@ -1105,6 +1193,8 @@ AC_DEFUN([gl_INIT], + m4_if(m4_sysval, [0], [], + [AC_FATAL([expected source file, required through AC_LIBSOURCES, not found])]) + ]) ++ m4_popdef([GL_MODULE_INDICATOR_PREFIX]) ++ m4_popdef([GL_MACRO_PREFIX]) + m4_popdef([gl_LIBSOURCES_DIR]) + m4_popdef([gl_LIBSOURCES_LIST]) + m4_popdef([AC_LIBSOURCES]) +@@ -1131,6 +1221,8 @@ AC_DEFUN([gl_INIT], + m4_pushdef([AC_LIBSOURCES], m4_defn([gltests_LIBSOURCES])) + m4_pushdef([gltests_LIBSOURCES_LIST], []) + m4_pushdef([gltests_LIBSOURCES_DIR], []) ++ m4_pushdef([GL_MACRO_PREFIX], [gltests]) ++ m4_pushdef([GL_MODULE_INDICATOR_PREFIX], [GL]) + gl_COMMON + gl_source_base='tests' + changequote(,)dnl +@@ -1152,6 +1244,8 @@ changequote([, ])dnl + m4_if(m4_sysval, [0], [], + [AC_FATAL([expected source file, required through AC_LIBSOURCES, not found])]) + ]) ++ m4_popdef([GL_MODULE_INDICATOR_PREFIX]) ++ m4_popdef([GL_MACRO_PREFIX]) + m4_popdef([gltests_LIBSOURCES_DIR]) + m4_popdef([gltests_LIBSOURCES_LIST]) + m4_popdef([AC_LIBSOURCES]) +@@ -1247,6 +1341,7 @@ AC_DEFUN([gl_FILE_LIST], [ + lib/basename-lgpl.h + lib/btowc.c + lib/c++defs.h ++ lib/calloc.c + lib/cdefs.h + lib/cloexec.c + lib/cloexec.h +@@ -1266,6 +1361,7 @@ AC_DEFUN([gl_FILE_LIST], [ + lib/float+.h + lib/float.c + lib/float.in.h ++ lib/free.c + lib/fstat.c + lib/getdtablesize.c + lib/getopt-cdefs.in.h +@@ -1285,6 +1381,9 @@ AC_DEFUN([gl_FILE_LIST], [ + lib/glthread/threadlib.c + lib/hard-locale.c + lib/hard-locale.h ++ lib/ialloc.c ++ lib/ialloc.h ++ lib/idx.h + lib/intprops.h + lib/inttypes.in.h + lib/iswblank.c +@@ -1335,6 +1434,7 @@ AC_DEFUN([gl_FILE_LIST], [ + lib/memchr.valgrind + lib/mempcpy.c + lib/memrchr.c ++ lib/minmax.h + lib/msvc-inval.c + lib/msvc-inval.h + lib/msvc-nothrow.c +@@ -1347,6 +1447,8 @@ AC_DEFUN([gl_FILE_LIST], [ + lib/printf-args.h + lib/printf-parse.c + lib/printf-parse.h ++ lib/realloc.c ++ lib/reallocarray.c + lib/regcomp.c + lib/regex.c + lib/regex.h +@@ -1427,6 +1529,7 @@ AC_DEFUN([gl_FILE_LIST], [ + m4/argz.m4 + m4/btowc.m4 + m4/builtin-expect.m4 ++ m4/calloc.m4 + m4/close.m4 + m4/codeset.m4 + m4/double-slash-root.m4 +@@ -1441,6 +1544,7 @@ AC_DEFUN([gl_FILE_LIST], [ + m4/fcntl.m4 + m4/fcntl_h.m4 + m4/float_h.m4 ++ m4/free.m4 + m4/fstat.m4 + m4/getdtablesize.m4 + m4/getopt.m4 +@@ -1483,6 +1587,7 @@ AC_DEFUN([gl_FILE_LIST], [ + m4/memchr.m4 + m4/mempcpy.m4 + m4/memrchr.m4 ++ m4/minmax.m4 + m4/mmap-anon.m4 + m4/mode_t.m4 + m4/msvc-inval.m4 +@@ -1498,6 +1603,8 @@ AC_DEFUN([gl_FILE_LIST], [ + m4/pid_t.m4 + m4/printf.m4 + m4/pthread_rwlock_rdlock.m4 ++ m4/realloc.m4 ++ m4/reallocarray.m4 + m4/regex.m4 + m4/setlocale_null.m4 + m4/size_max.m4 +@@ -1540,5 +1647,6 @@ AC_DEFUN([gl_FILE_LIST], [ + m4/wint_t.m4 + m4/xalloc.m4 + m4/xsize.m4 ++ m4/year2038.m4 + m4/zzgnulib.m4 + ]) +--- a/gnulib/m4/inttypes.m4 ++++ b/gnulib/m4/inttypes.m4 +@@ -1,4 +1,4 @@ +-# inttypes.m4 serial 32 ++# inttypes.m4 serial 35 + dnl Copyright (C) 2006-2021 Free Software Foundation, Inc. + dnl This file is free software; the Free Software Foundation + dnl gives unlimited permission to copy and/or distribute it, +@@ -7,7 +7,7 @@ dnl with or without modifications, as lo + dnl From Derek Price, Bruno Haible. + dnl Test whether <inttypes.h> is supported or must be substituted. + +-AC_DEFUN([gl_INTTYPES_H], ++AC_DEFUN_ONCE([gl_INTTYPES_H], + [ + AC_REQUIRE([gl_INTTYPES_INCOMPLETE]) + gl_INTTYPES_PRI_SCN +@@ -136,19 +136,34 @@ AC_DEFUN([gl_INTTYPES_CHECK_LONG_LONG_IN + AC_SUBST([$1]) + ]) + ++# gl_INTTYPES_MODULE_INDICATOR([modulename]) ++# sets the shell variable that indicates the presence of the given module ++# to a C preprocessor expression that will evaluate to 1. ++# This macro invocation must not occur in macros that are AC_REQUIREd. + AC_DEFUN([gl_INTTYPES_MODULE_INDICATOR], + [ +- dnl Use AC_REQUIRE here, so that the default settings are expanded once only. +- AC_REQUIRE([gl_INTTYPES_H_DEFAULTS]) ++ dnl Ensure to expand the default settings once only. ++ gl_INTTYPES_H_REQUIRE_DEFAULTS + gl_MODULE_INDICATOR_SET_VARIABLE([$1]) + ]) + ++# Initializes the default values for AC_SUBSTed shell variables. ++# This macro must not be AC_REQUIREd. It must only be invoked, and only ++# outside of macros or in macros that are not AC_REQUIREd. ++AC_DEFUN([gl_INTTYPES_H_REQUIRE_DEFAULTS], ++[ ++ m4_defun(GL_MODULE_INDICATOR_PREFIX[_INTTYPES_H_MODULE_INDICATOR_DEFAULTS], [ ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_IMAXABS]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_IMAXDIV]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRTOIMAX]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRTOUMAX]) ++ ]) ++ m4_require(GL_MODULE_INDICATOR_PREFIX[_INTTYPES_H_MODULE_INDICATOR_DEFAULTS]) ++ AC_REQUIRE([gl_INTTYPES_H_DEFAULTS]) ++]) ++ + AC_DEFUN([gl_INTTYPES_H_DEFAULTS], + [ +- GNULIB_IMAXABS=0; AC_SUBST([GNULIB_IMAXABS]) +- GNULIB_IMAXDIV=0; AC_SUBST([GNULIB_IMAXDIV]) +- GNULIB_STRTOIMAX=0; AC_SUBST([GNULIB_STRTOIMAX]) +- GNULIB_STRTOUMAX=0; AC_SUBST([GNULIB_STRTOUMAX]) + dnl Assume proper GNU behavior unless another module says otherwise. + HAVE_DECL_IMAXABS=1; AC_SUBST([HAVE_DECL_IMAXABS]) + HAVE_DECL_IMAXDIV=1; AC_SUBST([HAVE_DECL_IMAXDIV]) +--- a/gnulib/m4/iswdigit.m4 ++++ b/gnulib/m4/iswdigit.m4 +@@ -1,4 +1,4 @@ +-# iswdigit.m4 serial 2 ++# iswdigit.m4 serial 3 + dnl Copyright (C) 2020-2021 Free Software Foundation, Inc. + dnl This file is free software; the Free Software Foundation + dnl gives unlimited permission to copy and/or distribute it, +@@ -81,12 +81,12 @@ main (int argc, char *argv[]) + } + if (setlocale (LC_ALL, "$LOCALE_FR_UTF8") != NULL) + { +- /* This fails on FreeBSD 12, NetBSD 8.0, MSVC 14. */ ++ /* This fails on FreeBSD 13.0, NetBSD 8.0, MSVC 14. */ + /* U+0663 ARABIC-INDIC DIGIT THREE */ + is = for_character ("\331\243", 2); + if (!(is == 0)) + result |= 4; +- /* This fails on FreeBSD 12, NetBSD 8.0, MSVC 14. */ ++ /* This fails on FreeBSD 13.0, NetBSD 8.0, MSVC 14. */ + /* U+FF11 FULLWIDTH DIGIT ONE */ + is = for_character ("\357\274\221", 3); + if (!(is == 0)) +--- a/gnulib/m4/iswxdigit.m4 ++++ b/gnulib/m4/iswxdigit.m4 +@@ -1,4 +1,4 @@ +-# iswxdigit.m4 serial 2 ++# iswxdigit.m4 serial 3 + dnl Copyright (C) 2020-2021 Free Software Foundation, Inc. + dnl This file is free software; the Free Software Foundation + dnl gives unlimited permission to copy and/or distribute it, +@@ -72,7 +72,7 @@ main (int argc, char *argv[]) + } + if (setlocale (LC_ALL, "$LOCALE_FR_UTF8") != NULL) + { +- /* This fails on FreeBSD 12. */ ++ /* This fails on FreeBSD 13.0. */ + /* U+0663 ARABIC-INDIC DIGIT THREE */ + is = for_character ("\331\243", 2); + if (!(is == 0)) +--- a/gnulib/m4/langinfo_h.m4 ++++ b/gnulib/m4/langinfo_h.m4 +@@ -1,10 +1,10 @@ +-# langinfo_h.m4 serial 9 ++# langinfo_h.m4 serial 12 + dnl Copyright (C) 2009-2021 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. + +-AC_DEFUN([gl_LANGINFO_H], ++AC_DEFUN_ONCE([gl_LANGINFO_H], + [ + AC_REQUIRE([gl_LANGINFO_H_DEFAULTS]) + +@@ -104,18 +104,33 @@ int a = YESEXPR; + ]], [nl_langinfo]) + ]) + ++# gl_LANGINFO_MODULE_INDICATOR([modulename]) ++# sets the shell variable that indicates the presence of the given module ++# to a C preprocessor expression that will evaluate to 1. ++# This macro invocation must not occur in macros that are AC_REQUIREd. + AC_DEFUN([gl_LANGINFO_MODULE_INDICATOR], + [ +- dnl Use AC_REQUIRE here, so that the default settings are expanded once only. +- AC_REQUIRE([gl_LANGINFO_H_DEFAULTS]) ++ dnl Ensure to expand the default settings once only. ++ gl_LANGINFO_H_REQUIRE_DEFAULTS + gl_MODULE_INDICATOR_SET_VARIABLE([$1]) + dnl Define it also as a C macro, for the benefit of the unit tests. + gl_MODULE_INDICATOR_FOR_TESTS([$1]) + ]) + ++# Initializes the default values for AC_SUBSTed shell variables. ++# This macro must not be AC_REQUIREd. It must only be invoked, and only ++# outside of macros or in macros that are not AC_REQUIREd. ++AC_DEFUN([gl_LANGINFO_H_REQUIRE_DEFAULTS], ++[ ++ m4_defun(GL_MODULE_INDICATOR_PREFIX[_LANGINFO_H_MODULE_INDICATOR_DEFAULTS], [ ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_NL_LANGINFO]) ++ ]) ++ m4_require(GL_MODULE_INDICATOR_PREFIX[_LANGINFO_H_MODULE_INDICATOR_DEFAULTS]) ++ AC_REQUIRE([gl_LANGINFO_H_DEFAULTS]) ++]) ++ + AC_DEFUN([gl_LANGINFO_H_DEFAULTS], + [ +- GNULIB_NL_LANGINFO=0; AC_SUBST([GNULIB_NL_LANGINFO]) + dnl Assume proper GNU behavior unless another module says otherwise. + HAVE_NL_LANGINFO=1; AC_SUBST([HAVE_NL_LANGINFO]) + REPLACE_NL_LANGINFO=0; AC_SUBST([REPLACE_NL_LANGINFO]) +--- a/gnulib/m4/largefile.m4 ++++ b/gnulib/m4/largefile.m4 +@@ -22,7 +22,8 @@ AC_DEFUN([gl_SET_LARGEFILE_SOURCE], + esac + ]) + +-# The following implementation works around a problem in autoconf <= 2.69; ++# Work around a problem in Autoconf through at least 2.71 on glibc 2.34+ ++# with _TIME_BITS. Also, work around a problem in autoconf <= 2.69: + # AC_SYS_LARGEFILE does not configure for large inodes on Mac OS X 10.5, + # or configures them incorrectly in some cases. + m4_version_prereq([2.70], [], [ +@@ -40,6 +41,7 @@ m4_define([_AC_SYS_LARGEFILE_TEST_INCLUD + && LARGE_OFF_T % 2147483647 == 1) + ? 1 : -1]];[]dnl + ]) ++])# m4_version_prereq 2.70 + + + # _AC_SYS_LARGEFILE_MACRO_VALUE(C-MACRO, VALUE, +@@ -54,7 +56,8 @@ m4_define([_AC_SYS_LARGEFILE_MACRO_VALUE + [AC_LANG_PROGRAM([$5], [$6])], + [$3=no; break]) + m4_ifval([$6], [AC_LINK_IFELSE], [AC_COMPILE_IFELSE])( +- [AC_LANG_PROGRAM([#define $1 $2 ++ [AC_LANG_PROGRAM([#undef $1 ++#define $1 $2 + $5], [$6])], + [$3=$2; break]) + $3=unknown +@@ -80,9 +83,8 @@ rm -rf conftest*[]dnl + AC_DEFUN([AC_SYS_LARGEFILE], + [AC_ARG_ENABLE(largefile, + [ --disable-largefile omit support for large files]) +-if test "$enable_largefile" != no; then +- +- AC_CACHE_CHECK([for special C compiler options needed for large files], ++AS_IF([test "$enable_largefile" != no], ++ [AC_CACHE_CHECK([for special C compiler options needed for large files], + ac_cv_sys_largefile_CC, + [ac_cv_sys_largefile_CC=no + if test "$GCC" != yes; then +@@ -107,15 +109,15 @@ if test "$enable_largefile" != no; then + ac_cv_sys_file_offset_bits, + [Number of bits in a file offset, on hosts where this is settable.], + [_AC_SYS_LARGEFILE_TEST_INCLUDES]) +- if test $ac_cv_sys_file_offset_bits = unknown; then +- _AC_SYS_LARGEFILE_MACRO_VALUE(_LARGE_FILES, 1, +- ac_cv_sys_large_files, +- [Define for large files, on AIX-style hosts.], +- [_AC_SYS_LARGEFILE_TEST_INCLUDES]) +- fi +-fi ++ AS_CASE([$ac_cv_sys_file_offset_bits], ++ [unknown], ++ [_AC_SYS_LARGEFILE_MACRO_VALUE([_LARGE_FILES], [1], ++ [ac_cv_sys_large_files], ++ [Define for large files, on AIX-style hosts.], ++ [_AC_SYS_LARGEFILE_TEST_INCLUDES])], ++ [64], ++ [gl_YEAR2038_BODY([])])]) + ])# AC_SYS_LARGEFILE +-])# m4_version_prereq 2.70 + + # Enable large files on systems where this is implemented by Gnulib, not by the + # system headers. +--- a/gnulib/m4/locale_h.m4 ++++ b/gnulib/m4/locale_h.m4 +@@ -1,13 +1,13 @@ +-# locale_h.m4 serial 25 ++# locale_h.m4 serial 28 + dnl Copyright (C) 2007, 2009-2021 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. + +-AC_DEFUN([gl_LOCALE_H], ++AC_DEFUN_ONCE([gl_LOCALE_H], + [ +- dnl Use AC_REQUIRE here, so that the default behavior below is expanded +- dnl once only, before all statements that occur in other macros. ++ dnl Ensure to expand the default settings once only, before all statements ++ dnl that occur in other macros. + AC_REQUIRE([gl_LOCALE_H_DEFAULTS]) + + dnl Persuade glibc <locale.h> to define locale_t and the int_p_*, int_n_* +@@ -129,22 +129,37 @@ AC_DEFUN([gl_LOCALE_T], + AC_SUBST([HAVE_XLOCALE_H]) + ]) + ++# gl_LOCALE_MODULE_INDICATOR([modulename]) ++# sets the shell variable that indicates the presence of the given module ++# to a C preprocessor expression that will evaluate to 1. ++# This macro invocation must not occur in macros that are AC_REQUIREd. + AC_DEFUN([gl_LOCALE_MODULE_INDICATOR], + [ +- dnl Use AC_REQUIRE here, so that the default settings are expanded once only. +- AC_REQUIRE([gl_LOCALE_H_DEFAULTS]) ++ dnl Ensure to expand the default settings once only. ++ gl_LOCALE_H_REQUIRE_DEFAULTS + gl_MODULE_INDICATOR_SET_VARIABLE([$1]) + dnl Define it also as a C macro, for the benefit of the unit tests. + gl_MODULE_INDICATOR_FOR_TESTS([$1]) + ]) + ++# Initializes the default values for AC_SUBSTed shell variables. ++# This macro must not be AC_REQUIREd. It must only be invoked, and only ++# outside of macros or in macros that are not AC_REQUIREd. ++AC_DEFUN([gl_LOCALE_H_REQUIRE_DEFAULTS], ++[ ++ m4_defun(GL_MODULE_INDICATOR_PREFIX[_LOCALE_H_MODULE_INDICATOR_DEFAULTS], [ ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_LOCALECONV]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SETLOCALE]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SETLOCALE_NULL]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_DUPLOCALE]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_LOCALENAME]) ++ ]) ++ m4_require(GL_MODULE_INDICATOR_PREFIX[_LOCALE_H_MODULE_INDICATOR_DEFAULTS]) ++ AC_REQUIRE([gl_LOCALE_H_DEFAULTS]) ++]) ++ + AC_DEFUN([gl_LOCALE_H_DEFAULTS], + [ +- GNULIB_LOCALECONV=0; AC_SUBST([GNULIB_LOCALECONV]) +- GNULIB_SETLOCALE=0; AC_SUBST([GNULIB_SETLOCALE]) +- GNULIB_SETLOCALE_NULL=0; AC_SUBST([GNULIB_SETLOCALE_NULL]) +- GNULIB_DUPLOCALE=0; AC_SUBST([GNULIB_DUPLOCALE]) +- GNULIB_LOCALENAME=0; AC_SUBST([GNULIB_LOCALENAME]) + dnl Assume proper GNU behavior unless another module says otherwise. + HAVE_NEWLOCALE=1; AC_SUBST([HAVE_NEWLOCALE]) + HAVE_DUPLOCALE=1; AC_SUBST([HAVE_DUPLOCALE]) +--- a/gnulib/m4/malloc.m4 ++++ b/gnulib/m4/malloc.m4 +@@ -1,21 +1,21 @@ +-# malloc.m4 serial 22 ++# malloc.m4 serial 27 + dnl Copyright (C) 2007, 2009-2021 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. + + # This is adapted with modifications from upstream Autoconf here: +-# https://git.savannah.gnu.org/cgit/autoconf.git/commit/?id=04be2b7a29d65d9a08e64e8e56e594c91749598c ++# https://git.savannah.gnu.org/cgit/autoconf.git/tree/lib/autoconf/functions.m4?id=v2.70#n949 + AC_DEFUN([_AC_FUNC_MALLOC_IF], + [ + AC_REQUIRE([AC_CANONICAL_HOST])dnl for cross-compiles +- AC_CACHE_CHECK([for GNU libc compatible malloc], ++ AC_CACHE_CHECK([whether malloc (0) returns nonnull], + [ac_cv_func_malloc_0_nonnull], + [AC_RUN_IFELSE( + [AC_LANG_PROGRAM( + [[#include <stdlib.h> + ]], +- [[char *p = malloc (0); ++ [[void *p = malloc (0); + int result = !p; + free (p); + return result;]]) +@@ -24,75 +24,151 @@ AC_DEFUN([_AC_FUNC_MALLOC_IF], + [ac_cv_func_malloc_0_nonnull=no], + [case "$host_os" in + # Guess yes on platforms where we know the result. +- *-gnu* | gnu* | *-musl* | freebsd* | midnightbsd* | netbsd* | openbsd* \ +- | hpux* | solaris* | cygwin* | mingw*) ++ *-gnu* | freebsd* | netbsd* | openbsd* | bitrig* \ ++ | gnu* | *-musl* | midnightbsd* \ ++ | hpux* | solaris* | cygwin* | mingw* | msys* ) + ac_cv_func_malloc_0_nonnull="guessing yes" ;; + # If we don't know, obey --enable-cross-guesses. + *) ac_cv_func_malloc_0_nonnull="$gl_cross_guess_normal" ;; + esac + ]) + ]) +- case "$ac_cv_func_malloc_0_nonnull" in +- *yes) +- $1 +- ;; +- *) +- $2 +- ;; +- esac ++ AS_CASE([$ac_cv_func_malloc_0_nonnull], [*yes], [$1], [$2]) + ])# _AC_FUNC_MALLOC_IF + + # gl_FUNC_MALLOC_GNU + # ------------------ +-# Test whether 'malloc (0)' is handled like in GNU libc, and replace malloc if +-# it is not. ++# Replace malloc if it is not compatible with GNU libc. + AC_DEFUN([gl_FUNC_MALLOC_GNU], + [ + AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) +- dnl _AC_FUNC_MALLOC_IF is defined in Autoconf. +- _AC_FUNC_MALLOC_IF( +- [AC_DEFINE([HAVE_MALLOC_GNU], [1], +- [Define to 1 if your system has a GNU libc compatible 'malloc' +- function, and to 0 otherwise.])], +- [AC_DEFINE([HAVE_MALLOC_GNU], [0]) +- REPLACE_MALLOC=1 ++ AC_REQUIRE([gl_FUNC_MALLOC_POSIX]) ++ if test $REPLACE_MALLOC = 0; then ++ _AC_FUNC_MALLOC_IF([], [REPLACE_MALLOC=1]) ++ fi ++]) ++ ++# gl_FUNC_MALLOC_PTRDIFF ++# ---------------------- ++# Test whether malloc (N) reliably fails when N exceeds PTRDIFF_MAX, ++# and replace malloc otherwise. ++AC_DEFUN([gl_FUNC_MALLOC_PTRDIFF], ++[ ++ AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) ++ AC_REQUIRE([gl_CHECK_MALLOC_PTRDIFF]) ++ test "$gl_cv_malloc_ptrdiff" = yes || REPLACE_MALLOC=1 ++]) ++ ++# Test whether malloc, realloc, calloc refuse to create objects ++# larger than what can be expressed in ptrdiff_t. ++# Set gl_cv_func_malloc_gnu to yes or no accordingly. ++AC_DEFUN([gl_CHECK_MALLOC_PTRDIFF], ++[ ++ AC_CACHE_CHECK([whether malloc is ptrdiff_t safe], ++ [gl_cv_malloc_ptrdiff], ++ [AC_COMPILE_IFELSE( ++ [AC_LANG_PROGRAM( ++ [[#include <stdint.h> ++ ]], ++ [[/* 64-bit ptrdiff_t is so wide that no practical platform ++ can exceed it. */ ++ #define WIDE_PTRDIFF (PTRDIFF_MAX >> 31 >> 31 != 0) ++ ++ /* On rare machines where size_t fits in ptrdiff_t there ++ is no problem. */ ++ #define NARROW_SIZE (SIZE_MAX <= PTRDIFF_MAX) ++ ++ /* glibc 2.30 and later malloc refuses to exceed ptrdiff_t ++ bounds even on 32-bit platforms. We don't know which ++ non-glibc systems are safe. */ ++ #define KNOWN_SAFE (2 < __GLIBC__ + (30 <= __GLIBC_MINOR__)) ++ ++ #if WIDE_PTRDIFF || NARROW_SIZE || KNOWN_SAFE ++ return 0; ++ #else ++ #error "malloc might not be ptrdiff_t safe" ++ syntax error ++ #endif ++ ]])], ++ [gl_cv_malloc_ptrdiff=yes], ++ [gl_cv_malloc_ptrdiff=no]) + ]) + ]) + + # gl_FUNC_MALLOC_POSIX + # -------------------- + # Test whether 'malloc' is POSIX compliant (sets errno to ENOMEM when it +-# fails), and replace malloc if it is not. ++# fails, and doesn't mess up with ptrdiff_t overflow), and replace ++# malloc if it is not. + AC_DEFUN([gl_FUNC_MALLOC_POSIX], + [ + AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) ++ AC_REQUIRE([gl_FUNC_MALLOC_PTRDIFF]) + AC_REQUIRE([gl_CHECK_MALLOC_POSIX]) +- if test $gl_cv_func_malloc_posix = yes; then ++ if test "$gl_cv_func_malloc_posix" = yes; then + AC_DEFINE([HAVE_MALLOC_POSIX], [1], +- [Define if the 'malloc' function is POSIX compliant.]) ++ [Define if malloc, realloc, and calloc set errno on allocation failure.]) + else + REPLACE_MALLOC=1 + fi + ]) + +-# Test whether malloc, realloc, calloc are POSIX compliant, ++# Test whether malloc, realloc, calloc set errno to ENOMEM on failure. + # Set gl_cv_func_malloc_posix to yes or no accordingly. + AC_DEFUN([gl_CHECK_MALLOC_POSIX], + [ +- AC_CACHE_CHECK([whether malloc, realloc, calloc are POSIX compliant], ++ AC_REQUIRE([AC_CANONICAL_HOST]) ++ AC_CACHE_CHECK([whether malloc, realloc, calloc set errno on failure], + [gl_cv_func_malloc_posix], + [ + dnl It is too dangerous to try to allocate a large amount of memory: + dnl some systems go to their knees when you do that. So assume that +- dnl all Unix implementations of the function are POSIX compliant. +- AC_COMPILE_IFELSE( +- [AC_LANG_PROGRAM( +- [[]], +- [[#if defined _WIN32 && ! defined __CYGWIN__ +- choke me +- #endif +- ]])], +- [gl_cv_func_malloc_posix=yes], +- [gl_cv_func_malloc_posix=no]) ++ dnl all Unix implementations of the function set errno on failure, ++ dnl except on those platforms where we have seen 'test-malloc-gnu', ++ dnl 'test-realloc-gnu', 'test-calloc-gnu' fail. ++ case "$host_os" in ++ mingw*) ++ gl_cv_func_malloc_posix=no ;; ++ irix* | solaris*) ++ dnl On IRIX 6.5, the three functions return NULL with errno unset ++ dnl when the argument is larger than PTRDIFF_MAX. ++ dnl On Solaris 11.3, the three functions return NULL with errno set ++ dnl to EAGAIN, not ENOMEM, when the argument is larger than ++ dnl PTRDIFF_MAX. ++ dnl Here is a test program: ++m4_divert_push([KILL]) ++#include <errno.h> ++#include <stdio.h> ++#include <stdlib.h> ++#define ptrdiff_t long ++#ifndef PTRDIFF_MAX ++# define PTRDIFF_MAX ((ptrdiff_t) ((1UL << (8 * sizeof (ptrdiff_t) - 1)) - 1)) ++#endif ++ ++int main () ++{ ++ void *p; ++ ++ fprintf (stderr, "PTRDIFF_MAX = %lu\n", (unsigned long) PTRDIFF_MAX); ++ ++ errno = 0; ++ p = malloc ((unsigned long) PTRDIFF_MAX + 1); ++ fprintf (stderr, "p=%p errno=%d\n", p, errno); ++ ++ errno = 0; ++ p = calloc (PTRDIFF_MAX / 2 + 1, 2); ++ fprintf (stderr, "p=%p errno=%d\n", p, errno); ++ ++ errno = 0; ++ p = realloc (NULL, (unsigned long) PTRDIFF_MAX + 1); ++ fprintf (stderr, "p=%p errno=%d\n", p, errno); ++ ++ return 0; ++} ++m4_divert_pop([KILL]) ++ gl_cv_func_malloc_posix=no ;; ++ *) ++ gl_cv_func_malloc_posix=yes ;; ++ esac + ]) + ]) +--- a/gnulib/m4/mbslen.m4 ++++ b/gnulib/m4/mbslen.m4 +@@ -1,4 +1,4 @@ +-# mbslen.m4 serial 2 ++# mbslen.m4 serial 3 + dnl Copyright (C) 2010-2021 Free Software Foundation, Inc. + dnl This file is free software; the Free Software Foundation + dnl gives unlimited permission to copy and/or distribute it, +@@ -6,7 +6,7 @@ dnl with or without modifications, as lo + + AC_DEFUN([gl_FUNC_MBSLEN], + [ +- AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) ++ AC_REQUIRE([gl_STRING_H_DEFAULTS]) + AC_CHECK_FUNCS_ONCE([mbslen]) + if test $ac_cv_func_mbslen = yes; then + HAVE_MBSLEN=1 +--- a/gnulib/m4/memchr.m4 ++++ b/gnulib/m4/memchr.m4 +@@ -1,4 +1,4 @@ +-# memchr.m4 serial 17 ++# memchr.m4 serial 18 + dnl Copyright (C) 2002-2004, 2009-2021 Free Software Foundation, Inc. + dnl This file is free software; the Free Software Foundation + dnl gives unlimited permission to copy and/or distribute it, +@@ -13,7 +13,7 @@ AC_DEFUN_ONCE([gl_FUNC_MEMCHR], + AC_CHECK_HEADERS_ONCE([sys/mman.h]) + AC_CHECK_FUNCS_ONCE([mprotect]) + +- AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) ++ AC_REQUIRE([gl_STRING_H_DEFAULTS]) + # Detect platform-specific bugs in some versions of glibc: + # memchr should not dereference anything with length 0 + # https://bugzilla.redhat.com/show_bug.cgi?id=499689 +--- a/gnulib/m4/mempcpy.m4 ++++ b/gnulib/m4/mempcpy.m4 +@@ -1,4 +1,4 @@ +-# mempcpy.m4 serial 11 ++# mempcpy.m4 serial 12 + dnl Copyright (C) 2003-2004, 2006-2007, 2009-2021 Free Software Foundation, + dnl Inc. + dnl This file is free software; the Free Software Foundation +@@ -13,7 +13,7 @@ AC_DEFUN([gl_FUNC_MEMPCPY], + dnl The mempcpy() declaration in lib/string.in.h uses 'restrict'. + AC_REQUIRE([AC_C_RESTRICT]) + +- AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) ++ AC_REQUIRE([gl_STRING_H_DEFAULTS]) + AC_CHECK_FUNCS([mempcpy]) + if test $ac_cv_func_mempcpy = no; then + HAVE_MEMPCPY=0 +--- a/gnulib/m4/memrchr.m4 ++++ b/gnulib/m4/memrchr.m4 +@@ -1,4 +1,4 @@ +-# memrchr.m4 serial 10 ++# memrchr.m4 serial 11 + dnl Copyright (C) 2002-2003, 2005-2007, 2009-2021 Free Software Foundation, + dnl Inc. + dnl This file is free software; the Free Software Foundation +@@ -10,7 +10,7 @@ AC_DEFUN([gl_FUNC_MEMRCHR], + dnl Persuade glibc <string.h> to declare memrchr(). + AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) + +- AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) ++ AC_REQUIRE([gl_STRING_H_DEFAULTS]) + AC_CHECK_DECLS_ONCE([memrchr]) + if test $ac_cv_have_decl_memrchr = no; then + HAVE_DECL_MEMRCHR=0 +--- /dev/null ++++ b/gnulib/m4/minmax.m4 +@@ -0,0 +1,44 @@ ++# minmax.m4 serial 4 ++dnl Copyright (C) 2005, 2009-2021 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. ++ ++AC_PREREQ([2.53]) ++ ++AC_DEFUN([gl_MINMAX], ++[ ++ AC_REQUIRE([gl_PREREQ_MINMAX]) ++]) ++ ++# Prerequisites of lib/minmax.h. ++AC_DEFUN([gl_PREREQ_MINMAX], ++[ ++ gl_MINMAX_IN_HEADER([limits.h]) ++ gl_MINMAX_IN_HEADER([sys/param.h]) ++]) ++ ++dnl gl_MINMAX_IN_HEADER(HEADER) ++dnl The parameter has to be a literal header name; it cannot be macro, ++dnl nor a shell variable. (Because autoheader collects only AC_DEFINE ++dnl invocations with a literal macro name.) ++AC_DEFUN([gl_MINMAX_IN_HEADER], ++[ ++ m4_pushdef([header], AS_TR_SH([$1])) ++ m4_pushdef([HEADER], AS_TR_CPP([$1])) ++ AC_CACHE_CHECK([whether <$1> defines MIN and MAX], ++ [gl_cv_minmax_in_]header, ++ [AC_COMPILE_IFELSE( ++ [AC_LANG_PROGRAM( ++ [[#include <$1> ++ int x = MIN (42, 17);]], ++ [[]])], ++ [gl_cv_minmax_in_]header[=yes], ++ [gl_cv_minmax_in_]header[=no])]) ++ if test $gl_cv_minmax_in_[]header = yes; then ++ AC_DEFINE([HAVE_MINMAX_IN_]HEADER, 1, ++ [Define to 1 if <$1> defines the MIN and MAX macros.]) ++ fi ++ m4_popdef([HEADER]) ++ m4_popdef([header]) ++]) +--- a/gnulib/m4/printf.m4 ++++ b/gnulib/m4/printf.m4 +@@ -1,4 +1,4 @@ +-# printf.m4 serial 72 ++# printf.m4 serial 73 + dnl Copyright (C) 2003, 2007-2021 Free Software Foundation, Inc. + dnl This file is free software; the Free Software Foundation + dnl gives unlimited permission to copy and/or distribute it, +@@ -537,7 +537,7 @@ int main () + && strcmp (buf, "-0X6.488P-1 33") != 0 + && strcmp (buf, "-0XC.91P-2 33") != 0)) + result |= 2; +- /* This catches a FreeBSD 6.1 bug: it doesn't round. */ ++ /* This catches a FreeBSD 13.0 bug: it doesn't round. */ + if (sprintf (buf, "%.2a %d", 1.51, 33, 44, 55) < 0 + || (strcmp (buf, "0x1.83p+0 33") != 0 + && strcmp (buf, "0x3.05p-1 33") != 0 +@@ -1690,6 +1690,7 @@ dnl + dnl 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 + dnl glibc 2.5 . . . . . . . . . . . . . . . . . . . . + dnl glibc 2.3.6 . . . . # . . . . . . . . . . . . . . . ++dnl FreeBSD 13.0 . . . . # . . . . . . . . # . . . . . . + dnl FreeBSD 5.4, 6.1 . . . . # . . . . . . # . # . . . . . . + dnl Mac OS X 10.13.5 . . . # # . # . . . . . . . . . . # . . + dnl Mac OS X 10.5.8 . . . # # . . . . . . # . . . . . . . . +--- /dev/null ++++ b/gnulib/m4/realloc.m4 +@@ -0,0 +1,63 @@ ++# realloc.m4 serial 24 ++dnl Copyright (C) 2007, 2009-2021 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. ++ ++# This is adapted with modifications from upstream Autoconf here: ++# https://git.savannah.gnu.org/cgit/autoconf.git/tree/lib/autoconf/functions.m4?id=v2.70#n1455 ++AC_DEFUN([_AC_FUNC_REALLOC_IF], ++[ ++ AC_REQUIRE([AC_CANONICAL_HOST])dnl for cross-compiles ++ AC_CACHE_CHECK([whether realloc (0, 0) returns nonnull], ++ [ac_cv_func_realloc_0_nonnull], ++ [AC_RUN_IFELSE( ++ [AC_LANG_PROGRAM( ++ [[#include <stdlib.h> ++ ]], ++ [[void *p = realloc (0, 0); ++ int result = !p; ++ free (p); ++ return result;]]) ++ ], ++ [ac_cv_func_realloc_0_nonnull=yes], ++ [ac_cv_func_realloc_0_nonnull=no], ++ [case "$host_os" in ++ # Guess yes on platforms where we know the result. ++ *-gnu* | freebsd* | netbsd* | openbsd* | bitrig* \ ++ | gnu* | *-musl* | midnightbsd* \ ++ | hpux* | solaris* | cygwin* | mingw* | msys* ) ++ ac_cv_func_realloc_0_nonnull="guessing yes" ;; ++ # If we don't know, obey --enable-cross-guesses. ++ *) ac_cv_func_realloc_0_nonnull="$gl_cross_guess_normal" ;; ++ esac ++ ]) ++ ]) ++ AS_CASE([$ac_cv_func_realloc_0_nonnull], [*yes], [$1], [$2]) ++])# AC_FUNC_REALLOC ++ ++# gl_FUNC_REALLOC_GNU ++# ------------------- ++# Replace realloc if it is not compatible with GNU libc. ++AC_DEFUN([gl_FUNC_REALLOC_GNU], ++[ ++ AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) ++ AC_REQUIRE([gl_FUNC_REALLOC_POSIX]) ++ if test $REPLACE_REALLOC = 0; then ++ _AC_FUNC_REALLOC_IF([], [REPLACE_REALLOC=1]) ++ fi ++])# gl_FUNC_REALLOC_GNU ++ ++# gl_FUNC_REALLOC_POSIX ++# --------------------- ++# Test whether 'realloc' is POSIX compliant (sets errno to ENOMEM when it ++# fails, and doesn't mess up with ptrdiff_t overflow), ++# and replace realloc if it is not. ++AC_DEFUN([gl_FUNC_REALLOC_POSIX], ++[ ++ AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) ++ AC_REQUIRE([gl_FUNC_MALLOC_POSIX]) ++ if test $REPLACE_MALLOC = 1; then ++ REPLACE_REALLOC=1 ++ fi ++]) +--- /dev/null ++++ b/gnulib/m4/reallocarray.m4 +@@ -0,0 +1,23 @@ ++# reallocarray.m4 serial 3 ++dnl Copyright (C) 2017-2021 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. ++ ++AC_DEFUN([gl_FUNC_REALLOCARRAY], ++[ ++ dnl Persuade glibc <stdlib.h> to declare reallocarray. ++ AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) ++ ++ AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) ++ AC_REQUIRE([gl_CHECK_MALLOC_PTRDIFF]) ++ AC_CHECK_FUNCS([reallocarray]) ++ if test "$ac_cv_func_reallocarray" = no; then ++ HAVE_REALLOCARRAY=0 ++ elif test "$gl_cv_malloc_ptrdiff" = no; then ++ REPLACE_REALLOCARRAY=1 ++ fi ++]) ++ ++# Prerequisites of lib/reallocarray.c. ++AC_DEFUN([gl_PREREQ_REALLOCARRAY], [:]) +--- a/gnulib/m4/stat.m4 ++++ b/gnulib/m4/stat.m4 +@@ -1,4 +1,4 @@ +-# serial 17 ++# serial 18 + + # Copyright (C) 2009-2021 Free Software Foundation, Inc. + # +@@ -69,7 +69,7 @@ AC_DEFUN([gl_FUNC_STAT], + + # Prerequisites of lib/stat.c and lib/stat-w32.c. + AC_DEFUN([gl_PREREQ_STAT], [ +- AC_REQUIRE([gl_HEADER_SYS_STAT_H]) ++ AC_REQUIRE([gl_SYS_STAT_H]) + AC_REQUIRE([gl_PREREQ_STAT_W32]) + : + ]) +--- a/gnulib/m4/stddef_h.m4 ++++ b/gnulib/m4/stddef_h.m4 +@@ -1,4 +1,4 @@ +-# stddef_h.m4 serial 9 ++# stddef_h.m4 serial 11 + dnl Copyright (C) 2009-2021 Free Software Foundation, Inc. + dnl This file is free software; the Free Software Foundation + dnl gives unlimited permission to copy and/or distribute it, +@@ -6,7 +6,7 @@ dnl with or without modifications, as lo + + dnl A placeholder for <stddef.h>, for platforms that have issues. + +-AC_DEFUN([gl_STDDEF_H], ++AC_DEFUN_ONCE([gl_STDDEF_H], + [ + AC_REQUIRE([gl_STDDEF_H_DEFAULTS]) + AC_REQUIRE([gt_TYPE_WCHAR_T]) +@@ -68,13 +68,28 @@ AC_DEFUN([gl_STDDEF_H], + fi + ]) + ++# gl_STDDEF_MODULE_INDICATOR([modulename]) ++# sets the shell variable that indicates the presence of the given module ++# to a C preprocessor expression that will evaluate to 1. ++# This macro invocation must not occur in macros that are AC_REQUIREd. + AC_DEFUN([gl_STDDEF_MODULE_INDICATOR], + [ +- dnl Use AC_REQUIRE here, so that the default settings are expanded once only. +- AC_REQUIRE([gl_STDDEF_H_DEFAULTS]) ++ dnl Ensure to expand the default settings once only. ++ gl_STDDEF_H_REQUIRE_DEFAULTS + gl_MODULE_INDICATOR_SET_VARIABLE([$1]) + ]) + ++# Initializes the default values for AC_SUBSTed shell variables. ++# This macro must not be AC_REQUIREd. It must only be invoked, and only ++# outside of macros or in macros that are not AC_REQUIREd. ++AC_DEFUN([gl_STDDEF_H_REQUIRE_DEFAULTS], ++[ ++ m4_defun(GL_MODULE_INDICATOR_PREFIX[_STDDEF_H_MODULE_INDICATOR_DEFAULTS], [ ++ ]) ++ m4_require(GL_MODULE_INDICATOR_PREFIX[_STDDEF_H_MODULE_INDICATOR_DEFAULTS]) ++ AC_REQUIRE([gl_STDDEF_H_DEFAULTS]) ++]) ++ + AC_DEFUN([gl_STDDEF_H_DEFAULTS], + [ + dnl Assume proper GNU behavior unless another module says otherwise. +--- a/gnulib/m4/stdint.m4 ++++ b/gnulib/m4/stdint.m4 +@@ -1,4 +1,4 @@ +-# stdint.m4 serial 58 ++# stdint.m4 serial 60 + dnl Copyright (C) 2001-2021 Free Software Foundation, Inc. + dnl This file is free software; the Free Software Foundation + dnl gives unlimited permission to copy and/or distribute it, +@@ -170,7 +170,7 @@ struct s { + PTRDIFF_MIN == TYPE_MINIMUM (ptrdiff_t) + && PTRDIFF_MAX == TYPE_MAXIMUM (ptrdiff_t) + ? 1 : -1; +- /* Detect bug in FreeBSD 6.0 / ia64. */ ++ /* Detect bug in FreeBSD 6.0/ia64 and FreeBSD 13.0/arm64. */ + int check_SIG_ATOMIC: + SIG_ATOMIC_MIN == TYPE_MINIMUM (sig_atomic_t) + && SIG_ATOMIC_MAX == TYPE_MAXIMUM (sig_atomic_t) +@@ -527,7 +527,7 @@ AC_DEFUN([gl_STDINT_TYPE_PROPERTIES], + dnl requirement that wint_t is "unchanged by default argument promotions". + dnl In this case gnulib's <wchar.h> and <wctype.h> override wint_t. + dnl Set the variable BITSIZEOF_WINT_T accordingly. +- if test $GNULIB_OVERRIDES_WINT_T = 1; then ++ if test $GNULIBHEADERS_OVERRIDE_WINT_T = 1; then + BITSIZEOF_WINT_T=32 + fi + ]) +--- a/gnulib/m4/stdio_h.m4 ++++ b/gnulib/m4/stdio_h.m4 +@@ -1,11 +1,12 @@ +-# stdio_h.m4 serial 52 ++# stdio_h.m4 serial 56 + dnl Copyright (C) 2007-2021 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. + +-AC_DEFUN([gl_STDIO_H], ++AC_DEFUN_ONCE([gl_STDIO_H], + [ ++ AC_REQUIRE([gl_STDIO_H_DEFAULTS]) + AH_VERBATIM([MINGW_ANSI_STDIO], + [/* Use GNU style printf and scanf. */ + #ifndef __USE_MINGW_ANSI_STDIO +@@ -13,7 +14,6 @@ AC_DEFUN([gl_STDIO_H], + #endif + ]) + AC_DEFINE([__USE_MINGW_ANSI_STDIO]) +- AC_REQUIRE([gl_STDIO_H_DEFAULTS]) + gl_NEXT_HEADERS([stdio.h]) + + dnl Determine whether __USE_MINGW_ANSI_STDIO makes printf and +@@ -40,17 +40,6 @@ AC_DEFUN([gl_STDIO_H], + attribute "__gnu_printf__" instead of "__printf__"]) + fi + +- dnl No need to create extra modules for these functions. Everyone who uses +- dnl <stdio.h> likely needs them. +- GNULIB_FSCANF=1 +- gl_MODULE_INDICATOR([fscanf]) +- GNULIB_SCANF=1 +- gl_MODULE_INDICATOR([scanf]) +- GNULIB_FGETC=1 +- GNULIB_GETC=1 +- GNULIB_GETCHAR=1 +- GNULIB_FGETS=1 +- GNULIB_FREAD=1 + dnl This ifdef is necessary to avoid an error "missing file lib/stdio-read.c" + dnl "expected source file, required through AC_LIBSOURCES, not found". It is + dnl also an optimization, to avoid performing a configure check whose result +@@ -64,18 +53,6 @@ AC_DEFUN([gl_STDIO_H], + fi + ]) + +- dnl No need to create extra modules for these functions. Everyone who uses +- dnl <stdio.h> likely needs them. +- GNULIB_FPRINTF=1 +- GNULIB_PRINTF=1 +- GNULIB_VFPRINTF=1 +- GNULIB_VPRINTF=1 +- GNULIB_FPUTC=1 +- GNULIB_PUTC=1 +- GNULIB_PUTCHAR=1 +- GNULIB_FPUTS=1 +- GNULIB_PUTS=1 +- GNULIB_FWRITE=1 + dnl This ifdef is necessary to avoid an error "missing file lib/stdio-write.c" + dnl "expected source file, required through AC_LIBSOURCES, not found". It is + dnl also an optimization, to avoid performing a configure check whose result +@@ -116,77 +93,92 @@ AC_DEFUN([gl_STDIO_H], + fi + ]) + ++# gl_STDIO_MODULE_INDICATOR([modulename]) ++# sets the shell variable that indicates the presence of the given module ++# to a C preprocessor expression that will evaluate to 1. ++# This macro invocation must not occur in macros that are AC_REQUIREd. + AC_DEFUN([gl_STDIO_MODULE_INDICATOR], + [ +- dnl Use AC_REQUIRE here, so that the default settings are expanded once only. +- AC_REQUIRE([gl_STDIO_H_DEFAULTS]) ++ dnl Ensure to expand the default settings once only. ++ gl_STDIO_H_REQUIRE_DEFAULTS + gl_MODULE_INDICATOR_SET_VARIABLE([$1]) + dnl Define it also as a C macro, for the benefit of the unit tests. + gl_MODULE_INDICATOR_FOR_TESTS([$1]) + ]) + ++# Initializes the default values for AC_SUBSTed shell variables. ++# This macro must not be AC_REQUIREd. It must only be invoked, and only ++# outside of macros or in macros that are not AC_REQUIREd. ++AC_DEFUN([gl_STDIO_H_REQUIRE_DEFAULTS], ++[ ++ m4_defun(GL_MODULE_INDICATOR_PREFIX[_STDIO_H_MODULE_INDICATOR_DEFAULTS], [ ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_DPRINTF]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FCLOSE]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FDOPEN]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FFLUSH]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FGETC]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FGETS]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FOPEN]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FPRINTF]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FPRINTF_POSIX]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FPURGE]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FPUTC]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FPUTS]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FREAD]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FREOPEN]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FSCANF]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FSEEK]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FSEEKO]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FTELL]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FTELLO]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FWRITE]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETC]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETCHAR]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETDELIM]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETLINE]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_OBSTACK_PRINTF]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_OBSTACK_PRINTF_POSIX]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_PCLOSE]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_PERROR]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_POPEN]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_PRINTF]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_PRINTF_POSIX]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_PUTC]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_PUTCHAR]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_PUTS]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_REMOVE]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_RENAME]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_RENAMEAT]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SCANF]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SNPRINTF]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SPRINTF_POSIX]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STDIO_H_NONBLOCKING]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STDIO_H_SIGPIPE]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TMPFILE]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_VASPRINTF]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_VFSCANF]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_VSCANF]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_VDPRINTF]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_VFPRINTF]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_VFPRINTF_POSIX]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_VPRINTF]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_VPRINTF_POSIX]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_VSNPRINTF]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_VSPRINTF_POSIX]) ++ dnl Support Microsoft deprecated alias function names by default. ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_FCLOSEALL], [1]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_FDOPEN], [1]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_FILENO], [1]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_GETW], [1]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_PUTW], [1]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_TEMPNAM], [1]) ++ ]) ++ m4_require(GL_MODULE_INDICATOR_PREFIX[_STDIO_H_MODULE_INDICATOR_DEFAULTS]) ++ AC_REQUIRE([gl_STDIO_H_DEFAULTS]) ++]) ++ + AC_DEFUN([gl_STDIO_H_DEFAULTS], + [ +- GNULIB_DPRINTF=0; AC_SUBST([GNULIB_DPRINTF]) +- GNULIB_FCLOSE=0; AC_SUBST([GNULIB_FCLOSE]) +- GNULIB_FDOPEN=0; AC_SUBST([GNULIB_FDOPEN]) +- GNULIB_FFLUSH=0; AC_SUBST([GNULIB_FFLUSH]) +- GNULIB_FGETC=0; AC_SUBST([GNULIB_FGETC]) +- GNULIB_FGETS=0; AC_SUBST([GNULIB_FGETS]) +- GNULIB_FOPEN=0; AC_SUBST([GNULIB_FOPEN]) +- GNULIB_FPRINTF=0; AC_SUBST([GNULIB_FPRINTF]) +- GNULIB_FPRINTF_POSIX=0; AC_SUBST([GNULIB_FPRINTF_POSIX]) +- GNULIB_FPURGE=0; AC_SUBST([GNULIB_FPURGE]) +- GNULIB_FPUTC=0; AC_SUBST([GNULIB_FPUTC]) +- GNULIB_FPUTS=0; AC_SUBST([GNULIB_FPUTS]) +- GNULIB_FREAD=0; AC_SUBST([GNULIB_FREAD]) +- GNULIB_FREOPEN=0; AC_SUBST([GNULIB_FREOPEN]) +- GNULIB_FSCANF=0; AC_SUBST([GNULIB_FSCANF]) +- GNULIB_FSEEK=0; AC_SUBST([GNULIB_FSEEK]) +- GNULIB_FSEEKO=0; AC_SUBST([GNULIB_FSEEKO]) +- GNULIB_FTELL=0; AC_SUBST([GNULIB_FTELL]) +- GNULIB_FTELLO=0; AC_SUBST([GNULIB_FTELLO]) +- GNULIB_FWRITE=0; AC_SUBST([GNULIB_FWRITE]) +- GNULIB_GETC=0; AC_SUBST([GNULIB_GETC]) +- GNULIB_GETCHAR=0; AC_SUBST([GNULIB_GETCHAR]) +- GNULIB_GETDELIM=0; AC_SUBST([GNULIB_GETDELIM]) +- GNULIB_GETLINE=0; AC_SUBST([GNULIB_GETLINE]) +- GNULIB_OBSTACK_PRINTF=0; AC_SUBST([GNULIB_OBSTACK_PRINTF]) +- GNULIB_OBSTACK_PRINTF_POSIX=0; AC_SUBST([GNULIB_OBSTACK_PRINTF_POSIX]) +- GNULIB_PCLOSE=0; AC_SUBST([GNULIB_PCLOSE]) +- GNULIB_PERROR=0; AC_SUBST([GNULIB_PERROR]) +- GNULIB_POPEN=0; AC_SUBST([GNULIB_POPEN]) +- GNULIB_PRINTF=0; AC_SUBST([GNULIB_PRINTF]) +- GNULIB_PRINTF_POSIX=0; AC_SUBST([GNULIB_PRINTF_POSIX]) +- GNULIB_PUTC=0; AC_SUBST([GNULIB_PUTC]) +- GNULIB_PUTCHAR=0; AC_SUBST([GNULIB_PUTCHAR]) +- GNULIB_PUTS=0; AC_SUBST([GNULIB_PUTS]) +- GNULIB_REMOVE=0; AC_SUBST([GNULIB_REMOVE]) +- GNULIB_RENAME=0; AC_SUBST([GNULIB_RENAME]) +- GNULIB_RENAMEAT=0; AC_SUBST([GNULIB_RENAMEAT]) +- GNULIB_SCANF=0; AC_SUBST([GNULIB_SCANF]) +- GNULIB_SNPRINTF=0; AC_SUBST([GNULIB_SNPRINTF]) +- GNULIB_SPRINTF_POSIX=0; AC_SUBST([GNULIB_SPRINTF_POSIX]) +- GNULIB_STDIO_H_NONBLOCKING=0; AC_SUBST([GNULIB_STDIO_H_NONBLOCKING]) +- GNULIB_STDIO_H_SIGPIPE=0; AC_SUBST([GNULIB_STDIO_H_SIGPIPE]) +- GNULIB_TMPFILE=0; AC_SUBST([GNULIB_TMPFILE]) +- GNULIB_VASPRINTF=0; AC_SUBST([GNULIB_VASPRINTF]) +- GNULIB_VFSCANF=0; AC_SUBST([GNULIB_VFSCANF]) +- GNULIB_VSCANF=0; AC_SUBST([GNULIB_VSCANF]) +- GNULIB_VDPRINTF=0; AC_SUBST([GNULIB_VDPRINTF]) +- GNULIB_VFPRINTF=0; AC_SUBST([GNULIB_VFPRINTF]) +- GNULIB_VFPRINTF_POSIX=0; AC_SUBST([GNULIB_VFPRINTF_POSIX]) +- GNULIB_VPRINTF=0; AC_SUBST([GNULIB_VPRINTF]) +- GNULIB_VPRINTF_POSIX=0; AC_SUBST([GNULIB_VPRINTF_POSIX]) +- GNULIB_VSNPRINTF=0; AC_SUBST([GNULIB_VSNPRINTF]) +- GNULIB_VSPRINTF_POSIX=0; AC_SUBST([GNULIB_VSPRINTF_POSIX]) +- dnl Support Microsoft deprecated alias function names by default. +- GNULIB_MDA_FCLOSEALL=1; AC_SUBST([GNULIB_MDA_FCLOSEALL]) +- GNULIB_MDA_FDOPEN=1; AC_SUBST([GNULIB_MDA_FDOPEN]) +- GNULIB_MDA_FILENO=1; AC_SUBST([GNULIB_MDA_FILENO]) +- GNULIB_MDA_GETW=1; AC_SUBST([GNULIB_MDA_GETW]) +- GNULIB_MDA_PUTW=1; AC_SUBST([GNULIB_MDA_PUTW]) +- GNULIB_MDA_TEMPNAM=1; AC_SUBST([GNULIB_MDA_TEMPNAM]) + dnl Assume proper GNU behavior unless another module says otherwise. + HAVE_DECL_FCLOSEALL=1; AC_SUBST([HAVE_DECL_FCLOSEALL]) + HAVE_DECL_FPURGE=1; AC_SUBST([HAVE_DECL_FPURGE]) +--- a/gnulib/m4/stdlib_h.m4 ++++ b/gnulib/m4/stdlib_h.m4 +@@ -1,10 +1,10 @@ +-# stdlib_h.m4 serial 55 ++# stdlib_h.m4 serial 63 + dnl Copyright (C) 2007-2021 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. + +-AC_DEFUN([gl_STDLIB_H], ++AC_DEFUN_ONCE([gl_STDLIB_H], + [ + AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) + gl_NEXT_HEADERS([stdlib.h]) +@@ -28,7 +28,7 @@ AC_DEFUN([gl_STDLIB_H], + posix_memalign posix_openpt ptsname ptsname_r qsort_r + random random_r reallocarray realpath rpmatch secure_getenv setenv + setstate setstate_r srandom srandom_r +- strtod strtold strtoll strtoull unlockpt unsetenv]) ++ strtod strtol strtold strtoll strtoul strtoull unlockpt unsetenv]) + + AC_REQUIRE([AC_C_RESTRICT]) + +@@ -46,61 +46,78 @@ AC_DEFUN([gl_STDLIB_H], + fi + ]) + ++# gl_STDLIB_MODULE_INDICATOR([modulename]) ++# sets the shell variable that indicates the presence of the given module ++# to a C preprocessor expression that will evaluate to 1. ++# This macro invocation must not occur in macros that are AC_REQUIREd. + AC_DEFUN([gl_STDLIB_MODULE_INDICATOR], + [ +- dnl Use AC_REQUIRE here, so that the default settings are expanded once only. +- AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) ++ dnl Ensure to expand the default settings once only. ++ gl_STDLIB_H_REQUIRE_DEFAULTS + gl_MODULE_INDICATOR_SET_VARIABLE([$1]) + dnl Define it also as a C macro, for the benefit of the unit tests. + gl_MODULE_INDICATOR_FOR_TESTS([$1]) + ]) + ++# Initializes the default values for AC_SUBSTed shell variables. ++# This macro must not be AC_REQUIREd. It must only be invoked, and only ++# outside of macros or in macros that are not AC_REQUIREd. ++AC_DEFUN([gl_STDLIB_H_REQUIRE_DEFAULTS], ++[ ++ m4_defun(GL_MODULE_INDICATOR_PREFIX[_STDLIB_H_MODULE_INDICATOR_DEFAULTS], [ ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB__EXIT]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ALIGNED_ALLOC]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ATOLL]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_CALLOC_POSIX]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_CANONICALIZE_FILE_NAME]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FREE_POSIX]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETLOADAVG]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETSUBOPT]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GRANTPT]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MALLOC_POSIX]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBTOWC]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MKDTEMP]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MKOSTEMP]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MKOSTEMPS]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MKSTEMP]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MKSTEMPS]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_POSIX_MEMALIGN]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_POSIX_OPENPT]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_PTSNAME]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_PTSNAME_R]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_PUTENV]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_QSORT_R]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_RANDOM]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_RANDOM_R]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_REALLOCARRAY]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_REALLOC_POSIX]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_REALPATH]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_RPMATCH]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SECURE_GETENV]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SETENV]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRTOD]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRTOL]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRTOLD]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRTOLL]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRTOUL]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRTOULL]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SYSTEM_POSIX]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNLOCKPT]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNSETENV]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCTOMB]) ++ dnl Support Microsoft deprecated alias function names by default. ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_ECVT], [1]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_FCVT], [1]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_GCVT], [1]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_MKTEMP], [1]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_PUTENV], [1]) ++ ]) ++ m4_require(GL_MODULE_INDICATOR_PREFIX[_STDLIB_H_MODULE_INDICATOR_DEFAULTS]) ++ AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) ++]) ++ + AC_DEFUN([gl_STDLIB_H_DEFAULTS], + [ +- GNULIB__EXIT=0; AC_SUBST([GNULIB__EXIT]) +- GNULIB_ALIGNED_ALLOC=0; AC_SUBST([GNULIB_ALIGNED_ALLOC]) +- GNULIB_ATOLL=0; AC_SUBST([GNULIB_ATOLL]) +- GNULIB_CALLOC_POSIX=0; AC_SUBST([GNULIB_CALLOC_POSIX]) +- GNULIB_CANONICALIZE_FILE_NAME=0; AC_SUBST([GNULIB_CANONICALIZE_FILE_NAME]) +- GNULIB_FREE_POSIX=0; AC_SUBST([GNULIB_FREE_POSIX]) +- GNULIB_GETLOADAVG=0; AC_SUBST([GNULIB_GETLOADAVG]) +- GNULIB_GETSUBOPT=0; AC_SUBST([GNULIB_GETSUBOPT]) +- GNULIB_GRANTPT=0; AC_SUBST([GNULIB_GRANTPT]) +- GNULIB_MALLOC_POSIX=0; AC_SUBST([GNULIB_MALLOC_POSIX]) +- GNULIB_MBTOWC=0; AC_SUBST([GNULIB_MBTOWC]) +- GNULIB_MKDTEMP=0; AC_SUBST([GNULIB_MKDTEMP]) +- GNULIB_MKOSTEMP=0; AC_SUBST([GNULIB_MKOSTEMP]) +- GNULIB_MKOSTEMPS=0; AC_SUBST([GNULIB_MKOSTEMPS]) +- GNULIB_MKSTEMP=0; AC_SUBST([GNULIB_MKSTEMP]) +- GNULIB_MKSTEMPS=0; AC_SUBST([GNULIB_MKSTEMPS]) +- GNULIB_POSIX_MEMALIGN=0;AC_SUBST([GNULIB_POSIX_MEMALIGN]) +- GNULIB_POSIX_OPENPT=0; AC_SUBST([GNULIB_POSIX_OPENPT]) +- GNULIB_PTSNAME=0; AC_SUBST([GNULIB_PTSNAME]) +- GNULIB_PTSNAME_R=0; AC_SUBST([GNULIB_PTSNAME_R]) +- GNULIB_PUTENV=0; AC_SUBST([GNULIB_PUTENV]) +- GNULIB_QSORT_R=0; AC_SUBST([GNULIB_QSORT_R]) +- GNULIB_RANDOM=0; AC_SUBST([GNULIB_RANDOM]) +- GNULIB_RANDOM_R=0; AC_SUBST([GNULIB_RANDOM_R]) +- GNULIB_REALLOCARRAY=0; AC_SUBST([GNULIB_REALLOCARRAY]) +- GNULIB_REALLOC_POSIX=0; AC_SUBST([GNULIB_REALLOC_POSIX]) +- GNULIB_REALPATH=0; AC_SUBST([GNULIB_REALPATH]) +- GNULIB_RPMATCH=0; AC_SUBST([GNULIB_RPMATCH]) +- GNULIB_SECURE_GETENV=0; AC_SUBST([GNULIB_SECURE_GETENV]) +- GNULIB_SETENV=0; AC_SUBST([GNULIB_SETENV]) +- GNULIB_STRTOD=0; AC_SUBST([GNULIB_STRTOD]) +- GNULIB_STRTOLD=0; AC_SUBST([GNULIB_STRTOLD]) +- GNULIB_STRTOLL=0; AC_SUBST([GNULIB_STRTOLL]) +- GNULIB_STRTOULL=0; AC_SUBST([GNULIB_STRTOULL]) +- GNULIB_SYSTEM_POSIX=0; AC_SUBST([GNULIB_SYSTEM_POSIX]) +- GNULIB_UNLOCKPT=0; AC_SUBST([GNULIB_UNLOCKPT]) +- GNULIB_UNSETENV=0; AC_SUBST([GNULIB_UNSETENV]) +- GNULIB_WCTOMB=0; AC_SUBST([GNULIB_WCTOMB]) +- dnl Support Microsoft deprecated alias function names by default. +- GNULIB_MDA_ECVT=1; AC_SUBST([GNULIB_MDA_ECVT]) +- GNULIB_MDA_FCVT=1; AC_SUBST([GNULIB_MDA_FCVT]) +- GNULIB_MDA_GCVT=1; AC_SUBST([GNULIB_MDA_GCVT]) +- GNULIB_MDA_MKTEMP=1; AC_SUBST([GNULIB_MDA_MKTEMP]) +- GNULIB_MDA_PUTENV=1; AC_SUBST([GNULIB_MDA_PUTENV]) + dnl Assume proper GNU behavior unless another module says otherwise. + HAVE__EXIT=1; AC_SUBST([HAVE__EXIT]) + HAVE_ALIGNED_ALLOC=1; AC_SUBST([HAVE_ALIGNED_ALLOC]) +@@ -137,8 +154,10 @@ AC_DEFUN([gl_STDLIB_H_DEFAULTS], + HAVE_SETSTATE=1; AC_SUBST([HAVE_SETSTATE]) + HAVE_DECL_SETSTATE=1; AC_SUBST([HAVE_DECL_SETSTATE]) + HAVE_STRTOD=1; AC_SUBST([HAVE_STRTOD]) ++ HAVE_STRTOL=1; AC_SUBST([HAVE_STRTOL]) + HAVE_STRTOLD=1; AC_SUBST([HAVE_STRTOLD]) + HAVE_STRTOLL=1; AC_SUBST([HAVE_STRTOLL]) ++ HAVE_STRTOUL=1; AC_SUBST([HAVE_STRTOUL]) + HAVE_STRTOULL=1; AC_SUBST([HAVE_STRTOULL]) + HAVE_STRUCT_RANDOM_DATA=1; AC_SUBST([HAVE_STRUCT_RANDOM_DATA]) + HAVE_SYS_LOADAVG_H=0; AC_SUBST([HAVE_SYS_LOADAVG_H]) +@@ -160,11 +179,16 @@ AC_DEFUN([gl_STDLIB_H_DEFAULTS], + REPLACE_RANDOM=0; AC_SUBST([REPLACE_RANDOM]) + REPLACE_RANDOM_R=0; AC_SUBST([REPLACE_RANDOM_R]) + REPLACE_REALLOC=0; AC_SUBST([REPLACE_REALLOC]) ++ REPLACE_REALLOCARRAY=0; AC_SUBST([REPLACE_REALLOCARRAY]) + REPLACE_REALPATH=0; AC_SUBST([REPLACE_REALPATH]) + REPLACE_SETENV=0; AC_SUBST([REPLACE_SETENV]) + REPLACE_SETSTATE=0; AC_SUBST([REPLACE_SETSTATE]) + REPLACE_STRTOD=0; AC_SUBST([REPLACE_STRTOD]) ++ REPLACE_STRTOL=0; AC_SUBST([REPLACE_STRTOL]) + REPLACE_STRTOLD=0; AC_SUBST([REPLACE_STRTOLD]) ++ REPLACE_STRTOLL=0; AC_SUBST([REPLACE_STRTOLL]) ++ REPLACE_STRTOUL=0; AC_SUBST([REPLACE_STRTOUL]) ++ REPLACE_STRTOULL=0; AC_SUBST([REPLACE_STRTOULL]) + REPLACE_UNSETENV=0; AC_SUBST([REPLACE_UNSETENV]) + REPLACE_WCTOMB=0; AC_SUBST([REPLACE_WCTOMB]) + ]) +--- a/gnulib/m4/stpcpy.m4 ++++ b/gnulib/m4/stpcpy.m4 +@@ -1,4 +1,4 @@ +-# stpcpy.m4 serial 8 ++# stpcpy.m4 serial 9 + dnl Copyright (C) 2002, 2007, 2009-2021 Free Software Foundation, Inc. + dnl This file is free software; the Free Software Foundation + dnl gives unlimited permission to copy and/or distribute it, +@@ -12,7 +12,7 @@ AC_DEFUN([gl_FUNC_STPCPY], + dnl The stpcpy() declaration in lib/string.in.h uses 'restrict'. + AC_REQUIRE([AC_C_RESTRICT]) + +- AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) ++ AC_REQUIRE([gl_STRING_H_DEFAULTS]) + AC_CHECK_FUNCS([stpcpy]) + if test $ac_cv_func_stpcpy = no; then + HAVE_STPCPY=0 +--- a/gnulib/m4/strcase.m4 ++++ b/gnulib/m4/strcase.m4 +@@ -1,4 +1,4 @@ +-# strcase.m4 serial 11 ++# strcase.m4 serial 12 + dnl Copyright (C) 2002, 2005-2021 Free Software Foundation, Inc. + dnl This file is free software; the Free Software Foundation + dnl gives unlimited permission to copy and/or distribute it, +@@ -12,7 +12,7 @@ AC_DEFUN([gl_STRCASE], + + AC_DEFUN([gl_FUNC_STRCASECMP], + [ +- AC_REQUIRE([gl_HEADER_STRINGS_H_DEFAULTS]) ++ AC_REQUIRE([gl_STRINGS_H_DEFAULTS]) + AC_CHECK_FUNCS([strcasecmp]) + if test $ac_cv_func_strcasecmp = no; then + HAVE_STRCASECMP=0 +@@ -21,7 +21,7 @@ AC_DEFUN([gl_FUNC_STRCASECMP], + + AC_DEFUN([gl_FUNC_STRNCASECMP], + [ +- AC_REQUIRE([gl_HEADER_STRINGS_H_DEFAULTS]) ++ AC_REQUIRE([gl_STRINGS_H_DEFAULTS]) + AC_CHECK_FUNCS([strncasecmp]) + if test $ac_cv_func_strncasecmp = yes; then + HAVE_STRNCASECMP=1 +--- a/gnulib/m4/strcasestr.m4 ++++ b/gnulib/m4/strcasestr.m4 +@@ -1,4 +1,4 @@ +-# strcasestr.m4 serial 26 ++# strcasestr.m4 serial 27 + dnl Copyright (C) 2005, 2007-2021 Free Software Foundation, Inc. + dnl This file is free software; the Free Software Foundation + dnl gives unlimited permission to copy and/or distribute it, +@@ -7,7 +7,7 @@ dnl with or without modifications, as lo + dnl Check that strcasestr is present and works. + AC_DEFUN([gl_FUNC_STRCASESTR_SIMPLE], + [ +- AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) ++ AC_REQUIRE([gl_STRING_H_DEFAULTS]) + + dnl Persuade glibc <string.h> to declare strcasestr(). + AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) +--- a/gnulib/m4/strdup.m4 ++++ b/gnulib/m4/strdup.m4 +@@ -1,4 +1,4 @@ +-# strdup.m4 serial 14 ++# strdup.m4 serial 15 + + dnl Copyright (C) 2002-2021 Free Software Foundation, Inc. + +@@ -8,7 +8,7 @@ dnl with or without modifications, as lo + + AC_DEFUN([gl_FUNC_STRDUP], + [ +- AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) ++ AC_REQUIRE([gl_STRING_H_DEFAULTS]) + AC_CHECK_DECLS_ONCE([strdup]) + if test $ac_cv_have_decl_strdup = no; then + HAVE_DECL_STRDUP=0 +@@ -17,7 +17,7 @@ AC_DEFUN([gl_FUNC_STRDUP], + + AC_DEFUN([gl_FUNC_STRDUP_POSIX], + [ +- AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) ++ AC_REQUIRE([gl_STRING_H_DEFAULTS]) + AC_REQUIRE([gl_CHECK_MALLOC_POSIX]) + if test $gl_cv_func_malloc_posix != yes; then + REPLACE_STRDUP=1 +--- a/gnulib/m4/strerror.m4 ++++ b/gnulib/m4/strerror.m4 +@@ -1,4 +1,4 @@ +-# strerror.m4 serial 21 ++# strerror.m4 serial 22 + dnl Copyright (C) 2002, 2007-2021 Free Software Foundation, Inc. + dnl This file is free software; the Free Software Foundation + dnl gives unlimited permission to copy and/or distribute it, +@@ -6,7 +6,7 @@ dnl with or without modifications, as lo + + AC_DEFUN([gl_FUNC_STRERROR], + [ +- AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) ++ AC_REQUIRE([gl_STRING_H_DEFAULTS]) + AC_REQUIRE([gl_HEADER_ERRNO_H]) + AC_REQUIRE([gl_FUNC_STRERROR_0]) + AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles +--- a/gnulib/m4/string_h.m4 ++++ b/gnulib/m4/string_h.m4 +@@ -5,20 +5,15 @@ + # gives unlimited permission to copy and/or distribute it, + # with or without modifications, as long as this notice is preserved. + +-# serial 29 ++# serial 32 + + # Written by Paul Eggert. + +-AC_DEFUN([gl_HEADER_STRING_H], ++AC_DEFUN_ONCE([gl_STRING_H], + [ +- dnl Use AC_REQUIRE here, so that the default behavior below is expanded +- dnl once only, before all statements that occur in other macros. +- AC_REQUIRE([gl_HEADER_STRING_H_BODY]) +-]) +- +-AC_DEFUN([gl_HEADER_STRING_H_BODY], +-[ +- AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) ++ dnl Ensure to expand the default settings once only, before all statements ++ dnl that occur in other macros. ++ AC_REQUIRE([gl_STRING_H_DEFAULTS]) + gl_NEXT_HEADERS([string.h]) + + dnl Check for declarations of anything we want to poison if the +@@ -33,62 +28,77 @@ AC_DEFUN([gl_HEADER_STRING_H_BODY], + AC_REQUIRE([AC_C_RESTRICT]) + ]) + ++# gl_STRING_MODULE_INDICATOR([modulename]) ++# sets the shell variable that indicates the presence of the given module ++# to a C preprocessor expression that will evaluate to 1. ++# This macro invocation must not occur in macros that are AC_REQUIREd. + AC_DEFUN([gl_STRING_MODULE_INDICATOR], + [ +- dnl Use AC_REQUIRE here, so that the default settings are expanded once only. +- AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) ++ dnl Ensure to expand the default settings once only. ++ gl_STRING_H_REQUIRE_DEFAULTS + gl_MODULE_INDICATOR_SET_VARIABLE([$1]) + dnl Define it also as a C macro, for the benefit of the unit tests. + gl_MODULE_INDICATOR_FOR_TESTS([$1]) + ]) + +-AC_DEFUN([gl_HEADER_STRING_H_DEFAULTS], ++# Initializes the default values for AC_SUBSTed shell variables. ++# This macro must not be AC_REQUIREd. It must only be invoked, and only ++# outside of macros or in macros that are not AC_REQUIREd. ++AC_DEFUN([gl_STRING_H_REQUIRE_DEFAULTS], ++[ ++ m4_defun(GL_MODULE_INDICATOR_PREFIX[_STRING_H_MODULE_INDICATOR_DEFAULTS], [ ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_EXPLICIT_BZERO]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FFSL]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FFSLL]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MEMCHR]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MEMMEM]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MEMPCPY]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MEMRCHR]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_RAWMEMCHR]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STPCPY]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STPNCPY]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRCHRNUL]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRDUP]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRNCAT]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRNDUP]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRNLEN]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRPBRK]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRSEP]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRSTR]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRCASESTR]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRTOK_R]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBSLEN]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBSNLEN]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBSCHR]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBSRCHR]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBSSTR]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBSCASECMP]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBSNCASECMP]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBSPCASECMP]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBSCASESTR]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBSCSPN]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBSPBRK]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBSSPN]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBSSEP]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBSTOK_R]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRERROR]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRERROR_R]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRERRORNAME_NP]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SIGABBREV_NP]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SIGDESCR_NP]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRSIGNAL]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRVERSCMP]) ++ dnl Support Microsoft deprecated alias function names by default. ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_MEMCCPY], [1]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_STRDUP], [1]) ++ ]) ++ m4_require(GL_MODULE_INDICATOR_PREFIX[_STRING_H_MODULE_INDICATOR_DEFAULTS]) ++ AC_REQUIRE([gl_STRING_H_DEFAULTS]) ++]) ++ ++AC_DEFUN([gl_STRING_H_DEFAULTS], + [ +- GNULIB_EXPLICIT_BZERO=0; AC_SUBST([GNULIB_EXPLICIT_BZERO]) +- GNULIB_FFSL=0; AC_SUBST([GNULIB_FFSL]) +- GNULIB_FFSLL=0; AC_SUBST([GNULIB_FFSLL]) +- GNULIB_MEMCHR=0; AC_SUBST([GNULIB_MEMCHR]) +- GNULIB_MEMMEM=0; AC_SUBST([GNULIB_MEMMEM]) +- GNULIB_MEMPCPY=0; AC_SUBST([GNULIB_MEMPCPY]) +- GNULIB_MEMRCHR=0; AC_SUBST([GNULIB_MEMRCHR]) +- GNULIB_RAWMEMCHR=0; AC_SUBST([GNULIB_RAWMEMCHR]) +- GNULIB_STPCPY=0; AC_SUBST([GNULIB_STPCPY]) +- GNULIB_STPNCPY=0; AC_SUBST([GNULIB_STPNCPY]) +- GNULIB_STRCHRNUL=0; AC_SUBST([GNULIB_STRCHRNUL]) +- GNULIB_STRDUP=0; AC_SUBST([GNULIB_STRDUP]) +- GNULIB_STRNCAT=0; AC_SUBST([GNULIB_STRNCAT]) +- GNULIB_STRNDUP=0; AC_SUBST([GNULIB_STRNDUP]) +- GNULIB_STRNLEN=0; AC_SUBST([GNULIB_STRNLEN]) +- GNULIB_STRPBRK=0; AC_SUBST([GNULIB_STRPBRK]) +- GNULIB_STRSEP=0; AC_SUBST([GNULIB_STRSEP]) +- GNULIB_STRSTR=0; AC_SUBST([GNULIB_STRSTR]) +- GNULIB_STRCASESTR=0; AC_SUBST([GNULIB_STRCASESTR]) +- GNULIB_STRTOK_R=0; AC_SUBST([GNULIB_STRTOK_R]) +- GNULIB_MBSLEN=0; AC_SUBST([GNULIB_MBSLEN]) +- GNULIB_MBSNLEN=0; AC_SUBST([GNULIB_MBSNLEN]) +- GNULIB_MBSCHR=0; AC_SUBST([GNULIB_MBSCHR]) +- GNULIB_MBSRCHR=0; AC_SUBST([GNULIB_MBSRCHR]) +- GNULIB_MBSSTR=0; AC_SUBST([GNULIB_MBSSTR]) +- GNULIB_MBSCASECMP=0; AC_SUBST([GNULIB_MBSCASECMP]) +- GNULIB_MBSNCASECMP=0; AC_SUBST([GNULIB_MBSNCASECMP]) +- GNULIB_MBSPCASECMP=0; AC_SUBST([GNULIB_MBSPCASECMP]) +- GNULIB_MBSCASESTR=0; AC_SUBST([GNULIB_MBSCASESTR]) +- GNULIB_MBSCSPN=0; AC_SUBST([GNULIB_MBSCSPN]) +- GNULIB_MBSPBRK=0; AC_SUBST([GNULIB_MBSPBRK]) +- GNULIB_MBSSPN=0; AC_SUBST([GNULIB_MBSSPN]) +- GNULIB_MBSSEP=0; AC_SUBST([GNULIB_MBSSEP]) +- GNULIB_MBSTOK_R=0; AC_SUBST([GNULIB_MBSTOK_R]) +- GNULIB_STRERROR=0; AC_SUBST([GNULIB_STRERROR]) +- GNULIB_STRERROR_R=0; AC_SUBST([GNULIB_STRERROR_R]) +- GNULIB_STRERRORNAME_NP=0; AC_SUBST([GNULIB_STRERRORNAME_NP]) +- GNULIB_SIGABBREV_NP=0; AC_SUBST([GNULIB_SIGABBREV_NP]) +- GNULIB_SIGDESCR_NP=0; AC_SUBST([GNULIB_SIGDESCR_NP]) +- GNULIB_STRSIGNAL=0; AC_SUBST([GNULIB_STRSIGNAL]) +- GNULIB_STRVERSCMP=0; AC_SUBST([GNULIB_STRVERSCMP]) + HAVE_MBSLEN=0; AC_SUBST([HAVE_MBSLEN]) +- dnl Support Microsoft deprecated alias function names by default. +- GNULIB_MDA_MEMCCPY=1; AC_SUBST([GNULIB_MDA_MEMCCPY]) +- GNULIB_MDA_STRDUP=1; AC_SUBST([GNULIB_MDA_STRDUP]) + dnl Assume proper GNU behavior unless another module says otherwise. + HAVE_EXPLICIT_BZERO=1; AC_SUBST([HAVE_EXPLICIT_BZERO]) + HAVE_FFSL=1; AC_SUBST([HAVE_FFSL]) +--- a/gnulib/m4/strings_h.m4 ++++ b/gnulib/m4/strings_h.m4 +@@ -1,21 +1,16 @@ + # Configure a replacement for <strings.h>. +-# serial 6 ++# serial 9 + + # Copyright (C) 2007, 2009-2021 Free Software Foundation, Inc. + # This file is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, + # with or without modifications, as long as this notice is preserved. + +-AC_DEFUN([gl_HEADER_STRINGS_H], ++AC_DEFUN_ONCE([gl_STRINGS_H], + [ +- dnl Use AC_REQUIRE here, so that the default behavior below is expanded +- dnl once only, before all statements that occur in other macros. +- AC_REQUIRE([gl_HEADER_STRINGS_H_BODY]) +-]) +- +-AC_DEFUN([gl_HEADER_STRINGS_H_BODY], +-[ +- AC_REQUIRE([gl_HEADER_STRINGS_H_DEFAULTS]) ++ dnl Ensure to expand the default settings once only, before all statements ++ dnl that occur in other macros. ++ AC_REQUIRE([gl_STRINGS_H_DEFAULTS]) + + gl_CHECK_NEXT_HEADERS([strings.h]) + if test $ac_cv_header_strings_h = yes; then +@@ -35,16 +30,31 @@ AC_DEFUN([gl_HEADER_STRINGS_H_BODY], + ]], [ffs strcasecmp strncasecmp]) + ]) + ++# gl_STRINGS_MODULE_INDICATOR([modulename]) ++# sets the shell variable that indicates the presence of the given module ++# to a C preprocessor expression that will evaluate to 1. ++# This macro invocation must not occur in macros that are AC_REQUIREd. + AC_DEFUN([gl_STRINGS_MODULE_INDICATOR], + [ +- dnl Use AC_REQUIRE here, so that the default settings are expanded once only. +- AC_REQUIRE([gl_HEADER_STRINGS_H_DEFAULTS]) ++ dnl Ensure to expand the default settings once only. ++ gl_STRINGS_H_REQUIRE_DEFAULTS + gl_MODULE_INDICATOR_SET_VARIABLE([$1]) + ]) + +-AC_DEFUN([gl_HEADER_STRINGS_H_DEFAULTS], ++# Initializes the default values for AC_SUBSTed shell variables. ++# This macro must not be AC_REQUIREd. It must only be invoked, and only ++# outside of macros or in macros that are not AC_REQUIREd. ++AC_DEFUN([gl_STRINGS_H_REQUIRE_DEFAULTS], ++[ ++ m4_defun(GL_MODULE_INDICATOR_PREFIX[_STRINGS_H_MODULE_INDICATOR_DEFAULTS], [ ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FFS]) ++ ]) ++ m4_require(GL_MODULE_INDICATOR_PREFIX[_STRINGS_H_MODULE_INDICATOR_DEFAULTS]) ++ AC_REQUIRE([gl_STRINGS_H_DEFAULTS]) ++]) ++ ++AC_DEFUN([gl_STRINGS_H_DEFAULTS], + [ +- GNULIB_FFS=0; AC_SUBST([GNULIB_FFS]) + dnl Assume proper GNU behavior unless another module says otherwise. + HAVE_FFS=1; AC_SUBST([HAVE_FFS]) + HAVE_STRCASECMP=1; AC_SUBST([HAVE_STRCASECMP]) +--- a/gnulib/m4/strndup.m4 ++++ b/gnulib/m4/strndup.m4 +@@ -1,4 +1,4 @@ +-# strndup.m4 serial 22 ++# strndup.m4 serial 23 + dnl Copyright (C) 2002-2003, 2005-2021 Free Software Foundation, Inc. + dnl This file is free software; the Free Software Foundation + dnl gives unlimited permission to copy and/or distribute it, +@@ -10,7 +10,7 @@ AC_DEFUN([gl_FUNC_STRNDUP], + AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) + + AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles +- AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) ++ AC_REQUIRE([gl_STRING_H_DEFAULTS]) + AC_CHECK_DECLS_ONCE([strndup]) + AC_CHECK_FUNCS_ONCE([strndup]) + if test $ac_cv_have_decl_strndup = no; then +--- a/gnulib/m4/strnlen.m4 ++++ b/gnulib/m4/strnlen.m4 +@@ -1,4 +1,4 @@ +-# strnlen.m4 serial 13 ++# strnlen.m4 serial 14 + dnl Copyright (C) 2002-2003, 2005-2007, 2009-2021 Free Software Foundation, + dnl Inc. + dnl This file is free software; the Free Software Foundation +@@ -7,7 +7,7 @@ dnl with or without modifications, as lo + + AC_DEFUN([gl_FUNC_STRNLEN], + [ +- AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) ++ AC_REQUIRE([gl_STRING_H_DEFAULTS]) + + dnl Persuade glibc <string.h> to declare strnlen(). + AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) +--- a/gnulib/m4/strstr.m4 ++++ b/gnulib/m4/strstr.m4 +@@ -1,4 +1,4 @@ +-# strstr.m4 serial 22 ++# strstr.m4 serial 23 + dnl Copyright (C) 2008-2021 Free Software Foundation, Inc. + dnl This file is free software; the Free Software Foundation + dnl gives unlimited permission to copy and/or distribute it, +@@ -7,7 +7,7 @@ dnl with or without modifications, as lo + dnl Check that strstr works. + AC_DEFUN([gl_FUNC_STRSTR_SIMPLE], + [ +- AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) ++ AC_REQUIRE([gl_STRING_H_DEFAULTS]) + AC_REQUIRE([gl_FUNC_MEMCHR]) + if test $REPLACE_MEMCHR = 1; then + REPLACE_STRSTR=1 +--- a/gnulib/m4/sys_socket_h.m4 ++++ b/gnulib/m4/sys_socket_h.m4 +@@ -1,4 +1,4 @@ +-# sys_socket_h.m4 serial 25 ++# sys_socket_h.m4 serial 28 + dnl Copyright (C) 2005-2021 Free Software Foundation, Inc. + dnl This file is free software; the Free Software Foundation + dnl gives unlimited permission to copy and/or distribute it, +@@ -6,7 +6,7 @@ dnl with or without modifications, as lo + + dnl From Simon Josefsson. + +-AC_DEFUN([gl_HEADER_SYS_SOCKET], ++AC_DEFUN_ONCE([gl_SYS_SOCKET_H], + [ + AC_REQUIRE([gl_SYS_SOCKET_H_DEFAULTS]) + AC_REQUIRE([AC_CANONICAL_HOST]) +@@ -156,32 +156,47 @@ AC_DEFUN([gl_PREREQ_SYS_H_WS2TCPIP], + AC_SUBST([HAVE_WS2TCPIP_H]) + ]) + ++# gl_SYS_SOCKET_MODULE_INDICATOR([modulename]) ++# sets the shell variable that indicates the presence of the given module ++# to a C preprocessor expression that will evaluate to 1. ++# This macro invocation must not occur in macros that are AC_REQUIREd. + AC_DEFUN([gl_SYS_SOCKET_MODULE_INDICATOR], + [ +- dnl Use AC_REQUIRE here, so that the default settings are expanded once only. +- AC_REQUIRE([gl_SYS_SOCKET_H_DEFAULTS]) ++ dnl Ensure to expand the default settings once only. ++ gl_SYS_SOCKET_H_REQUIRE_DEFAULTS + gl_MODULE_INDICATOR_SET_VARIABLE([$1]) + dnl Define it also as a C macro, for the benefit of the unit tests. + gl_MODULE_INDICATOR_FOR_TESTS([$1]) + ]) + ++# Initializes the default values for AC_SUBSTed shell variables. ++# This macro must not be AC_REQUIREd. It must only be invoked, and only ++# outside of macros or in macros that are not AC_REQUIREd. ++AC_DEFUN([gl_SYS_SOCKET_H_REQUIRE_DEFAULTS], ++[ ++ m4_defun(GL_MODULE_INDICATOR_PREFIX[_SYS_SOCKET_H_MODULE_INDICATOR_DEFAULTS], [ ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SOCKET]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_CONNECT]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ACCEPT]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_BIND]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETPEERNAME]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETSOCKNAME]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETSOCKOPT]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_LISTEN]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_RECV]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SEND]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_RECVFROM]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SENDTO]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SETSOCKOPT]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SHUTDOWN]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ACCEPT4]) ++ ]) ++ m4_require(GL_MODULE_INDICATOR_PREFIX[_SYS_SOCKET_H_MODULE_INDICATOR_DEFAULTS]) ++ AC_REQUIRE([gl_SYS_SOCKET_H_DEFAULTS]) ++]) ++ + AC_DEFUN([gl_SYS_SOCKET_H_DEFAULTS], + [ +- GNULIB_SOCKET=0; AC_SUBST([GNULIB_SOCKET]) +- GNULIB_CONNECT=0; AC_SUBST([GNULIB_CONNECT]) +- GNULIB_ACCEPT=0; AC_SUBST([GNULIB_ACCEPT]) +- GNULIB_BIND=0; AC_SUBST([GNULIB_BIND]) +- GNULIB_GETPEERNAME=0; AC_SUBST([GNULIB_GETPEERNAME]) +- GNULIB_GETSOCKNAME=0; AC_SUBST([GNULIB_GETSOCKNAME]) +- GNULIB_GETSOCKOPT=0; AC_SUBST([GNULIB_GETSOCKOPT]) +- GNULIB_LISTEN=0; AC_SUBST([GNULIB_LISTEN]) +- GNULIB_RECV=0; AC_SUBST([GNULIB_RECV]) +- GNULIB_SEND=0; AC_SUBST([GNULIB_SEND]) +- GNULIB_RECVFROM=0; AC_SUBST([GNULIB_RECVFROM]) +- GNULIB_SENDTO=0; AC_SUBST([GNULIB_SENDTO]) +- GNULIB_SETSOCKOPT=0; AC_SUBST([GNULIB_SETSOCKOPT]) +- GNULIB_SHUTDOWN=0; AC_SUBST([GNULIB_SHUTDOWN]) +- GNULIB_ACCEPT4=0; AC_SUBST([GNULIB_ACCEPT4]) + HAVE_STRUCT_SOCKADDR_STORAGE=1; AC_SUBST([HAVE_STRUCT_SOCKADDR_STORAGE]) + HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY=1; + AC_SUBST([HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY]) +--- a/gnulib/m4/sys_stat_h.m4 ++++ b/gnulib/m4/sys_stat_h.m4 +@@ -1,4 +1,4 @@ +-# sys_stat_h.m4 serial 38 -*- Autoconf -*- ++# sys_stat_h.m4 serial 41 -*- Autoconf -*- + dnl Copyright (C) 2006-2021 Free Software Foundation, Inc. + dnl This file is free software; the Free Software Foundation + dnl gives unlimited permission to copy and/or distribute it, +@@ -7,7 +7,7 @@ dnl with or without modifications, as lo + dnl From Eric Blake. + dnl Provide a GNU-like <sys/stat.h>. + +-AC_DEFUN([gl_HEADER_SYS_STAT_H], ++AC_DEFUN_ONCE([gl_SYS_STAT_H], + [ + AC_REQUIRE([gl_SYS_STAT_H_DEFAULTS]) + +@@ -52,38 +52,53 @@ AC_DEFUN([gl_HEADER_SYS_STAT_H], + AC_REQUIRE([AC_C_RESTRICT]) + ]) + ++# gl_SYS_STAT_MODULE_INDICATOR([modulename]) ++# sets the shell variable that indicates the presence of the given module ++# to a C preprocessor expression that will evaluate to 1. ++# This macro invocation must not occur in macros that are AC_REQUIREd. + AC_DEFUN([gl_SYS_STAT_MODULE_INDICATOR], + [ +- dnl Use AC_REQUIRE here, so that the default settings are expanded once only. +- AC_REQUIRE([gl_SYS_STAT_H_DEFAULTS]) ++ dnl Ensure to expand the default settings once only. ++ gl_SYS_STAT_H_REQUIRE_DEFAULTS + gl_MODULE_INDICATOR_SET_VARIABLE([$1]) + dnl Define it also as a C macro, for the benefit of the unit tests. + gl_MODULE_INDICATOR_FOR_TESTS([$1]) + ]) + ++# Initializes the default values for AC_SUBSTed shell variables. ++# This macro must not be AC_REQUIREd. It must only be invoked, and only ++# outside of macros or in macros that are not AC_REQUIREd. ++AC_DEFUN([gl_SYS_STAT_H_REQUIRE_DEFAULTS], ++[ ++ m4_defun(GL_MODULE_INDICATOR_PREFIX[_SYS_STAT_H_MODULE_INDICATOR_DEFAULTS], [ ++ gl_UNISTD_H_REQUIRE_DEFAULTS dnl for REPLACE_FCHDIR ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FCHMODAT]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FSTAT]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FSTATAT]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FUTIMENS]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETUMASK]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_LCHMOD]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_LSTAT]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MKDIR]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MKDIRAT]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MKFIFO]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MKFIFOAT]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MKNOD]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MKNODAT]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STAT]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UTIMENSAT]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_OVERRIDES_STRUCT_STAT]) ++ dnl Support Microsoft deprecated alias function names by default. ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_CHMOD], [1]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_MKDIR], [1]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_UMASK], [1]) ++ ]) ++ m4_require(GL_MODULE_INDICATOR_PREFIX[_SYS_STAT_H_MODULE_INDICATOR_DEFAULTS]) ++ AC_REQUIRE([gl_SYS_STAT_H_DEFAULTS]) ++]) ++ + AC_DEFUN([gl_SYS_STAT_H_DEFAULTS], + [ +- AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) dnl for REPLACE_FCHDIR +- GNULIB_FCHMODAT=0; AC_SUBST([GNULIB_FCHMODAT]) +- GNULIB_FSTAT=0; AC_SUBST([GNULIB_FSTAT]) +- GNULIB_FSTATAT=0; AC_SUBST([GNULIB_FSTATAT]) +- GNULIB_FUTIMENS=0; AC_SUBST([GNULIB_FUTIMENS]) +- GNULIB_GETUMASK=0; AC_SUBST([GNULIB_GETUMASK]) +- GNULIB_LCHMOD=0; AC_SUBST([GNULIB_LCHMOD]) +- GNULIB_LSTAT=0; AC_SUBST([GNULIB_LSTAT]) +- GNULIB_MKDIR=0; AC_SUBST([GNULIB_MKDIR]) +- GNULIB_MKDIRAT=0; AC_SUBST([GNULIB_MKDIRAT]) +- GNULIB_MKFIFO=0; AC_SUBST([GNULIB_MKFIFO]) +- GNULIB_MKFIFOAT=0; AC_SUBST([GNULIB_MKFIFOAT]) +- GNULIB_MKNOD=0; AC_SUBST([GNULIB_MKNOD]) +- GNULIB_MKNODAT=0; AC_SUBST([GNULIB_MKNODAT]) +- GNULIB_STAT=0; AC_SUBST([GNULIB_STAT]) +- GNULIB_UTIMENSAT=0; AC_SUBST([GNULIB_UTIMENSAT]) +- GNULIB_OVERRIDES_STRUCT_STAT=0; AC_SUBST([GNULIB_OVERRIDES_STRUCT_STAT]) +- dnl Support Microsoft deprecated alias function names by default. +- GNULIB_MDA_CHMOD=1; AC_SUBST([GNULIB_MDA_CHMOD]) +- GNULIB_MDA_MKDIR=1; AC_SUBST([GNULIB_MDA_MKDIR]) +- GNULIB_MDA_UMASK=1; AC_SUBST([GNULIB_MDA_UMASK]) + dnl Assume proper GNU behavior unless another module says otherwise. + HAVE_FCHMODAT=1; AC_SUBST([HAVE_FCHMODAT]) + HAVE_FSTATAT=1; AC_SUBST([HAVE_FSTATAT]) +--- a/gnulib/m4/sys_types_h.m4 ++++ b/gnulib/m4/sys_types_h.m4 +@@ -1,4 +1,4 @@ +-# sys_types_h.m4 serial 11 ++# sys_types_h.m4 serial 13 + dnl Copyright (C) 2011-2021 Free Software Foundation, Inc. + dnl This file is free software; the Free Software Foundation + dnl gives unlimited permission to copy and/or distribute it, +@@ -6,10 +6,11 @@ dnl with or without modifications, as lo + + AC_DEFUN_ONCE([gl_SYS_TYPES_H], + [ ++ AC_REQUIRE([gl_SYS_TYPES_H_DEFAULTS]) ++ + dnl Use sane struct stat types in OpenVMS 8.2 and later. + AC_DEFINE([_USE_STD_STAT], 1, [For standard stat data types on VMS.]) + +- AC_REQUIRE([gl_SYS_TYPES_H_DEFAULTS]) + gl_NEXT_HEADERS([sys/types.h]) + + dnl Ensure the type pid_t gets defined. +@@ -30,6 +31,17 @@ AC_DEFUN_ONCE([gl_SYS_TYPES_H], + AC_SUBST([WINDOWS_STAT_INODES]) + ]) + ++# Initializes the default values for AC_SUBSTed shell variables. ++# This macro must not be AC_REQUIREd. It must only be invoked, and only ++# outside of macros or in macros that are not AC_REQUIREd. ++AC_DEFUN([gl_SYS_TYPES_H_REQUIRE_DEFAULTS], ++[ ++ m4_defun(GL_MODULE_INDICATOR_PREFIX[_SYS_TYPE_H_MODULE_INDICATOR_DEFAULTS], [ ++ ]) ++ m4_require(GL_MODULE_INDICATOR_PREFIX[_SYS_TYPE_H_MODULE_INDICATOR_DEFAULTS]) ++ AC_REQUIRE([gl_SYS_TYPES_H_DEFAULTS]) ++]) ++ + AC_DEFUN([gl_SYS_TYPES_H_DEFAULTS], + [ + ]) +--- a/gnulib/m4/time_h.m4 ++++ b/gnulib/m4/time_h.m4 +@@ -2,7 +2,7 @@ + + # Copyright (C) 2000-2001, 2003-2007, 2009-2021 Free Software Foundation, Inc. + +-# serial 15 ++# serial 18 + + # This file is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -10,16 +10,11 @@ + + # Written by Paul Eggert and Jim Meyering. + +-AC_DEFUN([gl_HEADER_TIME_H], ++AC_DEFUN_ONCE([gl_TIME_H], + [ +- dnl Use AC_REQUIRE here, so that the default behavior below is expanded +- dnl once only, before all statements that occur in other macros. +- AC_REQUIRE([gl_HEADER_TIME_H_BODY]) +-]) +- +-AC_DEFUN([gl_HEADER_TIME_H_BODY], +-[ +- AC_REQUIRE([gl_HEADER_TIME_H_DEFAULTS]) ++ dnl Ensure to expand the default settings once only, before all statements ++ dnl that occur in other macros. ++ AC_REQUIRE([gl_TIME_H_DEFAULTS]) + + gl_NEXT_HEADERS([time.h]) + AC_REQUIRE([gl_CHECK_TYPE_STRUCT_TIMESPEC]) +@@ -111,30 +106,45 @@ AC_DEFUN([gl_CHECK_TYPE_STRUCT_TIMESPEC] + AC_SUBST([UNISTD_H_DEFINES_STRUCT_TIMESPEC]) + ]) + ++# gl_TIME_MODULE_INDICATOR([modulename]) ++# sets the shell variable that indicates the presence of the given module ++# to a C preprocessor expression that will evaluate to 1. ++# This macro invocation must not occur in macros that are AC_REQUIREd. + AC_DEFUN([gl_TIME_MODULE_INDICATOR], + [ +- dnl Use AC_REQUIRE here, so that the default settings are expanded once only. +- AC_REQUIRE([gl_HEADER_TIME_H_DEFAULTS]) ++ dnl Ensure to expand the default settings once only. ++ gl_TIME_H_REQUIRE_DEFAULTS + gl_MODULE_INDICATOR_SET_VARIABLE([$1]) + dnl Define it also as a C macro, for the benefit of the unit tests. + gl_MODULE_INDICATOR_FOR_TESTS([$1]) + ]) + +-AC_DEFUN([gl_HEADER_TIME_H_DEFAULTS], ++# Initializes the default values for AC_SUBSTed shell variables. ++# This macro must not be AC_REQUIREd. It must only be invoked, and only ++# outside of macros or in macros that are not AC_REQUIREd. ++AC_DEFUN([gl_TIME_H_REQUIRE_DEFAULTS], ++[ ++ m4_defun(GL_MODULE_INDICATOR_PREFIX[_TIME_H_MODULE_INDICATOR_DEFAULTS], [ ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_CTIME]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MKTIME]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_LOCALTIME]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_NANOSLEEP]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRFTIME]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRPTIME]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TIMEGM]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TIMESPEC_GET]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TIME_R]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TIME_RZ]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TZSET]) ++ dnl Support Microsoft deprecated alias function names by default. ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_TZSET], [1]) ++ ]) ++ m4_require(GL_MODULE_INDICATOR_PREFIX[_TIME_H_MODULE_INDICATOR_DEFAULTS]) ++ AC_REQUIRE([gl_TIME_H_DEFAULTS]) ++]) ++ ++AC_DEFUN([gl_TIME_H_DEFAULTS], + [ +- GNULIB_CTIME=0; AC_SUBST([GNULIB_CTIME]) +- GNULIB_MKTIME=0; AC_SUBST([GNULIB_MKTIME]) +- GNULIB_LOCALTIME=0; AC_SUBST([GNULIB_LOCALTIME]) +- GNULIB_NANOSLEEP=0; AC_SUBST([GNULIB_NANOSLEEP]) +- GNULIB_STRFTIME=0; AC_SUBST([GNULIB_STRFTIME]) +- GNULIB_STRPTIME=0; AC_SUBST([GNULIB_STRPTIME]) +- GNULIB_TIMEGM=0; AC_SUBST([GNULIB_TIMEGM]) +- GNULIB_TIMESPEC_GET=0; AC_SUBST([GNULIB_TIMESPEC_GET]) +- GNULIB_TIME_R=0; AC_SUBST([GNULIB_TIME_R]) +- GNULIB_TIME_RZ=0; AC_SUBST([GNULIB_TIME_RZ]) +- GNULIB_TZSET=0; AC_SUBST([GNULIB_TZSET]) +- dnl Support Microsoft deprecated alias function names by default. +- GNULIB_MDA_TZSET=1; AC_SUBST([GNULIB_MDA_TZSET]) + dnl Assume proper GNU behavior unless another module says otherwise. + HAVE_DECL_LOCALTIME_R=1; AC_SUBST([HAVE_DECL_LOCALTIME_R]) + HAVE_NANOSLEEP=1; AC_SUBST([HAVE_NANOSLEEP]) +--- a/gnulib/m4/unistd_h.m4 ++++ b/gnulib/m4/unistd_h.m4 +@@ -1,4 +1,4 @@ +-# unistd_h.m4 serial 85 ++# unistd_h.m4 serial 89 + dnl Copyright (C) 2006-2021 Free Software Foundation, Inc. + dnl This file is free software; the Free Software Foundation + dnl gives unlimited permission to copy and/or distribute it, +@@ -6,10 +6,10 @@ dnl with or without modifications, as lo + + dnl Written by Simon Josefsson, Bruno Haible. + +-AC_DEFUN([gl_UNISTD_H], ++AC_DEFUN_ONCE([gl_UNISTD_H], + [ +- dnl Use AC_REQUIRE here, so that the default behavior below is expanded +- dnl once only, before all statements that occur in other macros. ++ dnl Ensure to expand the default settings once only, before all statements ++ dnl that occur in other macros. + AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) + + gl_CHECK_NEXT_HEADERS([unistd.h]) +@@ -59,100 +59,116 @@ AC_DEFUN([gl_UNISTD_H], + fi + ]) + ++# gl_UNISTD_MODULE_INDICATOR([modulename]) ++# sets the shell variable that indicates the presence of the given module ++# to a C preprocessor expression that will evaluate to 1. ++# This macro invocation must not occur in macros that are AC_REQUIREd. + AC_DEFUN([gl_UNISTD_MODULE_INDICATOR], + [ +- dnl Use AC_REQUIRE here, so that the default settings are expanded once only. +- AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) ++ dnl Ensure to expand the default settings once only. ++ gl_UNISTD_H_REQUIRE_DEFAULTS + gl_MODULE_INDICATOR_SET_VARIABLE([$1]) + dnl Define it also as a C macro, for the benefit of the unit tests. + gl_MODULE_INDICATOR_FOR_TESTS([$1]) + ]) + ++# Initializes the default values for AC_SUBSTed shell variables. ++# This macro must not be AC_REQUIREd. It must only be invoked, and only ++# outside of macros or in macros that are not AC_REQUIREd. ++AC_DEFUN([gl_UNISTD_H_REQUIRE_DEFAULTS], ++[ ++ m4_defun(GL_MODULE_INDICATOR_PREFIX[_UNISTD_H_MODULE_INDICATOR_DEFAULTS], [ ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ACCESS]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_CHDIR]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_CHOWN]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_CLOSE]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_COPY_FILE_RANGE]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_DUP]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_DUP2]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_DUP3]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ENVIRON]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_EUIDACCESS]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_EXECL]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_EXECLE]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_EXECLP]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_EXECV]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_EXECVE]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_EXECVP]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_EXECVPE]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FACCESSAT]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FCHDIR]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FCHOWNAT]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FDATASYNC]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FSYNC]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FTRUNCATE]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETCWD]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETDOMAINNAME]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETDTABLESIZE]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETENTROPY]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETGROUPS]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETHOSTNAME]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETLOGIN]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETLOGIN_R]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETOPT_POSIX]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETPAGESIZE]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETPASS]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETUSERSHELL]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GROUP_MEMBER]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ISATTY]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_LCHOWN]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_LINK]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_LINKAT]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_LSEEK]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_PIPE]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_PIPE2]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_PREAD]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_PWRITE]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_READ]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_READLINK]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_READLINKAT]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_RMDIR]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SETHOSTNAME]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SLEEP]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SYMLINK]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SYMLINKAT]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TRUNCATE]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TTYNAME_R]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNISTD_H_GETOPT]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNISTD_H_NONBLOCKING]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNISTD_H_SIGPIPE]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNLINK]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNLINKAT]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_USLEEP]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WRITE]) ++ dnl Support Microsoft deprecated alias function names by default. ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_ACCESS], [1]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_CHDIR], [1]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_CLOSE], [1]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_DUP], [1]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_DUP2], [1]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_EXECL], [1]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_EXECLE], [1]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_EXECLP], [1]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_EXECV], [1]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_EXECVE], [1]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_EXECVP], [1]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_EXECVPE], [1]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_GETCWD], [1]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_GETPID], [1]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_ISATTY], [1]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_LSEEK], [1]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_READ], [1]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_RMDIR], [1]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_SWAB], [1]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_UNLINK], [1]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_WRITE], [1]) ++ ]) ++ m4_require(GL_MODULE_INDICATOR_PREFIX[_UNISTD_H_MODULE_INDICATOR_DEFAULTS]) ++ AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) ++]) ++ + AC_DEFUN([gl_UNISTD_H_DEFAULTS], + [ +- GNULIB_ACCESS=0; AC_SUBST([GNULIB_ACCESS]) +- GNULIB_CHDIR=0; AC_SUBST([GNULIB_CHDIR]) +- GNULIB_CHOWN=0; AC_SUBST([GNULIB_CHOWN]) +- GNULIB_CLOSE=0; AC_SUBST([GNULIB_CLOSE]) +- GNULIB_COPY_FILE_RANGE=0; AC_SUBST([GNULIB_COPY_FILE_RANGE]) +- GNULIB_DUP=0; AC_SUBST([GNULIB_DUP]) +- GNULIB_DUP2=0; AC_SUBST([GNULIB_DUP2]) +- GNULIB_DUP3=0; AC_SUBST([GNULIB_DUP3]) +- GNULIB_ENVIRON=0; AC_SUBST([GNULIB_ENVIRON]) +- GNULIB_EUIDACCESS=0; AC_SUBST([GNULIB_EUIDACCESS]) +- GNULIB_EXECL=0; AC_SUBST([GNULIB_EXECL]) +- GNULIB_EXECLE=0; AC_SUBST([GNULIB_EXECLE]) +- GNULIB_EXECLP=0; AC_SUBST([GNULIB_EXECLP]) +- GNULIB_EXECV=0; AC_SUBST([GNULIB_EXECV]) +- GNULIB_EXECVE=0; AC_SUBST([GNULIB_EXECVE]) +- GNULIB_EXECVP=0; AC_SUBST([GNULIB_EXECVP]) +- GNULIB_EXECVPE=0; AC_SUBST([GNULIB_EXECVPE]) +- GNULIB_FACCESSAT=0; AC_SUBST([GNULIB_FACCESSAT]) +- GNULIB_FCHDIR=0; AC_SUBST([GNULIB_FCHDIR]) +- GNULIB_FCHOWNAT=0; AC_SUBST([GNULIB_FCHOWNAT]) +- GNULIB_FDATASYNC=0; AC_SUBST([GNULIB_FDATASYNC]) +- GNULIB_FSYNC=0; AC_SUBST([GNULIB_FSYNC]) +- GNULIB_FTRUNCATE=0; AC_SUBST([GNULIB_FTRUNCATE]) +- GNULIB_GETCWD=0; AC_SUBST([GNULIB_GETCWD]) +- GNULIB_GETDOMAINNAME=0; AC_SUBST([GNULIB_GETDOMAINNAME]) +- GNULIB_GETDTABLESIZE=0; AC_SUBST([GNULIB_GETDTABLESIZE]) +- GNULIB_GETENTROPY=0; AC_SUBST([GNULIB_GETENTROPY]) +- GNULIB_GETGROUPS=0; AC_SUBST([GNULIB_GETGROUPS]) +- GNULIB_GETHOSTNAME=0; AC_SUBST([GNULIB_GETHOSTNAME]) +- GNULIB_GETLOGIN=0; AC_SUBST([GNULIB_GETLOGIN]) +- GNULIB_GETLOGIN_R=0; AC_SUBST([GNULIB_GETLOGIN_R]) +- GNULIB_GETOPT_POSIX=0; AC_SUBST([GNULIB_GETOPT_POSIX]) +- GNULIB_GETPAGESIZE=0; AC_SUBST([GNULIB_GETPAGESIZE]) +- GNULIB_GETPASS=0; AC_SUBST([GNULIB_GETPASS]) +- GNULIB_GETUSERSHELL=0; AC_SUBST([GNULIB_GETUSERSHELL]) +- GNULIB_GROUP_MEMBER=0; AC_SUBST([GNULIB_GROUP_MEMBER]) +- GNULIB_ISATTY=0; AC_SUBST([GNULIB_ISATTY]) +- GNULIB_LCHOWN=0; AC_SUBST([GNULIB_LCHOWN]) +- GNULIB_LINK=0; AC_SUBST([GNULIB_LINK]) +- GNULIB_LINKAT=0; AC_SUBST([GNULIB_LINKAT]) +- GNULIB_LSEEK=0; AC_SUBST([GNULIB_LSEEK]) +- GNULIB_PIPE=0; AC_SUBST([GNULIB_PIPE]) +- GNULIB_PIPE2=0; AC_SUBST([GNULIB_PIPE2]) +- GNULIB_PREAD=0; AC_SUBST([GNULIB_PREAD]) +- GNULIB_PWRITE=0; AC_SUBST([GNULIB_PWRITE]) +- GNULIB_READ=0; AC_SUBST([GNULIB_READ]) +- GNULIB_READLINK=0; AC_SUBST([GNULIB_READLINK]) +- GNULIB_READLINKAT=0; AC_SUBST([GNULIB_READLINKAT]) +- GNULIB_RMDIR=0; AC_SUBST([GNULIB_RMDIR]) +- GNULIB_SETHOSTNAME=0; AC_SUBST([GNULIB_SETHOSTNAME]) +- GNULIB_SLEEP=0; AC_SUBST([GNULIB_SLEEP]) +- GNULIB_SYMLINK=0; AC_SUBST([GNULIB_SYMLINK]) +- GNULIB_SYMLINKAT=0; AC_SUBST([GNULIB_SYMLINKAT]) +- GNULIB_TRUNCATE=0; AC_SUBST([GNULIB_TRUNCATE]) +- GNULIB_TTYNAME_R=0; AC_SUBST([GNULIB_TTYNAME_R]) +- GNULIB_UNISTD_H_NONBLOCKING=0; AC_SUBST([GNULIB_UNISTD_H_NONBLOCKING]) +- GNULIB_UNISTD_H_SIGPIPE=0; AC_SUBST([GNULIB_UNISTD_H_SIGPIPE]) +- GNULIB_UNLINK=0; AC_SUBST([GNULIB_UNLINK]) +- GNULIB_UNLINKAT=0; AC_SUBST([GNULIB_UNLINKAT]) +- GNULIB_USLEEP=0; AC_SUBST([GNULIB_USLEEP]) +- GNULIB_WRITE=0; AC_SUBST([GNULIB_WRITE]) +- dnl Support Microsoft deprecated alias function names by default. +- GNULIB_MDA_ACCESS=1; AC_SUBST([GNULIB_MDA_ACCESS]) +- GNULIB_MDA_CHDIR=1; AC_SUBST([GNULIB_MDA_CHDIR]) +- GNULIB_MDA_CLOSE=1; AC_SUBST([GNULIB_MDA_CLOSE]) +- GNULIB_MDA_DUP=1; AC_SUBST([GNULIB_MDA_DUP]) +- GNULIB_MDA_DUP2=1; AC_SUBST([GNULIB_MDA_DUP2]) +- GNULIB_MDA_EXECL=1; AC_SUBST([GNULIB_MDA_EXECL]) +- GNULIB_MDA_EXECLE=1; AC_SUBST([GNULIB_MDA_EXECLE]) +- GNULIB_MDA_EXECLP=1; AC_SUBST([GNULIB_MDA_EXECLP]) +- GNULIB_MDA_EXECV=1; AC_SUBST([GNULIB_MDA_EXECV]) +- GNULIB_MDA_EXECVE=1; AC_SUBST([GNULIB_MDA_EXECVE]) +- GNULIB_MDA_EXECVP=1; AC_SUBST([GNULIB_MDA_EXECVP]) +- GNULIB_MDA_EXECVPE=1; AC_SUBST([GNULIB_MDA_EXECVPE]) +- GNULIB_MDA_GETCWD=1; AC_SUBST([GNULIB_MDA_GETCWD]) +- GNULIB_MDA_GETPID=1; AC_SUBST([GNULIB_MDA_GETPID]) +- GNULIB_MDA_ISATTY=1; AC_SUBST([GNULIB_MDA_ISATTY]) +- GNULIB_MDA_LSEEK=1; AC_SUBST([GNULIB_MDA_LSEEK]) +- GNULIB_MDA_READ=1; AC_SUBST([GNULIB_MDA_READ]) +- GNULIB_MDA_RMDIR=1; AC_SUBST([GNULIB_MDA_RMDIR]) +- GNULIB_MDA_SWAB=1; AC_SUBST([GNULIB_MDA_SWAB]) +- GNULIB_MDA_UNLINK=1; AC_SUBST([GNULIB_MDA_UNLINK]) +- GNULIB_MDA_WRITE=1; AC_SUBST([GNULIB_MDA_WRITE]) + dnl Assume proper GNU behavior unless another module says otherwise. + HAVE_CHOWN=1; AC_SUBST([HAVE_CHOWN]) + HAVE_COPY_FILE_RANGE=1; AC_SUBST([HAVE_COPY_FILE_RANGE]) +--- a/gnulib/m4/visibility.m4 ++++ b/gnulib/m4/visibility.m4 +@@ -1,4 +1,4 @@ +-# visibility.m4 serial 7 ++# visibility.m4 serial 8 + dnl Copyright (C) 2005, 2008, 2010-2021 Free Software Foundation, Inc. + dnl This file is free software; the Free Software Foundation + dnl gives unlimited permission to copy and/or distribute it, +@@ -59,6 +59,10 @@ AC_DEFUN([gl_VISIBILITY], + extern __attribute__((__visibility__("hidden"))) int hiddenfunc (void); + extern __attribute__((__visibility__("default"))) int exportedfunc (void); + void dummyfunc (void); ++ int hiddenvar; ++ int exportedvar; ++ int hiddenfunc (void) { return 51; } ++ int exportedfunc (void) { return 1225736919; } + void dummyfunc (void) {} + ]], + [[]])], +--- a/gnulib/m4/wchar_h.m4 ++++ b/gnulib/m4/wchar_h.m4 +@@ -7,9 +7,9 @@ dnl with or without modifications, as lo + + dnl Written by Eric Blake. + +-# wchar_h.m4 serial 50 ++# wchar_h.m4 serial 53 + +-AC_DEFUN([gl_WCHAR_H], ++AC_DEFUN_ONCE([gl_WCHAR_H], + [ + AC_REQUIRE([gl_WCHAR_H_DEFAULTS]) + AC_REQUIRE([gl_WCHAR_H_INLINE_OK]) +@@ -125,60 +125,75 @@ Configuration aborted.]) + fi + ]) + ++# gl_WCHAR_MODULE_INDICATOR([modulename]) ++# sets the shell variable that indicates the presence of the given module ++# to a C preprocessor expression that will evaluate to 1. ++# This macro invocation must not occur in macros that are AC_REQUIREd. + AC_DEFUN([gl_WCHAR_MODULE_INDICATOR], + [ +- dnl Use AC_REQUIRE here, so that the default settings are expanded once only. +- AC_REQUIRE([gl_WCHAR_H_DEFAULTS]) ++ dnl Ensure to expand the default settings once only. ++ gl_WCHAR_H_REQUIRE_DEFAULTS + gl_MODULE_INDICATOR_SET_VARIABLE([$1]) + dnl Define it also as a C macro, for the benefit of the unit tests. + gl_MODULE_INDICATOR_FOR_TESTS([$1]) + ]) + ++# Initializes the default values for AC_SUBSTed shell variables. ++# This macro must not be AC_REQUIREd. It must only be invoked, and only ++# outside of macros or in macros that are not AC_REQUIREd. ++AC_DEFUN([gl_WCHAR_H_REQUIRE_DEFAULTS], ++[ ++ m4_defun(GL_MODULE_INDICATOR_PREFIX[_WCHAR_H_MODULE_INDICATOR_DEFAULTS], [ ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_BTOWC]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCTOB]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBSINIT]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBRTOWC]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBRLEN]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBSRTOWCS]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBSNRTOWCS]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCRTOMB]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSRTOMBS]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSNRTOMBS]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCWIDTH]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WMEMCHR]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WMEMCMP]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WMEMCPY]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WMEMMOVE]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WMEMPCPY]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WMEMSET]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSLEN]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSNLEN]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSCPY]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCPCPY]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSNCPY]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCPNCPY]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSCAT]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSNCAT]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSCMP]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSNCMP]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSCASECMP]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSNCASECMP]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSCOLL]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSXFRM]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSDUP]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSCHR]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSRCHR]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSCSPN]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSSPN]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSPBRK]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSSTR]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSTOK]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSWIDTH]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSFTIME]) ++ dnl Support Microsoft deprecated alias function names by default. ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_WCSDUP], [1]) ++ ]) ++ m4_require(GL_MODULE_INDICATOR_PREFIX[_WCHAR_H_MODULE_INDICATOR_DEFAULTS]) ++ AC_REQUIRE([gl_WCHAR_H_DEFAULTS]) ++]) ++ + AC_DEFUN([gl_WCHAR_H_DEFAULTS], + [ +- GNULIB_BTOWC=0; AC_SUBST([GNULIB_BTOWC]) +- GNULIB_WCTOB=0; AC_SUBST([GNULIB_WCTOB]) +- GNULIB_MBSINIT=0; AC_SUBST([GNULIB_MBSINIT]) +- GNULIB_MBRTOWC=0; AC_SUBST([GNULIB_MBRTOWC]) +- GNULIB_MBRLEN=0; AC_SUBST([GNULIB_MBRLEN]) +- GNULIB_MBSRTOWCS=0; AC_SUBST([GNULIB_MBSRTOWCS]) +- GNULIB_MBSNRTOWCS=0; AC_SUBST([GNULIB_MBSNRTOWCS]) +- GNULIB_WCRTOMB=0; AC_SUBST([GNULIB_WCRTOMB]) +- GNULIB_WCSRTOMBS=0; AC_SUBST([GNULIB_WCSRTOMBS]) +- GNULIB_WCSNRTOMBS=0; AC_SUBST([GNULIB_WCSNRTOMBS]) +- GNULIB_WCWIDTH=0; AC_SUBST([GNULIB_WCWIDTH]) +- GNULIB_WMEMCHR=0; AC_SUBST([GNULIB_WMEMCHR]) +- GNULIB_WMEMCMP=0; AC_SUBST([GNULIB_WMEMCMP]) +- GNULIB_WMEMCPY=0; AC_SUBST([GNULIB_WMEMCPY]) +- GNULIB_WMEMMOVE=0; AC_SUBST([GNULIB_WMEMMOVE]) +- GNULIB_WMEMPCPY=0; AC_SUBST([GNULIB_WMEMPCPY]) +- GNULIB_WMEMSET=0; AC_SUBST([GNULIB_WMEMSET]) +- GNULIB_WCSLEN=0; AC_SUBST([GNULIB_WCSLEN]) +- GNULIB_WCSNLEN=0; AC_SUBST([GNULIB_WCSNLEN]) +- GNULIB_WCSCPY=0; AC_SUBST([GNULIB_WCSCPY]) +- GNULIB_WCPCPY=0; AC_SUBST([GNULIB_WCPCPY]) +- GNULIB_WCSNCPY=0; AC_SUBST([GNULIB_WCSNCPY]) +- GNULIB_WCPNCPY=0; AC_SUBST([GNULIB_WCPNCPY]) +- GNULIB_WCSCAT=0; AC_SUBST([GNULIB_WCSCAT]) +- GNULIB_WCSNCAT=0; AC_SUBST([GNULIB_WCSNCAT]) +- GNULIB_WCSCMP=0; AC_SUBST([GNULIB_WCSCMP]) +- GNULIB_WCSNCMP=0; AC_SUBST([GNULIB_WCSNCMP]) +- GNULIB_WCSCASECMP=0; AC_SUBST([GNULIB_WCSCASECMP]) +- GNULIB_WCSNCASECMP=0; AC_SUBST([GNULIB_WCSNCASECMP]) +- GNULIB_WCSCOLL=0; AC_SUBST([GNULIB_WCSCOLL]) +- GNULIB_WCSXFRM=0; AC_SUBST([GNULIB_WCSXFRM]) +- GNULIB_WCSDUP=0; AC_SUBST([GNULIB_WCSDUP]) +- GNULIB_WCSCHR=0; AC_SUBST([GNULIB_WCSCHR]) +- GNULIB_WCSRCHR=0; AC_SUBST([GNULIB_WCSRCHR]) +- GNULIB_WCSCSPN=0; AC_SUBST([GNULIB_WCSCSPN]) +- GNULIB_WCSSPN=0; AC_SUBST([GNULIB_WCSSPN]) +- GNULIB_WCSPBRK=0; AC_SUBST([GNULIB_WCSPBRK]) +- GNULIB_WCSSTR=0; AC_SUBST([GNULIB_WCSSTR]) +- GNULIB_WCSTOK=0; AC_SUBST([GNULIB_WCSTOK]) +- GNULIB_WCSWIDTH=0; AC_SUBST([GNULIB_WCSWIDTH]) +- GNULIB_WCSFTIME=0; AC_SUBST([GNULIB_WCSFTIME]) +- dnl Support Microsoft deprecated alias function names by default. +- GNULIB_MDA_WCSDUP=1; AC_SUBST([GNULIB_MDA_WCSDUP]) + dnl Assume proper GNU behavior unless another module says otherwise. + HAVE_BTOWC=1; AC_SUBST([HAVE_BTOWC]) + HAVE_MBSINIT=1; AC_SUBST([HAVE_MBSINIT]) +--- a/gnulib/m4/wctype_h.m4 ++++ b/gnulib/m4/wctype_h.m4 +@@ -1,4 +1,4 @@ +-# wctype_h.m4 serial 26 ++# wctype_h.m4 serial 30 + + dnl A placeholder for ISO C99 <wctype.h>, for platforms that lack it. + +@@ -9,7 +9,7 @@ dnl with or without modifications, as lo + + dnl Written by Paul Eggert. + +-AC_DEFUN([gl_WCTYPE_H], ++AC_DEFUN_ONCE([gl_WCTYPE_H], + [ + AC_REQUIRE([gl_WCTYPE_H_DEFAULTS]) + AC_REQUIRE([AC_PROG_CC]) +@@ -62,7 +62,7 @@ AC_DEFUN([gl_WCTYPE_H], + fi + AC_SUBST([HAVE_WCTYPE_H]) + +- if test $GNULIB_OVERRIDES_WINT_T = 1; then ++ if test $GNULIBHEADERS_OVERRIDE_WINT_T = 1; then + REPLACE_ISWCNTRL=1 + else + case "$gl_cv_func_iswcntrl_works" in +@@ -157,24 +157,39 @@ AC_DEFUN([gl_WCTYPE_H], + ]) + ]) + ++# gl_WCTYPE_MODULE_INDICATOR([modulename]) ++# sets the shell variable that indicates the presence of the given module ++# to a C preprocessor expression that will evaluate to 1. ++# This macro invocation must not occur in macros that are AC_REQUIREd. + AC_DEFUN([gl_WCTYPE_MODULE_INDICATOR], + [ +- dnl Use AC_REQUIRE here, so that the default settings are expanded once only. +- AC_REQUIRE([gl_WCTYPE_H_DEFAULTS]) ++ dnl Ensure to expand the default settings once only. ++ gl_WCTYPE_H_REQUIRE_DEFAULTS + gl_MODULE_INDICATOR_SET_VARIABLE([$1]) + dnl Define it also as a C macro, for the benefit of the unit tests. + gl_MODULE_INDICATOR_FOR_TESTS([$1]) + ]) + ++# Initializes the default values for AC_SUBSTed shell variables. ++# This macro must not be AC_REQUIREd. It must only be invoked, and only ++# outside of macros or in macros that are not AC_REQUIREd. ++AC_DEFUN([gl_WCTYPE_H_REQUIRE_DEFAULTS], ++[ ++ m4_defun(GL_MODULE_INDICATOR_PREFIX[_WCTYPE_H_MODULE_INDICATOR_DEFAULTS], [ ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ISWBLANK]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ISWDIGIT]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ISWXDIGIT]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCTYPE]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ISWCTYPE]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCTRANS]) ++ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TOWCTRANS]) ++ ]) ++ m4_require(GL_MODULE_INDICATOR_PREFIX[_WCTYPE_H_MODULE_INDICATOR_DEFAULTS]) ++ AC_REQUIRE([gl_WCTYPE_H_DEFAULTS]) ++]) ++ + AC_DEFUN([gl_WCTYPE_H_DEFAULTS], + [ +- GNULIB_ISWBLANK=0; AC_SUBST([GNULIB_ISWBLANK]) +- GNULIB_ISWDIGIT=0; AC_SUBST([GNULIB_ISWDIGIT]) +- GNULIB_ISWXDIGIT=0; AC_SUBST([GNULIB_ISWXDIGIT]) +- GNULIB_WCTYPE=0; AC_SUBST([GNULIB_WCTYPE]) +- GNULIB_ISWCTYPE=0; AC_SUBST([GNULIB_ISWCTYPE]) +- GNULIB_WCTRANS=0; AC_SUBST([GNULIB_WCTRANS]) +- GNULIB_TOWCTRANS=0; AC_SUBST([GNULIB_TOWCTRANS]) + dnl Assume proper GNU behavior unless another module says otherwise. + HAVE_ISWBLANK=1; AC_SUBST([HAVE_ISWBLANK]) + HAVE_WCTYPE_T=1; AC_SUBST([HAVE_WCTYPE_T]) +--- a/gnulib/m4/wint_t.m4 ++++ b/gnulib/m4/wint_t.m4 +@@ -1,4 +1,4 @@ +-# wint_t.m4 serial 10 ++# wint_t.m4 serial 11 + dnl Copyright (C) 2003, 2007-2021 Free Software Foundation, Inc. + dnl This file is free software; the Free Software Foundation + dnl gives unlimited permission to copy and/or distribute it, +@@ -34,14 +34,14 @@ AC_DEFUN([gt_TYPE_WINT_T], + [gl_cv_type_wint_t_large_enough=yes], + [gl_cv_type_wint_t_large_enough=no])]) + if test $gl_cv_type_wint_t_large_enough = no; then +- GNULIB_OVERRIDES_WINT_T=1 ++ GNULIBHEADERS_OVERRIDE_WINT_T=1 + else +- GNULIB_OVERRIDES_WINT_T=0 ++ GNULIBHEADERS_OVERRIDE_WINT_T=0 + fi + else +- GNULIB_OVERRIDES_WINT_T=0 ++ GNULIBHEADERS_OVERRIDE_WINT_T=0 + fi +- AC_SUBST([GNULIB_OVERRIDES_WINT_T]) ++ AC_SUBST([GNULIBHEADERS_OVERRIDE_WINT_T]) + ]) + + dnl Prerequisites of the 'wint_t' override. +--- /dev/null ++++ b/gnulib/m4/year2038.m4 +@@ -0,0 +1,112 @@ ++# year2038.m4 serial 5 ++dnl Copyright (C) 2017-2021 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 Attempt to ensure that 'time_t' is a 64-bit type ++dnl and that the functions time(), stat(), etc. return 64-bit times. ++ ++AC_DEFUN([gl_YEAR2038_EARLY], ++[ ++ AC_REQUIRE([AC_CANONICAL_HOST]) ++ case "$host_os" in ++ mingw*) ++ AC_DEFINE([__MINGW_USE_VC2005_COMPAT], [1], ++ [For 64-bit time_t on 32-bit mingw.]) ++ ;; ++ esac ++]) ++ ++# gl_YEAR2038_TEST_INCLUDES ++# ------------------------- ++AC_DEFUN([gl_YEAR2038_TEST_INCLUDES], ++[[ ++ #include <time.h> ++ /* Check that time_t can represent 2**63 - 1 correctly. ++ We can't simply define LARGE_TIME_T to be 9223372036854775807, ++ since some C++ compilers masquerading as C compilers ++ incorrectly reject 9223372036854775807. */ ++ #define LARGE_TIME_T (((time_t) 1 << 31 << 31) - 1 + ((time_t) 1 << 31 << 31)) ++ int verify_time_t_range[(LARGE_TIME_T % 2147483629 == 721 ++ && LARGE_TIME_T % 2147483647 == 1) ++ ? 1 : -1]; ++]]) ++ ++# gl_YEAR2038_BODY(REQUIRE-64-BIT) ++---------------------------------- ++AC_DEFUN([gl_YEAR2038_BODY], ++[ ++ AC_ARG_ENABLE([year2038], ++ [ --disable-year2038 omit support for timestamps past the year 2038]) ++ AS_IF([test "$enable_year2038" != no], ++ [ ++ dnl On many systems, time_t is already a 64-bit type. ++ dnl On those systems where time_t is still 32-bit, it requires kernel ++ dnl and libc support to make it 64-bit. For glibc 2.34 and later on Linux, ++ dnl defining _TIME_BITS=64 and _FILE_OFFSET_BITS=64 is needed on x86 and ARM. ++ dnl ++ dnl On native Windows, the system include files define types __time32_t ++ dnl and __time64_t. By default, time_t is an alias of ++ dnl - __time32_t on 32-bit mingw, ++ dnl - __time64_t on 64-bit mingw and on MSVC (since MSVC 8). ++ dnl But when compiling with -D__MINGW_USE_VC2005_COMPAT, time_t is an ++ dnl alias of __time64_t. ++ dnl And when compiling with -D_USE_32BIT_TIME_T, time_t is an alias of ++ dnl __time32_t. ++ AC_CACHE_CHECK([for 64-bit time_t], [gl_cv_type_time_t_64], ++ [AC_COMPILE_IFELSE( ++ [AC_LANG_SOURCE([gl_YEAR2038_TEST_INCLUDES])], ++ [gl_cv_type_time_t_64=yes], [gl_cv_type_time_t_64=no]) ++ ]) ++ if test "$gl_cv_type_time_t_64" = no; then ++ AC_CACHE_CHECK([for 64-bit time_t with _TIME_BITS=64], ++ [gl_cv_type_time_t_bits_macro], ++ [AC_COMPILE_IFELSE( ++ [AC_LANG_SOURCE([[#define _TIME_BITS 64 ++ #define _FILE_OFFSET_BITS 64 ++ ]gl_YEAR2038_TEST_INCLUDES])], ++ [gl_cv_type_time_t_bits_macro=yes], ++ [gl_cv_type_time_t_bits_macro=no]) ++ ]) ++ if test "$gl_cv_type_time_t_bits_macro" = yes; then ++ AC_DEFINE([_TIME_BITS], [64], ++ [Number of bits in a timestamp, on hosts where this is settable.]) ++ dnl AC_SYS_LARGFILE also defines this; it's OK if we do too. ++ AC_DEFINE([_FILE_OFFSET_BITS], [64], ++ [Number of bits in a file offset, on hosts where this is settable.]) ++ gl_cv_type_time_t_64=yes ++ fi ++ fi ++ if test $gl_cv_type_time_t_64 = no; then ++ AC_COMPILE_IFELSE( ++ [AC_LANG_SOURCE( ++ [[#ifdef _USE_32BIT_TIME_T ++ int ok; ++ #else ++ error fail ++ #endif ++ ]])], ++ [AC_MSG_FAILURE([This package requires a 64-bit 'time_t' type. Remove _USE_32BIT_TIME_T from the compiler flags.])], ++ [# If not cross-compiling and $1 says we should check, ++ # and 'touch' works with a large timestamp, then evidently 64-bit time_t ++ # is desired and supported, so fail and ask the builder to fix the ++ # problem. Otherwise, just warn the builder. ++ m4_ifval([$1], ++ [if test $cross_compiling = no \ ++ && TZ=UTC0 touch -t 210602070628.16 conftest.time 2>/dev/null; then ++ rm -f conftest.time ++ AC_MSG_FAILURE([This package requires a 64-bit 'time_t' type, which your system appears to support. You might try configuring with 'CPPFLAGS="-m64" LDFLAGS="-m64"'. To build with a 32-bit time_t anyway (not recommended), configure with '--disable-year2038'.]) ++ fi]) ++ if test "$gl_warned_about_64_bit_time_t" != yes; then ++ AC_MSG_WARN([This package requires a 64-bit 'time_t' type if there is any way to access timestamps outside the year range 1901-2038 on your platform. Perhaps you should configure with 'CPPFLAGS="-m64" LDFLAGS="-m64"'?]) ++ gl_warned_about_64_bit_time_t=yes ++ fi ++ ]) ++ fi]) ++]) ++ ++AC_DEFUN([gl_YEAR2038], ++[ ++ gl_YEAR2038_BODY([require-64-bit]) ++]) diff --git a/poky/meta/recipes-extended/texinfo/texinfo_6.8.bb b/poky/meta/recipes-extended/texinfo/texinfo_6.8.bb index e5046ffbe..5a7cbef40 100644 --- a/poky/meta/recipes-extended/texinfo/texinfo_6.8.bb +++ b/poky/meta/recipes-extended/texinfo/texinfo_6.8.bb @@ -7,7 +7,7 @@ SECTION = "console/utils" LICENSE = "GPLv3+" LIC_FILES_CHKSUM = "file://COPYING;md5=1ebbd3e34237af26da5dc08a4e440464" -PROVIDES_append_class-native = " texinfo-replacement-native" +PROVIDES:append:class-native = " texinfo-replacement-native" def compress_pkg(d): if bb.data.inherits_class('compress_doc', d): @@ -20,15 +20,16 @@ def compress_pkg(d): return "xz" return "" -RDEPENDS_info += "${@compress_pkg(d)}" +RDEPENDS:info += "${@compress_pkg(d)}" DEPENDS = "zlib ncurses texinfo-replacement-native" -DEPENDS_class-native = "zlib-native ncurses-native" +DEPENDS:class-native = "zlib-native ncurses-native" TARGET_PATCH = "file://use_host_makedoc.patch" -TARGET_PATCH_class-native = "" +TARGET_PATCH:class-native = "" SRC_URI = "${GNU_MIRROR}/texinfo/${BP}.tar.gz \ + file://0001-gnulib-Update.patch \ file://disable-native-tools.patch \ file://link-zip.patch \ file://dont-depend-on-help2man.patch \ @@ -45,38 +46,38 @@ MULTILIB_SCRIPTS = "${PN}:${bindir}/texi2any" EXTRA_AUTORECONF += "-I ${S}/gnulib/m4" -do_configure_prepend () { +do_configure:prepend () { # autotools_do_configure updates po/Makefile.in.in, we also need # update po_document. cp -f ${STAGING_DATADIR_NATIVE}/gettext/po/Makefile.in.in ${S}/po_document/ } -do_compile_prepend() { +do_compile:prepend() { if [ -d tools ];then oe_runmake -C tools/gnulib/lib fi } -do_install_append() { +do_install:append() { mkdir -p ${D}${datadir}/${tex_texinfo} install -p -m644 ${S}/doc/texinfo.tex ${S}/doc/txi-??.tex ${D}${datadir}/${tex_texinfo} sed -i -e '1s,#!.*perl,#! ${USRBINPATH}/env perl,' ${D}${bindir}/texi2any ${D}${bindir}/pod2texi } -do_install_append_class-native() { +do_install:append:class-native() { install -m 755 info/makedoc ${D}${bindir} } PACKAGES += "info info-doc" -FILES_info = "${bindir}/info ${bindir}/infokey ${bindir}/install-info" -FILES_info-doc = "${infodir}/info.info* ${infodir}/dir ${infodir}/info-*.info* \ +FILES:info = "${bindir}/info ${bindir}/infokey ${bindir}/install-info" +FILES:info-doc = "${infodir}/info.info* ${infodir}/dir ${infodir}/info-*.info* \ ${mandir}/man1/info.1* ${mandir}/man5/info.5* \ ${mandir}/man1/infokey.1* ${mandir}/man1/install-info.1*" -FILES_${PN} = "${bindir}/makeinfo ${bindir}/texi* ${bindir}/pdftexi2dvi ${bindir}/pod2texi ${datadir}/texinfo" -RDEPENDS_${PN} = "perl" -FILES_${PN}-doc = "${infodir}/texinfo* \ +FILES:${PN} = "${bindir}/makeinfo ${bindir}/texi* ${bindir}/pdftexi2dvi ${bindir}/pod2texi ${datadir}/texinfo" +RDEPENDS:${PN} = "perl" +FILES:${PN}-doc = "${infodir}/texinfo* \ ${datadir}/${tex_texinfo} \ ${mandir}/man1 ${mandir}/man5" @@ -84,6 +85,6 @@ FILES_${PN}-doc = "${infodir}/texinfo* \ # but the code will test for it and if not found use Locale::gettext_pp instead. # However, this causes a file dependency on perl(Locale::gettext_xs) to be # generated, which must be satisfied. -RPROVIDES_${PN} += "perl(Locale::gettext_xs)" +RPROVIDES:${PN} += "perl(Locale::gettext_xs)" BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-extended/time/time_1.9.bb b/poky/meta/recipes-extended/time/time_1.9.bb index e2b084caa..abd00f09b 100644 --- a/poky/meta/recipes-extended/time/time_1.9.bb +++ b/poky/meta/recipes-extended/time/time_1.9.bb @@ -8,7 +8,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" inherit texinfo update-alternatives -ALTERNATIVE_${PN} = "time" +ALTERNATIVE:${PN} = "time" ALTERNATIVE_PRIORITY = "100" BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-extended/timezone/tzdata.bb b/poky/meta/recipes-extended/timezone/tzdata.bb index 09145e1ed..c2b019922 100644 --- a/poky/meta/recipes-extended/timezone/tzdata.bb +++ b/poky/meta/recipes-extended/timezone/tzdata.bb @@ -4,7 +4,7 @@ DEPENDS = "tzcode-native" inherit allarch -RCONFLICTS_${PN} = "timezones timezone-africa timezone-america timezone-antarctica \ +RCONFLICTS:${PN} = "timezones timezone-africa timezone-america timezone-antarctica \ timezone-arctic timezone-asia timezone-atlantic \ timezone-australia timezone-europe timezone-indian \ timezone-iso3166.tab timezone-pacific timezone-zone.tab" @@ -59,7 +59,7 @@ do_install () { chown -R root:root ${D} } -pkg_postinst_${PN} () { +pkg_postinst:${PN} () { etc_lt="$D${sysconfdir}/localtime" src="$D${sysconfdir}/timezone" @@ -88,47 +88,47 @@ TZ_PACKAGES = " \ tzdata-atlantic tzdata-australia tzdata-europe tzdata-pacific" PACKAGES = "${TZ_PACKAGES} ${PN}" -FILES_tzdata-africa += "${datadir}/zoneinfo/Africa/*" -RPROVIDES_tzdata-africa = "tzdata-africa" +FILES:tzdata-africa += "${datadir}/zoneinfo/Africa/*" +RPROVIDES:tzdata-africa = "tzdata-africa" -FILES_tzdata-americas += "${datadir}/zoneinfo/America/* \ +FILES:tzdata-americas += "${datadir}/zoneinfo/America/* \ ${datadir}/zoneinfo/US/* \ ${datadir}/zoneinfo/Brazil/* \ ${datadir}/zoneinfo/Canada/* \ ${datadir}/zoneinfo/Mexico/* \ ${datadir}/zoneinfo/Chile/*" -RPROVIDES_tzdata-americas = "tzdata-americas" +RPROVIDES:tzdata-americas = "tzdata-americas" -FILES_tzdata-antarctica += "${datadir}/zoneinfo/Antarctica/*" -RPROVIDES_tzdata-antarctica = "tzdata-antarctica" +FILES:tzdata-antarctica += "${datadir}/zoneinfo/Antarctica/*" +RPROVIDES:tzdata-antarctica = "tzdata-antarctica" -FILES_tzdata-arctic += "${datadir}/zoneinfo/Arctic/*" -RPROVIDES_tzdata-arctic = "tzdata-arctic" +FILES:tzdata-arctic += "${datadir}/zoneinfo/Arctic/*" +RPROVIDES:tzdata-arctic = "tzdata-arctic" -FILES_tzdata-asia += "${datadir}/zoneinfo/Asia/* \ +FILES:tzdata-asia += "${datadir}/zoneinfo/Asia/* \ ${datadir}/zoneinfo/Indian/* \ ${datadir}/zoneinfo/Mideast/*" -RPROVIDES_tzdata-asia = "tzdata-asia" +RPROVIDES:tzdata-asia = "tzdata-asia" -FILES_tzdata-atlantic += "${datadir}/zoneinfo/Atlantic/*" -RPROVIDES_tzdata-atlantic = "tzdata-atlantic" +FILES:tzdata-atlantic += "${datadir}/zoneinfo/Atlantic/*" +RPROVIDES:tzdata-atlantic = "tzdata-atlantic" -FILES_tzdata-australia += "${datadir}/zoneinfo/Australia/*" -RPROVIDES_tzdata-australia = "tzdata-australia" +FILES:tzdata-australia += "${datadir}/zoneinfo/Australia/*" +RPROVIDES:tzdata-australia = "tzdata-australia" -FILES_tzdata-europe += "${datadir}/zoneinfo/Europe/*" -RPROVIDES_tzdata-europe = "tzdata-europe" +FILES:tzdata-europe += "${datadir}/zoneinfo/Europe/*" +RPROVIDES:tzdata-europe = "tzdata-europe" -FILES_tzdata-pacific += "${datadir}/zoneinfo/Pacific/*" -RPROVIDES_tzdata-pacific = "tzdata-pacific" +FILES:tzdata-pacific += "${datadir}/zoneinfo/Pacific/*" +RPROVIDES:tzdata-pacific = "tzdata-pacific" -FILES_tzdata-posix += "${datadir}/zoneinfo/posix/*" -RPROVIDES_tzdata-posix = "tzdata-posix" +FILES:tzdata-posix += "${datadir}/zoneinfo/posix/*" +RPROVIDES:tzdata-posix = "tzdata-posix" -FILES_tzdata-right += "${datadir}/zoneinfo/right/*" -RPROVIDES_tzdata-right = "tzdata-right" +FILES:tzdata-right += "${datadir}/zoneinfo/right/*" +RPROVIDES:tzdata-right = "tzdata-right" -FILES_tzdata-misc += "${datadir}/zoneinfo/Cuba \ +FILES:tzdata-misc += "${datadir}/zoneinfo/Cuba \ ${datadir}/zoneinfo/Egypt \ ${datadir}/zoneinfo/Eire \ ${datadir}/zoneinfo/Factory \ @@ -146,9 +146,9 @@ FILES_tzdata-misc += "${datadir}/zoneinfo/Cuba \ ${datadir}/zoneinfo/Portugal \ ${datadir}/zoneinfo/Singapore \ ${datadir}/zoneinfo/Turkey" -RPROVIDES_tzdata-misc = "tzdata-misc" +RPROVIDES:tzdata-misc = "tzdata-misc" -FILES_tzdata-core += " \ +FILES:tzdata-core += " \ ${sysconfdir}/localtime \ ${sysconfdir}/timezone \ ${datadir}/zoneinfo/leapseconds \ @@ -208,7 +208,7 @@ FILES_tzdata-core += " \ ${datadir}/zoneinfo/iso3166.tab \ ${datadir}/zoneinfo/Etc/*" -CONFFILES_tzdata-core = "${sysconfdir}/localtime ${sysconfdir}/timezone" +CONFFILES:tzdata-core = "${sysconfdir}/localtime ${sysconfdir}/timezone" -ALLOW_EMPTY_${PN} = "1" -RDEPENDS_${PN} = "${TZ_PACKAGES}" +ALLOW_EMPTY:${PN} = "1" +RDEPENDS:${PN} = "${TZ_PACKAGES}" diff --git a/poky/meta/recipes-extended/unzip/unzip_6.0.bb b/poky/meta/recipes-extended/unzip/unzip_6.0.bb index 40f0346f8..0bc6abcd4 100644 --- a/poky/meta/recipes-extended/unzip/unzip_6.0.bb +++ b/poky/meta/recipes-extended/unzip/unzip_6.0.bb @@ -49,7 +49,7 @@ EXTRA_OEMAKE = "-e MAKEFLAGS= STRIP=true LF2='' \ 'CF_NOOPT=-I. -Ibzip2 -DUNIX ${CFLAGS}'" export LD = "${CC}" -LD_class-native = "${CC}" +LD:class-native = "${CC}" do_compile() { oe_runmake -f unix/Makefile generic @@ -66,7 +66,7 @@ inherit update-alternatives ALTERNATIVE_PRIORITY = "100" -ALTERNATIVE_${PN} = "unzip" +ALTERNATIVE:${PN} = "unzip" ALTERNATIVE_LINK_NAME[unzip] = "${bindir}/unzip" BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-extended/watchdog/watchdog_5.16.bb b/poky/meta/recipes-extended/watchdog/watchdog_5.16.bb index 19e94757c..66373c9b2 100644 --- a/poky/meta/recipes-extended/watchdog/watchdog_5.16.bb +++ b/poky/meta/recipes-extended/watchdog/watchdog_5.16.bb @@ -36,20 +36,20 @@ CACHED_CONFIGUREVARS += "ac_cv_path_PATH_SENDMAIL=${sbindir}/sendmail" INITSCRIPT_PACKAGES = "${PN} ${PN}-keepalive" -INITSCRIPT_NAME_${PN} = "watchdog" -INITSCRIPT_PARAMS_${PN} = "start 25 1 2 3 4 5 . stop 85 0 6 ." +INITSCRIPT_NAME:${PN} = "watchdog" +INITSCRIPT_PARAMS:${PN} = "start 25 1 2 3 4 5 . stop 85 0 6 ." -INITSCRIPT_NAME_${PN}-keepalive = "wd_keepalive" -INITSCRIPT_PARAMS_${PN}-keepalive = "start 25 1 2 3 4 5 . stop 85 0 6 ." +INITSCRIPT_NAME:${PN}-keepalive = "wd_keepalive" +INITSCRIPT_PARAMS:${PN}-keepalive = "start 25 1 2 3 4 5 . stop 85 0 6 ." SYSTEMD_PACKAGES = "${PN} ${PN}-keepalive" -SYSTEMD_SERVICE_${PN} = "watchdog.service" -SYSTEMD_SERVICE_${PN}-keepalive = "wd_keepalive.service" +SYSTEMD_SERVICE:${PN} = "watchdog.service" +SYSTEMD_SERVICE:${PN}-keepalive = "wd_keepalive.service" # When using systemd, consider making use of internal watchdog support of systemd. # See RuntimeWatchdogSec in /etc/systemd/system.conf. SYSTEMD_AUTO_ENABLE = "disable" -do_install_append() { +do_install:append() { install -d ${D}${systemd_system_unitdir} install -m 0644 ${S}/debian/watchdog.service ${D}${systemd_system_unitdir} install -m 0644 ${S}/debian/wd_keepalive.service ${D}${systemd_system_unitdir} @@ -63,15 +63,15 @@ do_install_append() { PACKAGES =+ "${PN}-keepalive" -FILES_${PN}-keepalive = " \ +FILES:${PN}-keepalive = " \ ${sysconfdir}/init.d/wd_keepalive \ ${systemd_system_unitdir}/wd_keepalive.service \ ${sbindir}/wd_keepalive \ " -RDEPENDS_${PN} += "${PN}-config" -RRECOMMENDS_${PN} += "kernel-module-softdog" +RDEPENDS:${PN} += "${PN}-config" +RRECOMMENDS:${PN} += "kernel-module-softdog" -RDEPENDS_${PN}-keepalive += "${PN}-config" -RCONFLICTS_${PN}-keepalive += "${PN}" -RRECOMMENDS_${PN}-keepalive += "kernel-module-softdog" +RDEPENDS:${PN}-keepalive += "${PN}-config" +RCONFLICTS:${PN}-keepalive += "${PN}" +RRECOMMENDS:${PN}-keepalive += "kernel-module-softdog" diff --git a/poky/meta/recipes-extended/wget/wget.inc b/poky/meta/recipes-extended/wget/wget.inc index 233832821..cd7290be5 100644 --- a/poky/meta/recipes-extended/wget/wget.inc +++ b/poky/meta/recipes-extended/wget/wget.inc @@ -17,11 +17,11 @@ EXTRA_OECONF = "--without-libgnutls-prefix --without-libssl-prefix \ EXTRA_OEMAKE += 'TOOLCHAIN_OPTIONS="${TOOLCHAIN_OPTIONS}" \ DEBUG_PREFIX_MAP="${DEBUG_PREFIX_MAP}"' -ALTERNATIVE_${PN} = "wget" -ALTERNATIVE_${PN}_class-nativesdk = "" +ALTERNATIVE:${PN} = "wget" +ALTERNATIVE:${PN}:class-nativesdk = "" ALTERNATIVE_PRIORITY = "100" -RRECOMMENDS_${PN} += "ca-certificates" +RRECOMMENDS:${PN} += "ca-certificates" BBCLASSEXTEND = "nativesdk" diff --git a/poky/meta/recipes-extended/which/which_2.21.bb b/poky/meta/recipes-extended/which/which_2.21.bb index 1da69c548..d3c3f69d3 100644 --- a/poky/meta/recipes-extended/which/which_2.21.bb +++ b/poky/meta/recipes-extended/which/which_2.21.bb @@ -24,14 +24,14 @@ SRC_URI = "${GNU_MIRROR}/which/which-${PV}.tar.gz \ SRC_URI[md5sum] = "097ff1a324ae02e0a3b0369f07a7544a" SRC_URI[sha256sum] = "f4a245b94124b377d8b49646bf421f9155d36aa7614b6ebf83705d3ffc76eaad" -do_configure_prepend() { +do_configure:prepend() { sed -i -e 's%@ACLOCAL_CWFLAGS@%-I ${STAGING_DIR_NATIVE}/usr/share/cwautomacros/m4%g' ${S}/Makefile.am ${S}/tilde/Makefile.am } -ALTERNATIVE_${PN} = "which" +ALTERNATIVE:${PN} = "which" ALTERNATIVE_PRIORITY = "100" -ALTERNATIVE_${PN}-doc = "which.1" +ALTERNATIVE:${PN}-doc = "which.1" ALTERNATIVE_LINK_NAME[which.1] = "${mandir}/man1/which.1" BBCLASSEXTEND = "nativesdk" diff --git a/poky/meta/recipes-extended/xdg-utils/xdg-utils_1.1.3.bb b/poky/meta/recipes-extended/xdg-utils/xdg-utils_1.1.3.bb index d371c5c28..108e7b8c4 100644 --- a/poky/meta/recipes-extended/xdg-utils/xdg-utils_1.1.3.bb +++ b/poky/meta/recipes-extended/xdg-utils/xdg-utils_1.1.3.bb @@ -34,4 +34,4 @@ inherit autotools-brokensep features_check REQUIRED_DISTRO_FEATURES = "x11" DEPENDS = "xmlto-native libxslt-native" -RDEPENDS_${PN} += "xprop" +RDEPENDS:${PN} += "xprop" diff --git a/poky/meta/recipes-extended/xinetd/xinetd_2.3.15.4.bb b/poky/meta/recipes-extended/xinetd/xinetd_2.3.15.4.bb index 69d5b2f83..e6ef5cf8b 100644 --- a/poky/meta/recipes-extended/xinetd/xinetd_2.3.15.4.bb +++ b/poky/meta/recipes-extended/xinetd/xinetd_2.3.15.4.bb @@ -24,7 +24,7 @@ CVE_CHECK_WHITELIST += "CVE-2013-4342" inherit autotools update-rc.d systemd pkgconfig -SYSTEMD_SERVICE_${PN} = "xinetd.service" +SYSTEMD_SERVICE:${PN} = "xinetd.service" INITSCRIPT_NAME = "xinetd" INITSCRIPT_PARAMS = "defaults" @@ -32,9 +32,9 @@ INITSCRIPT_PARAMS = "defaults" PACKAGECONFIG ??= "tcp-wrappers" PACKAGECONFIG[tcp-wrappers] = "--with-libwrap,,tcp-wrappers" -CONFFILES_${PN} = "${sysconfdir}/xinetd.conf" +CONFFILES:${PN} = "${sysconfdir}/xinetd.conf" -do_install_append() { +do_install:append() { install -d "${D}${sysconfdir}/init.d" install -d "${D}${sysconfdir}/default" install -m 755 "${WORKDIR}/xinetd.init" "${D}${sysconfdir}/init.d/xinetd" @@ -48,4 +48,4 @@ do_install_append() { ${D}${systemd_unitdir}/system/xinetd.service } -RDEPENDS_${PN} += "perl" +RDEPENDS:${PN} += "perl" diff --git a/poky/meta/recipes-extended/xz/xz_5.2.5.bb b/poky/meta/recipes-extended/xz/xz_5.2.5.bb index f5f5c318f..8021ebd9b 100644 --- a/poky/meta/recipes-extended/xz/xz_5.2.5.bb +++ b/poky/meta/recipes-extended/xz/xz_5.2.5.bb @@ -8,13 +8,13 @@ SECTION = "base" # and the LGPL bits are under lib/, which appears to be used for libgnu, which # appears to be used for DOS builds. So we're left with GPLv2+ and PD. LICENSE = "GPLv2+ & GPL-3.0-with-autoconf-exception & LGPLv2.1+ & PD" -LICENSE_${PN} = "GPLv2+" -LICENSE_${PN}-dev = "GPLv2+" -LICENSE_${PN}-staticdev = "GPLv2+" -LICENSE_${PN}-doc = "GPLv2+" -LICENSE_${PN}-dbg = "GPLv2+" -LICENSE_${PN}-locale = "GPLv2+" -LICENSE_liblzma = "PD" +LICENSE:${PN} = "GPLv2+" +LICENSE:${PN}-dev = "GPLv2+" +LICENSE:${PN}-staticdev = "GPLv2+" +LICENSE:${PN}-doc = "GPLv2+" +LICENSE:${PN}-dbg = "GPLv2+" +LICENSE:${PN}-locale = "GPLv2+" +LICENSE:liblzma = "PD" LIC_FILES_CHKSUM = "file://COPYING;md5=97d554a32881fee0aa283d96e47cb24a \ file://COPYING.GPLv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ @@ -34,11 +34,11 @@ inherit autotools gettext PACKAGES =+ "liblzma" -FILES_liblzma = "${libdir}/liblzma*${SOLIBS}" +FILES:liblzma = "${libdir}/liblzma*${SOLIBS}" inherit update-alternatives ALTERNATIVE_PRIORITY = "100" -ALTERNATIVE_${PN} = "xz xzcat unxz \ +ALTERNATIVE:${PN} = "xz xzcat unxz \ lzma lzcat unlzma" BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-extended/zstd/zstd_1.5.0.bb b/poky/meta/recipes-extended/zstd/zstd_1.5.0.bb index 378605873..978812fdd 100644 --- a/poky/meta/recipes-extended/zstd/zstd_1.5.0.bb +++ b/poky/meta/recipes-extended/zstd/zstd_1.5.0.bb @@ -17,6 +17,8 @@ SRC_URI = "git://github.com/facebook/zstd.git;branch=release \ SRCREV = "a488ba114ec17ea1054b9057c26a046fc122b3b6" UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+(\.\d+)+)" +CVE_PRODUCT = "zstandard" + S = "${WORKDIR}/git" PACKAGECONFIG ??= "" |