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: ChangeLog glibc-2.17.ebuild glibc-2.18-r1.ebuild glibc-2.18.ebuild
Date: Wed, 22 Jan 2014 20:06:35
Message-Id: 20140122200630.A45402004C@flycatcher.gentoo.org
1 vapier 14/01/22 20:06:30
2
3 Modified: ChangeLog glibc-2.17.ebuild
4 Added: glibc-2.18-r1.ebuild
5 Removed: glibc-2.18.ebuild
6 Log:
7 Add m68k keywords.
8
9 Revision Changes Path
10 1.977 sys-libs/glibc/ChangeLog
11
12 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-libs/glibc/ChangeLog?rev=1.977&view=markup
13 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-libs/glibc/ChangeLog?rev=1.977&content-type=text/plain
14 diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-libs/glibc/ChangeLog?r1=1.976&r2=1.977
15
16 Index: ChangeLog
17 ===================================================================
18 RCS file: /var/cvsroot/gentoo-x86/sys-libs/glibc/ChangeLog,v
19 retrieving revision 1.976
20 retrieving revision 1.977
21 diff -u -r1.976 -r1.977
22 --- ChangeLog 17 Jan 2014 07:45:29 -0000 1.976
23 +++ ChangeLog 22 Jan 2014 20:06:30 -0000 1.977
24 @@ -1,6 +1,12 @@
25 # ChangeLog for sys-libs/glibc
26 # Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2
27 -# $Header: /var/cvsroot/gentoo-x86/sys-libs/glibc/ChangeLog,v 1.976 2014/01/17 07:45:29 vapier Exp $
28 +# $Header: /var/cvsroot/gentoo-x86/sys-libs/glibc/ChangeLog,v 1.977 2014/01/22 20:06:30 vapier Exp $
29 +
30 +*glibc-2.18-r1 (22 Jan 2014)
31 +
32 + 22 Jan 2014; Mike Frysinger <vapier@g.o> glibc-2.17.ebuild,
33 + -glibc-2.18.ebuild, +glibc-2.18-r1.ebuild:
34 + Add m68k keywords.
35
36 17 Jan 2014; Mike Frysinger <vapier@g.o>
37 files/eblits/src_install.eblit:
38
39
40
41 1.30 sys-libs/glibc/glibc-2.17.ebuild
42
43 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-libs/glibc/glibc-2.17.ebuild?rev=1.30&view=markup
44 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-libs/glibc/glibc-2.17.ebuild?rev=1.30&content-type=text/plain
45 diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-libs/glibc/glibc-2.17.ebuild?r1=1.29&r2=1.30
46
47 Index: glibc-2.17.ebuild
48 ===================================================================
49 RCS file: /var/cvsroot/gentoo-x86/sys-libs/glibc/glibc-2.17.ebuild,v
50 retrieving revision 1.29
51 retrieving revision 1.30
52 diff -u -r1.29 -r1.30
53 --- glibc-2.17.ebuild 17 Jan 2014 03:15:48 -0000 1.29
54 +++ glibc-2.17.ebuild 22 Jan 2014 20:06:30 -0000 1.30
55 @@ -1,6 +1,6 @@
56 # Copyright 1999-2014 Gentoo Foundation
57 # Distributed under the terms of the GNU General Public License v2
58 -# $Header: /var/cvsroot/gentoo-x86/sys-libs/glibc/glibc-2.17.ebuild,v 1.29 2014/01/17 03:15:48 vapier Exp $
59 +# $Header: /var/cvsroot/gentoo-x86/sys-libs/glibc/glibc-2.17.ebuild,v 1.30 2014/01/22 20:06:30 vapier Exp $
60
61 inherit eutils versionator toolchain-funcs flag-o-matic gnuconfig multilib systemd unpacker multiprocessing
62
63 @@ -8,7 +8,7 @@
64 HOMEPAGE="http://www.gnu.org/software/libc/libc.html"
65
66 LICENSE="LGPL-2.1+ BSD HPND ISC inner-net rc PCRE"
67 -KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 s390 ~sh ~sparc x86"
68 +KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 ~sh ~sparc x86"
69 RESTRICT="strip" # strip ourself #46186
70 EMULTILIB_PKG="true"
71
72
73
74
75 1.1 sys-libs/glibc/glibc-2.18-r1.ebuild
76
77 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-libs/glibc/glibc-2.18-r1.ebuild?rev=1.1&view=markup
78 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-libs/glibc/glibc-2.18-r1.ebuild?rev=1.1&content-type=text/plain
79
80 Index: glibc-2.18-r1.ebuild
81 ===================================================================
82 # Copyright 1999-2014 Gentoo Foundation
83 # Distributed under the terms of the GNU General Public License v2
84 # $Header: /var/cvsroot/gentoo-x86/sys-libs/glibc/glibc-2.18-r1.ebuild,v 1.1 2014/01/22 20:06:30 vapier Exp $
85
86 inherit eutils versionator toolchain-funcs flag-o-matic gnuconfig multilib systemd unpacker multiprocessing
87
88 DESCRIPTION="GNU libc6 (also called glibc2) C library"
89 HOMEPAGE="http://www.gnu.org/software/libc/libc.html"
90
91 LICENSE="LGPL-2.1+ BSD HPND ISC inner-net rc PCRE"
92 KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
93 RESTRICT="strip" # strip ourself #46186
94 EMULTILIB_PKG="true"
95
96 # Configuration variables
97 RELEASE_VER=""
98 case ${PV} in
99 9999*)
100 EGIT_REPO_URIS="git://sourceware.org/git/glibc.git"
101 EGIT_SOURCEDIRS="${S}"
102 inherit git-2
103 ;;
104 *)
105 RELEASE_VER=${PV}
106 ;;
107 esac
108 PATCH_VER="3" # Gentoo patchset
109 NPTL_KERN_VER=${NPTL_KERN_VER:-"2.6.16"} # min kernel version nptl requires
110
111 IUSE="debug gd hardened multilib nscd selinux systemtap profile suid vanilla crosscompile_opts_headers-only"
112
113 # Here's how the cross-compile logic breaks down ...
114 # CTARGET - machine that will target the binaries
115 # CHOST - machine that will host the binaries
116 # CBUILD - machine that will build the binaries
117 # If CTARGET != CHOST, it means you want a libc for cross-compiling.
118 # If CHOST != CBUILD, it means you want to cross-compile the libc.
119 # CBUILD = CHOST = CTARGET - native build/install
120 # CBUILD != (CHOST = CTARGET) - cross-compile a native build
121 # (CBUILD = CHOST) != CTARGET - libc for cross-compiler
122 # CBUILD != CHOST != CTARGET - cross-compile a libc for a cross-compiler
123 # For install paths:
124 # CHOST = CTARGET - install into /
125 # CHOST != CTARGET - install into /usr/CTARGET/
126
127 export CBUILD=${CBUILD:-${CHOST}}
128 export CTARGET=${CTARGET:-${CHOST}}
129 if [[ ${CTARGET} == ${CHOST} ]] ; then
130 if [[ ${CATEGORY} == cross-* ]] ; then
131 export CTARGET=${CATEGORY#cross-}
132 fi
133 fi
134
135 [[ ${CTARGET} == hppa* ]] && NPTL_KERN_VER=${NPTL_KERN_VER/2.6.16/2.6.20}
136
137 is_crosscompile() {
138 [[ ${CHOST} != ${CTARGET} ]]
139 }
140
141 # Why SLOT 2.2 you ask yourself while sippin your tea ?
142 # Everyone knows 2.2 > 0, duh.
143 SLOT="2.2"
144
145 # General: We need a new-enough binutils/gcc to match upstream baseline.
146 # arch: we need to make sure our binutils/gcc supports TLS.
147 DEPEND=">=app-misc/pax-utils-0.1.10
148 !<sys-apps/sandbox-1.6
149 !<sys-apps/portage-2.1.2
150 selinux? ( sys-libs/libselinux )"
151 RDEPEND="!sys-kernel/ps3-sources
152 selinux? ( sys-libs/libselinux )
153 !sys-libs/nss-db"
154
155 if [[ ${CATEGORY} == cross-* ]] ; then
156 DEPEND+=" !crosscompile_opts_headers-only? (
157 >=${CATEGORY}/binutils-2.20
158 >=${CATEGORY}/gcc-4.3
159 )"
160 [[ ${CATEGORY} == *-linux* ]] && DEPEND+=" ${CATEGORY}/linux-headers"
161 else
162 DEPEND+="
163 >=sys-devel/binutils-2.20
164 >=sys-devel/gcc-4.3
165 virtual/os-headers
166 !vanilla? ( >=sys-libs/timezone-data-2012c )"
167 RDEPEND+="
168 vanilla? ( !sys-libs/timezone-data )
169 !vanilla? ( sys-libs/timezone-data )"
170 fi
171
172 SRC_URI=$(
173 upstream_uris() {
174 echo mirror://gnu/glibc/$1 ftp://sourceware.org/pub/glibc/{releases,snapshots}/$1 mirror://gentoo/$1
175 }
176 gentoo_uris() {
177 local devspace="HTTP~vapier/dist/URI HTTP~azarah/glibc/URI"
178 devspace=${devspace//HTTP/http://dev.gentoo.org/}
179 echo mirror://gentoo/$1 ${devspace//URI/$1}
180 }
181
182 [[ -z ${EGIT_REPO_URIS} ]] && upstream_uris ${P}.tar.xz
183 [[ -n ${PATCH_VER} ]] && gentoo_uris ${P}-patches-${PATCH_VER}.tar.bz2
184 )
185
186 # eblit-include [--skip] <function> [version]
187 eblit-include() {
188 local skipable=false
189 [[ $1 == "--skip" ]] && skipable=true && shift
190 [[ $1 == pkg_* ]] && skipable=true
191
192 local e v func=$1 ver=$2
193 [[ -z ${func} ]] && die "Usage: eblit-include <function> [version]"
194 for v in ${ver:+-}${ver} -${PVR} -${PV} "" ; do
195 e="${FILESDIR}/eblits/${func}${v}.eblit"
196 if [[ -e ${e} ]] ; then
197 source "${e}"
198 return 0
199 fi
200 done
201 ${skipable} && return 0
202 die "Could not locate requested eblit '${func}' in ${FILESDIR}/eblits/"
203 }
204
205 # eblit-run-maybe <function>
206 # run the specified function if it is defined
207 eblit-run-maybe() {
208 [[ $(type -t "$@") == "function" ]] && "$@"
209 }
210
211 # eblit-run <function> [version]
212 # aka: src_unpack() { eblit-run src_unpack ; }
213 eblit-run() {
214 eblit-include --skip common "${*:2}"
215 eblit-include "$@"
216 eblit-run-maybe eblit-$1-pre
217 eblit-${PN}-$1
218 eblit-run-maybe eblit-$1-post
219 }
220
221 src_unpack() { eblit-run src_unpack ; }
222 src_compile() { eblit-run src_compile ; }
223 src_test() { eblit-run src_test ; }
224 src_install() { eblit-run src_install ; }
225
226 # FILESDIR might not be available during binpkg install
227 for x in setup {pre,post}inst ; do
228 e="${FILESDIR}/eblits/pkg_${x}.eblit"
229 if [[ -e ${e} ]] ; then
230 . "${e}"
231 eval "pkg_${x}() { eblit-run pkg_${x} ; }"
232 fi
233 done
234
235 eblit-src_unpack-pre() {
236 GLIBC_PATCH_EXCLUDE+=" 00_all_0012-mips-add-clock_-g-s-ettime-symbol-compat-hacks.patch" #456912 #481438
237 }
238
239 eblit-src_unpack-post() {
240 if use hardened ; then
241 cd "${S}"
242 einfo "Patching to get working PIE binaries on PIE (hardened) platforms"
243 gcc-specs-pie && epatch "${FILESDIR}"/2.17/glibc-2.17-hardened-pie.patch
244 epatch "${FILESDIR}"/2.10/glibc-2.10-hardened-configure-picdefault.patch
245 epatch "${FILESDIR}"/2.18/glibc-2.18-hardened-inittls-nosysenter.patch
246
247 einfo "Installing Hardened Gentoo SSP and FORTIFY_SOURCE handler"
248 cp -f "${FILESDIR}"/2.18/glibc-2.18-gentoo-stack_chk_fail.c \
249 debug/stack_chk_fail.c || die
250 cp -f "${FILESDIR}"/2.18/glibc-2.18-gentoo-chk_fail.c \
251 debug/chk_fail.c || die
252
253 if use debug ; then
254 # When using Hardened Gentoo stack handler, have smashes dump core for
255 # analysis - debug only, as core could be an information leak
256 # (paranoia).
257 sed -i \
258 -e '/^CFLAGS-backtrace.c/ iCFLAGS-stack_chk_fail.c = -DSSP_SMASH_DUMPS_CORE' \
259 debug/Makefile \
260 || die "Failed to modify debug/Makefile for debug stack handler"
261 sed -i \
262 -e '/^CFLAGS-backtrace.c/ iCFLAGS-chk_fail.c = -DSSP_SMASH_DUMPS_CORE' \
263 debug/Makefile \
264 || die "Failed to modify debug/Makefile for debug fortify handler"
265 fi
266
267 # Build nscd with ssp-all
268 sed -i \
269 -e 's:-fstack-protector$:-fstack-protector-all:' \
270 nscd/Makefile \
271 || die "Failed to ensure nscd builds with ssp-all"
272 fi
273 }
274
275 eblit-pkg_preinst-post() {
276 if [[ ${CTARGET} == arm* ]] ; then
277 # Backwards compat support for renaming hardfp ldsos #417287
278 local oldso='/lib/ld-linux.so.3'
279 local nldso='/lib/ld-linux-armhf.so.3'
280 if [[ -e ${D}${nldso} ]] ; then
281 if scanelf -qRyi "${ROOT}$(alt_prefix)"/*bin/ | grep -s "^${oldso}" ; then
282 ewarn "Symlinking old ldso (${oldso}) to new ldso (${nldso})."
283 ewarn "Please rebuild all packages using this old ldso as compat"
284 ewarn "support will be dropped in the future."
285 ln -s "${nldso##*/}" "${D}$(alt_prefix)${oldso}"
286 fi
287 fi
288 fi
289 }