[Pkg-crosswire-devel] [Branch ~pkgcrosswire/libsword/main] Rev 44: * debian/rules:

Dmitrijs Ledkovs dmitrij.ledkov at gmail.com
Sun May 24 23:06:48 BST 2009

2009/5/24 Jonathan Marsden <jmarsden at fastmail.fm>:
> Dima,
> noreply at launchpad.net wrote:
>> +    - tightened download-tarball target to download exactly required version.
>> -SOURCE_VER = $(shell echo $(notdir $(SOURCE_DIR)) | sed s/sword-//)
>> +SOURCE_VER = $(shell parsechangelog $(dir $(_))changelog | sed -n "s/Version: \(.*\)+dfsg.*/\1/p")
>>  download-tarball:
>> -     uscan --download --package sword --destdir=$(TEMP_DIR) \
>> -           --no-symlink --upstream-version 0 --watchfile=$(dir $(_))/watch
>> +     uscan --force-download --package sword --destdir=$(TEMP_DIR) \
>> +           --no-symlink --upstream-version $(SOURCE_VER) --watchfile=$(dir $(_))watch \
>> +           --download-version $(SOURCE_VER)
> Can you explain this change?  When did the earlier approach fail?
> I'm concerned that (after your changes) get-orig-source does the wrong
> thing when upstream releases a new tarball.  Before, it would
> automatically get the newly released tarball, and repack it for us.
> Now... I don't see how it does that.  This rule should only ever be
> called by hand by a developer doing an update of the packaging for a new
> version.
> Thanks,
> Jonathan

Maybe my understand is of get-orig-source target is wrong. From the
Debian Developer's Reference [1]:

"A repackaged .orig.tar.gz

must be documented in the resulting source package. Detailed
information on how the repackaged source was obtained, and on how this
can be reproduced must be provided in debian/copyright. It is also a
good idea to provide a get-orig-source target in your debian/rules
file that repeats the process, as described in the Policy Manual, Main
building script: debian/rules."

So my change actually focuses on the reproducibiliy. Upstream releases
1.6.1 we create new changelog entry with 1.6.1 and get-orig-source
does the magic of creating new tarball. (BTW uscan and debian PTS will
inform our mailing list when new release is made).

Now image Squeeze is released and it has sword-1.6.0+dfsg-1 in it and
by this time sword has released 1.7
User want to repeat the steps we did to recreate the tarball and
instead of ending up with the expected sword-1.6.0+dfsg tarball she
will end up with a much newer upstream release.

So yes previous method was defaulting to fetch newest one. My change
defaults to grab and recreate the same latest version as per the
latest changelog entry.

Sorry about this. I'll try to seek more guidance on this one.

[1] http://debian.org/doc/developers-reference/best-pkging-practices.html#bpp-origtargz

With best regards

Dmitrijs Ledkovs (for short Dima),
Ледков Дмитрий Юрьевич

More information about the Pkg-crosswire-devel mailing list