diff options
author | Thomas Deutschmann <whissi@gentoo.org> | 2017-01-08 23:52:07 +0100 |
---|---|---|
committer | Anthony G. Basile <blueness@gentoo.org> | 2017-01-08 17:58:29 -0500 |
commit | 78404f8f8ea9b5dde8d59e4fec442c090328ee65 (patch) | |
tree | 22d994c24febd0b27ad08649dbccaebd2eced2bd /sys-libs/musl | |
parent | dev-python/python-openstackclient: 3.2.1 stable amd64 and x86 (diff) | |
download | gentoo-78404f8f8ea9b5dde8d59e4fec442c090328ee65.tar.gz gentoo-78404f8f8ea9b5dde8d59e4fec442c090328ee65.tar.bz2 gentoo-78404f8f8ea9b5dde8d59e4fec442c090328ee65.zip |
sys-libs/musl: Security cleanup (bug #597498)
Package-Manager: Portage-2.3.3, Repoman-2.3.1
Diffstat (limited to 'sys-libs/musl')
-rw-r--r-- | sys-libs/musl/musl-1.1.15.ebuild | 137 |
1 files changed, 0 insertions, 137 deletions
diff --git a/sys-libs/musl/musl-1.1.15.ebuild b/sys-libs/musl/musl-1.1.15.ebuild deleted file mode 100644 index 52c5992ed28f..000000000000 --- a/sys-libs/musl/musl-1.1.15.ebuild +++ /dev/null @@ -1,137 +0,0 @@ -# Copyright 1999-2016 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Id$ - -EAPI=6 - -inherit eutils flag-o-matic multilib toolchain-funcs -if [[ ${PV} == "9999" ]] ; then - EGIT_REPO_URI="git://git.musl-libc.org/musl" - inherit git-r3 - SRC_URI=" - http://dev.gentoo.org/~blueness/musl-misc/getconf.c - http://dev.gentoo.org/~blueness/musl-misc/getent.c - http://dev.gentoo.org/~blueness/musl-misc/iconv.c" - KEYWORDS="" -else - SRC_URI="http://www.musl-libc.org/releases/${P}.tar.gz - http://dev.gentoo.org/~blueness/musl-misc/getconf.c - http://dev.gentoo.org/~blueness/musl-misc/getent.c - http://dev.gentoo.org/~blueness/musl-misc/iconv.c" - KEYWORDS="-* amd64 arm ~mips ppc x86" -fi - -export CBUILD=${CBUILD:-${CHOST}} -export CTARGET=${CTARGET:-${CHOST}} -if [[ ${CTARGET} == ${CHOST} ]] ; then - if [[ ${CATEGORY} == cross-* ]] ; then - export CTARGET=${CATEGORY#cross-} - fi -fi - -DESCRIPTION="Light, fast and simple C library focused on standards-conformance and safety" -HOMEPAGE="http://www.musl-libc.org/" -LICENSE="MIT LGPL-2 GPL-2" -SLOT="0" -IUSE="crosscompile_opts_headers-only" - -QA_SONAME="/usr/lib/libc.so" -QA_DT_NEEDED="/usr/lib/libc.so" - -is_crosscompile() { - [[ ${CHOST} != ${CTARGET} ]] -} - -just_headers() { - use crosscompile_opts_headers-only && is_crosscompile -} - -musl_endian() { - # XXX: this wont work for bi-endian, but we dont have any - touch "${T}"/endian.s || die - $(tc-getAS ${CTARGET}) "${T}"/endian.s -o "${T}"/endian.o - case $(file "${T}"/endian.o) in - *" MSB "*) echo "";; - *" LSB "*) echo "el";; - *) echo "nfc";; # We shouldn't be here - esac -} - -pkg_setup() { - if [ ${CTARGET} == ${CHOST} ] ; then - case ${CHOST} in - *-musl*) ;; - *) die "Use sys-devel/crossdev to build a musl toolchain" ;; - esac - fi -} - -src_configure() { - tc-getCC ${CTARGET} - just_headers && export CC=true - - local sysroot - is_crosscompile && sysroot=/usr/${CTARGET} - ./configure \ - --target=${CTARGET} \ - --prefix=${sysroot}/usr \ - --syslibdir=${sysroot}/lib \ - --disable-gcc-wrapper -} - -src_compile() { - emake obj/include/bits/alltypes.h - just_headers && return 0 - - emake - $(tc-getCC) ${CFLAGS} "${DISTDIR}"/getconf.c -o "${T}"/getconf - $(tc-getCC) ${CFLAGS} "${DISTDIR}"/getent.c -o "${T}"/getent - $(tc-getCC) ${CFLAGS} "${DISTDIR}"/iconv.c -o "${T}"/iconv -} - -src_install() { - local target="install" - just_headers && target="install-headers" - emake DESTDIR="${D}" ${target} - just_headers && return 0 - - # musl provides ldd via a sym link to its ld.so - local sysroot - is_crosscompile && sysroot=/usr/${CTARGET} - local ldso=$(basename "${D}"${sysroot}/lib/ld-musl-*) - dosym ${sysroot}/lib/${ldso} ${sysroot}/usr/bin/ldd - - if [[ ${CATEGORY} != cross-* ]] ; then - # TODO: We may be able to simplify this code by obtianing the arch name with - # /usr/lib/libc.so 2>&1 | sed -n 's/^.*(\(.*\))$/\1/;1p' - local target=$(tc-arch) arch - local endian=$(musl_endian) - case ${target} in - amd64) arch="x86_64";; - arm) arch="armhf";; # We only have hardfloat right now - mips) arch="mips${endian}";; - ppc) arch="powerpc";; - x86) arch="i386";; - esac - cp "${FILESDIR}"/ldconfig.in "${T}" || die - sed -e "s|@@ARCH@@|${arch}|" "${T}"/ldconfig.in > "${T}"/ldconfig || die - into / - dosbin "${T}"/ldconfig - into /usr - dobin "${T}"/getconf - dobin "${T}"/getent - dobin "${T}"/iconv - echo 'LDPATH="include ld.so.conf.d/*.conf"' > "${T}"/00musl || die - doenvd "${T}"/00musl || die - fi -} - -pkg_postinst() { - is_crosscompile && return 0 - - [ "${ROOT}" != "/" ] && return 0 - - ldconfig - # reload init ... - /sbin/telinit U 2>/dev/null -} |