Gentoo Archives: gentoo-commits

From: "Anthony G. Basile" <blueness@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: sys-libs/uclibc-ng/
Date: Wed, 28 Dec 2016 09:28:17
Message-Id: 1482917283.3b1b97322a1a6cd33183ce91700cb9af325fecec.blueness@gentoo
1 commit: 3b1b97322a1a6cd33183ce91700cb9af325fecec
2 Author: Anthony G. Basile <blueness <AT> gentoo <DOT> org>
3 AuthorDate: Mon Dec 26 18:41:21 2016 +0000
4 Commit: Anthony G. Basile <blueness <AT> gentoo <DOT> org>
5 CommitDate: Wed Dec 28 09:28:03 2016 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3b1b9732
7
8 sys-libs/uclibc-ng: remove 1.0.21, dropping obstack breaks backward compat
9
10 Package-Manager: portage-2.3.0
11
12 sys-libs/uclibc-ng/Manifest | 1 -
13 sys-libs/uclibc-ng/uclibc-ng-1.0.21.ebuild | 411 -----------------------------
14 2 files changed, 412 deletions(-)
15
16 diff --git a/sys-libs/uclibc-ng/Manifest b/sys-libs/uclibc-ng/Manifest
17 index 4819a0c..4d9b5bd 100644
18 --- a/sys-libs/uclibc-ng/Manifest
19 +++ b/sys-libs/uclibc-ng/Manifest
20 @@ -3,4 +3,3 @@ DIST uClibc-ng-1.0.17.tar.bz2 2769872 SHA256 fb4ab60698256d110bf30678a4cb27f14b3
21 DIST uClibc-ng-1.0.18.tar.bz2 2754404 SHA256 71b2d401025c1235a061cfc80d394760fb37f3611566e105b39dd034f6ed001c SHA512 579ddf4470d684979ba00b71545e7c34ca48d0ad58767222835f95c1401dea5435b6a945390c992e027cc59f2b419a9d835081d08c9d2e6db8b8ddeeed24f5cd WHIRLPOOL 60cd9cc03668af81988d603edc637a8d3dba8276bc0d71e6e915263119c8cf629d293e2da73a57def5b07732cd37f35527b1bc7d3ef01ff09dd6fcc2cf7d3a59
22 DIST uClibc-ng-1.0.19.tar.bz2 2748768 SHA256 139c495d8f71ec31da97e0330b056302ff40f0acba66988fcd737cfb4eb445ed SHA512 d385eca25c4a356b01b6d7acaef63daeeb172769d6306525fb95f62e818aca354cf04fae15af65bc346f19dcfdc601f87e52a8dc95f528d7392648d1b056fe63 WHIRLPOOL 1cc6b64df85df5f9e8c15c9cad3ed5641add20f402657a7d9c6283527ba7feac3c90ce293f2b15578c6d816c19018467336e50cd469a46482c2e4168f2addaf5
23 DIST uClibc-ng-1.0.20.tar.bz2 2414313 SHA256 0d0ee9d4df82958f65088f446ffd7548d88deb1f1b949f9ec3e673decb910597 SHA512 c0d4fc442f087d9bf994a7b84fa12cfae96f2980061cbb39b1c2cf243692d44fcab79d4a686ac5a7889b9081682aa13d013da0ad99cb30ad2b7150bdb19de0de WHIRLPOOL 16035dd540629aa453e023b6ea96eab5e577579e7bb940ed3411107ffd12bc78148e7a14222184207ae40633d30871d9e583c3456a04cc28b96dfd40b287e713
24 -DIST uClibc-ng-1.0.21.tar.bz2 2408890 SHA256 106b5c1c56ec5ed3c7d60dc4ce9b30a1f44c1de24ba3af263307a8fee5e90d38 SHA512 bc87999073f3d6f33053f3707ab6d5ac4c0587e0fc5150db17bc620f046f668ff59650da37677776c6fe579692d50db81157d53852311aafb766a38aca29e840 WHIRLPOOL 587cf0199fd0339ed16aa1c8201cc5500195525d3041a923b0e0631d6f7ee0b0e8629013a48ce35c38638d67d1e6b9a4c3df3bc9dfcfe571608cd1fa46a35d33
25
26 diff --git a/sys-libs/uclibc-ng/uclibc-ng-1.0.21.ebuild b/sys-libs/uclibc-ng/uclibc-ng-1.0.21.ebuild
27 deleted file mode 100644
28 index 15713cf..00000000
29 --- a/sys-libs/uclibc-ng/uclibc-ng-1.0.21.ebuild
30 +++ /dev/null
31 @@ -1,411 +0,0 @@
32 -# Copyright 1999-2016 Gentoo Foundation
33 -# Distributed under the terms of the GNU General Public License v2
34 -# $Id$
35 -
36 -EAPI="6"
37 -
38 -inherit flag-o-matic multilib savedconfig toolchain-funcs versionator
39 -
40 -if [[ ${PV} == "9999" ]] ; then
41 - EGIT_REPO_URI="git://uclibc-ng.org/git/uclibc-ng"
42 - inherit git-r3
43 - MY_P=uclibc-ng-${PV}
44 -else
45 - MY_P=uClibc-ng-${PV}
46 -fi
47 -
48 -DESCRIPTION="C library for developing embedded Linux systems"
49 -HOMEPAGE="http://www.uclibc-ng.org/"
50 -if [[ ${PV} != "9999" ]] ; then
51 - PATCH_VER=""
52 - SRC_URI="http://downloads.uclibc-ng.org/releases/${PV}/${MY_P}.tar.bz2"
53 - KEYWORDS="-* ~amd64 ~arm ~mips ~ppc ~x86"
54 -fi
55 -
56 -LICENSE="LGPL-2"
57 -SLOT="0"
58 -IUSE="debug hardened iconv ipv6 rpc symlink-compat crosscompile_opts_headers-only"
59 -RESTRICT="strip"
60 -
61 -# 1) We can't upgrade from uclibc to uclibc-ng via a soft blocker since portage
62 -# will delete the ld.so sym link prematurely and break the system. So we
63 -# will hard block and give manual migration instructions.
64 -# 2) Currently uclibc and uclibc-ng's iconv are in bad shape. We've been using
65 -# the breakout library. The disadvantage here is that we have to sprinkle
66 -# LDFAGS=-liconv on build systems that need to link against libiconv.
67 -RDEPEND="
68 - !!sys-libs/uclibc
69 - iconv? ( dev-libs/libiconv )"
70 -
71 -S=${WORKDIR}/${MY_P}
72 -
73 -export CBUILD=${CBUILD:-${CHOST}}
74 -export CTARGET=${CTARGET:-${CHOST}}
75 -if [[ ${CHOST} == ${CTARGET} ]] ; then
76 - if [[ ${CATEGORY} == cross-* ]] ; then
77 - export CTARGET=${CATEGORY#cross-}
78 - fi
79 -fi
80 -
81 -is_crosscompile() {
82 - [[ ${CHOST} != ${CTARGET} ]]
83 -}
84 -
85 -alt_build_kprefix() {
86 - if [[ ${CBUILD} == ${CHOST} && ${CHOST} == ${CTARGET} ]] ; then
87 - echo /usr/include
88 - else
89 - echo /usr/${CTARGET}/usr/include
90 - fi
91 -}
92 -
93 -just_headers() {
94 - use crosscompile_opts_headers-only && is_crosscompile
95 -}
96 -
97 -uclibc_endian() {
98 - # XXX: this wont work for a toolchain which is bi-endian, but we
99 - # dont have any such thing at the moment, so not a big deal
100 - touch "${T}"/endian.s
101 - $(tc-getAS ${CTARGET}) "${T}"/endian.s -o "${T}"/endian.o
102 - case $(file "${T}"/endian.o) in
103 - *" MSB "*) echo "BIG";;
104 - *" LSB "*) echo "LITTLE";;
105 - *) echo "NFC";;
106 - esac
107 - rm -f "${T}"/endian.{s,o}
108 -}
109 -
110 -kconfig_q_opt() {
111 - local flag=$1; shift
112 - case ${flag} in
113 - y|n) ;;
114 - *) flag=$(usex ${flag} y n) ;;
115 - esac
116 -
117 - local var="defs_${flag}"
118 - eval "${var}+=( $* )"
119 -}
120 -
121 -get_opt() {
122 - (
123 - unset ${1}
124 - . ${2:-"${S}"/.config}
125 - echo ${!1}
126 - )
127 -}
128 -
129 -make_oldconfig() {
130 - yes "" 2>/dev/null | emake -s oldconfig >/dev/null
131 -}
132 -
133 -make_config() {
134 - restore_config .config
135 - if [ -f .config ]; then
136 - make_oldconfig
137 - return 0
138 - else
139 - ewarn "Could not locate user configfile, so we will save a default one"
140 - fi
141 -
142 - emake ARCH=$1 defconfig >/dev/null
143 -
144 - local defs_{y,n}
145 -
146 - # These are forced off
147 - defs_n=(
148 - DOASSERTS
149 - DODEBUG_PT
150 - HAS_NO_THREADS
151 - PROPOLICE_BLOCK_ABRT
152 - SSP_QUICK_CANARY
153 - SUPPORT_LD_DEBUG_EARLY
154 - UCLIBC_HAS_CTYPE_UNSAFE
155 - UCLIBC_HAS_LOCALE
156 - UCLIBC_HAS_SSP_COMPAT
157 - )
158 -
159 - # These are forced on
160 - defs_y=(
161 - COMPAT_ATEXIT
162 - DO_C99_MATH
163 - DO_XSI_MATH
164 - FORCE_SHAREABLE_TEXT_SEGMENTS
165 - LDSO_GNU_HASH_SUPPORT
166 - LDSO_PRELINK_SUPPORT
167 - LDSO_PRELOAD_FILE_SUPPORT
168 - LDSO_RUNPATH_OF_EXECUTABLE
169 - LDSO_STANDALONE_SUPPORT
170 - MALLOC_GLIBC_COMPAT
171 - PROPOLICE_BLOCK_SEGV
172 - PTHREADS_DEBUG_SUPPORT
173 - UCLIBC_HAS_ARC4RANDOM
174 - UCLIBC_HAS_BACKTRACE
175 - UCLIBC_HAS_BSD_RES_CLOSE
176 - UCLIBC_HAS_CONTEXT_FUNCS
177 - UCLIBC_HAS_CTYPE_CHECKED
178 - UCLIBC_HAS_EXTRA_COMPAT_RES_STATE
179 - UCLIBC_HAS_FENV
180 - UCLIBC_HAS_FOPEN_CLOSEEXEC_MODE
181 - UCLIBC_HAS_FOPEN_EXCLUSIVE_MODE
182 - UCLIBC_HAS_FOPEN_LARGEFILE_MODE
183 - UCLIBC_HAS_FTS
184 - UCLIBC_HAS_FTW
185 - UCLIBC_HAS_GETPT
186 - UCLIBC_HAS_GLIBC_CUSTOM_PRINTF
187 - UCLIBC_HAS_GLIBC_CUSTOM_STREAMS
188 - UCLIBC_HAS_GNU_GLOB
189 - UCLIBC_HAS_HEXADECIMAL_FLOATS
190 - UCLIBC_HAS_LIBNSL_STUB
191 - UCLIBC_HAS_LIBRESOLV_STUB
192 - UCLIBC_HAS_LIBUTIL
193 - UCLIBC_HAS_NFTW
194 - UCLIBC_HAS_OBSOLETE_BSD_SIGNAL
195 - UCLIBC_HAS_OBSTACK
196 - UCLIBC_HAS_PRINTF_M_SPEC
197 - UCLIBC_HAS_PROGRAM_INVOCATION_NAME
198 - UCLIBC_HAS_RESOLVER_SUPPORT
199 - UCLIBC_HAS_SHA256_CRYPT_IMPL
200 - UCLIBC_HAS_SHA512_CRYPT_IMPL
201 - UCLIBC_HAS_SSP
202 - UCLIBC_HAS_STUBS
203 - UCLIBC_HAS_SYS_ERRLIST
204 - UCLIBC_HAS_SYS_SIGLIST
205 - UCLIBC_HAS_THREADS_NATIVE
206 - UCLIBC_HAS_TZ_FILE_READ_MANY
207 - UCLIBC_HAS_UTMP
208 - UCLIBC_HAS_UTMPX
209 - UCLIBC_HAS_WCHAR
210 - UCLIBC_HAS_WORDEXP
211 - UCLIBC_NTP_LEGACY
212 - UCLIBC_SUPPORT_AI_ADDRCONFIG
213 - UCLIBC_SUSV2_LEGACY
214 - UCLIBC_SUSV3_LEGACY
215 - UCLIBC_SUSV3_LEGACY_MACROS
216 - UCLIBC_SUSV4_LEGACY
217 - UCLIBC_USE_NETLINK
218 - )
219 -
220 - sed -i -e '/ARCH_.*_ENDIAN/d' .config
221 - kconfig_q_opt y "ARCH_WANTS_$(uclibc_endian)_ENDIAN"
222 -
223 - kconfig_q_opt debug DODEBUG
224 - kconfig_q_opt debug SUPPORT_LD_DEBUG
225 - kconfig_q_opt debug UCLIBC_HAS_PROFILING
226 -
227 - kconfig_q_opt ipv6 UCLIBC_HAS_IPV6
228 -
229 - kconfig_q_opt rpc UCLIBC_HAS_RPC
230 - kconfig_q_opt rpc UCLIBC_HAS_FULL_RPC
231 - kconfig_q_opt rpc UCLIBC_HAS_REENTRANT_RPC
232 -
233 - kconfig_q_opt hardened UCLIBC_BUILD_NOEXECSTACK
234 - kconfig_q_opt hardened UCLIBC_BUILD_NOW
235 - kconfig_q_opt hardened UCLIBC_BUILD_PIE
236 - kconfig_q_opt hardened UCLIBC_BUILD_RELRO
237 - kconfig_q_opt hardened UCLIBC_BUILD_SSP
238 -
239 - local count def
240 - for count in 1 2 ; do
241 - # Run twice as some config opts depend on others being enabled first.
242 - for def in ${defs_y[@]} ; do
243 - sed -i -e "s|.*\<${def}\>.*set|${def}=y|g" .config
244 - done
245 - for def in ${defs_n[@]} ; do
246 - sed -i -e "s|${def}=y|# ${def} is not set|g" .config
247 - done
248 - make_oldconfig
249 - done
250 -
251 - einfo "Enabled options:"
252 - for def in ${defs_y[@]} ; do
253 - einfo " " $(grep "^${def}=y" .config || echo "could not find ${def}")
254 - done
255 - einfo "Disabled options:"
256 - for def in ${defs_n[@]} ; do
257 - einfo " " $(grep "^# ${def} is not set" .config || echo "could not find ${def}")
258 - done
259 -
260 - # setup build and run paths
261 - sed -i \
262 - -e "/^CROSS_COMPILER_PREFIX/s|=.*|=\"${CTARGET}-\"|" \
263 - -e "/^KERNEL_HEADERS/s|=.*|=\"$(alt_build_kprefix)\"|" \
264 - -e "/^SHARED_LIB_LOADER_PREFIX/s|=.*|=\"/$(get_libdir)\"|" \
265 - -e "/^DEVEL_PREFIX/s|=.*|=\"/usr\"|" \
266 - -e "/^RUNTIME_PREFIX/s|=.*|=\"/\"|" \
267 - -e "/^UCLIBC_EXTRA_CFLAGS/s|=.*|=\"${UCLIBC_EXTRA_CFLAGS}\"|" \
268 - .config || die
269 -
270 - make_oldconfig
271 -}
272 -
273 -pkg_setup() {
274 - # Make sure our CHOST is a uclibc toolchain for native compiling
275 - if [[ ${CHOST} == ${CTARGET} ]]; then
276 - case ${CHOST} in
277 - *-uclinux*|*-uclibc*) ;;
278 - *) die "Use sys-devel/crossdev to build a uclibc toolchain" ;;
279 - esac
280 - fi
281 -
282 - # uClibc-ng doesn't carry old Linux threads, and since we force
283 - # threading our only choice is NPTL which requires i486 and later.
284 - [[ ${CTARGET} == i386* ]] && die "i386 can't support Native Posix Threads (NPTL)."
285 -}
286 -
287 -src_prepare() {
288 - local version subversion extraversion
289 -
290 - # uclibc-ng tries to create a two sym link with ld.so,
291 - # ld-uClibc.so.{0,MAJOR_VERSION} -> ld-uClibc-<version>.so
292 - # where MAJOR_VERSION != 0 indicates the ABI verison.
293 - # We want to get rid of this and just have ABI = 0.
294 - eapply "${FILESDIR}"/uclibc-compat-r1.patch
295 -
296 - # We need to change the major.minor.sublevel of uclibc-ng.
297 - # Upstream sets MAJOR_VERSION = 1 which breaks runtime linking.
298 - # If we really want the ABI bump, we'll have to hack the gcc
299 - # spec file and change the '*link:' rule.
300 - version=( $(get_version_components) )
301 - if [[ -z ${version[1]} ]]; then
302 - subversion=0
303 - extraversion=0
304 - else
305 - subversion=${version[1]}
306 - if [[ -z ${version[2]} ]]; then
307 - extraversion=0
308 - else
309 - extraversion=.${version[2]}
310 - fi
311 - fi
312 -
313 - sed -i \
314 - -e "/^MAJOR_VERSION/s|:=.*|:= 0|" \
315 - -e "/^MINOR_VERSION/s|:=.*|:= ${version[0]}|" \
316 - -e "/^SUBLEVEL/s|:=.*|:= ${subversion}|" \
317 - -e "/^EXTRAVERSION/s|:=.*|:= ${extraversion}|" \
318 - Rules.mak || die
319 -
320 - eapply_user
321 -}
322 -
323 -src_configure() {
324 - # Map our toolchain arch name to the name expected by uClibc-ng.
325 - local target=$(tc-arch)
326 - case ${target} in
327 - amd64) target="x86_64";;
328 - arm) target="arm";;
329 - mips) target="mips";;
330 - ppc) target="powerpc";;
331 - x86) target="i386";;
332 - esac
333 -
334 - # Do arch specific configuration by changing the defaults in
335 - # extra/Configs/Config.<arch>. If these are not overridden
336 - # by an save .config, they will be selected by default.
337 -
338 - # For i386, i486, i586 and i686
339 - local cpu
340 - if [[ ${target} == "i386" ]]; then
341 - [[ ${CTARGET} == i[456]86* ]] && cpu="${CTARGET:1:1}86"
342 - sed -i -e "s|default CONFIG_686|default CONFIG_${cpu:-486}|" \
343 - extra/Configs/Config.i386 || die
344 - fi
345 -
346 - # For arm
347 - if [[ ${target} == "arm" ]]; then
348 - sed -i -e '/Build for EABI/a \\tdefault y' extra/Configs/Config.arm
349 - fi
350 -
351 - # We set HOSTCC to the proper tuple rather than just 'gcc'
352 - sed -i -e "s|^HOSTCC.*=.*|HOSTCC=$(tc-getBUILD_CC)|" Rules.mak
353 -
354 - make_config ${target}
355 -
356 - einfo
357 - einfo "Runtime Prefix: /"
358 - einfo "Devel Prefix: /usr"
359 - einfo "Kernel Prefix: $(alt_build_kprefix)"
360 - einfo "CBUILD: ${CBUILD}"
361 - einfo "CHOST: ${CHOST}"
362 - einfo "CTARGET: ${CTARGET}"
363 - einfo "ABI: ${ABI}"
364 - einfo "ENDIAN: $(uclibc_endian)"
365 - einfo
366 -}
367 -
368 -src_compile() {
369 - emake headers
370 - just_headers && return 0
371 -
372 - emake
373 - if is_crosscompile ; then
374 - emake -C utils hostutils
375 - else
376 - emake utils
377 - fi
378 -}
379 -
380 -src_test() {
381 - is_crosscompile && return 0
382 -
383 - # assert test fails on pax/grsec enabled kernels
384 - # normal vfork test fails in sandbox (both glibc/uclibc)
385 - emake UCLIBC_ONLY=1 check
386 -}
387 -
388 -src_install() {
389 - local sysroot=${D}
390 - is_crosscompile && sysroot+="/usr/${CTARGET}"
391 -
392 - local target="install"
393 - just_headers && target="install_headers"
394 - emake DESTDIR="${sysroot}" ${target}
395 -
396 - save_config .config
397 -
398 - # remove files coming from kernel-headers
399 - rm -rf "${sysroot}"/usr/include/{linux,asm*}
400 -
401 - # Make sure we install the sys-include symlink so that when
402 - # we build a 2nd stage cross-compiler, gcc finds the target
403 - # system headers correctly. See gcc/doc/gccinstall.info
404 - if is_crosscompile ; then
405 - dosym usr/include /usr/${CTARGET}/sys-include
406 - if ! just_headers && [[ -n $(get_opt HAVE_SHARED) ]] ; then
407 - newbin utils/ldconfig.host ${CTARGET}-ldconfig
408 - newbin utils/ldd.host ${CTARGET}-ldd
409 - fi
410 - return 0
411 - fi
412 -
413 - if use symlink-compat; then
414 - dosym libc.so.0 "${DESTDIR}"/lib/libcrypt.so.0
415 - dosym libc.so.0 "${DESTDIR}"/lib/libdl.so.0
416 - dosym libc.so.0 "${DESTDIR}"/lib/libm.so.0
417 - dosym libc.so.0 "${DESTDIR}"/lib/libpthread.so.0
418 - dosym libc.so.0 "${DESTDIR}"/lib/librt.so.0
419 - dosym libc.so.0 "${DESTDIR}"/lib/libresolv.so.0
420 - dosym libc.so.0 "${DESTDIR}"/lib/libubacktrace.so.0
421 - dosym libc.so.0 "${DESTDIR}"/lib/libutil.so.0
422 - fi
423 -
424 - emake DESTDIR="${D}" install_utils
425 - dobin extra/scripts/getent
426 - dodoc README docs/*.txt
427 -}
428 -
429 -pkg_postinst() {
430 - is_crosscompile && return 0
431 -
432 - if [ ! -e "${ROOT}"/etc/TZ ] ; then
433 - ewarn "Please remember to set your timezone in /etc/TZ"
434 - mkdir -p "${ROOT}"/etc
435 - echo "UTC" > "${ROOT}"/etc/TZ
436 - fi
437 - [ "${ROOT}" != "/" ] && return 0
438 - # update cache before reloading init
439 - ldconfig
440 - # reload init ...
441 - /sbin/telinit U 2>/dev/null
442 -}