Gentoo Archives: gentoo-commits

From: "Mike Frysinger (vapier)" <vapier@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in sys-libs/glibc: metadata.xml glibc-9999.ebuild glibc-2.16.0.ebuild ChangeLog
Date: Tue, 03 Jul 2012 20:07:49
Message-Id: 20120703200734.52CDE2004B@flycatcher.gentoo.org
1 vapier 12/07/03 20:07:34
2
3 Modified: metadata.xml glibc-9999.ebuild ChangeLog
4 Added: glibc-2.16.0.ebuild
5 Log:
6 Version bump.
7
8 (Portage version: 2.2.0_alpha112/cvs/Linux x86_64)
9
10 Revision Changes Path
11 1.9 sys-libs/glibc/metadata.xml
12
13 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-libs/glibc/metadata.xml?rev=1.9&view=markup
14 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-libs/glibc/metadata.xml?rev=1.9&content-type=text/plain
15 diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-libs/glibc/metadata.xml?r1=1.8&r2=1.9
16
17 Index: metadata.xml
18 ===================================================================
19 RCS file: /var/cvsroot/gentoo-x86/sys-libs/glibc/metadata.xml,v
20 retrieving revision 1.8
21 retrieving revision 1.9
22 diff -u -r1.8 -r1.9
23 --- metadata.xml 21 Apr 2012 15:54:06 -0000 1.8
24 +++ metadata.xml 3 Jul 2012 20:07:34 -0000 1.9
25 @@ -4,5 +4,6 @@
26 <herd>toolchain</herd>
27 <use>
28 <flag name='linuxthreads'>Build linuxthreads support (only for kernels older than linux-2.6)</flag>
29 + <flag name='systemtap'>enable systemtap static probe points</flag>
30 </use>
31 </pkgmetadata>
32
33
34
35 1.10 sys-libs/glibc/glibc-9999.ebuild
36
37 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-libs/glibc/glibc-9999.ebuild?rev=1.10&view=markup
38 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-libs/glibc/glibc-9999.ebuild?rev=1.10&content-type=text/plain
39 diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-libs/glibc/glibc-9999.ebuild?r1=1.9&r2=1.10
40
41 Index: glibc-9999.ebuild
42 ===================================================================
43 RCS file: /var/cvsroot/gentoo-x86/sys-libs/glibc/glibc-9999.ebuild,v
44 retrieving revision 1.9
45 retrieving revision 1.10
46 diff -u -r1.9 -r1.10
47 --- glibc-9999.ebuild 8 Jun 2012 22:06:51 -0000 1.9
48 +++ glibc-9999.ebuild 3 Jul 2012 20:07:34 -0000 1.10
49 @@ -1,8 +1,8 @@
50 # Copyright 1999-2012 Gentoo Foundation
51 # Distributed under the terms of the GNU General Public License v2
52 -# $Header: /var/cvsroot/gentoo-x86/sys-libs/glibc/glibc-9999.ebuild,v 1.9 2012/06/08 22:06:51 vapier Exp $
53 +# $Header: /var/cvsroot/gentoo-x86/sys-libs/glibc/glibc-9999.ebuild,v 1.10 2012/07/03 20:07:34 vapier Exp $
54
55 -inherit eutils versionator libtool toolchain-funcs flag-o-matic gnuconfig multilib multiprocessing
56 +inherit eutils versionator libtool toolchain-funcs flag-o-matic gnuconfig multilib unpacker multiprocessing
57
58 DESCRIPTION="GNU libc6 (also called glibc2) C library"
59 HOMEPAGE="http://www.gnu.org/software/libc/libc.html"
60 @@ -35,11 +35,9 @@
61 LIBIDN_VER="" # it's integrated into the main tarball now
62 PATCH_VER="" # Gentoo patchset
63 PORTS_VER="" # version of glibc ports addon
64 -LT_VER="" # version of linuxthreads addon
65 -NPTL_KERN_VER=${NPTL_KERN_VER:-"2.6.9"} # min kernel version nptl requires
66 -#LT_KERN_VER=${LT_KERN_VER:-"2.4.1"} # min kernel version linuxthreads requires
67 +NPTL_KERN_VER=${NPTL_KERN_VER:-"2.6.16"} # min kernel version nptl requires
68
69 -IUSE="debug gd hardened multilib selinux profile vanilla crosscompile_opts_headers-only ${LT_VER:+glibc-compat20 nptl linuxthreads}"
70 +IUSE="debug gd hardened multilib selinux systemtap profile vanilla crosscompile_opts_headers-only"
71 [[ -n ${RELEASE_VER} ]] && S=${WORKDIR}/glibc-${RELEASE_VER}${SNAP_VER:+-${SNAP_VER}}
72
73 # Here's how the cross-compile logic breaks down ...
74 @@ -83,7 +81,6 @@
75 ppc? ( >=sys-devel/gcc-4.1.0 )
76 ppc64? ( >=sys-devel/gcc-4.1.0 )
77 >=sys-devel/binutils-2.15.94
78 - ${LT_VER:+nptl? (} >=sys-kernel/linux-headers-${NPTL_KERN_VER} ${LT_VER:+)}
79 >=app-misc/pax-utils-0.1.10
80 virtual/os-headers
81 !<sys-apps/sandbox-1.2.18.1-r2
82 @@ -119,11 +116,10 @@
83 [[ -n ${PORTS_VER} ]] && PORTS_VER=${SNAP_VER}
84 upstream_uris ${TARNAME}-${SNAP_VER}.tar.bz2
85 elif [[ -z ${EGIT_REPO_URIS} ]] ; then
86 - upstream_uris ${TARNAME}-${RELEASE_VER}.tar.bz2
87 + upstream_uris ${TARNAME}-${RELEASE_VER}.tar.xz
88 fi
89 [[ -n ${LIBIDN_VER} ]] && upstream_uris glibc-libidn-${LIBIDN_VER}.tar.bz2
90 - [[ -n ${PORTS_VER} ]] && upstream_uris ${TARNAME}-ports-${PORTS_VER}.tar.bz2
91 - [[ -n ${LT_VER} ]] && upstream_uris ${TARNAME}-linuxthreads-${LT_VER}.tar.bz2
92 + [[ -n ${PORTS_VER} ]] && upstream_uris ${TARNAME}-ports-${PORTS_VER}.tar.xz
93 [[ -n ${BRANCH_UPDATE} ]] && gentoo_uris glibc-${RELEASE_VER}-branch-update-${BRANCH_UPDATE}.patch.bz2
94 [[ -n ${PATCH_VER} ]] && gentoo_uris glibc-${RELEASE_VER}-patches-${PATCH_VER}.tar.bz2
95 [[ -n ${MANPAGE_VER} ]] && gentoo_uris glibc-manpages-${MANPAGE_VER}.tar.bz2
96 @@ -215,6 +211,22 @@
97 fi
98 }
99
100 +eblit-pkg_preinst-post() {
101 + if [[ ${CTARGET} == arm* ]] ; then
102 + # Backwards compat support for renaming hardfp ldsos #417287
103 + local oldso='/lib/ld-linux.so.3'
104 + local nldso='/lib/ld-linux-armhf.so.3'
105 + if [[ -e ${D}${nldso} ]] ; then
106 + if scanelf -qRyi "${ROOT}$(alt_prefix)"/*bin/ | grep -s "^${oldso}" ; then
107 + ewarn "Symlinking old ldso (${oldso}) to new ldso (${nldso})."
108 + ewarn "Please rebuild all packages using this old ldso as compat"
109 + ewarn "support will be dropped in the future."
110 + ln -s "${nldso##*/}" "${D}$(alt_prefix)${oldso}"
111 + fi
112 + fi
113 + fi
114 +}
115 +
116 maint_pkg_create() {
117 local base="/usr/local/src/gnu/glibc/glibc-${PV:0:1}_${PV:2:1}"
118 cd ${base}
119
120
121
122 1.863 sys-libs/glibc/ChangeLog
123
124 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-libs/glibc/ChangeLog?rev=1.863&view=markup
125 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-libs/glibc/ChangeLog?rev=1.863&content-type=text/plain
126 diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-libs/glibc/ChangeLog?r1=1.862&r2=1.863
127
128 Index: ChangeLog
129 ===================================================================
130 RCS file: /var/cvsroot/gentoo-x86/sys-libs/glibc/ChangeLog,v
131 retrieving revision 1.862
132 retrieving revision 1.863
133 diff -u -r1.862 -r1.863
134 --- ChangeLog 19 Jun 2012 22:06:23 -0000 1.862
135 +++ ChangeLog 3 Jul 2012 20:07:34 -0000 1.863
136 @@ -1,5 +1,12 @@
137 # ChangeLog for sys-libs/glibc
138 -# $Header: /var/cvsroot/gentoo-x86/sys-libs/glibc/ChangeLog,v 1.862 2012/06/19 22:06:23 vapier Exp $
139 +# $Header: /var/cvsroot/gentoo-x86/sys-libs/glibc/ChangeLog,v 1.863 2012/07/03 20:07:34 vapier Exp $
140 +
141 +*glibc-2.16.0 (03 Jul 2012)
142 +
143 + 03 Jul 2012; Mike Frysinger <vapier@g.o> +glibc-2.16.0.ebuild,
144 + files/eblits/src_compile.eblit, files/eblits/src_install.eblit,
145 + glibc-9999.ebuild, metadata.xml:
146 + Version bump.
147
148 19 Jun 2012; Mike Frysinger <vapier@g.o> files/eblits/common.eblit:
149 Handle gold version strings too.
150
151
152
153 1.1 sys-libs/glibc/glibc-2.16.0.ebuild
154
155 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-libs/glibc/glibc-2.16.0.ebuild?rev=1.1&view=markup
156 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-libs/glibc/glibc-2.16.0.ebuild?rev=1.1&content-type=text/plain
157
158 Index: glibc-2.16.0.ebuild
159 ===================================================================
160 # Copyright 1999-2012 Gentoo Foundation
161 # Distributed under the terms of the GNU General Public License v2
162 # $Header: /var/cvsroot/gentoo-x86/sys-libs/glibc/glibc-2.16.0.ebuild,v 1.1 2012/07/03 20:07:34 vapier Exp $
163
164 inherit eutils versionator libtool toolchain-funcs flag-o-matic gnuconfig multilib unpacker multiprocessing
165
166 DESCRIPTION="GNU libc6 (also called glibc2) C library"
167 HOMEPAGE="http://www.gnu.org/software/libc/libc.html"
168
169 LICENSE="LGPL-2"
170 #KEYWORDS="~amd64 ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
171 RESTRICT="strip" # strip ourself #46186
172 EMULTILIB_PKG="true"
173
174 # Configuration variables
175 RELEASE_VER=""
176 BRANCH_UPDATE=""
177 SNAP_VER=""
178 case ${PV} in
179 9999*)
180 EGIT_REPO_URIS=( "git://sourceware.org/git/glibc.git" "git://sourceware.org/git/glibc-ports.git" )
181 EGIT_SOURCEDIRS=( "${S}" "${S}/ports" )
182 inherit git-2
183 ;;
184 *_p*)
185 RELEASE_VER=${PV%_p*}
186 SNAP_VER=${PV#*_p}
187 ;;
188 *)
189 RELEASE_VER=${PV}
190 ;;
191 esac
192 MANPAGE_VER="" # pregenerated manpages
193 INFOPAGE_VER="" # pregenerated infopages
194 LIBIDN_VER="" # it's integrated into the main tarball now
195 PATCH_VER="1" # Gentoo patchset
196 PORTS_VER=${RELEASE_VER} # version of glibc ports addon
197 NPTL_KERN_VER=${NPTL_KERN_VER:-"2.6.16"} # min kernel version nptl requires
198
199 IUSE="debug gd hardened multilib selinux systemtap profile vanilla crosscompile_opts_headers-only"
200 [[ -n ${RELEASE_VER} ]] && S=${WORKDIR}/glibc-${RELEASE_VER}${SNAP_VER:+-${SNAP_VER}}
201
202 # Here's how the cross-compile logic breaks down ...
203 # CTARGET - machine that will target the binaries
204 # CHOST - machine that will host the binaries
205 # CBUILD - machine that will build the binaries
206 # If CTARGET != CHOST, it means you want a libc for cross-compiling.
207 # If CHOST != CBUILD, it means you want to cross-compile the libc.
208 # CBUILD = CHOST = CTARGET - native build/install
209 # CBUILD != (CHOST = CTARGET) - cross-compile a native build
210 # (CBUILD = CHOST) != CTARGET - libc for cross-compiler
211 # CBUILD != CHOST != CTARGET - cross-compile a libc for a cross-compiler
212 # For install paths:
213 # CHOST = CTARGET - install into /
214 # CHOST != CTARGET - install into /usr/CTARGET/
215
216 export CBUILD=${CBUILD:-${CHOST}}
217 export CTARGET=${CTARGET:-${CHOST}}
218 if [[ ${CTARGET} == ${CHOST} ]] ; then
219 if [[ ${CATEGORY/cross-} != ${CATEGORY} ]] ; then
220 export CTARGET=${CATEGORY/cross-}
221 fi
222 fi
223
224 [[ ${CTARGET} == hppa* ]] && NPTL_KERN_VER=${NPTL_KERN_VER/2.6.9/2.6.20}
225
226 is_crosscompile() {
227 [[ ${CHOST} != ${CTARGET} ]]
228 }
229
230 # Why SLOT 2.2 you ask yourself while sippin your tea ?
231 # Everyone knows 2.2 > 0, duh.
232 SLOT="2.2"
233
234 # General: We need a new-enough binutils for as-needed
235 # arch: we need to make sure our binutils/gcc supports TLS
236 DEPEND=">=sys-devel/gcc-3.4.4
237 arm? ( >=sys-devel/binutils-2.16.90 >=sys-devel/gcc-4.1.0 )
238 x86? ( >=sys-devel/gcc-4.3 )
239 amd64? ( >=sys-devel/binutils-2.19 >=sys-devel/gcc-4.3 )
240 ppc? ( >=sys-devel/gcc-4.1.0 )
241 ppc64? ( >=sys-devel/gcc-4.1.0 )
242 >=sys-devel/binutils-2.15.94
243 >=app-misc/pax-utils-0.1.10
244 virtual/os-headers
245 !<sys-apps/sandbox-1.2.18.1-r2
246 !<sys-apps/portage-2.1.2
247 selinux? ( sys-libs/libselinux )"
248 RDEPEND="!sys-kernel/ps3-sources
249 selinux? ( sys-libs/libselinux )
250 !sys-libs/nss-db"
251
252 if [[ ${CATEGORY/cross-} != ${CATEGORY} ]] ; then
253 DEPEND="${DEPEND} !crosscompile_opts_headers-only? ( ${CATEGORY}/gcc )"
254 [[ ${CATEGORY} == *-linux* ]] && DEPEND="${DEPEND} ${CATEGORY}/linux-headers"
255 else
256 DEPEND="${DEPEND} !vanilla? ( >=sys-libs/timezone-data-2007c )"
257 RDEPEND="${RDEPEND}
258 vanilla? ( !sys-libs/timezone-data )
259 !vanilla? ( sys-libs/timezone-data )"
260 fi
261
262 SRC_URI=$(
263 upstream_uris() {
264 echo mirror://gnu/glibc/$1 ftp://sources.redhat.com/pub/glibc/{releases,snapshots}/$1 mirror://gentoo/$1
265 }
266 gentoo_uris() {
267 local devspace="HTTP~vapier/dist/URI HTTP~azarah/glibc/URI"
268 devspace=${devspace//HTTP/http://dev.gentoo.org/}
269 echo mirror://gentoo/$1 ${devspace//URI/$1}
270 }
271
272 TARNAME=${PN}
273 if [[ -n ${SNAP_VER} ]] ; then
274 TARNAME="${PN}-${RELEASE_VER}"
275 [[ -n ${PORTS_VER} ]] && PORTS_VER=${SNAP_VER}
276 upstream_uris ${TARNAME}-${SNAP_VER}.tar.bz2
277 elif [[ -z ${EGIT_REPO_URIS} ]] ; then
278 upstream_uris ${TARNAME}-${RELEASE_VER}.tar.xz
279 fi
280 [[ -n ${LIBIDN_VER} ]] && upstream_uris glibc-libidn-${LIBIDN_VER}.tar.bz2
281 [[ -n ${PORTS_VER} ]] && upstream_uris ${TARNAME}-ports-${PORTS_VER}.tar.xz
282 [[ -n ${BRANCH_UPDATE} ]] && gentoo_uris glibc-${RELEASE_VER}-branch-update-${BRANCH_UPDATE}.patch.bz2
283 [[ -n ${PATCH_VER} ]] && gentoo_uris glibc-${RELEASE_VER}-patches-${PATCH_VER}.tar.bz2
284 [[ -n ${MANPAGE_VER} ]] && gentoo_uris glibc-manpages-${MANPAGE_VER}.tar.bz2
285 [[ -n ${INFOPAGE_VER} ]] && gentoo_uris glibc-infopages-${INFOPAGE_VER}.tar.bz2
286 )
287
288 # eblit-include [--skip] <function> [version]
289 eblit-include() {
290 local skipable=false
291 [[ $1 == "--skip" ]] && skipable=true && shift
292 [[ $1 == pkg_* ]] && skipable=true
293
294 local e v func=$1 ver=$2
295 [[ -z ${func} ]] && die "Usage: eblit-include <function> [version]"
296 for v in ${ver:+-}${ver} -${PVR} -${PV} "" ; do
297 e="${FILESDIR}/eblits/${func}${v}.eblit"
298 if [[ -e ${e} ]] ; then
299 source "${e}"
300 return 0
301 fi
302 done
303 ${skipable} && return 0
304 die "Could not locate requested eblit '${func}' in ${FILESDIR}/eblits/"
305 }
306
307 # eblit-run-maybe <function>
308 # run the specified function if it is defined
309 eblit-run-maybe() {
310 [[ $(type -t "$@") == "function" ]] && "$@"
311 }
312
313 # eblit-run <function> [version]
314 # aka: src_unpack() { eblit-run src_unpack ; }
315 eblit-run() {
316 eblit-include --skip common "${*:2}"
317 eblit-include "$@"
318 eblit-run-maybe eblit-$1-pre
319 eblit-${PN}-$1
320 eblit-run-maybe eblit-$1-post
321 }
322
323 src_unpack() { eblit-run src_unpack ; }
324 src_compile() { eblit-run src_compile ; }
325 src_test() { eblit-run src_test ; }
326 src_install() { eblit-run src_install ; }
327
328 # FILESDIR might not be available during binpkg install
329 for x in setup {pre,post}inst ; do
330 e="${FILESDIR}/eblits/pkg_${x}.eblit"
331 if [[ -e ${e} ]] ; then
332 . "${e}"
333 eval "pkg_${x}() { eblit-run pkg_${x} ; }"
334 fi
335 done
336
337 eblit-src_unpack-post() {
338 if use hardened ; then
339 cd "${S}"
340 einfo "Patching to get working PIE binaries on PIE (hardened) platforms"
341 gcc-specs-pie && epatch "${FILESDIR}"/2.12/glibc-2.12-hardened-pie.patch
342 epatch "${FILESDIR}"/2.10/glibc-2.10-hardened-configure-picdefault.patch
343 epatch "${FILESDIR}"/2.10/glibc-2.10-hardened-inittls-nosysenter.patch
344
345 einfo "Installing Hardened Gentoo SSP and FORTIFY_SOURCE handler"
346 cp -f "${FILESDIR}"/2.6/glibc-2.6-gentoo-stack_chk_fail.c \
347 debug/stack_chk_fail.c || die
348 cp -f "${FILESDIR}"/2.10/glibc-2.10-gentoo-chk_fail.c \
349 debug/chk_fail.c || die
350
351 if use debug ; then
352 # When using Hardened Gentoo stack handler, have smashes dump core for
353 # analysis - debug only, as core could be an information leak
354 # (paranoia).
355 sed -i \
356 -e '/^CFLAGS-backtrace.c/ iCFLAGS-stack_chk_fail.c = -DSSP_SMASH_DUMPS_CORE' \
357 debug/Makefile \
358 || die "Failed to modify debug/Makefile for debug stack handler"
359 sed -i \
360 -e '/^CFLAGS-backtrace.c/ iCFLAGS-chk_fail.c = -DSSP_SMASH_DUMPS_CORE' \
361 debug/Makefile \
362 || die "Failed to modify debug/Makefile for debug fortify handler"
363 fi
364
365 # Build nscd with ssp-all
366 sed -i \
367 -e 's:-fstack-protector$:-fstack-protector-all:' \
368 nscd/Makefile \
369 || die "Failed to ensure nscd builds with ssp-all"
370 fi
371 }
372
373 eblit-pkg_preinst-post() {
374 if [[ ${CTARGET} == arm* ]] ; then
375 # Backwards compat support for renaming hardfp ldsos #417287
376 local oldso='/lib/ld-linux.so.3'
377 local nldso='/lib/ld-linux-armhf.so.3'
378 if [[ -e ${D}${nldso} ]] ; then
379 if scanelf -qRyi "${ROOT}$(alt_prefix)"/*bin/ | grep -s "^${oldso}" ; then
380 ewarn "Symlinking old ldso (${oldso}) to new ldso (${nldso})."
381 ewarn "Please rebuild all packages using this old ldso as compat"
382 ewarn "support will be dropped in the future."
383 ln -s "${nldso##*/}" "${D}$(alt_prefix)${oldso}"
384 fi
385 fi
386 fi
387 }
388
389 maint_pkg_create() {
390 local base="/usr/local/src/gnu/glibc/glibc-${PV:0:1}_${PV:2:1}"
391 cd ${base}
392 local stamp=$(date +%Y%m%d)
393 local d
394 for d in libc ports ; do
395 #(cd ${d} && cvs up)
396 case ${d} in
397 libc) tarball="${P}";;
398 ports) tarball="${PN}-ports-${PV}";;
399 esac
400 rm -f ${tarball}*
401 ln -sf ${d} ${tarball}
402 tar hcf - ${tarball} --exclude-vcs | lzma > "${T}"/${tarball}.tar.lzma
403 du -b "${T}"/${tarball}.tar.lzma
404 done
405 }