From 4c588f061163483deaeecd52e6a5743762d2603e Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Mon, 15 Jan 2024 19:18:29 +0000 Subject: gentoo auto-resync : 15:01:2024 - 19:18:28 --- dev-build/automake/Manifest | 14 +++ dev-build/automake/automake-1.11.6-r4.ebuild | 91 ++++++++++++++ dev-build/automake/automake-1.16.5-r1.ebuild | 131 +++++++++++++++++++++ dev-build/automake/automake-9999.ebuild | 128 ++++++++++++++++++++ ...1.6-install-sh-avoid-low-risk-race-in-tmp.patch | 77 ++++++++++++ .../automake/files/automake-1.11.6-perl-5.16.patch | 128 ++++++++++++++++++++ ...omake-1.11.6-perl-escape-curly-bracket-r1.patch | 37 ++++++ .../automake-1.16.5-apostrophe-in-tests.patch | 53 +++++++++ ...tomake-1.16.5-fix-instmany-python.sh-test.patch | 26 ++++ ...ake-1.16.5-fix-py-compile-basedir.sh-test.patch | 28 +++++ .../files/automake-1.16.5-parallel-build.patch | 54 +++++++++ .../files/automake-1.16.5-py3-compile.patch | 75 ++++++++++++ dev-build/automake/metadata.xml | 12 ++ 13 files changed, 854 insertions(+) create mode 100644 dev-build/automake/Manifest create mode 100644 dev-build/automake/automake-1.11.6-r4.ebuild create mode 100644 dev-build/automake/automake-1.16.5-r1.ebuild create mode 100644 dev-build/automake/automake-9999.ebuild create mode 100644 dev-build/automake/files/automake-1.11.6-install-sh-avoid-low-risk-race-in-tmp.patch create mode 100644 dev-build/automake/files/automake-1.11.6-perl-5.16.patch create mode 100644 dev-build/automake/files/automake-1.11.6-perl-escape-curly-bracket-r1.patch create mode 100644 dev-build/automake/files/automake-1.16.5-apostrophe-in-tests.patch create mode 100644 dev-build/automake/files/automake-1.16.5-fix-instmany-python.sh-test.patch create mode 100644 dev-build/automake/files/automake-1.16.5-fix-py-compile-basedir.sh-test.patch create mode 100644 dev-build/automake/files/automake-1.16.5-parallel-build.patch create mode 100644 dev-build/automake/files/automake-1.16.5-py3-compile.patch create mode 100644 dev-build/automake/metadata.xml (limited to 'dev-build/automake') diff --git a/dev-build/automake/Manifest b/dev-build/automake/Manifest new file mode 100644 index 000000000000..3a09bae1b29f --- /dev/null +++ b/dev-build/automake/Manifest @@ -0,0 +1,14 @@ +AUX automake-1.11.6-install-sh-avoid-low-risk-race-in-tmp.patch 3016 BLAKE2B 8dbc2ae72f8d687e785be6dde22429305cdbbb2b441a05ad268d5a7f019b087e090d7b93cb5ff033d004a8344fc9056172f1a16bd0bfa98501e1c55cf6933c54 SHA512 0f6c6ee15c895b64742113156f9864396daa6d7680897e4795909c78cb300df0d96c63091a39e901c2d62e76852fcbb49a5be747cb4b381c4346b81c0c570149 +AUX automake-1.11.6-perl-5.16.patch 3555 BLAKE2B 8128b27ade89b12445b02532d9837ff469e6d0e1be3ebab6969d8d68c3a57a27e25ff89db82ed8abf3eff6d392bbd3b91a0b5b6b0827e7eec1279bc5345dc024 SHA512 050d66f3f1b4aed6482a234b32bbdbe231ddea0c9f4fb2ff97e963095ad69a487fd65986189fd659fbe8d8d011f3f866e92e506e653fd832d2adaf3263ed33fc +AUX automake-1.11.6-perl-escape-curly-bracket-r1.patch 1127 BLAKE2B 18664d2af473845f6ae91ab566651a53cbcf16df598adc3812f6d40f774c2c571c20dada4f23193b2b39ddc36c5fe9fea0449f32231540477fbf2260a7052c51 SHA512 25d94503572f70a5f9ab808057ca1ad7080cba89cf98c2b1664da2dc347f8ada1db6a97138a9b3ee12ffa54a37a34307a9fded4c069e1eb20e490556ad4f46d3 +AUX automake-1.16.5-apostrophe-in-tests.patch 1695 BLAKE2B e52093f7a19293d727060c1ba0e38f4d551530bfb77aa999dc68e70b3b1b8eee0a67eed3bfb24660af8f424f9d3bfc69998ff66c17a9be15261191dd6fb13b4a SHA512 f6c34a3d70b260c6923cf062fac107d00e04b58b99702f07e142051ed07a8a8a5c7591a49d6893f06d283a1464772252ef69d70d5ae62e049f72c363d7433299 +AUX automake-1.16.5-fix-instmany-python.sh-test.patch 676 BLAKE2B b4368612ef22de981e56c633b6993db5bc7fc1c84f9be002018d4dd25c13bbc36ef7378940680b3c73a559100134e2356e7d626cdc24d91497e644e8e27268a1 SHA512 41d0d797cf25f2e080a57f57bee041cc02ea9e0a7f1ee8aa55af112f43e02c58b867d778b79d82b909d13c55ac0326718f1716947c9022e035e4631d7dbe85a0 +AUX automake-1.16.5-fix-py-compile-basedir.sh-test.patch 1084 BLAKE2B 12cef1fb8287ae77a180611d8f8bfa18da1e7cb6e473bcc7b55a4b01ee7ee052863ce156820916b08a193d0b1e2c85580bcd68301c3780865c08d5b274f3af0a SHA512 ef9af5b799c0f7341dfeac5358a05dbcc7547e1d98661e37185b3b3d24971c8db690e9ddf0b471db96254c44ff4ce878c7951e5b5afe96942d5ce21f998ba294 +AUX automake-1.16.5-parallel-build.patch 2142 BLAKE2B 68f6664b563f07d7d3a4abcee006955f5fab4611834be80ba856a70a1d2a58d848abacfe259c0dbf7b60945d52b8fab90b538d0054145001b8ac446c2d2ea749 SHA512 1128cbd5766658258c164825a49f7cd03362187640102c1f581ecb3d1552408b22677deaf5dd538d1527dbfcac658545d786637c252a595fb81ceb7c10f82492 +AUX automake-1.16.5-py3-compile.patch 2517 BLAKE2B 35ba0af05e84c632b1e2b0e68376316b1ae3eb190521243fd02b3a78d9c13c2fd2853e052af214da8a6fc8139745bbf5f55af34ec5d00a39a99623fbc72c57f4 SHA512 50d7c7f36762abc148a692198da437394890f85ff1c2820c03d5120fbb351253b245e47e6e1b0f8a9a4f532f4e92c3e11524a3d24a9626b7eaa6c7f94216990d +DIST automake-1.11.6.tar.xz 1092908 BLAKE2B 17254d81d6920c32aa877b6c892025de8e4060b8bcbe50fff841ada513dd462ddde8fc6838b4976098a812f8fda047e7186cb62cea8175df615dde75a9959144 SHA512 6e4cdf69f07734954f770fd4a7211a8c9dc69fe25a7746bd3c1e01d3139c94cab2900399e87371548833e99687e0d2b59c5e746ab2fdfbc7d47f2c1d439137ba +DIST automake-1.16.5.tar.xz 1601740 BLAKE2B 87408abc57e1d4317a2b518fb3606d0f6d156522e7333016dd84747cd8922f27ef7fcc93220b11f794ce52bf8fd9a788d0166a4d1964d7c283905f269977ac7c SHA512 3084ae543aa3fb5a05104ffb2e66cfa9a53080f2343c44809707fd648516869511500dba50dae67ff10f92a1bf3b5a92b2a0fa01cda30adb69b9da03994d9d88 +EBUILD automake-1.11.6-r4.ebuild 2176 BLAKE2B 6bf94ec540ec362babc5f3573fc7bc02c703d3d76866428e01d6297221f677718aac4b254a8dd7161877490b6db892e14f91a10d907d81899016044aa7e02e27 SHA512 60ac32eda4ae7fd795c52b64325c643bfca8e040082d076734fa080760c489a6ea8f5d86e3f77373ad194df3953be929b876654f9a81a52a7a71e80af43b178d +EBUILD automake-1.16.5-r1.ebuild 3445 BLAKE2B f9cadfafeca99aa9fc801ccaa75206b53884ff1d4ba7f2d0e4518c71f2ff9f13030fd40d5afd06b6cda4b2f82a840ecd8e431e2d83d0270250ff217f5504f78f SHA512 0408e89f000246043964a9afacd0880ac04013b72e59054f69568c4506335e819c66623d145fa77635961650a834abee669021bd1a19293e98040c0a0c69fe07 +EBUILD automake-9999.ebuild 3230 BLAKE2B a7b638db8361464fd6344debf8dd7f94dbe1a614ccc6d3a187460dd90eac9fac15097a62c194b56ed30ca17b772eba5d1f702c44e91d97af3d733ba04f0ba9bb SHA512 e4f2beda315bff5bc72c2eced13d9514dcd9b82040bbefd669fdd9021a68380cfe7c79370cd88e4411cd6deb956f977bb2b0239e70f052d66aab2b508fd5eb46 +MISC metadata.xml 363 BLAKE2B 7cbff34d075f5fb5d8391bbc978f9236a6aa1903a697fac7bc52bdf98baebf7053ad4fb4231f4d2b327decce840e47fccf11a28411e9cd12647fa5ab7698f0f5 SHA512 c40b7d0d1986ac70deafd644669caa695279b4bba94b2bd5ab9a9dc8c14cb246b83dc6f19811210559fb9e0e85c7703a2599d910c8fe7a31bff01be10f6dfed7 diff --git a/dev-build/automake/automake-1.11.6-r4.ebuild b/dev-build/automake/automake-1.11.6-r4.ebuild new file mode 100644 index 000000000000..63adb6b1358a --- /dev/null +++ b/dev-build/automake/automake-1.11.6-r4.ebuild @@ -0,0 +1,91 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +DESCRIPTION="Used to generate Makefile.in from Makefile.am" +HOMEPAGE="https://www.gnu.org/software/automake/" +SRC_URI="mirror://gnu/${PN}/${P}.tar.xz" + +LICENSE="GPL-2" +# Use Gentoo versioning for slotting. +SLOT="${PV:0:4}" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos" +IUSE="test" +RESTRICT="test !test? ( test )" + +RDEPEND=" + >=dev-lang/perl-5.6 + >=dev-build/automake-wrapper-10 + >=dev-build/autoconf-2.69:* + sys-devel/gnuconfig +" +DEPEND=" + ${RDEPEND} + sys-apps/help2man +" +BDEPEND=" + app-arch/gzip + test? ( dev-util/dejagnu ) +" + +PATCHES=( + "${FILESDIR}"/${P}-perl-5.16.patch #424453 + "${FILESDIR}"/${P}-install-sh-avoid-low-risk-race-in-tmp.patch + "${FILESDIR}"/${P}-perl-escape-curly-bracket-r1.patch +) + +src_prepare() { + default + export WANT_AUTOCONF=2.5 + export HELP2MAN=true + sed -i -e "/APIVERSION=/s:=.*:=${SLOT}:" configure || die + export TZ="UTC" #589138 +} + +src_compile() { + # Also used in install. + MY_INFODIR="${EPREFIX}/usr/share/automake-${PV}/info" + econf --infodir="${MY_INFODIR}" + + local x + for x in aclocal automake; do + help2man "perl -Ilib ${x}" > doc/${x}-${SLOT}.1 + done +} + +src_install() { + default + + rm \ + "${ED}"/usr/bin/{aclocal,automake} \ + "${ED}"/usr/share/man/man1/{aclocal,automake}.1 || die + + # remove all config.guess and config.sub files replacing them + # w/a symlink to a specific gnuconfig version + local x + for x in guess sub ; do + dosym ../gnuconfig/config.${x} \ + /usr/share/${PN}-${SLOT}/config.${x} + done + + # Avoid QA message about pre-compressed file in docs + local tarfile="${ED}/usr/share/doc/${PF}/amhello-1.0.tar.gz" + if [[ -f "${tarfile}" ]] ; then + gunzip "${tarfile}" || die + fi + + pushd "${D}/${MY_INFODIR}" >/dev/null || die + for f in *.info*; do + # Install convenience aliases for versioned Automake pages. + ln -s "$f" "${f/./-${PV}.}" || die + done + popd >/dev/null || die + + local major="$(ver_cut 1)" + local minor="$(ver_cut 2)" + local idx="$((99999-(major*1000+minor)))" + newenvd - "06automake${idx}" <<-EOF + INFOPATH="${MY_INFODIR}" + EOF +} diff --git a/dev-build/automake/automake-1.16.5-r1.ebuild b/dev-build/automake/automake-1.16.5-r1.ebuild new file mode 100644 index 000000000000..07d5a58bdec0 --- /dev/null +++ b/dev-build/automake/automake-1.16.5-r1.ebuild @@ -0,0 +1,131 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +# Bumping notes: +# * Remember to modify LAST_KNOWN_AUTOMAKE_VER 'upstream' in dev-build/automake-wrapper +# on new automake (major) releases, as well as the dependency in RDEPEND below too. +# * Update _WANT_AUTOMAKE and _automake_atom case statement in autotools.eclass. + +PYTHON_COMPAT=( python3_{10..11} ) + +inherit python-any-r1 + +if [[ ${PV} == 9999 ]] ; then + EGIT_REPO_URI="https://git.savannah.gnu.org/r/${PN}.git" + inherit git-r3 +else + if [[ ${PV/_beta} == ${PV} ]]; then + MY_P="${P}" + SRC_URI="mirror://gnu/${PN}/${P}.tar.xz + https://alpha.gnu.org/pub/gnu/${PN}/${MY_P}.tar.xz" + KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" + else + MY_PV="$(ver_cut 1).$(($(ver_cut 2)-1))b" + MY_P="${PN}-${MY_PV}" + + # Alpha/beta releases are not distributed on the usual mirrors. + SRC_URI="https://alpha.gnu.org/pub/gnu/${PN}/${MY_P}.tar.xz" + fi + + S="${WORKDIR}/${MY_P}" +fi + +DESCRIPTION="Used to generate Makefile.in from Makefile.am" +HOMEPAGE="https://www.gnu.org/software/automake/" + +LICENSE="GPL-2" +# Use Gentoo versioning for slotting. +SLOT="${PV:0:4}" +IUSE="test" +RESTRICT="!test? ( test )" + +RDEPEND=" + >=dev-lang/perl-5.6 + >=dev-build/automake-wrapper-11 + >=dev-build/autoconf-2.69:* + sys-devel/gnuconfig +" +DEPEND="${RDEPEND}" +BDEPEND=" + app-alternatives/gzip + sys-apps/help2man + test? ( + ${PYTHON_DEPS} + dev-util/dejagnu + ) +" + +PATCHES=( + "${FILESDIR}"/${PN}-1.16.5-py3-compile.patch + "${FILESDIR}"/${PN}-1.16.5-fix-instmany-python.sh-test.patch + "${FILESDIR}"/${PN}-1.16.5-fix-py-compile-basedir.sh-test.patch + "${FILESDIR}"/${PN}-1.16.5-apostrophe-in-tests.patch + "${FILESDIR}"/${PN}-1.16.5-parallel-build.patch +) + +pkg_setup() { + # Avoid python-any-r1_pkg_setup + : +} + +src_prepare() { + default + + export WANT_AUTOCONF=2.5 + # Don't try wrapping the autotools - this thing runs as it tends + # to be a bit esoteric, and the script does `set -e` itself. + ./bootstrap || die + sed -i -e "/APIVERSION=/s:=.*:=${SLOT}:" configure || die + + # bug #628912 + if ! has_version -b sys-apps/texinfo ; then + touch doc/{stamp-vti,version.texi,automake.info} || die + fi +} + +src_configure() { + use test && python_setup + # Also used in install. + MY_INFODIR="${EPREFIX}/usr/share/automake-${PV}/info" + econf --infodir="${MY_INFODIR}" +} + +src_install() { + default + + rm "${ED}"/usr/share/aclocal/README || die + rmdir "${ED}"/usr/share/aclocal || die + rm \ + "${ED}"/usr/bin/{aclocal,automake} \ + "${ED}"/usr/share/man/man1/{aclocal,automake}.1 || die + + # remove all config.guess and config.sub files replacing them + # w/a symlink to a specific gnuconfig version + local x + for x in guess sub ; do + dosym ../gnuconfig/config.${x} \ + /usr/share/${PN}-${SLOT}/config.${x} + done + + # Avoid QA message about pre-compressed file in docs + local tarfile="${ED}/usr/share/doc/${PF}/amhello-1.0.tar.gz" + if [[ -f "${tarfile}" ]] ; then + gunzip "${tarfile}" || die + fi + + pushd "${D}/${MY_INFODIR}" >/dev/null || die + for f in *.info*; do + # Install convenience aliases for versioned Automake pages. + ln -s "$f" "${f/./-${PV}.}" || die + done + popd >/dev/null || die + + local major="$(ver_cut 1)" + local minor="$(ver_cut 2)" + local idx="$((99999-(major*1000+minor)))" + newenvd - "06automake${idx}" <<-EOF + INFOPATH="${MY_INFODIR}" + EOF +} diff --git a/dev-build/automake/automake-9999.ebuild b/dev-build/automake/automake-9999.ebuild new file mode 100644 index 000000000000..a16d0ba489bc --- /dev/null +++ b/dev-build/automake/automake-9999.ebuild @@ -0,0 +1,128 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +# Bumping notes: +# * Remember to modify LAST_KNOWN_AUTOMAKE_VER 'upstream' in dev-build/automake-wrapper +# on new automake (major) releases, as well as the dependency in RDEPEND below too. +# * Update _WANT_AUTOMAKE and _automake_atom case statement in autotools.eclass. + +PYTHON_COMPAT=( python3_{10..11} ) + +inherit python-any-r1 + +if [[ ${PV} == 9999 ]] ; then + EGIT_REPO_URI="https://git.savannah.gnu.org/r/${PN}.git" + inherit git-r3 +else + if [[ ${PV/_beta} == ${PV} ]]; then + MY_P="${P}" + SRC_URI="mirror://gnu/${PN}/${P}.tar.xz + https://alpha.gnu.org/pub/gnu/${PN}/${MY_P}.tar.xz" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" + else + MY_PV="$(ver_cut 1).$(($(ver_cut 2)-1))b" + MY_P="${PN}-${MY_PV}" + + # Alpha/beta releases are not distributed on the usual mirrors. + SRC_URI="https://alpha.gnu.org/pub/gnu/${PN}/${MY_P}.tar.xz" + fi + + S="${WORKDIR}/${MY_P}" +fi + +DESCRIPTION="Used to generate Makefile.in from Makefile.am" +HOMEPAGE="https://www.gnu.org/software/automake/" + +LICENSE="GPL-2" +# Use Gentoo versioning for slotting. +SLOT="${PV:0:4}" +IUSE="test" +RESTRICT="!test? ( test )" + +RDEPEND=" + >=dev-lang/perl-5.6 + >=dev-build/automake-wrapper-11 + >=dev-build/autoconf-2.69:* + sys-devel/gnuconfig +" +DEPEND="${RDEPEND}" +BDEPEND=" + app-alternatives/gzip + sys-apps/help2man + test? ( + ${PYTHON_DEPS} + dev-util/dejagnu + ) +" + +pkg_setup() { + # Avoid python-any-r1_pkg_setup + : +} + +src_prepare() { + default + + export WANT_AUTOCONF=2.5 + # Don't try wrapping the autotools - this thing runs as it tends + # to be a bit esoteric, and the script does `set -e` itself. + ./bootstrap || die + sed -i -e "/APIVERSION=/s:=.*:=${SLOT}:" configure || die + + # bug #628912 + if ! has_version -b sys-apps/texinfo ; then + touch doc/{stamp-vti,version.texi,automake.info} || die + fi +} + +src_configure() { + use test && python_setup + # Also used in install. + infopath="${EPREFIX}/usr/share/automake-${PV}/info" + econf --infodir="${infopath}" +} + +src_install() { + default + + rm "${ED}"/usr/share/aclocal/README || die + rmdir "${ED}"/usr/share/aclocal || die + rm \ + "${ED}"/usr/bin/{aclocal,automake} \ + "${ED}"/usr/share/man/man1/{aclocal,automake}.1 || die + + # remove all config.guess and config.sub files replacing them + # w/a symlink to a specific gnuconfig version + local x + for x in guess sub ; do + dosym ../gnuconfig/config.${x} \ + /usr/share/${PN}-${SLOT}/config.${x} + done + + # Avoid QA message about pre-compressed file in docs + local tarfile="${ED}/usr/share/doc/${PF}/amhello-1.0.tar.gz" + if [[ -f "${tarfile}" ]] ; then + gunzip "${tarfile}" || die + fi + + pushd "${D}/${infopath}" >/dev/null || die + for f in *.info*; do + # Install convenience aliases for versioned Automake pages. + ln -s "$f" "${f/./-${PV}.}" || die + done + popd >/dev/null || die + + if [[ ${PV} == 9999 ]]; then + local major="89" + local minor="999" + else + local major="$(ver_cut 1)" + local minor="$(ver_cut 2)" + fi + local idx="$((99999-(major*1000+minor)))" + newenvd - "06automake${idx}" <<-EOF + INFOPATH="${infopath}" + EOF +} diff --git a/dev-build/automake/files/automake-1.11.6-install-sh-avoid-low-risk-race-in-tmp.patch b/dev-build/automake/files/automake-1.11.6-install-sh-avoid-low-risk-race-in-tmp.patch new file mode 100644 index 000000000000..c435b9004f8d --- /dev/null +++ b/dev-build/automake/files/automake-1.11.6-install-sh-avoid-low-risk-race-in-tmp.patch @@ -0,0 +1,77 @@ +From: Pavel Raiskup +Date: Sat, 15 Aug 2015 04:40:57 -0400 +Subject: install-sh: avoid (low risk) race in /tmp + +Ensure that nobody can cross privilege boundaries by pre-creating +symlink on '$tmpdir' path. + +Just testing 'mkdir -p' by creating '/tmp/ins$RANDOM-$$/d' is not +safe because '/tmp' directory is usually world-writeable and +'/tmp/ins$RANDOM-$$' content could be pretty easily guessed by +attacker (at least for shells where $RANDOM is not supported). +So, as the first step, create the '/tmp/ins$RANDOM-$$' without -p. +This step would fail early if somebody wanted catch us. + +Note that systems that implement (and have enabled) +fs.protected_symlinks kernel feature are not affected even without +this commit. + +References: +https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=760455 +https://bugzilla.redhat.com/show_bug.cgi?id=1140725 + +* lib/install-sh: Implement safer 'mkdir -p' test by running +'$mkdirprog $mkdir_mode "$tmpdir"' first. +(scriptversion): Bump. + +--- a/lib/install-sh ++++ b/lib/install-sh +@@ -345,34 +345,41 @@ do + # is incompatible with FreeBSD 'install' when (umask & 300) != 0. + ;; + *) ++ # $RANDOM is not portable (e.g. dash); use it when possible to ++ # lower collision chance + tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$ +- trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0 ++ trap 'ret=$?; rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" 2>/dev/null; exit $ret' 0 + ++ # As "mkdir -p" follows symlinks and we work in /tmp possibly; so ++ # create the $tmpdir first (and fail if unsuccessful) to make sure ++ # that nobody tries to guess the $tmpdir name. + if (umask $mkdir_umask && +- exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1 ++ $mkdirprog $mkdir_mode "$tmpdir" && ++ exec $mkdirprog $mkdir_mode -p -- "$tmpdir/a/b") >/dev/null 2>&1 + then + if test -z "$dir_arg" || { + # Check for POSIX incompatibilities with -m. + # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or + # other-writeable bit of parent directory when it shouldn't. + # FreeBSD 6.1 mkdir -m -p sets mode of existing directory. +- ls_ld_tmpdir=`ls -ld "$tmpdir"` ++ test_tmpdir="$tmpdir/a" ++ ls_ld_tmpdir=`ls -ld "$test_tmpdir"` + case $ls_ld_tmpdir in + d????-?r-*) different_mode=700;; + d????-?--*) different_mode=755;; + *) false;; + esac && +- $mkdirprog -m$different_mode -p -- "$tmpdir" && { +- ls_ld_tmpdir_1=`ls -ld "$tmpdir"` ++ $mkdirprog -m$different_mode -p -- "$test_tmpdir" && { ++ ls_ld_tmpdir_1=`ls -ld "$test_tmpdir"` + test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1" + } + } + then posix_mkdir=: + fi +- rmdir "$tmpdir/d" "$tmpdir" ++ rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" + else + # Remove any dirs left behind by ancient mkdir implementations. +- rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null ++ rmdir ./$mkdir_mode ./-p ./-- "$tmpdir" 2>/dev/null + fi + trap '' 0;; + esac;; diff --git a/dev-build/automake/files/automake-1.11.6-perl-5.16.patch b/dev-build/automake/files/automake-1.11.6-perl-5.16.patch new file mode 100644 index 000000000000..19fe249e0c00 --- /dev/null +++ b/dev-build/automake/files/automake-1.11.6-perl-5.16.patch @@ -0,0 +1,128 @@ +https://bugs.gentoo.org/424453 + +From 6bf58a59a1f3803e57e3f0378aa9344686707b75 Mon Sep 17 00:00:00 2001 +From: Stefano Lattarini +Date: Mon, 28 May 2012 13:32:03 +0200 +Subject: [PATCH] aclocal: declare function prototypes, do not use '&' in + function calls + +This change will also fix automake bug#11543 (from a report by Matt +Burgess). + +* aclocal.in: Declare prototypes for almost all functions early, before +any actual function definition (but omit the prototype for the dynamically +generated '&search' function). Add prototypes to any function definition. +Remove '&' from function invocations (i.e., simply use "func(ARGS..)" +instead of "&func(ARGS...)"). +* THANKS, NEWS: Update. + +Signed-off-by: Stefano Lattarini +--- + NEWS | 4 ++++ + THANKS | 1 + + aclocal.in | 42 ++++++++++++++++++++++++++++++++++-------- + 3 files changed, 39 insertions(+), 8 deletions(-) + +diff --git a/aclocal.in b/aclocal.in +index dfb851b..e8855d5 100644 +--- a/aclocal.in ++++ b/aclocal.in +@@ -152,8 +152,34 @@ my $erase_me; + + ################################################################ + ++# Prototypes for all subroutines. ++ ++sub unlink_tmp (;$); ++sub xmkdir_p ($); ++sub check_acinclude (); ++sub reset_maps (); ++sub install_file ($$); ++sub list_compare (\@\@); ++sub scan_m4_dirs ($@); ++sub scan_m4_files (); ++sub add_macro ($); ++sub scan_configure_dep ($); ++sub add_file ($); ++sub scan_file ($$$); ++sub strip_redundant_includes (%); ++sub trace_used_macros (); ++sub scan_configure (); ++sub write_aclocal ($@); ++sub usage ($); ++sub version (); ++sub handle_acdir_option ($$); ++sub parse_arguments (); ++sub parse_ACLOCAL_PATH (); ++ ++################################################################ ++ + # Erase temporary file ERASE_ME. Handle signals. +-sub unlink_tmp ++sub unlink_tmp (;$) + { + my ($sig) = @_; + +@@ -350,7 +376,7 @@ sub scan_m4_dirs ($@) + next if $file eq 'aclocal.m4'; + + my $fullfile = File::Spec->canonpath ("$m4dir/$file"); +- &scan_file ($type, $fullfile, 'aclocal'); ++ scan_file ($type, $fullfile, 'aclocal'); + } + closedir (DIR); + } +@@ -361,12 +387,12 @@ sub scan_m4_files () + { + # First, scan configure.ac. It may contain macro definitions, + # or may include other files that define macros. +- &scan_file (FT_USER, $configure_ac, 'aclocal'); ++ scan_file (FT_USER, $configure_ac, 'aclocal'); + + # Then, scan acinclude.m4 if it exists. + if (-f 'acinclude.m4') + { +- &scan_file (FT_USER, 'acinclude.m4', 'aclocal'); ++ scan_file (FT_USER, 'acinclude.m4', 'aclocal'); + } + + # Finally, scan all files in our search paths. +@@ -380,7 +406,7 @@ sub scan_m4_files () + my $search = "sub search {\nmy \$found = 0;\n"; + foreach my $key (reverse sort keys %map) + { +- $search .= ('if (/\b\Q' . $key . '\E(?!\w)/) { & add_macro ("' . $key ++ $search .= ('if (/\b\Q' . $key . '\E(?!\w)/) { add_macro ("' . $key + . '"); $found = 1; }' . "\n"); + } + $search .= "return \$found;\n};\n"; +@@ -403,7 +429,7 @@ sub add_macro ($) + + verb "saw macro $macro"; + $macro_seen{$macro} = 1; +- &add_file ($map{$macro}); ++ add_file ($map{$macro}); + } + + # scan_configure_dep ($file) +@@ -465,7 +491,7 @@ sub scan_configure_dep ($) + } + + add_macro ($_) foreach (@rlist); +- &scan_configure_dep ($_) foreach @ilist; ++ scan_configure_dep ($_) foreach @ilist; + } + + # add_file ($FILE) +@@ -931,7 +957,7 @@ EOF + } + + # Print version and exit. +-sub version() ++sub version () + { + print < +Date: Tue, 7 Jul 2015 10:54:24 +0200 +Subject: [PATCH] bin/automake: escape '{' in regexp pattern + +Based on perlre(1) documentation: +.. in Perl v5.26, literal uses of a curly bracket will be required +to be escaped, say by preceding them with a backslash ("\{" ) or +enclosing them within square brackets ("[{]") .. + +References: +https://bugzilla.redhat.com/1239379 + +* bin/automake.in (substitute_ac_subst_variables): Escape the +occurrence of '{' character. +--- + bin/automake.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/bin/automake.in b/bin/automake.in +index 0c29184..c294ced 100644 +--- a/automake.in ++++ b/automake.in +@@ -3898,7 +3898,7 @@ sub substitute_ac_subst_variables_worker + sub substitute_ac_subst_variables ($) + { + my ($text) = @_; +- $text =~ s/\${([^ \t=:+{}]+)}/&substitute_ac_subst_variables_worker ($1)/ge; ++ $text =~ s/\$\{([^ \t=:+{}]+)}/&substitute_ac_subst_variables_worker ($1)/ge; + return $text; + } + +-- +2.1.0 + diff --git a/dev-build/automake/files/automake-1.16.5-apostrophe-in-tests.patch b/dev-build/automake/files/automake-1.16.5-apostrophe-in-tests.patch new file mode 100644 index 000000000000..2c1c99d57367 --- /dev/null +++ b/dev-build/automake/files/automake-1.16.5-apostrophe-in-tests.patch @@ -0,0 +1,53 @@ +https://git.savannah.gnu.org/cgit/automake.git/commit/?h=ed1368e8803e8934a8bbab52a38753484dba2a37 + +From ed1368e8803e8934a8bbab52a38753484dba2a37 Mon Sep 17 00:00:00 2001 +From: Karl Berry +Date: Mon, 12 Dec 2022 14:50:33 -0800 +Subject: test: avoid apostrophe in test document. + +From automake patch https://bugs.gnu.org/59989 +(though a different solution), suggestion by Frederic Berat. + +* t/txinfo-include.sh: avoid apostrophes in test document, +since Texinfo 7.0 turns them into UTF-8 by default. +--- + t/txinfo-include.sh | 9 ++++++--- + 1 file changed, 6 insertions(+), 3 deletions(-) + +diff --git a/t/txinfo-include.sh b/t/txinfo-include.sh +index 8a15f01..10fff07 100644 +--- a/t/txinfo-include.sh ++++ b/t/txinfo-include.sh +@@ -28,6 +28,9 @@ main_TEXINFOS = one.texi two.texi three.texi + sub_more_TEXINFOS = sub/desc.texi sub/hist.texi + END + ++# We avoid apostrophes in the test document since Texinfo ++# turns them into UTF-8, which is not easy to grep. ++# + cat > main.texi << 'END' + \input texinfo + @setfilename main.info +@@ -61,8 +64,8 @@ END + + cat > three.texi << 'END' + @node three +-@chapter Chapter two +-GNU's Not Unix. ++@chapter Chapter three ++Quux quux quux. + END + + mkdir sub +@@ -106,7 +109,7 @@ check_info_contents () + srcdir=${1-.} + $FGREP "Foo bar, baz." $srcdir/main.info + $FGREP "Blah Blah Blah." $srcdir/main.info +- $FGREP "GNU's Not Unix." $srcdir/main.info ++ $FGREP "Quux quux quux." $srcdir/main.info + $FGREP 'It does something, really.' $srcdir/sub/more.info + $FGREP 'It was written somehow.' $srcdir/sub/more.info + } +-- +cgit v1.1 + diff --git a/dev-build/automake/files/automake-1.16.5-fix-instmany-python.sh-test.patch b/dev-build/automake/files/automake-1.16.5-fix-instmany-python.sh-test.patch new file mode 100644 index 000000000000..5cddb4cfb83f --- /dev/null +++ b/dev-build/automake/files/automake-1.16.5-fix-instmany-python.sh-test.patch @@ -0,0 +1,26 @@ +From 50daac4f15d207b6b69011b9cdde62b56c1c8b10 Mon Sep 17 00:00:00 2001 +From: Thomas Deutschmann +Date: Fri, 20 Nov 2020 02:17:31 +0100 +Subject: [PATCH 2/2] tests: fix instmany-python.sh: increase limit + +Still failing with 4500 on Gentoo. Passing with 7000... +--- + t/instmany-python.sh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/t/instmany-python.sh b/t/instmany-python.sh +index dce3594b5..1c482520d 100644 +--- a/t/instmany-python.sh ++++ b/t/instmany-python.sh +@@ -21,7 +21,7 @@ + required='python' + . test-init.sh + +-limit=4500 ++limit=7000 + subdir=long_subdir_name_with_many_characters + nfiles=81 + list=$(seq_ 1 $nfiles) +-- +2.29.2 + diff --git a/dev-build/automake/files/automake-1.16.5-fix-py-compile-basedir.sh-test.patch b/dev-build/automake/files/automake-1.16.5-fix-py-compile-basedir.sh-test.patch new file mode 100644 index 000000000000..85273d6aaf03 --- /dev/null +++ b/dev-build/automake/files/automake-1.16.5-fix-py-compile-basedir.sh-test.patch @@ -0,0 +1,28 @@ +https://git.savannah.gnu.org/cgit/automake.git/commit/?h=ae8fb00111ba0c4922609cd9beb552fb41b66cc6 + +From e3db5b8038a902501a354b6921dcebcb4180f50a Mon Sep 17 00:00:00 2001 +From: Thomas Deutschmann +Date: Fri, 20 Nov 2020 02:13:56 +0100 +Subject: [PATCH 1/2] tests: fix py-compile-basedir.sh: add missing test call + +Fixes: b279a0d46 ("tests: in python tests, do not require .pyo files (for python3)") +--- + t/py-compile-basedir.sh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/t/py-compile-basedir.sh b/t/py-compile-basedir.sh +index 13a22ff1d..1a16ee2d7 100644 +--- a/t/py-compile-basedir.sh ++++ b/t/py-compile-basedir.sh +@@ -43,7 +43,7 @@ for d in foo foo/bar "$(pwd)/foo" . .. ../foo ''; do + py_installed "$d2/sub/$f.pyc" + files=$(find "$d2" | grep '\.py[co]$') + # with new-enough Python3, there are six files. +- test $(echo "$files" | wc -l) -eq 4 || $(echo "$files" | wc -l) -eq 6 ++ test $(echo "$files" | wc -l) -eq 4 || test $(echo "$files" | wc -l) -eq 6 + case $d2 in + .|..) rm -f $files;; + *) rm -rf "$d2";; +-- +2.29.2 + diff --git a/dev-build/automake/files/automake-1.16.5-parallel-build.patch b/dev-build/automake/files/automake-1.16.5-parallel-build.patch new file mode 100644 index 000000000000..985e86aeb32c --- /dev/null +++ b/dev-build/automake/files/automake-1.16.5-parallel-build.patch @@ -0,0 +1,54 @@ +https://git.savannah.gnu.org/cgit/automake.git/commit/?h=5d02285845acfc20a4900a471c0e7c5e2ff390a0 + +From 5d02285845acfc20a4900a471c0e7c5e2ff390a0 Mon Sep 17 00:00:00 2001 +From: Mike Frysinger +Date: Tue, 18 Jan 2022 04:47:09 -0500 +Subject: [PATCH] build: fix race in parallel builds + +As reported by Hongxu Jia: +> The automake-$(APIVERSION) is a hardlink of automake, if it is +> created later than update_mans executing, there is a failure +> [snip] +> |: && mkdir -p doc && ./pre-inst-env /usr/bin/env perl ../automake-1.16.1/doc/help2man --output=doc/aclocal-1.16.1 aclocal-1.16 +> |help2man: can't get `--help' info from aclocal-1.16 +> |Try `--no-discard-stderr' if option outputs to stderr +> Makefile:3693: recipe for target 'doc/aclocal-1.16.1' failed +> [snip] +> +> The automake_script is required by update_mans and update_mans +> invokes automake-$(APIVERSION) rather than automake to generate +> doc, so we should assign `automake-$(APIVERSION)' to automake_script. +> +> The same reason to tweak aclocal_script. + +However, rather than update the _script variables to point to the +hardlinked copies of the programs, we can have the help2man steps +run the existing scripts directly. This makes the relationship a +bit more explicit and avoids implicit dependencies on names. + +* doc/local.mk: Pass $(aclocal_script) and $(automake_script) to $(update_mans). +* THANKS: Add Hongxu Jia. +--- + THANKS | 1 + + doc/local.mk | 4 ++-- + 2 files changed, 3 insertions(+), 2 deletions(-) + +diff --git a/doc/local.mk b/doc/local.mk +index a29363d2d71b..06c78823a574 100644 +--- a/doc/local.mk ++++ b/doc/local.mk +@@ -46,9 +46,9 @@ update_mans = \ + && echo ".so man1/$$f-$(APIVERSION).1" > $@ + + %D%/aclocal-$(APIVERSION).1: $(aclocal_script) lib/Automake/Config.pm +- $(update_mans) aclocal-$(APIVERSION) ++ $(update_mans) $(aclocal_script) + %D%/automake-$(APIVERSION).1: $(automake_script) lib/Automake/Config.pm +- $(update_mans) automake-$(APIVERSION) ++ $(update_mans) $(automake_script) + + ## This target is not invoked as a dependency of anything. It exists + ## merely to make checking the links in automake.texi (that is, +-- +2.43.0 + diff --git a/dev-build/automake/files/automake-1.16.5-py3-compile.patch b/dev-build/automake/files/automake-1.16.5-py3-compile.patch new file mode 100644 index 000000000000..003b391b04ac --- /dev/null +++ b/dev-build/automake/files/automake-1.16.5-py3-compile.patch @@ -0,0 +1,75 @@ +https://git.savannah.gnu.org/cgit/automake.git/commit/?h=bde43d0481ff540418271ac37012a574a4fcf097 + +From aa449bd4c836abf0320033c5077259fc760b622d Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= +Date: Sun, 3 Nov 2019 11:51:19 +0100 +Subject: [PATCH] py-compile: Support -OO for py3.5+, and -O&-OO for pypy3 +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Signed-off-by: Michał Górny +--- + lib/py-compile | 29 +++++++++++++++++++++++++---- + 1 file changed, 25 insertions(+), 4 deletions(-) + +diff --git a/lib/py-compile b/lib/py-compile +index e56d98d6e..5b9ae5d5d 100755 +--- a/lib/py-compile ++++ b/lib/py-compile +@@ -126,12 +126,10 @@ if test "$python_major" -le 2; then + import_lib=imp + import_test="hasattr(imp, 'get_tag')" + import_call=imp.cache_from_source +- import_arg2=', False' # needed in one call and not the other + else + import_lib=importlib + import_test="hasattr(sys.implementation, 'cache_tag')" + import_call=importlib.util.cache_from_source +- import_arg2= + fi + + $PYTHON -c " +@@ -159,7 +157,7 @@ $PYTHON -O -c " + import sys, os, py_compile, $import_lib + + # pypy does not use .pyo optimization +-if hasattr(sys, 'pypy_translation_info'): ++if hasattr(sys, 'pypy_translation_info') and sys.hexversion < 0x03050000: + sys.exit(0) + + files = '''$files''' +@@ -173,7 +171,30 @@ for file in files.split(): + sys.stdout.write(file) + sys.stdout.flush() + if $import_test: +- py_compile.compile(filepath, $import_call(filepath$import_arg2), path) ++ py_compile.compile(filepath, $import_call(filepath), path) ++ else: ++ py_compile.compile(filepath, filepath + 'o', path) ++sys.stdout.write('\n')" 2>/dev/null || : ++ ++$PYTHON -OO -c " ++import sys, os, py_compile, $import_lib ++ ++# python<3.5 does not have split files for -O and -OO ++if sys.hexversion < 0x03050000: ++ sys.exit(0) ++ ++files = '''$files''' ++sys.stdout.write('Byte-compiling python modules (optimized versions) ...\n') ++for file in files.split(): ++ $pathtrans ++ $filetrans ++ if not os.path.exists(filepath) or not (len(filepath) >= 3 ++ and filepath[-3:] == '.py'): ++ continue ++ sys.stdout.write(file) ++ sys.stdout.flush() ++ if $import_test: ++ py_compile.compile(filepath, $import_call(filepath), path) + else: + py_compile.compile(filepath, filepath + 'o', path) + sys.stdout.write('\n')" 2>/dev/null || exit $? +-- +2.25.2 diff --git a/dev-build/automake/metadata.xml b/dev-build/automake/metadata.xml new file mode 100644 index 000000000000..6e5b45d8c011 --- /dev/null +++ b/dev-build/automake/metadata.xml @@ -0,0 +1,12 @@ + + + + + base-system@gentoo.org + Gentoo Base System + + + + cpe:/a:gnu:automake + + -- cgit v1.2.3