diff options
Diffstat (limited to 'sys-libs/glibc')
-rw-r--r-- | sys-libs/glibc/Manifest | 18 | ||||
-rw-r--r-- | sys-libs/glibc/glibc-2.33-r13.ebuild | 2 | ||||
-rw-r--r-- | sys-libs/glibc/glibc-2.34-r10.ebuild | 3 | ||||
-rw-r--r-- | sys-libs/glibc/glibc-2.34-r11.ebuild (renamed from sys-libs/glibc/glibc-2.34-r9.ebuild) | 17 | ||||
-rw-r--r-- | sys-libs/glibc/glibc-2.35-r1.ebuild (renamed from sys-libs/glibc/glibc-2.35.ebuild) | 13 | ||||
-rw-r--r-- | sys-libs/glibc/glibc-2.35-r2.ebuild (renamed from sys-libs/glibc/glibc-2.33-r7.ebuild) | 311 | ||||
-rw-r--r-- | sys-libs/glibc/glibc-9999.ebuild | 8 |
7 files changed, 207 insertions, 165 deletions
diff --git a/sys-libs/glibc/Manifest b/sys-libs/glibc/Manifest index 041b1af7e3d8..e08b2cc3c473 100644 --- a/sys-libs/glibc/Manifest +++ b/sys-libs/glibc/Manifest @@ -22,12 +22,12 @@ DIST glibc-2.31.tar.xz 16676764 BLAKE2B 91df1792345f157265eae405185a81fd4b8ce36d DIST glibc-2.32-patches-8.tar.xz 65532 BLAKE2B 00c572cff396e52313d0324f7bc28192a65f06b22fc5a04aa631b76b3016842365006399715531ee693f3519720edcebef7884247f2f8c19e3518c1ddafab7cc SHA512 5240bc3a6df46d12c03ea4ce7b1a0df85301256ae3bd003fd04c61dadaaec34998873bf20544d891f6eedf896302bb916010aebc1d8d646a3cce09a93b533d0b DIST glibc-2.32.tar.xz 16744512 BLAKE2B a56b4afbb35315c5cd6dca0f62e44455dceae3e6e88a8453621f9a5394a60ddf10ca9309b2db0911830c7fd77e3faa5d94694eb94d5b2c05fc5285cef52255da SHA512 8460c155b7003e04f18dabece4ed9ad77445fa2288a7dc08e80a8fc4c418828af29e0649951bd71a54ea2ad2d4da7570aafd9bdfe4a37e9951b772b442afe50b DIST glibc-2.33-patches-11.tar.xz 143916 BLAKE2B ac13b3ccf9681bb6d3c35ecc33e268ea3f67c1809f916019e692dc83e3ce809402a45548da5ca6c7c30d2a45a2638f9fa4254c0355bd4c53bdb216f17aa4e28b SHA512 0ee1dfcf9574543d49ab4fbfe53571258422b6e82b9d12a33e411cee7e517821a4c45c24962b5120783a4efc898afdfa170d33486cc74d94c526bdd14cc84300 -DIST glibc-2.33-patches-6.tar.xz 64632 BLAKE2B f04ca4320d65c8796c67471cb56d3bf002cc34fb6a81075b85948e41c94df46cb2a3a944cced42d6d2c17ffc11e32a9840810864e655cc0fe18e6e0fe9f3c985 SHA512 b95746cd3415ec9ca275e542a2b5fddd5ce5680aa3bda08e94e96cf431191f7488ef6b7999ff0dfaf7405a4212531a75283e9bd7f5ae65bf572912038877a6df DIST glibc-2.33.tar.xz 17031280 BLAKE2B 703d12121c1e2c5d9e0c6ba5341f5fb5c4d9111611a83f2360029b5de9c6e5a5611249d1833684a58ed4afdf49cae614365d87ec8721ba0e5d218f593b1f229d SHA512 4cb5777b68b22b746cc51669e0e9282b43c83f6944e42656e6db7195ebb68f2f9260f130fdeb4e3cfc64efae4f58d96c43d388f52be1eb024ca448084684abdb -DIST glibc-2.34-patches-14.tar.xz 139608 BLAKE2B 4560fd35209c5062ba28062d413ae2b2e7134918b71c9b6a1fe14392aecdac1261981627ca6862c7c7c60490f0df178c8b5650c5b3c2b5a96baf6d6e2ce1892f SHA512 e924b704234489ba7d04794f3260b3af27ae6703db38ed7832db9a90d0d1f48beab30392642ac9c88cf9010d024019db25600805c0746a50d81e612c8d09b422 DIST glibc-2.34-patches-15.tar.xz 146124 BLAKE2B f679f0fc27780173875178537cf996cbfb59bb844566388df0c351dec125eb02070571d4e2852742b43933d09c7a148a39bbc7b2b71fffebd7b8d9d3c16850ac SHA512 5224613e2288fcf027be224001306a84019ebe741114ee1b09d3de9b269dad0280a6dc4d88f4bc38dace501b2944a0098972589a1560756cb3da7e1b7341d672 +DIST glibc-2.34-patches-16.tar.xz 164648 BLAKE2B 78786a67109812942ac11bee9a880b9383aa61d0c2b006e3e7e635218842f49c6ce5b7c75597f7d317aa18fede0ca0c79a4bd436b8659ba6a2f1953848484d2a SHA512 acfc91e821cd8b4e57907c7aeaf1eac0bae1f8e244e4011f27819a8ba16a4e9c10fc675c6aaff992be81bba9373ec981fb598838f26aa247e7bd016e2cd786d2 DIST glibc-2.34.tar.xz 17301232 BLAKE2B 874031192f2f5a3b35c3f5b044a467d4be4e67e8593e070e5b49b901ce8ea6bde2f8d2f6c92fa33b3f61eb723572a9e5f2b45e56064168df80a96d3fdb6fa30c SHA512 15252affd9ef4523a8001db16d497f4fdcb3ddf4cde7fe80e075df0bd3cc6524dc29fbe20229dbf5f97af580556e6b1fac0de321a5fe25322bc3e72f93beb624 -DIST glibc-2.35-patches-3.tar.xz 29992 BLAKE2B aaf615d7cd2c2a00b47f3470ce92c080ffd0e7d768bf724d7e3a9ea50f161a550d9ff3c3c0734e3b00afec67d471aa04b74e050b738bf6e669720a646dab89cb SHA512 203726f333fe1d1db41c81c46cf997bdbe02409a38c4e9f8e9274512d121ad1f9412391828af8b129879e9104c58ca0a1b6f7427abfc32a161f33bd48fa44179 +DIST glibc-2.35-patches-4.tar.xz 45456 BLAKE2B 47e1c5e4db4969da27f14816ac9b856f3a57e152139e071f0fd0ecf53b7ac2a0372a8dec7e9e51808d463d2e5b12a6acc9145bb0127a7f36cf1d19b96a0efa41 SHA512 39ca84ed5f3e74bccb8875a77188bb16f6b45b1b22843b4ccf8a7f792d35e05e8305929fbeede290ebb128722caf8277da03dbf4aee9261940765f8dfcd01561 +DIST glibc-2.35-patches-5.tar.xz 45632 BLAKE2B b49161139e8a9e6f4351b5954f38eaa3b0b16a444c370b906e2fcac8eb25c306e6f95474063e511a4f8bf48c0eade9509a6158a1019e32ec4b95c49f992405eb SHA512 5bf20061f24ad087aa0f22808cb0dfd810e5413e71dc9b9c7ec0e9cecd172c40e3517e0a151294175351cf0e037e9c35d8b50ba391a312976e7c4103845089e4 DIST glibc-2.35.tar.xz 18165952 BLAKE2B 623c728884f070cd87ffeb9203f74206197c52405ac9bc44f3dd519a3468b8e8ae2536c883e5d17d94417dbd1e91775de2e674314e4ff7424f9720026d6b7063 SHA512 e7336ce27561be5d7c217832a1136fb327e057bd8d3f92925b35c97e3e9f9e486948b5a1e03e5e4090772ef06437a074d10b82e68f17f1ad8f22077ee39e1b66 DIST glibc-systemd-20210729.tar.gz 1480 BLAKE2B 37722c7579df782d890e44dbab99c3de52ab466eb9de80d82405e9bb5620bf39ffc8c5f466a435bdb86ef6d36dd7019c0736573916bda6c67d02a2581e0ec979 SHA512 efd75af58b50522c28cdac7abd1fc56555bc1bb042512c90d8340c1ec09c5791b3872a305bf83723252bbde5855b75d958c041083457765c4cfd170732d09238 DIST glibc-systemd-20210814.tar.gz 1469 BLAKE2B 10fa7bcb46d4fdce9c0ab353cbd30871e9b09a347a13a9c9a3b5777f931aa3c826c158d2e49532c604d4a834f2fab4089b67495fb88d0398945dc50d45ad9ef1 SHA512 5346a9ea459a1e6ccf665389f2a294de1e16f1e3e05cdf07e3dd99ed0e4f6f8b52cc333d4bff3c75ac90ab6ce70cd4ab2b3e126f920ce7979abd6dda56315efc @@ -38,10 +38,10 @@ EBUILD glibc-2.19-r2.ebuild 38454 BLAKE2B 6019c17c3cd333132abd3d88afd019367d451e EBUILD glibc-2.30-r9.ebuild 43400 BLAKE2B 01cbb9398dbe5d93f110f7c7ffe24d40719d86a3c75cea84c9bdf935613cc6ca91739c296956bb7e79bdbf2c5777922781cffc6cfb49ab5b2c02bf37562da11f SHA512 52607c950351f65b55ba702e3509748807a9eb8ff0d1eefb58369fb24ce49e2e0f00a0a74418877190c68d85d514d479a6f91fb6b868fe949a8be77a9bbce1db EBUILD glibc-2.31-r7.ebuild 44522 BLAKE2B 1adfba68c35d3af5ec8476b2fe5d3bebf13880eeacb5aaa8438b41b98f5b275f0816a0e654446f62ee2f34f412c5c6e72befcc0deb8988b6faec2c53a07601a9 SHA512 5247b1d75efa86b1a1c85a09219f54d402aae8aaecf0e377ca663a984daf7c69ea97b3072fe83a20002ec7d72661ec7737fbc72982122b58c26cb5bc89997548 EBUILD glibc-2.32-r8.ebuild 44853 BLAKE2B 724f95c0ed2cda18dc2edcaa03b0783a2bc603b72a67e1451535040ddc83be6d1a90ad4b30f9623140b5c0a329ecafb6f19793390137e629d43a3c26e202b28a SHA512 0973b86c266e40203e301cf0c6f8fddc4273c002ffb8fd6c16f6e78f2cfdfbea95fda04adfebb8ee84a14dc950763ba706eadadb2e83f7982b800bee636d5d8f -EBUILD glibc-2.33-r13.ebuild 48597 BLAKE2B 2c2c6b6e5a730d57cca81fb33030a345ca69f1406141819e2856f5c85d8f6df1b03ef04418ee82bb7dddc6c1de77137af0f338763ed99399ab6e3a3a8d9301c0 SHA512 1cecb7b3d3b10a05713db0a1fa5cd06c1f1d38b9a3439cb37a131fa6bb4a311e7470f246a79d3080c898328b25821af2d3d121956710e6421caa685d893289a0 -EBUILD glibc-2.33-r7.ebuild 46953 BLAKE2B 471614f6ad36d99057e29cfd6287db80bc232dfd6fc1bb54dfd3e5ef17ee725b5a94f54c76f228c610383d7de923e938037f959b4b64de21b9309b68d3cbb022 SHA512 5908adbf27b9a7e931d3f3cb27db2baccaa86ab634128b7ea64ab9742197211d49db13e9a65eb001b78cf31b3d62c9b4ae391e1be6ec5b109af2b33896253217 -EBUILD glibc-2.34-r10.ebuild 49947 BLAKE2B 28c82f4bd5ca582b6edba04f2ba35c6ab0d9c361778f07d58b891da554b50fff53417e45bd939f4b387ccacce287733b5dd3d2e0a1ef70dad09d8c7d31493f62 SHA512 5a5daca54e4339ffaba58b40420438d11ac7f4badc547d02f99b6d4eace4c4861536e25233a69bc1f60bcef2dccf7145d2272b95bc05f9208204751491f6d5f0 -EBUILD glibc-2.34-r9.ebuild 49374 BLAKE2B 9894a20a8ad6e46b2c933234394644d02f6d6eeaac61b7a450916d440c3862e37db39a990fa9384ac133b9610adf5f7d4dd1e0ac83ea995a04fbcccdccc60f28 SHA512 388af5e7c4efbf8528079945540ef5392686a4ae7664a6013571554b8cbb2768dab65fcf427829c9e76c1ac835dd6f01a039e155ae1a02c2b3e35e559e00d441 -EBUILD glibc-2.35.ebuild 48397 BLAKE2B 099a3f5284ff39edd806315469591f063e8886ec3e7a0f14dc52b79aeffd429c7c9a7028858ab0682a2f44433731e40f767883386a1b7fc65b55925e48c88717 SHA512 fae6fb96b92cae23b8a99ba62c081abf215e93ad33c996d39909c6c3c87573e25e677108c0b27b99cf858b8605ccc4e8618e918265967a0515c1b3ce2d194ada -EBUILD glibc-9999.ebuild 48397 BLAKE2B e6971b17314533cbb60c8938b661cdd7caf066bdb5de6af8ef1af890e6182adb5f7f1e4b32261a2a6332ceaa8a48fb57e99114f5df110957f8d9034c943f9b2a SHA512 30c7006145e80bcd5b28ae8cbb8e86fd1204e9c197b1bf7434d86eb30be16a0a4da9cdc5fce87a534317861152459c89a4d1f38316293c23348f0f85078c8522 +EBUILD glibc-2.33-r13.ebuild 48593 BLAKE2B 59c4e32d200c6b8fe1e365361c9cc4f4d7f93ab861e93fb13cb9bc0cc8e2d4f3a2f1f8f394570e186398858afc6d844188581f18a8eb7c0964ab73a147be9dcb SHA512 7003a462e28abef982330ab6fc29b836176c3e1943605bd04c907c40376de812783ebcd74a91305a9f86df7c0a75494a29f2187848bc75e6b42198704c514001 +EBUILD glibc-2.34-r10.ebuild 50001 BLAKE2B 569369e9282e8ebbf4d91539cb5eb841a24ff09f3232d29c35a4f7b9b944598a1ba0bfebc711bd45ecbece053b7c4bded5964147f43e7c31ed4294f8747a73ab SHA512 0c44609cb2de6cf8a6652bfcc5494657fec781429be2e6af446617c082d6e64363245e61a6863a633c368eec40c08f400b953ea59826feb6f6287a27d886181d +EBUILD glibc-2.34-r11.ebuild 49924 BLAKE2B 8ba10991163057f4c222655385b1dea053d5e11e7e0803934f8c26c7b32b6205b4d34bafafb2f458aa4bdb9a52d1130e1bfecd848426ebbb77bc3aa365f09dbd SHA512 0a7528fb68aee14fa568b8a708c1c3904db8e6b82272f041bd25eb3dcfea2cf3856de710db2917a29ca15a609d641d1cebb21d278836bd0b1b4f69f540c3d920 +EBUILD glibc-2.35-r1.ebuild 48339 BLAKE2B d837073cf2e62d8cb5d6f50f1b48db0ac5d0954f6407784622ea79709fb4750f08d24ffc702d83747671b27589370640a451dea2262ea452e34327ede556ce68 SHA512 0cbc1074684f2ed48317a5face037db43de562693ffd356068eaa4160b063c01155b258fe79e47359d0400c9f50f40f1876d92eef351106974b5be6b29220077 +EBUILD glibc-2.35-r2.ebuild 48595 BLAKE2B 71e23df6bd8d8c32b6106626f0c2d4d9d37c96f49f3cccb63298b962b6a815455922ce8d26a9be8d97aaf6dfe51104be2c27d70a2007e8e469bc2df872607a70 SHA512 60f8bdc66537a5a75fbf0dcfee9f871f0891835e151ec60668923e904fafa25c6bccf4ecb37a750b921bc986763b8d2526ec843acc0d095beb9060a711805a4b +EBUILD glibc-9999.ebuild 48353 BLAKE2B 4b6dcf3ad0f00353da09c79feff38afe383f0b0befc347721791aad9787d5363f434e483faa68c49cf0944c7328cfcbdc767093bcaf95e37224197e4af8db84b SHA512 2431d7ab441e919a294e4c6a960292761d313e185c72391c0e9ffebaf7cd165ab6598ed328df2755d76fe54fd57d76c0cb0fb34987ae6c719bc4edb140924a94 MISC metadata.xml 1701 BLAKE2B 91bd245d0a3685d76e3f874b50db872660054767fca5181871022fbdef9a18c4e674890bfed52cc3332c9557430ae8eec64505e67cdbedff000987406ab69ac5 SHA512 524edc37a01a47958ef557d586e8f06c6132481734ea28ed57e146969503fd129ad1da813a4d2d143a9bb8abe8810b0d8c920ab3c422a729287838435c44743a diff --git a/sys-libs/glibc/glibc-2.33-r13.ebuild b/sys-libs/glibc/glibc-2.33-r13.ebuild index e36db8a12a6d..cf8ae91b27fa 100644 --- a/sys-libs/glibc/glibc-2.33-r13.ebuild +++ b/sys-libs/glibc/glibc-2.33-r13.ebuild @@ -29,7 +29,7 @@ PATCH_DEV=dilfridge if [[ ${PV} == 9999* ]]; then inherit git-r3 else - KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86" SRC_URI="mirror://gnu/glibc/${P}.tar.xz" SRC_URI+=" https://dev.gentoo.org/~${PATCH_DEV}/distfiles/${P}-patches-${PATCH_VER}.tar.xz" fi diff --git a/sys-libs/glibc/glibc-2.34-r10.ebuild b/sys-libs/glibc/glibc-2.34-r10.ebuild index e5b596095245..0bc6be3e278b 100644 --- a/sys-libs/glibc/glibc-2.34-r10.ebuild +++ b/sys-libs/glibc/glibc-2.34-r10.ebuild @@ -29,7 +29,7 @@ PATCH_DEV=dilfridge if [[ ${PV} == 9999* ]]; then inherit git-r3 else - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86" SRC_URI="mirror://gnu/glibc/${P}.tar.xz" SRC_URI+=" https://dev.gentoo.org/~${PATCH_DEV}/distfiles/${P}-patches-${PATCH_VER}.tar.xz" fi @@ -805,6 +805,7 @@ upgrade_warning() { ewarn "After upgrading glibc, please restart all running processes." ewarn "Be sure to include init (telinit u) or systemd (systemctl daemon-reexec)." ewarn "Alternatively, reboot your system." + ewarn "(See bug #660556, bug #741116, bug #823756, etc)" break fi done diff --git a/sys-libs/glibc/glibc-2.34-r9.ebuild b/sys-libs/glibc/glibc-2.34-r11.ebuild index eb9c72edf011..ff5bd4304774 100644 --- a/sys-libs/glibc/glibc-2.34-r9.ebuild +++ b/sys-libs/glibc/glibc-2.34-r11.ebuild @@ -23,7 +23,7 @@ SLOT="2.2" EMULTILIB_PKG="true" # Gentoo patchset (ignored for live ebuilds) -PATCH_VER=14 +PATCH_VER=16 PATCH_DEV=dilfridge if [[ ${PV} == 9999* ]]; then @@ -525,9 +525,11 @@ setup_env() { # a good start into that direction. # Also, if you're crosscompiling, let's assume you know what you are doing. # Hopefully. + # Last, we need the settings of the *build* environment, not of the + # target environment... - local current_binutils_path=$(binutils-config -B) - local current_gcc_path=$(gcc-config -B) + local current_binutils_path=$(env ROOT="${BROOT}" binutils-config -B) + local current_gcc_path=$(env ROOT="${BROOT}" gcc-config -B) einfo "Overriding clang configuration, since it won't work here" export CC="${current_gcc_path}/gcc" @@ -760,6 +762,14 @@ sanity_prechecks() { # When we actually have to compile something... if ! just_headers && [[ ${MERGE_TYPE} != "binary" ]] ; then + if [[ -d "${ESYSROOT}"/usr/lib/include ]] ; then + # bug #833620, bug #643302 + eerror "Found ${ESYSROOT}/usr/lib/include directory!" + eerror "This is known to break glibc's build." + eerror "Please backup its contents then remove the directory." + die "Found directory (${ESYSROOT}/usr/lib/include) which will break build (bug #833620)!" + fi + if [[ ${CTARGET} == *-linux* ]] ; then local run_kv build_kv want_kv @@ -795,6 +805,7 @@ upgrade_warning() { ewarn "After upgrading glibc, please restart all running processes." ewarn "Be sure to include init (telinit u) or systemd (systemctl daemon-reexec)." ewarn "Alternatively, reboot your system." + ewarn "(See bug #660556, bug #741116, bug #823756, etc)" break fi done diff --git a/sys-libs/glibc/glibc-2.35.ebuild b/sys-libs/glibc/glibc-2.35-r1.ebuild index 0237132b9373..891974bc21c4 100644 --- a/sys-libs/glibc/glibc-2.35.ebuild +++ b/sys-libs/glibc/glibc-2.35-r1.ebuild @@ -20,14 +20,13 @@ SLOT="2.2" EMULTILIB_PKG="true" # Gentoo patchset (ignored for live ebuilds) -PATCH_VER=3 +PATCH_VER=4 PATCH_DEV=dilfridge if [[ ${PV} == 9999* ]]; then inherit git-r3 else - #KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" - KEYWORDS="" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" SRC_URI="mirror://gnu/glibc/${P}.tar.xz" SRC_URI+=" https://dev.gentoo.org/~${PATCH_DEV}/distfiles/${P}-patches-${PATCH_VER}.tar.xz" fi @@ -518,8 +517,8 @@ setup_env() { # Last, we need the settings of the *build* environment, not of the # target environment... - local current_binutils_path=$(env ROOT="${SYSROOT}" binutils-config -B) - local current_gcc_path=$(env ROOT="${SYSROOT}" gcc-config -B) + local current_binutils_path=$(env ROOT="${BROOT}" binutils-config -B) + local current_gcc_path=$(env ROOT="${BROOT}" gcc-config -B) einfo "Overriding clang configuration, since it won't work here" export CC="${current_gcc_path}/gcc" @@ -795,6 +794,7 @@ upgrade_warning() { ewarn "After upgrading glibc, please restart all running processes." ewarn "Be sure to include init (telinit u) or systemd (systemctl daemon-reexec)." ewarn "Alternatively, reboot your system." + ewarn "(See bug #660556, bug #741116, bug #823756, etc)" break fi done @@ -860,9 +860,6 @@ src_prepare() { einfo "Done." fi - # TODO: We can drop this once patch is gone from our patchset - append-cppflags -DGENTOO_USE_CLONE3 - default gnuconfig_update diff --git a/sys-libs/glibc/glibc-2.33-r7.ebuild b/sys-libs/glibc/glibc-2.35-r2.ebuild index 9c12fe15458e..6a0d35ce8ad5 100644 --- a/sys-libs/glibc/glibc-2.33-r7.ebuild +++ b/sys-libs/glibc/glibc-2.35-r2.ebuild @@ -3,10 +3,10 @@ EAPI=7 -# We avoid Python 3.10 here _for now_ (it does work!) to avoid circular dependencies -# on upgrades as people migrate to libxcrypt. -# https://wiki.gentoo.org/wiki/User:Sam/Portage_help/Circular_dependencies#Python_and_libcrypt -PYTHON_COMPAT=( python3_{7,8,9} ) +# Bumping notes: https://wiki.gentoo.org/wiki/Project:Toolchain/sys-libs/glibc +# Please read & adapt the page as necessary if obsolete. + +PYTHON_COMPAT=( python3_{8,9,10} ) TMPFILES_OPTIONAL=1 inherit python-any-r1 prefix preserve-libs toolchain-funcs flag-o-matic gnuconfig \ @@ -20,13 +20,13 @@ SLOT="2.2" EMULTILIB_PKG="true" # Gentoo patchset (ignored for live ebuilds) -PATCH_VER=6 +PATCH_VER=5 PATCH_DEV=dilfridge if [[ ${PV} == 9999* ]]; then inherit git-r3 else - KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" SRC_URI="mirror://gnu/glibc/${P}.tar.xz" SRC_URI+=" https://dev.gentoo.org/~${PATCH_DEV}/distfiles/${P}-patches-${PATCH_VER}.tar.xz" fi @@ -35,18 +35,21 @@ RELEASE_VER=${PV} GCC_BOOTSTRAP_VER=20201208 -LOCALE_GEN_VER=2.10 +LOCALE_GEN_VER=2.22 -GLIBC_SYSTEMD_VER=20210814 +GLIBC_SYSTEMD_VER=20210729 SRC_URI+=" https://gitweb.gentoo.org/proj/locale-gen.git/snapshot/locale-gen-${LOCALE_GEN_VER}.tar.gz" SRC_URI+=" multilib-bootstrap? ( https://dev.gentoo.org/~dilfridge/distfiles/gcc-multilib-bootstrap-${GCC_BOOTSTRAP_VER}.tar.xz )" SRC_URI+=" systemd? ( https://gitweb.gentoo.org/proj/toolchain/glibc-systemd.git/snapshot/glibc-systemd-${GLIBC_SYSTEMD_VER}.tar.gz )" -IUSE="audit caps cet compile-locales +crypt custom-cflags doc gd headers-only +multiarch multilib multilib-bootstrap nscd profile selinux +ssp +static-libs static-pie suid systemd systemtap test vanilla" +IUSE="audit caps cet +clone3 compile-locales +crypt custom-cflags doc gd headers-only +multiarch multilib multilib-bootstrap nscd profile selinux +ssp +static-libs suid systemd systemtap test vanilla" # Minimum kernel version that glibc requires MIN_KERN_VER="3.2.0" +# Minimum pax-utils version needed (which contains any new syscall changes for +# its seccomp filter!). Please double check this! +MIN_PAX_UTILS_VER="1.3.3" # Here's how the cross-compile logic breaks down ... # CTARGET - machine that will target the binaries @@ -100,7 +103,7 @@ fi BDEPEND=" ${PYTHON_DEPS} - >=app-misc/pax-utils-1.3.1 + >=app-misc/pax-utils-${MIN_PAX_UTILS_VER} sys-devel/bison doc? ( sys-apps/texinfo ) !compile-locales? ( @@ -132,7 +135,7 @@ RDEPEND="${COMMON_DEPEND} sys-apps/grep virtual/awk sys-apps/gentoo-functions - !<app-misc/pax-utils-1.3.1 + !<app-misc/pax-utils-${MIN_PAX_UTILS_VER} !<net-misc/openssh-8.1_p1-r2 " @@ -141,13 +144,13 @@ RESTRICT="!test? ( test )" if [[ ${CATEGORY} == cross-* ]] ; then BDEPEND+=" !headers-only? ( >=${CATEGORY}/binutils-2.27 - >=${CATEGORY}/gcc-6 + >=${CATEGORY}/gcc-6.2 )" [[ ${CATEGORY} == *-linux* ]] && DEPEND+=" ${CATEGORY}/linux-headers" else BDEPEND+=" >=sys-devel/binutils-2.27 - >=sys-devel/gcc-6 + >=sys-devel/gcc-6.2 " DEPEND+=" virtual/os-headers " RDEPEND+=" @@ -163,18 +166,16 @@ GENTOO_GLIBC_XFAIL_TESTS="${GENTOO_GLIBC_XFAIL_TESTS:-yes}" # The following tests fail due to the Gentoo build system and are thus # executed but ignored: XFAIL_TEST_LIST=( - # 9) Failures of unknown origin - tst-latepthread - # buggy test, assumes /dev/ and /dev/null on a single filesystem # 'mount --bind /dev/null /chroot/dev/null' breaks it. # https://sourceware.org/PR25909 tst-support_descriptors - # Flaky test, known to fail occasionally: - # https://sourceware.org/PR19329 - # https://bugs.gentoo.org/719674#c12 - tst-stack4 + # The following tests fail only inside portage + # https://bugs.gentoo.org/831267 + tst-system + tst-strerror + tst-strsignal ) # @@ -247,8 +248,8 @@ do_compile_test() { rm -f glibc-test* printf '%b' "$*" > glibc-test.c - # Most of the time CC is already set, but not in early sanity checks. - nonfatal emake glibc-test CC="${CC-$(tc-getCC ${CTARGET})}" + # We assume CC is already set up. + nonfatal emake glibc-test ret=$? popd >/dev/null @@ -394,6 +395,7 @@ setup_flags() { filter-flags '-O?' append-flags -O2 fi + strip-unsupported-flags filter-flags -m32 -m64 '-mabi=*' @@ -407,6 +409,9 @@ setup_flags() { # #492892 filter-flags -frecord-gcc-switches + # #829583 + filter-lfs-flags + unset CBUILD_OPT CTARGET_OPT if use multilib ; then CTARGET_OPT=$(get_abi_CTARGET) @@ -426,33 +431,6 @@ setup_flags() { filter-flags '-fstack-protector*' } -want_tls() { - # Archs that can use TLS (Thread Local Storage) - case $(tc-arch) in - x86) - # requires i486 or better #106556 - [[ ${CTARGET} == i[4567]86* ]] && return 0 - return 1 - ;; - esac - return 0 -} - -want__thread() { - want_tls || return 1 - - # For some reason --with-tls --with__thread is causing segfaults on sparc32. - [[ ${PROFILE_ARCH} == "sparc" ]] && return 1 - - [[ -n ${WANT__THREAD} ]] && return ${WANT__THREAD} - - # only test gcc -- can't test linking yet - tc-has-tls -c ${CTARGET} - WANT__THREAD=$? - - return ${WANT__THREAD} -} - use_multiarch() { # Allow user to disable runtime arch detection in multilib. use multiarch || return 1 @@ -508,14 +486,106 @@ setup_env() { einfo "Skip CC ABI injection. We can't use (cross-)compiler yet." return 0 fi - local VAR=CFLAGS_${ABI} + + # Glibc does not work with gold (for various reasons) #269274. + tc-ld-disable-gold + + if use doc ; then + export MAKEINFO=makeinfo + else + export MAKEINFO=/dev/null + fi + + # Reset CC and CXX to the value at start of emerge + export CC=${__ORIG_CC:-${CC:-$(tc-getCC ${CTARGET})}} + export CXX=${__ORIG_CXX:-${CXX:-$(tc-getCXX ${CTARGET})}} + + # and make sure __ORIC_CC and __ORIG_CXX is defined now. + export __ORIG_CC=${CC} + export __ORIG_CXX=${CXX} + + if tc-is-clang && ! use custom-cflags && ! is_crosscompile ; then + + # If we are running in an otherwise clang/llvm environment, we need to + # recover the proper gcc and binutils settings here, at least until glibc + # is finally building with clang. So let's override everything that is + # set in the clang profiles. + # Want to shoot yourself into the foot? Set USE=custom-cflags, that's always + # a good start into that direction. + # Also, if you're crosscompiling, let's assume you know what you are doing. + # Hopefully. + # Last, we need the settings of the *build* environment, not of the + # target environment... + + local current_binutils_path=$(env ROOT="${BROOT}" binutils-config -B) + local current_gcc_path=$(env ROOT="${BROOT}" gcc-config -B) + einfo "Overriding clang configuration, since it won't work here" + + export CC="${current_gcc_path}/gcc" + export CXX="${current_gcc_path}/g++" + export LD="${current_binutils_path}/ld.bfd" + export AR="${current_binutils_path}/ar" + export AS="${current_binutils_path}/as" + export NM="${current_binutils_path}/nm" + export STRIP="${current_binutils_path}/strip" + export RANLIB="${current_binutils_path}/ranlib" + export OBJCOPY="${current_binutils_path}/objcopy" + export STRINGS="${current_binutils_path}/strings" + export OBJDUMP="${current_binutils_path}/objdump" + export READELF="${current_binutils_path}/readelf" + export ADDR2LINE="${current_binutils_path}/addr2line" + + # do we need to also do flags munging here? yes! at least... + filter-flags '-fuse-ld=*' + filter-flags '-D_FORTIFY_SOURCE=*' + + else + + # this is the "normal" case + + export CC="$(tc-getCC ${CTARGET})" + export CXX="$(tc-getCXX ${CTARGET})" + + # Always use tuple-prefixed toolchain. For non-native ABI glibc's configure + # can't detect them automatically due to ${CHOST} mismatch and fallbacks + # to unprefixed tools. Similar to multilib.eclass:multilib_toolchain_setup(). + export NM="$(tc-getNM ${CTARGET})" + export READELF="$(tc-getREADELF ${CTARGET})" + + fi + # We need to export CFLAGS with abi information in them because glibc's # configure script checks CFLAGS for some targets (like mips). Keep # around the original clean value to avoid appending multiple ABIs on - # top of each other. - : ${__GLIBC_CC:=$(tc-getCC ${CTARGET})} - export __GLIBC_CC CC="${__GLIBC_CC} ${!VAR}" - einfo " $(printf '%15s' 'Manual CC:') ${CC}" + # top of each other. (Why does the comment talk about CFLAGS if the code + # acts on CC?) + export __GLIBC_CC=${CC} + export __GLIBC_CXX=${CXX} + + export __abi_CFLAGS="$(get_abi_CFLAGS)" + + # CFLAGS can contain ABI-specific flags like -mfpu=neon, see bug #657760 + # To build .S (assembly) files with the same ABI-specific flags + # upstream currently recommends adding CFLAGS to CC/CXX: + # https://sourceware.org/PR23273 + # Note: Passing CFLAGS via CPPFLAGS overrides glibc's arch-specific CFLAGS + # and breaks multiarch support. See 659030#c3 for an example. + # The glibc configure script doesn't properly use LDFLAGS all the time. + export CC="${__GLIBC_CC} ${__abi_CFLAGS} ${CFLAGS} ${LDFLAGS}" + + # Some of the tests are written in C++, so we need to force our multlib abis in, bug 623548 + export CXX="${__GLIBC_CXX} ${__abi_CFLAGS} ${CFLAGS}" + + if is_crosscompile; then + # Assume worst-case bootstrap: glibc is buil first time + # when ${CTARGET}-g++ is not available yet. We avoid + # building auxiliary programs that require C++: bug #683074 + # It should not affect final result. + export libc_cv_cxx_link_ok=no + # The line above has the same effect. We set CXX explicitly + # to make build logs less confusing. + export CXX= + fi } foreach_abi() { @@ -663,7 +733,7 @@ sanity_prechecks() { ebegin "Checking that IA32 emulation is enabled in the running kernel" echo 'int main(){return 0;}' > "${T}/check-ia32-emulation.c" local STAT - if "${CC-${CHOST}-gcc}" ${CFLAGS_x86} "${T}/check-ia32-emulation.c" -o "${T}/check-ia32-emulation.elf32"; then + if ${CC-${CHOST}-gcc} ${CFLAGS_x86} "${T}/check-ia32-emulation.c" -o "${T}/check-ia32-emulation.elf32"; then "${T}/check-ia32-emulation.elf32" STAT=$? else @@ -681,12 +751,12 @@ sanity_prechecks() { # When we actually have to compile something... if ! just_headers && [[ ${MERGE_TYPE} != "binary" ]] ; then - ebegin "Checking gcc for __thread support" - if ! eend $(want__thread ; echo $?) ; then - echo - eerror "Could not find a gcc that supports the __thread directive!" - eerror "Please update your binutils/gcc and try again." - die "No __thread support in gcc!" + if [[ -d "${ESYSROOT}"/usr/lib/include ]] ; then + # bug #833620, bug #643302 + eerror "Found ${ESYSROOT}/usr/lib/include directory!" + eerror "This is known to break glibc's build." + eerror "Please backup its contents then remove the directory." + die "Found directory (${ESYSROOT}/usr/lib/include) which will break build (bug #833620)!" fi if [[ ${CTARGET} == *-linux* ]] ; then @@ -716,6 +786,21 @@ sanity_prechecks() { fi } +upgrade_warning() { + if [[ ${MERGE_TYPE} != buildonly && -n ${REPLACING_VERSIONS} && -z ${ROOT} ]]; then + local oldv newv=$(ver_cut 1-2 ${PV}) + for oldv in ${REPLACING_VERSIONS}; do + if ver_test ${oldv} -lt ${newv}; then + ewarn "After upgrading glibc, please restart all running processes." + ewarn "Be sure to include init (telinit u) or systemd (systemctl daemon-reexec)." + ewarn "Alternatively, reboot your system." + ewarn "(See bug #660556, bug #741116, bug #823756, etc)" + break + fi + done + fi +} + # # the phases # @@ -723,9 +808,7 @@ sanity_prechecks() { # pkg_pretend pkg_pretend() { - # All the checks... - einfo "Checking general environment sanity." - sanity_prechecks + upgrade_warning } pkg_setup() { @@ -736,13 +819,13 @@ pkg_setup() { # src_unpack src_unpack() { - # Consistency is not guaranteed between pkg_ and src_ ... + setup_env + + einfo "Checking general environment sanity." sanity_prechecks use multilib-bootstrap && unpack gcc-multilib-bootstrap-${GCC_BOOTSTRAP_VER}.tar.xz - setup_env - if [[ ${PV} == 9999* ]] ; then EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/toolchain/glibc-patches.git" EGIT_CHECKOUT_DIR=${WORKDIR}/patches-git @@ -777,6 +860,14 @@ src_prepare() { einfo "Done." fi + if use clone3 ; then + append-cppflags -DGENTOO_USE_CLONE3 + else + # See e.g. bug #827386, bug #819045. + elog "Disabling the clone3 syscall for compatibility with older Electron apps." + elog "Please re-enable this flag before filing bugs!" + fi + default gnuconfig_update @@ -797,78 +888,18 @@ src_prepare() { } glibc_do_configure() { - # Glibc does not work with gold (for various reasons) #269274. - tc-ld-disable-gold - - # CXX isnt handled by the multilib system, so if we dont unset here - # we accumulate crap across abis - unset CXX - - einfo "Configuring glibc for nptl" - - if use doc ; then - export MAKEINFO=makeinfo - else - export MAKEINFO=/dev/null - fi local v - for v in ABI CBUILD CHOST CTARGET CBUILD_OPT CTARGET_OPT CC CXX LD {AS,C,CPP,CXX,LD}FLAGS MAKEINFO NM READELF; do + for v in ABI CBUILD CHOST CTARGET CBUILD_OPT CTARGET_OPT CC CXX LD {AS,C,CPP,CXX,LD}FLAGS MAKEINFO NM AR AS STRIP RANLIB OBJCOPY STRINGS OBJDUMP READELF; do einfo " $(printf '%15s' ${v}:) ${!v}" done - # CFLAGS can contain ABI-specific flags like -mfpu=neon, see bug #657760 - # To build .S (assembly) files with the same ABI-specific flags - # upstream currently recommends adding CFLAGS to CC/CXX: - # https://sourceware.org/PR23273 - # Note: Passing CFLAGS via CPPFLAGS overrides glibc's arch-specific CFLAGS - # and breaks multiarch support. See 659030#c3 for an example. - # The glibc configure script doesn't properly use LDFLAGS all the time. - export CC="$(tc-getCC ${CTARGET}) ${CFLAGS} ${LDFLAGS}" - einfo " $(printf '%15s' 'Manual CC:') ${CC}" - - # Some of the tests are written in C++, so we need to force our multlib abis in, bug 623548 - export CXX="$(tc-getCXX ${CTARGET}) $(get_abi_CFLAGS) ${CFLAGS}" - - if is_crosscompile; then - # Assume worst-case bootstrap: glibc is buil first time - # when ${CTARGET}-g++ is not available yet. We avoid - # building auxiliary programs that require C++: bug #683074 - # It should not affect final result. - export libc_cv_cxx_link_ok=no - # The line above has the same effect. We set CXX explicitly - # to make build logs less confusing. - export CXX= - fi - einfo " $(printf '%15s' 'Manual CXX:') ${CXX}" - - # Always use tuple-prefixed toolchain. For non-native ABI glibc's configure - # can't detect them automatically due to ${CHOST} mismatch and fallbacks - # to unprefixed tools. Similar to multilib.eclass:multilib_toolchain_setup(). - export NM="$(tc-getNM ${CTARGET})" - export READELF="$(tc-getREADELF ${CTARGET})" - einfo " $(printf '%15s' 'Manual NM:') ${NM}" - einfo " $(printf '%15s' 'Manual READELF:') ${READELF}" - echo - local myconf=() - case ${CTARGET} in - m68k*) - # setjmp() is not compatible with stack protection: - # https://sourceware.org/PR24202 - myconf+=( --enable-stack-protector=no ) - ;; - *) - # Use '=strong' instead of '=all' to protect only functions - # worth protecting from stack smashes. - # '=all' is also known to have a problem in IFUNC resolution - # tests: https://sourceware.org/PR25680, bug #712356. - myconf+=( --enable-stack-protector=$(usex ssp strong no) ) - ;; - esac - myconf+=( --enable-stackguard-randomization ) + # Use '=strong' instead of '=all' to protect only functions + # worth protecting from stack smashes. + myconf+=( --enable-stack-protector=$(usex ssp strong no) ) # Keep a whitelist of targets supporing IFUNC. glibc's ./configure # is not robust enough to detect proper support: @@ -918,7 +949,6 @@ glibc_do_configure() { fi myconf+=( - --without-cvs --disable-werror --enable-bind-now --build=${CBUILD_OPT:-${CBUILD}} @@ -937,7 +967,6 @@ glibc_do_configure() { --with-pkgversion="$(glibc_banner)" $(use_enable crypt) $(use_multiarch || echo --disable-multi-arch) - $(use_enable static-pie) $(use_enable systemtap) $(use_enable nscd) @@ -1090,7 +1119,6 @@ glibc_headers_configure() { myconf+=( --disable-sanity-checks --enable-hacker-mode - --without-cvs --disable-werror --enable-bind-now --build=${CBUILD_OPT:-${CBUILD}} @@ -1190,13 +1218,13 @@ run_locale_gen() { root="$2" fi - local locale_list="${root}/etc/locale.gen" + local locale_list="${root%/}/etc/locale.gen" pushd "${ED}"/$(get_libdir) >/dev/null if [[ -z $(locale-gen --list --config "${locale_list}") ]] ; then [[ -z ${inplace} ]] && ewarn "Generating all locales; edit /etc/locale.gen to save time/space" - locale_list="${root}/usr/share/i18n/SUPPORTED" + locale_list="${root%/}/usr/share/i18n/SUPPORTED" fi set -- locale-gen ${inplace} --jobs $(makeopts_jobs) --config "${locale_list}" \ @@ -1461,6 +1489,12 @@ glibc_sanity_check() { # (e.g. /var/tmp/portage:${HOSTNAME}) pushd "${ED}"/$(get_libdir) >/dev/null + # first let's find the actual dynamic linker here + # symlinks may point to the wrong abi + local newldso=$(find . -maxdepth 1 -name 'ld*so.?' -type f -print -quit) + + einfo Last-minute run tests with ${newldso} in /$(get_libdir) ... + local x striptest for x in cal date env free ls true uname uptime ; do x=$(type -p ${x}) @@ -1473,7 +1507,7 @@ glibc_sanity_check() { # We need to clear the locale settings as the upgrade might want # incompatible locale data. This test is not for verifying that. LC_ALL=C \ - ./ld-*.so --library-path . ${x} > /dev/null \ + ${newldso} --library-path . ${x} > /dev/null \ || die "simple run test (${x}) failed" done @@ -1527,6 +1561,8 @@ pkg_postinst() { use compile-locales || run_locale_gen "${EROOT}/" fi + upgrade_warning + # Check for sanity of /etc/nsswitch.conf, take 2 if [[ -e ${EROOT}/etc/nsswitch.conf ]] && ! has_version sys-auth/libnss-nis ; then local entry @@ -1550,6 +1586,5 @@ pkg_postinst() { elog "${EROOT}/$(get_libdir)/libcrypt$(get_libname 1). We need to preserve this file for the moment to keep" elog "the upgrade working, but it also needs to be overwritten when" elog "sys-libs/libxcrypt is installed. See bug 802210 for more details." - elog "If you have FEATURES=collision-protect, please use FEATURES=unmerge-orphans instead!" fi } diff --git a/sys-libs/glibc/glibc-9999.ebuild b/sys-libs/glibc/glibc-9999.ebuild index f9c41f6d8ccc..2483aefe5d6a 100644 --- a/sys-libs/glibc/glibc-9999.ebuild +++ b/sys-libs/glibc/glibc-9999.ebuild @@ -518,8 +518,8 @@ setup_env() { # Last, we need the settings of the *build* environment, not of the # target environment... - local current_binutils_path=$(env ROOT="${SYSROOT}" binutils-config -B) - local current_gcc_path=$(env ROOT="${SYSROOT}" gcc-config -B) + local current_binutils_path=$(env ROOT="${BROOT}" binutils-config -B) + local current_gcc_path=$(env ROOT="${BROOT}" gcc-config -B) einfo "Overriding clang configuration, since it won't work here" export CC="${current_gcc_path}/gcc" @@ -795,6 +795,7 @@ upgrade_warning() { ewarn "After upgrading glibc, please restart all running processes." ewarn "Be sure to include init (telinit u) or systemd (systemctl daemon-reexec)." ewarn "Alternatively, reboot your system." + ewarn "(See bug #660556, bug #741116, bug #823756, etc)" break fi done @@ -860,9 +861,6 @@ src_prepare() { einfo "Done." fi - # TODO: We can drop this once patch is gone from our patchset - append-cppflags -DGENTOO_USE_CLONE3 - default gnuconfig_update |