On Fri, 2012-04-20 at 20:51 -0700, Eric Smith wrote:
Corey Richardson wrote:
> Getting source tarballs from github is a nightmare. See
> 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.
# 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.
Fedora QA Community Monkey
IRC: adamw | Twitter: AdamW_Fedora | identi.ca: adamwfedora