diff options
author | V3n3RiX <venerix@koprulu.sector> | 2024-12-25 06:31:02 +0000 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2024-12-25 06:31:02 +0000 |
commit | e80134587e8d959a88dba7dd3784895372e205c8 (patch) | |
tree | 912d9772fcc93ec668b363146cf81e45519253d6 /app-arch | |
parent | 17e417b73cb3e25edbc6541bd107bc9c593d66bd (diff) |
gentoo auto-resync : 25:12:2024 - 06:31:02
Diffstat (limited to 'app-arch')
22 files changed, 440 insertions, 987 deletions
diff --git a/app-arch/Manifest.gz b/app-arch/Manifest.gz Binary files differindex bfbad746c818..00eda7830345 100644 --- a/app-arch/Manifest.gz +++ b/app-arch/Manifest.gz diff --git a/app-arch/dpkg/Manifest b/app-arch/dpkg/Manifest index 978283b5e297..2a7e74621c05 100644 --- a/app-arch/dpkg/Manifest +++ b/app-arch/dpkg/Manifest @@ -1,20 +1,10 @@ AUX dpkg-1.18.12-flags.patch 416 BLAKE2B c7fe40b28793420afa0b895585cc14a675f9be68784beef7965fe6e971f6b2d6ecaa7c8bae51bb9f774c9517a618bff85b723052360224952cbdd2b74759b42e SHA512 6c86e8519ab4a05a2c15a658f41c0da14429c4fba0fcd364426afce7db03cd886a69de3f04f167d0f7b6d36a05252455864c11b14f58baab0a4536249331369c -AUX dpkg-1.18.12-rsyncable.patch 1245 BLAKE2B e1488cc6a6807d38ec7218ae6651b0d919fbc3ee5e2837540f91cf80229e669a6fe24d6de1c4bd1c1debdc34a0c04a2bbc6a21eb964032f24526986678eb1b14 SHA512 743f4780b4c93e53924836fae96d59c2f1098dae6ef683b2b30146ab0345109718a507486f86ff96cda5b705aff858da563cdc0d40c965bf964cafe7105994ae -AUX dpkg-1.20.12-m4-stdio.patch 710 BLAKE2B 8a414738ca9b12791483897f70003b9266d8c8192f6b05fa04aa6ff5d8b990bd68d0298edb917f34684e23acdd4d502b7e7678e84bd0a7433bc443ba87190235 SHA512 53a6f2ff2b7894a11f3778f5b1bb7c2bf4a4d58985e339bacee39d73ebf6871da250012415d07aa15a164d56ce11b261eb3323d485cdacef95806e38778e8ec2 -AUX dpkg-1.20.5-dpkg_buildpackage-test.patch 209 BLAKE2B d15000423abe8259e7bdd92e5ff2d38f8fd32622e8467259e791159df590f7d394647ba4efdd599b77d652f973cd07af09d64f29df920fb8015c995bce9b302a SHA512 046200d2a8c143a2b08e0c8113765c7a7a18846ce0b7a2dfd5a3f1167eacc70391415c6bcef21abe49e5d8225dbf08680fcdc405f0910e9c42071ad4cf8ae6d5 -AUX dpkg-1.20.9-CVE-2022-1664.patch 12541 BLAKE2B 7eb1161c0bd78f32b8b00bce7d56f1dbf2deaea91e937d970111fc42649b0b26adf8d16ccf49902ea20e95f37d5d0b0c01690e0d9a610d225df0703f81a37ced SHA512 0b3392731cd080f6e6741c66a5c77694037f8bd712c808267fe30cf20e6645a89d2bcf3feeaf16de06d7c347717f75c182d773446b0d04901ece6f4be6c745d5 AUX dpkg-1.21.15-arch_pm.patch 940 BLAKE2B 220cf6a921d590701880522ae1aee0c3b6a8e4f9c3e1fd60bb39515d35fd49326439aabce165aa0594f49efa0862a9fa49cab9dfc19af0af8a78fe5ccd458151 SHA512 f9107181f07bae7548743ee2b0c7ed6c3a221aa9cd2e2771be03cbd130dcd88383919c55d114aac11d5557a5bc060216390ab55da76223e6dcc4114d0197bb20 AUX dpkg-1.21.15-buf-overflow.patch 1379 BLAKE2B c0fe54ce6a0a72bc8e8a1bfa7cc0508e832cdae0926b3f1606d72295e528937c3078f930587dc5e20b8f7f9719d86d3d5029501bf38ddf3b79a443f195da0a70 SHA512 eec0e21b154bf16cb988f12aa3e01c98cded91dadfcafde165fa1d126f36eea2c0baba541cf0c9a8cff9a9e0200e6f2268a8e408a324144f4315bbc80f66bf95 -DIST dpkg_1.20.12.tar.xz 5009108 BLAKE2B 47ecb53c331503c72081a4c472acd6e94a5b7fca2032358809aa8c546cfd6c1542c7cdfad2a5ceff0e40dc454a61974ec47233061b98cf99aabbb8e53621858c SHA512 ce20b1b00b972e6fa5d5cd6427003415a92a78742dc02a9055fee6f00db22b037c54560170e657d7b74c2ae542fff4b7eba46f642adf911dc2f3b90eebefc3ff -DIST dpkg_1.20.9.tar.xz 4954428 BLAKE2B 4e04f7a90c8696971895081e18b220d9dee4bc5930428f131556ae71c673e61e18c363e279b566c2218da60a5aca421807c14cf518952502e707c7397769097b SHA512 904a4742f5f340dc65b2137364dce102a0b2eb42ccedb2a73f79c207362c699fbffaaf1379f1f6c8b8b0e490321af1d03c34b50ebe0c703f5ce8a7f75f17a839 -DIST dpkg_1.21.1.tar.xz 4986936 BLAKE2B f5b0f9fe7ac5fe7ba47191a9e467356e748418846ce0fc9f3c61d731e035eb096932848b15e6a85a15938d3bbd6fa069c786ab0e89c77119958fe632a91c309f SHA512 3f3f263e1300f3e4b55e84521847703dcfe465aa54829a69c31c174a2ad5e8b6a8a251da7c6020d31a38e9e6744113924a71e9579469e32289328e91a48db07f +AUX dpkg-1.22.0-flags.patch 429 BLAKE2B 908f499e5a21e7f144294dddacf6a978d69b23ba446f8e1af8b7954607195ae223473e864b95d8e2a22b50855404c40cdf94cd62e467c6cf3f9fb1685bced587 SHA512 e471cd632dd8f024e3cc5c250a7363e00b4250467df908c87c8142d735bfde3df6991d98dccb0e771d45549f0459287395831bcfc2f1d13393236ccd1c8d5bb6 +AUX dpkg-1.22.11-sq-tests.patch 2292 BLAKE2B cb5547a4007735c8df4cdbb71466601d3611aa9f9f9edbb98890a47f03e01187458c1ac6641c69614f7fef623a14f2d23e06aed242ca6b49b7fdc106dcbbebf6 SHA512 0f81fefc21c80bc360c6317fecfc8e96f809cb6519e4e21910649aae1430738c0f769d9cf0538fa63e08a9bf9dea6911def571a36f19dcb19d1eba45eb75e208 DIST dpkg_1.21.15.tar.xz 5350148 BLAKE2B f26611db365266ef9f43484c20d3150889238b34b156cac26f0ae8ae9572e7e4a9839e08a0073a25c886cd2891fc6d84afc97262ae6992267b47fa6e86c03a33 SHA512 eb31db63dd454048c3b7539b539720ed71239303ca679df92b934e971914d63dd771da09149054048e24dde1f5627ee24d43dbd8782ca1dc28c4a2bd3ed8f26a -DIST dpkg_1.21.19.tar.xz 5360888 BLAKE2B 1a48781c136b47b74fb947a14ddfde8e3d8441f728215257d4c7b9618b5af79225be6312a31166181acbf5c05a408332d9faae2c7e16f7757a442e8d4e6a0afd SHA512 660297e678326350b70e6a49635642347413046ebab05bdc076505511e844f7de0261a12c6c07e586d661f6536b987e3c32c21b8cc95d7135538a5c2f6d1514e -EBUILD dpkg-1.20.12-r1.ebuild 2144 BLAKE2B 71b7d611961437dd7390206ba2d7651f72e697d9a688d365af13dfe129bd8a4741e1de5c9a3824ccc19fdee119af0e8c037dc5314120d6dde6ef3d8aff9f30c0 SHA512 e57afffa08e4957e87aaa51214d7a3c9cc849a474dfc5a7b6536fdd2110fe1bf322592804112312095d46c3bde357227c37fe7ef6785709bf37a729d1a10c5e9 -EBUILD dpkg-1.20.9-r1.ebuild 2039 BLAKE2B ae31dc04fb7fbe7428052138187e5bd217df710fb0872558e95f1c28e7ea5bc486d64b58689b07a086e08b8b978312e1d2d484e3b3dc5580e86a6cfb35f23506 SHA512 fb58bdb7811d936d763d21c150079a922681966090ba35f270b1586da77d2693b701b2b54f4586f8b0ba4d54c26b3ef4483cf5dbfa275caae357f035af9c9041 -EBUILD dpkg-1.21.1.ebuild 1990 BLAKE2B 919ed641e42873fbc9f74aea27c59d9d240351c6810dabf424d13a5434efa9a52282bc9fe17dfa8c9b355d81fd9b404e9b91e417ebcaa7c355afb2fc67a4b24f SHA512 f2ea554cdf03e0af51b27da68aa41216bc3f0be3700d70ce7278c52cc493e587e92f66b73b068f5aed3fdd4e5ba923baf6927f0c8ca3d9916e050ee1eccb92cf -EBUILD dpkg-1.21.15-r2.ebuild 2404 BLAKE2B d179725ba47e7cd93a81ca910da25097deeb928ba71c5d975f203802b39de49a66edc41ca5f128f014d8865165958ddd210d34eed29442c55d04145c51c80c1e SHA512 e5b88ee308d534137c24859ef115dc809c8d45e7c8597b0c78f5859d3256cd1c9f0ef213c26f422f76ad7a65c2dfeb77ac7b8892f42dad0a110fe513fac31e6e -EBUILD dpkg-1.21.15-r3.ebuild 2446 BLAKE2B 953f9769f7c459f2b43ed9485e7193b9aa068b658973757bde8e842c83acc8ac3217bc8c23bbbf331bd7c068ada72c71e310010e8034d17e1d130ee462bf6f37 SHA512 2879f4223483c9dac0a0d427aae00153a3ecc580da9e75f908617a0e5b64600c9486b10cc932c16db9297b560d634bab92f3ccef78a355b5e4804ef08bb06055 -EBUILD dpkg-1.21.19-r1.ebuild 2468 BLAKE2B 91892a84d0eaa9b25ba9f66d7b2a7086f4613d4dd7f5007135ec872acac9affdf1e7b87f1f40ff0336a828daa7036b1e62672e0646c9a93047e372bde6721653 SHA512 31aadca8f4fefad5e06379be48e48f200b9677fff21fccee1349acac40a89494327e98001f2adf0e29daee12fb478a9fe5c9452455a75e9a082b29bf8b0174ce -EBUILD dpkg-1.21.19.ebuild 2425 BLAKE2B 759766f91c68bed3812e69a7acc3fbf5cbb136c0264a96f46a2e265bce598f756ead7e29492ae81925b484475a1ab22efa085bc65556148e6445f5851f67e160 SHA512 501a1fa4bd032d5ba299d776f8ab07eadd740d7a360916d228c2da4f4c210a3a163a15289f0bbc8e1a35b5699f7386b5c7840d9f128eb43bc7b1b30627494a04 -MISC metadata.xml 349 BLAKE2B e311693432d6511d85a67b510821e683e0f2df05a8d73fd3086b15296cf6cc5771965b5731dd6fb5ed7d0f71843b278b7d9f81a1228f637803cf2e073ac6a563 SHA512 7a4cc7a8c40dd6a52f8efbb454439f025e873b9c4583a4ce9d9233530747b423dcec65e02222c92a0e570c4fc87b1ca330bc2bbb121077d96f94eeff531838a0 +DIST dpkg_1.22.11.tar.xz 5697040 BLAKE2B 7bd7f90a8ae98ac7401bc2b8e7b0d2cc002a57bfdc5521d9049a995130011a3042ac6d24d6ecd5410e1db2c2e936eae5085a2af5fb11b0a73fd66bae33b33956 SHA512 8caeb52625e34109bbc3abf1b62792053f989e560b541ec9de85f3fe563f8bcb06db102dbae83058aba16e6f4729260e15e1c7a470762a261bec5460358c0fe9 +EBUILD dpkg-1.21.15-r3.ebuild 2491 BLAKE2B 1f4835b62b845401ae7075b04e9cf453ff17b96bb9b80fd3a6a69e39553cffcf243d328cdd751e5c0374320af734267425cfe07308419bb52cb71f0c40bf6667 SHA512 14fcf5de39a0cc0310945b64bc92b98e46a9f8bbbe6562eefc25e2b6064dc01d72842b701ec3c85ea764134d05bf288fbab0c1ac9125a84402bcfe6675f081b6 +EBUILD dpkg-1.22.11.ebuild 2513 BLAKE2B ad58f6d219dac575e502fcfcb8b8d35b31662af4f853c2f489c1010167d9997a655746d8b4e67290e03bb10becc70792a2d3470bf09e1fc045e8de24e42f54b4 SHA512 41fa3d952c2d618305fdf66d2f9a367b6f3bbe459372dfbc3a05fb347a8bb04f00896671e0f0fea381e787bf53ca299a65d8ef0ddf332020d920249c84108e31 +MISC metadata.xml 253 BLAKE2B 1f74ff6992526522b01c515387ab5a6c46435c248f50c0c0a7d190f3339bc01e5a322536a497c4d21b08db3ab5b4fbb835bf68528f0ab57670ad1fc6373aafcc SHA512 d94781a7357e6b136a5e8e72ff7b635a513a397e08025ef6a28c48d9af1259b88f2d5c3f37cd607d05c95d64fcac7ed06a0723f0a199129549f75e2f48b20f1b diff --git a/app-arch/dpkg/dpkg-1.20.12-r1.ebuild b/app-arch/dpkg/dpkg-1.20.12-r1.ebuild deleted file mode 100644 index 1df3d1e13082..000000000000 --- a/app-arch/dpkg/dpkg-1.20.12-r1.ebuild +++ /dev/null @@ -1,101 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 -inherit autotools toolchain-funcs - -DESCRIPTION="Package maintenance system for Debian" -HOMEPAGE="https://packages.qa.debian.org/dpkg" -SRC_URI="mirror://debian/pool/main/d/${PN}/${P/-/_}.tar.xz" - -LICENSE="GPL-2+" -SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~m68k ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux" -IUSE="+bzip2 libmd +lzma nls selinux static-libs test +update-alternatives +zlib" -RESTRICT="!test? ( test )" - -RDEPEND=" - >=app-arch/tar-1.34-r1 - >=dev-lang/perl-5.14.2:= - sys-libs/ncurses:=[unicode(+)] - bzip2? ( app-arch/bzip2 ) - libmd? ( app-crypt/libmd ) - lzma? ( app-arch/xz-utils ) - nls? ( virtual/libintl ) - selinux? ( sys-libs/libselinux ) - zlib? ( >=sys-libs/zlib-1.1.4 ) -" -DEPEND=" - ${RDEPEND} - app-arch/xz-utils - virtual/pkgconfig - test? ( - dev-perl/IO-String - dev-perl/Test-Pod - virtual/perl-Test-Harness - ) -" -BDEPEND=" - app-alternatives/lex - nls? ( - app-text/po4a - >=sys-devel/gettext-0.18.2 - ) -" -RDEPEND+=" selinux? ( sec-policy/selinux-dpkg )" - -DOCS=( - ChangeLog - THANKS - TODO -) -PATCHES=( - "${FILESDIR}"/${PN}-1.18.12-flags.patch - "${FILESDIR}"/${PN}-1.18.12-rsyncable.patch - "${FILESDIR}"/${PN}-1.20.5-dpkg_buildpackage-test.patch - "${FILESDIR}"/${PN}-1.20.12-m4-stdio.patch -) - -src_prepare() { - default - - sed -i -e 's|\<ar\>|${AR}|g' t-func/deb-format.at t-func/testsuite || die - - eautoreconf -} - -src_configure() { - tc-export AR CC - - econf \ - $(use_enable nls) \ - $(use_enable update-alternatives) \ - $(use_with bzip2 libbz2) \ - $(use_with libmd) \ - $(use_with lzma liblzma) \ - $(use_with selinux libselinux) \ - $(use_with zlib libz) \ - --enable-unicode \ - --disable-compiler-warnings \ - --disable-dselect \ - --disable-start-stop-daemon \ - --localstatedir="${EPREFIX}"/var -} - -src_compile() { - emake AR="$(tc-getAR)" -} - -src_install() { - default - - keepdir \ - /usr/$(get_libdir)/db/methods/{mnt,floppy,disk} \ - /var/lib/dpkg/{alternatives,info,parts,updates} - - find "${ED}" -name '*.la' -delete || die - - if ! use static-libs; then - find "${ED}" -name '*.a' -delete || die - fi -} diff --git a/app-arch/dpkg/dpkg-1.20.9-r1.ebuild b/app-arch/dpkg/dpkg-1.20.9-r1.ebuild deleted file mode 100644 index 4f0d747fb464..000000000000 --- a/app-arch/dpkg/dpkg-1.20.9-r1.ebuild +++ /dev/null @@ -1,97 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 -inherit autotools toolchain-funcs - -DESCRIPTION="Package maintenance system for Debian" -HOMEPAGE="https://packages.qa.debian.org/dpkg" -SRC_URI="mirror://debian/pool/main/d/${PN}/${P/-/_}.tar.xz" - -LICENSE="GPL-2+" -SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 hppa ~m68k ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux" -IUSE="+bzip2 libmd +lzma nls selinux static-libs test unicode +update-alternatives +zlib" -RESTRICT="!test? ( test )" - -RDEPEND=" - >=dev-lang/perl-5.14.2:= - bzip2? ( app-arch/bzip2 ) - libmd? ( app-crypt/libmd ) - lzma? ( app-arch/xz-utils ) - nls? ( virtual/libintl ) - selinux? ( sys-libs/libselinux ) - zlib? ( >=sys-libs/zlib-1.1.4 ) -" -DEPEND=" - ${RDEPEND} - app-arch/xz-utils - virtual/pkgconfig - test? ( - dev-perl/IO-String - dev-perl/Test-Pod - virtual/perl-Test-Harness - ) -" -BDEPEND=" - app-alternatives/lex - nls? ( - app-text/po4a - >=sys-devel/gettext-0.18.2 - ) -" -DOCS=( - ChangeLog - THANKS - TODO -) -PATCHES=( - "${FILESDIR}"/${PN}-1.18.12-flags.patch - "${FILESDIR}"/${PN}-1.18.12-rsyncable.patch - "${FILESDIR}"/${PN}-1.20.5-dpkg_buildpackage-test.patch - "${FILESDIR}"/${P}-CVE-2022-1664.patch -) - -src_prepare() { - default - - sed -i -e 's|\<ar\>|${AR}|g' t-func/deb-format.at t-func/testsuite || die - - eautoreconf -} - -src_configure() { - tc-export AR CC - - econf \ - $(use_enable nls) \ - $(use_enable unicode) \ - $(use_enable update-alternatives) \ - $(use_with bzip2 libbz2) \ - $(use_with libmd) \ - $(use_with lzma liblzma) \ - $(use_with selinux libselinux) \ - $(use_with zlib libz) \ - --disable-compiler-warnings \ - --disable-dselect \ - --disable-start-stop-daemon \ - --localstatedir="${EPREFIX}"/var -} - -src_compile() { - emake AR="$(tc-getAR)" -} - -src_install() { - default - - keepdir \ - /usr/$(get_libdir)/db/methods/{mnt,floppy,disk} \ - /var/lib/dpkg/{alternatives,info,parts,updates} - - find "${ED}" -name '*.la' -delete || die - - if ! use static-libs; then - find "${ED}" -name '*.a' -delete || die - fi -} diff --git a/app-arch/dpkg/dpkg-1.21.1.ebuild b/app-arch/dpkg/dpkg-1.21.1.ebuild deleted file mode 100644 index a4c03baacd66..000000000000 --- a/app-arch/dpkg/dpkg-1.21.1.ebuild +++ /dev/null @@ -1,96 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 -inherit autotools toolchain-funcs - -DESCRIPTION="Package maintenance system for Debian" -HOMEPAGE="https://packages.qa.debian.org/dpkg" -SRC_URI="mirror://debian/pool/main/d/${PN}/${P/-/_}.tar.xz" - -LICENSE="GPL-2+" -SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~m68k ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux" -IUSE="+bzip2 libmd +lzma nls selinux static-libs test unicode +update-alternatives +zlib" -RESTRICT="!test? ( test )" - -RDEPEND=" - >=app-arch/gzip-1.7 - >=dev-lang/perl-5.14.2:= - bzip2? ( app-arch/bzip2 ) - libmd? ( app-crypt/libmd ) - lzma? ( app-arch/xz-utils ) - nls? ( virtual/libintl ) - selinux? ( sys-libs/libselinux ) - zlib? ( >=sys-libs/zlib-1.1.4 ) -" -DEPEND=" - ${RDEPEND} - app-arch/xz-utils - virtual/pkgconfig - test? ( - dev-perl/IO-String - dev-perl/Test-Pod - virtual/perl-Test-Harness - ) -" -BDEPEND=" - app-alternatives/lex - nls? ( - app-text/po4a - >=sys-devel/gettext-0.18.2 - ) -" -DOCS=( - ChangeLog - THANKS - TODO -) -PATCHES=( - "${FILESDIR}"/${PN}-1.18.12-flags.patch - "${FILESDIR}"/${PN}-1.20.5-dpkg_buildpackage-test.patch -) - -src_prepare() { - default - - sed -i -e 's|\<ar\>|${AR}|g' t-func/deb-format.at t-func/testsuite || die - - eautoreconf -} - -src_configure() { - tc-export AR CC - - econf \ - $(use_enable nls) \ - $(use_enable unicode) \ - $(use_enable update-alternatives) \ - $(use_with bzip2 libbz2) \ - $(use_with libmd) \ - $(use_with lzma liblzma) \ - $(use_with selinux libselinux) \ - $(use_with zlib libz) \ - --disable-compiler-warnings \ - --disable-dselect \ - --disable-start-stop-daemon \ - --localstatedir="${EPREFIX}"/var -} - -src_compile() { - emake AR="$(tc-getAR)" -} - -src_install() { - default - - keepdir \ - /usr/$(get_libdir)/db/methods/{mnt,floppy,disk} \ - /var/lib/dpkg/{alternatives,info,parts,updates} - - find "${ED}" -name '*.la' -delete || die - - if ! use static-libs; then - find "${ED}" -name '*.a' -delete || die - fi -} diff --git a/app-arch/dpkg/dpkg-1.21.15-r2.ebuild b/app-arch/dpkg/dpkg-1.21.15-r2.ebuild deleted file mode 100644 index 29fbc7b06dea..000000000000 --- a/app-arch/dpkg/dpkg-1.21.15-r2.ebuild +++ /dev/null @@ -1,112 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 -inherit autotools toolchain-funcs - -DESCRIPTION="Package maintenance system for Debian" -HOMEPAGE="https://packages.qa.debian.org/dpkg" -SRC_URI="mirror://debian/pool/main/d/${PN}/${P/-/_}.tar.xz" - -LICENSE="GPL-2+" -SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~m68k ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux" -IUSE="+bzip2 +lzma nls selinux static-libs test +update-alternatives +zlib" -RESTRICT="!test? ( test )" - -RDEPEND=" - >=app-arch/gzip-1.7 - >=app-arch/tar-1.34-r1 - app-crypt/libmd - >=dev-lang/perl-5.14.2:= - sys-libs/ncurses:=[unicode(+)] - bzip2? ( app-arch/bzip2 ) - lzma? ( app-arch/xz-utils ) - nls? ( virtual/libintl ) - selinux? ( sys-libs/libselinux ) - zlib? ( >=sys-libs/zlib-1.1.4 ) -" -DEPEND=" - ${RDEPEND} - app-arch/xz-utils - virtual/pkgconfig - test? ( - dev-perl/IO-String - dev-perl/Test-Pod - virtual/perl-Test-Harness - ) -" -BDEPEND=" - app-alternatives/lex - nls? ( - app-text/po4a - >=sys-devel/gettext-0.18.2 - ) -" -RDEPEND+=" selinux? ( sec-policy/selinux-dpkg )" - -PATCHES=( - "${FILESDIR}"/${PN}-1.18.12-flags.patch - "${FILESDIR}"/${P}-buf-overflow.patch -) - -src_prepare() { - default - - sed -i -e 's|\<ar\>|${AR}|g' src/at/deb-format.at src/at/testsuite || die - - eautoreconf -} - -src_configure() { - tc-export AR CC - - local myconf=( - --disable-compiler-warnings - --disable-devel-docs - --disable-dselect - --disable-start-stop-daemon - --enable-unicode - --localstatedir="${EPREFIX}"/var - $(use_enable nls) - $(use_enable update-alternatives) - $(use_with bzip2 libbz2) - $(use_with lzma liblzma) - $(use_with selinux libselinux) - $(use_with zlib libz) - - ) - - econf "${myconf[@]}" -} - -src_compile() { - emake AR="$(tc-getAR)" -} - -src_install() { - local DOCS=( debian/changelog THANKS TODO ) - default - - # https://bugs.gentoo.org/835520 - mv -v "${ED}"/usr/share/zsh/{vendor-completions,site-functions} || die - - # https://bugs.gentoo.org/840320 - insinto /etc/dpkg/origins - newins - gentoo <<-_EOF_ - Vendor: Gentoo - Vendor-URL: https://www.gentoo.org/ - Bugs: https://bugs.gentoo.org/ - _EOF_ - dosym gentoo /etc/dpkg/origins/default - - keepdir \ - /usr/$(get_libdir)/db/methods/{mnt,floppy,disk} \ - /var/lib/dpkg/{alternatives,info,parts,updates} - - find "${ED}" -name '*.la' -delete || die - - if ! use static-libs; then - find "${ED}" -name '*.a' -delete || die - fi -} diff --git a/app-arch/dpkg/dpkg-1.21.15-r3.ebuild b/app-arch/dpkg/dpkg-1.21.15-r3.ebuild index 0f0a44ce7d17..cada91c23570 100644 --- a/app-arch/dpkg/dpkg-1.21.15-r3.ebuild +++ b/app-arch/dpkg/dpkg-1.21.15-r3.ebuild @@ -21,6 +21,7 @@ RDEPEND=" >=dev-lang/perl-5.14.2:= sys-libs/ncurses:=[unicode(+)] bzip2? ( app-arch/bzip2 ) + elibc_musl? ( sys-libs/obstack-standalone ) lzma? ( app-arch/xz-utils ) nls? ( virtual/libintl ) selinux? ( sys-libs/libselinux ) diff --git a/app-arch/dpkg/dpkg-1.21.19.ebuild b/app-arch/dpkg/dpkg-1.21.19.ebuild deleted file mode 100644 index 1882b276a4eb..000000000000 --- a/app-arch/dpkg/dpkg-1.21.19.ebuild +++ /dev/null @@ -1,112 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 -inherit autotools toolchain-funcs - -DESCRIPTION="Package maintenance system for Debian" -HOMEPAGE="https://packages.qa.debian.org/dpkg" -SRC_URI="mirror://debian/pool/main/d/${PN}/${P/-/_}.tar.xz" - -LICENSE="GPL-2+" -SLOT="0" -#KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~m68k ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux" -IUSE="+bzip2 +lzma nls selinux static-libs test +update-alternatives +zlib +zstd" -RESTRICT="!test? ( test )" - -RDEPEND=" - >=app-arch/gzip-1.7 - >=app-arch/tar-1.34-r1 - app-crypt/libmd - >=dev-lang/perl-5.14.2:= - sys-libs/ncurses:=[unicode(+)] - bzip2? ( app-arch/bzip2 ) - lzma? ( app-arch/xz-utils ) - nls? ( virtual/libintl ) - selinux? ( sys-libs/libselinux ) - zlib? ( >=sys-libs/zlib-1.1.4 ) - zstd? ( app-arch/zstd:= ) -" -DEPEND=" - ${RDEPEND} - app-arch/xz-utils - virtual/pkgconfig - test? ( - dev-perl/IO-String - dev-perl/Test-Pod - virtual/perl-Test-Harness - ) -" -BDEPEND=" - app-alternatives/lex - nls? ( - app-text/po4a - >=sys-devel/gettext-0.18.2 - ) -" -RDEPEND+=" selinux? ( sec-policy/selinux-dpkg )" - -PATCHES=( - "${FILESDIR}"/${PN}-1.18.12-flags.patch -) - -src_prepare() { - default - - sed -i -e 's|\<ar\>|${AR}|g' src/at/deb-format.at src/at/testsuite || die - - eautoreconf -} - -src_configure() { - tc-export AR CC - - local myconf=( - --disable-compiler-warnings - --disable-devel-docs - --disable-dselect - --disable-start-stop-daemon - --enable-unicode - --localstatedir="${EPREFIX}"/var - $(use_enable nls) - $(use_enable update-alternatives) - $(use_with bzip2 libbz2) - $(use_with lzma liblzma) - $(use_with selinux libselinux) - $(use_with zlib libz) - $(use_with zstd libzstd) - ) - - econf "${myconf[@]}" -} - -src_compile() { - emake AR="$(tc-getAR)" -} - -src_install() { - local DOCS=( debian/changelog THANKS TODO ) - default - - # https://bugs.gentoo.org/835520 - mv -v "${ED}"/usr/share/zsh/{vendor-completions,site-functions} || die - - # https://bugs.gentoo.org/840320 - insinto /etc/dpkg/origins - newins - gentoo <<-_EOF_ - Vendor: Gentoo - Vendor-URL: https://www.gentoo.org/ - Bugs: https://bugs.gentoo.org/ - _EOF_ - dosym gentoo /etc/dpkg/origins/default - - keepdir \ - /usr/$(get_libdir)/db/methods/{mnt,floppy,disk} \ - /var/lib/dpkg/{alternatives,info,parts,updates} - - find "${ED}" -name '*.la' -delete || die - - if ! use static-libs; then - find "${ED}" -name '*.a' -delete || die - fi -} diff --git a/app-arch/dpkg/dpkg-1.21.19-r1.ebuild b/app-arch/dpkg/dpkg-1.22.11.ebuild index 54dee79e2c95..67f4c5d288e7 100644 --- a/app-arch/dpkg/dpkg-1.21.19-r1.ebuild +++ b/app-arch/dpkg/dpkg-1.22.11.ebuild @@ -10,7 +10,7 @@ SRC_URI="mirror://debian/pool/main/d/${PN}/${P/-/_}.tar.xz" LICENSE="GPL-2+" SLOT="0" -#KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~m68k ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux" IUSE="+bzip2 +lzma nls selinux static-libs test +update-alternatives +zlib +zstd" RESTRICT="!test? ( test )" @@ -18,9 +18,10 @@ RDEPEND=" >=app-arch/gzip-1.7 >=app-arch/tar-1.34-r1 app-crypt/libmd - >=dev-lang/perl-5.14.2:= + >=dev-lang/perl-5.32.1:= sys-libs/ncurses:=[unicode(+)] bzip2? ( app-arch/bzip2 ) + elibc_musl? ( sys-libs/obstack-standalone ) lzma? ( app-arch/xz-utils ) nls? ( virtual/libintl ) selinux? ( sys-libs/libselinux ) @@ -38,7 +39,7 @@ DEPEND=" ) " BDEPEND=" - app-alternatives/lex + sys-devel/flex nls? ( app-text/po4a >=sys-devel/gettext-0.18.2 @@ -47,8 +48,8 @@ BDEPEND=" RDEPEND+=" selinux? ( sec-policy/selinux-dpkg )" PATCHES=( - "${FILESDIR}"/${PN}-1.18.12-flags.patch - "${FILESDIR}"/${PN}-1.21.15-arch_pm.patch + "${FILESDIR}"/${PN}-1.22.0-flags.patch + "${FILESDIR}"/${PN}-1.22.11-sq-tests.patch ) src_prepare() { diff --git a/app-arch/dpkg/files/dpkg-1.18.12-rsyncable.patch b/app-arch/dpkg/files/dpkg-1.18.12-rsyncable.patch deleted file mode 100644 index 69802da67092..000000000000 --- a/app-arch/dpkg/files/dpkg-1.18.12-rsyncable.patch +++ /dev/null @@ -1,28 +0,0 @@ ---- a/scripts/Dpkg/Compression.pm -+++ b/scripts/Dpkg/Compression.pm -@@ -81,20 +81,12 @@ - }; - - # --# XXX: The gzip package in Debian at some point acquired a Debian-specific --# --rsyncable option via a vendor patch. Which is not present in most of the --# major distributions, dpkg downstream systems, nor gzip upstream, who have --# stated they will most probably not accept it because people should be using --# pigz instead. -+# If gzip supports --rsyncable (version >=1.7 or the Debian patched variant), -+# we use it. Sadly a non-compliant gzip will not complain about the argument -+# when it does not understand it, so we can only print out the usage and infer -+# --rsyncable support from that. - # --# This option should have never been accepted in dpkg, ever. But removing it --# now would probably cause demands for tarring and feathering. In addition --# we cannot use the Dpkg::Vendor logic because that would cause circular --# module dependencies. The whole affair is pretty disgusting really. --# --# Check the perl Config to discern Debian and hopefully derivatives too. --# --if ($Config{cf_by} eq 'Debian Project') { -+if (system("gzip --help 2>&1 | grep -q -- --rsyncable") == 0) { - push @{$COMP->{gzip}->{comp_prog}}, '--rsyncable'; - } - diff --git a/app-arch/dpkg/files/dpkg-1.20.12-m4-stdio.patch b/app-arch/dpkg/files/dpkg-1.20.12-m4-stdio.patch deleted file mode 100644 index 5124c54b43ed..000000000000 --- a/app-arch/dpkg/files/dpkg-1.20.12-m4-stdio.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 9a1c670b66818fc0044eaa9a95a13da553bebcd3 Mon Sep 17 00:00:00 2001 -From: Georgy Yakovlev <gyakovlev@gentoo.org> -Date: Mon, 21 Nov 2022 23:09:59 -0800 -Subject: [PATCH] m4/dpkg-funcs.m4: include stdio.h in __progname conftest - -Bug: https://bugs.gentoo.org/869884 ---- - m4/dpkg-funcs.m4 | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/m4/dpkg-funcs.m4 b/m4/dpkg-funcs.m4 -index 74acf22..0720ac3 100644 ---- a/m4/dpkg-funcs.m4 -+++ b/m4/dpkg-funcs.m4 -@@ -142,6 +142,7 @@ AC_DEFUN([DPKG_CHECK_PROGNAME], [ - AC_MSG_CHECKING([for __progname]) - AC_LINK_IFELSE([ - AC_LANG_PROGRAM( -+ [[#include <stdio.h>]], - [[extern char *__progname;]], - [[printf("%s", __progname);]]) - ], [ --- -2.38.1 - diff --git a/app-arch/dpkg/files/dpkg-1.20.5-dpkg_buildpackage-test.patch b/app-arch/dpkg/files/dpkg-1.20.5-dpkg_buildpackage-test.patch deleted file mode 100644 index 9f1494dc290c..000000000000 --- a/app-arch/dpkg/files/dpkg-1.20.5-dpkg_buildpackage-test.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- a/scripts/Makefile.am -+++ b/scripts/Makefile.am -@@ -264,7 +264,6 @@ - t/Dpkg_Dist_Files.t \ - t/dpkg_realpath.t \ - t/dpkg_source.t \ -- t/dpkg_buildpackage.t \ - t/merge_changelogs.t \ - t/mk.t \ - $(nil) diff --git a/app-arch/dpkg/files/dpkg-1.20.9-CVE-2022-1664.patch b/app-arch/dpkg/files/dpkg-1.20.9-CVE-2022-1664.patch deleted file mode 100644 index aa1570148de1..000000000000 --- a/app-arch/dpkg/files/dpkg-1.20.9-CVE-2022-1664.patch +++ /dev/null @@ -1,324 +0,0 @@ -From 58814cacee39c4ce9e2cd0e3a3b9b57ad437eff5 Mon Sep 17 00:00:00 2001 -From: Guillem Jover <guillem@debian.org> -Date: Tue, 3 May 2022 02:09:32 +0200 -Subject: Dpkg::Source::Archive: Prevent directory traversal for in-place - extracts - -For untrusted v2 and v3 source package formats that include a debian.tar -archive, when we are extracting it, we do that as an in-place extraction, -which can lead to directory traversal situations on specially crafted -orig.tar and debian.tar tarballs. - -GNU tar replaces entries on the filesystem by the entries present on -the tarball, but it will follow symlinks when the symlink pathname -itself is not present as an actual directory on the tarball. - -This means we can create an orig.tar where there's a symlink pointing -out of the source tree root directory, and then a debian.tar that -contains an entry within that symlink as if it was a directory, without -a directory entry for the symlink pathname itself, which will be -extracted following the symlink outside the source tree root. - -This is currently noted as expected in GNU tar documentation. But even -if there was a new extraction mode avoiding this problem we'd need such -new version. Using perl's Archive::Tar would solve the problem, but -switching to such different pure perl implementation, could cause -compatibility or performance issues. - -What we do is when we are requested to perform an in-place extract, we -instead still use a temporary directory, then walk that directory and -remove any matching entry in the destination directory, replicating what -GNU tar would do, but in addition avoiding the directory traversal issue -for symlinks. Which should work with any tar implementation and be safe. - -Reported-by: Max Justicz <max@justi.cz> -Stable-Candidates: 1.18.x 1.19.x 1.20.x -Fixes: commit 0c0057a27fecccab77d2b3cffa9a7d172846f0b4 (1.14.17) -Fixes: CVE-2022-1664 -(cherry picked from commit 7a6c03cb34d4a09f35df2f10779cbf1b70a5200b) ---- - scripts/Dpkg/Source/Archive.pm | 122 +++++++++++++++++++++++++++++++--------- - scripts/t/Dpkg_Source_Archive.t | 110 +++++++++++++++++++++++++++++++++++- - 2 files changed, 204 insertions(+), 28 deletions(-) - -diff --git a/scripts/Dpkg/Source/Archive.pm b/scripts/Dpkg/Source/Archive.pm -index 33c181b20..2ddd04af8 100644 ---- a/scripts/Dpkg/Source/Archive.pm -+++ b/scripts/Dpkg/Source/Archive.pm -@@ -21,9 +21,11 @@ use warnings; - our $VERSION = '0.01'; - - use Carp; -+use Errno qw(ENOENT); - use File::Temp qw(tempdir); - use File::Basename qw(basename); - use File::Spec; -+use File::Find; - use Cwd; - - use Dpkg (); -@@ -110,19 +112,13 @@ sub extract { - my %spawn_opts = (wait_child => 1); - - # Prepare destination -- my $tmp; -- if ($opts{in_place}) { -- $spawn_opts{chdir} = $dest; -- $tmp = $dest; # So that fixperms call works -- } else { -- my $template = basename($self->get_filename()) . '.tmp-extract.XXXXX'; -- unless (-e $dest) { -- # Kludge so that realpath works -- mkdir($dest) or syserr(g_('cannot create directory %s'), $dest); -- } -- $tmp = tempdir($template, DIR => Cwd::realpath("$dest/.."), CLEANUP => 1); -- $spawn_opts{chdir} = $tmp; -+ my $template = basename($self->get_filename()) . '.tmp-extract.XXXXX'; -+ unless (-e $dest) { -+ # Kludge so that realpath works -+ mkdir($dest) or syserr(g_('cannot create directory %s'), $dest); - } -+ my $tmp = tempdir($template, DIR => Cwd::realpath("$dest/.."), CLEANUP => 1); -+ $spawn_opts{chdir} = $tmp; - - # Prepare stuff that handles the input of tar - $self->ensure_open('r', delete_sig => [ 'PIPE' ]); -@@ -145,22 +141,94 @@ sub extract { - # have to be calculated using mount options and other madness. - fixperms($tmp) unless $opts{no_fixperms}; - -- # Stop here if we extracted in-place as there's nothing to move around -- return if $opts{in_place}; -- -- # Rename extracted directory -- opendir(my $dir_dh, $tmp) or syserr(g_('cannot opendir %s'), $tmp); -- my @entries = grep { $_ ne '.' && $_ ne '..' } readdir($dir_dh); -- closedir($dir_dh); -- my $done = 0; -- erasedir($dest); -- if (scalar(@entries) == 1 && ! -l "$tmp/$entries[0]" && -d _) { -- rename("$tmp/$entries[0]", $dest) -- or syserr(g_('unable to rename %s to %s'), -- "$tmp/$entries[0]", $dest); -+ # If we are extracting "in-place" do not remove the destination directory. -+ if ($opts{in_place}) { -+ my $canon_basedir = Cwd::realpath($dest); -+ # On Solaris /dev/null points to /devices/pseudo/mm@0:null. -+ my $canon_devnull = Cwd::realpath('/dev/null'); -+ my $check_symlink = sub { -+ my $pathname = shift; -+ my $canon_pathname = Cwd::realpath($pathname); -+ if (not defined $canon_pathname) { -+ return if $! == ENOENT; -+ -+ syserr(g_("pathname '%s' cannot be canonicalized"), $pathname); -+ } -+ return if $canon_pathname eq $canon_devnull; -+ return if $canon_pathname eq $canon_basedir; -+ return if $canon_pathname =~ m{^\Q$canon_basedir/\E}; -+ warning(g_("pathname '%s' points outside source root (to '%s')"), -+ $pathname, $canon_pathname); -+ }; -+ -+ my $move_in_place = sub { -+ my $relpath = File::Spec->abs2rel($File::Find::name, $tmp); -+ my $destpath = File::Spec->catfile($dest, $relpath); -+ -+ my ($mode, $atime, $mtime); -+ lstat $File::Find::name -+ or syserr(g_('cannot get source pathname %s metadata'), $File::Find::name); -+ ((undef) x 2, $mode, (undef) x 5, $atime, $mtime) = lstat _; -+ my $src_is_dir = -d _; -+ -+ my $dest_exists = 1; -+ if (not lstat $destpath) { -+ if ($! == ENOENT) { -+ $dest_exists = 0; -+ } else { -+ syserr(g_('cannot get target pathname %s metadata'), $destpath); -+ } -+ } -+ my $dest_is_dir = -d _; -+ if ($dest_exists) { -+ if ($dest_is_dir && $src_is_dir) { -+ # Refresh the destination directory attributes with the -+ # ones from the tarball. -+ chmod $mode, $destpath -+ or syserr(g_('cannot change directory %s mode'), $File::Find::name); -+ utime $atime, $mtime, $destpath -+ or syserr(g_('cannot change directory %s times'), $File::Find::name); -+ -+ # We should do nothing, and just walk further tree. -+ return; -+ } elsif ($dest_is_dir) { -+ rmdir $destpath -+ or syserr(g_('cannot remove destination directory %s'), $destpath); -+ } else { -+ $check_symlink->($destpath); -+ unlink $destpath -+ or syserr(g_('cannot remove destination file %s'), $destpath); -+ } -+ } -+ # If we are moving a directory, we do not need to walk it. -+ if ($src_is_dir) { -+ $File::Find::prune = 1; -+ } -+ rename $File::Find::name, $destpath -+ or syserr(g_('cannot move %s to %s'), $File::Find::name, $destpath); -+ }; -+ -+ find({ -+ wanted => $move_in_place, -+ no_chdir => 1, -+ dangling_symlinks => 0, -+ }, $tmp); - } else { -- rename($tmp, $dest) -- or syserr(g_('unable to rename %s to %s'), $tmp, $dest); -+ # Rename extracted directory -+ opendir(my $dir_dh, $tmp) or syserr(g_('cannot opendir %s'), $tmp); -+ my @entries = grep { $_ ne '.' && $_ ne '..' } readdir($dir_dh); -+ closedir($dir_dh); -+ -+ erasedir($dest); -+ -+ if (scalar(@entries) == 1 && ! -l "$tmp/$entries[0]" && -d _) { -+ rename("$tmp/$entries[0]", $dest) -+ or syserr(g_('unable to rename %s to %s'), -+ "$tmp/$entries[0]", $dest); -+ } else { -+ rename($tmp, $dest) -+ or syserr(g_('unable to rename %s to %s'), $tmp, $dest); -+ } - } - erasedir($tmp); - } -diff --git a/scripts/t/Dpkg_Source_Archive.t b/scripts/t/Dpkg_Source_Archive.t -index 7b70da68e..504fbe1d4 100644 ---- a/scripts/t/Dpkg_Source_Archive.t -+++ b/scripts/t/Dpkg_Source_Archive.t -@@ -16,12 +16,120 @@ - use strict; - use warnings; - --use Test::More tests => 1; -+use Test::More tests => 4; -+use Test::Dpkg qw(:paths); -+ -+use File::Spec; -+use File::Path qw(make_path rmtree); - - BEGIN { - use_ok('Dpkg::Source::Archive'); - } - -+use Dpkg; -+ -+my $tmpdir = test_get_temp_path(); -+ -+rmtree($tmpdir); -+ -+sub test_touch -+{ -+ my ($name, $data) = @_; -+ -+ open my $fh, '>', $name -+ or die "cannot touch file $name\n"; -+ print { $fh } $data if $data; -+ close $fh; -+} -+ -+sub test_path_escape -+{ -+ my $name = shift; -+ -+ my $treedir = File::Spec->rel2abs("$tmpdir/$name-tree"); -+ my $overdir = File::Spec->rel2abs("$tmpdir/$name-overlay"); -+ my $outdir = "$tmpdir/$name-out"; -+ my $expdir = "$tmpdir/$name-exp"; -+ -+ # This is the base directory, where we are going to be extracting stuff -+ # into, which include traps. -+ make_path("$treedir/subdir-a"); -+ test_touch("$treedir/subdir-a/file-a"); -+ test_touch("$treedir/subdir-a/file-pre-a"); -+ make_path("$treedir/subdir-b"); -+ test_touch("$treedir/subdir-b/file-b"); -+ test_touch("$treedir/subdir-b/file-pre-b"); -+ symlink File::Spec->abs2rel($outdir, $treedir), "$treedir/symlink-escape"; -+ symlink File::Spec->abs2rel("$outdir/nonexistent", $treedir), "$treedir/symlink-nonexistent"; -+ symlink "$treedir/file", "$treedir/symlink-within"; -+ test_touch("$treedir/supposed-dir"); -+ -+ # This is the overlay directory, which we'll pack and extract over the -+ # base directory. -+ make_path($overdir); -+ make_path("$overdir/subdir-a/aa"); -+ test_touch("$overdir/subdir-a/aa/file-aa", 'aa'); -+ test_touch("$overdir/subdir-a/file-a", 'a'); -+ make_path("$overdir/subdir-b/bb"); -+ test_touch("$overdir/subdir-b/bb/file-bb", 'bb'); -+ test_touch("$overdir/subdir-b/file-b", 'b'); -+ make_path("$overdir/symlink-escape"); -+ test_touch("$overdir/symlink-escape/escaped-file", 'escaped'); -+ test_touch("$overdir/symlink-nonexistent", 'nonexistent'); -+ make_path("$overdir/symlink-within"); -+ make_path("$overdir/supposed-dir"); -+ test_touch("$overdir/supposed-dir/supposed-file", 'something'); -+ -+ # Generate overlay tar. -+ system($Dpkg::PROGTAR, '-cf', "$overdir.tar", '-C', $overdir, qw( -+ subdir-a subdir-b -+ symlink-escape/escaped-file symlink-nonexistent symlink-within -+ supposed-dir -+ )) == 0 -+ or die "cannot create overlay tar archive\n"; -+ -+ # This is the expected directory, which we'll be comparing against. -+ make_path($expdir); -+ system('cp', '-a', $overdir, $expdir) == 0 -+ or die "cannot copy overlay hierarchy into expected directory\n"; -+ -+ # Store the expected and out reference directories into a tar to compare -+ # its structure against the result reference. -+ system($Dpkg::PROGTAR, '-cf', "$expdir.tar", '-C', $overdir, qw( -+ subdir-a subdir-b -+ symlink-escape/escaped-file symlink-nonexistent symlink-within -+ supposed-dir -+ ), '-C', $treedir, qw( -+ subdir-a/file-pre-a -+ subdir-b/file-pre-b -+ )) == 0 -+ or die "cannot create expected tar archive\n"; -+ -+ # This directory is supposed to remain empty, anything inside implies a -+ # directory traversal. -+ make_path($outdir); -+ -+ my $warnseen; -+ local $SIG{__WARN__} = sub { $warnseen = $_[0] }; -+ -+ # Perform the extraction. -+ my $tar = Dpkg::Source::Archive->new(filename => "$overdir.tar"); -+ $tar->extract($treedir, in_place => 1); -+ -+ # Store the result into a tar to compare its structure against a reference. -+ system($Dpkg::PROGTAR, '-cf', "$treedir.tar", '-C', $treedir, '.'); -+ -+ # Check results -+ ok(length $warnseen && $warnseen =~ m/points outside source root/, -+ 'expected warning seen'); -+ ok(system($Dpkg::PROGTAR, '--compare', '-f', "$expdir.tar", '-C', $treedir) == 0, -+ 'expected directory matches'); -+ ok(! -e "$outdir/escaped-file", -+ 'expected output directory is empty, directory traversal'); -+} -+ -+test_path_escape('in-place'); -+ - # TODO: Add actual test cases. - - 1; --- -cgit v1.2.3 - diff --git a/app-arch/dpkg/files/dpkg-1.22.0-flags.patch b/app-arch/dpkg/files/dpkg-1.22.0-flags.patch new file mode 100644 index 000000000000..fb208d1131af --- /dev/null +++ b/app-arch/dpkg/files/dpkg-1.22.0-flags.patch @@ -0,0 +1,11 @@ +--- a/configure.ac ++++ b/configure.ac +@@ -222,8 +222,6 @@ AC_DEFINE([LIBDPKG_VOLATILE_API], [1], [Acknowledge the volatility of the API.]) + DPKG_COMPILER_WARNINGS + DPKG_COMPILER_SANITIZER + DPKG_COMPILER_ANALYZER +-DPKG_COMPILER_OPTIMIZATIONS +-DPKG_LINKER_OPTIMIZATIONS + DPKG_ARCHITECTURE + AC_DEFINE([PACKAGE_RELEASE], [PACKAGE_VERSION " (" ARCHITECTURE ")"], + [Define the project release information, version and architecture]) diff --git a/app-arch/dpkg/files/dpkg-1.22.11-sq-tests.patch b/app-arch/dpkg/files/dpkg-1.22.11-sq-tests.patch new file mode 100644 index 000000000000..51df67ce1ca0 --- /dev/null +++ b/app-arch/dpkg/files/dpkg-1.22.11-sq-tests.patch @@ -0,0 +1,63 @@ +https://git.dpkg.org/cgit/dpkg/dpkg.git/commit/?id=fc7bda93992086e01b62d08fa5ca2b70a69b62aa + +From fc7bda93992086e01b62d08fa5ca2b70a69b62aa Mon Sep 17 00:00:00 2001 +From: Guillem Jover <guillem@debian.org> +Date: Tue, 3 Dec 2024 02:40:48 +0100 +Subject: Dpkg::OpenPGP::Backend::Sequoia: Adapt to new CLI 0.40.0 API + +As the API is not yet stable (but it is getting closer to be), we +need to adapt it to the current version. +--- + scripts/Dpkg/OpenPGP/Backend/Sequoia.pm | 11 ++++++----- + 2 files changed, 8 insertions(+), 7 deletions(-) + +diff --git a/scripts/Dpkg/OpenPGP/Backend/Sequoia.pm b/scripts/Dpkg/OpenPGP/Backend/Sequoia.pm +index 36801c9f5..82c64591c 100644 +--- a/scripts/Dpkg/OpenPGP/Backend/Sequoia.pm ++++ b/scripts/Dpkg/OpenPGP/Backend/Sequoia.pm +@@ -69,7 +69,7 @@ sub armor + return OPENPGP_MISSING_CMD unless $self->{cmd}; + + # We ignore the $type, and let "sq" handle this automatically. +- my $rc = $self->_sq_exec(qw(toolbox armor --output), $out, $in); ++ my $rc = $self->_sq_exec(qw(packet armor --output), $out, $in); + return OPENPGP_BAD_DATA if $rc; + return OPENPGP_OK; + } +@@ -81,7 +81,7 @@ sub dearmor + return OPENPGP_MISSING_CMD unless $self->{cmd}; + + # We ignore the $type, and let "sq" handle this automatically. +- my $rc = $self->_sq_exec(qw(toolbox dearmor --output), $out, $in); ++ my $rc = $self->_sq_exec(qw(packet dearmor --output), $out, $in); + return OPENPGP_BAD_DATA if $rc; + return OPENPGP_OK; + } +@@ -93,6 +93,7 @@ sub inline_verify + return OPENPGP_MISSING_CMD unless $self->{cmd}; + + my @opts; ++ push @opts, '--cleartext'; + push @opts, map { ('--signer-file', $_) } @certs; + push @opts, '--output', $data if defined $data; + +@@ -109,7 +110,7 @@ sub verify + + my @opts; + push @opts, map { ('--signer-file', $_) } @certs; +- push @opts, '--detached', $sig; ++ push @opts, '--signature-file', $sig; + + my $rc = $self->_sq_exec(qw(verify), @opts, $data); + return OPENPGP_NO_SIG if $rc; +@@ -124,7 +125,7 @@ sub inline_sign + return OPENPGP_NEEDS_KEYSTORE if $key->needs_keystore(); + + my @opts; +- push @opts, '--cleartext-signature'; ++ push @opts, '--cleartext'; + push @opts, '--signer-file', $key->handle; + push @opts, '--output', $inlinesigned; + +-- +cgit v1.2.3 diff --git a/app-arch/dpkg/metadata.xml b/app-arch/dpkg/metadata.xml index 9511a3ee6146..b33cda089f2a 100644 --- a/app-arch/dpkg/metadata.xml +++ b/app-arch/dpkg/metadata.xml @@ -3,7 +3,6 @@ <pkgmetadata> <!-- maintainer-needed --> <use> - <flag name="libmd">Use <pkg>app-crypt/libmd</pkg> library for message digest functions</flag> <flag name="update-alternatives">Install update-alternatives</flag> </use> </pkgmetadata> diff --git a/app-arch/libdeflate/Manifest b/app-arch/libdeflate/Manifest index d969afa44dce..ac7153349def 100644 --- a/app-arch/libdeflate/Manifest +++ b/app-arch/libdeflate/Manifest @@ -1,9 +1,7 @@ AUX libdeflate-1.19-make-gzip-tests-conditional.patch 1376 BLAKE2B 9480aed1f1a316899e844f99af988560cd5f07ff98336dbaef63a350ab9a7a76c75c4bf6d8e3709c0e99719dfcd0d3216976a9daab89e2c1277b4a20f036d074 SHA512 469698465c70804b356e628290cc50def2f6281262521b53794f5682c738f9245ec47a36877ebb506e0d070f21fd781478039c32a764d35ffd860ec98b34a30b -DIST libdeflate-1.19.tar.gz 187684 BLAKE2B 6d3c58b4095f91f64c25e09a062f1d7e68cd43b4dffc2de6484cd941ede4bffd8a82dd3af08eda6c94ad4120d40809c1d6a1814c28bad5387dfbaad418b93070 SHA512 fe57542a0d28ad61d70bef9b544bb6805f9f30930b16432712b3b1caab041f1f4e64315a4306a0635b96c2632239c5af0e45a3915581d0b89975729fc2e95613 -DIST libdeflate-1.20.tar.gz 194212 BLAKE2B b3633f1068f36bf346e1f435c67259612ad5ed1571e83f1bbc4a58c6a67b3eadca85e0abb2d2d47f180dd2ff01c5891c8b3958a63ddbcc2447106f2e5cb3c0fe SHA512 5ebe6af9ce81872cba508d1f0aa087ddeb0e0f0c8e6360da66b8a9db2a76203dafbf3d3f6b3b791618ea9c6d0231fab5b4a55badb31a4480fb4174b9445c658b DIST libdeflate-1.21.tar.gz 195361 BLAKE2B 8d1f2a71cb6a0823ab93631720f9807a6907f1d92490bb258b9bfcf9daf08b517eab3bdee064326a4274d7b193cffbafa24037e2be2503c17fa8daddef5cfff5 SHA512 7cd9bc91992ef824a0fdf175b0da081b8381decc325013477a3fbfcfe6cf240f66cedbeec830a51343fedb8c27c76fba8782c1aed3fc538e3afd6c9f8cdc90fb -EBUILD libdeflate-1.19-r1.ebuild 1243 BLAKE2B c00431500ae37d9ce484784ea042e819ff997d23d63c3a2ad136f91be4c40e8e92c54a17b5ef09a1eeafe6a90ef232310e11dd5919f093a3545f5562076d4b4d SHA512 43dd01329736487ed4777290a142eb71d6ab70ec2f22f0b0311accac1b98a3fc97f5ca9657dd4cc8548df8d9203b83e5b6baf172b5a0d35202ceaafc5029ab4a -EBUILD libdeflate-1.20-r1.ebuild 1294 BLAKE2B 250c4adc569764c4fb38443794103228498299c751912c20735fb72c39a6552492683a9a825535ab7681b509b71b6d830dfa35576d9064f4ba6c48349494087b SHA512 e22adbc6e3cc0b7030ef3eac3d0c391a87f66663161c8f302a84e00b62d5f56c6610cc1c64eefbff2944efb31480d418acce59c3b69b65cc2d99ce0107ad5b06 +DIST libdeflate-1.23.tar.gz 197519 BLAKE2B 6921aaf0fde3a2c1a8b04484879c64c2da2ee499353927fa20e8816932a4ccdc53af302f978eb099ee01f1a4c2ac5184529886d1c2a7adcb388ddd9fbd2b078f SHA512 c1effb9c5ee8d65bc12ae3d0669a4a394acace13cc146300ed24a7f12a0ec058f66729e1ffbae268711bdcc4151143752ab2d56a099dd6394b2735e8e2f1b671 EBUILD libdeflate-1.21.ebuild 1293 BLAKE2B d992c63d6b7a460bc2a18350ef2db232e3ff487ef15d6965907f1e3981b7e1b2ff8a61be0391962da123b656654c26fcc22fa97bac19a1e761474259ba01f40a SHA512 b056e0d5958b064122e5698a0adf04b46b43083821b7d8b79fd75c08f10453bbe38f71a6b63cb107e810461ccc6302079ac1930d9efc3f6c8d0edf3ef6a66d96 +EBUILD libdeflate-1.23.ebuild 1300 BLAKE2B 82d3c49f6c8d2bdb60a1b76ae6055a3a232e9195c6b12ee2def6c6621053b30d0dee1c50dc96f786d95721535c3d259aed6aa68416ea5efa0e3637b1d3725bb4 SHA512 5b9a6c9a5ee96f5c08126e4674bea2761d512ea3495ffe832dc172f5ef1ffd58836024002d73ec3b93986350bcb0c98e6c38fc6e4b9ca026b285f2daf78625b2 EBUILD libdeflate-9999.ebuild 1294 BLAKE2B 250c4adc569764c4fb38443794103228498299c751912c20735fb72c39a6552492683a9a825535ab7681b509b71b6d830dfa35576d9064f4ba6c48349494087b SHA512 e22adbc6e3cc0b7030ef3eac3d0c391a87f66663161c8f302a84e00b62d5f56c6610cc1c64eefbff2944efb31480d418acce59c3b69b65cc2d99ce0107ad5b06 MISC metadata.xml 677 BLAKE2B ef9eee70214885dc6195ac1d8a8396c2022ab40e3bf35765ec58f1bc78b771973d0ea304aee25d625b7fe938f709cc1b4fe195f4f7e3ccc22ad2b197a8056f01 SHA512 812274509ca55d81b117ca61ed175ed3dcc3d83fa1bf6ee3fc5a72fbd4833e1be0f9789cefcebc206b3f9171f25c06df370f20446a4300a3d0040f8efde8ab60 diff --git a/app-arch/libdeflate/libdeflate-1.19-r1.ebuild b/app-arch/libdeflate/libdeflate-1.19-r1.ebuild deleted file mode 100644 index aec8d7dcab4d..000000000000 --- a/app-arch/libdeflate/libdeflate-1.19-r1.ebuild +++ /dev/null @@ -1,55 +0,0 @@ -# Copyright 2019-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit cmake - -DESCRIPTION="Heavily optimized DEFLATE/zlib/gzip (de)compression" -HOMEPAGE="https://github.com/ebiggers/libdeflate" - -if [[ ${PV} == *9999* ]]; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/ebiggers/libdeflate.git" -else - SRC_URI="https://github.com/ebiggers/libdeflate/archive/v${PV}.tar.gz -> ${P}.tar.gz" - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv sparc x86" -fi - -LICENSE="MIT" -SLOT="0" -# the zlib USE-flag enables support for zlib -# the test USE-flag programs depend on sys-libs/zlib for comparison tests -IUSE="+utils test" - -RESTRICT=" - !test? ( test ) -" - -DEPEND=" - test? ( sys-libs/zlib ) -" - -PATCHES=( - "${FILESDIR}/${PN}-1.19-make-gzip-tests-conditional.patch" -) - -src_configure() { - local mycmakeargs=( - -DLIBDEFLATE_BUILD_SHARED_LIB="yes" - -DLIBDEFLATE_BUILD_STATIC_LIB="no" - -DLIBDEFLATE_USE_SHARED_LIB="yes" - - -DLIBDEFLATE_COMPRESSION_SUPPORT="yes" - -DLIBDEFLATE_DECOMPRESSION_SUPPORT="yes" - - -DLIBDEFLATE_BUILD_GZIP="$(usex utils)" - -DLIBDEFLATE_GZIP_SUPPORT="yes" - - -DLIBDEFLATE_ZLIB_SUPPORT="yes" - - -DLIBDEFLATE_BUILD_TESTS="$(usex test)" - ) - - cmake_src_configure -} diff --git a/app-arch/libdeflate/libdeflate-1.20-r1.ebuild b/app-arch/libdeflate/libdeflate-1.23.ebuild index 5fe78e961178..d44e68b21d11 100644 --- a/app-arch/libdeflate/libdeflate-1.20-r1.ebuild +++ b/app-arch/libdeflate/libdeflate-1.23.ebuild @@ -13,7 +13,7 @@ if [[ ${PV} == *9999* ]]; then EGIT_REPO_URI="https://github.com/ebiggers/libdeflate.git" else SRC_URI="https://github.com/ebiggers/libdeflate/archive/v${PV}.tar.gz -> ${P}.tar.gz" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" fi LICENSE="MIT" diff --git a/app-arch/p7zip/Manifest b/app-arch/p7zip/Manifest index c5d77aa6e0a6..dc775254d65b 100644 --- a/app-arch/p7zip/Manifest +++ b/app-arch/p7zip/Manifest @@ -4,10 +4,12 @@ AUX CVE-2018-10115.patch 8946 BLAKE2B 21fc8367ec1c811119bd43b5ca8ac1399748d4fe0c AUX CVE-2018-5996.patch 6427 BLAKE2B a60d4c51470d9a1ee58afc4ced5190dc589c78604dfd8cefdb5f4caca74d73f175722f777c4c13839951178b394c44b69577c8b5125f45581890dfaf1325d47d SHA512 7962a03430b94aec7c93d6dabee340f4f5915d728ba4df0dcaae483ab9c29115818e5e944572a3fd910addad8799c6a1e3911f6a0a02b661f804eea11c3a0f40 AUX WimHandler.cpp.patch 413 BLAKE2B 06e1ef38fbb8ae11f9c28df68c7e15db52060974930f61bdd5a04d970bc71f724a5122b05ad24b0e89d6b2142f54762ce4b6467d25345fca89075d6626abf9b3 SHA512 c246a7d912ec965b5212a510893aa1c9bd47b66b8f0fb47c03d46e5f3f891e2134cb8733594fd84f7e6034ebf07a9aac633230e2a0eebfb476f6429469058a75 AUX p7zip-16.02-darwin.patch 2134 BLAKE2B f8890b8b3e0a3ade007f162e5d3b7fdc9925e8960c6e22463a5ebc474e4ebb2577f0cc0312fda6c129bd1a02dc3ac6d3de17f2c551ee710ab36d0658acfaec52 SHA512 ed8689e39e5bd55eb9cc74c02c94782ac893fc30079492dbde459f24d07037ca63c91526ea428934814febbfbcd1f80c0683cd40d48eab055a3f856b1d78fb37 +AUX p7zip-17.05-localization.patch 12265 BLAKE2B 03c7c10e4126e449b916b831a5f8dc03a2e3758c9d8ccb06d68a637c089ba6b2d8463cdfe9eca711be42dad358e3f6010948bc37082dc1d54377ef61984236c3 SHA512 35fbf222ae4c29139ebaf3ba135c82c9dabf57a2443481e3eef23af0d32a85a0cbe4787d57eaf98fdf15bb8362e447ae90d028af34886adcbbeaa4fae5ecd604 AUX p7zip-17.05-natspec.patch 5172 BLAKE2B 03a2895b5f30ab373ea8b3a358dcdcdefe0cbde35bd643da088c4142fe0e64dd20b536d1226bebcf63cabab9bcb88a183d6f3c444a426c7289e4729971e13b2d SHA512 c567e503124d23d1656bf02d315f910bce5bf18fce59ef5568e93cd2e6a1d93a0ce9f6af29920b91737223ea2b8c758f082f2b7515eec6a9c8979de487dd0d66 AUX p7zip-17.05-unit64.patch 470 BLAKE2B 63969d319e3fcc624dc0b0b4b5580887d23259da71727f0b5272edb4834c01ac6bcd791f31e8eb3832f066d04098c647554aed74953f71f7d90c6ed5470b3582 SHA512 eb5fc888dfd0d484a886c2a78ea4bb95ca100e14032603c68ed0dd2d6617754e45b5e466419536941b1d015dbcd931fe2a740b4c12950222c7afabdd82c0dc03 DIST p7zip-17.05.tar.gz 6722154 BLAKE2B 0bcba638d3acaf2aa270e02693ad4295dfcc6b388037bdb446e25f3f4e1cb34f1b05bbc9a845364ca770625c32b2d7f55f63f504ad8e0863fff4bf940ae1fddd SHA512 97a7cfd15287998eb049c320548477be496c4ddf6b45c833c42adca4ab88719b07a442ae2e71cf2dc3b30a0777a3acab0a1a30f01fd85bacffa3fa9bd22c3f7d DIST p7zip_16.02_src_all.tar.bz2 4239909 BLAKE2B 075356fba5284cbb124e30c36364a910ae5a7ac6bee8a8fb682c5a7ce2f1870ef83d3160c84f8dabad1d616c13d642cba1f19fb9384160d21590cf678dd8f1a6 SHA512 d2c4d53817f96bb4c7683f42045198d4cd509cfc9c3e2cb85c8d9dc4ab6dfa7496449edeac4e300ecf986a9cbbc90bd8f8feef8156895d94617c04e507add55f EBUILD p7zip-16.02-r8.ebuild 4084 BLAKE2B 751bd46aafa907e01442c53a81e599c1877be619ad7b99ba3bc30a6af8a184e6d346f7d466b0b5c42bfbb25345263ef9057e13b0785b361498a0ff86ab2f906a SHA512 6984a246c1f55b36a5345f37945bb8930d3b6c7f6fe717d26d4bc81ecaa0ecaedd667ad277651ee01f941d9e512df94f8d89161ea7a29805667fcb357b716e2d EBUILD p7zip-17.05-r1.ebuild 3170 BLAKE2B 0eb02445b86b76b7bf587a1966675c7de5d2d28ef7b398a770fe2e153af566c2a49313c98b7e6033a31d1a948b8eb5ac14756c1e3bcaaebd32dfecd98eb96fc6 SHA512 50f57303a2a129ac5a51e619f5049a4d2f5c4c292e5e2757620e35eeb98bceb8cf7ce1b086db7edf9223e14b00e2f262492880a6a2d9ccc031c5005d8450f3c4 +EBUILD p7zip-17.05-r2.ebuild 3229 BLAKE2B c213e368fe05f25f0a70d8fe30060bc60bd6a075b89049ace922c492129d81fbf4128d3111852da0698f3eca7eb7f33f7918c5d571ad47fd72c382fd55b0fb8a SHA512 b5df8b9db195eaf95d441f9eac5f49a07157106f55328682bece638fbb70d8d8445debed435401c47782ae1b7957a5796deec13f721e56b44a4266ee525a6f94 MISC metadata.xml 532 BLAKE2B 9ffdc29d8d8f6a82e7a55f4448870a4dd019468a440ade6df10ad1336617d14c1d975a7db032fce3397358132cee15bb317c9bed554de57e8f3ecbb284931a32 SHA512 807a53919ad3b19c280be0033ae264d89ad438b9d51763c7a27be3576ca496af9966d2f62594a707a1242c0b813298b01da6c2a55469af777e47944a80b00f25 diff --git a/app-arch/p7zip/files/p7zip-17.05-localization.patch b/app-arch/p7zip/files/p7zip-17.05-localization.patch new file mode 100644 index 000000000000..971a0d4eb8bb --- /dev/null +++ b/app-arch/p7zip/files/p7zip-17.05-localization.patch @@ -0,0 +1,234 @@ +From afec5e119df1f0706df619b6151b709945de4f43 Mon Sep 17 00:00:00 2001 +From: Ivan Sorokin <unxed@mail.ru> +Date: Wed, 22 May 2024 09:38:23 +0200 +Subject: [PATCH] apply #232 to p7zip17 also + +--- + CPP/7zip/Archive/Zip/ZipItem.cpp | 205 +++++++++++++++++++++---------- + 1 file changed, 137 insertions(+), 68 deletions(-) + +diff --git a/CPP/7zip/Archive/Zip/ZipItem.cpp b/CPP/7zip/Archive/Zip/ZipItem.cpp +index 353e89559..d3133c59d 100644 +--- a/CPP/7zip/Archive/Zip/ZipItem.cpp ++++ b/CPP/7zip/Archive/Zip/ZipItem.cpp +@@ -356,83 +356,152 @@ void CItem::GetUnicodeString(UString &res, const AString &s, bool isComment, boo + } + + #if (!defined _WIN32) && (!defined __CYGWIN__) && (!defined __APPLE__) ++ + // Convert OEM char set to UTF-8 if needed + // Use system locale to select code page + +- Byte hostOS = GetHostOS(); +- if (!isUtf8 && ((hostOS == NFileHeader::NHostOS::kFAT) || (hostOS == NFileHeader::NHostOS::kNTFS))) { +- +- const char *oemcp; +- oemcp = getenv("OEMCP"); +- if (!oemcp) { +- oemcp = "CP437\0"; // CP name is 6 chars max +- +- const char *lc_to_cp_table[] = { +- "af_ZA", "CP850", "ar_SA", "CP720", "ar_LB", "CP720", "ar_EG", "CP720", +- "ar_DZ", "CP720", "ar_BH", "CP720", "ar_IQ", "CP720", "ar_JO", "CP720", +- "ar_KW", "CP720", "ar_LY", "CP720", "ar_MA", "CP720", "ar_OM", "CP720", +- "ar_QA", "CP720", "ar_SY", "CP720", "ar_TN", "CP720", "ar_AE", "CP720", +- "ar_YE", "CP720","ast_ES", "CP850", "az_AZ", "CP866", "az_AZ", "CP857", +- "be_BY", "CP866", "bg_BG", "CP866", "br_FR", "CP850", "ca_ES", "CP850", +- "zh_CN", "CP936", "zh_TW", "CP950", "kw_GB", "CP850", "cs_CZ", "CP852", +- "cy_GB", "CP850", "da_DK", "CP850", "de_AT", "CP850", "de_LI", "CP850", +- "de_LU", "CP850", "de_CH", "CP850", "de_DE", "CP850", "el_GR", "CP737", +- "en_AU", "CP850", "en_CA", "CP850", "en_GB", "CP850", "en_IE", "CP850", +- "en_JM", "CP850", "en_BZ", "CP850", "en_PH", "CP437", "en_ZA", "CP437", +- "en_TT", "CP850", "en_US", "CP437", "en_ZW", "CP437", "en_NZ", "CP850", +- "es_PA", "CP850", "es_BO", "CP850", "es_CR", "CP850", "es_DO", "CP850", +- "es_SV", "CP850", "es_EC", "CP850", "es_GT", "CP850", "es_HN", "CP850", +- "es_NI", "CP850", "es_CL", "CP850", "es_MX", "CP850", "es_ES", "CP850", +- "es_CO", "CP850", "es_ES", "CP850", "es_PE", "CP850", "es_AR", "CP850", +- "es_PR", "CP850", "es_VE", "CP850", "es_UY", "CP850", "es_PY", "CP850", +- "et_EE", "CP775", "eu_ES", "CP850", "fa_IR", "CP720", "fi_FI", "CP850", +- "fo_FO", "CP850", "fr_FR", "CP850", "fr_BE", "CP850", "fr_CA", "CP850", +- "fr_LU", "CP850", "fr_MC", "CP850", "fr_CH", "CP850", "ga_IE", "CP437", +- "gd_GB", "CP850", "gv_IM", "CP850", "gl_ES", "CP850", "he_IL", "CP862", +- "hr_HR", "CP852", "hu_HU", "CP852", "id_ID", "CP850", "is_IS", "CP850", +- "it_IT", "CP850", "it_CH", "CP850", "iv_IV", "CP437", "ja_JP", "CP932", +- "kk_KZ", "CP866", "ko_KR", "CP949", "ky_KG", "CP866", "lt_LT", "CP775", +- "lv_LV", "CP775", "mk_MK", "CP866", "mn_MN", "CP866", "ms_BN", "CP850", +- "ms_MY", "CP850", "nl_BE", "CP850", "nl_NL", "CP850", "nl_SR", "CP850", +- "nn_NO", "CP850", "nb_NO", "CP850", "pl_PL", "CP852", "pt_BR", "CP850", +- "pt_PT", "CP850", "rm_CH", "CP850", "ro_RO", "CP852", "ru_RU", "CP866", +- "sk_SK", "CP852", "sl_SI", "CP852", "sq_AL", "CP852", "sr_RS", "CP855", +- "sr_RS", "CP852", "sv_SE", "CP850", "sv_FI", "CP850", "sw_KE", "CP437", +- "th_TH", "CP874", "tr_TR", "CP857", "tt_RU", "CP866", "uk_UA", "CP866", +- "ur_PK", "CP720", "uz_UZ", "CP866", "uz_UZ", "CP857", "vi_VN", "CP1258", +- "wa_BE", "CP850", "zh_HK", "CP950", "zh_SG", "CP936"}; +- int table_len = sizeof(lc_to_cp_table) / sizeof(char *); +- int lc_len, i; +- +- char *lc = setlocale(LC_CTYPE, ""); +- +- if (lc && lc[0]) { +- // Compare up to the dot, if it exists, e.g. en_US.UTF-8 +- for (lc_len = 0; lc[lc_len] != '.' && lc[lc_len] != '\0'; ++lc_len) +- ; +- for (i = 0; i < table_len; i += 2) +- if (strncmp(lc, lc_to_cp_table[i], lc_len) == 0) +- oemcp = lc_to_cp_table[i + 1]; +- } ++ // locale -> code page translation tables generated from Wine source code ++ ++ const char *lcToOemTable[] = { ++ "af_ZA", "CP850", "ar_SA", "CP720", "ar_LB", "CP720", "ar_EG", "CP720", ++ "ar_DZ", "CP720", "ar_BH", "CP720", "ar_IQ", "CP720", "ar_JO", "CP720", ++ "ar_KW", "CP720", "ar_LY", "CP720", "ar_MA", "CP720", "ar_OM", "CP720", ++ "ar_QA", "CP720", "ar_SY", "CP720", "ar_TN", "CP720", "ar_AE", "CP720", ++ "ar_YE", "CP720", "ast_ES", "CP850", "az_AZ", "CP866", "az_AZ", "CP857", ++ "be_BY", "CP866", "bg_BG", "CP866", "br_FR", "CP850", "ca_ES", "CP850", ++ "zh_CN", "CP936", "zh_TW", "CP950", "kw_GB", "CP850", "cs_CZ", "CP852", ++ "cy_GB", "CP850", "da_DK", "CP850", "de_AT", "CP850", "de_LI", "CP850", ++ "de_LU", "CP850", "de_CH", "CP850", "de_DE", "CP850", "el_GR", "CP737", ++ "en_AU", "CP850", "en_CA", "CP850", "en_GB", "CP850", "en_IE", "CP850", ++ "en_JM", "CP850", "en_BZ", "CP850", "en_PH", "CP437", "en_ZA", "CP437", ++ "en_TT", "CP850", "en_US", "CP437", "en_ZW", "CP437", "en_NZ", "CP850", ++ "es_PA", "CP850", "es_BO", "CP850", "es_CR", "CP850", "es_DO", "CP850", ++ "es_SV", "CP850", "es_EC", "CP850", "es_GT", "CP850", "es_HN", "CP850", ++ "es_NI", "CP850", "es_CL", "CP850", "es_MX", "CP850", "es_ES", "CP850", ++ "es_CO", "CP850", "es_ES", "CP850", "es_PE", "CP850", "es_AR", "CP850", ++ "es_PR", "CP850", "es_VE", "CP850", "es_UY", "CP850", "es_PY", "CP850", ++ "et_EE", "CP775", "eu_ES", "CP850", "fa_IR", "CP720", "fi_FI", "CP850", ++ "fo_FO", "CP850", "fr_FR", "CP850", "fr_BE", "CP850", "fr_CA", "CP850", ++ "fr_LU", "CP850", "fr_MC", "CP850", "fr_CH", "CP850", "ga_IE", "CP437", ++ "gd_GB", "CP850", "gv_IM", "CP850", "gl_ES", "CP850", "he_IL", "CP862", ++ "hr_HR", "CP852", "hu_HU", "CP852", "id_ID", "CP850", "is_IS", "CP850", ++ "it_IT", "CP850", "it_CH", "CP850", "iv_IV", "CP437", "ja_JP", "CP932", ++ "kk_KZ", "CP866", "ko_KR", "CP949", "ky_KG", "CP866", "lt_LT", "CP775", ++ "lv_LV", "CP775", "mk_MK", "CP866", "mn_MN", "CP866", "ms_BN", "CP850", ++ "ms_MY", "CP850", "nl_BE", "CP850", "nl_NL", "CP850", "nl_SR", "CP850", ++ "nn_NO", "CP850", "nb_NO", "CP850", "pl_PL", "CP852", "pt_BR", "CP850", ++ "pt_PT", "CP850", "rm_CH", "CP850", "ro_RO", "CP852", "ru_RU", "CP866", ++ "sk_SK", "CP852", "sl_SI", "CP852", "sq_AL", "CP852", "sr_RS", "CP855", ++ "sr_RS", "CP852", "sv_SE", "CP850", "sv_FI", "CP850", "sw_KE", "CP437", ++ "th_TH", "CP874", "tr_TR", "CP857", "tt_RU", "CP866", "uk_UA", "CP866", ++ "ur_PK", "CP720", "uz_UZ", "CP866", "uz_UZ", "CP857", "vi_VN", "CP1258", ++ "wa_BE", "CP850", "zh_HK", "CP950", "zh_SG", "CP936"}; ++ ++ const char *lcToAnsiTable[] = { ++ "af_ZA", "CP1252", "ar_SA", "CP1256", "ar_LB", "CP1256", "ar_EG", "CP1256", ++ "ar_DZ", "CP1256", "ar_BH", "CP1256", "ar_IQ", "CP1256", "ar_JO", "CP1256", ++ "ar_KW", "CP1256", "ar_LY", "CP1256", "ar_MA", "CP1256", "ar_OM", "CP1256", ++ "ar_QA", "CP1256", "ar_SY", "CP1256", "ar_TN", "CP1256", "ar_AE", "CP1256", ++ "ar_YE", "CP1256","ast_ES", "CP1252", "az_AZ", "CP1251", "az_AZ", "CP1254", ++ "be_BY", "CP1251", "bg_BG", "CP1251", "br_FR", "CP1252", "ca_ES", "CP1252", ++ "zh_CN", "CP936", "zh_TW", "CP950", "kw_GB", "CP1252", "cs_CZ", "CP1250", ++ "cy_GB", "CP1252", "da_DK", "CP1252", "de_AT", "CP1252", "de_LI", "CP1252", ++ "de_LU", "CP1252", "de_CH", "CP1252", "de_DE", "CP1252", "el_GR", "CP1253", ++ "en_AU", "CP1252", "en_CA", "CP1252", "en_GB", "CP1252", "en_IE", "CP1252", ++ "en_JM", "CP1252", "en_BZ", "CP1252", "en_PH", "CP1252", "en_ZA", "CP1252", ++ "en_TT", "CP1252", "en_US", "CP1252", "en_ZW", "CP1252", "en_NZ", "CP1252", ++ "es_PA", "CP1252", "es_BO", "CP1252", "es_CR", "CP1252", "es_DO", "CP1252", ++ "es_SV", "CP1252", "es_EC", "CP1252", "es_GT", "CP1252", "es_HN", "CP1252", ++ "es_NI", "CP1252", "es_CL", "CP1252", "es_MX", "CP1252", "es_ES", "CP1252", ++ "es_CO", "CP1252", "es_ES", "CP1252", "es_PE", "CP1252", "es_AR", "CP1252", ++ "es_PR", "CP1252", "es_VE", "CP1252", "es_UY", "CP1252", "es_PY", "CP1252", ++ "et_EE", "CP1257", "eu_ES", "CP1252", "fa_IR", "CP1256", "fi_FI", "CP1252", ++ "fo_FO", "CP1252", "fr_FR", "CP1252", "fr_BE", "CP1252", "fr_CA", "CP1252", ++ "fr_LU", "CP1252", "fr_MC", "CP1252", "fr_CH", "CP1252", "ga_IE", "CP1252", ++ "gd_GB", "CP1252", "gv_IM", "CP1252", "gl_ES", "CP1252", "he_IL", "CP1255", ++ "hr_HR", "CP1250", "hu_HU", "CP1250", "id_ID", "CP1252", "is_IS", "CP1252", ++ "it_IT", "CP1252", "it_CH", "CP1252", "iv_IV", "CP1252", "ja_JP", "CP932", ++ "kk_KZ", "CP1251", "ko_KR", "CP949", "ky_KG", "CP1251", "lt_LT", "CP1257", ++ "lv_LV", "CP1257", "mk_MK", "CP1251", "mn_MN", "CP1251", "ms_BN", "CP1252", ++ "ms_MY", "CP1252", "nl_BE", "CP1252", "nl_NL", "CP1252", "nl_SR", "CP1252", ++ "nn_NO", "CP1252", "nb_NO", "CP1252", "pl_PL", "CP1250", "pt_BR", "CP1252", ++ "pt_PT", "CP1252", "rm_CH", "CP1252", "ro_RO", "CP1250", "ru_RU", "CP1251", ++ "sk_SK", "CP1250", "sl_SI", "CP1250", "sq_AL", "CP1250", "sr_RS", "CP1251", ++ "sr_RS", "CP1250", "sv_SE", "CP1252", "sv_FI", "CP1252", "sw_KE", "CP1252", ++ "th_TH", "CP874", "tr_TR", "CP1254", "tt_RU", "CP1251", "uk_UA", "CP1251", ++ "ur_PK", "CP1256", "uz_UZ", "CP1251", "uz_UZ", "CP1254", "vi_VN", "CP1258", ++ "wa_BE", "CP1252", "zh_HK", "CP950", "zh_SG", "CP936"}; ++ ++ bool isAnsi = false; ++ bool isOem = false; ++ ++ if (!isUtf8 && ++ MadeByVersion.HostOS == NFileHeader::NHostOS::kNTFS && ++ MadeByVersion.Version >= 20) { ++ isAnsi = true; ++ } else if (!isUtf8 && ++ (MadeByVersion.HostOS == NFileHeader::NHostOS::kNTFS || ++ MadeByVersion.HostOS == NFileHeader::NHostOS::kFAT)) { ++ isOem = true; ++ } ++ ++ if (isOem || isAnsi) { ++ ++ const char *legacyCp = nullptr; ++ int tableLen = sizeof(isOem ? lcToOemTable : lcToAnsiTable) / sizeof(char *); ++ int lcLen = 0, i; ++ ++ // Detect required code page name from current locale ++ char *lc = setlocale(LC_CTYPE, ""); ++ ++ if (lc && lc[0]) { ++ // Compare up to the dot, if it exists, e.g. en_US.UTF-8 ++ for (lcLen = 0; lc[lcLen] != '.' && lc[lcLen] != ':' && lc[lcLen] != '\0'; ++lcLen); ++ ++ for (i = 0; i < tableLen; i += 2) ++ if (strncmp(lc, (isOem ? lcToOemTable[i] : lcToAnsiTable[i]), lcLen) == 0) { ++ legacyCp = isOem ? lcToOemTable[i + 1] : lcToAnsiTable[i + 1]; ++ break; // Stop searching once a match is found ++ } + } + +- iconv_t cd; +- if ((cd = iconv_open("UTF-8", oemcp)) != (iconv_t)-1) { ++ if (legacyCp) { ++ iconv_t cd; ++ if ((cd = iconv_open("UTF-8", legacyCp)) != (iconv_t)-1) { + +- AString s_utf8; +- const char* src = s.Ptr(); +- size_t slen = s.Len(); +- size_t dlen = slen * 4; +- const char* dest = s_utf8.GetBuf_SetEnd(dlen + 1); // (source length * 4) + null termination ++ AString sUtf8; + +- size_t done = iconv(cd, (char**)&src, &slen, (char**)&dest, &dlen); +- bzero((size_t*)dest + done, 1); ++ size_t slen = s.Len(); ++ char* src = const_cast<char*>(s.Ptr()); + +- iconv_close(cd); ++ size_t dlen = slen * 4 + 1; // (source length * 4) + null termination ++ char* dst = sUtf8.GetBuf_SetEnd(dlen); ++ const char* dstStart = dst; + +- if (ConvertUTF8ToUnicode(s_utf8, res) || ignore_Utf8_Errors) +- return; +- } ++ memset(dst, 0, dlen); ++ ++ size_t done = iconv(cd, &src, &slen, &dst, &dlen); ++ ++ if (done == (size_t)-1) { ++ iconv_close(cd); ++ ++ // iconv failed. Falling back to default behavior ++ MultiByteToUnicodeString2(res, s, useSpecifiedCodePage ? codePage : GetCodePage()); ++ return; ++ } ++ ++ // Null-terminate the result ++ *dst = '\0'; ++ ++ iconv_close(cd); ++ ++ AString sUtf8CorrectLength; ++ unsigned dstCorrectLength = dst - dstStart; ++ sUtf8CorrectLength.SetFrom(sUtf8, dstCorrectLength); ++ if (ConvertUTF8ToUnicode(sUtf8CorrectLength, res) /*|| ignore_Utf8_Errors*/) ++ return; ++ } ++ } + } + #endif + diff --git a/app-arch/p7zip/p7zip-17.05-r2.ebuild b/app-arch/p7zip/p7zip-17.05-r2.ebuild new file mode 100644 index 000000000000..c3cf8085fcf6 --- /dev/null +++ b/app-arch/p7zip/p7zip-17.05-r2.ebuild @@ -0,0 +1,114 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit multilib toolchain-funcs wrapper xdg + +DESCRIPTION="Port of 7-Zip archiver for Unix" +HOMEPAGE="https://github.com/p7zip-project/p7zip" +SRC_URI="https://github.com/p7zip-project/p7zip/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="LGPL-2.1 rar? ( unRAR )" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos" +IUSE="abi_x86_x32 natspec +pch rar test" + +REQUIRED_USE="test? ( rar )" # bug 907221 +RESTRICT="!test? ( test )" + +RDEPEND="natspec? ( dev-libs/libnatspec )" +DEPEND="${RDEPEND}" +BDEPEND=" + abi_x86_x32? ( >=dev-lang/yasm-1.2.0-r1 ) + amd64? ( dev-lang/yasm ) + x86? ( dev-lang/nasm )" + +PATCHES=( "${FILESDIR}/p7zip-17.05-unit64.patch" ) + +src_prepare() { + default + + if use natspec; then + eapply "${FILESDIR}"/${P}-natspec.patch + sed -i '/^LOCAL_LIBS/s/$/ -lnatspec/' makefile.* || die + else + eapply "${FILESDIR}/${P}-localization.patch" + fi + + if ! use pch; then + sed "s:PRE_COMPILED_HEADER=StdAfx.h.gch:PRE_COMPILED_HEADER=:g" -i makefile.* || die + fi + + sed \ + -e 's|-m32 ||g' \ + -e 's|-m64 ||g' \ + -e 's|-pipe||g' \ + -e "/[ALL|OPT]FLAGS/s|-s||;/OPTIMIZE/s|-s||" \ + -e "/CFLAGS=/s|=|+=|" \ + -e "/CXXFLAGS=/s|=|+=|" \ + -i makefile* || die + + # remove non-free RAR codec + if ! use rar; then + sed \ + -e '/Rar/d' \ + -e '/RAR/d' \ + -i makefile* CPP/7zip/Bundles/Format7zFree/makefile || die + rm -r CPP/7zip/Compress/Rar || die + fi + + if use abi_x86_x32; then + sed -i -e "/^ASM=/s:amd64:x32:" makefile* || die + cp makefile.linux_amd64_asm makefile.machine || die + elif use amd64; then + cp makefile.linux_amd64_asm makefile.machine || die + elif use x86; then + cp makefile.linux_x86_asm_gcc_4.X makefile.machine || die + elif [[ ${CHOST} == *-darwin* ]] ; then + # Mac OS X needs this special makefile, because it has a non-GNU + # linker, it doesn't matter so much for bitwidth, for it doesn't + # do anything with it + cp makefile.macosx_llvm_64bits makefile.machine || die + # bundles have extension .bundle but don't die because USE=-rar + # removes the Rar directory + sed -i -e '/strcpy(name/s/\.so/.bundle/' \ + CPP/Windows/DLL.cpp || die + sed -i -e '/^PROG=/s/\.so/.bundle/' \ + CPP/7zip/Bundles/Format7zFree/makefile.list \ + $(use rar && echo CPP/7zip/Compress/Rar/makefile.list) || die + fi +} + +src_compile() { + emake CC="$(tc-getCC)" CXX="$(tc-getCXX)" all3 +} + +src_test() { + emake test test_7z test_7zr +} + +src_install() { + # these wrappers cannot be symlinks, p7zip should be called with full path + make_wrapper 7zr /usr/$(get_libdir)/p7zip/7zr + make_wrapper 7za /usr/$(get_libdir)/p7zip/7za + make_wrapper 7z /usr/$(get_libdir)/p7zip/7z + + dobin contrib/gzip-like_CLI_wrapper_for_7z/p7zip + doman contrib/gzip-like_CLI_wrapper_for_7z/man1/p7zip.1 + + exeinto /usr/$(get_libdir)/p7zip + doexe bin/7z bin/7za bin/7zr bin/7zCon.sfx + doexe bin/*$(get_modname) + if use rar; then + exeinto /usr/$(get_libdir)/p7zip/Codecs + doexe bin/Codecs/*$(get_modname) + fi + + doman man1/7z.1 man1/7za.1 man1/7zr.1 + + dodoc ChangeLog README TODO + dodoc DOC/*.txt + docinto html + dodoc -r DOC/MANUAL/. +} |