[Buildroot] [PATCH 04/34] reproducibility: make rootfs.tar reproducible
Gilles Chanteperdrix
gilles.chanteperdrix at xenomai.org
Sun May 8 20:17:21 UTC 2016
On Sat, May 07, 2016 at 09:51:36PM +0200, Arnout Vandecappelle wrote:
> On 05/07/16 15:23, Thomas Petazzoni wrote:
> > Hello,
> >
> > On Sat, 30 Apr 2016 09:49:00 +0200, Gilles Chanteperdrix wrote:
> >
> >> +define ROOTFS_TAR_CMD
> >> + cd $(TARGET_DIR) && { \
> >> + find . -\( -! -type d -o -empty -\) -print0 | \
> >> + sort -z | \
> >> + tar --null -T - -c$(TAR_OPTS)f $@ --mtime=@$(SOURCE_DATE_EPOCH) --numeric-owner; \
> >> + }
> >
> > We normally write such constructs as:
> >
> > (cd $(TARGET_DIR) && \
> > foo ....)
>
> Actually, we don't AFAIK... In general, the parenthesis are not needed so they
> should be removed. So also in this case it should be
>
> cd $(TARGET_DIR);
> find ....
>
> >
> > However, this raises the question of what's needed for all the other
> > filesystem formats. Will they all have to implement a different
> > ROOTFS_<foo>_CMD variable ? Or will there be some commonalities that
> > should be factored out in the common rootfs image infrastructure ?
>
> Yes, to me it makes more sense to do this in the actual target directory after
> the post-build scripts have been run.
I do not understand what you mean. The aim of the command is to sort
the list of files passed to tar, it does not operate on the file
system.
Sorting is indeed needed for most other outputs I have tested (cpio,
isofs).
--
Gilles.
https://click-hack.org
More information about the buildroot
mailing list