summaryrefslogtreecommitdiff
path: root/aports/busybox/0001-cpio-add-support-for-ignore-devno-like-GNU-cpio.patch
diff options
context:
space:
mode:
authorPÁLI Gábor János <pali.gabor@gmail.com>2022-04-10 18:17:21 +0200
committerPÁLI Gábor János <pali.gabor@gmail.com>2022-04-10 23:09:31 +0200
commitbcbf7c6c9fc7d8a96b1d5c4cc9247b85fe3da2ad (patch)
tree46d796182b2249408b0597485462ef1698dc4c13 /aports/busybox/0001-cpio-add-support-for-ignore-devno-like-GNU-cpio.patch
parent40d2daea11738408b7bf7b60f14a558ff8c47fb0 (diff)
downloadfreebsd-wifibox-alpine-bcbf7c6c9fc7d8a96b1d5c4cc9247b85fe3da2ad.zip
Move towards custom packages.
Change the build image process in a way that custom-built packages can be utilized. This means a simpler `Makefile` since every modification is implemented on the level of packages. Include the sources for every customized package.
Diffstat (limited to 'aports/busybox/0001-cpio-add-support-for-ignore-devno-like-GNU-cpio.patch')
-rw-r--r--aports/busybox/0001-cpio-add-support-for-ignore-devno-like-GNU-cpio.patch88
1 files changed, 88 insertions, 0 deletions
diff --git a/aports/busybox/0001-cpio-add-support-for-ignore-devno-like-GNU-cpio.patch b/aports/busybox/0001-cpio-add-support-for-ignore-devno-like-GNU-cpio.patch
new file mode 100644
index 0000000..a9b0b8f
--- /dev/null
+++ b/aports/busybox/0001-cpio-add-support-for-ignore-devno-like-GNU-cpio.patch
@@ -0,0 +1,88 @@
+From 808d176a4da607ed3187d58605d089b373694ba2 Mon Sep 17 00:00:00 2001
+From: Ariadne Conill <ariadne@dereferenced.org>
+Date: Mon, 28 Jun 2021 07:09:25 -0600
+Subject: [PATCH 1/2] cpio: add support for --ignore-devno like GNU cpio
+
+The --ignore-devno option is used to set device numbers to (0, 0).
+This can be useful in verifying whether a CPIO archive is reproducible.
+
+function old new delta
+cpio_o 922 961 +39
+.rodata 78407 78422 +15
+bbconfig_config_bz2 6161 6167 +6
+packed_usage 25770 25764 -6
+------------------------------------------------------------------------------
+(add/remove: 0/0 grow/shrink: 3/1 up/down: 60/-6) Total: 54 bytes
+
+Signed-off-by: Ariadne Conill <ariadne@dereferenced.org>
+---
+ archival/cpio.c | 20 ++++++++++++++++++++
+ 1 file changed, 20 insertions(+)
+
+diff --git a/archival/cpio.c b/archival/cpio.c
+index d84f6937d..4d386d38d 100644
+--- a/archival/cpio.c
++++ b/archival/cpio.c
+@@ -38,6 +38,13 @@
+ //config: depends on FEATURE_CPIO_O
+ //config: help
+ //config: Passthrough mode. Rarely used.
++//config:
++//config:config FEATURE_CPIO_IGNORE_DEVNO
++//config: bool "Support --ignore-devno like GNU cpio"
++//config: default y
++//config: depends on FEATURE_CPIO_O && LONG_OPTS
++//config: help
++//config: Optionally ignore device numbers when creating archives.
+
+ //applet:IF_CPIO(APPLET(cpio, BB_DIR_BIN, BB_SUID_DROP))
+
+@@ -75,6 +82,9 @@
+ //usage: "\n -R USER[:GRP] Set owner of created files"
+ //usage: "\n -L Dereference symlinks"
+ //usage: "\n -0 Input is separated by NULs"
++//usage: IF_FEATURE_CPIO_IGNORE_DEVNO(
++//usage: "\n --ignore-devno"
++//usage: )
+
+ /* GNU cpio 2.9 --help (abridged):
+
+@@ -162,11 +172,13 @@ enum {
+ IF_FEATURE_CPIO_P(OPTBIT_PASSTHROUGH,)
+ IF_LONG_OPTS( OPTBIT_QUIET ,)
+ IF_LONG_OPTS( OPTBIT_2STDOUT ,)
++ IF_FEATURE_CPIO_IGNORE_DEVNO(OPTBIT_IGNORE_DEVNO,)
+ OPT_CREATE = IF_FEATURE_CPIO_O((1 << OPTBIT_CREATE )) + 0,
+ OPT_FORMAT = IF_FEATURE_CPIO_O((1 << OPTBIT_FORMAT )) + 0,
+ OPT_PASSTHROUGH = IF_FEATURE_CPIO_P((1 << OPTBIT_PASSTHROUGH)) + 0,
+ OPT_QUIET = IF_LONG_OPTS( (1 << OPTBIT_QUIET )) + 0,
+ OPT_2STDOUT = IF_LONG_OPTS( (1 << OPTBIT_2STDOUT )) + 0,
++ OPT_IGNORE_DEVNO = IF_FEATURE_CPIO_IGNORE_DEVNO((1 << OPTBIT_IGNORE_DEVNO)) + 0,
+ };
+
+ #define OPTION_STR "it0uvdmLF:R:"
+@@ -304,6 +316,11 @@ static NOINLINE int cpio_o(void)
+ }
+ }
+
++#if ENABLE_FEATURE_CPIO_IGNORE_DEVNO
++ if (option_mask32 & OPT_IGNORE_DEVNO)
++ st.st_dev = st.st_rdev = 0;
++#endif
++
+ bytes += printf("070701"
+ "%08X%08X%08X%08X%08X%08X%08X"
+ "%08X%08X%08X%08X" /* GNU cpio uses uppercase hex */
+@@ -379,6 +396,9 @@ int cpio_main(int argc UNUSED_PARAM, char **argv)
+ "null\0" No_argument "0"
+ "quiet\0" No_argument "\xff"
+ "to-stdout\0" No_argument "\xfe"
++#if ENABLE_FEATURE_CPIO_IGNORE_DEVNO
++ "ignore-devno\0" No_argument "\xfd"
++#endif
+ ;
+ #endif
+
+--
+2.32.0
+