Re: Fedora 35 Change: rpmautospec - removing release and changelog fields from spec files (System-Wide Change proposal)

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

 



On Tue, Mar 02, 2021 at 09:30:41PM +0100, Fabio Valentini wrote:
> On Tue, Feb 16, 2021 at 8:20 PM Pierre-Yves Chibon <pingou@xxxxxxxxxxxx> wrote:
> >
> > On Tue, Feb 16, 2021 at 03:38:35PM +0100, Fabio Valentini wrote:
> > > On Tue, Feb 16, 2021 at 3:01 PM Miro Hrončok <mhroncok@xxxxxxxxxx> wrote:
> > > >
> > > > On 16. 02. 21 14:48, Fabio Valentini wrote:
> > > > >      if version_at(commit) != last_version:
> > > > >          return 0
> > > >
> > > > Should this be "return 1"?
> > >
> > > No, 0 is correct. If the version does not match, this is the last
> > > commit *before* a version update.
> > > The "max(parents) + 1" then sets the Release to 1 for the commit that
> > > actually changed the version :)
> > >
> > > > To prevent accidental divergence between the git history and the build system.
> > > > That's why this information is only used in the koji plugin, locally (ie: via
> > > > the rpmautospec CLI) it only relies on the git tags.
> > >
> > > So ... you want to *prevent* divergence by *introducing* divergence? I
> > > do not follow ...
> >
> > The build information is used to check if all the builds made in koji exists as
> > tags. If they don't, then they are added, thus resolving the divergence.
> > If they do, git tags are used, just like they are used locally.
> 
> There's another issue that I see with using both git tags and koji
> build history:
> How do users get those tags into their local repository clones, if
> they are created by koji after successful builds?

The first time it can be done via the rpmautospect CLI command.

> Will we need to "git pull" after every successful koji build so we get
> consistent results between local checkout and infra build?

After that, git pull/fetch is indeed the easiest method.

> Side note: This amended algorithm should always produce incrementing
> release numbers, even across branches:
> 
> def release_num(commit, last_version) -> int:
>     if version_at(commit) != last_version:
>         return 0
>     else:
>         distance = max(release_num(parent, last_version) for parent of commit))
>         if is_merge_commit(commit):
>             return distance
>         else:
>             return distance + 1
> 
> That should solve both the upgrade path issue and the data source
> problem. No need to look at either git tags or koji build history :)

The devil is in the details: pre-release, snapinfo, minorbump aren't really
covered by distance being just an integer bumped.

I know we considered the "number of commits since the last version bump" when we
looked into this. I honestly do not remember precisely why we didn't go with it.

Maybe Nils or Adam remember it?


Pierre
_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx
Do not reply to spam on the list, report it: https://pagure.io/fedora-infrastructure




[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