[Reproducible-builds] package uploaded to our repo

2015-08-29 Thread Holger Levsen
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

2015-08-29 Thread Andreas Bießmann
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

2015-08-29 Thread Chris Packham
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

2015-08-29 Thread Paul Kocialkowski
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

2015-08-29 Thread Chris Packham
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

2015-08-29 Thread Andreas Bießmann
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

2015-08-29 Thread Andreas Bießmann
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

2015-08-29 Thread Marek Vasut
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

2015-08-29 Thread Paul Kocialkowski
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

2015-08-29 Thread Santiago Vila
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

2015-08-29 Thread Paul Kocialkowski
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

2015-08-29 Thread Tom Rini
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

2015-08-29 Thread Marek Vasut
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

2015-08-29 Thread Tom Rini
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

2015-08-29 Thread Chris Lamb
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

2015-08-29 Thread Chris Lamb
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

2015-08-29 Thread Santiago Vila
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

2015-08-29 Thread Holger Levsen
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)

2015-08-29 Thread Chris Lamb
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

2015-08-29 Thread Chris Lamb
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

2015-08-29 Thread Jérémy Bobbio
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

2015-08-29 Thread Ansgar Burchardt
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

2015-08-29 Thread Debian FTP Masters


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

2015-08-29 Thread HW42
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