Package: devscripts
Version: 2.15.8
Severity: wishlist
Tags: patch

If you run uupdate from VCS checkout of debian tree (git-buildpackage
style with patch un-applied), you need to bother getting debian.tar.xz
now.

As I see uupdate script, I see "if ... elif ... fi" sequence without
"else" case when all diff.gz and debian.tar.xz are missing drops in.

Why not supply it from current debian directory contents?  uupdate is
normally executed where debian/* are found.

I think this is something we can improve with current method of updating
the source. 

Here is a patch I created and it works nicely even if all
diff.gz and debian.tar.xz are missing as I locally tested.

Osamu
-- Package-specific info:

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

--- ~/.devscripts ---
DEBUILD_DPKG_BUILDPACKAGE_OPTS="-i -us -uc"
DEBUILD_LINTIAN_OPTS="-i -I --show-overrides"
DEBSIGN_KEYID="1DD8D791"

-- System Information:
Debian Release: 8.1
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'proposed-updates'), (500, 
'stable'), (99, 'testing'), (98, 'unstable')
Architecture: amd64 (x86_64)

Kernel: Linux 3.16.0-4-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_US.utf8, LC_CTYPE=en_US.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages devscripts depends on:
ii  dpkg-dev     1.17.25
ii  libc6        2.19-18
ii  perl         5.20.2-3+deb8u1
ii  python3      3.4.2-2
pn  python3:any  <none>

Versions of packages devscripts recommends:
ii  at                          3.1.16-1
ii  curl                        7.38.0-4+deb8u2
ii  dctrl-tools                 2.23
ii  debian-keyring              2015.04.10
ii  dput                        0.9.6.4
ii  equivs                      2.0.9
ii  fakeroot                    1.20.2-1
ii  file                        1:5.22+15-2
ii  gnupg                       1.4.18-7
ii  libdistro-info-perl         0.14
ii  libencode-locale-perl       1.03-1
ii  libjson-perl                2.61-1
ii  liblwp-protocol-https-perl  6.06-2
ii  libparse-debcontrol-perl    2.005-4
ii  libsoap-lite-perl           1.11-1
ii  liburi-perl                 1.64-1
ii  libwww-perl                 6.08-1
ii  lintian                     2.5.35~bpo8+1
ii  man-db                      2.7.0.2-5
ii  patch                       2.7.5-1
ii  patchutils                  0.3.3-1
ii  python3-debian              0.1.27
ii  python3-magic               1:5.22+15-2
ii  sensible-utils              0.0.9
ii  strace                      4.9-2
ii  unzip                       6.0-16
ii  wdiff                       1.2.2-1
ii  wget                        1.16-1
ii  xz-utils                    5.1.1alpha+20120614-2+b3

Versions of packages devscripts suggests:
ii  bsd-mailx [mailx]            8.1.2-0.20141216cvs-2
ii  build-essential              11.7
pn  cvs-buildpackage             <none>
pn  debbindiff                   <none>
pn  devscripts-el                <none>
pn  gnuplot                      <none>
ii  gpgv                         1.4.18-7
ii  libauthen-sasl-perl          2.1600-1
ii  libfile-desktopentry-perl    0.07-1
ii  libnet-smtp-ssl-perl         1.01-3
pn  libterm-size-perl            <none>
ii  libtimedate-perl             2.3000-2
ii  libyaml-syck-perl            1.27-2+b2
ii  mutt                         1.5.23-3
ii  openssh-client [ssh-client]  1:6.7p1-5
pn  svn-buildpackage             <none>
ii  w3m                          0.5.3-19

-- no debconf information
>From 385147eaf34b20d0ceed54cc2bf1bd43e595fc75 Mon Sep 17 00:00:00 2001
From: Osamu Aoki <os...@debian.org>
Date: Sun, 6 Sep 2015 11:28:43 +0900
Subject: [PATCH] Work around with missing debian.tar.xz etc.

This makes our life easy to use uupdate from VCS checkout directory.
---
 scripts/uupdate.sh | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/scripts/uupdate.sh b/scripts/uupdate.sh
index e037327..c47a6fe 100755
--- a/scripts/uupdate.sh
+++ b/scripts/uupdate.sh
@@ -723,6 +723,24 @@ else
 	DIFF="../${PACKAGE}_$SVERSION.debian.tar.xz"
 	DIFFTYPE=tar
 	DIFFUNPACK="tar --xz -xf"
+    else
+	# non-native package with $SVERSION in <version>-<revision> format
+	# missing diff.gz/debian.tar.xz, make it with $OPWD/debian/*
+	# force to update next version to 3.0 (quilt)
+	cd $OPWD
+	if [ ! -d debian ]; then
+	    echo "$PROGNAME: None of *.diff.gz, *.debian.tar.xz, or debian/* found. failed;" >&2
+	    echo "aborting..." >&2
+	    exit 1
+	fi
+	mkdir -p debian/source
+	echo "3.0 (quilt)" > debian/source/format
+	tar --xz -cf ../${PACKAGE}_$SVERSION.debian.tar.xz debian
+	# return back to upstream source
+	cd ../$PACKAGE-$SNEW_VERSION
+	DIFF="../${PACKAGE}_$SVERSION.debian.tar.xz"
+	DIFFTYPE=tar
+	DIFFUNPACK="tar --xz -xf"
     fi
 
     if [ "$DIFFTYPE" = diff ]; then
-- 
2.1.4

Reply via email to