summaryrefslogtreecommitdiff
path: root/sys-libs
diff options
context:
space:
mode:
Diffstat (limited to 'sys-libs')
-rw-r--r--sys-libs/Manifest.gzbin13724 -> 13728 bytes
-rw-r--r--sys-libs/db/Manifest2
-rw-r--r--sys-libs/db/db-5.3.28-r11.ebuild2
-rw-r--r--sys-libs/gwenhywfar/Manifest2
-rw-r--r--sys-libs/gwenhywfar/gwenhywfar-5.10.1.ebuild80
-rw-r--r--sys-libs/libnvme/Manifest2
-rw-r--r--sys-libs/libnvme/libnvme-1.13.ebuild77
-rw-r--r--sys-libs/musl/Manifest4
-rw-r--r--sys-libs/musl/musl-1.2.5-r3.ebuild47
-rw-r--r--sys-libs/musl/musl-9999.ebuild47
10 files changed, 177 insertions, 86 deletions
diff --git a/sys-libs/Manifest.gz b/sys-libs/Manifest.gz
index ba3132c47b72..2c20a3543672 100644
--- a/sys-libs/Manifest.gz
+++ b/sys-libs/Manifest.gz
Binary files differ
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() {