Re: PSA: builds using forge macros with tags broken on rawhide

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sun, Oct 14, 2018 at 7:21 PM Nicolas Mailhot
<nicolas.mailhot@xxxxxxxxxxx> wrote:
>
> Le dimanche 14 octobre 2018 à 18:56 +0200, Fabio Valentini a écrit :
> >
> > You know that GitHub has supported the same thing for a long time?
> > The URL "
> > https://github.com/project/repo/archive/$REF/whatever-I-feel-like-1.0.tar.gz
> > "
> > will produce an archive of ref $REF (be it a tag, commit, or branch)
> > with the file name "whatever-I-feel-like-1.0.tar.gz". The forge macros
> > just don't make use of that feature,
>
> Actually, they do, that's the exact change you're complaining about
> here.
>
> And whatever-I-feel-like-1.0.tar.gz is useless because the topdir inside
> whatever-I-feel-like-1.0.tar.gz is definitively not whatever-I-feel-
> like-1.0, so you need to compute the actual topdir GitHub will generate
> and while you're at it the filename better match it or much %setup
> hilarity and packager unhappiness will ensue.
>
> And besides the code handle other things that GiHub that have changed
> behaviour over time.
>
> > but use the old "#anchor hack",
> > which not even the SourceURL packaging guidelines mention anymore.
>
> When the code was written it matched the guidelines whenever they
> produced working URLs (some guidelines didn’t). The guidelines and the
> code have been improved and fixed since. One reason the guidelines have
> been fixed is that the forge macro showed they were erroneous.
>
> > You know that github supports the same thing already, right? (Except
> > the "v" that's inserted before tags that don't match SemVer.)
>
> Ha ha ha. “except” v. And v does not have any simple rule, it is GiHub
> heuristic pile land, you have projects with some of their releases that
> uses v and others not, and GitHub can not even make up its mind in how
> to use it consistently for the same project release (it's in the url but
> not in the archive). I so wish GitHub would just give up on the whole v
> thing. Or do it all the time. But not sometimes yes, other times no.
>
> Since Google uses v in googlecode, and other hosting services do not,
> and GitHub tries to mirror everyone, their setup is doomed to fail as
> long as they do not standardise release tags git-upstream-side. By they
> still try to heuristic the problem away.

Ok. Let me backtrack. Since I don't assume that you broke a pile of
packages on purpose, let's focus on how to fix this.

Because right now, package builds prepared on fedora 27-29 will result
in failing koji builds for rawhide - and nobody should have to install
rawhide to be able to build packages.

Fabio

> > > — lobby git upstream to create a first-class release tag, with the
> > > same
> > > syntax for every hosting service and project, so I can kill the huge
> > > pile of heuristics that tries to guess what a specific project will
> > > use.
> > > An heuristic as everyone knows is something that works perfectly
> > > most of
> > > the time and fails miserably the rest of the time. And it is
> > > definitely
> > > *not* stable over time.
> >
> > Sure, upstream projects can always do stupid things ... but I don't
> > think that "stupid" should be the base-line here.
> >
> > > Alternatively, you can hardcode an url and archive name in your spec
> > > files, the result will be stable within the spec, but probably not
> > > work
> > > anymore whenever you need to bump the project version or commit.
> >
> > I've been doing exactly that for all my ~50 github based projects for
> > two years now, following this scheme:
> >
> > for stable releases:
> > - URL: https://github.com/project/%{name}
> > - Source0: %{url}/archive/%{version}/%{name}-%{version}.tar.gz
> > - %{autosetup}
> >
> > for snapshots (setting commit myself and computing shortcommit
> > automatically):
> > - URL: https://github.com/project/%{name}
> > - Source0: %{url}/archive/%{commit}/%{name}-%{shortcommit}.tar.gz
> > - %autosetup -n %{name}-%{commit}
> >
> > And this never broke. Not once.
> >
> > Which is why the SourceURL packaging guidelines recommend using
> > exactly these schemes.
> > (They already do so for github for a long time, and I updated them
> > some time ago for the new and better URLs that gitlab supports now.)
> >
> > But I've been trying to tell you this when the original forge macros
> > were introduced, and that has led nowhere either.
> >
> > So, I'll probably just gradually move back to using the Source URLs
> > for github/gitlab which are _actually documented_ in the Guidelines
> > and produce _stable_ results.
> >
> > Fabio
> >
> > > Regards,
> > >
> > > --
> > > Nicolas Mailhot
> > > _______________________________________________
> > > devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
> > > To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
> > > Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
> > > List Guidelines:
> > > https://fedoraproject.org/wiki/Mailing_list_guidelines
> > > List Archives:
> > > https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx
> > _______________________________________________
> > devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
> > To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
> > Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
> > List Guidelines:
> > https://fedoraproject.org/wiki/Mailing_list_guidelines
> > List Archives:
> > https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx
>
> --
> Nicolas Mailhot
> _______________________________________________
> devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
> To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
> Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
> List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
> List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx
_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Users]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]

  Powered by Linux