News for hackers. Stuff that matters.
Re:Creating signed GitHub releases by embik on Thursday April 14, 2016 @05:15AM (#11495235)
> 4. Go back to your "Releases" section and download the tarball mysoftware-0.4.tar.gz automatically generated by GitHub.

If only. That's by far my biggest irk with GitHub releases because they only use the tag as name for the tarball (e.g. v0.4.tar.gz). Building RPM packages with those tarballs is a bit of a pain because RPM building tools expect all tarballs in one directory and you don't know which tarball belongs to which software. Maybe I'm just being ignorant here.

Re:Creating signed GitHub releases by anjbe on Thursday April 14, 2016 @06:43AM (#11495534)
Other problems I encounter with Github‐generated tarballs: most projects that use Autoconf don’t keep the generated configure script in the repository, so the Github tarball has a build dependency on autoconf (as opposed to tarballs generated with “make dist”).

Also, many people don’t realize that Github tarballs don’t contain submodules. This is a big hassle when upstreams don’t adequately test their releases.

Providing a working tarball is becoming less and less common due to Github’s (and other sites’) UI. Taking the steps in the article is very helpful to packagers all over, but the above factors can be a problem for upstreams who aren’t aware of the problems.

Re:Creating signed GitHub releases by creshal on Thursday April 14, 2016 @05:32AM (#11495283)
It's not github's fault that RPM's tooling is stuck in the 90s, to be honest. makepkg and others support renaming tarballs during download to cover this use case.
Re:Creating signed GitHub releases by embik on Thursday April 14, 2016 @06:02AM (#11495392)
I don't disagree, but it just feels off to tell a packaging tool to rename a tarball because the default name is not verbose enough to even identify the tarball.
Re:Creating signed GitHub releases by justincormack on Thursday April 14, 2016 @05:21PM (#11500448)
But even so it is designed to be likely to get accidental collisions.
Re:Creating signed GitHub releases by jsizz on Thursday April 14, 2016 @06:42AM (#11495531)
Yes, you're being ignorant. Use '--content-disposition' with wget, or '--remote-name' in curl. The top level directory in the tarball corresponds to this name and everything works out as expected.
Re:Creating signed GitHub releases by embik on Thursday April 14, 2016 @07:26AM (#11495705)
It's not only the name of the tarball after downloading it. RPM SPEC files require me to pass a full URL to the tarball's upstream source[1]:

> Source0: The full URL for the compressed archive containing the (original) pristine source code, as upstream released it. "Source" is synonymous with "Source0". If you give a full URL (and you should), its basename will be used when looking in the SOURCES directory.

But the only URL that is available is <Project URL>/archive/v0.1.1.tar.gz. The SPEC file is therefore defining a file named v0.1.1.tar.gz although I downloaded my tarball as foo-0.1.1.tar.gz. The packaging process looks for v0.1.1.tar.gz, fails to find it in my SOURCES directory and aborts.

I'm not blaming GitHub here in any way, I just wish I had a bit more flexibility for the tarball URL. Would be neat.

[1] https://fedoraproject.org/wiki/How_to_create_an_RPM_package#...

Re:Creating signed GitHub releases by twr on Thursday April 14, 2016 @06:11PM (#11500734)
Specify

  https://github.com/username/repo/archive/v0.1.1/foo-0.1.1.tar.gz
for the URL.
Re:Creating signed GitHub releases by embik on Friday April 15, 2016 @04:12AM (#11502898)
My god, that's the solution to my problem. Thank you very much. I did not realize that url was available.
Re:Creating signed GitHub releases by Xylakant on Thursday April 14, 2016 @11:58AM (#11497758)
I recommend using some tooling that wraps the original rpm tooling, such as fpm or fpm-cookery. It does a fair job of covering up the worst warts.