Bug#1056573: openmrac-data: please make the build reproducible

Chris Lamb lamby at debian.org
Thu Nov 23 10:40:38 GMT 2023


Source: openmrac-data
Version: 1.1-2
Severity: wishlist
Tags: patch
User: reproducible-builds at lists.alioth.debian.org
Usertags: umask
X-Debbugs-Cc: reproducible-bugs at lists.alioth.debian.org

Hi,

Whilst working on the Reproducible Builds effort [0], we noticed that
openmrac-data could not be built reproducibly due to the umask varying
within the openmrac.dat tar archive:

├── ./usr/share/openmrac/openmrac.dat
│ ├── file list
│ │ @@ -1,256 +1,256 @@
│ │ --rw-r--r--   0 root         (0) root         (0)    74614 1970-01-01 00:00:00.000000 asphalt.jpg
│ │ --rw-r--r--   0 root         (0) root         (0)      138 1970-01-01 00:00:00.000000 asphalt.jpg.3mt
│ │ --rw-r--r--   0 root         (0) root         (0)      789 1970-01-01 00:00:00.000000 barrier.3dm
│ │ --rw-r--r--   0 root         (0) root         (0)     5357 1970-01-01 00:00:00.000000 barrier.png
│ │ --rw-r--r--   0 root         (0) root         (0)      137 1970-01-01 00:00:00.000000 barrier.png.3mt
│ │ --rw-r--r--   0 root         (0) root         (0)     1365 1970-01-01 00:00:00.000000 barriera.png
│ │ --rw-r--r--   0 root         (0) root         (0)      127 1970-01-01 00:00:00.000000 barriera.png.3mt
│ │ --rw-r--r--   0 root         (0) root         (0)    26908 1970-01-01 00:00:00.000000 barrierd.png
│ │ --rw-r--r--   0 root         (0) root         (0)    20025 1970-01-01 00:00:00.000000 betonova_zed.jpg
│ │ --rw-r--r--   0 root         (0) root         (0)      142 1970-01-01 00:00:00.000000 betonova_zed.jpg.3mt
│ │ --rw-r--r--   0 root         (0) root         (0)      129 1970-01-01 00:00:00.000000 black.png.3mt
│ │ --rw-r--r--   0 root         (0) root         (0)    23570 1970-01-01 00:00:00.000000 bricks01.jpg
│ │ --rw-r--r--   0 root         (0) root         (0)      138 1970-01-01 00:00:00.000000 bricks01.jpg.3mt
│ │ --rw-r--r--   0 root         (0) root         (0)   163935 1970-01-01 00:00:00.000000 bulvar.3dm
│ │ --rw-r--r--   0 root         (0) root         (0)      396 1970-01-01 00:00:00.000000 cars.def
│ │ --rw-r--r--   0 root         (0) root         (0)    24999 1970-01-01 00:00:00.000000 chodnik.jpg
│ │ --rw-r--r--   0 root         (0) root         (0)      138 1970-01-01 00:00:00.000000 chodnik.jpg.3mt
│ │ --rw-r--r--   0 root         (0) root         (0)    41743 1970-01-01 00:00:00.000000 concrete.jpg
│ │ --rw-r--r--   0 root         (0) root         (0)      139 1970-01-01 00:00:00.000000 concrete.jpg.3mt
│ │ --rw-r--r--   0 root         (0) root         (0)     1915 1970-01-01 00:00:00.000000 cone.3dm
│ │ --rw-r--r--   0 root         (0) root         (0)      106 1970-01-01 00:00:00.000000 cone.png
│ │ --rw-r--r--   0 root         (0) root         (0)       91 1970-01-01 00:00:00.000000 cone.png.3mt
│ │ +-rw-rw-r--   0 root         (0) root         (0)    74614 1970-01-01 00:00:00.000000 asphalt.jpg
│ │ +-rw-rw-r--   0 root         (0) root         (0)      138 1970-01-01 00:00:00.000000 asphalt.jpg.3mt
│ │ +-rw-rw-r--   0 root         (0) root         (0)      789 1970-01-01 00:00:00.000000 barrier.3dm
│ │ +-rw-rw-r--   0 root         (0) root         (0)     5357 1970-01-01 00:00:00.000000 barrier.png
│ │ +-rw-rw-r--   0 root         (0) root         (0)      137 1970-01-01 00:00:00.000000 barrier.png.3mt
│ │ +-rw-rw-r--   0 root         (0) root         (0)     1365 1970-01-01 00:00:00.000000 barriera.png
│ │ +-rw-rw-r--   0 root         (0) root         (0)      127 1970-01-01 00:00:00.000000 barriera.png.3mt
│ │ +-rw-rw-r--   0 root         (0) root         (0)    26908 1970-01-01 00:00:00.000000 barrierd.png
│ │ +-rw-rw-r--   0 root         (0) root         (0)    20025 1970-01-01 00:00:00.000000 betonova_zed.jpg
│ │ +-rw-rw-r--   0 root         (0) root         (0)      142 1970-01-01 00:00:00.000000 betonova_zed.jpg.3mt
│ │ +-rw-rw-r--   0 root         (0) root         (0)      129 1970-01-01 00:00:00.000000 black.png.3mt
│ │ +-rw-rw-r--   0 root         (0) root         (0)    23570 1970-01-01 00:00:00.000000 bricks01.jpg
│ │ +-rw-rw-r--   0 root         (0) root         (0)      138 1970-01-01 00:00:00.000000 bricks01.jpg.3mt
│ │ +-rw-rw-r--   0 root         (0) root         (0)   163935 1970-01-01 00:00:00.000000 bulvar.3dm
│ │ +-rw-rw-r--   0 root         (0) root         (0)      396 1970-01-01 00:00:00.000000 cars.def
│ │ +-rw-rw-r--   0 root         (0) root         (0)    24999 1970-01-01 00:00:00.000000 chodnik.jpg
│ │ +-rw-rw-r--   0 root         (0) root         (0)      138 1970-01-01 00:00:00.000000 chodnik.jpg.3mt
│ │ +-rw-rw-r--   0 root         (0) root         (0)    41743 1970-01-01 00:00:00.000000 concrete.jpg
│ │ +-rw-rw-r--   0 root         (0) root         (0)      139 1970-01-01 00:00:00.000000 concrete.jpg.3mt
│ │ +-rw-rw-r--   0 root         (0) root         (0)     1915 1970-01-01 00:00:00.000000 cone.3dm
│ │ +-rw-rw-r--   0 root         (0) root         (0)      106 1970-01-01 00:00:00.000000 cone.png
│ │ +-rw-rw-r--   0 root         (0) root         (0)       91 1970-01-01 00:00:00.000000 cone.png.3mt

