Hi Mike, In preparing to merge the latest Debian package of coreutils into Ubuntu, I noticed there were a couple of outstanding serious bugs in the BTS, as well as a couple of bugs with patches for release goals. A couple of these issues also affect the package in Ubuntu, so rather than just fixing there I've prepared an NMU to Debian so the bugs can be addressed everywhere.
A couple of the patches in the BTS didn't actually work as advertised. The patch for bug #653743 tries to use shell syntax instead of make syntax, and once this is fixed causes a knock-on build failure due to a gnulib upstream test failing with -Werror=format-security. And the patch for bug #670481 causes a real target (build-stamp) to have a dependency on a phony target (patch), resulting in the build being done twice and failing the second time (via ./debian/rules binary) because of fakeroot. So I've corrected these issues, and am attaching a full debdiff for the NMU with the final set of changes. Per the developer's reference, I'm uploading this NMU to the DELAYED/5-days queue. Please let me know if you see any problems with the contents of the NMU. Thanks, -- Steve Langasek Give me a lever long enough and a Free OS Debian Developer to set it on, and I can move the world. Ubuntu Developer http://www.debian.org/ slanga...@ubuntu.com vor...@debian.org
diff -u coreutils-8.13/debian/control coreutils-8.13/debian/control --- coreutils-8.13/debian/control +++ coreutils-8.13/debian/control @@ -7,6 +7,7 @@ Package: coreutils Architecture: any +Multi-Arch: foreign Pre-Depends: ${shlibs:Depends} Essential: yes Replaces: mktemp, timeout diff -u coreutils-8.13/debian/changelog coreutils-8.13/debian/changelog --- coreutils-8.13/debian/changelog +++ coreutils-8.13/debian/changelog @@ -1,3 +1,23 @@ +coreutils (8.13-3.2) unstable; urgency=low + + * Non-maintainer upload. + * Don't declare separate build-arch/build-indep targets when they just + fall through to the same common build rule, since they don't have correct + target dependencies themselves. Closes: #670481. + * Enable hardening build flags. Thanks to Moritz Muehlenhoff for the + patch. Closes: #653743. + * debian/patches/99_Werror-format-string.dpatch: fix the gnulib test suite + so that it doesn't fail to build with hardening flags on. + * Mark coreutils Multi-Arch: foreign. Thanks to Colin Watson. + Closes: #649397. + * debian/patches/99_tests-misc-sort-continue-Port-to-Fedora-15.dpatch: + cherry-pick from upstream to fix a build failure whenever the build + system happens to be holding an fd open, as happens when running in + certain environments (e.g., Lucas's test rebuild farm, or bzr-builddeb). + Closes: #669555. + + -- Steve Langasek <vor...@debian.org> Wed, 02 May 2012 02:27:43 +0000 + coreutils (8.13-3.1) unstable; urgency=low * Non-maintainer upload. diff -u coreutils-8.13/debian/rules coreutils-8.13/debian/rules --- coreutils-8.13/debian/rules +++ coreutils-8.13/debian/rules @@ -20,12 +20,10 @@ endif endif -# implement no optimization build option -ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS))) -CFLAGS = -g -O0 -else -CFLAGS ?= -g -O2 -endif +CFLAGS = $(shell dpkg-buildflags --get CFLAGS) +LDFLAGS = $(shell dpkg-buildflags --get LDFLAGS) +CPPFLAGS = $(shell dpkg-buildflags --get CPPFLAGS) + CFLAGS += -DSYSLOG_SUCCESS -DSYSLOG_FAILURE -DSYSLOG_NON_ROOT # Renesas SH(sh4) need -mieee option. @@ -51,7 +49,7 @@ configure-stamp: dh_testdir - CFLAGS="$(CFLAGS)" \ + CFLAGS="$(CFLAGS)" CPPFLAGS="$(CPPFLAGS)" \ LDFLAGS='$(LDFLAGS)' ./configure \ --build=$(DEB_BUILD_GNU_TYPE) --host=$(DEB_HOST_GNU_TYPE) \ --prefix=/usr -v \ @@ -61,9 +59,7 @@ echo configured > configure-stamp -build: patch configure build-arch build-indep -build-arch: build-stamp -build-indep: build-stamp +build: patch configure build-stamp build-stamp: dh_testdir $(MAKE) diff -u coreutils-8.13/debian/patches/00list coreutils-8.13/debian/patches/00list --- coreutils-8.13/debian/patches/00list +++ coreutils-8.13/debian/patches/00list @@ -10,0 +11,2 @@ +99_tests-misc-sort-continue-Port-to-Fedora-15 +99_Werror-format-string only in patch2: unchanged: --- coreutils-8.13.orig/debian/patches/99_Werror-format-string.dpatch +++ coreutils-8.13/debian/patches/99_Werror-format-string.dpatch @@ -0,0 +1,19 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 99_Werror-format-string.dpatch by Steve Langasek <vor...@debian.org> +## +## DP: Fix gnulib test suite to work with -Werror=format-string. + +@DPATCH@ +diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' debian~/gnulib-tests/test-xvasprintf.c debian/gnulib-tests/test-xvasprintf.c +--- debian~/gnulib-tests/test-xvasprintf.c 2012-03-31 21:51:00.000000000 +0000 ++++ debian/gnulib-tests/test-xvasprintf.c 2012-05-02 00:01:49.018631894 +0000 +@@ -96,8 +96,7 @@ + + { + /* Silence gcc warning about zero-length format string. */ +- const char *empty = ""; +- result = xasprintf (empty); ++ result = xasprintf ("%s", ""); + ASSERT (result != NULL); + ASSERT (strcmp (result, "") == 0); + free (result); only in patch2: unchanged: --- coreutils-8.13.orig/debian/patches/99_tests-misc-sort-continue-Port-to-Fedora-15.dpatch +++ coreutils-8.13/debian/patches/99_tests-misc-sort-continue-Port-to-Fedora-15.dpatch @@ -0,0 +1,46 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## From 91a5badc7b8b96916147f28b1d094af98efa5aa7 Mon Sep 17 00:00:00 2001 +## From: Paul Eggert <egg...@cs.ucla.edu> +## Date: Sat, 12 Nov 2011 00:20:01 -0800 +## Subject: [PATCH] * tests/misc/sort-continue: Port to Fedora 15. +## +## Redirect with the shell command, not in a separate 'exec'. +## Without this patch, Fedora 15 x86-64 /bin/sh (i.e., Bash 4.2.10) +## complained about running out of file descriptors in the shell. + +diff --git a/tests/misc/sort-continue b/tests/misc/sort-continue +index 42db01e..2ea06b7 100755 +--- a/tests/misc/sort-continue ++++ b/tests/misc/sort-continue +@@ -20,7 +20,7 @@ + print_ver_ sort + + # Skip the test when running under valgrind. +-( ulimit -n 6; sort < /dev/null ) \ ++( ulimit -n 6; sort 3<&- 4<&- 5<&- < /dev/null ) \ + || skip_ 'fd-limited sort failed; are you running under valgrind?' + + for i in $(seq 31); do +@@ -30,8 +30,7 @@ done + + ( + ulimit -n 6 +- exec 0</dev/null 3<&- 4<&- 5<&- +- sort -n -m __test.* > out ++ sort -n -m __test.* 3<&- 4<&- 5<&- < /dev/null > out + ) && + compare in out || + { fail=1; echo 'file descriptor exhaustion not handled' 1>&2; } +@@ -39,8 +38,7 @@ compare in out || + echo 32 | tee -a in > in1 + ( + ulimit -n 6 +- exec 3<&- 4<&- 5<&- +- sort -n -m __test.* - < in1 > out ++ sort -n -m __test.* - 3<&- 4<&- 5<&- < in1 > out + ) && + compare in out || { fail=1; echo 'stdin not handled properly' 1>&2; } + +-- +1.7.9.5 +
signature.asc
Description: Digital signature