All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH v2 00/15] Reproducible builds
@ 2016-11-18  9:10 Jérôme Pouiller
  2016-11-18  9:10 ` [Buildroot] [PATCH v2 01/15] reproducibility: generate SOURCE_DATE_EPOCH Jérôme Pouiller
                   ` (14 more replies)
  0 siblings, 15 replies; 61+ messages in thread
From: Jérôme Pouiller @ 2016-11-18  9:10 UTC (permalink / raw)
  To: buildroot

This series try to continue work initiated by Gilles Chanteperdrix:
  http://lists.busybox.net/pipermail/buildroot/2016-April/thread.html#160064
  http://lists.busybox.net/pipermail/buildroot/2016-June/thread.html#163905

I dropped some patchs from original series because either:
  - I handled things differently (timestamps in images, support SOURCE_DATE_EPOCH
    in gcc, ...)
  - I didn't had time to test them them (sysroot, cpio, cdrkit, iso9660,...)
  - They doesn't seems necessary anymore (libtool, libgcrypt, libgpg-error, ...)

This version focuses on timestamps. It provide good enough results as soon as
OUTDIR and TOPDIR are the same. Indeed build path appear in plenty of files.
Only patch called "remove full path from .pyc" try to solve this issue. Another
big step could be done by removing rpaths from ELF generated with libtool.

Other thing known to break reproducibility:
  - use of lzop (it unconditionally include timestamps in result)
  - /!\ since we build our own toolchain and toolchain include BR2_FULL_VERSION,
    ccache is incompatible with reproducible
  - debug symbols are not reproducible

Since this feature is experimental I did not (yet) reported these
incompatibilities in menuconfig.

v2:
  - overload __TIME__ and __DATE__ instead of patching gcc
  - improve BR2_REPRODUCIBLE help text

Gilles Chanteperdrix (3):
  reproducibility: generate SOURCE_DATE_EPOCH
  reproducibility/linux: override build timestamp
  reproducibility/busybox: disable build timestamps

J?r?me Pouiller (12):
  reproducible: fix DATE/TIME macros in toolchain-wrapper
  reproducible: add '-n' to gzip invocations
  fs/tar: make results reproducible
  reproducibility/linux: inhibit build-id
  reproducible: lock modification times in $TARGET_DIR
  fakedate: new package
  reproducible: enable fakedate
  python2: generate reproducible .pyc
  python3: generate reproducible .pyc
  python2: remove full path from .pyc
  python3: remove full path from .pyc
  reproducible: improve help text

 Config.in                              |  5 +++++
 Makefile                               |  5 +++++
 fs/common.mk                           |  3 +++
 fs/tar/tar.mk                          |  2 +-
 linux/linux.mk                         | 15 ++++++++++++++
 package/busybox/busybox.mk             |  6 ++++++
 package/fakedate/fakedate              | 28 ++++++++++++++++++++++++++
 package/fakedate/fakedate.mk           | 14 +++++++++++++
 package/python/python.mk               | 36 ++++++++++++++++++++++------------
 package/python3/python3.mk             | 35 +++++++++++++++++++++------------
 support/dependencies/check-host-tar.sh |  5 ++---
 toolchain/toolchain-wrapper.c          |  9 +++++++++
 toolchain/toolchain-wrapper.mk         |  5 +++++
 toolchain/toolchain/toolchain.mk       |  4 ++++
 14 files changed, 142 insertions(+), 30 deletions(-)
 create mode 100755 package/fakedate/fakedate
 create mode 100644 package/fakedate/fakedate.mk

-- 
1.9.1

^ permalink raw reply	[flat|nested] 61+ messages in thread

end of thread, other threads:[~2016-11-22 10:59 UTC | newest]

