diff options
author | Anthony G. Basile <blueness@gentoo.org> | 2015-04-15 23:11:05 +0000 |
---|---|---|
committer | Anthony G. Basile <blueness@gentoo.org> | 2015-04-15 23:11:05 +0000 |
commit | 510d29da2ea028e842a83063201703a0b67fc203 (patch) | |
tree | 653ce09a389b0cca5dc966006b23275d0e78b4a5 | |
parent | Automated update. (diff) | |
download | historical-510d29da2ea028e842a83063201703a0b67fc203.tar.gz historical-510d29da2ea028e842a83063201703a0b67fc203.tar.bz2 historical-510d29da2ea028e842a83063201703a0b67fc203.zip |
Merge with sys-apps/getent. Add ldconfig. Bug #545006.
Package-Manager: portage-2.2.14/cvs/Linux x86_64
Manifest-Sign-Key: 0xF52D4BBA
-rw-r--r-- | sys-libs/musl/ChangeLog | 8 | ||||
-rw-r--r-- | sys-libs/musl/Manifest | 27 | ||||
-rw-r--r-- | sys-libs/musl/files/getent | 45 | ||||
-rw-r--r-- | sys-libs/musl/files/ldconfig | 143 | ||||
-rw-r--r-- | sys-libs/musl/musl-1.1.8-r1.ebuild | 102 | ||||
-rw-r--r-- | sys-libs/musl/musl-9999.ebuild | 17 |
6 files changed, 332 insertions, 10 deletions
diff --git a/sys-libs/musl/ChangeLog b/sys-libs/musl/ChangeLog index b9217a857e91..738e81323421 100644 --- a/sys-libs/musl/ChangeLog +++ b/sys-libs/musl/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for sys-libs/musl # Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sys-libs/musl/ChangeLog,v 1.50 2015/04/01 20:04:37 blueness Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-libs/musl/ChangeLog,v 1.51 2015/04/15 23:10:51 blueness Exp $ + +*musl-1.1.8-r1 (15 Apr 2015) + + 15 Apr 2015; Anthony G. Basile <blueness@gentoo.org> +files/getent, + +files/ldconfig, +musl-1.1.8-r1.ebuild, musl-9999.ebuild: + Merge with sys-apps/getent. Add ldconfig. Bug #545006. 01 Apr 2015; Anthony G. Basile <blueness@gentoo.org> musl-1.1.8.ebuild: Mark stable on all musl arches. diff --git a/sys-libs/musl/Manifest b/sys-libs/musl/Manifest index 38ca3ad6f4ed..015fa058218a 100644 --- a/sys-libs/musl/Manifest +++ b/sys-libs/musl/Manifest @@ -1,3 +1,8 @@ +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA256 + +AUX getent 1168 SHA256 391f5e2bf876d1a5d0ebc4bd80f15e297049cf3296252dfee6549d32e9b43f6a SHA512 60e10b9ac073e5b648b2c22c8e75a3f2c8a26e28f6d50059e4b921f17adbd0f6d7aa65d8441ebab19f07b21592425962b736071c55d0c274855bc1dbb2567382 WHIRLPOOL 4c0422d73eb5f4cfe91c49e95364778cf3453409c3948b375dc5e021be1e0186c110b9d0f674722db211f772cb4da1414ea06aaaed75cd853d31cb13bb70b5c0 +AUX ldconfig 2542 SHA256 e58f98ddd14206a43439bf3431abee786f800867b3e53ac50d43cc8528304621 SHA512 384213cec3842bf9305c9093d7f52c11f8b448c3dcfd78c34e90c28a0ce3848046724f196b1146238ee8fa5f7e337289305efa82cb1f6948f3e171566f71d9b6 WHIRLPOOL 73fcd097ad68b6ae5f33099e45d129fd89ee74c23760fc1eca6b4612fd1a8030df85a8fe019c2bf4e6ed4b0b3a969d2f3678ddd2f6955685037eaff9503cab93 DIST musl-1.1.5.tar.gz 872924 SHA256 352362b1724cc9740f4c3ce0fe02aae45e4de9809ea4ac961f31aedc11b87393 SHA512 4436887367137cbfc6d34e0f403b8dd36db2a55a5160681fef4de7cc0cb1be38487ea708e6aa6dc1328b61c62868b6cc19f099649c9d12e1ba812dfa8844b772 WHIRLPOOL 4ba2f2e0b5e81faeb55472cef32fd2780bca5b94210bc4608872f7a323d918339e1705384576d89a78c9b620692b3f7cd877eb8fa6c15086430b0f640beee3ba DIST musl-1.1.6.tar.gz 876821 SHA256 5a0160c55c540d5b90158617a57647f1b03209f58d9ee70dbce19d1115b4f1b4 SHA512 7ae7901e040990937c9473f98c7921736aa9ba051bf133b0a089c0730949ef83acca396333a5afa08edc2514081ab9f36c14aed343919b0d92e0e574737c8bab WHIRLPOOL 5f2a9b7fc85ef53daa0cfa5a7b06ea4ad02376cc381ae1b6257ea499dfe843062902946a29b2801fb9aa0fcb2809077823010f522728c92303876cafa4d21e58 DIST musl-1.1.7.tar.gz 904546 SHA256 d8e0aae287ecf8aa6500d3ed4131f33d216a7857dc7649a89125ffca6bf91599 SHA512 7fe002ed5f7fd96c8759f3f85ee382809043e1829e093b88eaaddc197f7d558473ad66b33be41dbb1afe750ccdd62e6dfcc3a591c122e84435142fab890e8edc WHIRLPOOL c9261b4887df25316f7b179cfdf6b25277f69aa512c29ebe53b6fa4742712007d393144cbbf825be4cb63aa250558efbae2dcb43185a4937b99c0e9bd6efc861 @@ -6,7 +11,25 @@ EBUILD musl-1.1.5.ebuild 2259 SHA256 edf0f660eb7980df0b4c1548b699ba7b7c4ab42429c EBUILD musl-1.1.6.ebuild 2259 SHA256 a7ec621a99226c0b442fed142355457e3a29724da00fa276f5f7e020416a910b SHA512 7c5d52defba4ab9fe562eb6fc80143082f9826570ea736e59a3779e80a5a4db50f3db6dfb0b6f86431c629e4bb2ee411c75ea04c2bc4d0f65de430f7e7a806a0 WHIRLPOOL 5e6d858783774dd8629fdc46ff166798bb0afb77910fcde05c926164a49bb16411740598bd5b052e41a64d4df6ed7348b1d194f60cef6db9e342415cfd08550b EBUILD musl-1.1.7-r3.ebuild 2273 SHA256 4507b1458b7b0d2b25b50ac9c707d1624a405b354619aafa9f61dcd7092065ff SHA512 85bb84ef078c210e5112871c2a03b7d3ff046a2293860615d9ab0d5465d84f91850591d956f7d6ff36b92fe58a3562eb19e84cfc963393bbd7eb142aa1117247 WHIRLPOOL 006c28c6c4d29d7f728b3ca25bab515c95f542f95990fb25cf4390e4448b62cc813d58b18952853f078b0be8fa5a83285b75682ca23dffaf5105cd998a0a4cf5 EBUILD musl-1.1.7.ebuild 2387 SHA256 61b02e2d18a8569d472a965c3e11056908c76afaf525350b02ee19b52621eb42 SHA512 402e41969d1f7e8904f5b7ae5e7a3ba7a284e49b9ba433a45caa27cf51b2222008787315112adf6d312c35bb03d7976cde4d21e76b38baa4a442944c3ae82918 WHIRLPOOL 56ae3116803f97f3ff4e5ed5c20093b1867519a68530d381022b9047421401f4f0aa41eb2ad4e5db9d5bd9e7e05818a82418c6ce006cf0e2b5d28f6501178d34 +EBUILD musl-1.1.8-r1.ebuild 2251 SHA256 be4d651d94202953cf0c1261447815d1fc9760bcf97f3c9e64f1062235c3a04c SHA512 7f71b3592f30edc3352f16463fd40d324057efaae41eb341cd31599c88fba77190ba02f2001caec435936591f5f3eb6791daa24f529e8ccd8361baf653af973c WHIRLPOOL ff0ed0ea8278b68d6ec759bd125cbe6e120a38762ca68b163d4bd74d87c3b0bf0a2025a7a7cd2edaed452065eba2279fbe9c165a4336d71e9e82f4e65ae515c8 EBUILD musl-1.1.8.ebuild 2266 SHA256 a1930616bfe7da7b3d2dc0f8603805b915bf468baf4d1a219d9af0a40735b568 SHA512 e364bfe6557b3b22bd68530613bf904941d5446f011ccc167ec30a3e1d157037bbe99f9b46d8ab37f35079605797a4c845fee2423f39a984813fff76d5bd3a6f WHIRLPOOL a0fa6c23da24b459ce1571051f3f7ae918c4cbc783578b3850fc098afba24df95a4b7ec499756a1e464cb3b22fd659a9e89436afed875b6879b92fdb7a456951 -EBUILD musl-9999.ebuild 2270 SHA256 b26fd702b21eabc19a188743c370bd796f18dea13f704754ec221887be54ce5f SHA512 9d33ced3740b4babbdc47c9e0954eb07e45586d8308fe053ef6188dfa552b3c1c369f6474cd9dbc9c6665a026b83e840350c43d8ad9583a878cdcef766b1fe5b WHIRLPOOL 774f5393cd7c339a865dc46bed655396d2af6a4a61b39fa1ee6520a47053ac1bf18da6e0d3323d16b87415082893af9b7e6d4ed4bd104d2190b1fd3601e46254 -MISC ChangeLog 7107 SHA256 5a3a571a9c95777fda62b6986e2a4cc71a5afcf73b2fb06b0159865ef9ee63df SHA512 a416aef2826122a881170ba5551e392aa0f87a35171891568d1426f7d46c8501188baac9ec1127db2ad0ddf568544e8679b1ff25cb0a068555b1a960878efc7b WHIRLPOOL 9b384a95f221e1315ca953d41049fd8fa53f0ceeb3470e82b6028cf249ac78dbce9ef970b5e89f10a501ed25d6e6f5f3cc532c0ad9297769e086c2a81ed23995 +EBUILD musl-9999.ebuild 2248 SHA256 74627de249e65c9c525995dc5cbbc5008164ef1bd801b29e608ab080c91ef02e SHA512 ea6e15d37c2e5fbe50821eb82c9af70b03620187a416ce10c23a2b2a392171c0beb6a57ff9c8cf005e747c5222479dc545add121c0d049c646f2c0ff4bf095f8 WHIRLPOOL 518dee4b38d2b08ec104d15359710126cd8eb3852c1d087e88aeb7668dc2ffc803a472ab4708455d54f13fe6c3f60b45102f73d587240d2154811292771b803e +MISC ChangeLog 7327 SHA256 9f430c5c2ace8eb41591b44d479f92f40411616ffeb18abdab15f64b8d5bba22 SHA512 17a5972f38f2a3f2dc48de6be3da2133193c02f0e7ebb219c109f0531234a9430717d55ab9d87ea35bc8d4ff3f559a1c0add9d8b8d48f804ad0fc622ceef66b1 WHIRLPOOL 973186df6d9d74d0f3b1ccbeb5b16012bb1f468b17214640545c8bbc91ca531a1014a9e48ead8fb529db27516eed333d5088f4a68cbf9d2c79a7f961c9de2446 MISC metadata.xml 327 SHA256 fd917b3ad115fac11699c82ff087e97c323fe2327f77813c9a2b9cfc27e45042 SHA512 b58ed48ee5332d6e91dfb58faad0a0fecd4b8da27b0edf6c1809a7338764e629eb5c12feb09fae80443b486af27af0d0f2e6ceeb4fc605e6d04b31c1041b3127 WHIRLPOOL 4941c5da58f683ff0a83fdc83017a8fd9a1bbb02fa1b5ea47302ebe7f7d324c0820088acb1eb32263fdb9b4120bc93f24997515bc30515b90055b48d167fd56a +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v2 + +iQIcBAEBCAAGBQJVLvCOAAoJEJOE+m71LUu6/TsP/0FwbBUFTukiMEm/CoKsKPXM +DOZVilFvgE8pOlv1GLX/l7+ynKNeLNow92mCA9yvE3I9GG2v5gfDTQYclkJdfIVV +cIYIrqyEEmkaF3OaOOJuVVVaNvwu4waQnGxU7WeDE9bwsU+eyx0Lasfb1Snas8ty +VgVxkCOtppbgxUkVtjCOERu2Q0H9ZgmKbXywhhWb9YgTq8InM9Wj/LjyHBqLzYVF +85X30duhXWSD5ipHX54YgIzcanK27I5B4cYJG2M48S/aBq3/MpGDzAQEFEOhmV0w +v0c/sUeQvC1H5Xtjd6wreoaaoJmCSW6I/RJnWghkXkiJf9TLntHD66LaCFpGNbeI +wO2D2cPjWR9X/Hb7u3zsOQ0HQJQbQw15pHQbrJ6VZIA+gy4VachK4+o2JKK1PH3y +LnDVVZ9O+OZD+NsJ8ecfxf0l7YWQk8b4KPP2K6lM2Dy8oIuB1F8YFKWjZi34HE0y +MavvYK5xs0OA0wvndkw++ghUG50Vjxbx8qPQcBybD4Fyp6INlBZJJ1vJFe70TZXz +zWzBfh2a1zLQMAQaLhRh6qlHaPcQYT+C37JXu9LYU8mG5Rsr0b0r157RFWSaaIXh +XAlZ6zd5NEXaXrUOhtMUxaZgasEzP8EU61DLlTQUdn82/W+A5KRzvVmfbdIERcVP +HlPM0g3B1nmSLOdOZaZP +=sGLS +-----END PGP SIGNATURE----- diff --git a/sys-libs/musl/files/getent b/sys-libs/musl/files/getent new file mode 100644 index 000000000000..b7de424354b6 --- /dev/null +++ b/sys-libs/musl/files/getent @@ -0,0 +1,45 @@ +#!/bin/sh +# This files is part of uClibc. +# Distributed under the terms of the Lesser GNU General Public License v2 +# +# Closely (not perfectly) emulate the behavior of glibc's getent utility +# +#passwd|shadow|group|aliases|hosts|networks|ethers|netgroup|protocols|services|rpc +# only returns the first match (by design) +# dns based search is not supported (hosts,networks) +# case-insensitive matches not supported (ethers; others?) +# may return false-positives (hosts,protocols,rpc,services,ethers) + +[ -z "$PATH" ] && PATH="/bin:/usr/bin" || PATH="${PATH}:/bin:/usr/bin" +export PATH + +file="/etc/$1" +case $1 in + passwd|group) + match="^$2:\|^[^:]*:[^:]*:$2:" ;; + shadow) + match="^$2:" ;; + networks|netgroup) + match="^[[:space:]]*$2\>" ;; + hosts|protocols|rpc|services|ethers) + match="\<$2\>" ;; + aliases) + match="^[[:space:]]*$2[[:space:]]*:" ;; + ""|-h|--help) + echo "USAGE: $0 database [key]" + exit 0 ;; + *) + echo "$0: Unknown database: $1" 1>&2 + exit 1 ;; +esac + +if [ ! -f "$file" ] ; then + echo "$0: Could not find database file for $1" 1>&2 + exit 1 +fi + +if [ $# -eq 1 ] ; then + exec cat "$file" +else + sed "s/#.*//; /$match/q; d" "$file" | grep . || exit 2 +fi diff --git a/sys-libs/musl/files/ldconfig b/sys-libs/musl/files/ldconfig new file mode 100644 index 000000000000..be0aa2b331c1 --- /dev/null +++ b/sys-libs/musl/files/ldconfig @@ -0,0 +1,143 @@ +#!/bin/bash -e +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +ROOT="/" + +LDSO_CONF="/etc/ld.so.conf" +if [[ ! -e $LDSO_CONF ]]; then + echo "$LDSO_CONF not found" >&2 + exit 1 +fi + +LDSO_CONF_DIR=$(dirname $LDSO_CONF) + +VERBOSE=0 + +UPDATE_LINKS=1 + +get_options() { + while getopts "vnNXf:C:r:p" opt "$@"; do + case $opt in + v) + echo "ldconfig for musl in Gentoo" + VERBOSE=1 + ;; + r) + ROOT=$OPTARG + ;; + f) + LDSO_CONF=$OPTARG + ;; + X) + UPDATE_LINKS=0 + ;; + \?) + echo "Invalid option: -$opt" >&2 + exit 1 + ;; + n|N|C|p) + echo "Unimplemented option: -$opt" >&2 + exit 1 + ;; + esac + done + + if [[ $UPDATE_LINKS == 1 ]]; then + echo "Updating links is not implemented." + fi +} + + +repeated() { + local l=$1 + local drs="${@:2}" + for m in $drs; do + [[ $m == $l ]] && return 0 + done + return 1 +} + +expand() { + # We are assuming the ld.so.conf's 'include' is not recursive + local f line l + local glob="$LDSO_CONF_DIR/$1" + local drs="${@:2} " + + for f in $glob; do + [[ ! -f $f ]] && continue + while read line; do + line=${line%%#*} + line=${line//:/ } + line=${line//,/ } + for l in $line; do + #We must add this whether or not the directory exists + repeated $l $drs && continue + drs+=" $l " + done + done < $f + done + + echo $drs +} + +read_ldso_conf() { + local drs=" " + + while read line; do + # Sanitize the line - see ldconfig(8) for delimiters + # Note: bash read turns tabs into spaces and read already + # delimits on newlines with the default $IFS + line=${line%%#*} # Remove comments + line=${line//:/ } # Change colon delimiter to space + line=${line//,/ } # Change comma delimiter to space + + next=0 + for l in $line; do + if [[ $next == 1 ]]; then + next=0 + drs=$(expand $l $drs) + elif [[ $l == "include" ]]; then + next=1 + else + # glibc's ldconfig silently skips non directories + if [[ -d $l ]]; then + repeated $l $drs && continue + drs+=" $l " + fi + fi + done + done < $1 + + echo $drs +} + +sanitize() { + local drs=$@ + + repeated "/lib" $drs || drs="/lib $drs" + repeated "/usr/lib" $drs || drs="/usr/lib $drs" + + echo $drs +} + +get_options "$@" +drs=$(read_ldso_conf "$LDSO_CONF") +drs=$(sanitize $drs) + +LDSO_PATH=$(ls /lib/ld-musl-*.so.1) +if [[ ! -e $LDSO_PATH ]]; then + echo "$LDSO_PATH not found" >&2 + exit 1 +fi + +LDSO_ARCH=$(basename $LDSO_PATH) +LDSO_NAME=${LDSO_ARCH%.so.1} +ETC_LDSO_PATH=/etc/${LDSO_NAME}.path + +X=$(mktemp --tmpdir=/tmp ${LDSO_NAME}.XXXXXX) +for d in $drs; do + echo $d >> $X +done +chmod 644 $X +mv $X $ETC_LDSO_PATH diff --git a/sys-libs/musl/musl-1.1.8-r1.ebuild b/sys-libs/musl/musl-1.1.8-r1.ebuild new file mode 100644 index 000000000000..25a1099ba21b --- /dev/null +++ b/sys-libs/musl/musl-1.1.8-r1.ebuild @@ -0,0 +1,102 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-libs/musl/musl-1.1.8-r1.ebuild,v 1.1 2015/04/15 23:10:51 blueness Exp $ + +EAPI=5 + +inherit eutils flag-o-matic multilib toolchain-funcs +if [[ ${PV} == "9999" ]] ; then + EGIT_REPO_URI="git://git.musl-libc.org/musl" + inherit git-2 +fi + +export CBUILD=${CBUILD:-${CHOST}} +export CTARGET=${CTARGET:-${CHOST}} +if [[ ${CTARGET} == ${CHOST} ]] ; then + if [[ ${CATEGORY} == cross-* ]] ; then + export CTARGET=${CATEGORY#cross-} + fi +fi + +DESCRIPTION="Lightweight, fast and simple C library focused on standards-conformance and safety" +HOMEPAGE="http://www.musl-libc.org/" +if [[ ${PV} != "9999" ]] ; then + PATCH_VER="" + SRC_URI="http://www.musl-libc.org/releases/${P}.tar.gz" + KEYWORDS="-* ~amd64 ~arm ~mips ~ppc ~x86" +fi + +LICENSE="MIT LGPL-2 GPL-2" +SLOT="0" +IUSE="crosscompile_opts_headers-only" + +RDEPEND="!sys-apps/getent" + +is_crosscompile() { + [[ ${CHOST} != ${CTARGET} ]] +} + +just_headers() { + use crosscompile_opts_headers-only && is_crosscompile +} + +pkg_setup() { + if [ ${CTARGET} == ${CHOST} ] ; then + case ${CHOST} in + *-musl*) ;; + *) die "Use sys-devel/crossdev to build a musl toolchain" ;; + esac + fi + + epatch_user +} + +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 include/bits/alltypes.h || die + just_headers && return 0 + + emake || die +} + +src_install() { + local target="install" + just_headers && target="install-headers" + emake DESTDIR="${D}" ${target} || die + 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 + into /usr + dobin "${FILESDIR}"/getent + into / + dosbin "${FILESDIR}"/ldconfig + fi +} + +pkg_postinst() { + is_crosscompile && return 0 + + [ "${ROOT}" != "/" ] && return 0 + + ldconfig + # reload init ... + /sbin/telinit U 2>/dev/null +} diff --git a/sys-libs/musl/musl-9999.ebuild b/sys-libs/musl/musl-9999.ebuild index 4b274eacf79e..13345227b51e 100644 --- a/sys-libs/musl/musl-9999.ebuild +++ b/sys-libs/musl/musl-9999.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sys-libs/musl/musl-9999.ebuild,v 1.17 2015/03/30 23:31:59 blueness Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-libs/musl/musl-9999.ebuild,v 1.18 2015/04/15 23:10:51 blueness Exp $ EAPI=5 @@ -26,13 +26,11 @@ if [[ ${PV} != "9999" ]] ; then KEYWORDS="-* ~amd64 ~arm ~mips ~ppc ~x86" fi -LICENSE="MIT" +LICENSE="MIT LGPL-2 GPL-2" SLOT="0" IUSE="crosscompile_opts_headers-only" -if [[ ${CATEGORY} != cross-* ]] ; then - RDEPEND+=" sys-apps/getent" -fi +RDEPEND="!sys-apps/getent" is_crosscompile() { [[ ${CHOST} != ${CTARGET} ]] @@ -84,6 +82,13 @@ src_install() { 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 + into /usr + dobin "${FILESDIR}"/getent + into / + dosbin "${FILESDIR}"/ldconfig + fi } pkg_postinst() { @@ -91,8 +96,6 @@ pkg_postinst() { [ "${ROOT}" != "/" ] && return 0 - # TODO: musl doesn't use ldconfig, instead here we can - # create sym links to libraries outside of /lib and /usr/lib ldconfig # reload init ... /sbin/telinit U 2>/dev/null |