So I watch the jabberd2 ml. They just released 2.2.15. Someone asked for
them to provide a tarball in the downloads section [1]. So the upstream
has uploaded one there. Originally the upstream asked what purpose
uploading a tarball would provide, the main reason they gave was the
inclusion of the autoconf generated configure script. Anyway just a
thought. Prodding upstreams to place release tarballs in their similar
locations may gain similar traction... Just a thought, up till now I
didn't know github had anything to allow for this.
[1]
On Fri, 2012-04-20 at 20:51 -0700, Eric Smith wrote:
> Corey Richardson wrote:
>> Getting source tarballs from github is a nightmare. See
>>
http://lists.fedoraproject.org/pipermail/devel/2011-February/148676.html
>>
>> The debian tool doesn't help very much because one still needs revision
>> garbage in the specfile. Is there any more recent ways to mitigate this?
>> Perhaps we could "lobby" github to change their ways, at least
partially?
>
> I don't know if this will be of any use to you, but for tcplay there
> isn't a tagged release, so I use this script to create an suitable
> tarball from a github commit with a known hash, by doing a clone then
> archiving it locally. Certainly this doesn't solve the problem of not
> having a source URL.
>
> #!/bin/sh
> # usage: tcplay-get-snapshot.sh<hash>
> git clone
git://github.com/bwalex/tc-play
> ( cd tc-play&& \
> git archive --format=tar --prefix=tcplay-$1/ $1 \
> ) | xz ->tcplay-$1.tar.xz
We could probably add something like this to the 'snippets' bit of the
packaging guidelines, since github is pretty significant. Just to try
and help packagers do it in a uniform and guideline-complaint way.
As a reminder for packagers following the thread - any time you have to
'generate' a source tarball like this (i.e. it is not possible to
provide a Source: URL that can be expected to remain valid), you should
ensure the tarball is reliably reproducible by others and include all
necessary instructions to produce it, using comments in the .spec file
and/or a script like Eric's - so if you wanted to use Eric's script, you
should ensure you actually check the script itself into git (and
probably cite it as a Source itself, so it winds up in the .src.rpm),
then have a comment in the .spec file which specifies the invocation of
the script that was used to generate the source tarball.
--
Nathanael d. Noblet
t 403.875.4613