package bzr-loom
tags 518097 + patch
block 518097 by 518098
thanks

On 04-Mar-2009, Ben Finney wrote:
> Debian policy §4.9 recommends implementing a ‘get-orig-source’ target,
> for automating the fetch of the corresponding source tarball when it
> is not a simple matter of downloading from a URL.

Attached is a Bazaar patch bundle, implementing the above target via a
shell program. The program parses the Vcs-Bzr field (so this is
blocked by bug#518098) from ‘debian/control’, and the revision number
from the upstream version number in the changelog. It then exports the
revision to an appropriately-named tarball.

The patch bundle is against the Alioth branch
bzr+ssh://bzr.debian.org/bzr/pkg-bazaar/bzr-loom/experimental/ which
is accessible to me only because I have an account there.

-- 
 \                “I got fired from my job the other day. They said my |
  `\          personality was weird. … That's okay, I have four more.” |
_o__)                                       —Bug-Eyed Earl, _Red Meat_ |
Ben Finney <b...@benfinney.id.au>
# Bazaar merge directive format 2 (Bazaar 0.90)
# revision_id: ben+deb...@benfinney.id.au-20090304044240-\
#   f5xmek5jgvphxfp8
# target_branch: bzr+ssh://bzr.debian.org/bzr/pkg-bazaar/bzr-\
#   loom/experimental/
# testament_sha1: 517eede2e310287844e42ec3ec800a947916572b
# timestamp: 2009-03-04 15:43:37 +1100
# base_revision_id: jel...@samba.org-20090218185013-w1tn43kow1mwt9xy
# 
# Begin patch
=== modified file 'debian/changelog'
--- debian/changelog	2009-02-18 18:50:13 +0000
+++ debian/changelog	2009-03-04 04:42:40 +0000
@@ -1,3 +1,15 @@
+bzr-loom (1.4.0~bzr93-2) UNRELEASED; urgency=low
+
+  [ Ben Finney ]
+  * debian/get-orig-source:
+    + Program to fetch source tarball from upstream VCS.
+  * debian/rules:
+    + Provide ‘get-orig-source’ target as recommended by Debian policy.
+  * debian/watch:
+    + Document the means to get the original source.
+
+ --
+
 bzr-loom (1.4.0~bzr93-1) unstable; urgency=low
 
   * New upstream snapshot.

=== added file 'debian/get-orig-source'
--- debian/get-orig-source	1970-01-01 00:00:00 +0000
+++ debian/get-orig-source	2009-03-04 04:42:40 +0000
@@ -0,0 +1,43 @@
+#! /bin/bash
+# -*- coding: utf-8; -*-
+
+# debian/get-orig-source
+# Part of ‘bzr-loom’ package
+#
+# Copyright © 2008–2009 Ben Finney <ben+deb...@benfinney.id.au>
+# This is free software; you may copy, modify and/or distribute this work
+# under the terms of the GNU General Public License, version 2 or later.
+# No warranty expressed or implied.
+# See the file ‘/usr/share/common-licenses/GPL-2’ for details.
+
+set -o errexit
+
+program_dir="$(dirname $(readlink --canonicalize-existing $0))"
+
+function changelog_field_value {
+    local field_name="$1"
+    local changelog_file="${2:-${program_dir}/changelog}"
+    dpkg-parsechangelog -l"${changelog_file}" --count 1 \
+        | grep -i '^'"${field_name}"': ' \
+        | cut -d ' ' -f 2
+}
+
+package_name=$(changelog_field_value Source)
+package_version=$(changelog_field_value Version)
+package_upstream_version=$(
+    echo ${package_version} \
+    | sed -e 's/-[^-]\+$//' \
+    )
+
+vcs_url=$(grep -i '^Vcs-Bzr: ' ${program_dir}/control \
+    | cut -d ' ' -f 2)
+vcs_revno=$(
+    echo ${package_upstream_version} \
+    | sed -e 's/^.*~bzr\([[:digit:]]\+\)$/\1/' \
+    )
+
+TARBALL_SUFFIX=".tar.gz"
+tarball_name="${package_name}_${package_upstream_version}.orig${TARBALL_SUFFIX}"
+
+BZR_OPTS="--quiet --revision ${vcs_revno}"
+bzr export ${BZR_OPTS} "${tarball_name}" "${vcs_url}"

=== modified file 'debian/rules'
--- debian/rules	2008-06-14 15:47:29 +0000
+++ debian/rules	2009-03-04 04:42:40 +0000
@@ -7,7 +7,12 @@
 
 DEB_INSTALL_DOCS_ALL += HOWTO CONTRIBUTORS
 
+GET_ORIG_SOURCE = $(dir $_)get-orig-source
+
 clean::
 	-rm -rf build test*.tmp 
 	find . -name "*.pyc" -print0 | xargs -0 rm -f
 
+.PHONY: get-orig-source
+get-orig-source:
+	$(GET_ORIG_SOURCE)

=== modified file 'debian/watch'
--- debian/watch	2009-01-24 22:33:47 +0000
+++ debian/watch	2009-03-04 04:42:40 +0000
@@ -1,2 +1,5 @@
-# bzr-loom is maintained in bzr
-# to obtain the source, run: bzr export lp:bzr-loom
+# bzr-loom is maintained in a Bazaar repository.
+#
+# Fetching the source code for inclusion in a Debian source package is
+# automated in the Debian package with ‘debian/rules get-orig-source’,
+# as per Policy 3.8.0 §4.9.

# Begin bundle
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
9zYOZQ046B/4u5IpwoSDfPZWEA==

Attachment: signature.asc
Description: Digital signature

Reply via email to