Gentoo Archives: gentoo-commits

From: "Robin H. Johnson (robbat2)" <robbat2@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in sys-apps/coreutils: ChangeLog coreutils-6.12-r2.ebuild coreutils-6.10-r3.ebuild
Date: Thu, 16 Oct 2008 03:06:21
Message-Id: E1KqJBo-0002mD-5M@stork.gentoo.org
1 robbat2 08/10/16 03:06:16
2
3 Modified: ChangeLog
4 Added: coreutils-6.12-r2.ebuild coreutils-6.10-r3.ebuild
5 Log:
6 Fix automagical linking against libselinux per bug #230073.
7 (Portage version: 2.2_rc11/cvs/Linux 2.6.27-rc1-10246-gca5de40 x86_64)
8
9 Revision Changes Path
10 1.238 sys-apps/coreutils/ChangeLog
11
12 file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/sys-apps/coreutils/ChangeLog?rev=1.238&view=markup
13 plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/sys-apps/coreutils/ChangeLog?rev=1.238&content-type=text/plain
14 diff : http://sources.gentoo.org/viewcvs.py/gentoo-x86/sys-apps/coreutils/ChangeLog?r1=1.237&r2=1.238
15
16 Index: ChangeLog
17 ===================================================================
18 RCS file: /var/cvsroot/gentoo-x86/sys-apps/coreutils/ChangeLog,v
19 retrieving revision 1.237
20 retrieving revision 1.238
21 diff -p -w -b -B -u -u -r1.237 -r1.238
22 --- ChangeLog 27 Jul 2008 19:39:23 -0000 1.237
23 +++ ChangeLog 16 Oct 2008 03:06:15 -0000 1.238
24 @@ -1,6 +1,14 @@
25 # ChangeLog for sys-apps/coreutils
26 # Copyright 1999-2008 Gentoo Foundation; Distributed under the GPL v2
27 -# $Header: /var/cvsroot/gentoo-x86/sys-apps/coreutils/ChangeLog,v 1.237 2008/07/27 19:39:23 loki_val Exp $
28 +# $Header: /var/cvsroot/gentoo-x86/sys-apps/coreutils/ChangeLog,v 1.238 2008/10/16 03:06:15 robbat2 Exp $
29 +
30 +*coreutils-6.12-r2 (16 Oct 2008)
31 +*coreutils-6.10-r3 (16 Oct 2008)
32 +
33 + 16 Oct 2008; Robin H. Johnson <robbat2@g.o>
34 + +files/coreutils-6.10-selinux-opt.patch, +coreutils-6.10-r3.ebuild,
35 + +coreutils-6.12-r2.ebuild:
36 + Fix automagical linking against libselinux per bug #230073.
37
38 *coreutils-6.12-r1 (27 Jul 2008)
39
40
41
42
43 1.1 sys-apps/coreutils/coreutils-6.12-r2.ebuild
44
45 file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/sys-apps/coreutils/coreutils-6.12-r2.ebuild?rev=1.1&view=markup
46 plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/sys-apps/coreutils/coreutils-6.12-r2.ebuild?rev=1.1&content-type=text/plain
47
48 Index: coreutils-6.12-r2.ebuild
49 ===================================================================
50 # Copyright 1999-2008 Gentoo Foundation
51 # Distributed under the terms of the GNU General Public License v2
52 # $Header: /var/cvsroot/gentoo-x86/sys-apps/coreutils/coreutils-6.12-r2.ebuild,v 1.1 2008/10/16 03:06:16 robbat2 Exp $
53
54 inherit eutils flag-o-matic toolchain-funcs autotools
55
56 PATCH_VER="1.0"
57 DESCRIPTION="Standard GNU file utilities (chmod, cp, dd, dir, ls...), text utilities (sort, tr, head, wc..), and shell utilities (whoami, who,...)"
58 HOMEPAGE="http://www.gnu.org/software/coreutils/"
59 SRC_URI="ftp://alpha.gnu.org/gnu/coreutils/${P}.tar.lzma
60 mirror://gnu/${PN}/${P}.tar.lzma
61 mirror://gentoo/${P}.tar.lzma
62 mirror://gentoo/${P}-patches-${PATCH_VER}.tar.lzma
63 http://dev.gentoo.org/~vapier/dist/${P}-patches-${PATCH_VER}.tar.lzma"
64
65 LICENSE="GPL-3"
66 SLOT="0"
67 KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
68 IUSE="acl nls selinux static xattr vanilla"
69
70 RDEPEND="selinux? ( sys-libs/libselinux )
71 acl? ( sys-apps/acl )
72 xattr? ( sys-apps/attr )
73 nls? ( >=sys-devel/gettext-0.15 )
74 !<sys-apps/util-linux-2.13
75 !net-mail/base64
76 !sys-apps/mktemp
77 >=sys-libs/ncurses-5.3-r5"
78 DEPEND="${RDEPEND}
79 app-arch/lzma-utils
80 >=sys-devel/automake-1.10.1
81 >=sys-devel/autoconf-2.61
82 >=sys-devel/m4-1.4-r1"
83
84 pkg_setup() {
85 # fixup expr for #123342
86 if [[ $(/bin/expr a : '\(a\)') != "a" ]] ; then
87 if [[ -x /bin/busybox ]] ; then
88 ln -sf /bin/busybox /bin/expr
89 else
90 eerror "Your expr binary appears to be broken, please fix it."
91 eerror "For more info, see http://bugs.gentoo.org/123342"
92 die "your expr is broke"
93 fi
94 fi
95 }
96
97 src_unpack() {
98 unpack ${A}
99 cd "${S}"
100
101 if ! use vanilla ; then
102 EPATCH_SUFFIX="patch" \
103 PATCHDIR="${WORKDIR}/patch" \
104 EPATCH_EXCLUDE="001_all_coreutils-gen-progress-bar.patch" \
105 epatch
106 fi
107
108 #Fix bug 224483
109 #sys-apps/coreutils-6.12 - touch uses unknown system call utimensat
110 epatch "${FILESDIR}"/gnulib-utimens-update.patch
111
112 #Fix bug 230073
113 # Do not blindly include libselinux
114 epatch "${FILESDIR}/${PN}"-6.10-selinux-opt.patch
115
116 # Since we've patched many .c files, the make process will try to
117 # re-build the manpages by running `./bin --help`. When doing a
118 # cross-compile, we can't do that since 'bin' isn't a native bin.
119 # Also, it's not like we changed the usage on any of these things,
120 # so let's just update the timestamps and skip the help2man step.
121 touch man/*.1
122 # There's no reason for this crap to use the private version
123 sed -i 's:__mempcpy:mempcpy:g' lib/*.c
124
125 use vanilla || AT_M4DIR="m4" eautoreconf
126 }
127
128 src_compile() {
129 if ! type -p cvs > /dev/null ; then
130 # Fix issues with gettext's autopoint if cvs is not installed,
131 # bug #28920.
132 export AUTOPOINT="/bin/true"
133 fi
134
135 local myconf=""
136 [[ ${USERLAND} == "GNU" ]] || myconf="${myconf} --bindir=/usr/libexec/gnu"
137 if echo "#include <regex.h>" | $(tc-getCPP) > /dev/null ; then
138 myconf="${myconf} --without-included-regex"
139 fi
140
141 # cross-compile workaround #177061
142 [[ ${CHOST} == *-linux* ]] && export fu_cv_sys_stat_statvfs=yes
143
144 use static && append-ldflags -static
145 # kill/uptime - procps
146 # groups/su - shadow
147 # hostname - net-tools
148 econf \
149 --enable-install-program="arch" \
150 --enable-no-install-program="groups,hostname,kill,su,uptime" \
151 --enable-largefile \
152 $(use_enable nls) \
153 $(use_enable acl) \
154 $(use_enable xattr) \
155 $(use_enable selinux) \
156 ${myconf} \
157 || die "econf"
158 emake || die "emake"
159 }
160
161 src_test() {
162 # Non-root tests will fail if the full path isnt
163 # accessible to non-root users
164 chmod -R go-w "${WORKDIR}"
165 chmod a+rx "${WORKDIR}"
166 addwrite /dev/full
167 export RUN_EXPENSIVE_TESTS="yes"
168 #export FETISH_GROUPS="portage wheel"
169 make -k check || die "make check failed"
170 }
171
172 src_install() {
173 emake install DESTDIR="${D}" || die
174 rm -f "${D}"/usr/lib/charset.alias
175 dodoc AUTHORS ChangeLog* NEWS README* THANKS TODO
176
177 insinto /etc
178 newins src/dircolors.hin DIR_COLORS || die
179
180 if [[ ${USERLAND} == "GNU" ]] ; then
181 cd "${D}"/usr/bin
182 dodir /bin
183 # move critical binaries into /bin (required by FHS)
184 local fhs="cat chgrp chmod chown cp date dd df echo false ln ls
185 mkdir mknod mv pwd rm rmdir stty sync true uname"
186 mv ${fhs} ../../bin/ || die "could not move fhs bins"
187 # move critical binaries into /bin (common scripts)
188 local com="basename chroot cut dir dirname du env expr head mkfifo
189 mktemp readlink seq sleep sort tail touch tr tty vdir wc yes"
190 mv ${com} ../../bin/ || die "could not move common bins"
191 # create a symlink for uname in /usr/bin/ since autotools require it
192 local x
193 for x in ${com} uname ; do
194 dosym /bin/${x} /usr/bin/${x} || die
195 done
196 else
197 # For now, drop the man pages, collides with the ones of the system.
198 rm -rf "${D}"/usr/share/man
199 fi
200 }
201
202 pkg_postinst() {
203 ewarn "Make sure you run 'hash -r' in your active shells."
204 }
205
206
207
208 1.1 sys-apps/coreutils/coreutils-6.10-r3.ebuild
209
210 file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/sys-apps/coreutils/coreutils-6.10-r3.ebuild?rev=1.1&view=markup
211 plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/sys-apps/coreutils/coreutils-6.10-r3.ebuild?rev=1.1&content-type=text/plain
212
213 Index: coreutils-6.10-r3.ebuild
214 ===================================================================
215 # Copyright 1999-2008 Gentoo Foundation
216 # Distributed under the terms of the GNU General Public License v2
217 # $Header: /var/cvsroot/gentoo-x86/sys-apps/coreutils/coreutils-6.10-r3.ebuild,v 1.1 2008/10/16 03:06:16 robbat2 Exp $
218
219 inherit eutils flag-o-matic toolchain-funcs autotools
220
221 PATCH_VER="1.3"
222 DESCRIPTION="Standard GNU file utilities (chmod, cp, dd, dir, ls...), text utilities (sort, tr, head, wc..), and shell utilities (whoami, who,...)"
223 HOMEPAGE="http://www.gnu.org/software/coreutils/"
224 SRC_URI="ftp://alpha.gnu.org/gnu/coreutils/${P}.tar.lzma
225 mirror://gnu/${PN}/${P}.tar.lzma
226 mirror://gentoo/${P}.tar.lzma
227 mirror://gentoo/${P}-patches-${PATCH_VER}.tar.lzma
228 http://dev.gentoo.org/~vapier/dist/${P}-patches-${PATCH_VER}.tar.lzma"
229
230 LICENSE="GPL-3"
231 SLOT="0"
232 KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
233 IUSE="acl nls selinux static xattr vanilla"
234
235 RDEPEND="selinux? ( sys-libs/libselinux )
236 acl? ( sys-apps/acl )
237 xattr? ( sys-apps/attr )
238 nls? ( >=sys-devel/gettext-0.15 )
239 !<sys-apps/util-linux-2.13
240 !net-mail/base64
241 !sys-apps/mktemp
242 >=sys-libs/ncurses-5.3-r5"
243 DEPEND="${RDEPEND}
244 app-arch/lzma-utils
245 >=sys-devel/automake-1.10.1
246 >=sys-devel/autoconf-2.61
247 >=sys-devel/m4-1.4-r1"
248
249 pkg_setup() {
250 # fixup expr for #123342
251 if [[ $(/bin/expr a : '\(a\)') != "a" ]] ; then
252 if [[ -x /bin/busybox ]] ; then
253 ln -sf /bin/busybox /bin/expr
254 else
255 eerror "Your expr binary appears to be broken, please fix it."
256 eerror "For more info, see http://bugs.gentoo.org/123342"
257 die "your expr is broke"
258 fi
259 fi
260 }
261
262 src_unpack() {
263 unpack ${A}
264 cd "${S}"
265
266 if ! use vanilla ; then
267 EPATCH_SUFFIX="patch" \
268 PATCHDIR="${WORKDIR}/patch" \
269 EPATCH_EXCLUDE="001_all_coreutils-gen-progress-bar.patch" \
270 epatch
271 fi
272
273 #Fix bug 230073
274 # Do not blindly include libselinux
275 epatch "${FILESDIR}/${PN}"-6.10-selinux-opt.patch
276
277 # Since we've patched many .c files, the make process will try to
278 # re-build the manpages by running `./bin --help`. When doing a
279 # cross-compile, we can't do that since 'bin' isn't a native bin.
280 # Also, it's not like we changed the usage on any of these things,
281 # so let's just update the timestamps and skip the help2man step.
282 touch man/*.1
283 # There's no reason for this crap to use the private version
284 sed -i 's:__mempcpy:mempcpy:g' lib/*.c
285
286 use vanilla || AT_M4DIR="m4" eautoreconf
287 }
288
289 src_compile() {
290 if ! type -p cvs > /dev/null ; then
291 # Fix issues with gettext's autopoint if cvs is not installed,
292 # bug #28920.
293 export AUTOPOINT="/bin/true"
294 fi
295
296 local myconf=""
297 [[ ${USERLAND} == "GNU" ]] || myconf="${myconf} --bindir=/usr/libexec/gnu"
298 if echo "#include <regex.h>" | $(tc-getCPP) > /dev/null ; then
299 myconf="${myconf} --without-included-regex"
300 fi
301
302 # cross-compile workaround #177061
303 [[ ${CHOST} == *-linux* ]] && export fu_cv_sys_stat_statvfs=yes
304
305 use static && append-ldflags -static
306 # kill/uptime - procps
307 # groups/su - shadow
308 # hostname - net-tools
309 econf \
310 --enable-install-program="arch" \
311 --enable-no-install-program="groups,hostname,kill,su,uptime" \
312 --enable-largefile \
313 $(use_enable nls) \
314 $(use_enable acl) \
315 $(use_enable xattr) \
316 $(use_enable selinux) \
317 ${myconf} \
318 || die "econf"
319 emake || die "emake"
320 }
321
322 src_test() {
323 # Non-root tests will fail if the full path isnt
324 # accessible to non-root users
325 chmod -R go-w "${WORKDIR}"
326 chmod a+rx "${WORKDIR}"
327 addwrite /dev/full
328 export RUN_EXPENSIVE_TESTS="yes"
329 #export FETISH_GROUPS="portage wheel"
330 make -k check || die "make check failed"
331 }
332
333 src_install() {
334 emake install DESTDIR="${D}" || die
335 rm -f "${D}"/usr/lib/charset.alias
336 dodoc AUTHORS ChangeLog* NEWS README* THANKS TODO
337
338 insinto /etc
339 newins src/dircolors.hin DIR_COLORS || die
340
341 # workaround bug in build system where `group` does not
342 # work with --enable-no-install-program configure option
343 rm "${D}"/usr/bin/groups "${D}"/usr/share/man/man1/groups.1 || die
344
345 if [[ ${USERLAND} == "GNU" ]] ; then
346 cd "${D}"/usr/bin
347 dodir /bin
348 # move critical binaries into /bin (required by FHS)
349 local fhs="cat chgrp chmod chown cp date dd df echo false ln ls
350 mkdir mknod mv pwd rm rmdir stty sync true uname"
351 mv ${fhs} ../../bin/ || die "could not move fhs bins"
352 # move critical binaries into /bin (common scripts)
353 local com="basename chroot cut dir dirname du env expr head mkfifo
354 mktemp readlink seq sleep sort tail touch tr tty vdir wc yes"
355 mv ${com} ../../bin/ || die "could not move common bins"
356 # create a symlink for uname in /usr/bin/ since autotools require it
357 local x
358 for x in ${com} uname ; do
359 dosym /bin/${x} /usr/bin/${x} || die
360 done
361 else
362 # For now, drop the man pages, collides with the ones of the system.
363 rm -rf "${D}"/usr/share/man
364 fi
365 }
366
367 pkg_postinst() {
368 ewarn "Make sure you run 'hash -r' in your active shells."
369 }