1 |
commit: aef3365ff1ae4b40ea0d342e0bdace003c5b234c |
2 |
Author: Anthony G. Basile <blueness <AT> gentoo <DOT> org> |
3 |
AuthorDate: Wed Dec 21 01:10:30 2011 +0000 |
4 |
Commit: Anthony G. Basile <blueness <AT> gentoo <DOT> org> |
5 |
CommitDate: Wed Dec 21 01:10:30 2011 +0000 |
6 |
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/hardened-dev.git;a=commit;h=aef3365f |
7 |
|
8 |
Fix __libc_epoll_pwait compile failure on x86 |
9 |
|
10 |
(Portage version: 2.1.10.41/git/Linux x86_64, unsigned Manifest commit) |
11 |
|
12 |
--- |
13 |
sys-libs/uclibc/ChangeLog | 3 + |
14 |
.../uclibc/files/uclibc-0.9.32-fix_epoll.patch | 42 +++ |
15 |
sys-libs/uclibc/uclibc-0.9.30.1-r1.ebuild | 380 -------------------- |
16 |
...clibc-0.9.32.ebuild => uclibc-0.9.32-r1.ebuild} | 0 |
17 |
sys-libs/uclibc/uclibc-0.9.32.ebuild | 1 + |
18 |
5 files changed, 46 insertions(+), 380 deletions(-) |
19 |
|
20 |
diff --git a/sys-libs/uclibc/ChangeLog b/sys-libs/uclibc/ChangeLog |
21 |
index 362aeef..d4c9ae9 100644 |
22 |
--- a/sys-libs/uclibc/ChangeLog |
23 |
+++ b/sys-libs/uclibc/ChangeLog |
24 |
@@ -1,5 +1,8 @@ |
25 |
|
26 |
|
27 |
+ 21 Dec 2011; Anthony G. Basile <blueness@g.o> ChangeLog: |
28 |
+ Fix __libc_epoll_pwait compile failure on x86 |
29 |
+ |
30 |
20 Dec 2011; Anthony G. Basile <blueness@g.o> ChangeLog: |
31 |
Added patch from bug #308477 |
32 |
|
33 |
|
34 |
diff --git a/sys-libs/uclibc/files/uclibc-0.9.32-fix_epoll.patch b/sys-libs/uclibc/files/uclibc-0.9.32-fix_epoll.patch |
35 |
new file mode 100644 |
36 |
index 0000000..6e32d38 |
37 |
--- /dev/null |
38 |
+++ b/sys-libs/uclibc/files/uclibc-0.9.32-fix_epoll.patch |
39 |
@@ -0,0 +1,42 @@ |
40 |
+From 8245f3b4638fdff2011c2657af1bb211def704bc Mon Sep 17 00:00:00 2001 |
41 |
+From: Phil Blundell <pb@××××.net> |
42 |
+Date: Sat, 11 Jun 2011 05:10:46 +0000 |
43 |
+Subject: Fix __libc_epoll_pwait compile failure on x86 |
44 |
+ |
45 |
+This prevents "memory input 7 is not directly addressable" errors. |
46 |
+ |
47 |
+| libc/sysdeps/linux/common/epoll.c: In function '__libc_epoll_pwait': |
48 |
+| libc/sysdeps/linux/common/epoll.c:71:80: error: memory input 7 is not directly addressable |
49 |
+| libc/sysdeps/linux/common/epoll.c:75:86: error: memory input 7 is not directly addressable |
50 |
+| make: *** [libc/sysdeps/linux/common/epoll.o] Error 1 |
51 |
+| make: *** Waiting for unfinished jobs.... |
52 |
+ |
53 |
+Signed-off-by: Phil Blundell <pb@××××.net> |
54 |
+Signed-off-by: Jason Woodward <jason.woodward@×××××××.com> |
55 |
+Signed-off-by: Khem Raj <raj.khem@×××××.com> |
56 |
+--- |
57 |
+(limited to 'libc/sysdeps/linux/common/epoll.c') |
58 |
+ |
59 |
+diff --git a/libc/sysdeps/linux/common/epoll.c b/libc/sysdeps/linux/common/epoll.c |
60 |
+index 85b0cfd..ab3e73b 100644 |
61 |
+--- a/libc/sysdeps/linux/common/epoll.c |
62 |
++++ b/libc/sysdeps/linux/common/epoll.c |
63 |
+@@ -67,12 +67,13 @@ extern __typeof(epoll_pwait) __libc_epoll_pwait; |
64 |
+ int __libc_epoll_pwait(int epfd, struct epoll_event *events, int maxevents, |
65 |
+ int timeout, const sigset_t *set) |
66 |
+ { |
67 |
++ int nsig = _NSIG / 8; |
68 |
+ if (SINGLE_THREAD_P) |
69 |
+- return INLINE_SYSCALL(epoll_pwait, 6, epfd, events, maxevents, timeout, set, _NSIG / 8); |
70 |
++ return INLINE_SYSCALL(epoll_pwait, 6, epfd, events, maxevents, timeout, set, nsig); |
71 |
+ # ifdef __UCLIBC_HAS_THREADS_NATIVE__ |
72 |
+ else { |
73 |
+ int oldtype = LIBC_CANCEL_ASYNC (); |
74 |
+- int result = INLINE_SYSCALL(epoll_pwait, 6, epfd, events, maxevents, timeout, set, _NSIG / 8); |
75 |
++ int result = INLINE_SYSCALL(epoll_pwait, 6, epfd, events, maxevents, timeout, set, nsig); |
76 |
+ LIBC_CANCEL_RESET (oldtype); |
77 |
+ return result; |
78 |
+ } |
79 |
+-- |
80 |
+cgit v0.9.0.1-2-gef13 |
81 |
+ |
82 |
|
83 |
diff --git a/sys-libs/uclibc/uclibc-0.9.30.1-r1.ebuild b/sys-libs/uclibc/uclibc-0.9.30.1-r1.ebuild |
84 |
deleted file mode 100644 |
85 |
index ad1e4d3..0000000 |
86 |
--- a/sys-libs/uclibc/uclibc-0.9.30.1-r1.ebuild |
87 |
+++ /dev/null |
88 |
@@ -1,380 +0,0 @@ |
89 |
-# Copyright 1999-2011 Gentoo Foundation |
90 |
-# Distributed under the terms of the GNU General Public License v2 |
91 |
-# $Header: /var/cvsroot/gentoo-x86/sys-libs/uclibc/uclibc-0.9.30.1-r1.ebuild,v 1.9 2011/04/20 18:10:38 ulm Exp $ |
92 |
- |
93 |
-#ESVN_REPO_URI="svn://uclibc.org/trunk/uClibc" |
94 |
-#inherit subversion |
95 |
-inherit eutils flag-o-matic toolchain-funcs savedconfig |
96 |
- |
97 |
-export CBUILD=${CBUILD:-${CHOST}} |
98 |
-export CTARGET=${CTARGET:-${CHOST}} |
99 |
-if [[ ${CTARGET} == ${CHOST} ]] ; then |
100 |
- if [[ ${CATEGORY/cross-} != ${CATEGORY} ]] ; then |
101 |
- export CTARGET=${CATEGORY/cross-} |
102 |
- fi |
103 |
-fi |
104 |
-# Handle the case where we want uclibc on glibc ... |
105 |
-if [[ ${CTARGET} == ${CHOST} ]] && [[ ${CHOST} != *-uclibc* ]] ; then |
106 |
- export UCLIBC_AND_GLIBC="sitting in a tree" |
107 |
- export CTARGET=${CHOST%%-*}-pc-linux-uclibc |
108 |
-fi |
109 |
- |
110 |
-MY_P=uClibc-0.9.30.1 |
111 |
-SVN_VER="" |
112 |
-PATCH_VER="1.0" |
113 |
-DESCRIPTION="C library for developing embedded Linux systems" |
114 |
-HOMEPAGE="http://www.uclibc.org/" |
115 |
-SRC_URI="http://uclibc.org/downloads/${MY_P}.tar.bz2" |
116 |
- |
117 |
-[[ -z ${SVN_VER} ]] || \ |
118 |
- SRC_URI="${SRC_URI} mirror://gentoo/${MY_P}-svn-update-${SVN_VER}.patch.bz2" |
119 |
-[[ -z ${PATCH_VER} ]] || \ |
120 |
- SRC_URI="${SRC_URI} mirror://gentoo/${MY_P}-patches-${PATCH_VER}.tar.bz2" |
121 |
- |
122 |
-LICENSE="LGPL-2" |
123 |
-SLOT="0" |
124 |
-KEYWORDS="-* ~amd64 ~arm ~m68k ~mips ~ppc ~sh ~sparc ~x86" |
125 |
-IUSE="build uclibc-compat debug hardened ssp ipv6 minimal wordexp crosscompile_opts_headers-only" |
126 |
-RESTRICT="strip" |
127 |
- |
128 |
-RDEPEND="" |
129 |
-if [[ -n $CTARGET && ${CTARGET} != ${CHOST} ]]; then |
130 |
- DEPEND="" |
131 |
- SLOT="${CTARGET}" |
132 |
-else |
133 |
- DEPEND="virtual/os-headers app-misc/pax-utils" |
134 |
- SLOT="0" |
135 |
-fi |
136 |
- |
137 |
-S=${WORKDIR}/${MY_P} |
138 |
- |
139 |
-alt_build_kprefix() { |
140 |
- if [[ ${CBUILD} == ${CHOST} && ${CTARGET} == ${CHOST} ]] \ |
141 |
- || [[ -n ${UCLIBC_AND_GLIBC} ]] |
142 |
- then |
143 |
- echo /usr/include |
144 |
- else |
145 |
- echo /usr/${CTARGET}/usr/include |
146 |
- fi |
147 |
-} |
148 |
- |
149 |
-just_headers() { |
150 |
- use crosscompile_opts_headers-only && [[ ${CHOST} != ${CTARGET} ]] |
151 |
-} |
152 |
- |
153 |
-uclibc_endian() { |
154 |
- # XXX: this wont work for a toolchain which is bi-endian, but we |
155 |
- # dont have any such thing at the moment, so not a big deal |
156 |
- touch "${T}"/endian.s |
157 |
- $(tc-getAS ${CTARGET}) "${T}"/endian.s -o "${T}"/endian.o |
158 |
- case $(file "${T}"/endian.o) in |
159 |
- *" MSB "*) echo "big";; |
160 |
- *" LSB "*) echo "little";; |
161 |
- *) echo "NFC";; |
162 |
- esac |
163 |
- rm -f "${T}"/endian.{s,o} |
164 |
-} |
165 |
- |
166 |
-pkg_setup() { |
167 |
- just_headers && return 0 |
168 |
- has_version ${CATEGORY}/uclibc || return 0 |
169 |
- [[ -n ${UCLIBC_AND_GLIBC} ]] && return 0 |
170 |
- [[ ${ROOT} != "/" ]] && return 0 |
171 |
- [[ ${CATEGORY} == cross-* ]] && return 0 |
172 |
- |
173 |
-} |
174 |
- |
175 |
-PIE_STABLE="arm mips ppc x86" |
176 |
- |
177 |
-CPU_ALPHA="" |
178 |
-CPU_AMD64="" |
179 |
-CPU_ARM="GENERIC_ARM ARM{610,710,7TDMI,720T,920T,922T,926T,10T,1136JF_S,1176JZ{_,F_}S,_{SA110,SA1100,XSCALE,IWMMXT}}" |
180 |
-CPU_IA64="" |
181 |
-CPU_M68K="" |
182 |
-CPU_MIPS="MIPS_ISA_{1,2,3,4,MIPS{32,64}} MIPS_{N64,O32,N32}_ABI" |
183 |
-CPU_PPC="" |
184 |
-CPU_SH="SH{2,3,4,5}" |
185 |
-CPU_SPARC="SPARC_V{7,8,9,9B}" |
186 |
-CPU_X86="GENERIC_386 {3,4,5,6}86 586MMX PENTIUM{II,III,4} K{6,7} ELAN CRUSOE WINCHIP{C6,2} CYRIXIII NEHEMIAH" |
187 |
-IUSE_UCLIBC_CPU="${CPU_ARM} ${CPU_MIPS} ${CPU_PPC} ${CPU_SH} ${CPU_SPARC} ${CPU_X86}" |
188 |
- |
189 |
-check_cpu_opts() { |
190 |
- local cpu_var="CPU_$(echo $(tc-arch) | tr [a-z] [A-Z])" |
191 |
- [[ -z ${!cpu_var} ]] && return 0 |
192 |
- |
193 |
- if [[ -z ${UCLIBC_CPU} ]] ; then |
194 |
- ewarn "You really should consider setting UCLIBC_CPU" |
195 |
- ewarn "Otherwise, the build will be generic (read: slow)." |
196 |
- ewarn "Available CPU options:" |
197 |
- UCLIBC_CPU=$(eval echo ${!cpu_var}) |
198 |
- echo ${UCLIBC_CPU} |
199 |
- case ${CTARGET} in |
200 |
- mips[1234]*) export UCLIBC_CPU="MIPS_ISA_${CTARGET:4:1}";; |
201 |
- sh[2345]*) export UCLIBC_CPU="SH${CTARGET:2:1}";; |
202 |
- i[456]86*) export UCLIBC_CPU="${CTARGET:1:1}86";; |
203 |
- *) export UCLIBC_CPU=${UCLIBC_CPU%% *};; |
204 |
- esac |
205 |
- else |
206 |
- local cpu found=0 |
207 |
- for cpu in $(eval echo ${!cpu_var}) ; do |
208 |
- [[ ${UCLIBC_CPU} == "${cpu}" ]] && found=1 && break |
209 |
- done |
210 |
- if [[ ${found} -eq 0 ]] ; then |
211 |
- ewarn "UCLIBC_CPU choice '${UCLIBC_CPU}' not supported" |
212 |
- ewarn "Valid choices:" |
213 |
- eval echo ${!cpu_var} |
214 |
- die "pick a supported cpu type" |
215 |
- fi |
216 |
- fi |
217 |
-} |
218 |
- |
219 |
-set_opt() { |
220 |
- sed -i -e "/^\# $1 is not set/d" -e "/^$1=.*/d" .config |
221 |
- echo "$1=$2" >> .config |
222 |
-} |
223 |
-get_opt() { |
224 |
- ( |
225 |
- unset $1 |
226 |
- . ${2:-"${S}"/.config} |
227 |
- echo ${!1} |
228 |
- ) |
229 |
-} |
230 |
- |
231 |
-src_unpack() { |
232 |
- [[ -n ${ESVN_REPO_URI} ]] \ |
233 |
- && subversion_src_unpack \ |
234 |
- || unpack ${A} |
235 |
- cd "${S}" |
236 |
- |
237 |
- check_cpu_opts |
238 |
- |
239 |
- echo |
240 |
- einfo "Runtime Prefix: /" |
241 |
- einfo "Devel Prefix: /usr" |
242 |
- einfo "Kernel Prefix: $(alt_build_kprefix)" |
243 |
- einfo "CBUILD: ${CBUILD}" |
244 |
- einfo "CHOST: ${CHOST}" |
245 |
- einfo "CTARGET: ${CTARGET}" |
246 |
- einfo "CPU: ${UCLIBC_CPU:-default}" |
247 |
- einfo "ENDIAN: $(uclibc_endian)" |
248 |
- echo |
249 |
- |
250 |
- ########## PATCHES ########## |
251 |
- |
252 |
- [[ -n ${SVN_VER} ]] && \ |
253 |
- epatch "${WORKDIR}"/${MY_P}-cvs-update-${SVN_VER}.patch |
254 |
- |
255 |
- if [[ -n ${PATCH_VER} ]] ; then |
256 |
- unpack ${MY_P}-patches-${PATCH_VER}.tar.bz2 |
257 |
- EPATCH_SUFFIX="patch" |
258 |
- epatch "${WORKDIR}"/patch |
259 |
- fi |
260 |
- |
261 |
- sed -i 's:getline:get_line:' extra/scripts/unifdef.c #277186 |
262 |
- |
263 |
- ########## CPU SELECTION ########## |
264 |
- |
265 |
- local target config_target |
266 |
- case $(tc-arch) in |
267 |
- alpha) target="alpha"; config_target="no cpu-specific options";; |
268 |
- amd64) target="x86_64"; config_target="no cpu-specific options";; |
269 |
- arm) target="arm"; config_target="GENERIC_ARM";; |
270 |
- avr) target="avr32"; config_target="no cpu-specific options";; |
271 |
- ia64) target="ia64"; config_target="no cpu-specific options";; |
272 |
- m68k) target="m68k"; config_target="no cpu-specific options";; |
273 |
- mips) target="mips"; config_target="MIPS_ISA_1";; |
274 |
- ppc) target="powerpc"; config_target="no cpu-specific options";; |
275 |
- sh) target="sh"; config_target="SH4";; |
276 |
- sparc) target="sparc"; config_target="no cpu-specific options";; |
277 |
- x86) target="i386"; config_target="GENERIC_386";; |
278 |
- *) die "$(tc-arch) lists no defaults :/";; |
279 |
- esac |
280 |
- sed -i -e "s:default CONFIG_${config_target}:default CONFIG_${UCLIBC_CPU:-${config_target}}:" \ |
281 |
- extra/Configs/Config.${target} |
282 |
- sed -i -e "s:^HOSTCC.*=.*:HOSTCC=$(tc-getBUILD_CC):" Rules.mak |
283 |
- |
284 |
- ########## CONFIG SETUP ########## |
285 |
- |
286 |
- make ARCH=${target} defconfig >/dev/null || die "could not config" |
287 |
- |
288 |
- for def in DO{DEBUG{,_PT},ASSERTS} SUPPORT_LD_DEBUG{,_EARLY} UCLIBC_HAS_PROFILING; do |
289 |
- sed -i -e "s:${def}=y:# ${def} is not set:" .config |
290 |
- done |
291 |
- if use debug ; then |
292 |
- set_opt SUPPORT_LD_DEBUG y |
293 |
- set_opt DODEBUG y |
294 |
- fi |
295 |
- |
296 |
- sed -i -e '/ARCH_.*_ENDIAN/d' .config |
297 |
- set_opt "ARCH_WANTS_$(uclibc_endian | tr [a-z] [A-Z])_ENDIAN" y |
298 |
- |
299 |
- if [[ $(tc-is-softfloat) != "no" ]] ; then |
300 |
- set_opt UCLIBC_HAS_FPU n |
301 |
- fi |
302 |
- |
303 |
- if [[ ${CTARGET/eabi} != ${CTARGET} ]] ; then |
304 |
- set_opt CONFIG_ARM_OABI n |
305 |
- set_opt CONFIG_ARM_EABI y |
306 |
- fi |
307 |
- |
308 |
- local moredefs="COMPAT_ATEXIT" |
309 |
- local compat_sym=atexit |
310 |
- |
311 |
- # We need todo this for a few months. .30 is a major upgrade. |
312 |
- # Don't do it from cross-compiling case though |
313 |
- if ! use uclibc-compat ; then |
314 |
- if [[ -z ${UCLIBC_AND_GLIBC} ]] && [[ -z ${UCLIBC_SCANNED_COMPAT} ]] && \ |
315 |
- ! just_headers && [[ ${CHOST} == ${CTARGET} ]] ; then |
316 |
- local fnames="" |
317 |
- einfo "Doing a scanelf in paths for bins containing the ${compat_sym} symbol" |
318 |
- fnames=$(scanelf -pyqs${compat_sym} -F%F#s) |
319 |
- if [[ -z ${fnames} ]] ; then |
320 |
- einfo "This system is clean." |
321 |
- einfo "To prevent the scanning of files again in the future you can export UCLIBC_SCANNED_COMPAT=1" |
322 |
- moredefs="" |
323 |
- else |
324 |
- ewarn "You need to remerge the packages that contain the following files before you can remerge ${P} without USE=uclibc-compat enabled." |
325 |
- ewarn "qfile -Cq $(echo ${fnames}) | sort | uniq" |
326 |
- echo |
327 |
- ewarn "Leaving on ${moredefs}" |
328 |
- fi |
329 |
- else |
330 |
- moredefs="" |
331 |
- fi |
332 |
- fi |
333 |
- for def in ${moredefs} MALLOC_GLIBC_COMPAT DO_C99_MATH UCLIBC_HAS_{RPC,FULL_RPC,CTYPE_CHECKED,WCHAR,HEXADECIMAL_FLOATS,GLIBC_CUSTOM_PRINTF,FOPEN_EXCLUSIVE_MODE,GLIBC_CUSTOM_STREAMS,PRINTF_M_SPEC,FTW} UCLIBC_HAS_REENTRANT_RPC UCLIBC_HAS_GNU_GLOB PTHREADS_DEBUG_SUPPORT UCLIBC_HAS_TZ_FILE_READ_MANY UCLIBC_HAS_FENV UCLIBC_SUSV3_LEGACY UCLIBC_SUSV3_LEGACY_MACROS UCLIBC_HAS_PROGRAM_INVOCATION_NAME ; do |
334 |
- set_opt "${def}" y |
335 |
- done |
336 |
- set_opt UCLIBC_HAS_CTYPE_UNSAFE n |
337 |
- set_opt UCLIBC_HAS_LOCALE n |
338 |
- |
339 |
- use ipv6 && set_opt UCLIBC_HAS_IPV6 y |
340 |
- |
341 |
- use wordexp && set_opt UCLIBC_HAS_WORDEXP y |
342 |
- |
343 |
- # we need to do it independently of hardened to get ssp.c built into libc |
344 |
- set_opt UCLIBC_HAS_SSP y |
345 |
- set_opt UCLIBC_HAS_SSP_COMPAT y |
346 |
- set_opt UCLIBC_HAS_ARC4RANDOM y |
347 |
- set_opt PROPOLICE_BLOCK_ABRT n |
348 |
- set_opt PROPOLICE_BLOCK_SEGV y |
349 |
- |
350 |
- # arm/mips do not emit PT_GNU_STACK, but if we enable this here |
351 |
- # it will be emitted as RWE, ppc has to be checked, x86 needs it |
352 |
- # this option should be used independently of hardened |
353 |
- if has $(tc-arch) x86 || has $(tc-arch) ppc; then |
354 |
- set_opt UCLIBC_BUILD_NOEXECSTACK y |
355 |
- else |
356 |
- set_opt UCLIBC_BUILD_NOEXECSTACK n |
357 |
- fi |
358 |
- set_opt UCLIBC_BUILD_RELRO y |
359 |
- if use hardened ; then |
360 |
- if has $(tc-arch) ${PIE_STABLE} ; then |
361 |
- set_opt UCLIBC_BUILD_PIE y |
362 |
- else |
363 |
- set_opt UCLIBC_BUILD_PIE n |
364 |
- fi |
365 |
- set_opt UCLIBC_BUILD_NOW y |
366 |
- use ssp && { |
367 |
- set_opt SSP_QUICK_CANARY n |
368 |
- set_opt UCLIBC_BUILD_SSP y |
369 |
- } |
370 |
- else |
371 |
- set_opt UCLIBC_BUILD_PIE n |
372 |
- set_opt SSP_QUICK_CANARY y |
373 |
- set_opt UCLIBC_BUILD_SSP n |
374 |
- set_opt UCLIBC_BUILD_NOW n |
375 |
- fi |
376 |
- |
377 |
- restore_config .config |
378 |
- |
379 |
- # setup build and run paths |
380 |
- local cross=${CTARGET}- |
381 |
- type -p ${cross}ar > /dev/null || cross="" |
382 |
- sed -i \ |
383 |
- -e "/^CROSS_COMPILER_PREFIX/s:=.*:=\"${cross}\":" \ |
384 |
- -e "/^KERNEL_HEADERS/s:=.*:=\"$(alt_build_kprefix)\":" \ |
385 |
- -e "/^SHARED_LIB_LOADER_PREFIX/s:=.*:=\"/$(get_libdir)\":" \ |
386 |
- -e "/^DEVEL_PREFIX/s:=.*:=\"/usr\":" \ |
387 |
- -e "/^RUNTIME_PREFIX/s:=.*:=\"/\":" \ |
388 |
- -e "/^UCLIBC_EXTRA_CFLAGS/s:=.*:=\"${UCLIBC_EXTRA_CFLAGS}\":" \ |
389 |
- .config || die |
390 |
- |
391 |
- yes "" 2> /dev/null | make -s oldconfig > /dev/null || die "could not make oldconfig" |
392 |
- |
393 |
- cp .config myconfig |
394 |
- |
395 |
- emake -s clean > /dev/null || die "could not clean" |
396 |
-} |
397 |
- |
398 |
-src_compile() { |
399 |
- cp myconfig .config |
400 |
- |
401 |
- emake headers || die "make headers failed" |
402 |
- just_headers && return 0 |
403 |
- |
404 |
- emake || die "make failed" |
405 |
- if [[ ${CTARGET} != ${CHOST} ]] ; then |
406 |
- emake -C utils hostutils || die "make hostutils failed" |
407 |
- elif [[ ${CHOST} == *-uclibc* ]] ; then |
408 |
- emake utils || die "make utils failed" |
409 |
- fi |
410 |
-} |
411 |
- |
412 |
-src_test() { |
413 |
- [[ ${CHOST} != ${CTARGET} ]] && return 0 |
414 |
- [[ ${CBUILD} != ${CHOST} ]] && return 0 |
415 |
- |
416 |
- # assert test fails on pax/grsec enabled kernels - normal |
417 |
- # vfork test fails in sandbox (both glibc/uclibc) |
418 |
- make UCLIBC_ONLY=1 check || die "test failed" |
419 |
-} |
420 |
- |
421 |
-src_install() { |
422 |
- local sysroot=${D} |
423 |
- [[ ${CHOST} != ${CTARGET} ]] && sysroot="${sysroot}/usr/${CTARGET}" |
424 |
- |
425 |
- local target="install" |
426 |
- just_headers && target="install_headers" |
427 |
- emake DESTDIR="${sysroot}" ${target} || die "install failed" |
428 |
- |
429 |
- save_config .config |
430 |
- |
431 |
- # remove files coming from kernel-headers |
432 |
- rm -rf "${sysroot}"/usr/include/{linux,asm*} |
433 |
- |
434 |
- # Make sure we install the sys-include symlink so that when |
435 |
- # we build a 2nd stage cross-compiler, gcc finds the target |
436 |
- # system headers correctly. See gcc/doc/gccinstall.info |
437 |
- if [[ ${CTARGET} != ${CHOST} ]] ; then |
438 |
- dosym usr/include /usr/${CTARGET}/sys-include |
439 |
- if ! just_headers && [[ -n $(get_opt HAVE_SHARED) ]] ; then |
440 |
- newbin utils/ldconfig.host ${CTARGET}-ldconfig || die |
441 |
- newbin utils/ldd.host ${CTARGET}-ldd || die |
442 |
- fi |
443 |
- return 0 |
444 |
- fi |
445 |
- |
446 |
- if [[ ${CHOST} == *-uclibc* ]] ; then |
447 |
- emake DESTDIR="${D}" install_utils || die "install-utils failed" |
448 |
- dobin extra/scripts/getent |
449 |
- fi |
450 |
- |
451 |
- dodoc Changelog* README TODO docs/*.txt DEDICATION.mjn3 |
452 |
-} |
453 |
- |
454 |
-pkg_postinst() { |
455 |
- [[ ${CTARGET} != ${CHOST} ]] && return 0 |
456 |
- [[ ${CHOST} != *-uclibc* ]] && return 0 |
457 |
- |
458 |
- if [[ ! -e ${ROOT}/etc/TZ ]] ; then |
459 |
- ewarn "Please remember to set your timezone in /etc/TZ" |
460 |
- [[ ! -d ${ROOT}/etc ]] && mkdir -p "${ROOT}"/etc |
461 |
- echo "UTC" > "${ROOT}"/etc/TZ |
462 |
- fi |
463 |
- [[ ${ROOT} != "/" ]] && return 0 |
464 |
- # update cache before reloading init |
465 |
- /sbin/ldconfig |
466 |
- # reload init ... |
467 |
- [[ -x /sbin/telinit ]] && /sbin/telinit U &> /dev/null |
468 |
-} |
469 |
|
470 |
diff --git a/sys-libs/uclibc/uclibc-0.9.32.ebuild b/sys-libs/uclibc/uclibc-0.9.32-r1.ebuild |
471 |
similarity index 100% |
472 |
copy from sys-libs/uclibc/uclibc-0.9.32.ebuild |
473 |
copy to sys-libs/uclibc/uclibc-0.9.32-r1.ebuild |
474 |
|
475 |
diff --git a/sys-libs/uclibc/uclibc-0.9.32.ebuild b/sys-libs/uclibc/uclibc-0.9.32.ebuild |
476 |
index 105174c..3cdf287 100644 |
477 |
--- a/sys-libs/uclibc/uclibc-0.9.32.ebuild |
478 |
+++ b/sys-libs/uclibc/uclibc-0.9.32.ebuild |
479 |
@@ -171,6 +171,7 @@ src_unpack() { |
480 |
fi |
481 |
|
482 |
epatch "${FILESDIR}"/${P}-BJA-sandbox.patch |
483 |
+ epatch "${FILESDIR}"/${P}-fix_epoll.patch |
484 |
|
485 |
########## CPU SELECTION ########## |