From f8a4b24632b02f4a10d3a558d8b740248940e5b0 Mon Sep 17 00:00:00 2001 From: Manoj Srivastava Date: Mon, 18 Jan 2016 16:11:09 -0800 Subject: [PATCH] [master]: Redo the handling of changed ar behaviour Also added a NEWS file, since there is a change in the behaviour of ar, and thus make. Signed-off-by: Manoj Srivastava --- debian/NEWS.Debian | 26 ++++++++++++++++++++++++++ debian/changelog | 13 +++++++++++++ 2 files changed, 39 insertions(+) diff --git a/debian/NEWS.Debian b/debian/NEWS.Debian index b94145b1..08f01cca 100644 --- a/debian/NEWS.Debian +++ b/debian/NEWS.Debian @@ -1,3 +1,29 @@ +make-dfsg (4.1-2) unstable; urgency=low + + WARNING: Backward-incompatibility! + + The ar program in the binutils package in Debian is now configured + with --enable-deterministic-archives. This change makes the archives + reproducible, by setting the UID, GID, and timestamp to 0. However, + when dealing with archives created with the libxx(*.o) style rules, + make needs the timestamp of the file in order to decide to update it + or not. With the current deterministic behavior of ar, the time stamp + is always 0. This has consequences, since make will fall back to always + adding each member to the archive, whether or not it is required. This + is a change in behaviour, and, for instance, it makes make fail to + build, failing 7 out of 10 archive tests. + . + Since binutils will create archive with time stamps set to 0 when + running in "deterministic" mode, make will always try to update such + members. When this is detected, make will emit a warning. + . + There is some online discussion: + https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=798804 + https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=798913 + https://bugzilla.redhat.com/show_bug.cgi?id=1195883 + + -- Manoj Srivastava Mon, 18 Jan 2016 16:09:19 -0800 + make-dfsg (4.0-1) experimental; urgency=low WARNING: Backward-incompatibility! diff --git a/debian/changelog b/debian/changelog index 05a39bdf..44f3fc7e 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,16 @@ +make-dfsg (4.1-2) unstable; urgency=low + + * Update the handling of the changed behaviour of ar. The fix in the + previous version has been rolled back. The new strategy is to narrowly + change running the test suite to pass in the U modifier to ar, and + change make to detect and warn the user of they are using the archive + rule like libxx(*.o) to generate archives, and the archives do not + contain time stamps. The warning advises the user to explicitly pass + in the modifier U in the environment variable ARFLAGS, which is + essentially what we did for the test suite. + + -- Manoj Srivastava Mon, 18 Jan 2016 15:57:45 -0800 + make-dfsg (4.1-1) unstable; urgency=low * New upstream release