Patch attached.

 [0] https://reproducible-builds.org/


Regards,

-- 
      ,''`.
     : :'  :     Chris Lamb
     `. `'`      lamby at debian.org / chris-lamb.co.uk
       `-

-------------- next part --------------
--- a/debian/patches/reproducible-build.patch	1970-01-01 01:00:00.000000000 +0100
--- b/debian/patches/reproducible-build.patch	2023-11-23 10:39:16.406417418 +0000
@@ -0,0 +1,15 @@
+Description: Make the build reproducible
+Author: Chris Lamb <lamby at debian.org>
+Last-Update: 2023-11-23
+
+--- openmrac-data-1.1.orig/Makefile
++++ openmrac-data-1.1/Makefile
+@@ -10,7 +10,7 @@ $(TARGET): *.jpg *.png *.3dm *.3mt *.cmo
+ 	while read line; do rm -f $$line.raw; sox $$line.wav --bits 16 $$line.raw; done < wavlist.txt
+ 	ls *.jpg *.png *.3dm *.3mt *.cmo *.def *.raw > filelist.txt
+ 	rm -f $(TARGET)
+-	while read line; do tar --owner=root:0 --group=root:0 --mtime='UTC 1970-01-01 00:00:00' -rvf $(TARGET) $$line; done < filelist.txt
++	while read line; do tar --owner=root:0 --group=root:0 --mtime='UTC 1970-01-01 00:00:00' --mode=go=rX,u+rw,a-s -rvf $(TARGET) $$line; done < filelist.txt
+ 	sha1sum $(TARGET) > $(TARGET).sha1sum
+ 
+ clean:
--- a/debian/patches/series	1970-01-01 01:00:00.000000000 +0100
--- b/debian/patches/series	2023-11-23 10:39:00.718283781 +0000
@@ -0,0 +1 @@
+reproducible-build.patch


More information about the Reproducible-bugs mailing list