diff options
Diffstat (limited to 'sys-libs')
-rw-r--r-- | sys-libs/Manifest.gz | bin | 13724 -> 13728 bytes | |||
-rw-r--r-- | sys-libs/db/Manifest | 2 | ||||
-rw-r--r-- | sys-libs/db/db-5.3.28-r11.ebuild | 2 | ||||
-rw-r--r-- | sys-libs/gwenhywfar/Manifest | 2 | ||||
-rw-r--r-- | sys-libs/gwenhywfar/gwenhywfar-5.10.1.ebuild | 80 | ||||
-rw-r--r-- | sys-libs/libnvme/Manifest | 2 | ||||
-rw-r--r-- | sys-libs/libnvme/libnvme-1.13.ebuild | 77 | ||||
-rw-r--r-- | sys-libs/musl/Manifest | 4 | ||||
-rw-r--r-- | sys-libs/musl/musl-1.2.5-r3.ebuild | 47 | ||||
-rw-r--r-- | sys-libs/musl/musl-9999.ebuild | 47 |
10 files changed, 177 insertions, 86 deletions
diff --git a/sys-libs/Manifest.gz b/sys-libs/Manifest.gz Binary files differindex ba3132c47b72..2c20a3543672 100644 --- a/sys-libs/Manifest.gz +++ b/sys-libs/Manifest.gz diff --git a/sys-libs/db/Manifest b/sys-libs/db/Manifest index 9bef295014ff..b7019daa3fd4 100644 --- a/sys-libs/db/Manifest +++ b/sys-libs/db/Manifest @@ -15,7 +15,7 @@ DIST db-6.0.35.tar.gz 36532251 BLAKE2B 22fbe557ccc13e4b936db8ca7d6ba11ce42e477bb EBUILD db-4.8.30-r8.ebuild 4535 BLAKE2B 4277f044232d6cbf4a16f4afef428d5eec22a69c66d6404ee516525eed2c667bd442c8da2b85723b05c95e3fbb9e131ef8e308f9c17c7a9d6eb29e457f57dde8 SHA512 2f93ab8e19bfc04f41f2156a0fe8854dace97e37a6158197cf13321abd6bf7dc54541d6cf35670c5d6766f5298e9eea9f489c12634557f26b449e545206d50da EBUILD db-4.8.30-r9.ebuild 4586 BLAKE2B 41bd24894d92c2bcdd42577146937044b99fca13a9990edf895d4bfd195d6da4cc2a12e6c761af20a70a19b068ae831e1095e05aa55d3ab87ef76b5e5b08df1f SHA512 c152f6a3711c98581ff95d504e8a5825869e54488add65e007426ae988335f74acaeb23743da2973c9539c4359138ed435d4e44ee4c7202a275b47cb421bd860 EBUILD db-5.3.28-r10.ebuild 6601 BLAKE2B 7ca34a67b7789a4fca3944e3ec1f866bdf9a7db99b5a024c4864c1a0691f46da2c943eec4837af68acaef5d8f437d47fc1e04d6a826ff1559f39479b140a7776 SHA512 8d240e84e0094daeb71dd2b8cf28f982d7c62f2146f8f3c69734ff11a134499c1610b9507ee7f7ad99ee16b45ef9f16a52ae82d8151966638ec2a7cce278d082 -EBUILD db-5.3.28-r11.ebuild 6609 BLAKE2B 1527ca5d4c50b7ae57ef38677d10dc638c2dd9d37e2ba146c1467ad429c48dd742b1464c5df3d1e7c5a43d33b315089477d0d5ac680f25f98f39407a0b0e9159 SHA512 51a3111b5ee51a966e4a9e3bd838ad903d9e83bae975c26c2cb669559c24339d0f67ebbe5bd3249ec6d543bbe6e95d3ba000a1695fd2c5288128ff289a51abab +EBUILD db-5.3.28-r11.ebuild 6602 BLAKE2B 24e38e0de592608f09838945611fef533579d6934bc8e17404c219cbf57cb96108a81676f462c380ea80f4e169c3c9f84b8d0758e027cfde7bebd02e95f9c960 SHA512 67631ff846c62189b0fdfcd4bf79a42bf5ada33f25dff19cd730f7da30d3d74a55f6998968132c882010f938b578f16ba839b8621e1fcd77578a051e1302b3e7 EBUILD db-5.3.28-r9.ebuild 6553 BLAKE2B 964e615f360fb6c9db177dc29676219889fa8cd17c7abe2664af9deacf49d22afc13f74f56545b9be1dce02a2787417a8f034f6c0c6d8f164d3b5aa023e2ea47 SHA512 e64ed5fee2928076a2c7dd6ca46cf7c99893b847962d4cecfd4c5dad8094ac65f089c26f94f1c1c61d769b65e6f53fdffa0f85b225c35cc7e06571e62f22e91f EBUILD db-6.0.35-r4.ebuild 6410 BLAKE2B 34f0921b7d349aaf22f712c190ad8ab3adf540a6c57b096d4a630b9d0d0d6ee58b7430f6f8bf1bdf7845b1305a1264471141146f02b9b1fe0bb1fe90fb4f655a SHA512 ff390fdd3512f652f981ddb220a7abcffd4d95aed8aeb83544eeb4f0f1154bcb7273d7c082f85362c7c414e732ec5b3c97fd5e20e34ab82d176c47c85af26ec3 EBUILD db-6.0.35-r5.ebuild 6462 BLAKE2B 678e1f93ed856acd2cdc2271ebea2db26672e922d1c01529a8ce11c5be9d9ba96104ed80507f29341be2be89ee52b65916c22901dff6ed8bbc92f709061015e9 SHA512 b9c463d1279be76c9bfef38b06b74f0560d1433e83ef11fd800b7c76ea6340462186ea97d5c45e1349f9d9f6ff0630e550fe1b80197c17e866ffa4b70f731978 diff --git a/sys-libs/db/db-5.3.28-r11.ebuild b/sys-libs/db/db-5.3.28-r11.ebuild index b0d28476b17b..8c22039074ee 100644 --- a/sys-libs/db/db-5.3.28-r11.ebuild +++ b/sys-libs/db/db-5.3.28-r11.ebuild @@ -29,7 +29,7 @@ done LICENSE="Sleepycat" SLOT="$(ver_cut 1-2)" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 hppa ~loong ~m68k ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ppc ppc64 ~riscv ~s390 sparc x86" IUSE="doc cxx tcl test" REQUIRED_USE="test? ( tcl )" diff --git a/sys-libs/gwenhywfar/Manifest b/sys-libs/gwenhywfar/Manifest index ddb4cd332cde..85037f9b83d5 100644 --- a/sys-libs/gwenhywfar/Manifest +++ b/sys-libs/gwenhywfar/Manifest @@ -1,5 +1,3 @@ -DIST gwenhywfar-5.10.1.tar.gz 2687042 BLAKE2B 78fb776a605761f309060affef4e84e526ba789039f48f1e68e107d5002c508e19c9c2c2c0b3a8aba39c6c32543816914b504a6212219cfeeb4f0f04b0354f45 SHA512 11781bec2dd1c4156b609574283179278b8070d604a792aeddf92c8f9b873b3ac09273a8558b9adba567af8d016ea10914d2a149f4b6813798b5800e34e29aa5 DIST gwenhywfar-5.12.0.tar.gz 2721790 BLAKE2B 99c875ff9de6908ebba92cda1fdca62a6c12d3c3994328b207e36003a0ce478abd6777a4a0a73669c9b85a28591429f14ca73a32695f7ee8d226a4aca69f9922 SHA512 0075eb626f0022ecd4ffdd59de7f0817d2def685e1d2cfbca9a32faa4b8d4d213bea631f24c5385da0b8c7743fd6d1887a46f08afa371195d911409ec7655791 -EBUILD gwenhywfar-5.10.1.ebuild 1710 BLAKE2B a70d7a946c1ec3461df64b570dfb1e6fc2a12d15fcd3c3c2384ee72b6f076de8825dc4b5eeebc33d424813089d960f8c4aa24bcdad0b0b437ca5044f9fd52595 SHA512 69add9a5bb8b8ec79afe93d2a2257845c669d74f78d88edcf74fd7f511bc1c825f427253fa99bccf888afe1ce341bf836ed028a1f6f80514bcf38d4e639a7485 EBUILD gwenhywfar-5.12.0.ebuild 1693 BLAKE2B f1c5b11a3294e0ffe3c00fab1ad0cd5648a2af42acc5e5b8e91f9229ed4b1c011b016559cbac41dc03756a346c5a391600326cbb8dc1d069932e109de00a7c98 SHA512 d5ca80c2d852e1c1cf0f08b90acc5d9cb8be2f9d7d205f65f8c85fb2d75013964c70659e857eac959ee257fdd59b6e185fa4395be3a4db1b313ebcca3c78bd54 MISC metadata.xml 168 BLAKE2B 2e0e000b4c3b6ca04c12903fdbe278415c05a822623c52e9aa95cbbf3d50bcb1246b7edbda7d2f6b559af8950c6374e6e0a69b76319964cfe686bf50b0604a57 SHA512 4dcf45d1809e8390a2d8155c8ebfe0dd610203e392aeab0ccd8a10f42cc8532a4925eff32b35e7a6c35598a4efd288229034ec0732299dbd8cfa0acff705fed3 diff --git a/sys-libs/gwenhywfar/gwenhywfar-5.10.1.ebuild b/sys-libs/gwenhywfar/gwenhywfar-5.10.1.ebuild deleted file mode 100644 index 8d4759d13614..000000000000 --- a/sys-libs/gwenhywfar/gwenhywfar-5.10.1.ebuild +++ /dev/null @@ -1,80 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit qmake-utils - -DESCRIPTION="Multi-platform helper library for other libraries" -HOMEPAGE="https://www.aquamaniac.de/sites/aqbanking/index.php" -SRC_URI="https://www.aquamaniac.de/rdm/attachments/download/465/${P}.tar.gz" - -LICENSE="LGPL-2.1" -SLOT="0/79" # correspond with libgwenhywfar.so version -KEYWORDS="amd64 ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc x86" -IUSE="debug doc gtk qt5 test" - -BDEPEND=" - sys-devel/gettext - virtual/pkgconfig - doc? ( app-text/doxygen ) -" -DEPEND=" - dev-libs/libgcrypt:0= - dev-libs/libgpg-error - dev-libs/libxml2:2 - dev-libs/openssl:0= - net-libs/gnutls:= - virtual/libiconv - virtual/libintl - virtual/opengl - gtk? ( x11-libs/gtk+:3 ) - qt5? ( - dev-qt/qtconcurrent:5 - dev-qt/qtcore:5 - dev-qt/qtdbus:5 - dev-qt/qtgui:5 - dev-qt/qtnetwork:5 - dev-qt/qtopengl:5 - dev-qt/qtprintsupport:5 - dev-qt/qtsql:5 - dev-qt/qtwidgets:5 - dev-qt/qtxml:5 - ) -" -RDEPEND=" - ${DEPEND} - gtk? ( !<app-office/gnucash-3.7[aqbanking] ) -" - -# broken upstream, reported but got no reply -RESTRICT+=" test" - -src_configure() { - local myeconfargs=( - --with-docpath="${EPREFIX}/usr/share/doc/${PF}/apidoc" - --with-libxml2-code=yes - $(use_enable debug) - $(use_enable doc full-doc) - ) - use qt5 && myeconfargs+=( - --with-qt5-moc="$(qt5_get_bindir)/moc" - --with-qt5-qmake="$(qt5_get_bindir)/qmake" - ) - - local guis=() - use gtk && guis+=( gtk3 ) - use qt5 && guis+=( qt5 ) - econf "${myeconfargs[@]}" "--with-guis=${guis[*]}" -} - -src_compile() { - emake - use doc && emake srcdoc -} - -src_install() { - default - use doc && emake DESTDIR="${D}" install-srcdoc - find "${D}" -name '*.la' -type f -delete || die -} diff --git a/sys-libs/libnvme/Manifest b/sys-libs/libnvme/Manifest index 2f162e410ebf..6ac4fca2b101 100644 --- a/sys-libs/libnvme/Manifest +++ b/sys-libs/libnvme/Manifest @@ -1,5 +1,7 @@ DIST libnvme-1.11.1.gh.tar.gz 740327 BLAKE2B eb9a731ce4886e7a76170d4be916e850548710dbbc135bbe94c5ff0c2f3da5e2cb162a6c8ea857d6b9b609ffafba34487cd3419fc4981e9e549419c2bb757568 SHA512 8720f2907a3d13af44fb3deec883cd6eb247d5861c4459b5fe0e67ff9ecfb565462a5faf39d43e08b5284f3e8ca8e72d41b333984beaa45d3287b1a258f3e59d DIST libnvme-1.12.gh.tar.gz 775030 BLAKE2B b6c9da012c39ec0b5ce671f498fd55b904ea9f0c34f8358eed166e08f9ef12c760707aa693a0123267cfb256812650f0afb5d017f4c8a940b61e18f9998d8b9e SHA512 6681f476c36d077d1481336ca66327cfed9b910e75309334a1eb1fa8ccfba7982d96c7b3ae5d587f306923247a716c5d70f4b71c26716e6be6020b470f9c1077 +DIST libnvme-1.13.gh.tar.gz 776674 BLAKE2B a0b9190a2350e28ccbe4bed69eb23140bf6863688c977a023333309cdcca8398d6c024197429454c003ebbc642d492f88737d27cea368345768cf181fad8ce8d SHA512 7c56cb4a531c77e7024126c3dde4ffe629944be93a3102b09bc7a16031bdd64dac5cb19834c586609c5e3c186f805532d739f960abc4ba22114f36c6bc710264 EBUILD libnvme-1.11.1.ebuild 1501 BLAKE2B f0367115bc0f88172f8dd2f42f9c08c6bb61b515405a3ac733180539c1accf53b819743ddf4ec927d56418c65c401c337d0d47719b71f6d27f6baf51ec5da461 SHA512 21365a349790ef17cd084ceb5511b4c73898ca9de93cdfe3556c6e6097e1bd85e6ef65156f12aac7dc3b7156d7c682a6df7dbea988325a1408a48117433226ca EBUILD libnvme-1.12.ebuild 1541 BLAKE2B 48615b4f95c03b08ee535e2de679b9cc27d46c5a761fc475c57bc00c5b036a745d99d94d9c792845239dbe0018fb23a005e067357ee81721e6dae633754ba1f8 SHA512 0d19cddfea6834e6c1bed3d4bc3e59c691c9f6533d30921c6f9ce033fca20d0e7838672bc4ffc2435f9c618876f6b9eabd69a1a66761c341354f50a6561f6b96 +EBUILD libnvme-1.13.ebuild 1541 BLAKE2B 48615b4f95c03b08ee535e2de679b9cc27d46c5a761fc475c57bc00c5b036a745d99d94d9c792845239dbe0018fb23a005e067357ee81721e6dae633754ba1f8 SHA512 0d19cddfea6834e6c1bed3d4bc3e59c691c9f6533d30921c6f9ce033fca20d0e7838672bc4ffc2435f9c618876f6b9eabd69a1a66761c341354f50a6561f6b96 MISC metadata.xml 660 BLAKE2B e8d6bd63951ece1610eebf067c8afa87b009cf415637e42fb2201f188a9a5e4e0bd86f278cf829fbcd3148eacb59a953307788722a0a5255cfd0d1e3344a31e2 SHA512 d29445e35c542f77b15477914987e5fc35ac0ca9dda5447e89340c92665d9defb89748f1d0af69141cd6618c449fcba2c1805844b79ac5bd53cdcfe8505c8886 diff --git a/sys-libs/libnvme/libnvme-1.13.ebuild b/sys-libs/libnvme/libnvme-1.13.ebuild new file mode 100644 index 000000000000..ca09ee761688 --- /dev/null +++ b/sys-libs/libnvme/libnvme-1.13.ebuild @@ -0,0 +1,77 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..13} python3_13t ) +inherit python-r1 meson + +DESCRIPTION="C Library for NVM Express on Linux" +HOMEPAGE="https://github.com/linux-nvme/libnvme" +SRC_URI="https://github.com/linux-nvme/libnvme/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz" + +LICENSE="LGPL-2.1+" +SLOT="0/1" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" +IUSE="dbus +json keyutils python ssl test uring" +RESTRICT="!test? ( test )" + +REQUIRED_USE=" + python? ( ${PYTHON_REQUIRED_USE} ) +" + +DEPEND=" + json? ( dev-libs/json-c:= ) + keyutils? ( sys-apps/keyutils:= ) + dbus? ( sys-apps/dbus:= ) + python? ( ${PYTHON_DEPS} ) + ssl? ( >=dev-libs/openssl-1.1:= ) + uring? ( sys-libs/liburing:= ) +" +RDEPEND=" + ${DEPEND} +" +BDEPEND=" + dev-lang/swig +" + +src_configure() { + local emesonargs=( + -Dpython=disabled + $(meson_use test tests) + $(meson_feature json json-c) + $(meson_feature dbus libdbus) + $(meson_feature keyutils) + $(meson_feature ssl openssl) + $(meson_feature uring liburing) + ) + meson_src_configure +} + +python_compile() { + local emesonargs=( + -Dpython=enabled + ) + meson_src_configure --reconfigure + meson_src_compile +} + +src_compile() { + meson_src_compile + + if use python; then + python_copy_sources + python_foreach_impl python_compile + fi +} + +python_install() { + meson_src_install + use python && python_optimize +} + +src_install() { + use python && python_foreach_impl python_install + + meson_src_install +} diff --git a/sys-libs/musl/Manifest b/sys-libs/musl/Manifest index b1110f61ce93..361b3a478be4 100644 --- a/sys-libs/musl/Manifest +++ b/sys-libs/musl/Manifest @@ -15,6 +15,6 @@ DIST musl-1.2.5.tar.gz.asc 490 BLAKE2B f0d91b20aa7729449bd02a60adf17e8287904ed59 DIST musl-getent-93a08815f8598db442d8b766b463d0150ed8e2ab.c 11656 BLAKE2B 1b7bf7102a1eb91a8cb881ed8ca65eb8eed911dd50238e97dc2952d89d4c6ebed6bfd046a2b38776c550b2872ab54ced8cb452fcc2ad56e5616f722debda761f SHA512 7f5b9d934d82deb5f8b23e16169a5d9b99ccab3a4708df06a95d685e1b24a3a3e69b3dcf4942f2f66c12a3d4bf0c5827e2ee2e8c4d7b1997359fccc2ac212dee EBUILD musl-1.2.3-r10.ebuild 6111 BLAKE2B 66d292f541e7abfd078d0da6ae93171fb1f5dffe268c8ac327b8b062977ef58cf1add13c0cda4a7b4ebd418eda0c7d9a02174cfc5aed5f3509c8e8eacd6413a6 SHA512 935163d61343ea86335b7f5ad23c5541ba9639b9850b4e5bae4352b487bfa34455946583c183ef317b7ef083798a3ae0fdca84cb375138d8f09de0945b8a07b5 EBUILD musl-1.2.4-r4.ebuild 5943 BLAKE2B d6fcc42fee43d5928d8dd7ea841744c14657b63d6f982b6876c778e4953b42d5a50482dd314589f3910fb68ec34a03560462cb62509b3372257e2ea308115080 SHA512 64468d66643d4bc569a6a962fdabc55529918d71a8e4565febfb5e77a78edffb900f555a71962800c43794208dd75ca3376ef0f7f7f65498a0140fd18f09d6b3 -EBUILD musl-1.2.5-r3.ebuild 5918 BLAKE2B 98d6999e70c9a3c2dba987686833cf177d66930b97efc12458f493b8af5c93fd03bb2a41380ceeedbd27125d59319ba87ea32cda7e3fb9be00b19d528b4a0f62 SHA512 c2bd8ee788a808da547cccfdbdb1476c320e30c5dbbea5bc6f0f4a65fdb0fdc4e9447fd7d0da2a8bfa38c079df5fd20ce7248be81ded5a6e4c9a71ab007d2f07 -EBUILD musl-9999.ebuild 5745 BLAKE2B 6aa474780470f516baaad52d2d6cd01a4bca6ba9f5278b734c571cf4f74024eeaa3fa4f991a354f8cc1fd159ab3cbc589fae1a24e036cede7f42e24a44dc7aa2 SHA512 80d9fa556ba779f1de8f0b3713ec10887e54f8062183278def72fc947f48ec46e31da790cba237d150bd058af238ade656b74470d1b5824bc2161fee47f4fe25 +EBUILD musl-1.2.5-r3.ebuild 7598 BLAKE2B 1cc9a02c8e9737844fec38b4f0aa5ef1a68706f0525a3be705ebb6058a01a0e0d4469fb3e77ab35343fc52f992705a20cb6c2dc46b5fbf7345971ae0ce30e0be SHA512 cc4b0c32d6c4a565b25f474be6289c47542ed8e589ca881926dfc0d5914c688dd6eb78b46b564b894a760981496afde95f124f63006099494ed7f126ad4f8330 +EBUILD musl-9999.ebuild 7425 BLAKE2B 488533ae625c3abfa1a68722e25df73ef27966e0405f07f2b88e93f45d9b4ac126c87d78217805e066dd8139c0827d73bf39e21e671f4a63908d9b831da2f6f1 SHA512 a134500e9bf510b08e56eea17672c066fa48504e633a6c444a0d57ebba8b9ed391d6022e73e315d2b0ba428ba610eba991b432b18ee853ad10e5cb96a8b17329 MISC metadata.xml 559 BLAKE2B 8b1093a5278f716b8e21467b325e373a790f54c8ab71b92adc4c87dd569a92b20e08009372065f0f27ced39e3361c9e5e5a2e1bff271753d280439fabbddd3a4 SHA512 a35c13ea32ac8f26984bdb0d70d28a4285f34e32a2b0b17ad98fe3f357fb46c87a1e853377630d4da58fd5953de3fdeb02ee89181394e1815f5e0bbba4cd9f92 diff --git a/sys-libs/musl/musl-1.2.5-r3.ebuild b/sys-libs/musl/musl-1.2.5-r3.ebuild index 559077077d00..90e86cef2f07 100644 --- a/sys-libs/musl/musl-1.2.5-r3.ebuild +++ b/sys-libs/musl/musl-1.2.5-r3.ebuild @@ -193,12 +193,59 @@ src_install() { fi } +# Simple test to make sure our new musl isn't completely broken. +# Make sure we don't test with statically built binaries since +# they will fail. Also, skip if this musl is a cross compiler. +# +# If coreutils is built with USE=multicall, some of these files +# will just be wrapper scripts, not actual ELFs we can test. +musl_sanity_check() { + cd / #228809 + + # We enter ${ED} so to avoid trouble if the path contains + # special characters; for instance if the path contains the + # colon character (:), then the linker will try to split it + # and look for the libraries in an unexpected place. This can + # lead to unsafe code execution if the generated prefix is + # within a world-writable directory. + # (e.g. /var/tmp/portage:${HOSTNAME}) + pushd "${ED}"/usr/$(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 'libc.so' -type f -print -quit) + + einfo Last-minute run tests with ${newldso} in /usr/$(get_libdir) ... + + local x striptest + for x in cal date env free ls true uname uptime ; do + x=$(type -p ${x}) + [[ -z ${x} || ${x} != ${EPREFIX}/* ]] && continue + striptest=$(LC_ALL="C" file -L ${x} 2>/dev/null) || continue + case ${striptest} in + *"statically linked"*) continue;; + *"ASCII text"*) continue;; + esac + # 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 \ + ${newldso} --library-path . ${x} > /dev/null \ + || die "simple run test (${x}) failed" + done + + popd >/dev/null +} + pkg_preinst() { # Nothing to do if just installing headers just_headers && return # Prepare /etc/ld.so.conf.d/ for files mkdir -p "${EROOT}"/etc/ld.so.conf.d + + [[ -n ${ROOT} ]] && return 0 + [[ -d ${ED}/$(get_libdir) ]] || return 0 + musl_sanity_check } pkg_postinst() { diff --git a/sys-libs/musl/musl-9999.ebuild b/sys-libs/musl/musl-9999.ebuild index 3839dbffc355..bd3a60ef270f 100644 --- a/sys-libs/musl/musl-9999.ebuild +++ b/sys-libs/musl/musl-9999.ebuild @@ -187,12 +187,59 @@ src_install() { fi } +# Simple test to make sure our new musl isn't completely broken. +# Make sure we don't test with statically built binaries since +# they will fail. Also, skip if this musl is a cross compiler. +# +# If coreutils is built with USE=multicall, some of these files +# will just be wrapper scripts, not actual ELFs we can test. +musl_sanity_check() { + cd / #228809 + + # We enter ${ED} so to avoid trouble if the path contains + # special characters; for instance if the path contains the + # colon character (:), then the linker will try to split it + # and look for the libraries in an unexpected place. This can + # lead to unsafe code execution if the generated prefix is + # within a world-writable directory. + # (e.g. /var/tmp/portage:${HOSTNAME}) + pushd "${ED}"/usr/$(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 'libc.so' -type f -print -quit) + + einfo Last-minute run tests with ${newldso} in /usr/$(get_libdir) ... + + local x striptest + for x in cal date env free ls true uname uptime ; do + x=$(type -p ${x}) + [[ -z ${x} || ${x} != ${EPREFIX}/* ]] && continue + striptest=$(LC_ALL="C" file -L ${x} 2>/dev/null) || continue + case ${striptest} in + *"statically linked"*) continue;; + *"ASCII text"*) continue;; + esac + # 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 \ + ${newldso} --library-path . ${x} > /dev/null \ + || die "simple run test (${x}) failed" + done + + popd >/dev/null +} + pkg_preinst() { # Nothing to do if just installing headers just_headers && return # Prepare /etc/ld.so.conf.d/ for files mkdir -p "${EROOT}"/etc/ld.so.conf.d + + [[ -n ${ROOT} ]] && return 0 + [[ -d ${ED}/$(get_libdir) ]] || return 0 + musl_sanity_check } pkg_postinst() { |