[Reproducible-builds] package uploaded to our repo
disorderfs_0.2.0-1~bpo8+1.dsc has just been uploaded to https://wiki.debian.org/ReproducibleBuilds/ExperimentalToolchain ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
[Reproducible-builds] [RFC PATCH] Makefile: search for GNU date
The SOURCE_DATE_EPOCH mechanism for reproducible builds requires the GNU variant of date. Respect this and search it, error on missing GNU date. Signed-off-by: Andreas Bießmann andreas.de...@googlemail.com --- This commit tries to figure out if we have a GNU date variant available. It errors on missing GNU date when it is required (for SOURCE_DATE_EPOCH set). The result is: ---8--- abiessmann@punisher % PATH=$ARMv5_PATH:$PATH CROSS_COMPILE=arm-v5te-linux-gnueabi- make SOURCE_DATE_EPOCH=`date -R` O=/tmp/picosam ARCH=arm include/generated/timestamp_autogenerated.h make[1]: Entering directory '/tmp/picosam' /home/abiessmann/src/u-boot/Makefile:1303: *** No GNU date found. Stop. make[1]: Leaving directory '/tmp/picosam' Makefile:146: recipe for target 'sub-make' failed make: *** [sub-make] Error 2 abiessmann@punisher % PATH=$ARMv5_PATH:$PATH CROSS_COMPILE=arm-v5te-linux-gnueabi- make O=/tmp/picosam ARCH=arm include/generated/timestamp_autogenerated.h make[1]: Entering directory '/tmp/picosam' CHK include/generated/timestamp_autogenerated.h UPD include/generated/timestamp_autogenerated.h make[1]: Leaving directory '/tmp/picosam' ---8--- It applies on top of http://patchwork.ozlabs.org/patch/506856/ (Makefile: Use correct timezone for U_BOOT_TZ). Makefile | 14 +++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/Makefile b/Makefile index b9b2375..95eae64 100644 --- a/Makefile +++ b/Makefile @@ -346,6 +346,9 @@ PERL= perl PYTHON = python DTC= dtc CHECK = sparse +GNUDATE := $(foreach date,gdate date.gnu date, \ + $(shell _date=`which $(date)`; \ + $${_date} --version 2 /dev/null | $(AWK) /GNU coreutils/ { print \$${_date}\; })) CHECKFLAGS := -D__linux__ -Dlinux -D__STDC__ -Dunix -D__unix__ \ -Wbitwise -Wno-return-void -D__CHECK_ENDIAN__ $(CF) @@ -1281,9 +1284,9 @@ endef define filechk_timestamp.h (if test -n $${SOURCE_DATE_EPOCH}; then \ SOURCE_DATE=@$${SOURCE_DATE_EPOCH}; \ - LC_ALL=C date -u -d $${SOURCE_DATE} +'#define U_BOOT_DATE %b %d %C%y'; \ - LC_ALL=C date -u -d $${SOURCE_DATE} +'#define U_BOOT_TIME %T'; \ - LC_ALL=C date -u -d $${SOURCE_DATE} +'#define U_BOOT_TZ %z'; \ + LC_ALL=C $(GNUDATE) -u -d $${SOURCE_DATE} +'#define U_BOOT_DATE %b %d %C%y'; \ + LC_ALL=C $(GNUDATE) -u -d $${SOURCE_DATE} +'#define U_BOOT_TIME %T'; \ + LC_ALL=C $(GNUDATE) -u -d $${SOURCE_DATE} +'#define U_BOOT_TZ %z'; \ else \ LC_ALL=C date +'#define U_BOOT_DATE %b %d %C%y'; \ LC_ALL=C date +'#define U_BOOT_TIME %T'; \ @@ -1295,6 +1298,11 @@ $(version_h): include/config/uboot.release FORCE $(call filechk,version.h) $(timestamp_h): $(srctree)/Makefile FORCE +ifneq ($(strip $(SOURCE_DATE_EPOCH)),) +ifeq ($(strip $(GNUDATE)),) + $(error No GNU date found) +endif +endif $(call filechk,timestamp.h) # --- -- 2.1.4 ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
[Reproducible-builds] [PATCH v3 1/2] Makefile: Use correct timezone for U_BOOT_TZ
When building with SOURCE_DATE_EPOCH the timezone is in UTC. When building normally the timezone is taken from the build machine's locale setting. Signed-off-by: Chris Packham judge.pack...@gmail.com Tested-by: Bin Meng bmeng...@gmail.com Tested-by: Paul Kocialkowski cont...@paulk.fr --- Changes in v3: - None Changes in v2: - Collect some tested-by tags - Remove reference to f3f431a71272 in the commit message - Drop Ccs that were erroneously added when submitting v1, remaining Ccs are from the original mailing list thread Makefile | 14 ++ 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/Makefile b/Makefile index ad51e60..3ff063a 100644 --- a/Makefile +++ b/Makefile @@ -1279,10 +1279,16 @@ define filechk_version.h endef define filechk_timestamp.h - (SOURCE_DATE=$${SOURCE_DATE_EPOCH:+@$$SOURCE_DATE_EPOCH}; \ - LC_ALL=C date -u -d $${SOURCE_DATE:-now} +'#define U_BOOT_DATE %b %d %C%y'; \ - LC_ALL=C date -u -d $${SOURCE_DATE:-now} +'#define U_BOOT_TIME %T'; \ - LC_ALL=C date -u -d $${SOURCE_DATE:-now} +'#define U_BOOT_TZ %z' ) + (if test -n $${SOURCE_DATE_EPOCH}; then \ + SOURCE_DATE=@$${SOURCE_DATE_EPOCH}; \ + LC_ALL=C date -u -d $${SOURCE_DATE} +'#define U_BOOT_DATE %b %d %C%y'; \ + LC_ALL=C date -u -d $${SOURCE_DATE} +'#define U_BOOT_TIME %T'; \ + LC_ALL=C date -u -d $${SOURCE_DATE} +'#define U_BOOT_TZ %z'; \ + else \ + LC_ALL=C date +'#define U_BOOT_DATE %b %d %C%y'; \ + LC_ALL=C date +'#define U_BOOT_TIME %T'; \ + LC_ALL=C date +'#define U_BOOT_TZ %z'; \ + fi) endef $(version_h): include/config/uboot.release FORCE -- 2.5.0.rc0 ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
Re: [Reproducible-builds] [PATCH v3 2/2] Makefile: Add SOURCE_DATE_TZ
Le mercredi 26 août 2015 à 21:08 +1200, Chris Packham a écrit : On Wed, Aug 26, 2015 at 12:09 AM, Paul Kocialkowski cont...@paulk.fr wrote: Le jeudi 13 août 2015 à 18:08 +1200, Chris Packham a écrit : Along with SOURCE_DATE_EPOCH SOURCE_DATE_TZ can be used to recreate a build with a specific date timestamp. This allows the verification of source supplied with a pre-compiled binary. If SOURCE_DATE_EPOCH is supplied SOURCE_DATE_TZ can be used to specify what will appear in the output of the version command. If SOURCE_DATE_TZ is not specified UTC will be used. SOURCE_DATE_TZ on it's own will not have an affect. I advise against merging this patch given Ximin Luo's comments on v1, at least until this has been properly discussed with the reproducible team and a precise meaning for it has been agreed on. I'm happy to go along with that. 1/2 of this series was the fix. 2/2 just kind of came up as part of the discussion that followed. Tom, can you handle that or do you want me to send a v4 of the series with just the first patch? Just for my own understanding is the reproducible team a u-boot thing or a debian thing? I'm not really active in any of the debian projects so maybe someone there should pick this up if it's a debian thing. Well, I'm referring to the reproducible team at Debian, but since they're working with upstream (and they're apparently the only group of people to do that work), I think it's fair to say they're the reference when it comes to reproducible builds. Signed-off-by: Chris Packham judge.pack...@gmail.com --- This is a quick proof of concept that allows some control of how the timezone is displayed. Now you can do something like make SOURCE_DATE_EPOCH=12345678 SOURCE_DATE_TZ=America/Los_Angeles Changes in v3: - Drop RFC Changes in v2: None Makefile | 7 --- README | 9 ++--- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/Makefile b/Makefile index 3ff063a..609b595 100644 --- a/Makefile +++ b/Makefile @@ -1281,9 +1281,10 @@ endef define filechk_timestamp.h (if test -n $${SOURCE_DATE_EPOCH}; then \ SOURCE_DATE=@$${SOURCE_DATE_EPOCH}; \ - LC_ALL=C date -u -d $${SOURCE_DATE} +'#define U_BOOT_DATE %b %d %C%y'; \ - LC_ALL=C date -u -d $${SOURCE_DATE} +'#define U_BOOT_TIME %T'; \ - LC_ALL=C date -u -d $${SOURCE_DATE} +'#define U_BOOT_TZ %z'; \ + SOURCE_TZ=$${SOURCE_DATE_TZ:-UTC}; \ + TZ=$${SOURCE_TZ} LC_ALL=C date -d $${SOURCE_DATE} +'#define U_BOOT_DATE %b %d %C%y'; \ + TZ=$${SOURCE_TZ} LC_ALL=C date -d $${SOURCE_DATE} +'#define U_BOOT_TIME %T'; \ + TZ=$${SOURCE_TZ} LC_ALL=C date -d $${SOURCE_DATE} +'#define U_BOOT_TZ %z'; \ else \ LC_ALL=C date +'#define U_BOOT_DATE %b %d %C%y'; \ LC_ALL=C date +'#define U_BOOT_TIME %T'; \ diff --git a/README b/README index 1bcb63c..d2e3e94 100644 --- a/README +++ b/README @@ -5087,11 +5087,14 @@ Reproducible builds In order to achieve reproducible builds, timestamps used in the U-Boot build process have to be set to a fixed value. -This is done using the SOURCE_DATE_EPOCH environment variable. -SOURCE_DATE_EPOCH is to be set on the build host's shell, not as a configuration -option for U-Boot or an environment variable in U-Boot. +This is done using the SOURCE_DATE_EPOCH and SOURCE_DATE_TZ environment +variables. These are to be set on the build host's shell, not as a +configuration option for U-Boot or an environment variable in U-Boot. SOURCE_DATE_EPOCH should be set to a number of seconds since the epoch, in UTC. +SOURCE_DATE_TZ will default to UTC but can be set to another timezone and is +used to determine how the date is displayed (tzselect(1) can be used to +determine an appropriate value). Building the Software: == signature.asc Description: This is a digitally signed message part ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
[Reproducible-builds] [PATCH v3 2/2] Makefile: Add SOURCE_DATE_TZ
Along with SOURCE_DATE_EPOCH SOURCE_DATE_TZ can be used to recreate a build with a specific date timestamp. This allows the verification of source supplied with a pre-compiled binary. If SOURCE_DATE_EPOCH is supplied SOURCE_DATE_TZ can be used to specify what will appear in the output of the version command. If SOURCE_DATE_TZ is not specified UTC will be used. SOURCE_DATE_TZ on it's own will not have an affect. Signed-off-by: Chris Packham judge.pack...@gmail.com --- This is a quick proof of concept that allows some control of how the timezone is displayed. Now you can do something like make SOURCE_DATE_EPOCH=12345678 SOURCE_DATE_TZ=America/Los_Angeles Changes in v3: - Drop RFC Changes in v2: None Makefile | 7 --- README | 9 ++--- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/Makefile b/Makefile index 3ff063a..609b595 100644 --- a/Makefile +++ b/Makefile @@ -1281,9 +1281,10 @@ endef define filechk_timestamp.h (if test -n $${SOURCE_DATE_EPOCH}; then \ SOURCE_DATE=@$${SOURCE_DATE_EPOCH}; \ - LC_ALL=C date -u -d $${SOURCE_DATE} +'#define U_BOOT_DATE %b %d %C%y'; \ - LC_ALL=C date -u -d $${SOURCE_DATE} +'#define U_BOOT_TIME %T'; \ - LC_ALL=C date -u -d $${SOURCE_DATE} +'#define U_BOOT_TZ %z'; \ + SOURCE_TZ=$${SOURCE_DATE_TZ:-UTC}; \ + TZ=$${SOURCE_TZ} LC_ALL=C date -d $${SOURCE_DATE} +'#define U_BOOT_DATE %b %d %C%y'; \ + TZ=$${SOURCE_TZ} LC_ALL=C date -d $${SOURCE_DATE} +'#define U_BOOT_TIME %T'; \ + TZ=$${SOURCE_TZ} LC_ALL=C date -d $${SOURCE_DATE} +'#define U_BOOT_TZ %z'; \ else \ LC_ALL=C date +'#define U_BOOT_DATE %b %d %C%y'; \ LC_ALL=C date +'#define U_BOOT_TIME %T'; \ diff --git a/README b/README index 1bcb63c..d2e3e94 100644 --- a/README +++ b/README @@ -5087,11 +5087,14 @@ Reproducible builds In order to achieve reproducible builds, timestamps used in the U-Boot build process have to be set to a fixed value. -This is done using the SOURCE_DATE_EPOCH environment variable. -SOURCE_DATE_EPOCH is to be set on the build host's shell, not as a configuration -option for U-Boot or an environment variable in U-Boot. +This is done using the SOURCE_DATE_EPOCH and SOURCE_DATE_TZ environment +variables. These are to be set on the build host's shell, not as a +configuration option for U-Boot or an environment variable in U-Boot. SOURCE_DATE_EPOCH should be set to a number of seconds since the epoch, in UTC. +SOURCE_DATE_TZ will default to UTC but can be set to another timezone and is +used to determine how the date is displayed (tzselect(1) can be used to +determine an appropriate value). Building the Software: == -- 2.5.0.rc0 ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
[Reproducible-builds] [RFC PATCH v2] Makefile: search for GNU date
The SOURCE_DATE_EPOCH mechanism for reproducible builds require some date with -u and -d switch to print the date string of another time. In other words it requires some date that behaves like the GNU date. Respect this and search a working date, error on no working version. Signed-off-by: Andreas Bießmann andreas.de...@googlemail.com --- This commit tries to figure out if we have a date variant available that supports the '-u' and '-d @0' switches. It errors on non-working variants of date. To respect *BSD host systems search for gdate and date.gnu. Those pre- and suffixes are widespread used for the GNU variant of a tool also avialable on *BSD systems. The result is: ---8--- abiessmann@punisher % PATH=$ARMv5_PATH:$PATH CROSS_COMPILE=arm-v5te-linux-gnueabi- make O=/tmp/picosam ARCH=arm include/generated/timestamp_autogenerated.h make[1]: Entering directory '/tmp/picosam' CHK include/generated/timestamp_autogenerated.h UPD include/generated/timestamp_autogenerated.h make[1]: Leaving directory '/tmp/picosam' abiessmann@punisher % PATH=$ARMv5_PATH:$PATH CROSS_COMPILE=arm-v5te-linux-gnueabi- make O=/tmp/picosam SOURCE_DATE_EPOCH=0 ARCH=arm include/generated/timestamp_autogenerated.h make[1]: Entering directory '/tmp/picosam' /home/abiessmann/src/u-boot/Makefile:1304: *** Your gdate/date.gnu/date does not support the '-u' and '-d' switches like GNU date does!. Stop. make[1]: Leaving directory '/tmp/picosam' Makefile:146: recipe for target 'sub-make' failed make: *** [sub-make] Error 2 ---8--- It applies on top of http://patchwork.ozlabs.org/patch/506856/ (Makefile: Use correct timezone for U_BOOT_TZ). Changes in v2: * check for '-u' and '-d @0' switch rather than for the GNU variant Makefile | 15 --- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/Makefile b/Makefile index b9b2375..b797e38 100644 --- a/Makefile +++ b/Makefile @@ -346,6 +346,10 @@ PERL = perl PYTHON = python DTC= dtc CHECK = sparse +DATE := $(foreach date,gdate date.gnu date, \ + $(shell _date=`which $(date)`; \ + $${_date} -u -d @0 /dev/null 21; \ + test $$? -eq 0 echo $${_date})) CHECKFLAGS := -D__linux__ -Dlinux -D__STDC__ -Dunix -D__unix__ \ -Wbitwise -Wno-return-void -D__CHECK_ENDIAN__ $(CF) @@ -1281,9 +1285,9 @@ endef define filechk_timestamp.h (if test -n $${SOURCE_DATE_EPOCH}; then \ SOURCE_DATE=@$${SOURCE_DATE_EPOCH}; \ - LC_ALL=C date -u -d $${SOURCE_DATE} +'#define U_BOOT_DATE %b %d %C%y'; \ - LC_ALL=C date -u -d $${SOURCE_DATE} +'#define U_BOOT_TIME %T'; \ - LC_ALL=C date -u -d $${SOURCE_DATE} +'#define U_BOOT_TZ %z'; \ + LC_ALL=C $(DATE) -u -d $${SOURCE_DATE} +'#define U_BOOT_DATE %b %d %C%y'; \ + LC_ALL=C $(DATE) -u -d $${SOURCE_DATE} +'#define U_BOOT_TIME %T'; \ + LC_ALL=C $(DATE) -u -d $${SOURCE_DATE} +'#define U_BOOT_TZ %z'; \ else \ LC_ALL=C date +'#define U_BOOT_DATE %b %d %C%y'; \ LC_ALL=C date +'#define U_BOOT_TIME %T'; \ @@ -1295,6 +1299,11 @@ $(version_h): include/config/uboot.release FORCE $(call filechk,version.h) $(timestamp_h): $(srctree)/Makefile FORCE +ifneq ($(strip $(SOURCE_DATE_EPOCH)),) +ifeq ($(strip $(DATE)),) + $(error Your gdate/date.gnu/date does not support the '-u' and '-d' switches like GNU date does!) +endif +endif $(call filechk,timestamp.h) # --- -- 2.1.4 ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
Re: [Reproducible-builds] [RFC PATCH] Makefile: search for GNU date
Hi Marek, On 08/27/2015 10:28 AM, Marek Vasut wrote: On Thursday, August 27, 2015 at 10:13:49 AM, Andreas Bießmann wrote: The SOURCE_DATE_EPOCH mechanism for reproducible builds requires the GNU variant of date. Why does it require the GNU date ? Cause of the -d switch. It is used in GNU date variants to set the time to print the string from. On the other hand *BSD variants use it to set the DST flag. Respect this and search it, error on missing GNU date. Wouldn't it make more sense to fix the code to NOT depend on GNU extensions ? That would be great, but so we need to check for the tool and use the right switches depending on that. I think forcing the user to provide the right tool here is Ok. Best regards Andreas ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
Re: [Reproducible-builds] [RFC PATCH] Makefile: search for GNU date
On Thursday, August 27, 2015 at 10:13:49 AM, Andreas Bießmann wrote: The SOURCE_DATE_EPOCH mechanism for reproducible builds requires the GNU variant of date. Why does it require the GNU date ? Respect this and search it, error on missing GNU date. Wouldn't it make more sense to fix the code to NOT depend on GNU extensions ? Signed-off-by: Andreas Bießmann andreas.de...@googlemail.com [...] Best regards, Marek Vasut ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
Re: [Reproducible-builds] [RFC PATCH] Makefile: search for GNU date
Le jeudi 27 août 2015 à 10:13 +0200, Andreas Bießmann a écrit : The SOURCE_DATE_EPOCH mechanism for reproducible builds requires the GNU variant of date. Respect this and search it, error on missing GNU date. Well, IMHO we shouldn't check for GNU date but for the extensions it implements. Those could be included in other date implementations. For instance, it looks like busybox's date implements the -u and -d options too. Signed-off-by: Andreas Bießmann andreas.de...@googlemail.com --- This commit tries to figure out if we have a GNU date variant available. It errors on missing GNU date when it is required (for SOURCE_DATE_EPOCH set). The result is: Also, I don't think it should be up to the Makefile to figure out which date binary to use. It should be up to the user to put the right one as date, e.g. with an alias. That is, unless the name for GNU date is something really standardized on non-GNU systems. ---8--- abiessmann@punisher % PATH=$ARMv5_PATH:$PATH CROSS_COMPILE=arm-v5te-linux-gnueabi- make SOURCE_DATE_EPOCH=`date -R` O=/tmp/picosam ARCH=arm include/generated/timestamp_autogenerated.h make[1]: Entering directory '/tmp/picosam' /home/abiessmann/src/u-boot/Makefile:1303: *** No GNU date found. Stop. make[1]: Leaving directory '/tmp/picosam' Makefile:146: recipe for target 'sub-make' failed make: *** [sub-make] Error 2 abiessmann@punisher % PATH=$ARMv5_PATH:$PATH CROSS_COMPILE=arm-v5te-linux-gnueabi- make O=/tmp/picosam ARCH=arm include/generated/timestamp_autogenerated.h make[1]: Entering directory '/tmp/picosam' CHK include/generated/timestamp_autogenerated.h UPD include/generated/timestamp_autogenerated.h make[1]: Leaving directory '/tmp/picosam' ---8--- It applies on top of http://patchwork.ozlabs.org/patch/506856/ (Makefile: Use correct timezone for U_BOOT_TZ). Makefile | 14 +++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/Makefile b/Makefile index b9b2375..95eae64 100644 --- a/Makefile +++ b/Makefile @@ -346,6 +346,9 @@ PERL = perl PYTHON = python DTC = dtc CHECK= sparse +GNUDATE := $(foreach date,gdate date.gnu date, \ + $(shell _date=`which $(date)`; \ + $${_date} --version 2 /dev/null | $(AWK) /GNU coreutils/ { print \$${_date}\; })) I advise running date with the needed options (-u -d) and checked the error code instead of this. And of course, the variable names shouldn't mention GNU date. CHECKFLAGS := -D__linux__ -Dlinux -D__STDC__ -Dunix -D__unix__ \ -Wbitwise -Wno-return-void -D__CHECK_ENDIAN__ $(CF) @@ -1281,9 +1284,9 @@ endef define filechk_timestamp.h (if test -n $${SOURCE_DATE_EPOCH}; then \ SOURCE_DATE=@$${SOURCE_DATE_EPOCH}; \ - LC_ALL=C date -u -d $${SOURCE_DATE} +'#define U_BOOT_DATE %b %d %C%y'; \ - LC_ALL=C date -u -d $${SOURCE_DATE} +'#define U_BOOT_TIME %T'; \ - LC_ALL=C date -u -d $${SOURCE_DATE} +'#define U_BOOT_TZ %z'; \ + LC_ALL=C $(GNUDATE) -u -d $${SOURCE_DATE} +'#define U_BOOT_DATE %b %d %C%y'; \ + LC_ALL=C $(GNUDATE) -u -d $${SOURCE_DATE} +'#define U_BOOT_TIME %T'; \ + LC_ALL=C $(GNUDATE) -u -d $${SOURCE_DATE} +'#define U_BOOT_TZ %z'; \ else \ LC_ALL=C date +'#define U_BOOT_DATE %b %d %C%y'; \ LC_ALL=C date +'#define U_BOOT_TIME %T'; \ @@ -1295,6 +1298,11 @@ $(version_h): include/config/uboot.release FORCE $(call filechk,version.h) $(timestamp_h): $(srctree)/Makefile FORCE +ifneq ($(strip $(SOURCE_DATE_EPOCH)),) +ifeq ($(strip $(GNUDATE)),) + $(error No GNU date found) +endif +endif $(call filechk,timestamp.h) # --- signature.asc Description: This is a digitally signed message part ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
[Reproducible-builds] Unexplained FTBFS
Hi. I have rescheduled several QA packages uploaded yesterday, but some of them FTBFS and I don't know why. Example: https://reproducible.debian.net/rb-pkg/unstable/amd64/cdtool.html Build log says: The second build failed, even though the first build was successful. Ok, but where is the build log for the second build? Every other buildd seems to build the package just fine: https://buildd.debian.org/status/package.php?p=cdtool So, this seems like a problem in the jenkins setup, not a real FTBFS. [ Is there a problem in rescheduling packages that were uploaded as source-only? I hope not ]. Thanks. ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
Re: [Reproducible-builds] [RFC PATCH v2] Makefile: search for GNU date
Le jeudi 27 août 2015 à 15:52 +0200, Andreas Bießmann a écrit : On 08/27/2015 03:03 PM, Paul Kocialkowski wrote: Le jeudi 27 août 2015 à 11:30 +0200, Andreas Bießmann a écrit : Changes in v2: * check for '-u' and '-d @0' switch rather than for the GNU variant Makefile | 15 --- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/Makefile b/Makefile index b9b2375..b797e38 100644 --- a/Makefile +++ b/Makefile @@ -346,6 +346,10 @@ PERL = perl PYTHON= python DTC = dtc CHECK = sparse +DATE := $(foreach date,gdate date.gnu date, \ + $(shell _date=`which $(date)`; \ +$${_date} -u -d @0 /dev/null 21; \ +test $$? -eq 0 echo $${_date})) First, I don't understand why you need to call date with the full path: if which can find it, then calling the binary without its full path should do just as well, right? You'r right. Then, correct me if I'm wrong, but calling test and using is overkill, you could simply do: $${_date} -u -d @0 /dev/null 21 echo $${_date} Also true. So in the end, the whole line would look like: DATE := $(foreach date,gdate date.gnu date, \ $($${date} -u -d @0 /dev/null 21 \ echo $${date})) Let me know what you think (and please test it as well). That should work. I wonder however why we don't include this snippet in the filechk_timestamp.h script directly. In fact the $(DATE) (a date that support -d '@0' switch) is just used there, so why clobber the Makefile with it? I'm fine with both options, but your suggestion also makes it more obvious why we're doing that check at all. ---8--- define filechk_timestamp.h (if test -n $${SOURCE_DATE_EPOCH}; then \ date=; \ for _date in gdate date.gnu date; do \ $${_date} -u -d $${SOURCE_DATE} /dev/null 21 \ date=$${_date}; \ done; \ if test -n $${date}; then \ SOURCE_DATE=@$${SOURCE_DATE_EPOCH}; \ LC_ALL=C $${date} -u -d $${SOURCE_DATE} +'#define U_BOOT_DATE %b %d %C%y'; \ LC_ALL=C $${date} -u -d $${SOURCE_DATE} +'#define U_BOOT_TIME %T'; \ LC_ALL=C $${date} -u -d $${SOURCE_DATE} +'#define U_BOOT_TZ %z'; \ else \ return 42; \ fi; \ else \ LC_ALL=C date +'#define U_BOOT_DATE %b %d %C%y'; \ LC_ALL=C date +'#define U_BOOT_TIME %T'; \ LC_ALL=C date +'#define U_BOOT_TZ %z'; \ fi) endef ---8--- CHECKFLAGS := -D__linux__ -Dlinux -D__STDC__ -Dunix -D__unix__ \ -Wbitwise -Wno-return-void -D__CHECK_ENDIAN__ $(CF) @@ -1281,9 +1285,9 @@ endef define filechk_timestamp.h (if test -n $${SOURCE_DATE_EPOCH}; then \ SOURCE_DATE=@$${SOURCE_DATE_EPOCH}; \ - LC_ALL=C date -u -d $${SOURCE_DATE} +'#define U_BOOT_DATE %b %d %C%y'; \ - LC_ALL=C date -u -d $${SOURCE_DATE} +'#define U_BOOT_TIME %T'; \ - LC_ALL=C date -u -d $${SOURCE_DATE} +'#define U_BOOT_TZ %z'; \ + LC_ALL=C $(DATE) -u -d $${SOURCE_DATE} +'#define U_BOOT_DATE %b %d %C%y'; \ + LC_ALL=C $(DATE) -u -d $${SOURCE_DATE} +'#define U_BOOT_TIME %T'; \ + LC_ALL=C $(DATE) -u -d $${SOURCE_DATE} +'#define U_BOOT_TZ %z'; \ else \ LC_ALL=C date +'#define U_BOOT_DATE %b %d %C%y'; \ LC_ALL=C date +'#define U_BOOT_TIME %T'; \ @@ -1295,6 +1299,11 @@ $(version_h): include/config/uboot.release FORCE $(call filechk,version.h) $(timestamp_h): $(srctree)/Makefile FORCE +ifneq ($(strip $(SOURCE_DATE_EPOCH)),) +ifeq ($(strip $(DATE)),) + $(error Your gdate/date.gnu/date does not support the '-u' and '-d' switches like GNU date does!) +endif +endif $(call filechk,timestamp.h) # --- signature.asc Description: This is a digitally signed message part ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
Re: [Reproducible-builds] [U-Boot, v3] Makefile: fix SOURCE_DATE_EPOCH for *BSD host
On Fri, Aug 28, 2015 at 10:29:55AM +0200, Andreas Bießmann wrote: The SOURCE_DATE_EPOCH mechanism for reproducible builds require some date(1) with -d switch to print the relevant date and time strings of another point of time. In other words it requires some date(1) that behaves like the GNU date(1) [1]. The BSD date(1) [2] on the other hand has the same switch but with a different meaning. Respect this and check the date(1) abilities before usage, error on non working version. Use the well known pre- and suffixes for the GNU variant of a tool on *BSD hosts to search for a working date(1) version. [1] http://man7.org/linux/man-pages/man1/date.1.html [2] http://www.freebsd.org/cgi/man.cgi?query=date Signed-off-by: Andreas Bießmann andreas.de...@googlemail.com Applied to u-boot/master, thanks! -- Tom signature.asc Description: Digital signature ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
Re: [Reproducible-builds] [RFC PATCH] Makefile: search for GNU date
On Thursday, August 27, 2015 at 11:01:19 AM, Andreas Bießmann wrote: Hi Marek, Hi! On 08/27/2015 10:28 AM, Marek Vasut wrote: On Thursday, August 27, 2015 at 10:13:49 AM, Andreas Bießmann wrote: The SOURCE_DATE_EPOCH mechanism for reproducible builds requires the GNU variant of date. Why does it require the GNU date ? Cause of the -d switch. It is used in GNU date variants to set the time to print the string from. On the other hand *BSD variants use it to set the DST flag. This sort of stuff should be in the commit message :) Respect this and search it, error on missing GNU date. Wouldn't it make more sense to fix the code to NOT depend on GNU extensions ? That would be great, but so we need to check for the tool and use the right switches depending on that. I think forcing the user to provide the right tool here is Ok. I think we don't have a better option here anyway, right ? Maybe try checking uname ? But you can have linux with bsd userspace ... and probably BSD with GNU userspace, meh. Best regards, Marek Vasut ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
Re: [Reproducible-builds] [PATCH v3 2/2] Makefile: Add SOURCE_DATE_TZ
On Wed, Aug 26, 2015 at 09:08:03PM +1200, Chris Packham wrote: On Wed, Aug 26, 2015 at 12:09 AM, Paul Kocialkowski cont...@paulk.fr wrote: Le jeudi 13 août 2015 à 18:08 +1200, Chris Packham a écrit : Along with SOURCE_DATE_EPOCH SOURCE_DATE_TZ can be used to recreate a build with a specific date timestamp. This allows the verification of source supplied with a pre-compiled binary. If SOURCE_DATE_EPOCH is supplied SOURCE_DATE_TZ can be used to specify what will appear in the output of the version command. If SOURCE_DATE_TZ is not specified UTC will be used. SOURCE_DATE_TZ on it's own will not have an affect. I advise against merging this patch given Ximin Luo's comments on v1, at least until this has been properly discussed with the reproducible team and a precise meaning for it has been agreed on. I'm happy to go along with that. 1/2 of this series was the fix. 2/2 just kind of came up as part of the discussion that followed. Tom, can you handle that or do you want me to send a v4 of the series with just the first patch? I'll pick up just the first patch for now, shortly. -- Tom signature.asc Description: Digital signature ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
[Reproducible-builds] Bug#797286: robust-http-client: Missing Build-Depends on libmaven-scm-java
Source: robust-http-client Version: 1.2-2 Severity: serious Justification: fails to build from source User: reproducible-builds@lists.alioth.debian.org Usertags: ftbfs X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org Tags: patch Dear Maintainer, robust-http-client fails to build from source in unstable/amd64 due to missing Build-Depends on libmaven-scm-java: [..] [INFO] Scanning for projects... [INFO] [ERROR] BUILD ERROR [INFO] [INFO] Failed to resolve artifact. Missing: -- 1) org.apache.maven.scm:maven-scm-manager-plexus:jar:debian Try downloading the file manually from the project website. Then, install it using the command: mvn install:install-file -DgroupId=org.apache.maven.scm -DartifactId=maven-scm-manager-plexus -Dversion=debian -Dpackaging=jar -Dfile=/path/to/file Alternatively, if you host your own repository you can deploy the file there: mvn deploy:deploy-file -DgroupId=org.apache.maven.scm -DartifactId=maven-scm-manager-plexus -Dversion=debian -Dpackaging=jar -Dfile=/path/to/file -Durl=[url] -DrepositoryId=[id] Path to dependency: 1) org.jvnet.robust-http-client:robust-http-client:jar:1.2 2) org.apache.maven.scm:maven-scm-manager-plexus:jar:debian -- 1 required artifact is missing. for artifact: org.jvnet.robust-http-client:robust-http-client:jar:1.2 from the specified remote repositories: central (https://repo1.maven.org/maven2), m.g.o-public (http://maven.glassfish.org/content/groups/public/) NOTE: Maven is executing in offline mode. Any artifacts not already in your local repository will be inaccessible. [INFO] [INFO] For more information, run Maven with the -e switch [INFO] [INFO] Total time: 1 second [INFO] Finished at: Sat Aug 29 10:26:47 BST 2015 [INFO] Final Memory: 5M/236M [INFO] /usr/share/cdbs/1/class/maven.mk:93: recipe for target 'mvn-build' failed make: *** [mvn-build] Error 1 [..] The full build log is attached. Regards, -- ,''`. : :' : Chris Lamb `. `'` la...@debian.org / chris-lamb.co.uk `- dpkg-buildpackage -rfakeroot -D -us -uc -b dpkg-buildpackage: source package robust-http-client dpkg-buildpackage: source version 1.2-2 dpkg-buildpackage: source distribution unstable dpkg-buildpackage: source changed by James Page james.p...@ubuntu.com dpkg-source --before-build robust-http-client-1.2 dpkg-buildpackage: host architecture amd64 dpkg-source: warning: unknown information field 'Dm-Upload-Allowed' in input data in general section of control info file fakeroot debian/rules clean test -x debian/rules mkdir -p . cd . /usr/lib/jvm/default-java/bin/java -noverify -cp /usr/share/maven2/boot/classworlds.jar:/usr/lib/jvm/default-java/lib/tools.jar -Dproperties.file.manual=/home/lamby/temp/cdt.20150829092438.U7IEMGbZne/robust-http-client-1.2/debian/maven.properties -Dclassworlds.conf=/etc/maven2/m2-debian.conf org.codehaus.classworlds.Launcher -s/etc/maven2/settings-debian.xml -Dmaven.repo.local=/home/lamby/temp/cdt.20150829092438.U7IEMGbZne/robust-http-client-1.2/debian/maven-repo clean [INFO] NOTE: Maven is executing in offline mode. Any artifacts not already in your local repository will be inaccessible. [INFO] Scanning for projects... [INFO] [ERROR] BUILD ERROR [INFO] [INFO] Failed to resolve artifact. Missing: -- 1) org.apache.maven.scm:maven-scm-manager-plexus:jar:debian Try downloading the file manually from the project website. Then, install it using the command: mvn install:install-file -DgroupId=org.apache.maven.scm -DartifactId=maven-scm-manager-plexus -Dversion=debian -Dpackaging=jar -Dfile=/path/to/file Alternatively, if you host your own repository you can deploy the file there: mvn deploy:deploy-file -DgroupId=org.apache.maven.scm -DartifactId=maven-scm-manager-plexus -Dversion=debian -Dpackaging=jar -Dfile=/path/to/file -Durl=[url] -DrepositoryId=[id] Path to dependency: 1) org.jvnet.robust-http-client:robust-http-client:jar:1.2 2) org.apache.maven.scm:maven-scm-manager-plexus:jar:debian -- 1 required artifact is missing. for artifact: org.jvnet.robust-http-client:robust-http-client:jar:1.2 from the specified remote repositories: central (https://repo1.maven.org/maven2), m.g.o-public
[Reproducible-builds] Bug#797291: debian-parl: FTBFS: Class 'Blend.parl.desktop.EU' (in ancestry of node './desktop-eu') not found under yaml_fs:///usr/share/boxer/jessie/classes
Source: debian-parl Version: 1.0.9 Severity: serious Justification: fails to build from source User: reproducible-builds@lists.alioth.debian.org Usertags: ftbfs X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org Dear Maintainer, debian-parl fails to build from source in unstable/amd64: [..] /usr/bin/make make[1]: Entering directory '/tmp/buildd/debian-parl-1.0.9' mkdir -p content/desktop/eu/ cd content/desktop/eu/ \ boxer compose \ --nodedir /tmp/buildd/debian-parl-1.0.9/nodes \ --skeldir /tmp/buildd/debian-parl-1.0.9/skel \ --suite jessie \ desktop-eu Class 'Blend.parl.desktop.EU' (in ancestry of node './desktop-eu') not found under yaml_fs:///usr/share/boxer/jessie/classes Traceback (most recent call last): File /usr/lib/python2.7/dist-packages/reclass/storage/yaml_fs/__init__.py, line 93, in get_class path = os.path.join(self.classes_uri, self._classes[name]) KeyError: 'Blend.parl.desktop.EU' reclass unexpectedly returned exit value 74 at (eval 185) line 12. at /usr/share/perl5/Boxer/Task/Classify.pm line 69 Makefile:17: recipe for target 'content/desktop/eu/preseed.cfg' failed make[1]: *** [content/desktop/eu/preseed.cfg] Error 74 make[1]: Leaving directory '/tmp/buildd/debian-parl-1.0.9' debian/blends.mk:67: recipe for target 'content/desktop/preseed.cfg' failed make: *** [content/desktop/preseed.cfg] Error 2 dpkg-buildpackage: error: debian/rules build gave error exit status 2 [..] The full build log is attached or can be viewed here: https://reproducible.debian.net/logs/unstable/amd64/debian-parl_1.0.9.build1.log.gz Regards, -- ,''`. : :' : Chris Lamb `. `'` la...@debian.org / chris-lamb.co.uk `- I: using fakeroot in build. I: pbuilder: network access will be disabled during build I: Current time: Fri Aug 28 09:45:38 GMT+12 2015 I: pbuilder-time-stamp: 1440798338 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/unstable-reproducible-base.tgz] I: creating local configuration I: copying local configuration I: mounting /proc filesystem I: mounting /run/shm filesystem I: mounting /dev/pts filesystem I: Mounting /dev/shm I: Mounting /sys I: policy-rc.d already exists I: Installing the build-deps - Attempting to satisfy build-dependencies - Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy Version: 0.invalid.0 Architecture: amd64 Maintainer: Debian Pbuilder Team pbuilder-ma...@lists.alioth.debian.org Description: Dummy package to satisfy dependencies with aptitude - created by pbuilder This package was created automatically by pbuilder to satisfy the build-dependencies of the package being currently built. Depends: cdbs, debhelper, dh-buildinfo, boxer, boxer-data, shellcheck dpkg-deb: building package 'pbuilder-satisfydepends-dummy' in '/tmp/satisfydepends-aptitude/pbuilder-satisfydepends-dummy.deb'. Selecting previously unselected package pbuilder-satisfydepends-dummy. (Reading database ... 20223 files and directories currently installed.) Preparing to unpack .../pbuilder-satisfydepends-dummy.deb ... Unpacking pbuilder-satisfydepends-dummy (0.invalid.0) ... dpkg: pbuilder-satisfydepends-dummy: dependency problems, but configuring anyway as you requested: pbuilder-satisfydepends-dummy depends on cdbs; however: Package cdbs is not installed. pbuilder-satisfydepends-dummy depends on dh-buildinfo; however: Package dh-buildinfo is not installed. pbuilder-satisfydepends-dummy depends on boxer; however: Package boxer is not installed. pbuilder-satisfydepends-dummy depends on boxer-data; however: Package boxer-data is not installed. pbuilder-satisfydepends-dummy depends on shellcheck; however: Package shellcheck is not installed. Setting up pbuilder-satisfydepends-dummy (0.invalid.0) ... Reading package lists... Building dependency tree... Reading state information... Initializing package states... Writing extended state information... Building tag database... The following NEW packages will be installed: boxer{a} boxer-data{a} cdbs{a} dh-buildinfo{a} libapp-cmd-perl{a} libb-hooks-endofscope-perl{a} libcapture-tiny-perl{a} libclass-inspector-perl{a} libclass-load-perl{a} libclass-method-modifiers-perl{a} libclass-tiny-perl{a} libdata-optlist-perl{a} libdevel-globaldestruction-perl{a} libexpat1{a} libexporter-tiny-perl{a} libfile-basedir-perl{a} libfile-homedir-perl{a} libfile-sharedir-perl{a} libfile-sharedir-projectdistdir-perl{a} libfile-which-perl{a} libgetopt-long-descriptive-perl{a} libhash-fieldhash-perl{a} libimport-into-perl{a} libio-stringy-perl{a} libio-tiecombine-perl{a} libipc-system-simple-perl{a} libjson-perl{a} liblog-any-perl{a} libmatch-simple-perl{a} libmodule-implementation-perl{a} libmodule-pluggable-perl{a} libmodule-runtime-perl{a} libmoo-perl{a} libmoox-log-any-perl{a}
[Reproducible-builds] not_using_dh_builddeb
Greetings. I'd like this issue to be called differently. Even if I'm a fan of dh these days, issues should better have a neutral name and be called by the observed *effect* on the resulting binary packages, not by the desired fix in the source package. Suggestion: varying_mtimes_in_data_tar_gz_or_control_tar_gz Thanks. ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
Re: [Reproducible-builds] not_using_dh_builddeb
Hi Santiago, On Samstag, 29. August 2015, Santiago Vila wrote: I'd like this issue to be called differently. Even if I'm a fan of dh these days, issues should better have a neutral name and be called by the observed *effect* on the resulting binary packages, not by the desired fix in the source package. Suggestion: varying_mtimes_in_data_tar_gz_or_control_tar_gz agreed. please go ahead. maybe just call it varying_mtimes_in_data_or_control_tar_gz though - but I leave the exact color of the bikeshed to you :) cheers, Holger signature.asc Description: This is a digitally signed message part. ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
[Reproducible-builds] Bug#797320: cook: FTBFS under some locales (eg. fr_CH.UTF-8)
Source: cook Version: 2.33-2 Severity: serious Justification: fails to build from source User: reproducible-builds@lists.alioth.debian.org Usertags: ftbfs locale X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org Dear Maintainer, cook fails to build from source in unstable/amd64 under some locales (eg. LANG=fr_CH.UTF-8): [..] CC=gcc /bin/sh test/01/t0199a.sh 1c1 bar1 bar2 --- bar1 bar2 bar3 FAILED test of the ingredients-fingerprint functionality Makefile:4714: recipe for target 't0199a' failed make[1]: *** [t0199a] Error 1 make[1]: Leaving directory '/tmp/buildd/cook-2.33' debian/rules:18: recipe for target 'build-stamp' failed make: *** [build-stamp] Error 2 dpkg-buildpackage: error: debian/rules build gave error exit status 2 [..] The full build log is attached or can be viewed here: https://reproducible.debian.net/logs/unstable/amd64/cook_2.33-2.build2.log.gz Regards, -- ,''`. : :' : Chris Lamb `. `'` la...@debian.org / chris-lamb.co.uk `- I: using fakeroot in build. I: pbuilder: network access will be disabled during build I: Current time: samedi 22 août 2015, 09:07:23 (UTC+1400) I: pbuilder-time-stamp: 1440184043 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/unstable-reproducible-base.tgz] I: creating local configuration I: copying local configuration I: mounting /proc filesystem I: mounting /run/shm filesystem I: mounting /dev/pts filesystem I: Mounting /dev/shm I: Mounting /sys I: policy-rc.d already exists I: Installing the build-deps I: user script /var/cache/pbuilder/build//10427/tmp/hooks/D01_modify_environment starting I: Changing hostname to test build reproducibility I: user script /var/cache/pbuilder/build//10427/tmp/hooks/D01_modify_environment finished - Attempting to satisfy build-dependencies - Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy Version: 0.invalid.0 Architecture: amd64 Maintainer: Debian Pbuilder Team pbuilder-ma...@lists.alioth.debian.org Description: Dummy package to satisfy dependencies with aptitude - created by pbuilder This package was created automatically by pbuilder to satisfy the build-dependencies of the package being currently built. Depends: debhelper (= 7), bison, groff, gettext, sharutils, ed dpkg-deb: building package 'pbuilder-satisfydepends-dummy' in '/tmp/satisfydepends-aptitude/pbuilder-satisfydepends-dummy.deb'. Selecting previously unselected package pbuilder-satisfydepends-dummy. (Reading database ... 20247 files and directories currently installed.) Preparing to unpack .../pbuilder-satisfydepends-dummy.deb ... Unpacking pbuilder-satisfydepends-dummy (0.invalid.0) ... dpkg: pbuilder-satisfydepends-dummy: dependency problems, but configuring anyway as you requested: pbuilder-satisfydepends-dummy depends on bison; however: Package bison is not installed. pbuilder-satisfydepends-dummy depends on groff; however: Package groff is not installed. pbuilder-satisfydepends-dummy depends on sharutils; however: Package sharutils is not installed. pbuilder-satisfydepends-dummy depends on ed; however: Package ed is not installed. Setting up pbuilder-satisfydepends-dummy (0.invalid.0) ... Reading package lists... Building dependency tree... Reading state information... Initializing package states... Writing extended state information... Building tag database... The following NEW packages will be installed: bison{a} ed{a} groff{a} libbison-dev{a} libice6{a} libsigsegv2{a} libsm6{a} libx11-6{a} libx11-data{a} libxau6{a} libxaw7{a} libxcb1{a} libxdmcp6{a} libxext6{a} libxmu6{a} libxpm4{a} libxt6{a} m4{a} sharutils{a} x11-common{a} 0 packages upgraded, 20 newly installed, 0 to remove and 0 not upgraded. Need to get 7'045 kB of archives. After unpacking 21.0 MB will be used. Writing extended state information... Get: 1 http://ftp.de.debian.org/debian/ unstable/main x11-common all 1:7.7+9 [287 kB] Get: 2 http://ftp.de.debian.org/debian/ unstable/main libice6 amd64 2:1.0.9-1+b1 [58.8 kB] Get: 3 http://ftp.de.debian.org/debian/ unstable/main libsigsegv2 amd64 2.10-4+b1 [29.2 kB] Get: 4 http://ftp.de.debian.org/debian/ unstable/main libsm6 amd64 2:1.2.2-1+b1 [33.6 kB] Get: 5 http://ftp.de.debian.org/debian/ unstable/main libxau6 amd64 1:1.0.8-1 [20.7 kB] Get: 6 http://ftp.de.debian.org/debian/ unstable/main libxdmcp6 amd64 1:1.1.2-1 [26.3 kB] Get: 7 http://ftp.de.debian.org/debian/ unstable/main libxcb1 amd64 1.10-3+b1 [44.4 kB] Get: 8 http://ftp.de.debian.org/debian/ unstable/main libx11-data all 2:1.6.3-1 [128 kB] Get: 9 http://ftp.de.debian.org/debian/ unstable/main libx11-6 amd64 2:1.6.3-1 [742 kB] Get: 10 http://ftp.de.debian.org/debian/ unstable/main libxext6 amd64 2:1.3.3-1 [52.7 kB] Get: 11 http://ftp.de.debian.org/debian/ unstable/main libxt6 amd64 1:1.1.4-1+b1 [186 kB] Get: 12 http://ftp.de.debian.org/debian/ unstable/main libxmu6 amd64 2:1.1.2-1 [58.6 kB] Get:
[Reproducible-builds] Bug#797296: shiro: please make the build reproducible
Source: shiro Version: 1.2.4-1 Severity: wishlist Tags: patch User: reproducible-builds@lists.alioth.debian.org Usertags: username X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org Hi, While working on the reproducible builds effort [1], we have noticed that shiro could not be built reproducibly. The attached patch removes username capturing from the build system by replacing it with debian which is probably more useful from upstream's PoV, especially as the build date (which *is* reproducible due to [2]) is not the current date. Once applied, shiro can be built reproducibly in our reproducible toolchain. [1]: https://wiki.debian.org/ReproducibleBuilds [2]: http://sources.debian.net/src/maven2-core/2.2.1-22/debian/patches/0006-reproducible-built-timestamp.patch/?hl=1#L1 Regards, -- ,''`. : :' : Chris Lamb `. `'` la...@debian.org / chris-lamb.co.uk `- diff --git a/pom.xml b/pom.xml index 6ed97d5..9fbbcb5 100644 --- a/pom.xml +++ b/pom.xml @@ -65,7 +65,7 @@ properties !-- Replaced by the build number plugin at build time: -- -buildNumber${user.name}-${maven.build.timestamp}/buildNumber +buildNumberdebian-${maven.build.timestamp}/buildNumber !-- non-dependency-based properties: -- shiro.osgi.importRange[1.2, 2)/shiro.osgi.importRange ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
[Reproducible-builds] package uploaded to our repo
dpkg_1.18.3~reproducible1.dsc has just been uploaded to https://wiki.debian.org/ReproducibleBuilds/ExperimentalToolchain ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
Re: [Reproducible-builds] reproducible .buildinfo inclusion in the archive and output by dpkg
Holger Levsen hol...@layer-acht.org writes: together with Lunar we four sad together on the last Saturday of DebConf15 in Heidelberg and discussed the next steps forward to achieve the inclusion of .buildinfo inclusion in the Debian archive and output by dpkg. On the ftpmaster side we agreed that: - dak/queued has to be changed to accept .buildinfo files - will be stored on ftp-master, concatted and compressed it will be exposed to the mirrors - one per arch + suite, aka for each Packages file How large are these? I'm sure the snapshot.d.o maintainers would prefer something that does not change with each mirror push, or is not part of the dists/ tree pushed to mirrors. - Packages file gets a certfied-by field: Build-Signed-Off-By: 0603CCFD91865C17E88D4C798382C95C29023DF9 Jérémy Bobbio lu...@debian.org which should include the checksum of the .buildinfo file (or maybe not, see above) I think having an external service for these is better: otherwise we have to deal with who can add signatures, and probably would limit it to people in Debian's keyring (I don't want ftp-master to deal with external parties). A seperate service could accept signatures from everybody, including parties not directly involved in Debian or automated systems. Also adding even more data to the Packages indicies is something I would like to avoid: the files are already quite large. Ansgar ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
[Reproducible-builds] strip-nondeterminism_0.011-1_amd64.changes ACCEPTED into unstable
Accepted: -BEGIN PGP SIGNED MESSAGE- Hash: SHA256 Format: 1.8 Date: Sat, 29 Aug 2015 12:26:20 -0700 Source: strip-nondeterminism Binary: libfile-stripnondeterminism-perl strip-nondeterminism dh-strip-nondeterminism Architecture: source all Version: 0.011-1 Distribution: unstable Urgency: medium Maintainer: Reproducible builds folks reproducible-builds@lists.alioth.debian.org Changed-By: Andrew Ayer a...@andrewayer.name Description: dh-strip-nondeterminism - debhelper add-on to strip non-determinism from files libfile-stripnondeterminism-perl - Perl module for stripping non-determinism from files strip-nondeterminism - tool for stripping non-determinism from files Changes: strip-nondeterminism (0.011-1) unstable; urgency=medium . * New upstream release. - dh_strip_nondeterminism: use get_source_date_epoch() to get canonical time. Checksums-Sha1: 2bad848a8c369e550568bc599af1b06209c1d19d 2251 strip-nondeterminism_0.011-1.dsc 64ba184333b15f862c21a611319774c0ae787459 24590 strip-nondeterminism_0.011.orig.tar.gz 0a3fa19fb60b74d233718cb3155867d40d3744cb 3524 strip-nondeterminism_0.011-1.debian.tar.xz 8cb26e58d97b5fd0819ffb8140bf1b1b8038b2d8 7096 dh-strip-nondeterminism_0.011-1_all.deb 4b2466bea2de2c081ddf6a84108e6a8e6c3a1862 10548 libfile-stripnondeterminism-perl_0.011-1_all.deb bf7ac1bfb7ac9fdbcf2b88f8c8ed4571f627f631 7148 strip-nondeterminism_0.011-1_all.deb Checksums-Sha256: 8c4a39c8c629a90b803c3579a6cd57d11ba9054408e406b4a92822154deed911 2251 strip-nondeterminism_0.011-1.dsc 660d767aa3f880c82cb138814503867f6389ecf2b7419017e46daef1e6b9aac5 24590 strip-nondeterminism_0.011.orig.tar.gz 21f2ca8a5b7bc2fb86b9595862f23167bd0e43397241e9868f13ee0c92e03357 3524 strip-nondeterminism_0.011-1.debian.tar.xz cbfd1286f84a92c2efed846328ac9aa80b00bc4d3d0469235a2eb39844f5d58a 7096 dh-strip-nondeterminism_0.011-1_all.deb 1c96a6118c93d9ea912810524455a143b3be7bcdfcb48dff0ef85f7f8412b1d6 10548 libfile-stripnondeterminism-perl_0.011-1_all.deb 4ac04724bf71525bf1377421abccca85bfed72ebb44d452c9f6407e409f044f7 7148 strip-nondeterminism_0.011-1_all.deb Files: b748a17711271269648d1c12657cb90b 2251 perl optional strip-nondeterminism_0.011-1.dsc ebbefbd09204b84bc75e34e21f27a80f 24590 perl optional strip-nondeterminism_0.011.orig.tar.gz 31df219e921305c76b7af177e1140207 3524 perl optional strip-nondeterminism_0.011-1.debian.tar.xz 54b83a793078840f951a529596c141aa 7096 perl optional dh-strip-nondeterminism_0.011-1_all.deb c4128736fcdeb7cee859108ef0fe43fc 10548 perl optional libfile-stripnondeterminism-perl_0.011-1_all.deb 9bfc79aa62113be4f717b38fe835c837 7148 perl optional strip-nondeterminism_0.011-1_all.deb -BEGIN PGP SIGNATURE- Version: GnuPG v1 iQIcBAEBCAAGBQJV4g0AAAoJEB6VPifUMR5Yed4QAJh602O+rLkhUHfcCXdPiu5s QBV2OBPw56tY0jOEZZvD0ypZp0Yo/TLB+Kpf/WiQPgggVuxDgsjg+RoFLmXhSk+3 Evc+5V8ePYhicJH/nJm9DUUg2a5+MgSpA7orDLk0N4r6kOcVjGnrvmsaQGmCiOXo 4O1qKzb4YJvgUkR6MCt1hyVQMA0xC+o24ffciVnQBt+c0JJQLKXMc5+mhUpl1xxG aR5ebzcp0o7ELbb27IjO0U+sFSsBrD2K3cqsC52I1eDrUymweUapbEaGhyEuVGLr ObF0FyJKG5cIGepNU4SfShqg7NzSQlM1v4H7BVLDI+ca6YRBhXfKSyLtVToGUmhr K6Jz7diLzEQNHuEhkE0NqWxZ5XMl0NPHHbPkqOvveixPBmoyGgyWqor0c2L0AbQg hei1eXkrBLRY3BZpxrZAOD7nqeYJrMx4UNiN2g45qGHmxDYFJg7jyh03trX+jChM 8fju2c2W5Yf1tJpiEm55TngV6Drcl0m2I73lhnDSETGDVPKMNjjj9ZUHZQgINyFX SLdZSjoYcrHSp8eME0bTDSsY7PDaKrqzN0Trh0l3MM00DBCbDcbhocvA4igOUpNS 6elJevKk1NOZcQxHH3RcmdVDxANxaXSLXXDn53CbDjrmYrwXB+pT1Fa8fYfMPYr4 wZ5YS3+j7WrhKlGReTC5 =W/PE -END PGP SIGNATURE- Thank you for your contribution to Debian. ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
[Reproducible-builds] [PATCH] make suite list a bit more intuitive
Hi, I think the current suite/arch list is a bit unintuitive since it is not clear which suite/arch are built and which is currently shown. See attached patches for a proposal to make it a bit nicer. HW42 From be75eced896ff097ac68f510fd98be93aa5f8725 Mon Sep 17 00:00:00 2001 From: HW42 h...@ipsumj.de Date: Sun, 30 Aug 2015 02:12:10 +0200 Subject: [PATCH 1/3] package html: remove unneeded span in suite list This makes formating of the lis easier. In additions this fix the wrongly orderder /li/span --- bin/reproducible_html_packages.py | 7 --- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/bin/reproducible_html_packages.py b/bin/reproducible_html_packages.py index b44128b..b2073de 100755 --- a/bin/reproducible_html_packages.py +++ b/bin/reproducible_html_packages.py @@ -182,7 +182,8 @@ def gen_suites_links(package, current_suite, current_arch): if not status: # The package is not available in that suite/arch continue version = package.get_tested_version(s, a) -html += 'lispan class=suite\n' + tab +li_classes = ['suite'] +html += 'li class=' + ' '.join(li_classes) + '\n' + tab if status != 'untested': prefix = 'a href=/{}/{}/index_{}.html'.format(s, a, status) suffix = '/a\n' @@ -192,9 +193,9 @@ def gen_suites_links(package, current_suite, current_arch): icon = prefix + 'img src=/static/{icon} alt={status} title={status}/' + suffix html += icon.format(icon=join_status_icon(status)[1], status=status) html += (tab*2 + ' a href={}/{}/{}/{}.html target=_parent' + \ - ' title={}: {}{}/a: {}/li\n').format(RB_PKG_URI, + ' title={}: {}{}/a: {}\n').format(RB_PKG_URI, s, a, package.name, status, version, s, version) -html += '/span\n' +html += '/li\n' html += tab + '/ul/li' html += '/ul\n' return tab*5 + (tab*7).join(html.splitlines(True)) -- 2.5.0 From afc8f0ddcfd0da67c943e60de6b63b88a0a3ff95 Mon Sep 17 00:00:00 2001 From: HW42 h...@ipsumj.de Date: Sun, 30 Aug 2015 02:17:36 +0200 Subject: [PATCH 2/3] package html: make it more clear which suite is currently shown --- bin/reproducible_html_packages.py | 6 +++--- userContent/reproducible/static/style.css | 4 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/bin/reproducible_html_packages.py b/bin/reproducible_html_packages.py index b2073de..da63a87 100755 --- a/bin/reproducible_html_packages.py +++ b/bin/reproducible_html_packages.py @@ -174,8 +174,6 @@ def gen_suites_links(package, current_suite, current_arch): html += tab + 'li{}\n'.format(a) html += tab + 'ul class=children\n' for s in SUITES: -if s == current_suite and a == current_arch: -continue if a == 'armhf' and s != 'unstable': continue status = package.get_status(s, a) @@ -183,8 +181,10 @@ def gen_suites_links(package, current_suite, current_arch): continue version = package.get_tested_version(s, a) li_classes = ['suite'] +if s == current_suite and a == current_arch: +li_classes.append('active') html += 'li class=' + ' '.join(li_classes) + '\n' + tab -if status != 'untested': +if s != current_suite or a != current_arch or status != 'untested': prefix = 'a href=/{}/{}/index_{}.html'.format(s, a, status) suffix = '/a\n' else: diff --git a/userContent/reproducible/static/style.css b/userContent/reproducible/static/style.css index d4708b7..dfeaa07 100644 --- a/userContent/reproducible/static/style.css +++ b/userContent/reproducible/static/style.css @@ -104,6 +104,10 @@ ul.menu { clear: left; } +.suite.active { + background-color: #bfeaff; +} + ul.reproducible-links { margin-top: 1em; border-top: 1px solid #eee; -- 2.5.0 From 4c4f0be247b443bd1e6d5f2315ffa223e71341a9 Mon Sep 17 00:00:00 2001 From: HW42 h...@ipsumj.de Date: Sun, 30 Aug 2015 02:19:03 +0200 Subject: [PATCH 3/3] package html: add a bit spacing between lis --- userContent/reproducible/static/style.css | 5 - 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/userContent/reproducible/static/style.css b/userContent/reproducible/static/style.css index dfeaa07..f4831b4 100644 --- a/userContent/reproducible/static/style.css +++ b/userContent/reproducible/static/style.css @@ -96,7 +96,10 @@ ul.menu { } .head ul.children li { - margin: 0; + margin-top: 0.75ex; + margin-bottom: 0; + margin-left: 0; + margin-right: 0; } .suite { -- 2.5.0 signature.asc Description: OpenPGP digital signature ___ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org