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