about summary refs log tree commit diff
path: root/pkgs/tools/filesystems/squashfs/0002-If-SOURCE_DATE_EPOCH-is-set-also-clamp-content-times.patch
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/tools/filesystems/squashfs/0002-If-SOURCE_DATE_EPOCH-is-set-also-clamp-content-times.patch')
-rw-r--r--pkgs/tools/filesystems/squashfs/0002-If-SOURCE_DATE_EPOCH-is-set-also-clamp-content-times.patch83
1 files changed, 0 insertions, 83 deletions
diff --git a/pkgs/tools/filesystems/squashfs/0002-If-SOURCE_DATE_EPOCH-is-set-also-clamp-content-times.patch b/pkgs/tools/filesystems/squashfs/0002-If-SOURCE_DATE_EPOCH-is-set-also-clamp-content-times.patch
deleted file mode 100644
index 5002375887fb..000000000000
--- a/pkgs/tools/filesystems/squashfs/0002-If-SOURCE_DATE_EPOCH-is-set-also-clamp-content-times.patch
+++ /dev/null
@@ -1,83 +0,0 @@
-From 32a07d4156a281084c90a4b78affc8b0b32a26fc Mon Sep 17 00:00:00 2001
-From: intrigeri <intrigeri@boum.org>
-Date: Mon, 21 Nov 2016 11:41:28 +0000
-Subject: [PATCH] If SOURCE_DATE_EPOCH is set, also clamp content timestamps
- with that value.
-
-Based on a patch by Alexander Couzens <lynxis@fe...> posted on
-https://sourceforge.net/p/squashfs/mailman/message/34673610/
----
- squashfs-tools/mksquashfs.c | 15 ++++++++++++---
- 1 file changed, 12 insertions(+), 3 deletions(-)
-
-diff --git a/squashfs-tools/mksquashfs.c b/squashfs-tools/mksquashfs.c
-index b49e956..9f020bf 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;
- 
-+/* clamp all timestamps to SOURCE_DATE_EPOCH */
-+time_t content_clamp_time = -1;
-+
- /* override filesystem creation time */
- time_t mkfs_fixed_time = -1;
- 
-@@ -2246,6 +2249,8 @@ restat:
- 			  pathname_reader(dir_ent), strerror(errno));
- 		goto read_err;
- 	}
-+	if(content_clamp_time != -1 && buf2.st_mtime >= content_clamp_time)
-+		buf2.st_mtime = content_clamp_time;
- 
- 	if(read_size != buf2.st_size) {
- 		close(file);
-@@ -3101,7 +3106,7 @@ void dir_scan(squashfs_inode *inode, char *pathname,
- 		buf.st_mode = S_IRWXU | S_IRWXG | S_IRWXO | S_IFDIR;
- 		buf.st_uid = getuid();
- 		buf.st_gid = getgid();
--		buf.st_mtime = time(NULL);
-+		buf.st_mtime = content_clamp_time != -1 ? content_clamp_time : time(NULL);
- 		buf.st_dev = 0;
- 		buf.st_ino = 0;
- 		dir_ent->inode = lookup_inode2(&buf, PSEUDO_FILE_OTHER, 0);
-@@ -3127,6 +3115,8 @@ void dir_scan(squashfs_inode *inode, char *pathname,
-			/* source directory has disappeared? */
-			BAD_ERROR("Cannot stat source directory %s because %s\n",
-				pathname, strerror(errno));
-+		if(content_clamp_time != -1 && buf.st_mtime >= content_clamp_time)
-+			buf.st_mtime = content_clamp_time;
- 		dir_ent->inode = lookup_inode(&buf);
- 	}
- 
-@@ -3365,6 +3372,8 @@ struct dir_info *dir_scan1(char *filename, char *subpath,
- 			free_dir_entry(dir_ent);
- 			continue;
- 		}
-+		if(content_clamp_time != -1 && buf.st_mtime >= content_clamp_time)
-+			buf.st_mtime = content_clamp_time;
- 
- 		if((buf.st_mode & S_IFMT) != S_IFREG &&
- 				(buf.st_mode & S_IFMT) != S_IFDIR &&
-@@ -3544,7 +3553,7 @@ void dir_scan2(struct dir_info *dir, struct pseudo *pseudo)
-		buf.st_gid = pseudo_ent->dev->gid;
-		buf.st_rdev = makedev(pseudo_ent->dev->major,
-			pseudo_ent->dev->minor);
--		buf.st_mtime = time(NULL);
-+		buf.st_mtime = content_clamp_time != -1 ? content_clamp_time : time(NULL);
- 		buf.st_ino = pseudo_ino ++;
- 
- 		if(pseudo_ent->dev->type == 'd') {
-@@ -5674,7 +5683,7 @@ printOptions:
- 				"%lu but was found to be: %llu \n", ULONG_MAX, epoch);
- 			EXIT_MKSQUASHFS();
- 		}
--		mkfs_fixed_time = (time_t)epoch;
-+		mkfs_fixed_time = content_clamp_time = (time_t)epoch;
- 	}
- 
- 	/*
--- 
-2.17.0
-