diff options
Diffstat (limited to 'aports/busybox/0002-cpio-add-support-for-renumber-inodes-like-GNU-cpio.patch')
-rw-r--r-- | aports/busybox/0002-cpio-add-support-for-renumber-inodes-like-GNU-cpio.patch | 129 |
1 files changed, 0 insertions, 129 deletions
diff --git a/aports/busybox/0002-cpio-add-support-for-renumber-inodes-like-GNU-cpio.patch b/aports/busybox/0002-cpio-add-support-for-renumber-inodes-like-GNU-cpio.patch deleted file mode 100644 index 9febb66..0000000 --- a/aports/busybox/0002-cpio-add-support-for-renumber-inodes-like-GNU-cpio.patch +++ /dev/null @@ -1,129 +0,0 @@ -From 67240ede641cdda29ef74a373bc9f5aa8a18f4e8 Mon Sep 17 00:00:00 2001 -From: Ariadne Conill <ariadne@dereferenced.org> -Date: Mon, 28 Jun 2021 08:23:09 -0600 -Subject: [PATCH 2/2] cpio: add support for --renumber-inodes like GNU cpio - -The --renumber-inodes option renumbers the inodes starting from 1, -so that the sequence of inodes is always stable. This helps with -reproducibility. - -function old new delta -cpio_o 961 1045 +84 -.rodata 78422 78440 +18 -bbconfig_config_bz2 6168 6164 -4 -packed_usage 25764 25756 -8 ------------------------------------------------------------------------------- -(add/remove: 0/0 grow/shrink: 2/2 up/down: 102/-12) Total: 90 bytes - -Signed-off-by: Ariadne Conill <ariadne@dereferenced.org> ---- - archival/cpio.c | 32 ++++++++++++++++++++++++++++++++ - 1 file changed, 32 insertions(+) - -diff --git a/archival/cpio.c b/archival/cpio.c -index 4d386d38d..14f0b5b84 100644 ---- a/archival/cpio.c -+++ b/archival/cpio.c -@@ -45,6 +45,13 @@ - //config: depends on FEATURE_CPIO_O && LONG_OPTS - //config: help - //config: Optionally ignore device numbers when creating archives. -+//config: -+//config:config FEATURE_CPIO_RENUMBER_INODES -+//config: bool "Support --renumber-inodes like GNU cpio" -+//config: default y -+//config: depends on FEATURE_CPIO_O && LONG_OPTS -+//config: help -+//config: Optionally renumber inodes when creating archives. - - //applet:IF_CPIO(APPLET(cpio, BB_DIR_BIN, BB_SUID_DROP)) - -@@ -85,6 +92,9 @@ - //usage: IF_FEATURE_CPIO_IGNORE_DEVNO( - //usage: "\n --ignore-devno" - //usage: ) -+//usage: IF_FEATURE_CPIO_RENUMBER_INODES( -+//usage: "\n --renumber-inodes" -+//usage: ) - - /* GNU cpio 2.9 --help (abridged): - -@@ -173,18 +183,21 @@ enum { - IF_LONG_OPTS( OPTBIT_QUIET ,) - IF_LONG_OPTS( OPTBIT_2STDOUT ,) - IF_FEATURE_CPIO_IGNORE_DEVNO(OPTBIT_IGNORE_DEVNO,) -+ IF_FEATURE_CPIO_RENUMBER_INODES(OPTBIT_RENUMBER_INODES,) - 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, -+ OPT_RENUMBER_INODES = IF_FEATURE_CPIO_RENUMBER_INODES((1 << OPTBIT_RENUMBER_INODES)) + 0, - }; - - #define OPTION_STR "it0uvdmLF:R:" - - struct globals { - struct bb_uidgid_t owner_ugid; -+ ino_t next_inode; - } FIX_ALIASING; - #define G (*(struct globals*)bb_common_bufsiz1) - void BUG_cpio_globals_too_big(void); -@@ -218,6 +231,9 @@ static NOINLINE int cpio_o(void) - struct inodes_s *next; - struct name_s *names; - struct stat st; -+#if ENABLE_FEATURE_CPIO_RENUMBER_INODES -+ ino_t mapped_inode; -+#endif - }; - - struct inodes_s *links = NULL; -@@ -272,6 +288,10 @@ static NOINLINE int cpio_o(void) - l = xzalloc(sizeof(*l)); - l->st = st; - l->next = links; -+#if ENABLE_FEATURE_CPIO_RENUMBER_INODES -+ if (option_mask32 & OPT_RENUMBER_INODES) -+ l->mapped_inode = ++G.next_inode; -+#endif - links = l; - break; - } -@@ -290,6 +310,11 @@ static NOINLINE int cpio_o(void) - free(line); - continue; - } -+#if ENABLE_FEATURE_CPIO_RENUMBER_INODES -+ else if (option_mask32 & OPT_RENUMBER_INODES) { -+ st.st_ino = ++G.next_inode; -+ } -+#endif - } else { /* line == NULL: EOF */ - next_link: - if (links) { -@@ -297,6 +322,10 @@ static NOINLINE int cpio_o(void) - st = links->st; - name = links->names->name; - links->names = links->names->next; -+#if ENABLE_FEATURE_CPIO_RENUMBER_INODES -+ if (links->mapped_inode) -+ st.st_ino = links->mapped_inode; -+#endif - /* GNU cpio is reported to emit file data - * only for the last instance. Mimic that. */ - if (links->names == NULL) -@@ -398,6 +427,9 @@ int cpio_main(int argc UNUSED_PARAM, char **argv) - "to-stdout\0" No_argument "\xfe" - #if ENABLE_FEATURE_CPIO_IGNORE_DEVNO - "ignore-devno\0" No_argument "\xfd" -+#endif -+#if ENABLE_FEATURE_CPIO_RENUMBER_INODES -+ "renumber-inodes\0" No_argument "\xfc" - #endif - ; - #endif --- -2.32.0 - |