From 2f8db31405fac68eea6f7257d58529243815033b Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Mon, 30 Apr 2018 21:33:31 +0100 Subject: gentoo resync : 30.04.2018 --- sys-libs/Manifest.gz | Bin 15764 -> 15762 bytes sys-libs/binutils-libs/Manifest | 2 + .../binutils-libs/binutils-libs-2.30-r2.ebuild | 107 ++++++ sys-libs/fortify-headers/Manifest | 6 +- .../fortify-headers/fortify-headers-0.6.ebuild | 1 + .../fortify-headers/fortify-headers-0.7.ebuild | 1 + .../fortify-headers/fortify-headers-9999.ebuild | 1 + sys-libs/glibc/Manifest | 2 - sys-libs/glibc/glibc-2.25-r10.ebuild | 153 -------- sys-libs/ldb/Manifest | 2 +- sys-libs/ldb/ldb-1.1.29-r1.ebuild | 4 +- sys-libs/libosinfo/Manifest | 2 - sys-libs/libosinfo/libosinfo-1.0.0-r1.ebuild | 57 --- sys-libs/talloc/Manifest | 2 +- sys-libs/talloc/talloc-2.1.9.ebuild | 4 +- sys-libs/tdb/Manifest | 2 +- sys-libs/tdb/tdb-1.3.13.ebuild | 4 +- sys-libs/tevent/Manifest | 2 +- sys-libs/tevent/tevent-0.9.31-r1.ebuild | 4 +- sys-libs/uclibc-ng/Manifest | 7 +- .../files/uclibc-ng-1.0.30-fix-ld.so.cache.patch | 48 +++ sys-libs/uclibc-ng/uclibc-ng-1.0.28.ebuild | 401 -------------------- sys-libs/uclibc-ng/uclibc-ng-1.0.29.ebuild | 401 -------------------- sys-libs/uclibc-ng/uclibc-ng-1.0.30-r1.ebuild | 404 +++++++++++++++++++++ 24 files changed, 582 insertions(+), 1035 deletions(-) create mode 100644 sys-libs/binutils-libs/binutils-libs-2.30-r2.ebuild delete mode 100644 sys-libs/glibc/glibc-2.25-r10.ebuild delete mode 100644 sys-libs/libosinfo/libosinfo-1.0.0-r1.ebuild create mode 100644 sys-libs/uclibc-ng/files/uclibc-ng-1.0.30-fix-ld.so.cache.patch delete mode 100644 sys-libs/uclibc-ng/uclibc-ng-1.0.28.ebuild delete mode 100644 sys-libs/uclibc-ng/uclibc-ng-1.0.29.ebuild create mode 100644 sys-libs/uclibc-ng/uclibc-ng-1.0.30-r1.ebuild (limited to 'sys-libs') diff --git a/sys-libs/Manifest.gz b/sys-libs/Manifest.gz index d5a385d2dc4a..57aa1abbc2b6 100644 Binary files a/sys-libs/Manifest.gz and b/sys-libs/Manifest.gz differ diff --git a/sys-libs/binutils-libs/Manifest b/sys-libs/binutils-libs/Manifest index 7359601a5e7d..f9ece5058631 100644 --- a/sys-libs/binutils-libs/Manifest +++ b/sys-libs/binutils-libs/Manifest @@ -7,10 +7,12 @@ DIST binutils-2.28.1.tar.bz2 28120394 BLAKE2B 3a0ed2bcf0c859638546b7460d9e6f0a55 DIST binutils-2.29.1-patches-2.tar.xz 18528 BLAKE2B 514496d6c9609362782d66b6cecbe3fe617f96dfb86e174a80d0b9113cbd4fce9d760fa61660ba2cfafbe1e482e955391cb8d3ef78d2c166c82796416a7ee106 SHA512 b60a3af9cd6a681f32a59fc4a30602ee1290f75cc93c8ad38ab0de17a7f30538a751b801dbaf079e3d514b9671e34e91742c4c9c953a8c9794505b571b7e80f0 DIST binutils-2.29.1.tar.bz2 29123355 BLAKE2B 83de518a27bae0f13c57b1979493dd7f7cabae424cff5e8495d1f064da24b6ef9e1c19d1d1adad2dca7142372782023f66b4b4223170a49b96ba3834266fe878 SHA512 4063d34555526922376ccceb3f14b43e287442e82a8038cf50f4f51ad97d438c672c0e310ca4b856c9aff5aa9911073e256e8298a7a3f1844eeb60b90d955592 DIST binutils-2.30-patches-1.tar.xz 13884 BLAKE2B 86d160144e4ae3213838ccd07d008a96f210dbe8d894f2043420bd0003f8e0611564f77dadf60780da61278bbac41130922703fef69ba8ac451bcae5d9c65cf4 SHA512 cf38328bac920c1159e73727a9bb46bd462fa60650c90ee8a3d6221d447c678fdd79c6886efc52e35897d535dd717c1dc363bcb3f201aacd15ace078694456da +DIST binutils-2.30-patches-2.tar.xz 490272 BLAKE2B a28a5b5bb8faa33fec269f2c69d6ed0e4e7d5a9169861aa4b3c45511794e1e749c216862a8258c2029f1b40c511dcb2a0aeaecda57e75d52418f10d6f345718f SHA512 1686d5b58ee968f2000647acab2bee4c263d1c85fd43fed8c820fccfc0d7024a01211e7853cd5ce452fa90da500bc17309edf6dbc901c7fd6fc7b3e3d6f42581 DIST binutils-2.30.tar.xz 20286700 BLAKE2B 2dd5436a15a601011a1950e6082ec00082f5916fb82ce95ceab424fd8dc19f6daa7ac32a149f222ccdcc603354165cc206fde070eaa44fe2cc5e57486efc7868 SHA512 e747ea20d8d79fcd21b9d9f6695059caa7189d60f19256da398e34b789fea9a133c32b192e9693b5828d27683739b0198431bf8b3e39fb3b04884cf89d9aa839 EBUILD binutils-libs-2.25.1-r2.ebuild 2725 BLAKE2B a4fe58fe79272a65c7703b3be801bd8ef197119cbb06b964a107b80eb7c3f38a65e2bb5de69a12b1eb939e04334c7767898d9adf6b853f622dfbb843fc3b7039 SHA512 8c610d03d282e72507e055fac6a3edb9b0fea10dda1934099a7b9b6577d90ce808c803ffc3e6b7378071bfa6d3fd8e1d6919031448d0d12bf86bd37dcbe4e53e EBUILD binutils-libs-2.27.ebuild 2847 BLAKE2B 3d02dfccc46d3398646d338e01f096de36a74fdf6d224a8ae221120fe8105cc674ed09840b01d84994ff11c4f73c88b39737b3ff484d32dbfb1183f20eb3a1a4 SHA512 629aeca9ec392f957fbbe7f2a3d5564016d096b7cbe63ef9337351e599722bced4c3eb190d8dd0f091eb3ff816e839b03f7a7662f22f9e22b36ef3e8e5bb93ae EBUILD binutils-libs-2.28.1.ebuild 2872 BLAKE2B f0ef199dfc0025b06dbdab74f76f0a1775ca47030bd26cf2cf4ce4f6b7f3c5325d1629b3713aa40a1f85b9b0151555cf0a978c0390bef48846b3b1eb0c89b05d SHA512 b00d0080957824bf447035172b4941fecfd358f2cbbdeb82a578e11e0a8b4c712091344b904d8f74840164032d210834b30ed8a90ac3dddb47dc9632d66f8a9b EBUILD binutils-libs-2.29.1-r1.ebuild 2921 BLAKE2B f38060716462c9c51bc84b98348b82952b6bb47cd33136d7eaaca822ba6e40504fad2b0c778a4a02989ca9e20f812d928d718295376141dd02e519e541a605a3 SHA512 8fc849244e3cdb9b1a35e9bed1f2e57e8bba210e6ab9aa7408904b5a04cc532dfff52a9840e866df5985f6b1d05c96ce7549c7514389a8dae9a4d5d798d48c8e EBUILD binutils-libs-2.30-r1.ebuild 3211 BLAKE2B 904a3ea6dcb1f24da2e2bcb8b586d41a7b9040eb6be9271ab8818737d231ea3626b812e69eb2bb5e97bb186624c88af132742c81a5bed1483980d69f434c72e9 SHA512 60ceaef881e24019d7785cd36d10f5983f0d3043d44c85d8a113237478ac6559beac59e57b9aed3765f68c6b3d381969214112d2ee1602bff11d9c35f5df517c +EBUILD binutils-libs-2.30-r2.ebuild 3224 BLAKE2B 0ca2588e7ef328b4ba6cdf78e5ad9efa8def0239ce98a255b32a0895c8e5bea22f5b46adb32725157655d3c95594a83f765aaba5c36bebfc34bd808aaea091e9 SHA512 1ab2fb01bed8c2d8f9ddbd6bbf5a4489ac0e061efa99fc8f15bd39834a24593391f273e267e61ae039576063780b51a0b67a8898f84ed1eb5e4915dc59658cbf MISC metadata.xml 524 BLAKE2B 6f00793b2dc155b19d816b8acfd49e6bfc2ae35418ecc97fbbd3f9d0ed08b5f95a299b28fe6edad1a66f4d64abe99dc8a62a974fd70e28b535cd366239bf1cca SHA512 9db7c7a3082ee848ec4963831da06cced596d543e53660747fb56ac33998c219e1d7252892ffc32132d7db3c99ce9746fb6d9e85f866c3cba97552c31948342c diff --git a/sys-libs/binutils-libs/binutils-libs-2.30-r2.ebuild b/sys-libs/binutils-libs/binutils-libs-2.30-r2.ebuild new file mode 100644 index 000000000000..2434d85063c3 --- /dev/null +++ b/sys-libs/binutils-libs/binutils-libs-2.30-r2.ebuild @@ -0,0 +1,107 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +PATCH_VER=2 + +inherit eutils toolchain-funcs multilib-minimal + +MY_PN="binutils" +MY_P="${MY_PN}-${PV}" +PATCH_BINUTILS_VER=${PATCH_BINUTILS_VER:-${PV}} +PATCH_DEV=${PATCH_DEV:-dilfridge} + +DESCRIPTION="Core binutils libraries (libbfd, libopcodes, libiberty) for external packages" +HOMEPAGE="https://sourceware.org/binutils/" +SRC_URI="mirror://gnu/binutils/${MY_P}.tar.xz + mirror://gentoo/${MY_PN}-${PATCH_BINUTILS_VER}-patches-${PATCH_VER}.tar.xz" + +LICENSE="|| ( GPL-3 LGPL-3 )" +# The shared lib SONAMEs use the ${PV} in them. +SLOT="0/${PV}" +#KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +KEYWORDS="" +IUSE="64-bit-bfd multitarget nls static-libs" + +COMMON_DEPEND="sys-libs/zlib[${MULTILIB_USEDEP}]" +DEPEND="${COMMON_DEPEND} + >=sys-apps/texinfo-4.7 + nls? ( sys-devel/gettext )" +# Need a newer binutils-config that'll reset include/lib symlinks for us. +RDEPEND="${COMMON_DEPEND} + >=sys-devel/binutils-config-5 + nls? ( !=2.24) make this an explicit option. #497268 + --enable-install-libiberty + --disable-werror + --with-bugurl="https://bugs.gentoo.org/" + --with-pkgversion="$(pkgversion)" + $(use_enable static-libs static) + # The binutils eclass enables this flag for all bi-arch builds, + # but other tools often don't care about that support. Put it + # beyond a flag if people really want it, but otherwise leave + # it disabled as it can slow things down on 32bit arches. #438522 + $(use_enable 64-bit-bfd) + # This only disables building in the zlib subdir. + # For binutils itself, it'll use the system version. #591516 + --without-zlib + --with-system-zlib + # We only care about the libs, so disable programs. #528088 + --disable-{binutils,etc,ld,gas,gold,gprof} + # Disable modules that are in a combined binutils/gdb tree. #490566 + --disable-{gdb,libdecnumber,readline,sim} + # Strip out broken static link flags. + # https://gcc.gnu.org/PR56750 + --without-stage1-ldflags + ) + + # mips can't do hash-style=gnu ... + if [[ $(tc-arch) != mips ]] ; then + myconf+=( --enable-default-hash-style=gnu ) + fi + + use multitarget && myconf+=( --enable-targets=all --enable-64-bit-bfd ) + + use nls \ + && myconf+=( --without-included-gettext ) \ + || myconf+=( --disable-nls ) + + ECONF_SOURCE=${S} \ + econf "${myconf[@]}" +} + +multilib_src_install() { + default + # Provide libiberty.h directly. + dosym libiberty/libiberty.h /usr/include/libiberty.h +} + +multilib_src_install_all() { + use static-libs || find "${ED}"/usr -name '*.la' -delete +} diff --git a/sys-libs/fortify-headers/Manifest b/sys-libs/fortify-headers/Manifest index 8d682f95aeeb..e9786e75337b 100644 --- a/sys-libs/fortify-headers/Manifest +++ b/sys-libs/fortify-headers/Manifest @@ -1,6 +1,6 @@ DIST fortify-headers-0.6.tar.gz 5339 BLAKE2B 404a20de075551e11750f989e05d78f450b09fc879a7ff4b649773ebc012a93c42432cc7b60c70843a375d64f6aea3ec356cdfafc0133f8cc58dadfea9b982d3 SHA512 6106219332515e7c23354d916383cdac6efccba7eefa13b0c2c221d0fd03be7afb29b3a8622bd29b62ee0b602f9d1f273e1a08c07583bdcd12db9938ef4d7acc DIST fortify-headers-0.7.tar.gz 5524 BLAKE2B 76ec4ee5b50bc77db05bf45a4a5550f3a369e5a49e333cd095613acbc04794d074103f3110c353a3283757f12cec866c45ed7d71ef4509667cae49926ee6953a SHA512 9335d5042f973904cf131d4894c71d3d25c84e82427500064a4ed3f798abd8051c3b52375a17c807ca89227115fa5ba9922939f0e86059a9f04fee61f0b69e53 -EBUILD fortify-headers-0.6.ebuild 625 BLAKE2B 1e0d1ea9368dbdead0fd55c5b71d6775ab6d926dd97c42fdd8d98d008c8950b3a4d78af79e59a746328ce44e30d15d830ffef5ade90534528b36c9062b3805e6 SHA512 e09ef17f55de8f65149c4a027f82e043f928a3789c1fac7b8194e7e647d2347b763c2fa5eff27c2f90c2e14d46fae973df30d9c4bcb9fa748a37def66b4ab86a -EBUILD fortify-headers-0.7.ebuild 625 BLAKE2B 1e0d1ea9368dbdead0fd55c5b71d6775ab6d926dd97c42fdd8d98d008c8950b3a4d78af79e59a746328ce44e30d15d830ffef5ade90534528b36c9062b3805e6 SHA512 e09ef17f55de8f65149c4a027f82e043f928a3789c1fac7b8194e7e647d2347b763c2fa5eff27c2f90c2e14d46fae973df30d9c4bcb9fa748a37def66b4ab86a -EBUILD fortify-headers-9999.ebuild 625 BLAKE2B 1e0d1ea9368dbdead0fd55c5b71d6775ab6d926dd97c42fdd8d98d008c8950b3a4d78af79e59a746328ce44e30d15d830ffef5ade90534528b36c9062b3805e6 SHA512 e09ef17f55de8f65149c4a027f82e043f928a3789c1fac7b8194e7e647d2347b763c2fa5eff27c2f90c2e14d46fae973df30d9c4bcb9fa748a37def66b4ab86a +EBUILD fortify-headers-0.6.ebuild 638 BLAKE2B 12446ff4e6c6e3bd0f0ced80cd113279246a929a79ad3866b51ce5884f69ea798344dfd0809f3494a3d15c8785abade9ffbe59248b8188007dc33729cc2e6b49 SHA512 48584a51a37366577d6da17a5d1c61891e0ed75c1b65ef749fca5f4174eb81d5221589f454e0490856bac0132684eba9b4cb9e95684aa589faed9213768781b2 +EBUILD fortify-headers-0.7.ebuild 638 BLAKE2B 12446ff4e6c6e3bd0f0ced80cd113279246a929a79ad3866b51ce5884f69ea798344dfd0809f3494a3d15c8785abade9ffbe59248b8188007dc33729cc2e6b49 SHA512 48584a51a37366577d6da17a5d1c61891e0ed75c1b65ef749fca5f4174eb81d5221589f454e0490856bac0132684eba9b4cb9e95684aa589faed9213768781b2 +EBUILD fortify-headers-9999.ebuild 638 BLAKE2B 12446ff4e6c6e3bd0f0ced80cd113279246a929a79ad3866b51ce5884f69ea798344dfd0809f3494a3d15c8785abade9ffbe59248b8188007dc33729cc2e6b49 SHA512 48584a51a37366577d6da17a5d1c61891e0ed75c1b65ef749fca5f4174eb81d5221589f454e0490856bac0132684eba9b4cb9e95684aa589faed9213768781b2 MISC metadata.xml 252 BLAKE2B f6282e2a99df668246ea8570c72345463f06d282b6adc6d9de2a08ef0827cf4572332c580caa594aad5ba8e200870d8d25494549ee4413798025f0d885b61a68 SHA512 cbda7bf9832872764ae776ce16b2966c37a2ba3a1982d9817006fd6b82d7b17146434cde428bf114062a483e9053d2acdcdd004695e6ebf428d19cdc09937c65 diff --git a/sys-libs/fortify-headers/fortify-headers-0.6.ebuild b/sys-libs/fortify-headers/fortify-headers-0.6.ebuild index d6ce9396cf99..9f9374176ea0 100644 --- a/sys-libs/fortify-headers/fortify-headers-0.6.ebuild +++ b/sys-libs/fortify-headers/fortify-headers-0.6.ebuild @@ -24,4 +24,5 @@ RDEPEND="${DEPEND}" src_prepare() { sed -i -e 's|^PREFIX = /usr/local|PREFIX = /usr|g' Makefile export DESTDIR="${D}" + eapply_user } diff --git a/sys-libs/fortify-headers/fortify-headers-0.7.ebuild b/sys-libs/fortify-headers/fortify-headers-0.7.ebuild index d6ce9396cf99..9f9374176ea0 100644 --- a/sys-libs/fortify-headers/fortify-headers-0.7.ebuild +++ b/sys-libs/fortify-headers/fortify-headers-0.7.ebuild @@ -24,4 +24,5 @@ RDEPEND="${DEPEND}" src_prepare() { sed -i -e 's|^PREFIX = /usr/local|PREFIX = /usr|g' Makefile export DESTDIR="${D}" + eapply_user } diff --git a/sys-libs/fortify-headers/fortify-headers-9999.ebuild b/sys-libs/fortify-headers/fortify-headers-9999.ebuild index d6ce9396cf99..9f9374176ea0 100644 --- a/sys-libs/fortify-headers/fortify-headers-9999.ebuild +++ b/sys-libs/fortify-headers/fortify-headers-9999.ebuild @@ -24,4 +24,5 @@ RDEPEND="${DEPEND}" src_prepare() { sed -i -e 's|^PREFIX = /usr/local|PREFIX = /usr|g' Makefile export DESTDIR="${D}" + eapply_user } diff --git a/sys-libs/glibc/Manifest b/sys-libs/glibc/Manifest index 15eeed4e5f03..97f485e7cc2e 100644 --- a/sys-libs/glibc/Manifest +++ b/sys-libs/glibc/Manifest @@ -29,7 +29,6 @@ DIST glibc-2.23-patches-8.tar.bz2 304199 BLAKE2B 693e40090dbe43f0e9c1faa0bce75e4 DIST glibc-2.23.tar.xz 13455260 BLAKE2B 6658e9d2d07c5cd71be94ef399bfe4d18ef462e4154e2e02aa69c34198e881cc65ac8f89abcb37b3d01c56b10e2f47c036492c20e4991a54bd03e56db703fbd2 SHA512 b82953388cd028e174cb08f082557bbce0dad8b67b17d31b29f90102fd52a51e03d591448ecb64882a1c1d5303afffc7f6ede85cee4c784a9284fbc9b4ad26cf DIST glibc-2.24-patches-10.tar.bz2 73586 BLAKE2B f42cc78b907e7cb5c8ba1672c845cdc0959f4d29f89ff642bd2efa795d7ac69409b514338ac1f4235ce2fbc0c9c9bb2d152f55fd14c02997517dc048a306e1c1 SHA512 fc9191a85da53a2515bbaab228648936682e04267284049468e0c82284f618ab2907b9247baca701e16edc50640199ff6d8e2a6a93ccbd5a9d3b0eb73cc484ca DIST glibc-2.24.tar.xz 13554048 BLAKE2B 9f93ac00f68eb88e3a2272752624163fac25dd064170e336143aa697908fba2b27ed926582f978da99c6c2489c0ce34d3eb266b5d00be69d27b36126bc2c8efb SHA512 a4cb28a2c51a0cc029ed69da7cba11931a615ba897235590b4f7fad2eaabec9042f8250eaac2a5860997437a69ab13304f10a634000e52c0336b5593b7969adb -DIST glibc-2.25-patches-13.tar.bz2 71481 BLAKE2B bf5691afabf03b579b8d634da30a2a967ab62d5e470a23b0946ff3354aa974b3b65821aca2f33dd30dd864a82459f4750178bf6ae01a5117ccfde62efd8f594e SHA512 7c80e4aba9edf0310e1707b03a6945f657d71267a4d0d67c24b979c841544a6a623d7c2dbb0a0d55863e25831439d717d096ecf377f936b731baeb04f21704a7 DIST glibc-2.25-patches-15.tar.bz2 78320 BLAKE2B 70c62cc10db13e2844de4d8a18972e0f4d01ba52fbd40db57c11d7b1c2c0d571b894f01e762bb26632fd696a77c299ef0766e2f129d2eda896f58325a754a13c SHA512 7204218ea82b677e0f278c4752ddb90aa0c08ac2349d061de81ec91dac204b0f10fe223d7b1055b9e0c21dac97c835f913a90c0168a5000d3be00dd20027c185 DIST glibc-2.25.tar.xz 13873900 BLAKE2B 73ef792fff059f6ad154c9af2155ea15b7869ec1b93e557b6c58129bfb50f863c06f8b49425d75fd2df537dd9c4a68bad790cff770c50a6889732d66f507d349 SHA512 5b7a2418d5b8a1b6a907c6c7fb6477ee2a473151cb45e03d0d4cdd9a33497c90b1ee39e2e7e885e2b25743dcd3747336ef114b4a73eb001da1fd79f29e0f9a6e DIST glibc-2.26-patches-7.tar.bz2 413976 BLAKE2B 18263201cf33abf911eb7b802ed539b217391156f897a8db50f65a69627d8f8cceded78414168986ee98eba038364a6b2f3599b23f95e7b0ad2643481c399718 SHA512 0c812a343fcc68c10d92117cb2a0cf1c255470e81f0a7a04d6db2fe35445e410ef37f15162f145c2eb772b08ab55af246f5b52f5e57c2e91038181f6f027abc3 @@ -45,7 +44,6 @@ EBUILD glibc-2.21-r2.ebuild 4922 BLAKE2B 99bd1be39a3643f845c0daff4f7b19a0abb37de EBUILD glibc-2.22-r4.ebuild 4973 BLAKE2B 6f4f632413cacf34a2a011d8cc83d0a92deaa0980aa9b6fe0d11cf45850a7bec482b77c8a0aa00b66a2103d4ff03ca16b0b7d38cd089b8f010039faaaf26d76b SHA512 1a056e465dc38dc4956b4707ff9fc9da8df4046d95edeb3dd6ae36fc229545acefdd317c50961a153ec83f21cba3d645d1e45b526157f8209a932242c2b08c33 EBUILD glibc-2.23-r4.ebuild 4975 BLAKE2B 9a0d3a3689896fab9f71fa20a83be5f2563f023040563f85385f8d28d32d6eee7f144acbdf4a35d6c1a65d56289ae72813b1d7f561f514e391e95dd4e43a4902 SHA512 9662308abee890c1eeaa45a49c4238448c62400d8b8661fc7588cd78aa58cbe044a0c15f46a6e8d161a203f3645600385fc2200d4d6434c24e496781aa06b04a EBUILD glibc-2.24-r4.ebuild 5011 BLAKE2B 71050f0449074652d4fabc709326025b4de2e6642fdde87898acfde6f99cce95f4d7b9e1e7f9eedcdf6d2fd70ebf3c2860599ec36ccf68e0e633ec794f8ce0e8 SHA512 1cb3bcbd7d9d7f7c095bdff7c81d0acc3b4700c0b8a9d4fd0499cbf53abb55c67ca3bc3cce125916d238eb8cf6f6d69989af27defd6f194aaa5ac27cdda94eb9 -EBUILD glibc-2.25-r10.ebuild 4999 BLAKE2B 33a8c5bd53a0474bd6ac3e6f2e97d4d3e4af56f7a661a9ad3a847ce967ff04d928ac8cb41bc10cacebad034f88ea7fedd466b2f58a272d8821aba32f13fce53a SHA512 dd26a67fe9f19cf709a36f8499cf5de1377a74788793bc7d8148d8edea622863388176aa57765c97a4141875f1e57c3f30ddba4002d29d78bae86bf79ff9a6d6 EBUILD glibc-2.25-r11.ebuild 5001 BLAKE2B 30988b55a9f655033db8cb2ac3c6ae0183c8a240134bcf26b9b98503a2351bf30fb3742cf84c23b4c81d56797b0c83d138341d6335659046784208a6404776f8 SHA512 43118e02defd07a02b3a9bd8220ed0dcfb7fb0b2c4bcf3b6d510a78a978295814e44ae329fa4a41ef99a73c10d8fbf9a31f84a53a9196bc848af28f3a33720d3 EBUILD glibc-2.26-r6.ebuild 25614 BLAKE2B 32bd3f11186c7f5619a7c83358cd5e416bc9c4ff6f6355ab9f65d68e94fefad99557bc993033a711fbea3f402c898ddcd494ecbc3c10f5e0c8dacdfce632b8e0 SHA512 256bbd3e1a5c4aaee844e4da88a0851608ec75fe7d1d10486849be57d14a202e4d10904873cdae565ae9ac216607072f765d18967007a0d16ea5f2103a76b20c EBUILD glibc-2.27-r1.ebuild 41940 BLAKE2B 362f65f0916a3db9f3ba2ded07d5b8fda7d47ccc2ac3e501fb9623ea59f016d677cc62ab3e172d2254656889b253f9c89538d5f55e0e821af0c761c32c49e808 SHA512 84b0c542833fb34a77b77d01dc99e849fa163de4f241cce41fd6eefb3e6122babd6af190972f5d9a60aadd45d43d8687e64492961c1c1bd384f4a3d7f2b519ff diff --git a/sys-libs/glibc/glibc-2.25-r10.ebuild b/sys-libs/glibc/glibc-2.25-r10.ebuild deleted file mode 100644 index 0a26791252c9..000000000000 --- a/sys-libs/glibc/glibc-2.25-r10.ebuild +++ /dev/null @@ -1,153 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI="5" - -inherit toolchain-glibc - -DESCRIPTION="GNU libc6 (also called glibc2) C library" -HOMEPAGE="https://www.gnu.org/software/libc/libc.html" - -LICENSE="LGPL-2.1+ BSD HPND ISC inner-net rc PCRE" -KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86" -RESTRICT="strip" # strip ourself #46186 -EMULTILIB_PKG="true" - -# Configuration variables -RELEASE_VER="" -case ${PV} in -9999*) - EGIT_REPO_URIS="git://sourceware.org/git/glibc.git" - EGIT_SOURCEDIRS="${S}" - inherit git-2 - ;; -*) - RELEASE_VER=${PV} - ;; -esac -GCC_BOOTSTRAP_VER="4.7.3-r1" -# patches live at https://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo/src/patchsets/glibc/ -PATCH_VER="13" # Gentoo patchset -: ${NPTL_KERN_VER:="2.6.32"} # min kernel version nptl requires - -GLIBC_PATCH_EXCLUDE+=" 0005_all_sys-types.h-drop-sys-sysmacros.h-include.patch" - -IUSE="audit caps debug gd hardened multilib nscd +rpc selinux systemtap profile suid vanilla headers-only" - -# Here's how the cross-compile logic breaks down ... -# CTARGET - machine that will target the binaries -# CHOST - machine that will host the binaries -# CBUILD - machine that will build the binaries -# If CTARGET != CHOST, it means you want a libc for cross-compiling. -# If CHOST != CBUILD, it means you want to cross-compile the libc. -# CBUILD = CHOST = CTARGET - native build/install -# CBUILD != (CHOST = CTARGET) - cross-compile a native build -# (CBUILD = CHOST) != CTARGET - libc for cross-compiler -# CBUILD != CHOST != CTARGET - cross-compile a libc for a cross-compiler -# For install paths: -# CHOST = CTARGET - install into / -# CHOST != CTARGET - install into /usr/CTARGET/ - -export CBUILD=${CBUILD:-${CHOST}} -export CTARGET=${CTARGET:-${CHOST}} -if [[ ${CTARGET} == ${CHOST} ]] ; then - if [[ ${CATEGORY} == cross-* ]] ; then - export CTARGET=${CATEGORY#cross-} - fi -fi - -is_crosscompile() { - [[ ${CHOST} != ${CTARGET} ]] -} - -# Why SLOT 2.2 you ask yourself while sippin your tea ? -# Everyone knows 2.2 > 0, duh. -SLOT="2.2" - -# General: We need a new-enough binutils/gcc to match upstream baseline. -# arch: we need to make sure our binutils/gcc supports TLS. -COMMON_DEPEND=" - nscd? ( selinux? ( - audit? ( sys-process/audit ) - caps? ( sys-libs/libcap ) - ) ) - suid? ( caps? ( sys-libs/libcap ) ) - selinux? ( sys-libs/libselinux ) - systemtap? ( dev-util/systemtap ) -" -DEPEND="${COMMON_DEPEND} - >=app-misc/pax-utils-0.1.10 - ! + +diff --git a/utils/ldconfig.c b/utils/ldconfig.c +index 58939d689..e6b788118 100644 +--- a/utils/ldconfig.c ++++ b/utils/ldconfig.c +@@ -184,9 +184,10 @@ static char *readsoname(char *name, FILE *infile, int expected_type, + res = readsoname32(name, infile, expected_type, type); + else { + res = readsoname64(name, infile, expected_type, type); +- +- // For 64-bit glibc compatibility +- *type |= FLAG_X8664_LIB64; ++#if 0 ++ /* relies on multilib support which we dont have ... */ ++ *type |= LIB_ELF64; ++#endif + } + + return res; +@@ -757,7 +758,7 @@ void cache_print(void) + + for (fd = 0; fd < header->nlibs; fd++) { + printf("\t%s ", strs + libent[fd].sooffset); +- switch (libent[fd].flags & ~LIB_ELF64 & FLAG_TYPE_MASK) { ++ switch (libent[fd].flags & ~LIB_ELF64) { + case LIB_DLL: + printf("(libc4)"); + break; +@@ -770,7 +771,7 @@ void cache_print(void) + case LIB_ELF_LIBC5: + case LIB_ELF_LIBC6: + printf("(libc%d%s)", +- (libent[fd].flags & ~LIB_ELF64 & FLAG_TYPE_MASK) + 3, ++ (libent[fd].flags & ~LIB_ELF64) + 3, + libent[fd].flags & LIB_ELF64 ? "/64" : ""); + break; + default: diff --git a/sys-libs/uclibc-ng/uclibc-ng-1.0.28.ebuild b/sys-libs/uclibc-ng/uclibc-ng-1.0.28.ebuild deleted file mode 100644 index 3b31357d8044..000000000000 --- a/sys-libs/uclibc-ng/uclibc-ng-1.0.28.ebuild +++ /dev/null @@ -1,401 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI="6" - -inherit flag-o-matic multilib savedconfig toolchain-funcs versionator - -if [[ ${PV} == "9999" ]] ; then - EGIT_REPO_URI="git://uclibc-ng.org/git/uclibc-ng" - inherit git-r3 - MY_P=uclibc-ng-${PV} -else - MY_P=uClibc-ng-${PV} -fi - -DESCRIPTION="C library for developing embedded Linux systems" -HOMEPAGE="https://uclibc-ng.org/" -if [[ ${PV} != "9999" ]] ; then - PATCH_VER="" - SRC_URI="https://downloads.uclibc-ng.org/releases/${PV}/${MY_P}.tar.bz2" - KEYWORDS="-* ~amd64 ~arm ~mips ~ppc ~x86" -fi - -LICENSE="LGPL-2" -SLOT="0" -IUSE="debug hardened iconv ipv6 symlink-compat headers-only" -RESTRICT="strip" - -# 1) We can't upgrade from uclibc to uclibc-ng via a soft blocker since portage -# will delete the ld.so sym link prematurely and break the system. So we -# will hard block and give manual migration instructions. -# 2) Currently uclibc and uclibc-ng's iconv are in bad shape. We've been using -# the breakout library. The disadvantage here is that we have to sprinkle -# LDFAGS=-liconv on build systems that need to link against libiconv. -RDEPEND=" - !!sys-libs/uclibc - iconv? ( dev-libs/libiconv )" - -S=${WORKDIR}/${MY_P} - -export CBUILD=${CBUILD:-${CHOST}} -export CTARGET=${CTARGET:-${CHOST}} -if [[ ${CHOST} == ${CTARGET} ]] ; then - if [[ ${CATEGORY} == cross-* ]] ; then - export CTARGET=${CATEGORY#cross-} - fi -fi - -is_crosscompile() { - [[ ${CHOST} != ${CTARGET} ]] -} - -alt_build_kprefix() { - if [[ ${CBUILD} == ${CHOST} && ${CHOST} == ${CTARGET} ]] ; then - echo /usr/include - else - echo /usr/${CTARGET}/usr/include - fi -} - -just_headers() { - use headers-only && is_crosscompile -} - -uclibc_endian() { - # XXX: this wont work for a toolchain which is bi-endian, but we - # dont have any such thing at the moment, so not a big deal - touch "${T}"/endian.s - $(tc-getAS ${CTARGET}) "${T}"/endian.s -o "${T}"/endian.o - case $(file "${T}"/endian.o) in - *" MSB "*) echo "BIG";; - *" LSB "*) echo "LITTLE";; - *) echo "NFC";; - esac - rm -f "${T}"/endian.{s,o} -} - -kconfig_q_opt() { - local flag=$1; shift - case ${flag} in - y|n) ;; - *) flag=$(usex ${flag} y n) ;; - esac - - local var="defs_${flag}" - eval "${var}+=( $* )" -} - -get_opt() { - ( - unset ${1} - . ${2:-"${S}"/.config} - echo ${!1} - ) -} - -make_oldconfig() { - yes "" 2>/dev/null | emake -s oldconfig >/dev/null -} - -make_config() { - restore_config .config - if [ -f .config ]; then - make_oldconfig - return 0 - else - ewarn "Could not locate user configfile, so we will save a default one" - fi - - emake ARCH=$1 defconfig >/dev/null - - local defs_{y,n} - - # These are forced off - defs_n=( - DOASSERTS - DODEBUG_PT - HAS_NO_THREADS - PROPOLICE_BLOCK_ABRT - SSP_QUICK_CANARY - SUPPORT_LD_DEBUG_EARLY - UCLIBC_HAS_CTYPE_UNSAFE - UCLIBC_HAS_LOCALE - LDSO_SAFE_RUNPATH - ) - - # These are forced on - defs_y=( - DO_C99_MATH - DO_XSI_MATH - FORCE_SHAREABLE_TEXT_SEGMENTS - LDSO_GNU_HASH_SUPPORT - LDSO_PRELOAD_FILE_SUPPORT - LDSO_RUNPATH - LDSO_RUNPATH_OF_EXECUTABLE - LDSO_STANDALONE_SUPPORT - PROPOLICE_BLOCK_SEGV - PTHREADS_DEBUG_SUPPORT - UCLIBC_HAS_ARC4RANDOM - UCLIBC_HAS_BACKTRACE - UCLIBC_HAS_BSD_RES_CLOSE - UCLIBC_HAS_CONTEXT_FUNCS - UCLIBC_HAS_CTYPE_CHECKED - UCLIBC_HAS_EXTRA_COMPAT_RES_STATE - UCLIBC_HAS_FENV - UCLIBC_HAS_FOPEN_CLOSEEXEC_MODE - UCLIBC_HAS_FOPEN_EXCLUSIVE_MODE - UCLIBC_HAS_FOPEN_LARGEFILE_MODE - UCLIBC_HAS_FTS - UCLIBC_HAS_FTW - UCLIBC_HAS_GETPT - UCLIBC_HAS_GLIBC_CUSTOM_PRINTF - UCLIBC_HAS_GLIBC_CUSTOM_STREAMS - UCLIBC_HAS_GNU_GLOB - UCLIBC_HAS_HEXADECIMAL_FLOATS - UCLIBC_HAS_LIBUTIL - UCLIBC_HAS_NFTW - UCLIBC_HAS_OBSOLETE_BSD_SIGNAL - UCLIBC_HAS_PRINTF_M_SPEC - UCLIBC_HAS_PROGRAM_INVOCATION_NAME - UCLIBC_HAS_RESOLVER_SUPPORT - UCLIBC_HAS_SHA256_CRYPT_IMPL - UCLIBC_HAS_SHA512_CRYPT_IMPL - UCLIBC_HAS_SSP - UCLIBC_HAS_STUBS - UCLIBC_HAS_SYS_ERRLIST - UCLIBC_HAS_SYS_SIGLIST - UCLIBC_HAS_THREADS_NATIVE - UCLIBC_HAS_TZ_FILE_READ_MANY - UCLIBC_HAS_UTMP - UCLIBC_HAS_UTMPX - UCLIBC_HAS_WCHAR - UCLIBC_HAS_WORDEXP - UCLIBC_NTP_LEGACY - UCLIBC_SUPPORT_AI_ADDRCONFIG - UCLIBC_SUSV2_LEGACY - UCLIBC_SUSV3_LEGACY - UCLIBC_SUSV3_LEGACY_MACROS - UCLIBC_SUSV4_LEGACY - UCLIBC_USE_NETLINK - ) - - sed -i -e '/ARCH_.*_ENDIAN/d' .config - kconfig_q_opt y "ARCH_WANTS_$(uclibc_endian)_ENDIAN" - - kconfig_q_opt debug DODEBUG - kconfig_q_opt debug SUPPORT_LD_DEBUG - kconfig_q_opt debug UCLIBC_HAS_PROFILING - - kconfig_q_opt ipv6 UCLIBC_HAS_IPV6 - - kconfig_q_opt hardened UCLIBC_BUILD_NOEXECSTACK - kconfig_q_opt hardened UCLIBC_BUILD_NOW - kconfig_q_opt hardened UCLIBC_BUILD_PIE - kconfig_q_opt hardened UCLIBC_BUILD_RELRO - kconfig_q_opt hardened UCLIBC_BUILD_SSP - - local count def - for count in 1 2 ; do - # Run twice as some config opts depend on others being enabled first. - for def in ${defs_y[@]} ; do - sed -i -e "s|.*\<${def}\>.*set|${def}=y|g" .config - done - for def in ${defs_n[@]} ; do - sed -i -e "s|${def}=y|# ${def} is not set|g" .config - done - make_oldconfig - done - - einfo "Enabled options:" - for def in ${defs_y[@]} ; do - einfo " " $(grep "^${def}=y" .config || echo "could not find ${def}") - done - einfo "Disabled options:" - for def in ${defs_n[@]} ; do - einfo " " $(grep "^# ${def} is not set" .config || echo "could not find ${def}") - done - - # setup build and run paths - sed -i \ - -e "/^CROSS_COMPILER_PREFIX/s|=.*|=\"${CTARGET}-\"|" \ - -e "/^KERNEL_HEADERS/s|=.*|=\"$(alt_build_kprefix)\"|" \ - -e "/^SHARED_LIB_LOADER_PREFIX/s|=.*|=\"/$(get_libdir)\"|" \ - -e "/^DEVEL_PREFIX/s|=.*|=\"/usr\"|" \ - -e "/^RUNTIME_PREFIX/s|=.*|=\"/\"|" \ - -e "/^UCLIBC_EXTRA_CFLAGS/s|=.*|=\"${UCLIBC_EXTRA_CFLAGS}\"|" \ - .config || die - - make_oldconfig -} - -pkg_setup() { - # Make sure our CHOST is a uclibc toolchain for native compiling - if [[ ${CHOST} == ${CTARGET} ]]; then - case ${CHOST} in - *-uclinux*|*-uclibc*) ;; - *) die "Use sys-devel/crossdev to build a uclibc toolchain" ;; - esac - fi - - # uClibc-ng doesn't carry old Linux threads, and since we force - # threading our only choice is NPTL which requires i486 and later. - [[ ${CTARGET} == i386* ]] && die "i386 can't support Native Posix Threads (NPTL)." -} - -src_prepare() { - local version subversion extraversion - - # uclibc-ng tries to create a two sym link with ld.so, - # ld-uClibc.so.{0,MAJOR_VERSION} -> ld-uClibc-.so - # where MAJOR_VERSION != 0 indicates the ABI verison. - # We want to get rid of this and just have ABI = 0. - eapply "${FILESDIR}"/uclibc-compat-r1.patch - - # We need to change the major.minor.sublevel of uclibc-ng. - # Upstream sets MAJOR_VERSION = 1 which breaks runtime linking. - # If we really want the ABI bump, we'll have to hack the gcc - # spec file and change the '*link:' rule. - version=( $(get_version_components) ) - if [[ -z ${version[1]} ]]; then - subversion=0 - extraversion=0 - else - subversion=${version[1]} - if [[ -z ${version[2]} ]]; then - extraversion=0 - else - extraversion=.${version[2]} - fi - fi - - sed -i \ - -e "/^MAJOR_VERSION/s|:=.*|:= 0|" \ - -e "/^MINOR_VERSION/s|:=.*|:= ${version[0]}|" \ - -e "/^SUBLEVEL/s|:=.*|:= ${subversion}|" \ - -e "/^EXTRAVERSION/s|:=.*|:= ${extraversion}|" \ - Rules.mak || die - - eapply_user -} - -src_configure() { - # Map our toolchain arch name to the name expected by uClibc-ng. - local target=$(tc-arch) - case ${target} in - amd64) target="x86_64";; - arm) target="arm";; - mips) target="mips";; - ppc) target="powerpc";; - x86) target="i386";; - esac - - # Do arch specific configuration by changing the defaults in - # extra/Configs/Config.. If these are not overridden - # by an save .config, they will be selected by default. - - # For i386, i486, i586 and i686 - local cpu - if [[ ${target} == "i386" ]]; then - [[ ${CTARGET} == i[456]86* ]] && cpu="${CTARGET:1:1}86" - sed -i -e "s|default CONFIG_686|default CONFIG_${cpu:-486}|" \ - extra/Configs/Config.i386 || die - fi - - # For arm - if [[ ${target} == "arm" ]]; then - sed -i -e '/Build for EABI/a \\tdefault y' extra/Configs/Config.arm - fi - - # We set HOSTCC to the proper tuple rather than just 'gcc' - sed -i -e "s|^HOSTCC.*=.*|HOSTCC=$(tc-getBUILD_CC)|" Rules.mak - - make_config ${target} - - einfo - einfo "Runtime Prefix: /" - einfo "Devel Prefix: /usr" - einfo "Kernel Prefix: $(alt_build_kprefix)" - einfo "CBUILD: ${CBUILD}" - einfo "CHOST: ${CHOST}" - einfo "CTARGET: ${CTARGET}" - einfo "ABI: ${ABI}" - einfo "ENDIAN: $(uclibc_endian)" - einfo -} - -src_compile() { - emake headers - just_headers && return 0 - - emake - if is_crosscompile ; then - emake -C utils hostutils - else - emake utils - fi -} - -src_test() { - is_crosscompile && return 0 - - # assert test fails on pax/grsec enabled kernels - # normal vfork test fails in sandbox (both glibc/uclibc) - emake UCLIBC_ONLY=1 check -} - -src_install() { - local sysroot=${D} - is_crosscompile && sysroot+="/usr/${CTARGET}" - - local target="install" - just_headers && target="install_headers" - emake DESTDIR="${sysroot}" ${target} - - save_config .config - - # remove files coming from kernel-headers - rm -rf "${sysroot}"/usr/include/{linux,asm*} - - # Make sure we install the sys-include symlink so that when - # we build a 2nd stage cross-compiler, gcc finds the target - # system headers correctly. See gcc/doc/gccinstall.info - if is_crosscompile ; then - dosym usr/include /usr/${CTARGET}/sys-include - if ! just_headers && [[ -n $(get_opt HAVE_SHARED) ]] ; then - newbin utils/ldconfig.host ${CTARGET}-ldconfig - newbin utils/ldd.host ${CTARGET}-ldd - fi - return 0 - fi - - if use symlink-compat; then - dosym libc.so.0 "${DESTDIR}"/lib/libcrypt.so.0 - dosym libc.so.0 "${DESTDIR}"/lib/libdl.so.0 - dosym libc.so.0 "${DESTDIR}"/lib/libm.so.0 - dosym libc.so.0 "${DESTDIR}"/lib/libpthread.so.0 - dosym libc.so.0 "${DESTDIR}"/lib/librt.so.0 - dosym libc.so.0 "${DESTDIR}"/lib/libresolv.so.0 - dosym libc.so.0 "${DESTDIR}"/lib/libubacktrace.so.0 - dosym libc.so.0 "${DESTDIR}"/lib/libutil.so.0 - fi - - emake DESTDIR="${D}" install_utils - dobin extra/scripts/getent - dodoc README docs/*.txt -} - -pkg_postinst() { - is_crosscompile && return 0 - - if [ ! -e "${ROOT}"/etc/TZ ] ; then - ewarn "Please remember to set your timezone in /etc/TZ" - mkdir -p "${ROOT}"/etc - echo "UTC" > "${ROOT}"/etc/TZ - fi - [ "${ROOT}" != "/" ] && return 0 - # update cache before reloading init - ldconfig - # reload init ... - /sbin/telinit U 2>/dev/null -} diff --git a/sys-libs/uclibc-ng/uclibc-ng-1.0.29.ebuild b/sys-libs/uclibc-ng/uclibc-ng-1.0.29.ebuild deleted file mode 100644 index 3b31357d8044..000000000000 --- a/sys-libs/uclibc-ng/uclibc-ng-1.0.29.ebuild +++ /dev/null @@ -1,401 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI="6" - -inherit flag-o-matic multilib savedconfig toolchain-funcs versionator - -if [[ ${PV} == "9999" ]] ; then - EGIT_REPO_URI="git://uclibc-ng.org/git/uclibc-ng" - inherit git-r3 - MY_P=uclibc-ng-${PV} -else - MY_P=uClibc-ng-${PV} -fi - -DESCRIPTION="C library for developing embedded Linux systems" -HOMEPAGE="https://uclibc-ng.org/" -if [[ ${PV} != "9999" ]] ; then - PATCH_VER="" - SRC_URI="https://downloads.uclibc-ng.org/releases/${PV}/${MY_P}.tar.bz2" - KEYWORDS="-* ~amd64 ~arm ~mips ~ppc ~x86" -fi - -LICENSE="LGPL-2" -SLOT="0" -IUSE="debug hardened iconv ipv6 symlink-compat headers-only" -RESTRICT="strip" - -# 1) We can't upgrade from uclibc to uclibc-ng via a soft blocker since portage -# will delete the ld.so sym link prematurely and break the system. So we -# will hard block and give manual migration instructions. -# 2) Currently uclibc and uclibc-ng's iconv are in bad shape. We've been using -# the breakout library. The disadvantage here is that we have to sprinkle -# LDFAGS=-liconv on build systems that need to link against libiconv. -RDEPEND=" - !!sys-libs/uclibc - iconv? ( dev-libs/libiconv )" - -S=${WORKDIR}/${MY_P} - -export CBUILD=${CBUILD:-${CHOST}} -export CTARGET=${CTARGET:-${CHOST}} -if [[ ${CHOST} == ${CTARGET} ]] ; then - if [[ ${CATEGORY} == cross-* ]] ; then - export CTARGET=${CATEGORY#cross-} - fi -fi - -is_crosscompile() { - [[ ${CHOST} != ${CTARGET} ]] -} - -alt_build_kprefix() { - if [[ ${CBUILD} == ${CHOST} && ${CHOST} == ${CTARGET} ]] ; then - echo /usr/include - else - echo /usr/${CTARGET}/usr/include - fi -} - -just_headers() { - use headers-only && is_crosscompile -} - -uclibc_endian() { - # XXX: this wont work for a toolchain which is bi-endian, but we - # dont have any such thing at the moment, so not a big deal - touch "${T}"/endian.s - $(tc-getAS ${CTARGET}) "${T}"/endian.s -o "${T}"/endian.o - case $(file "${T}"/endian.o) in - *" MSB "*) echo "BIG";; - *" LSB "*) echo "LITTLE";; - *) echo "NFC";; - esac - rm -f "${T}"/endian.{s,o} -} - -kconfig_q_opt() { - local flag=$1; shift - case ${flag} in - y|n) ;; - *) flag=$(usex ${flag} y n) ;; - esac - - local var="defs_${flag}" - eval "${var}+=( $* )" -} - -get_opt() { - ( - unset ${1} - . ${2:-"${S}"/.config} - echo ${!1} - ) -} - -make_oldconfig() { - yes "" 2>/dev/null | emake -s oldconfig >/dev/null -} - -make_config() { - restore_config .config - if [ -f .config ]; then - make_oldconfig - return 0 - else - ewarn "Could not locate user configfile, so we will save a default one" - fi - - emake ARCH=$1 defconfig >/dev/null - - local defs_{y,n} - - # These are forced off - defs_n=( - DOASSERTS - DODEBUG_PT - HAS_NO_THREADS - PROPOLICE_BLOCK_ABRT - SSP_QUICK_CANARY - SUPPORT_LD_DEBUG_EARLY - UCLIBC_HAS_CTYPE_UNSAFE - UCLIBC_HAS_LOCALE - LDSO_SAFE_RUNPATH - ) - - # These are forced on - defs_y=( - DO_C99_MATH - DO_XSI_MATH - FORCE_SHAREABLE_TEXT_SEGMENTS - LDSO_GNU_HASH_SUPPORT - LDSO_PRELOAD_FILE_SUPPORT - LDSO_RUNPATH - LDSO_RUNPATH_OF_EXECUTABLE - LDSO_STANDALONE_SUPPORT - PROPOLICE_BLOCK_SEGV - PTHREADS_DEBUG_SUPPORT - UCLIBC_HAS_ARC4RANDOM - UCLIBC_HAS_BACKTRACE - UCLIBC_HAS_BSD_RES_CLOSE - UCLIBC_HAS_CONTEXT_FUNCS - UCLIBC_HAS_CTYPE_CHECKED - UCLIBC_HAS_EXTRA_COMPAT_RES_STATE - UCLIBC_HAS_FENV - UCLIBC_HAS_FOPEN_CLOSEEXEC_MODE - UCLIBC_HAS_FOPEN_EXCLUSIVE_MODE - UCLIBC_HAS_FOPEN_LARGEFILE_MODE - UCLIBC_HAS_FTS - UCLIBC_HAS_FTW - UCLIBC_HAS_GETPT - UCLIBC_HAS_GLIBC_CUSTOM_PRINTF - UCLIBC_HAS_GLIBC_CUSTOM_STREAMS - UCLIBC_HAS_GNU_GLOB - UCLIBC_HAS_HEXADECIMAL_FLOATS - UCLIBC_HAS_LIBUTIL - UCLIBC_HAS_NFTW - UCLIBC_HAS_OBSOLETE_BSD_SIGNAL - UCLIBC_HAS_PRINTF_M_SPEC - UCLIBC_HAS_PROGRAM_INVOCATION_NAME - UCLIBC_HAS_RESOLVER_SUPPORT - UCLIBC_HAS_SHA256_CRYPT_IMPL - UCLIBC_HAS_SHA512_CRYPT_IMPL - UCLIBC_HAS_SSP - UCLIBC_HAS_STUBS - UCLIBC_HAS_SYS_ERRLIST - UCLIBC_HAS_SYS_SIGLIST - UCLIBC_HAS_THREADS_NATIVE - UCLIBC_HAS_TZ_FILE_READ_MANY - UCLIBC_HAS_UTMP - UCLIBC_HAS_UTMPX - UCLIBC_HAS_WCHAR - UCLIBC_HAS_WORDEXP - UCLIBC_NTP_LEGACY - UCLIBC_SUPPORT_AI_ADDRCONFIG - UCLIBC_SUSV2_LEGACY - UCLIBC_SUSV3_LEGACY - UCLIBC_SUSV3_LEGACY_MACROS - UCLIBC_SUSV4_LEGACY - UCLIBC_USE_NETLINK - ) - - sed -i -e '/ARCH_.*_ENDIAN/d' .config - kconfig_q_opt y "ARCH_WANTS_$(uclibc_endian)_ENDIAN" - - kconfig_q_opt debug DODEBUG - kconfig_q_opt debug SUPPORT_LD_DEBUG - kconfig_q_opt debug UCLIBC_HAS_PROFILING - - kconfig_q_opt ipv6 UCLIBC_HAS_IPV6 - - kconfig_q_opt hardened UCLIBC_BUILD_NOEXECSTACK - kconfig_q_opt hardened UCLIBC_BUILD_NOW - kconfig_q_opt hardened UCLIBC_BUILD_PIE - kconfig_q_opt hardened UCLIBC_BUILD_RELRO - kconfig_q_opt hardened UCLIBC_BUILD_SSP - - local count def - for count in 1 2 ; do - # Run twice as some config opts depend on others being enabled first. - for def in ${defs_y[@]} ; do - sed -i -e "s|.*\<${def}\>.*set|${def}=y|g" .config - done - for def in ${defs_n[@]} ; do - sed -i -e "s|${def}=y|# ${def} is not set|g" .config - done - make_oldconfig - done - - einfo "Enabled options:" - for def in ${defs_y[@]} ; do - einfo " " $(grep "^${def}=y" .config || echo "could not find ${def}") - done - einfo "Disabled options:" - for def in ${defs_n[@]} ; do - einfo " " $(grep "^# ${def} is not set" .config || echo "could not find ${def}") - done - - # setup build and run paths - sed -i \ - -e "/^CROSS_COMPILER_PREFIX/s|=.*|=\"${CTARGET}-\"|" \ - -e "/^KERNEL_HEADERS/s|=.*|=\"$(alt_build_kprefix)\"|" \ - -e "/^SHARED_LIB_LOADER_PREFIX/s|=.*|=\"/$(get_libdir)\"|" \ - -e "/^DEVEL_PREFIX/s|=.*|=\"/usr\"|" \ - -e "/^RUNTIME_PREFIX/s|=.*|=\"/\"|" \ - -e "/^UCLIBC_EXTRA_CFLAGS/s|=.*|=\"${UCLIBC_EXTRA_CFLAGS}\"|" \ - .config || die - - make_oldconfig -} - -pkg_setup() { - # Make sure our CHOST is a uclibc toolchain for native compiling - if [[ ${CHOST} == ${CTARGET} ]]; then - case ${CHOST} in - *-uclinux*|*-uclibc*) ;; - *) die "Use sys-devel/crossdev to build a uclibc toolchain" ;; - esac - fi - - # uClibc-ng doesn't carry old Linux threads, and since we force - # threading our only choice is NPTL which requires i486 and later. - [[ ${CTARGET} == i386* ]] && die "i386 can't support Native Posix Threads (NPTL)." -} - -src_prepare() { - local version subversion extraversion - - # uclibc-ng tries to create a two sym link with ld.so, - # ld-uClibc.so.{0,MAJOR_VERSION} -> ld-uClibc-.so - # where MAJOR_VERSION != 0 indicates the ABI verison. - # We want to get rid of this and just have ABI = 0. - eapply "${FILESDIR}"/uclibc-compat-r1.patch - - # We need to change the major.minor.sublevel of uclibc-ng. - # Upstream sets MAJOR_VERSION = 1 which breaks runtime linking. - # If we really want the ABI bump, we'll have to hack the gcc - # spec file and change the '*link:' rule. - version=( $(get_version_components) ) - if [[ -z ${version[1]} ]]; then - subversion=0 - extraversion=0 - else - subversion=${version[1]} - if [[ -z ${version[2]} ]]; then - extraversion=0 - else - extraversion=.${version[2]} - fi - fi - - sed -i \ - -e "/^MAJOR_VERSION/s|:=.*|:= 0|" \ - -e "/^MINOR_VERSION/s|:=.*|:= ${version[0]}|" \ - -e "/^SUBLEVEL/s|:=.*|:= ${subversion}|" \ - -e "/^EXTRAVERSION/s|:=.*|:= ${extraversion}|" \ - Rules.mak || die - - eapply_user -} - -src_configure() { - # Map our toolchain arch name to the name expected by uClibc-ng. - local target=$(tc-arch) - case ${target} in - amd64) target="x86_64";; - arm) target="arm";; - mips) target="mips";; - ppc) target="powerpc";; - x86) target="i386";; - esac - - # Do arch specific configuration by changing the defaults in - # extra/Configs/Config.. If these are not overridden - # by an save .config, they will be selected by default. - - # For i386, i486, i586 and i686 - local cpu - if [[ ${target} == "i386" ]]; then - [[ ${CTARGET} == i[456]86* ]] && cpu="${CTARGET:1:1}86" - sed -i -e "s|default CONFIG_686|default CONFIG_${cpu:-486}|" \ - extra/Configs/Config.i386 || die - fi - - # For arm - if [[ ${target} == "arm" ]]; then - sed -i -e '/Build for EABI/a \\tdefault y' extra/Configs/Config.arm - fi - - # We set HOSTCC to the proper tuple rather than just 'gcc' - sed -i -e "s|^HOSTCC.*=.*|HOSTCC=$(tc-getBUILD_CC)|" Rules.mak - - make_config ${target} - - einfo - einfo "Runtime Prefix: /" - einfo "Devel Prefix: /usr" - einfo "Kernel Prefix: $(alt_build_kprefix)" - einfo "CBUILD: ${CBUILD}" - einfo "CHOST: ${CHOST}" - einfo "CTARGET: ${CTARGET}" - einfo "ABI: ${ABI}" - einfo "ENDIAN: $(uclibc_endian)" - einfo -} - -src_compile() { - emake headers - just_headers && return 0 - - emake - if is_crosscompile ; then - emake -C utils hostutils - else - emake utils - fi -} - -src_test() { - is_crosscompile && return 0 - - # assert test fails on pax/grsec enabled kernels - # normal vfork test fails in sandbox (both glibc/uclibc) - emake UCLIBC_ONLY=1 check -} - -src_install() { - local sysroot=${D} - is_crosscompile && sysroot+="/usr/${CTARGET}" - - local target="install" - just_headers && target="install_headers" - emake DESTDIR="${sysroot}" ${target} - - save_config .config - - # remove files coming from kernel-headers - rm -rf "${sysroot}"/usr/include/{linux,asm*} - - # Make sure we install the sys-include symlink so that when - # we build a 2nd stage cross-compiler, gcc finds the target - # system headers correctly. See gcc/doc/gccinstall.info - if is_crosscompile ; then - dosym usr/include /usr/${CTARGET}/sys-include - if ! just_headers && [[ -n $(get_opt HAVE_SHARED) ]] ; then - newbin utils/ldconfig.host ${CTARGET}-ldconfig - newbin utils/ldd.host ${CTARGET}-ldd - fi - return 0 - fi - - if use symlink-compat; then - dosym libc.so.0 "${DESTDIR}"/lib/libcrypt.so.0 - dosym libc.so.0 "${DESTDIR}"/lib/libdl.so.0 - dosym libc.so.0 "${DESTDIR}"/lib/libm.so.0 - dosym libc.so.0 "${DESTDIR}"/lib/libpthread.so.0 - dosym libc.so.0 "${DESTDIR}"/lib/librt.so.0 - dosym libc.so.0 "${DESTDIR}"/lib/libresolv.so.0 - dosym libc.so.0 "${DESTDIR}"/lib/libubacktrace.so.0 - dosym libc.so.0 "${DESTDIR}"/lib/libutil.so.0 - fi - - emake DESTDIR="${D}" install_utils - dobin extra/scripts/getent - dodoc README docs/*.txt -} - -pkg_postinst() { - is_crosscompile && return 0 - - if [ ! -e "${ROOT}"/etc/TZ ] ; then - ewarn "Please remember to set your timezone in /etc/TZ" - mkdir -p "${ROOT}"/etc - echo "UTC" > "${ROOT}"/etc/TZ - fi - [ "${ROOT}" != "/" ] && return 0 - # update cache before reloading init - ldconfig - # reload init ... - /sbin/telinit U 2>/dev/null -} diff --git a/sys-libs/uclibc-ng/uclibc-ng-1.0.30-r1.ebuild b/sys-libs/uclibc-ng/uclibc-ng-1.0.30-r1.ebuild new file mode 100644 index 000000000000..ca35a2cc5bc4 --- /dev/null +++ b/sys-libs/uclibc-ng/uclibc-ng-1.0.30-r1.ebuild @@ -0,0 +1,404 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI="6" + +inherit flag-o-matic multilib savedconfig toolchain-funcs versionator + +if [[ ${PV} == "9999" ]] ; then + EGIT_REPO_URI="git://uclibc-ng.org/git/uclibc-ng" + inherit git-r3 + MY_P=uclibc-ng-${PV} +else + MY_P=uClibc-ng-${PV} +fi + +DESCRIPTION="C library for developing embedded Linux systems" +HOMEPAGE="https://uclibc-ng.org/" +if [[ ${PV} != "9999" ]] ; then + PATCH_VER="" + SRC_URI="https://downloads.uclibc-ng.org/releases/${PV}/${MY_P}.tar.bz2" + KEYWORDS="-* ~amd64 ~arm ~mips ~ppc ~x86" +fi + +LICENSE="LGPL-2" +SLOT="0" +IUSE="debug hardened iconv ipv6 symlink-compat headers-only" +RESTRICT="strip" + +# 1) We can't upgrade from uclibc to uclibc-ng via a soft blocker since portage +# will delete the ld.so sym link prematurely and break the system. So we +# will hard block and give manual migration instructions. +# 2) Currently uclibc and uclibc-ng's iconv are in bad shape. We've been using +# the breakout library. The disadvantage here is that we have to sprinkle +# LDFAGS=-liconv on build systems that need to link against libiconv. +RDEPEND=" + !!sys-libs/uclibc + iconv? ( dev-libs/libiconv )" + +S=${WORKDIR}/${MY_P} + +export CBUILD=${CBUILD:-${CHOST}} +export CTARGET=${CTARGET:-${CHOST}} +if [[ ${CHOST} == ${CTARGET} ]] ; then + if [[ ${CATEGORY} == cross-* ]] ; then + export CTARGET=${CATEGORY#cross-} + fi +fi + +is_crosscompile() { + [[ ${CHOST} != ${CTARGET} ]] +} + +alt_build_kprefix() { + if [[ ${CBUILD} == ${CHOST} && ${CHOST} == ${CTARGET} ]] ; then + echo /usr/include + else + echo /usr/${CTARGET}/usr/include + fi +} + +just_headers() { + use headers-only && is_crosscompile +} + +uclibc_endian() { + # XXX: this wont work for a toolchain which is bi-endian, but we + # dont have any such thing at the moment, so not a big deal + touch "${T}"/endian.s + $(tc-getAS ${CTARGET}) "${T}"/endian.s -o "${T}"/endian.o + case $(file "${T}"/endian.o) in + *" MSB "*) echo "BIG";; + *" LSB "*) echo "LITTLE";; + *) echo "NFC";; + esac + rm -f "${T}"/endian.{s,o} +} + +kconfig_q_opt() { + local flag=$1; shift + case ${flag} in + y|n) ;; + *) flag=$(usex ${flag} y n) ;; + esac + + local var="defs_${flag}" + eval "${var}+=( $* )" +} + +get_opt() { + ( + unset ${1} + . ${2:-"${S}"/.config} + echo ${!1} + ) +} + +make_oldconfig() { + yes "" 2>/dev/null | emake -s oldconfig >/dev/null +} + +make_config() { + restore_config .config + if [ -f .config ]; then + make_oldconfig + return 0 + else + ewarn "Could not locate user configfile, so we will save a default one" + fi + + emake ARCH=$1 defconfig >/dev/null + + local defs_{y,n} + + # These are forced off + defs_n=( + DOASSERTS + DODEBUG_PT + HAS_NO_THREADS + PROPOLICE_BLOCK_ABRT + SSP_QUICK_CANARY + SUPPORT_LD_DEBUG_EARLY + UCLIBC_HAS_CTYPE_UNSAFE + UCLIBC_HAS_LOCALE + LDSO_SAFE_RUNPATH + ) + + # These are forced on + defs_y=( + DO_C99_MATH + DO_XSI_MATH + FORCE_SHAREABLE_TEXT_SEGMENTS + LDSO_GNU_HASH_SUPPORT + LDSO_PRELOAD_FILE_SUPPORT + LDSO_RUNPATH + LDSO_RUNPATH_OF_EXECUTABLE + LDSO_STANDALONE_SUPPORT + PROPOLICE_BLOCK_SEGV + PTHREADS_DEBUG_SUPPORT + UCLIBC_HAS_ARC4RANDOM + UCLIBC_HAS_BACKTRACE + UCLIBC_HAS_BSD_RES_CLOSE + UCLIBC_HAS_CONTEXT_FUNCS + UCLIBC_HAS_CTYPE_CHECKED + UCLIBC_HAS_EXTRA_COMPAT_RES_STATE + UCLIBC_HAS_FENV + UCLIBC_HAS_FOPEN_CLOSEEXEC_MODE + UCLIBC_HAS_FOPEN_EXCLUSIVE_MODE + UCLIBC_HAS_FOPEN_LARGEFILE_MODE + UCLIBC_HAS_FTS + UCLIBC_HAS_FTW + UCLIBC_HAS_GETPT + UCLIBC_HAS_GLIBC_CUSTOM_PRINTF + UCLIBC_HAS_GLIBC_CUSTOM_STREAMS + UCLIBC_HAS_GNU_GLOB + UCLIBC_HAS_HEXADECIMAL_FLOATS + UCLIBC_HAS_LIBUTIL + UCLIBC_HAS_NFTW + UCLIBC_HAS_OBSOLETE_BSD_SIGNAL + UCLIBC_HAS_PRINTF_M_SPEC + UCLIBC_HAS_PROGRAM_INVOCATION_NAME + UCLIBC_HAS_RESOLVER_SUPPORT + UCLIBC_HAS_SHA256_CRYPT_IMPL + UCLIBC_HAS_SHA512_CRYPT_IMPL + UCLIBC_HAS_SSP + UCLIBC_HAS_STUBS + UCLIBC_HAS_SYS_ERRLIST + UCLIBC_HAS_SYS_SIGLIST + UCLIBC_HAS_THREADS_NATIVE + UCLIBC_HAS_TZ_FILE_READ_MANY + UCLIBC_HAS_UTMP + UCLIBC_HAS_UTMPX + UCLIBC_HAS_WCHAR + UCLIBC_HAS_WORDEXP + UCLIBC_NTP_LEGACY + UCLIBC_SUPPORT_AI_ADDRCONFIG + UCLIBC_SUSV2_LEGACY + UCLIBC_SUSV3_LEGACY + UCLIBC_SUSV3_LEGACY_MACROS + UCLIBC_SUSV4_LEGACY + UCLIBC_USE_NETLINK + ) + + sed -i -e '/ARCH_.*_ENDIAN/d' .config + kconfig_q_opt y "ARCH_WANTS_$(uclibc_endian)_ENDIAN" + + kconfig_q_opt debug DODEBUG + kconfig_q_opt debug SUPPORT_LD_DEBUG + kconfig_q_opt debug UCLIBC_HAS_PROFILING + + kconfig_q_opt ipv6 UCLIBC_HAS_IPV6 + + kconfig_q_opt hardened UCLIBC_BUILD_NOEXECSTACK + kconfig_q_opt hardened UCLIBC_BUILD_NOW + kconfig_q_opt hardened UCLIBC_BUILD_PIE + kconfig_q_opt hardened UCLIBC_BUILD_RELRO + kconfig_q_opt hardened UCLIBC_BUILD_SSP + + local count def + for count in 1 2 ; do + # Run twice as some config opts depend on others being enabled first. + for def in ${defs_y[@]} ; do + sed -i -e "s|.*\<${def}\>.*set|${def}=y|g" .config + done + for def in ${defs_n[@]} ; do + sed -i -e "s|${def}=y|# ${def} is not set|g" .config + done + make_oldconfig + done + + einfo "Enabled options:" + for def in ${defs_y[@]} ; do + einfo " " $(grep "^${def}=y" .config || echo "could not find ${def}") + done + einfo "Disabled options:" + for def in ${defs_n[@]} ; do + einfo " " $(grep "^# ${def} is not set" .config || echo "could not find ${def}") + done + + # setup build and run paths + sed -i \ + -e "/^CROSS_COMPILER_PREFIX/s|=.*|=\"${CTARGET}-\"|" \ + -e "/^KERNEL_HEADERS/s|=.*|=\"$(alt_build_kprefix)\"|" \ + -e "/^SHARED_LIB_LOADER_PREFIX/s|=.*|=\"/$(get_libdir)\"|" \ + -e "/^DEVEL_PREFIX/s|=.*|=\"/usr\"|" \ + -e "/^RUNTIME_PREFIX/s|=.*|=\"/\"|" \ + -e "/^UCLIBC_EXTRA_CFLAGS/s|=.*|=\"${UCLIBC_EXTRA_CFLAGS}\"|" \ + .config || die + + make_oldconfig +} + +pkg_setup() { + # Make sure our CHOST is a uclibc toolchain for native compiling + if [[ ${CHOST} == ${CTARGET} ]]; then + case ${CHOST} in + *-uclinux*|*-uclibc*) ;; + *) die "Use sys-devel/crossdev to build a uclibc toolchain" ;; + esac + fi + + # uClibc-ng doesn't carry old Linux threads, and since we force + # threading our only choice is NPTL which requires i486 and later. + [[ ${CTARGET} == i386* ]] && die "i386 can't support Native Posix Threads (NPTL)." +} + +src_prepare() { + local version subversion extraversion + + # uclibc-ng tries to create a two sym link with ld.so, + # ld-uClibc.so.{0,MAJOR_VERSION} -> ld-uClibc-.so + # where MAJOR_VERSION != 0 indicates the ABI verison. + # We want to get rid of this and just have ABI = 0. + eapply "${FILESDIR}"/uclibc-compat-r1.patch + + # Critical fix for ld.so.cache + eapply "${FILESDIR}"/${P}-fix-ld.so.cache.patch + + # We need to change the major.minor.sublevel of uclibc-ng. + # Upstream sets MAJOR_VERSION = 1 which breaks runtime linking. + # If we really want the ABI bump, we'll have to hack the gcc + # spec file and change the '*link:' rule. + version=( $(get_version_components) ) + if [[ -z ${version[1]} ]]; then + subversion=0 + extraversion=0 + else + subversion=${version[1]} + if [[ -z ${version[2]} ]]; then + extraversion=0 + else + extraversion=.${version[2]} + fi + fi + + sed -i \ + -e "/^MAJOR_VERSION/s|:=.*|:= 0|" \ + -e "/^MINOR_VERSION/s|:=.*|:= ${version[0]}|" \ + -e "/^SUBLEVEL/s|:=.*|:= ${subversion}|" \ + -e "/^EXTRAVERSION/s|:=.*|:= ${extraversion}|" \ + Rules.mak || die + + eapply_user +} + +src_configure() { + # Map our toolchain arch name to the name expected by uClibc-ng. + local target=$(tc-arch) + case ${target} in + amd64) target="x86_64";; + arm) target="arm";; + mips) target="mips";; + ppc) target="powerpc";; + x86) target="i386";; + esac + + # Do arch specific configuration by changing the defaults in + # extra/Configs/Config.. If these are not overridden + # by an save .config, they will be selected by default. + + # For i386, i486, i586 and i686 + local cpu + if [[ ${target} == "i386" ]]; then + [[ ${CTARGET} == i[456]86* ]] && cpu="${CTARGET:1:1}86" + sed -i -e "s|default CONFIG_686|default CONFIG_${cpu:-486}|" \ + extra/Configs/Config.i386 || die + fi + + # For arm + if [[ ${target} == "arm" ]]; then + sed -i -e '/Build for EABI/a \\tdefault y' extra/Configs/Config.arm + fi + + # We set HOSTCC to the proper tuple rather than just 'gcc' + sed -i -e "s|^HOSTCC.*=.*|HOSTCC=$(tc-getBUILD_CC)|" Rules.mak + + make_config ${target} + + einfo + einfo "Runtime Prefix: /" + einfo "Devel Prefix: /usr" + einfo "Kernel Prefix: $(alt_build_kprefix)" + einfo "CBUILD: ${CBUILD}" + einfo "CHOST: ${CHOST}" + einfo "CTARGET: ${CTARGET}" + einfo "ABI: ${ABI}" + einfo "ENDIAN: $(uclibc_endian)" + einfo +} + +src_compile() { + emake headers + just_headers && return 0 + + emake + if is_crosscompile ; then + emake -C utils hostutils + else + emake utils + fi +} + +src_test() { + is_crosscompile && return 0 + + # assert test fails on pax/grsec enabled kernels + # normal vfork test fails in sandbox (both glibc/uclibc) + emake UCLIBC_ONLY=1 check +} + +src_install() { + local sysroot=${D} + is_crosscompile && sysroot+="/usr/${CTARGET}" + + local target="install" + just_headers && target="install_headers" + emake DESTDIR="${sysroot}" ${target} + + save_config .config + + # remove files coming from kernel-headers + rm -rf "${sysroot}"/usr/include/{linux,asm*} + + # Make sure we install the sys-include symlink so that when + # we build a 2nd stage cross-compiler, gcc finds the target + # system headers correctly. See gcc/doc/gccinstall.info + if is_crosscompile ; then + dosym usr/include /usr/${CTARGET}/sys-include + if ! just_headers && [[ -n $(get_opt HAVE_SHARED) ]] ; then + newbin utils/ldconfig.host ${CTARGET}-ldconfig + newbin utils/ldd.host ${CTARGET}-ldd + fi + return 0 + fi + + if use symlink-compat; then + dosym libc.so.0 "${DESTDIR}"/lib/libcrypt.so.0 + dosym libc.so.0 "${DESTDIR}"/lib/libdl.so.0 + dosym libc.so.0 "${DESTDIR}"/lib/libm.so.0 + dosym libc.so.0 "${DESTDIR}"/lib/libpthread.so.0 + dosym libc.so.0 "${DESTDIR}"/lib/librt.so.0 + dosym libc.so.0 "${DESTDIR}"/lib/libresolv.so.0 + dosym libc.so.0 "${DESTDIR}"/lib/libubacktrace.so.0 + dosym libc.so.0 "${DESTDIR}"/lib/libutil.so.0 + fi + + emake DESTDIR="${D}" install_utils + dobin extra/scripts/getent + dodoc README docs/*.txt +} + +pkg_postinst() { + is_crosscompile && return 0 + + if [ ! -e "${ROOT}"/etc/TZ ] ; then + ewarn "Please remember to set your timezone in /etc/TZ" + mkdir -p "${ROOT}"/etc + echo "UTC" > "${ROOT}"/etc/TZ + fi + [ "${ROOT}" != "/" ] && return 0 + # update cache before reloading init + ldconfig + # reload init ... + /sbin/telinit U 2>/dev/null +} -- cgit v1.2.3