Re: meaning of "Automatic date update in version.in" commits
Petr Ovtchenkov <[email protected]>
| Newsgroups | gmane.comp.gdb.devel,gmane.comp.gnu.binutils |
|---|---|
| Message-ID | <[email protected]> |
On Thu, 21 Sep 2017 18:01:59 +0200 Matthias Klose <[email protected]> wrote: > On 21.09.2017 17:46, Petr Ovtchenkov wrote: > > On Thu, 21 Sep 2017 15:25:53 +0200 > > Simon Marchi <[email protected]> wrote: > > > >> On 2017-09-21 15:17, Petr Ovtchenkov wrote: > >>> And date stamp in version.in not play here at all. But, > >>> > >>> - if you insert date stamp into sources, you > >>> i) keep "litter" problem > >>> ii) make misorientation (what this date mean? commit date? - it > >>> already > >>> present in commit; and what commit date?) > >>> - if you don't insert date stamp into sources, but add to SONAME > >>> during build process, > >>> it still not reflect ABI compatibilities, but may prevent "binary > >>> reproducible builds" > >>> (depends upon what date you use). I'm underline, that such addition > >>> has no relation to ABI compatibilities, so such SONAME modification > >>> lose sense. > >> > >> Binary reproducible builds mean that if you and I start with the same > >> source code and same build tools, we will get exactly the same build > >> artifacts. Here the build can't "depend on what date you use": > > > > If "date stamp" inserted into binary is a build date, then we will have different > > binaries. > > but it not a build date. it is a string taken form a file in the repository. > That's exactly what Simon wrote at the end of the last message, and which you > ignored to read or comment. Please see below. Ok. I just expect that you read my arguments too. But in this case you ignore <snip> git show 3110f4be18a2 commit 3110f4be18a2f3b9fcd9663ed1dd141bbd6ed14f Author: GDB Administrator <[email protected]> Date: Wed Sep 20 00:01:01 2017 +0000 Automatic date update in version.in diff --git a/bfd/version.h b/bfd/version.h index 3405e42..955269f 100644 --- a/bfd/version.h +++ b/bfd/version.h @@ -1,4 +1,4 @@ -#define BFD_VERSION_DATE 20170919 +#define BFD_VERSION_DATE 20170920 #define BFD_VERSION @bfd_version@ #define BFD_VERSION_STRING @bfd_version_package@ @bfd_version_string@ #define REPORT_BUGS_TO @report_bugs_to@ git show f625a739 commit f625a739e567f0110b2675539b7a0e5d5f67c5dc Author: GDB Administrator <[email protected]> Date: Wed Sep 20 00:01:22 2017 +0000 Automatic date update in version.in diff --git a/bfd/version.h b/bfd/version.h index 3405e42..955269f 100644 --- a/bfd/version.h +++ b/bfd/version.h @@ -1,4 +1,4 @@ -#define BFD_VERSION_DATE 20170919 +#define BFD_VERSION_DATE 20170920 #define BFD_VERSION @bfd_version@ #define BFD_VERSION_STRING @bfd_version_package@ @bfd_version_string@ #define REPORT_BUGS_TO @report_bugs_to@ git diff 3110f4be18a2 f625a739 ... Ooops.... </snip> Same date. From both commits I can build libbfd. From equality of dates stamped in the source not follow ABI compatibility. Plus git diff 0d8a80b95 7a261482f ---from different stamped dates not follow ABI incompatibility. Or I suspect that you conceal that date stamp not intended to reflect ABI compatibility, but something else. > > > If we will use something else, for example "last commit" date, > > then we may have "same" build, but may not. From equality of "last commit" date > > not follow binary equivalence (consider cherry-picked commit, for example, > > or variations of sample "git diff 3110f4be18a2 f625a739" I show above). > > > >> you > >> can't choose a date or another, the date is part of the code you are > >> trying to build. So if you and I build from the same commit, we'll > >> build using the same date, whatever date is in the version.h file.