diff options
Diffstat (limited to 'pkgs/tools/filesystems/squashfs/0001-If-SOURCE_DATE_EPOCH-is-set-override-timestamps-with.patch')
-rw-r--r-- | pkgs/tools/filesystems/squashfs/0001-If-SOURCE_DATE_EPOCH-is-set-override-timestamps-with.patch | 90 |
1 files changed, 0 insertions, 90 deletions
diff --git a/pkgs/tools/filesystems/squashfs/0001-If-SOURCE_DATE_EPOCH-is-set-override-timestamps-with.patch b/pkgs/tools/filesystems/squashfs/0001-If-SOURCE_DATE_EPOCH-is-set-override-timestamps-with.patch deleted file mode 100644 index 5626800e723c..000000000000 --- a/pkgs/tools/filesystems/squashfs/0001-If-SOURCE_DATE_EPOCH-is-set-override-timestamps-with.patch +++ /dev/null @@ -1,90 +0,0 @@ -From 0ab12a8585373be2de5129e14d979c62e7a90d82 Mon Sep 17 00:00:00 2001 -From: Chris Lamb <lamby@debian.org> -Date: Mon, 21 Nov 2016 09:33:05 +0100 -Subject: [PATCH] If SOURCE_DATE_EPOCH is set, override timestamps with that - value. - -See https://reproducible-builds.org/specs/source-date-epoch/ for more -information about this environment variable. - -Based on a patch by Alexander Couzens <lynxis@fe...> posted on -https://sourceforge.net/p/squashfs/mailman/message/34673610/ - -Signed-off-by: Chris Lamb <lamby@debian.org> ---- - squashfs-tools/mksquashfs.c | 38 ++++++++++++++++++++++++++++++++++++- - 1 file changed, 37 insertions(+), 1 deletion(-) - -diff --git a/squashfs-tools/mksquashfs.c b/squashfs-tools/mksquashfs.c -index c2098bd..b49e956 100644 ---- a/squashfs-tools/mksquashfs.c -+++ b/squashfs-tools/mksquashfs.c -@@ -137,6 +137,9 @@ unsigned int cache_bytes = 0, cache_size = 0, inode_count = 0; - /* inode lookup table */ - squashfs_inode *inode_lookup_table = NULL; - -+/* override filesystem creation time */ -+time_t mkfs_fixed_time = -1; -+ - /* in memory directory data */ - #define I_COUNT_SIZE 128 - #define DIR_ENTRIES 32 -@@ -5104,6 +5107,9 @@ int main(int argc, char *argv[]) - int total_mem = get_default_phys_mem(); - int progress = TRUE; - int force_progress = FALSE; -+ char *source_date_epoch, *endptr; -+ unsigned long long epoch; -+ - struct file_buffer **fragment = NULL; - - if(argc > 1 && strcmp(argv[1], "-version") == 0) { -@@ -5641,6 +5647,36 @@ printOptions: - } - } - -+ /* if SOURCE_DATE_EPOCH is set, use that timestamp for the mkfs time */ -+ source_date_epoch = getenv("SOURCE_DATE_EPOCH"); -+ if(source_date_epoch) { -+ errno = 0; -+ epoch = strtoull(source_date_epoch, &endptr, 10); -+ if((errno == ERANGE && (epoch == ULLONG_MAX || epoch == 0)) -+ || (errno != 0 && epoch == 0)) { -+ ERROR("Environment variable $SOURCE_DATE_EPOCH: " -+ "strtoull: %s\n", strerror(errno)); -+ EXIT_MKSQUASHFS(); -+ } -+ if(endptr == source_date_epoch) { -+ ERROR("Environment variable $SOURCE_DATE_EPOCH: " -+ "No digits were found: %s\n", endptr); -+ EXIT_MKSQUASHFS(); -+ } -+ if(*endptr != '\0') { -+ ERROR("Environment variable $SOURCE_DATE_EPOCH: " -+ "Trailing garbage: %s\n", endptr); -+ EXIT_MKSQUASHFS(); -+ } -+ if(epoch > ULONG_MAX) { -+ ERROR("Environment variable $SOURCE_DATE_EPOCH: " -+ "value must be smaller than or equal to " -+ "%lu but was found to be: %llu \n", ULONG_MAX, epoch); -+ EXIT_MKSQUASHFS(); -+ } -+ mkfs_fixed_time = (time_t)epoch; -+ } -+ - /* - * Some compressors may need the options to be checked for validity - * once all the options have been processed -@@ -5993,7 +6029,7 @@ printOptions: - sBlk.flags = SQUASHFS_MKFLAGS(noI, noD, noF, noX, no_fragments, - always_use_fragments, duplicate_checking, exportable, - no_xattrs, comp_opts); -- sBlk.mkfs_time = time(NULL); -+ sBlk.mkfs_time = mkfs_fixed_time != -1 ? mkfs_fixed_time : time(NULL); - - disable_info(); - --- -2.17.0 - |