Gentoo Archives: gentoo-commits

From: Benda XU <heroxbd@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] dev/heroxbd:master commit in: sys-libs/glibc/
Date: Thu, 01 Jan 2015 12:36:18
Message-Id: 1420115946.9231c233fc261d53b94d2194375519d104c11c7a.heroxbd@gentoo
1 commit: 9231c233fc261d53b94d2194375519d104c11c7a
2 Author: Benda Xu <heroxbd <AT> gentoo <DOT> org>
3 AuthorDate: Thu Jan 1 12:39:06 2015 +0000
4 Commit: Benda XU <heroxbd <AT> gentoo <DOT> org>
5 CommitDate: Thu Jan 1 12:39:06 2015 +0000
6 URL: http://sources.gentoo.org/gitweb/?p=dev/heroxbd.git;a=commit;h=9231c233
7
8 sys-libs/glibc: version bump
9
10 ---
11 sys-libs/glibc/Manifest | 2 +
12 sys-libs/glibc/glibc-2.20-r1.ebuild | 202 ++++++++++++++++++++++++++++++++++++
13 2 files changed, 204 insertions(+)
14
15 diff --git a/sys-libs/glibc/Manifest b/sys-libs/glibc/Manifest
16 index b7afdde..3c556d8 100644
17 --- a/sys-libs/glibc/Manifest
18 +++ b/sys-libs/glibc/Manifest
19 @@ -70,6 +70,7 @@ DIST glibc-2.17.tar.xz 10981956 SHA256 6914e337401e0e0ade23694e1b2c52a5f09e4eda3
20 DIST glibc-2.19-patches-3.tar.bz2 80664 SHA256 6fb03292e224199e0dd9ba7ee83aca723e1560f26831e85cdc6302b187c6de3c SHA512 d281d6a2757920124cf8a3f02b97e75192598b08d96ae48840df34c7ffdcb212952d171f233e6f12a429b19437d0a296212fe1f2eae164d6a1c6793cb3cb69f0 WHIRLPOOL 6f28a2d0dff42e8ad0e77859938e3093753f77f78821375777eebb2db5568bf1c56e8b8208f02280f23acb2dd26dc8a313fedd5b2c10755f1659e6d324a1dbc3
21 DIST glibc-2.19.tar.xz 12083312 SHA256 2d3997f588401ea095a0b27227b1d50cdfdd416236f6567b564549d3b46ea2a2 SHA512 9e021fcb3afbb9ace2a0e37fded231a62de861bd766e29d47163a03182e37add718b7acc3963d1c525f9556773e842297725715acde48dcfbaab6e756af1a23d WHIRLPOOL 9581a3a23ebdd56bc559b56b95b7bcd21ca039546ec19c6c0e4e0738597542164fdb21ab1d1f36d5e73a205fb51f0974c7d497972615bce69ae002298f6475b6
22 DIST glibc-2.20-patches-1.tar.bz2 78477 SHA256 b3b1c4022503dc433cc4969534f27ee019ab695aed8b722e914d7fb864db5606 SHA512 56e954f11610fa4f9fffc68bdad98114bed7592f5a4f8bd81a0306ee99311db8cb4dd4469a6f2a5a60ff4a9e6d172e49971d389f1b2911df7a408571737c1ee1 WHIRLPOOL 02aeda854ca220ed3b4fe41510d918a8fc4fb9e95a3761a3884e2d2d3c0a515c82e835d7a74e41dc0a20c865de120b60ea4e561cd3f25534568981c8084dce00
23 +DIST glibc-2.20-patches-3.tar.bz2 30916 SHA256 c10cc881a1ee587dcaaff234c8e05dcc6a6e4d4bbafcae21e6267616a20bb354 SHA512 cbbfccdf0ba0ad7fb740a557a246b647c020dd841aabd256c34bb8c5f4aac2ee0ed50e5f15ac28a161e294a9a3803560317bcf934cc938daa58111d7373b1b66 WHIRLPOOL 2889809da097e148bae7769316f7a744880fce0c1cd74ef16e45e343c5aa02f549ff6f9e13ac114cb061b914d3517151ab803af5683864ed09ebc72326561e64
24 DIST glibc-2.20.tar.xz 12283992 SHA256 f84b6d42aecc288d593c397b0a3d02260a33ee686bce0c634eb9b32798f36ba5 SHA512 7a8eea8b71d3ccba766c3f304cab61055446d451ef063309476b26dc40d880562dc33b1b68fbedeedb4b55b84c26415b9202311aaa71ef8c141b6849a814d2fa WHIRLPOOL 042f74d75c62a655ae35348c9cd0bed0845ab199e37a76635eb74c04ed927b5eca77723c38d2dc46f12fca62c1004001887b43946a914b079ad22f6a9cc8daaa
25 DIST glibc-2.9-20081201.tar.bz2 16430489 SHA256 6f8e515775e20ed48610860d10315adda418a3649b3465f36ee5cd467364a8f6 SHA512 bdd3f5b61f741f09da21020ceef95e8e4f22574d11f8f2341f573ab2225baaf68698446ec26cbc4a63a21a8a400eaf5820fce4bd89c3e1dcf52172a62df561f4 WHIRLPOOL 37e4875e450e8a4067f657b4d71be184844cd45c0d7dbd9242e8f998aab4e15c732fc64ba148c5782078873182d4b132c911da9242b0513eea96a2338aa04722
26 DIST glibc-2.9-patches-8.tar.bz2 106638 SHA256 5f1f8b569ac02c2f538bebd64d137bccb442ddfcb28b3ef17b86134edd8e3f6c SHA512 f5070bf45c28bcf455f53bee85414e6efa1da3cdbc51425a1bc67fb92ff793d1416d5743a48e69080e636d80e41463c5897d437190d496c0b34f7dcf158e8d9c WHIRLPOOL f15b98a7bd6a8cbfaa9c6e1ad7204de875876bf1640c2a008532537cf65b811b42c45446dba846f6e572e9d763cb6afbe878920a51f772c7367cc7a6f615f4b7
27 @@ -98,6 +99,7 @@ EBUILD glibc-2.15-r3.ebuild 7764 SHA256 17540bbede72db02e113f556cd3c4a6873c45be1
28 EBUILD glibc-2.16.0.ebuild 7495 SHA256 d498eb21c832602c2711b4fd8607bbb36cbbbcd701405c5f84e2dbbe9ac81774 SHA512 caa429992f3510b4a530fb7d700ba8e67664d5df406ecd198bb7481009e4413cbf9a8f366b77f0e4949670f56dd5e21d7fccee13aa4d13684cfdb8ccf6054aa9 WHIRLPOOL 1f3a56785e164b4d2f8f258bc44b6a324dee3cecd8231b030ac68efdcc007c7cc906519d4f3f3585ed327bc572b8a2ded827afdeed9aaad1b81aeeca915571f7
29 EBUILD glibc-2.17.ebuild 7668 SHA256 b6b7142b8fded3c848424eec002b0e9b15912fe03841d854377b827ea3975eb9 SHA512 0d5dafad92578139720403aa29e1406c366892cd7bdebbfa3fee8a1a4eed06009941d9a55f6f9e9f3ec035947e03d17137e6b9ecdb4061812b0254aa48d0d1a8 WHIRLPOOL 2fdb5ab665c6ac7297e2586644f121101ab84ae3a17ade1fff87be8a31e4d89096063ccb25ceadba53328a398d65240833cf2508b3fa20c42f1e4354a3f1f81d
30 EBUILD glibc-2.19-r1.ebuild 7600 SHA256 3c4f701bf8c96f2cf957f5719a0537f35501dfd05679ceb98821ac68061c5aa8 SHA512 1f77f993fde268f8f145bba19b08abf5c7ed2f4a5e30d33f3e156a5aafa54a1bac025a38b65caa8217cf790b8f5b55427766d9c6fb7057e91d15594d3b9ab117 WHIRLPOOL 5c76a9de674138757d30a7da9f76a46ea306cae658809d042e063a9eeb4ecfb21bd4dca45bf632fc3fdc967babb8a5f07388c968b1a5f0ba0108cff862531146
31 +EBUILD glibc-2.20-r1.ebuild 6612 SHA256 3e81059b8be24f6979db7e8b3ea8d4fb2f6d7fd924759cf286d7904981766e15 SHA512 b433eb6c7b9814d8c058a93bbda421bdee259abe96a3d16e2a607a03f60487412ff35ce1709150933e0cda72d26ef705c21a095f6c5643f77af903dfd368149b WHIRLPOOL 8ca83822eef18d98a27d4d023fe8907c459d1677465b2b742b093e20d474d566e6e60f3daecf54e8ed8028737b9a2545467a3226014842e0ebdd8ce4be2a7e7f
32 EBUILD glibc-2.20.ebuild 6558 SHA256 c0e61f3d6ac10da06640406c9f3f3bc5dd6bd99f97c1180d303a022b312f564a SHA512 d2d97b908a7d828118a3b4e441140048c6e2ffbdbd9c971e948fc9b419db4f8537719cf8e7b879dea79c08eaf38e7282273fc643b234c9a308b6edcd2ef8bff7 WHIRLPOOL c0339fd5329128593fe96b6488a423431d5b2cecc36c7ab989647c235d9cda7aabbb7c0ee86fc6de8ff7f044a03b11e36aa8f999b0d0f0157efe2e98d57c82be
33 EBUILD glibc-2.9_p20081201-r3.ebuild 6770 SHA256 87e75b306b69d170c7fd6083c7a40303ea292616a810c3e5302eb13ff72932b8 SHA512 3dc0d6f0b99a1e83caa8a152bb7752b8b504324876bed83657b683c73f8a3432150cb5d3b42aea11d064ee9d1a4d1788dab6c9da11cfc5cf716c214ec145e177 WHIRLPOOL 9fec37815cd88eab81f4452e02e13b96e13b1ad8284b1be7f77213280da54a9de85275cf665307d3920e36c3bc02f6005acd5316f6f2ed3dac5b3b60a80690b0
34 EBUILD glibc-9999.ebuild 6619 SHA256 523f30d0bd4fb9aef983b7e62e57239d089251d0f3907b6dfb70a00cbc0c2e6c SHA512 2d875c8434720b700bfc99836870e625b7c3010178a4a501e435832e826e7008764878d1e4f88d9f568d21f97de56589bff7984b37d3e9840f19492585cfe16f WHIRLPOOL 7da4b26e63d4f79592891ebd1cf1fb915d40049e8feeb61d9c55f7af601bfe2b7f1a03b1aed51f95be0451c90e93992920949c92ccd2401a0c129b600f5afdb9
35
36 diff --git a/sys-libs/glibc/glibc-2.20-r1.ebuild b/sys-libs/glibc/glibc-2.20-r1.ebuild
37 new file mode 100644
38 index 0000000..967d32c
39 --- /dev/null
40 +++ b/sys-libs/glibc/glibc-2.20-r1.ebuild
41 @@ -0,0 +1,202 @@
42 +# Copyright 1999-2014 Gentoo Foundation
43 +# Distributed under the terms of the GNU General Public License v2
44 +# $Header: /var/cvsroot/gentoo-x86/sys-libs/glibc/glibc-2.20-r1.ebuild,v 1.2 2014/12/31 08:22:30 vapier Exp $
45 +
46 +EAPI="4"
47 +
48 +inherit eutils versionator toolchain-funcs flag-o-matic gnuconfig multilib systemd unpacker multiprocessing
49 +
50 +DESCRIPTION="GNU libc6 (also called glibc2) C library"
51 +HOMEPAGE="http://www.gnu.org/software/libc/libc.html"
52 +
53 +LICENSE="LGPL-2.1+ BSD HPND ISC inner-net rc PCRE"
54 +KEYWORDS="~alpha ~amd64 ~arm ~arm64 -hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
55 +RESTRICT="strip" # strip ourself #46186
56 +EMULTILIB_PKG="true"
57 +
58 +# Configuration variables
59 +RELEASE_VER=""
60 +case ${PV} in
61 +9999*)
62 + EGIT_REPO_URIS="git://sourceware.org/git/glibc.git"
63 + EGIT_SOURCEDIRS="${S}"
64 + inherit git-2
65 + ;;
66 +*)
67 + RELEASE_VER=${PV}
68 + ;;
69 +esac
70 +GCC_BOOTSTRAP_VER="4.7.3-r1"
71 +PATCH_VER="3" # Gentoo patchset
72 +: ${NPTL_KERN_VER:="2.6.32"} # min kernel version nptl requires
73 +
74 +IUSE="debug gd hardened multilib nscd selinux systemtap profile suid vanilla crosscompile_opts_headers-only rap"
75 +
76 +# Here's how the cross-compile logic breaks down ...
77 +# CTARGET - machine that will target the binaries
78 +# CHOST - machine that will host the binaries
79 +# CBUILD - machine that will build the binaries
80 +# If CTARGET != CHOST, it means you want a libc for cross-compiling.
81 +# If CHOST != CBUILD, it means you want to cross-compile the libc.
82 +# CBUILD = CHOST = CTARGET - native build/install
83 +# CBUILD != (CHOST = CTARGET) - cross-compile a native build
84 +# (CBUILD = CHOST) != CTARGET - libc for cross-compiler
85 +# CBUILD != CHOST != CTARGET - cross-compile a libc for a cross-compiler
86 +# For install paths:
87 +# CHOST = CTARGET - install into /
88 +# CHOST != CTARGET - install into /usr/CTARGET/
89 +
90 +export CBUILD=${CBUILD:-${CHOST}}
91 +export CTARGET=${CTARGET:-${CHOST}}
92 +if [[ ${CTARGET} == ${CHOST} ]] ; then
93 + if [[ ${CATEGORY} == cross-* ]] ; then
94 + export CTARGET=${CATEGORY#cross-}
95 + fi
96 +fi
97 +
98 +is_crosscompile() {
99 + [[ ${CHOST} != ${CTARGET} ]]
100 +}
101 +
102 +# Why SLOT 2.2 you ask yourself while sippin your tea ?
103 +# Everyone knows 2.2 > 0, duh.
104 +SLOT="2.2"
105 +
106 +# General: We need a new-enough binutils/gcc to match upstream baseline.
107 +# arch: we need to make sure our binutils/gcc supports TLS.
108 +DEPEND=">=app-misc/pax-utils-0.1.10
109 + !<sys-apps/sandbox-1.6
110 + !<sys-apps/portage-2.1.2
111 + selinux? ( sys-libs/libselinux )"
112 +RDEPEND="!sys-kernel/ps3-sources
113 + sys-apps/gentoo-functions
114 + selinux? ( sys-libs/libselinux )
115 + !sys-libs/nss-db"
116 +
117 +if [[ ${CATEGORY} == cross-* ]] ; then
118 + DEPEND+=" !crosscompile_opts_headers-only? (
119 + >=${CATEGORY}/binutils-2.24
120 + >=${CATEGORY}/gcc-4.4
121 + )"
122 + [[ ${CATEGORY} == *-linux* ]] && DEPEND+=" ${CATEGORY}/linux-headers"
123 +else
124 + DEPEND+="
125 + >=sys-devel/binutils-2.24
126 + >=sys-devel/gcc-4.4
127 + virtual/os-headers"
128 + RDEPEND+=" vanilla? ( !sys-libs/timezone-data )"
129 + PDEPEND+=" !vanilla? ( sys-libs/timezone-data )"
130 +fi
131 +
132 +upstream_uris() {
133 + echo mirror://gnu/glibc/$1 ftp://sourceware.org/pub/glibc/{releases,snapshots}/$1 mirror://gentoo/$1
134 +}
135 +gentoo_uris() {
136 + local devspace="HTTP~vapier/dist/URI HTTP~azarah/glibc/URI HTTP~blueness/glibc/URI"
137 + devspace=${devspace//HTTP/http://dev.gentoo.org/}
138 + echo mirror://gentoo/$1 ${devspace//URI/$1}
139 +}
140 +SRC_URI=$(
141 + [[ -z ${EGIT_REPO_URIS} ]] && upstream_uris ${P}.tar.xz
142 + [[ -n ${PATCH_VER} ]] && gentoo_uris ${P}-patches-${PATCH_VER}.tar.bz2
143 +)
144 +SRC_URI+=" ${GCC_BOOTSTRAP_VER:+multilib? ( $(gentoo_uris gcc-${GCC_BOOTSTRAP_VER}-multilib-bootstrap.tar.bz2) )}"
145 +
146 +# eblit-include [--skip] <function> [version]
147 +eblit-include() {
148 + local skipable=false
149 + [[ $1 == "--skip" ]] && skipable=true && shift
150 + [[ $1 == pkg_* ]] && skipable=true
151 +
152 + local e v func=$1 ver=$2
153 + [[ -z ${func} ]] && die "Usage: eblit-include <function> [version]"
154 + for v in ${ver:+-}${ver} -${PVR} -${PV} "" ; do
155 + e="${FILESDIR}/eblits/${func}${v}.eblit"
156 + if [[ -e ${e} ]] ; then
157 + source "${e}"
158 + return 0
159 + fi
160 + done
161 + ${skipable} && return 0
162 + die "Could not locate requested eblit '${func}' in ${FILESDIR}/eblits/"
163 +}
164 +
165 +# eblit-run-maybe <function>
166 +# run the specified function if it is defined
167 +eblit-run-maybe() {
168 + [[ $(type -t "$@") == "function" ]] && "$@"
169 +}
170 +
171 +# eblit-run <function> [version]
172 +# aka: src_unpack() { eblit-run src_unpack ; }
173 +eblit-run() {
174 + eblit-include --skip common "${*:2}"
175 + eblit-include "$@"
176 + eblit-run-maybe eblit-$1-pre
177 + eblit-${PN}-$1
178 + eblit-run-maybe eblit-$1-post
179 +}
180 +
181 +src_unpack() { eblit-run src_unpack ; }
182 +src_prepare() { eblit-run src_prepare ; }
183 +src_configure() { eblit-run src_configure ; }
184 +src_compile() { eblit-run src_compile ; }
185 +src_test() { eblit-run src_test ; }
186 +src_install() { eblit-run src_install ; }
187 +
188 +# FILESDIR might not be available during binpkg install
189 +for x in setup {pre,post}inst ; do
190 + e="${FILESDIR}/eblits/pkg_${x}.eblit"
191 + if [[ -e ${e} ]] ; then
192 + . "${e}"
193 + eval "pkg_${x}() { eblit-run pkg_${x} ; }"
194 + fi
195 +done
196 +
197 +eblit-src_unpack-pre() {
198 + [[ -n ${GCC_BOOTSTRAP_VER} ]] && use multilib && unpack gcc-${GCC_BOOTSTRAP_VER}-multilib-bootstrap.tar.bz2
199 +}
200 +
201 +eblit-src_prepare-post() {
202 + eprefixify extra/locale/locale-gen
203 +
204 + cd "${S}"
205 +
206 + if use hardened ; then
207 + einfo "Patching to get working PIE binaries on PIE (hardened) platforms"
208 + gcc-specs-pie && epatch "${FILESDIR}"/2.17/glibc-2.17-hardened-pie.patch
209 + epatch "${FILESDIR}"/2.20/glibc-2.20-hardened-inittls-nosysenter.patch
210 +
211 + # We don't enable these for non-hardened as the output is very terse --
212 + # it only states that a crash happened. The default upstream behavior
213 + # includes backtraces and symbols.
214 + einfo "Installing Hardened Gentoo SSP and FORTIFY_SOURCE handler"
215 + cp "${FILESDIR}"/2.20/glibc-2.20-gentoo-stack_chk_fail.c debug/stack_chk_fail.c || die
216 + cp "${FILESDIR}"/2.20/glibc-2.20-gentoo-chk_fail.c debug/chk_fail.c || die
217 +
218 + if use debug ; then
219 + # Allow SIGABRT to dump core on non-hardened systems, or when debug is requested.
220 + sed -i \
221 + -e '/^CFLAGS-backtrace.c/ iCPPFLAGS-stack_chk_fail.c = -DSSP_SMASH_DUMPS_CORE' \
222 + -e '/^CFLAGS-backtrace.c/ iCPPFLAGS-chk_fail.c = -DSSP_SMASH_DUMPS_CORE' \
223 + debug/Makefile || die
224 + fi
225 +
226 + # Build various bits with ssp-all
227 + sed -i \
228 + -e 's:-fstack-protector$:-fstack-protector-all:' \
229 + */Makefile || die
230 + fi
231 +
232 + if use rap; then
233 + if type -p lsb_release > lsb-loc; then
234 + local lsb_id=$(lsb_release -i)
235 + local lsb_rel=$(lsb_release -r)
236 + fi
237 +
238 + epatch "${FILESDIR}"/2.17/${PN}-2.17-runtime-prefix.patch
239 + eprefixify sysdeps/{{generic,unix/sysv/linux}/paths.h,posix/system.c} \
240 + libio/iopopen.c
241 + epatch "${FILESDIR}"/${PV}/${P}-configurable-paths.patch
242 + fi
243 +}