Gentoo Archives: gentoo-commits

From: Matthias Maier <tamiko@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: sys-libs/glibc/
Date: Mon, 19 Jun 2017 15:15:11
Message-Id: 1497885299.c46d0e63310fe68ed4bf6a3b0c3fbcc5d4d9918b.tamiko@gentoo
1 commit: c46d0e63310fe68ed4bf6a3b0c3fbcc5d4d9918b
2 Author: Matthias Maier <tamiko <AT> gentoo <DOT> org>
3 AuthorDate: Thu Jun 8 17:14:52 2017 +0000
4 Commit: Matthias Maier <tamiko <AT> gentoo <DOT> org>
5 CommitDate: Mon Jun 19 15:14:59 2017 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c46d0e63
7
8 sys-libs/glibc: bump 2.23 to patchset 8
9
10 Package-Manager: Portage-2.3.6, Repoman-2.3.2
11
12 sys-libs/glibc/Manifest | 1 +
13 sys-libs/glibc/glibc-2.23-r4.ebuild | 154 ++++++++++++++++++++++++++++++++++++
14 2 files changed, 155 insertions(+)
15
16 diff --git a/sys-libs/glibc/Manifest b/sys-libs/glibc/Manifest
17 index 0e0f2dd8856..16ba61a4578 100644
18 --- a/sys-libs/glibc/Manifest
19 +++ b/sys-libs/glibc/Manifest
20 @@ -12,6 +12,7 @@ DIST glibc-2.21.tar.xz 12322092 SHA256 aeeb362437965a5d3f40b151094ca79def04a115b
21 DIST glibc-2.22-patches-13.tar.bz2 74479 SHA256 ffd1e0f9a41be030e5ce2518d9e84a1fbaa9a4fb2e96f1b85dafb05fea666c86 SHA512 73517fc1502b0733d67ade1d1ba6168415f5da64f37045fac0b10ef57155bf6dfbe1876e4742d2543fcea0c935c179426f6fbb94f0205968392ef903d2f83897 WHIRLPOOL 0eeedaf09eb42e5186256dd41aae00cd2b9b8e3ab929a792e83d0fd8e8a8630d829f01b293588bf59e105eb17ab512416d8d115c3e542cddc34a84b84d56af3d
22 DIST glibc-2.22.tar.xz 12969072 SHA256 eb731406903befef1d8f878a46be75ef862b9056ab0cde1626d08a7a05328948 SHA512 a8719f3a4f8aa5fa81711116fdafbea5082c6dfd85bd8c4cdce60571910263ab422b35bb8b55a84d37ccb146442133ba60a84d453ca4a439c8ccd35419bd051b WHIRLPOOL f7e707b3776fc197a2e7bf5633721925507237b154bbc1f94b9fc303c87e6fc039ff0758da6ee55b4c1a0daaa87c6e594a6c96e7b00a7ba8ae98ee29918709a7
23 DIST glibc-2.23-patches-7.tar.bz2 315221 SHA256 97ef9e370ce9b09d8e9b9f6239f7ef94dd837d29b7bfc1404438c63da1d534ac SHA512 c0d0cab0a370acef0b085b0ab09ce868425a12bbb371d0a9ff91dc83a74a0d8d3b541d10c44650b00b7cb155f8ac1f87764e6a6bd9d6bae8a9a904b4df1650ef WHIRLPOOL 128ea1a2eeaad3d95cdf1054d10232a34e8f88d10ed8907a67d9ff02734243d20b21595ca3698a4861d9c65e2a59aedbcf8e399bd1ed879dba1556ce2995ad9b
24 +DIST glibc-2.23-patches-8.tar.bz2 304199 SHA256 6110777176abfb8d287d82804d98e007c255db6040a1beca589a212772c90482 SHA512 470814bbbd9d4ee5fa2dd7570a2e14b0229723e373e801472856fd6c2f089499eddc300f69b49af8ba0edbdca583ee3ca521fdb5c642509717cafea0ad925fd2 WHIRLPOOL 1ef9a431d67d7669f34f7db21185d50ddd6dc82c549a9ff274f0b98454417f4098ee771bfe10073be12d3c153ee46ff36e40b46ecb31844ab09791ae29b49074
25 DIST glibc-2.23.tar.xz 13455260 SHA256 94efeb00e4603c8546209cefb3e1a50a5315c86fa9b078b6fad758e187ce13e9 SHA512 b82953388cd028e174cb08f082557bbce0dad8b67b17d31b29f90102fd52a51e03d591448ecb64882a1c1d5303afffc7f6ede85cee4c784a9284fbc9b4ad26cf WHIRLPOOL 7c7e3bf55a89a04bac917b9ca5a1cbb1613f22c427d2766f114b5a36f9635856005b823852ef5d3b73462b577fe4e5865e68e7b64633d48a95fa1e5eaa831a71
26 DIST glibc-2.24-patches-7.tar.bz2 67854 SHA256 0204b1a6d8c7ea29c566d85afa0b0b6cd91674078d2d55332c166d2fe12e2208 SHA512 fb02272ada499e621f1d345ed1942513cf9e767a55176efcf2cb6e979ff9c5921149bf8f67ecc065e64cd3ee7dbb80fe77d0a1a45b1fa9a1b88b574ccf568ea5 WHIRLPOOL 482051003a9c7752e5a32aeb38ced9abbcba0812f637f4cf18883f7a421186380af5d9a7cb93a2b1d0884ea511ff6164370032a837488be326f76b93549ff371
27 DIST glibc-2.24.tar.xz 13554048 SHA256 99d4a3e8efd144d71488e478f62587578c0f4e1fa0b4eed47ee3d4975ebeb5d3 SHA512 a4cb28a2c51a0cc029ed69da7cba11931a615ba897235590b4f7fad2eaabec9042f8250eaac2a5860997437a69ab13304f10a634000e52c0336b5593b7969adb WHIRLPOOL be82b47fc73f7e780e8e73a5f58b313d8e861d5ea8c4320f95ef0d8c1e125ff011d61dcfc0380be0e83868bd8c3299de1ea662da7fc8d709050e89b2c126e3eb
28
29 diff --git a/sys-libs/glibc/glibc-2.23-r4.ebuild b/sys-libs/glibc/glibc-2.23-r4.ebuild
30 new file mode 100644
31 index 00000000000..0565295ab8e
32 --- /dev/null
33 +++ b/sys-libs/glibc/glibc-2.23-r4.ebuild
34 @@ -0,0 +1,154 @@
35 +# Copyright 1999-2017 Gentoo Foundation
36 +# Distributed under the terms of the GNU General Public License v2
37 +
38 +EAPI="5"
39 +
40 +inherit toolchain-glibc
41 +
42 +DESCRIPTION="GNU libc6 (also called glibc2) C library"
43 +HOMEPAGE="https://www.gnu.org/software/libc/libc.html"
44 +
45 +LICENSE="LGPL-2.1+ BSD HPND ISC inner-net rc PCRE"
46 +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
47 +RESTRICT="strip" # strip ourself #46186
48 +EMULTILIB_PKG="true"
49 +
50 +# Configuration variables
51 +RELEASE_VER=""
52 +case ${PV} in
53 +9999*)
54 + EGIT_REPO_URIS="git://sourceware.org/git/glibc.git"
55 + EGIT_SOURCEDIRS="${S}"
56 + inherit git-2
57 + ;;
58 +*)
59 + RELEASE_VER=${PV}
60 + ;;
61 +esac
62 +GCC_BOOTSTRAP_VER="4.7.3-r1"
63 +PATCH_VER="8" # Gentoo patchset
64 +: ${NPTL_KERN_VER:="2.6.32"} # min kernel version nptl requires
65 +
66 +IUSE="audit caps debug gd hardened multilib nscd +rpc selinux systemtap profile suid vanilla crosscompile_opts_headers-only"
67 +
68 +# Here's how the cross-compile logic breaks down ...
69 +# CTARGET - machine that will target the binaries
70 +# CHOST - machine that will host the binaries
71 +# CBUILD - machine that will build the binaries
72 +# If CTARGET != CHOST, it means you want a libc for cross-compiling.
73 +# If CHOST != CBUILD, it means you want to cross-compile the libc.
74 +# CBUILD = CHOST = CTARGET - native build/install
75 +# CBUILD != (CHOST = CTARGET) - cross-compile a native build
76 +# (CBUILD = CHOST) != CTARGET - libc for cross-compiler
77 +# CBUILD != CHOST != CTARGET - cross-compile a libc for a cross-compiler
78 +# For install paths:
79 +# CHOST = CTARGET - install into /
80 +# CHOST != CTARGET - install into /usr/CTARGET/
81 +
82 +export CBUILD=${CBUILD:-${CHOST}}
83 +export CTARGET=${CTARGET:-${CHOST}}
84 +if [[ ${CTARGET} == ${CHOST} ]] ; then
85 + if [[ ${CATEGORY} == cross-* ]] ; then
86 + export CTARGET=${CATEGORY#cross-}
87 + fi
88 +fi
89 +
90 +is_crosscompile() {
91 + [[ ${CHOST} != ${CTARGET} ]]
92 +}
93 +
94 +# Why SLOT 2.2 you ask yourself while sippin your tea ?
95 +# Everyone knows 2.2 > 0, duh.
96 +SLOT="2.2"
97 +
98 +# General: We need a new-enough binutils/gcc to match upstream baseline.
99 +# arch: we need to make sure our binutils/gcc supports TLS.
100 +COMMON_DEPEND="
101 + nscd? ( selinux? (
102 + audit? ( sys-process/audit )
103 + caps? ( sys-libs/libcap )
104 + ) )
105 + suid? ( caps? ( sys-libs/libcap ) )
106 + selinux? ( sys-libs/libselinux )
107 +"
108 +DEPEND="${COMMON_DEPEND}
109 + >=app-misc/pax-utils-0.1.10
110 + !<sys-apps/sandbox-1.6
111 + !<sys-apps/portage-2.1.2"
112 +RDEPEND="${COMMON_DEPEND}
113 + !sys-kernel/ps3-sources
114 + sys-apps/gentoo-functions
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.7
121 + )"
122 + [[ ${CATEGORY} == *-linux* ]] && DEPEND+=" ${CATEGORY}/linux-headers"
123 +else
124 + DEPEND+="
125 + >=sys-devel/binutils-2.24
126 + >=sys-devel/gcc-4.7
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~tamiko/distfiles/URI"
137 + devspace=${devspace//HTTP/https://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 +src_unpack() {
147 + [[ -n ${GCC_BOOTSTRAP_VER} ]] && use multilib && unpack gcc-${GCC_BOOTSTRAP_VER}-multilib-bootstrap.tar.bz2
148 +
149 + toolchain-glibc_src_unpack
150 +}
151 +
152 +src_prepare() {
153 + toolchain-glibc_src_prepare
154 +
155 + cd "${S}"
156 +
157 + epatch "${FILESDIR}"/2.19/${PN}-2.19-ia64-gcc-4.8-reloc-hack.patch #503838
158 +
159 + if use hardened ; then
160 + # We don't enable these for non-hardened as the output is very terse --
161 + # it only states that a crash happened. The default upstream behavior
162 + # includes backtraces and symbols.
163 + einfo "Installing Hardened Gentoo SSP and FORTIFY_SOURCE handler"
164 + cp "${FILESDIR}"/2.20/glibc-2.20-gentoo-stack_chk_fail.c debug/stack_chk_fail.c || die
165 + cp "${FILESDIR}"/2.20/glibc-2.20-gentoo-chk_fail.c debug/chk_fail.c || die
166 +
167 + if use debug ; then
168 + # Allow SIGABRT to dump core on non-hardened systems, or when debug is requested.
169 + sed -i \
170 + -e '/^CFLAGS-backtrace.c/ iCPPFLAGS-stack_chk_fail.c = -DSSP_SMASH_DUMPS_CORE' \
171 + -e '/^CFLAGS-backtrace.c/ iCPPFLAGS-chk_fail.c = -DSSP_SMASH_DUMPS_CORE' \
172 + debug/Makefile || die
173 + fi
174 +
175 + # Build various bits with ssp-all
176 + sed -i \
177 + -e 's:-fstack-protector$:-fstack-protector-all:' \
178 + */Makefile || die
179 + fi
180 +
181 + case $(gcc-fullversion) in
182 + 4.8.[0-3]|4.9.0)
183 + eerror "You need to switch to a newer compiler; gcc-4.8.[0-3] and gcc-4.9.0 miscompile"
184 + eerror "glibc. See https://bugs.gentoo.org/547420 for details."
185 + die "need to switch compilers #547420"
186 + ;;
187 + esac
188 +}