Thread overview: 61+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-11-18  9:10 [Buildroot] [PATCH v2 00/15] Reproducible builds Jérôme Pouiller
2016-11-18  9:10 ` [Buildroot] [PATCH v2 01/15] reproducibility: generate SOURCE_DATE_EPOCH Jérôme Pouiller
2016-11-18 11:33   ` Thomas Petazzoni
2016-11-18 13:48     ` Jérôme Pouiller
2016-11-19  8:51     ` Arnout Vandecappelle
2016-11-19  9:51       ` Thomas Petazzoni
2016-11-19 10:01         ` Arnout Vandecappelle
2016-11-19  8:40   ` Arnout Vandecappelle
2016-11-18  9:10 ` [Buildroot] [PATCH v2 02/15] reproducible: fix DATE/TIME macros in toolchain-wrapper Jérôme Pouiller
2016-11-18 11:37   ` Thomas Petazzoni
2016-11-18 13:46     ` Jérôme Pouiller
2016-11-18  9:10 ` [Buildroot] [PATCH v2 03/15] reproducible: add '-n' to gzip invocations Jérôme Pouiller
2016-11-18 11:38   ` Thomas Petazzoni
2016-11-19  9:02   ` Arnout Vandecappelle
2016-11-19 13:49     ` Jérôme Pouiller
2016-11-18  9:10 ` [Buildroot] [PATCH v2 04/15] fs/tar: make results reproducible Jérôme Pouiller
2016-11-18 11:40   ` Thomas Petazzoni
2016-11-18 13:02     ` Jérôme Pouiller
2016-11-18 13:29       ` Thomas Petazzoni
2016-11-18 13:44         ` Jérôme Pouiller
2016-11-18 21:28           ` Thomas Petazzoni
2016-11-19  8:33             ` Arnout Vandecappelle
2016-11-19 13:56             ` Jérôme Pouiller
2016-11-19  9:12   ` Arnout Vandecappelle
2016-11-19 13:59     ` Jérôme Pouiller
2016-11-18  9:10 ` [Buildroot] [PATCH v2 05/15] reproducibility/linux: override build timestamp Jérôme Pouiller
2016-11-18 11:40   ` Thomas Petazzoni
2016-11-19 13:53     ` Jérôme Pouiller
2016-11-19 16:10       ` Arnout Vandecappelle
2016-11-18  9:10 ` [Buildroot] [PATCH v2 06/15] reproducibility/linux: inhibit build-id Jérôme Pouiller
2016-11-19  9:31   ` Arnout Vandecappelle
2016-11-19 14:04     ` Jérôme Pouiller
2016-11-18  9:10 ` [Buildroot] [PATCH v2 07/15] reproducibility/busybox: disable build timestamps Jérôme Pouiller
2016-11-18 11:41   ` Thomas Petazzoni
2016-11-19  9:32   ` Arnout Vandecappelle
2016-11-19  9:33   ` Arnout Vandecappelle
2016-11-18  9:10 ` [Buildroot] [PATCH v2 08/15] reproducible: lock modification times in $TARGET_DIR Jérôme Pouiller
2016-11-18 11:43   ` Thomas Petazzoni
2016-11-19  9:39   ` Arnout Vandecappelle
2016-11-18  9:10 ` [Buildroot] [PATCH v2 09/15] fakedate: new package Jérôme Pouiller
2016-11-18 11:48   ` Thomas Petazzoni
2016-11-19 13:24     ` Jérôme Pouiller
2016-11-19 10:21   ` Arnout Vandecappelle
2016-11-19 13:06     ` Jérôme Pouiller
2016-11-19 13:26       ` Arnout Vandecappelle
2016-11-19 13:38         ` Jérôme Pouiller
2016-11-22 10:59         ` Jérôme Pouiller
2016-11-18  9:10 ` [Buildroot] [PATCH v2 10/15] reproducible: enable fakedate Jérôme Pouiller
2016-11-18 11:49   ` Thomas Petazzoni
2016-11-18 13:53     ` Jérôme Pouiller
2016-11-19 10:22       ` Arnout Vandecappelle
2016-11-18  9:10 ` [Buildroot] [PATCH v2 11/15] python2: generate reproducible .pyc Jérôme Pouiller
2016-11-19 10:41   ` Arnout Vandecappelle
2016-11-19 12:35     ` Arnout Vandecappelle
2016-11-18  9:10 ` [Buildroot] [PATCH v2 12/15] python3: " Jérôme Pouiller
2016-11-18  9:10 ` [Buildroot] [PATCH v2 13/15] python2: remove full path from .pyc Jérôme Pouiller
2016-11-19 12:38   ` Arnout Vandecappelle
2016-11-18  9:10 ` [Buildroot] [PATCH v2 14/15] python3: " Jérôme Pouiller
2016-11-19 12:39   ` Arnout Vandecappelle
2016-11-18  9:10 ` [Buildroot] [PATCH v2 15/15] reproducible: improve help text Jérôme Pouiller
2016-11-19 12:45   ` Arnout Vandecappelle

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.