Re: meaning of "Automatic date update in version.in" commits

Alan Modra
2017-09-21T23:59:45Z

On Thu, Sep 21, 2017 at 08:38:57PM +0300, Petr Ovtchenkov wrote:
> On Thu, 21 Sep 2017 10:00:31 -0700
> Joel Brobecker <brobecker@adacore.com> wrote:
>
> > > It is evident for me. But in the discussion I see a lot of arguments,
> > > that I treat as "date stamp is used as ABI compatibility marker".
> >
> > Then, I am in the same situation as Pedro. What problem are you trying
> > to fix?
>
> Oops. Let's start from the begining. Far far away...
>
> 1. Explicit "Automatic date update in version.in" commits litter commits tree,
> but useless. All required info already present in git.
> [Thanks for Ian Lance Taylor for the background!]

It isn't useless. People build binutils from a variety of sources,
git, tarballs, distro sources, then report bugs. We want something
that can easily identify the source they used. The bfd version plus
date is usually good enough for that purpose.

> Let's remove this "Automatic date update in version.in" commits.

No. That won't happen unless we have something equivalent. And it
must work *without* git.

> 2. I see a lot of suggestions "Let's push date to SONAME, the date we
> will take from ....".
>
> I trying to prevent such "solutions". Because it's not a solution, but
> origin of another problems.

The date is in the soname because people naturally expect shared
libraries with the same soname to have compatible ABIs. During
development, we could bump the bfd version on every ABI change, but
that's just another thing contributors and maintainers would need to
remember. It's much easier for all if the soname contains the date.
Again, it's not perfect but is good enough.

None of this is going to change just because you don't like a date
stamp in the source. You do realize that a bisect uses a binary
search, don't you? So doubling the number of commits just needs one
extra build/test step on average.

Yes, it would be nice if the automatic date stamp update didn't happen
when the most recent commit was a date update..

--
Alan Modra
Australia Development Lab, IBM