summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Deutschmann <whissi@gentoo.org>2017-01-08 23:52:07 +0100
committerAnthony G. Basile <blueness@gentoo.org>2017-01-08 17:58:29 -0500
commit78404f8f8ea9b5dde8d59e4fec442c090328ee65 (patch)
tree22d994c24febd0b27ad08649dbccaebd2eced2bd /sys-libs
parentdev-python/python-openstackclient: 3.2.1 stable amd64 and x86 (diff)
downloadgentoo-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')
-rw-r--r--sys-libs/musl/musl-1.1.15.ebuild137
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
-}