GitHub is a terrible upstream

Nathanael D. Noblet nathanael at gnat.ca
Mon Apr 30 22:38:54 UTC 2012


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] https://github.com/Jabberd2/jabberd2/downloads

On 04/23/2012 07:27 AM, Adam Williamson wrote:
> 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


More information about the devel mailing list