Package: devscripts
Version: 2.11.9
Severity: important
Tags: patch

Hi,

considering a tuplet for which several logs are available, getbuildlog
downloads them all but with a fixed filename (through wget -O) so the
last downloaded log wins. Adding -nc doesn't help with -O, which is
basically another way to write a shell redirection. You'll find attached
a patch to fix this by mimicking wget's behaviour is non-“-O” situation:
using filename.1, filename.2, etc.

If you need an example: debian-installer 20120712 mipsel
  
https://buildd.debian.org/status/logs.php?pkg=debian-installer&ver=20120712&arch=mipsel

The other attached patch fixes the missing +x bit in the repository.

Mraw,
KiBi.

-- Package-specific info:

--- /etc/devscripts.conf ---

--- ~/.devscripts ---
DEBUILD_DPKG_BUILDPACKAGE_OPTS="-uc -us"
DEBCHANGE_FORCE_SAVE_ON_RELEASE=no
DEBCHANGE_MAINTTRAILER=no
DEBCHANGE_RELEASE_HEURISTIC=changelog
DEBDIFF_AUTO_VER_SORT=yes
DEB_BUILD_OPTIONS="parallel=4"

-- System Information:
Debian Release: wheezy/sid
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 3.2.0-3-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages devscripts depends on:
ii  dpkg-dev   1.16.4.3
ii  libc6      2.13-33
ii  perl       5.14.2-12
ii  python     2.7.3~rc2-1
ii  python2.6  2.6.8-0.2
ii  python2.7  2.7.3~rc2-2.1

Versions of packages devscripts recommends:
ii  at                        3.1.13-2
ii  curl                      7.26.0-1
ii  dctrl-tools               2.22.2
ii  debian-keyring            2012.06.01
ii  dput                      0.9.6.3
ii  equivs                    2.0.9
ii  fakeroot                  1.18.4-2
ii  gnupg                     1.4.12-4+b1
ii  libcrypt-ssleay-perl      0.58-1
ii  libdistro-info-perl       0.10
ii  libjson-perl              2.53-1
ii  libparse-debcontrol-perl  2.005-3
ii  libsoap-lite-perl         0.714-1
ii  liburi-perl               1.60-1
ii  libwww-perl               6.04-1
ii  lintian                   2.5.10
ii  man-db                    2.6.2-1
ii  patch                     2.6.1-3
ii  patchutils                0.3.2-1.1
ii  python-debian             0.1.21
ii  python-magic              5.11-2
ii  sensible-utils            0.0.7
ii  strace                    4.5.20-2.3
ii  unzip                     6.0-7
ii  wdiff                     1.1.2-1
ii  wget                      1.13.4-3
ii  xz-utils                  5.1.1alpha+20120614-1

Versions of packages devscripts suggests:
ii  bsd-mailx [mailx]            8.1.2-0.20111106cvs-1
ii  build-essential              11.5
pn  cvs-buildpackage             <none>
pn  devscripts-el                <none>
ii  gnuplot                      4.6.0-8
ii  libauthen-sasl-perl          2.1500-1
ii  libfile-desktopentry-perl    0.04-3
ii  libnet-smtp-ssl-perl         1.01-3
pn  libterm-size-perl            <none>
ii  libtimedate-perl             1.2000-1
pn  libyaml-syck-perl            <none>
ii  mutt                         1.5.21-6.1
ii  openssh-client [ssh-client]  1:6.0p1-2
pn  svn-buildpackage             <none>
ii  w3m                          0.5.3-8

-- no debconf information
>From f8e07343901deafbb017e9f6c2a3047e6ead96c1 Mon Sep 17 00:00:00 2001
From: Cyril Brulebois <k...@debian.org>
Date: Sun, 29 Jul 2012 21:20:07 +0200
Subject: [PATCH 1/2] getbuildlog: Mark it executable in git.

Fix missing +x bit, making it easier to run from a checkout.
---
 0 files changed
 mode change 100644 => 100755 scripts/getbuildlog.sh

diff --git a/scripts/getbuildlog.sh b/scripts/getbuildlog.sh
old mode 100644
new mode 100755
-- 
1.7.10.4

>From 7b568ba2df21e41a54de7b0e472346695e51cba9 Mon Sep 17 00:00:00 2001
From: Cyril Brulebois <k...@debian.org>
Date: Sun, 29 Jul 2012 19:00:52 +0200
Subject: [PATCH 2/2] getbuildlog: Stop clobbering when downloading multiple
 logs.

When several build logs are available, save all of them instead of
downloading them all but only keeping the oldest.
---
 debian/changelog       |    4 ++++
 scripts/getbuildlog.sh |   12 +++++++++++-
 2 files changed, 15 insertions(+), 1 deletion(-)

diff --git a/debian/changelog b/debian/changelog
index c56432b..97fe43b 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -18,6 +18,10 @@ devscripts (2.12.2) UNRELEASED; urgency=low
   * licensecheck.1: Consistency fix.
   * French translation update.
 
+  [ Cyril Brulebois ]
+  * getbuildlog: When several build logs are available, save all of them
+    instead of downloading them all but only keeping the oldest.
+
  -- Benjamin Drung <bdr...@debian.org>  Thu, 26 Jul 2012 12:17:51 +0200
 
 devscripts (2.12.1) unstable; urgency=low
diff --git a/scripts/getbuildlog.sh b/scripts/getbuildlog.sh
index 92a50a4..b9b7a35 100755
--- a/scripts/getbuildlog.sh
+++ b/scripts/getbuildlog.sh
@@ -128,7 +128,17 @@ arch=$ARCH&ver=$LASTVERSION&stamp=[[:digit:]]+"
 	arch=${match##*arch=}
 	arch=${arch%%&*}
 	match=`echo $match | sed -e 's/\+/%2B/g'`
-        wget -O "${PACKAGE}_${ver}_${arch}.log" "$BASE/status/$match&raw=1"
+	# Mimick wget's behaviour, using a numerical suffix if needed,
+	# to support downloading several logs for a given tuple
+	# (unfortunately, -nc and -O means only the first file gets
+	# downloaded):
+	filename="${PACKAGE}_${ver}_${arch}.log"
+	if [ -f "$filename" ]; then
+	    suffix=1
+	    while [ -f "$filename.$suffix" ]; do suffix=$((suffix+1)); done
+	    filename="$filename.$suffix"
+	fi
+	wget -O "$filename" "$BASE/status/$match&raw=1"
     done
 
     rm -f $ALL_LOGS
-- 
1.7.10.4

Reply via email to