Package: release.debian.org User: release.debian.org@packages.debian.org Usertag: unblock Dear RT, please unblock pbuilder/0.230.3, fixing a couple of bugs. You could argue they are minor, but at least the systemd slice thingy, and the cross-build one are quite annoying. The other two new "features" are tiny and easily reviewable (and the more scary one is covered by the testsuite). Thanks for considering. -- regards, Mattia Rizzolo GPG Key: 66AE 2B4A FCCF 3F52 DA18 4D18 4B04 3FCD B944 4540 .''`. more about me: https://mapreri.org : :' : Launchpad user: https://launchpad.net/~mapreri `. `'` Debian QA page: https://qa.debian.org/developer.php?login=mattia `-
diffstat for pbuilder-0.230.2 pbuilder-0.230.3 /tmp/pyRgYqk0Z_/pbuilder-0.230.3/Documentation/pbuilder-doc.de.po | 4 - /tmp/pyRgYqk0Z_/pbuilder-0.230.3/Documentation/pbuilder-doc.fr.po | 2 /tmp/pyRgYqk0Z_/pbuilder-0.230.3/Documentation/pbuilder-doc.ja.po | 2 /tmp/pyRgYqk0Z_/pbuilder-0.230.3/Documentation/pbuilder-doc.po | 2 /tmp/pyRgYqk0Z_/pbuilder-0.230.3/Documentation/pbuilder-doc.xml | 2 /tmp/pyRgYqk0Z_/pbuilder-0.230.3/debian/changelog | 29 +++++++ /tmp/pyRgYqk0Z_/pbuilder-0.230.3/debian/control | 2 /tmp/pyRgYqk0Z_/pbuilder-0.230.3/pbuilder-apt-config | 2 /tmp/pyRgYqk0Z_/pbuilder-0.230.3/pbuilder-buildpackage | 4 - /tmp/pyRgYqk0Z_/pbuilder-0.230.3/pbuilder-buildpackage-funcs | 33 ++++---- /tmp/pyRgYqk0Z_/pbuilder-0.230.3/pbuilder-checkparams | 2 /tmp/pyRgYqk0Z_/pbuilder-0.230.3/pbuilder-createbuildenv | 6 + /tmp/pyRgYqk0Z_/pbuilder-0.230.3/pbuilder-modules | 4 - /tmp/pyRgYqk0Z_/pbuilder-0.230.3/pbuilder.8 | 3 /tmp/pyRgYqk0Z_/pbuilder-0.230.3/t/test_pbuilder-buildpackage-funcs | 23 +++++- t/data/fool's \"data /dsc | 37 ++++++++++ 16 files changed, 125 insertions(+), 32 deletions(-) diff -Nru pbuilder-0.230.2/debian/changelog pbuilder-0.230.3/debian/changelog --- pbuilder-0.230.2/debian/changelog 2019-02-28 16:42:09.000000000 +0100 +++ pbuilder-0.230.3/debian/changelog 2019-03-26 15:44:52.000000000 +0100 @@ -1,9 +1,38 @@ +pbuilder (0.230.3) unstable; urgency=medium + + [ Marcin Sulikowski ] + * buildpackage-funcs: Fix whitespace handling in .dsc paths. MR: !4 + + [ Hideki Yamane ] + * createbuildenv: + + Use packages from APTCACHE during debootstrap. Closes: #432088; MR: !6 + * doc: + + Use deb.debian.org as defalut example. MR: !5 + * pbuilder.8: + + Mention qemu-debootstrap as a valid --debootstrap option. MR: !7 + + [ Mattia Rizzolo ] + * modules: + + Always call `systemctl stop` if using systemd's cgroups, preventing + stray slices from being left behind. + + [ James Clarke ] + * buildpackage-funcs: + + While setting up the cross-build env, only look at installed bin:gcc, + not all available ones. + + Print a useful error if GCC version detection fails. + + Handle minor GCC versions and unversioned GCC dependencies. + + -- Mattia Rizzolo <mattia@debian.org> Tue, 26 Mar 2019 15:44:52 +0100 + pbuilder (0.230.2) unstable; urgency=medium [ Mattia Rizzolo ] * buildpackage: + Fixup the dpkg-dev 1.13.19 check for dpkg-source not supporting specifying the extraction directory. Closes: #918368 + + Do not hardcode libstdc++-6-dev while setting up a cross-build + environment, instead check at runtime which version to use. Thanks to Helmut and James for finding the (maybe) best formula. * d/control: + Bump Standards-Version to 4.3.0, no changes needed. diff -Nru pbuilder-0.230.2/debian/control pbuilder-0.230.3/debian/control --- pbuilder-0.230.2/debian/control 2019-02-21 11:40:54.000000000 +0100 +++ pbuilder-0.230.3/debian/control 2019-03-15 15:33:18.000000000 +0100 @@ -24,7 +24,7 @@ Architecture: all Multi-Arch: foreign Depends: - debootstrap | cdebootstrap, + debootstrap (>= 1.0.97) | cdebootstrap, dpkg-dev (>= 1.17.0), ${misc:Depends}, Recommends: diff -Nru pbuilder-0.230.2/Documentation/pbuilder-doc.de.po pbuilder-0.230.3/Documentation/pbuilder-doc.de.po --- pbuilder-0.230.2/Documentation/pbuilder-doc.de.po 2018-11-23 11:51:49.000000000 +0100 +++ pbuilder-0.230.3/Documentation/pbuilder-doc.de.po 2019-03-15 15:29:22.000000000 +0100 @@ -2359,11 +2359,11 @@ #, no-wrap msgid "" "<command>pbuilder create --distribution sid --debootstrapopts --arch --debootstrapopts i386 \\\n" -" --basetgz /var/cache/pbuilder/base-i386.tgz --mirror http://ftp.jp.debian.org/debian</command>\n" +" --basetgz /var/cache/pbuilder/base-i386.tgz --mirror http://deb.debian.org/debian</command>\n" "<command>linux32 pbuilder build --basetgz /var/cache/pbuilder/base-i386.tgz</command>" msgstr "" "<command>pbuilder create --distribution sid --debootstrapopts --arch --debootstrapopts i386 \\\n" -" --basetgz /var/cache/pbuilder/base-i386.tgz --mirror http://ftp.jp.debian.org/debian</command>\n" +" --basetgz /var/cache/pbuilder/base-i386.tgz --mirror http://deb.debian.org/debian</command>\n" "<command>linux32 pbuilder build --basetgz /var/cache/pbuilder/base-i386.tgz</command>" # Ist eine Option, z.B.: diff -Nru pbuilder-0.230.2/Documentation/pbuilder-doc.fr.po pbuilder-0.230.3/Documentation/pbuilder-doc.fr.po --- pbuilder-0.230.2/Documentation/pbuilder-doc.fr.po 2018-11-23 11:51:49.000000000 +0100 +++ pbuilder-0.230.3/Documentation/pbuilder-doc.fr.po 2019-03-15 15:29:22.000000000 +0100 @@ -2684,7 +2684,7 @@ #, no-wrap msgid "" "<command>pbuilder create --distribution sid --debootstrapopts --arch --debootstrapopts i386 \\\n" -" --basetgz /var/cache/pbuilder/base-i386.tgz --mirror http://ftp.jp.debian.org/debian</command>\n" +" --basetgz /var/cache/pbuilder/base-i386.tgz --mirror http://deb.debian.org/debian</command>\n" "<command>linux32 pbuilder build --basetgz /var/cache/pbuilder/base-i386.tgz</command>" msgstr "" diff -Nru pbuilder-0.230.2/Documentation/pbuilder-doc.ja.po pbuilder-0.230.3/Documentation/pbuilder-doc.ja.po --- pbuilder-0.230.2/Documentation/pbuilder-doc.ja.po 2018-11-23 11:51:49.000000000 +0100 +++ pbuilder-0.230.3/Documentation/pbuilder-doc.ja.po 2019-03-15 15:29:22.000000000 +0100 @@ -2245,7 +2245,7 @@ #, no-wrap msgid "" "<command>pbuilder create --distribution sid --debootstrapopts --arch --debootstrapopts i386 \\\n" -" --basetgz /var/cache/pbuilder/base-i386.tgz --mirror http://ftp.jp.debian.org/debian</command>\n" +" --basetgz /var/cache/pbuilder/base-i386.tgz --mirror http://deb.debian.org/debian</command>\n" "<command>linux32 pbuilder build --basetgz /var/cache/pbuilder/base-i386.tgz</command>" msgstr "" diff -Nru pbuilder-0.230.2/Documentation/pbuilder-doc.po pbuilder-0.230.3/Documentation/pbuilder-doc.po --- pbuilder-0.230.2/Documentation/pbuilder-doc.po 2018-11-23 11:51:49.000000000 +0100 +++ pbuilder-0.230.3/Documentation/pbuilder-doc.po 2019-03-15 15:29:22.000000000 +0100 @@ -1740,7 +1740,7 @@ "<command>pbuilder create --distribution sid --debootstrapopts --arch " "--debootstrapopts i386 \\\n" " --basetgz /var/cache/pbuilder/base-i386.tgz --mirror " -"http://ftp.jp.debian.org/debian</command>\n" +"http://deb.debian.org/debian</command>\n" "<command>linux32 pbuilder build --basetgz " "/var/cache/pbuilder/base-i386.tgz</command>" msgstr "" diff -Nru pbuilder-0.230.2/Documentation/pbuilder-doc.xml pbuilder-0.230.3/Documentation/pbuilder-doc.xml --- pbuilder-0.230.2/Documentation/pbuilder-doc.xml 2018-11-23 11:51:49.000000000 +0100 +++ pbuilder-0.230.3/Documentation/pbuilder-doc.xml 2019-03-15 15:29:22.000000000 +0100 @@ -1189,7 +1189,7 @@ <para> <screen> <command>pbuilder create --distribution sid --debootstrapopts --arch --debootstrapopts i386 \ - --basetgz /var/cache/pbuilder/base-i386.tgz --mirror http://ftp.jp.debian.org/debian</command> + --basetgz /var/cache/pbuilder/base-i386.tgz --mirror http://deb.debian.org/debian</command> <command>linux32 pbuilder build --basetgz /var/cache/pbuilder/base-i386.tgz</command></screen> </para> </sect1> diff -Nru pbuilder-0.230.2/pbuilder.8 pbuilder-0.230.3/pbuilder.8 --- pbuilder-0.230.2/pbuilder.8 2018-11-23 11:51:49.000000000 +0100 +++ pbuilder-0.230.3/pbuilder.8 2019-03-15 15:24:28.000000000 +0100 @@ -547,7 +547,8 @@ .BI "\-\-debootstrap " "debootstrap" Use specified debootstrap implementation as debootstrap. Known implementations are -.B cdebootstrap +.BR cdebootstrap , +.B qemu-debootstrap and .B debootstrap and default is to use diff -Nru pbuilder-0.230.2/pbuilder-apt-config pbuilder-0.230.3/pbuilder-apt-config --- pbuilder-0.230.2/pbuilder-apt-config 2018-11-23 11:51:49.000000000 +0100 +++ pbuilder-0.230.3/pbuilder-apt-config 2019-03-15 15:29:22.000000000 +0100 @@ -120,7 +120,7 @@ echo "http://www.backports.org/backports.org/" ;; debian) - echo "http://ftp.us.debian.org/debian/" + echo "http://deb.debian.org/debian/" ;; debian-archive) echo "http://archive.debian.org/debian/" diff -Nru pbuilder-0.230.2/pbuilder-buildpackage pbuilder-0.230.3/pbuilder-buildpackage --- pbuilder-0.230.2/pbuilder-buildpackage 2019-01-07 16:16:01.000000000 +0100 +++ pbuilder-0.230.3/pbuilder-buildpackage 2019-03-13 17:47:00.000000000 +0100 @@ -289,11 +289,11 @@ else FILES=$(get822files "changes" "$ARCH_CHANGES_FILE") fi - for FILE in $FILES; do + while read -r FILE; do if [ -f "${FILE}" ]; then cp -p "${FILE}" "${BUILDRESULT}" || true fi - done + done <<< "${FILES}" export_additional_buildresults executehooks "I" else diff -Nru pbuilder-0.230.2/pbuilder-buildpackage-funcs pbuilder-0.230.3/pbuilder-buildpackage-funcs --- pbuilder-0.230.2/pbuilder-buildpackage-funcs 2019-02-28 16:39:58.000000000 +0100 +++ pbuilder-0.230.3/pbuilder-buildpackage-funcs 2019-03-25 17:14:26.000000000 +0100 @@ -24,34 +24,33 @@ get822files () { # get list of files listed in the Files field of a .changes or .dsc (to - # be specified in the first parameter) + # be specified in the first parameter) and output them one file per line local type="$1" local input="$2" - local files=("$2") case $type in changes) local field=5 ;; dsc) local field=3 ;; *) log.error "unexpected error in get822files()" ; exit 1 ;; esac - files+=("$(cat "$input" | - awk 'BEGIN{p=0} - ! /^[ \t]/ {p=0} - /^Files:/ {p=1} - ! /^[ \t]*/ {p=0} - /^ / {if (p){print "'$(dirname "$input")'/" $'${field}'}}' | - tr '\n' ' ' | sed -e 's/[[:space:]]*$//')") - # ↑↑↑ because we are really picky (and we have picky tests...) - echo "${files[@]}" + echo "$input" + cat "$input" | awk -v dir="$(dirname "$input")" ' + BEGIN {p=0} + ! /^[ \t]/ {p=0} + /^[ \t]*$/ {p=0} + /^Files:/ {p=1} + /^ / && p {print dir "/" $'${field}'} + ' } function copydsc () { local DSCFILE=$(get822files "dsc" "$1") local TARGET="$2" - for FILE in ${DSCFILE[@]} ; do - log.i "copying [$FILE]" + local FILE + while read -r FILE ; do + log.i "copying [$FILE]" cp -p "$FILE" "$TARGET" chmod u+rw "$TARGET/$(basename "$FILE")" - done + done <<< "$DSCFILE" } function dsc_get_basename() { @@ -274,7 +273,11 @@ # variant is a virtual package, and often there are more than one, and apt can't # pick one for us local gcc_ver - gcc_ver="$($CHROOTEXEC apt-cache show gcc | sed 's/^Depends: .*gcc-\([0-9]\+\) .*/\1/;t;d')" + gcc_ver="$($CHROOTEXEC dpkg-query -W --showformat='${Depends}\n' gcc | sed -n 's/^.*gcc-\([0-9.]\+\)\([ ,].*\|$\)/\1/p')" + if [ -z "$gcc_ver" ]; then + log.e "Failed to determine default GCC version for installing cross build dependencies" + exit 1 + fi EXTRAPACKAGES="${EXTRAPACKAGES:+"$EXTRAPACKAGES" }crossbuild-essential-$HOST_ARCH libc-dev:$HOST_ARCH libstdc++${gcc_ver:+-"$gcc_ver"}-dev:$HOST_ARCH" DEBBUILDOPTS="${DEBBUILDOPTS:+"$DEBBUILDOPTS" }--host-arch $HOST_ARCH" if [ "${NO_AUTO_CROSS:-}" != "yes" ]; then diff -Nru pbuilder-0.230.2/pbuilder-checkparams pbuilder-0.230.3/pbuilder-checkparams --- pbuilder-0.230.2/pbuilder-checkparams 2018-11-23 11:51:49.000000000 +0100 +++ pbuilder-0.230.3/pbuilder-checkparams 2019-03-23 14:16:18.000000000 +0100 @@ -393,7 +393,7 @@ if systemctl is-system-running --quiet >/dev/null 2>&1 && \ dpkg --compare-versions "$(dpkg-query -W --showformat='${Version}' systemd)" gt 215; then # --description uses that no-spaces string because the quoting sucks - # right now, and it would end up trying to execuse $PBUILDER_OPERATION… + # right now, and it would end up trying to execute $PBUILDER_OPERATION… # long-term solution is to turn $CHROOTEXEC into a command and properly # use arrays instead of plain strings. SYSTEMD_SLICE="system-pbuilder-${PBUILDER_OPERATION}${1:+-"$(systemd-escape "$(basename "$1" .dsc)")"}-$$.slice" diff -Nru pbuilder-0.230.2/pbuilder-createbuildenv pbuilder-0.230.3/pbuilder-createbuildenv --- pbuilder-0.230.2/pbuilder-createbuildenv 2018-11-23 11:51:49.000000000 +0100 +++ pbuilder-0.230.3/pbuilder-createbuildenv 2019-03-15 15:33:18.000000000 +0100 @@ -64,12 +64,18 @@ exit 1 fi +# use cache for debootstrap +if [ -n "$APTCACHE" ] && [ "${DEBOOTSTRAP}" = debootstrap -o "${DEBOOTSTRAP}" = qemu-debootstrap ]; then + USE_CACHE="--cache-dir=$APTCACHE" +fi + # FIXME if the end-user passes another --include= to debootstrap in # DEBOOTSTRAPOPTS, it will override the --include=apt one and apt might not be # installed if ! ( "${DEBOOTSTRAP}" \ ${ARCHITECTURE:+--arch=$ARCHITECTURE} \ --include=apt \ + "$USE_CACHE" \ "${DEBOOTSTRAPOPTS[@]}" \ "$DISTRIBUTION" \ "$BUILDPLACE" \ diff -Nru pbuilder-0.230.2/pbuilder-modules pbuilder-0.230.3/pbuilder-modules --- pbuilder-0.230.2/pbuilder-modules 2019-02-19 16:07:53.000000000 +0100 +++ pbuilder-0.230.3/pbuilder-modules 2019-03-23 14:09:34.000000000 +0100 @@ -557,11 +557,11 @@ TasksCurrent="$(systemctl show "$SYSTEMD_SLICE" --property=TasksCurrent | tr -d '\n')" TasksCurrent="${TasksCurrent#TasksCurrent=}" if [ "$TasksCurrent" != "0" -a "$TasksCurrent" != "[not set]" -a "$TasksCurrent" != "18446744073709551615" ]; then - log.w "Cleaning up stray processes from build" + log.w "Stray processes left from build:" systemctl status "$SYSTEMD_SLICE" - systemctl stop "$SYSTEMD_SLICE" fi fi + systemctl stop "$SYSTEMD_SLICE" fi if [ -d "$BUILDPLACE" ]; then # A directory on the same partition as $BUILDPLACE, bind-mounted diff -Nru "/tmp/GnCAjzBDfW/pbuilder-0.230.2/t/data/fool's \"data /dsc" "/tmp/pyRgYqk0Z_/pbuilder-0.230.3/t/data/fool's \"data /dsc" --- "/tmp/GnCAjzBDfW/pbuilder-0.230.2/t/data/fool's \"data /dsc" 1970-01-01 01:00:00.000000000 +0100 +++ "/tmp/pyRgYqk0Z_/pbuilder-0.230.3/t/data/fool's \"data /dsc" 2019-03-13 17:47:00.000000000 +0100 @@ -0,0 +1,37 @@ +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA1 + +Format: 3.0 (quilt) +Source: haskell-concrete-typerep +Binary: libghc-concrete-typerep-dev, libghc-concrete-typerep-prof, libghc-concrete-typerep-doc +Architecture: any all +Version: 0.1.0.2-2 +Maintainer: Debian Haskell Group <pkg-haskell-maintainers@lists.alioth.debian.org> +Uploaders: Masayuki Hatta (mhatta) <mhatta@debian.org> +Homepage: http://hackage.haskell.org/package/concrete-typerep +Standards-Version: 3.9.3 +Vcs-Browser: http://darcs.debian.org/cgi-bin/darcsweb.cgi?r=pkg-haskell/haskell-concrete-typerep +Vcs-Darcs: http://darcs.debian.org/darcs/pkg-haskell/haskell-concrete-typerep +Build-Depends: debhelper (>= 9), haskell-devscripts (>= 0.8.15), cdbs, ghc, ghc-prof, libghc-hashable-dev (<< 1.3), libghc-hashable-prof (<< 1.3) +Build-Depends-Indep: ghc-doc, libghc-hashable-doc (<< 1.3) +Package-List: + libghc-concrete-typerep-dev deb haskell extra + libghc-concrete-typerep-doc deb doc extra + libghc-concrete-typerep-prof deb haskell extra +Checksums-Sha1: + 7dc356eef28c83f606b792e3d39b68a04c1a6d98 3159 haskell-concrete-typerep_0.1.0.2.orig.tar.gz + 10710e36d3e55272169c8600f1dd558fe2102217 2232 haskell-concrete-typerep_0.1.0.2-2.debian.tar.gz +Checksums-Sha256: + f72a41d9d8315528c7b0e13bf61e6122c7d236cb529c207cfb431cf272439e1f 3159 haskell-concrete-typerep_0.1.0.2.orig.tar.gz + 34f25f113fd7762ffc783cb9f2942e78bd10546826c76e76ad30d89a9ede9471 2232 haskell-concrete-typerep_0.1.0.2-2.debian.tar.gz +Files: + 5638a296661fb65145dfbc062cfa53db 3159 haskell-concrete-typerep_0.1.0.2.orig.tar.gz + cb67a46d6b00af4fc5769c11ae6c99f8 2232 haskell-concrete-typerep_0.1.0.2-2.debian.tar.gz + +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v1.4.12 (GNU/Linux) + +iEYEARECAAYFAlGgkLEACgkQ9ijrk0dDIGyOhgCfd5PqA5Uy3l26+sfU0PfnxRX5 +Do4AnRDBnUTngXlbdIx1NpsgUsLluc1U +=qQyP +-----END PGP SIGNATURE----- diff -Nru pbuilder-0.230.2/t/test_pbuilder-buildpackage-funcs pbuilder-0.230.3/t/test_pbuilder-buildpackage-funcs --- pbuilder-0.230.2/t/test_pbuilder-buildpackage-funcs 2018-11-23 11:51:49.000000000 +0100 +++ pbuilder-0.230.3/t/test_pbuilder-buildpackage-funcs 2019-03-13 17:47:00.000000000 +0100 @@ -54,6 +54,10 @@ get822files changes "$DEBIAN_CONTROL" } +test_getdscfilesWithInsaneParentDir () { + get822files dsc "$TESTDATA_DIR/fool's \"data /dsc" +} + test_dsc_get_basename_normal_with_revision() { dsc_get_basename "$TESTDATA_DIR/dsc1" yes } @@ -120,9 +124,22 @@ BUILDDIR='' BUILDSUBDIR=fake-pkg -expect_output "$DEBIAN_CONTROL $TEMP_DIR/haskell-concrete-typerep_0.1.0.2.orig.tar.gz $TEMP_DIR/haskell-concrete-typerep_0.1.0.2-2.debian.tar.gz" test_getdscfilesNormal -expect_output "$DEBIAN_CONTROL $TEMP_DIR/golang-xmpp-dev_0.0~git20140304.orig.tar.gz $TEMP_DIR/golang-xmpp-dev_0.0~git20140304-1.debian.tar.xz" test_getdscfilesWithoutNL -expect_output "$DEBIAN_CONTROL $TEMP_DIR/pbuilder_0.225.2~bpo8+1.dsc $TEMP_DIR/pbuilder_0.225.2~bpo8+1.tar.xz $TEMP_DIR/pbuilder_0.225.2~bpo8+1_all.deb" test_getchangesfilesNormal +expect_output "$DEBIAN_CONTROL +$TEMP_DIR/haskell-concrete-typerep_0.1.0.2.orig.tar.gz +$TEMP_DIR/haskell-concrete-typerep_0.1.0.2-2.debian.tar.gz" test_getdscfilesNormal + +expect_output "$DEBIAN_CONTROL +$TEMP_DIR/golang-xmpp-dev_0.0~git20140304.orig.tar.gz +$TEMP_DIR/golang-xmpp-dev_0.0~git20140304-1.debian.tar.xz" test_getdscfilesWithoutNL + +expect_output "$DEBIAN_CONTROL +$TEMP_DIR/pbuilder_0.225.2~bpo8+1.dsc +$TEMP_DIR/pbuilder_0.225.2~bpo8+1.tar.xz +$TEMP_DIR/pbuilder_0.225.2~bpo8+1_all.deb" test_getchangesfilesNormal + +expect_output "$TESTDATA_DIR/fool's \"data /dsc +$TESTDATA_DIR/fool's \"data /haskell-concrete-typerep_0.1.0.2.orig.tar.gz +$TESTDATA_DIR/fool's \"data /haskell-concrete-typerep_0.1.0.2-2.debian.tar.gz" test_getdscfilesWithInsaneParentDir expect_output "haskell-concrete-typerep_0.1.0.2-2" test_dsc_get_basename_normal_with_revision expect_output "haskell-concrete-typerep_0.1.0.2" test_dsc_get_basename_normal_without_revision
Attachment:
signature.asc
Description: PGP signature