fs/cpio: generate reproducible archives
The output of 'find' depends on the directory entries, and is not
ordered. As a consequence, the cpio archive is not reproducible.
Fix that by sorting the output of find. Use the 'C' locale to enforce
reproducibility that does not depend on the locale.
The command line is now pretty long, so we wrap it.
Signed-off-by: Yurii Monakov <monakov.y@gmail.com>
[yann.morin.1998@free.fr:
- use LC_ALL=C when sorting
- wrap long line
- reword commit log
]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
(cherry picked from commit 4728fdd4c0
)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This commit is contained in:
parent
bebf3d9d44
commit
57f27de423
@ -37,7 +37,11 @@ ROOTFS_CPIO_OPTS += --reproducible
|
||||
endif
|
||||
|
||||
define ROOTFS_CPIO_CMD
|
||||
cd $(TARGET_DIR) && find . | cpio $(ROOTFS_CPIO_OPTS) --quiet -o -H newc > $@
|
||||
cd $(TARGET_DIR) && \
|
||||
find . \
|
||||
| LC_ALL=C sort \
|
||||
| cpio $(ROOTFS_CPIO_OPTS) --quiet -o -H newc \
|
||||
> $@
|
||||
endef
|
||||
|
||||
ifeq ($(BR2_TARGET_ROOTFS_CPIO_UIMAGE),y)
|
||||
|
Loading…
Reference in New Issue
Block a user