summary refs log tree commit diff
path: root/pkgs/servers/zoneminder/0001-Don-t-use-file-timestamp-in-cache-filename.patch
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/servers/zoneminder/0001-Don-t-use-file-timestamp-in-cache-filename.patch')
-rw-r--r--pkgs/servers/zoneminder/0001-Don-t-use-file-timestamp-in-cache-filename.patch32
1 files changed, 32 insertions, 0 deletions
diff --git a/pkgs/servers/zoneminder/0001-Don-t-use-file-timestamp-in-cache-filename.patch b/pkgs/servers/zoneminder/0001-Don-t-use-file-timestamp-in-cache-filename.patch
new file mode 100644
index 00000000000..6ca55a14768
--- /dev/null
+++ b/pkgs/servers/zoneminder/0001-Don-t-use-file-timestamp-in-cache-filename.patch
@@ -0,0 +1,32 @@
+From db38a11228eceea10dc97ecc87023b4919caa918 Mon Sep 17 00:00:00 2001
+From: Daniel Fullmer <danielrf12@gmail.com>
+Date: Fri, 21 Feb 2020 21:52:00 -0500
+Subject: [PATCH] Don't use file timestamp in cache filename
+
+Every file in the nix store has a timestamp of "1", meaning that the
+filename would remain constant even when changing zoneminder versions.
+This would mean that newer versions would use the existing symlink to an
+older version of the source file.  We replace SRC_HASH in nix with a
+hash of the source used to build zoneminder to ensure this filename is
+unique.
+---
+ web/includes/functions.php | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/web/includes/functions.php b/web/includes/functions.php
+index 19567a5c1..0242c09bc 100644
+--- a/web/includes/functions.php
++++ b/web/includes/functions.php
+@@ -2223,7 +2223,8 @@ function cache_bust($file) {
+   $parts = pathinfo($file);
+   global $css;
+   $dirname = preg_replace('/\//', '_', $parts['dirname']);
+-  $cacheFile = $dirname.'_'.$parts['filename'].'-'.$css.'-'.filemtime($file).'.'.$parts['extension'];
++  $srcHash = '@srcHash@';
++  $cacheFile = $dirname.'_'.$parts['filename'].'-'.$css.'-'.$srcHash.'.'.$parts['extension'];
+   if ( file_exists(ZM_DIR_CACHE.'/'.$cacheFile) or symlink(ZM_PATH_WEB.'/'.$file, ZM_DIR_CACHE.'/'.$cacheFile) ) {
+     return 'cache/'.$cacheFile;
+   } else {
+-- 
+2.25.1
+