Source: pcmemtest
Version: 1.5-2
Severity: wishlist
Tags: patch
User: reproducible-bui...@lists.alioth.debian.org
Usertags: timestamps
X-Debbugs-Cc: reproducible-b...@lists.alioth.debian.org

Hi,

Whilst working on the Reproducible Builds effort [0] we noticed that
pcmemtest could not be built reproducibly.

This is because the generated ISOs inherit the uid/gid of the build
process, as well as the modification times of (at least) floppy.img

Patch attached that modifies the two Makefiles involved, although this
does not make the ISOs entirely reproducible; there is another part
or parts of the image that elude me right now.

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


Regards,

-- 
      ,''`.
     : :'  :     Chris Lamb
     `. `'`      la...@debian.org / chris-lamb.co.uk
       `-
--- a/debian/patches/reproducible-builds.patch  1969-12-31 16:00:00.000000000 
-0800
--- b/debian/patches/reproducible-builds.patch  2022-02-08 12:03:57.320136181 
-0800
@@ -0,0 +1,28 @@
+Description: Make the build reproducible
+Author: Chris Lamb <la...@debian.org>
+Last-Update: 2022-02-08
+
+--- pcmemtest-1.5.orig/build32/Makefile
++++ pcmemtest-1.5/build32/Makefile
+@@ -125,7 +125,8 @@ esp.img: memtest.efi
+ iso: memtest.mbr floppy.img esp.img
+       @mkdir -p iso/boot
+       cp floppy.img iso/boot/floppy.img
+-      xorrisofs -pad -R -J -volid PCMemTest32 -graft-points -hide-rr-moved 
--grub2-mbr memtest.mbr \
++      find iso -print0 | xargs -0r touch --date="@$(SOURCE_DATE_EPOCH)"
++      xorrisofs -uid 1000 -gid 1000 -pad -R -J -volid PCMemTest32 
-graft-points -hide-rr-moved --grub2-mbr memtest.mbr \
+                 -b /boot/floppy.img --efi-boot 
--interval:appended_partition_2:all:: \
+                 -part_like_isohybrid -iso_mbr_part_type 0x00 
-append_partition 2 0xef ./esp.img \
+                 -o ./memtest.iso /boot=./iso/boot
+--- pcmemtest-1.5.orig/build64/Makefile
++++ pcmemtest-1.5/build64/Makefile
+@@ -124,7 +124,8 @@ esp.img: memtest.efi
+ memtest.iso: memtest.mbr floppy.img esp.img
+       @mkdir -p iso/boot
+       cp floppy.img iso/boot/floppy.img
+-      xorrisofs -pad -R -J -volid PCMemTest64 -graft-points -hide-rr-moved 
--grub2-mbr memtest.mbr \
++      find iso -print0 | xargs -0r touch --date="@$(SOURCE_DATE_EPOCH)"
++      xorrisofs -uid 1000 -gid 1000 -pad -R -J -volid PCMemTest64 
-graft-points -hide-rr-moved --grub2-mbr memtest.mbr \
+                 -b /boot/floppy.img --efi-boot 
--interval:appended_partition_2:all:: \
+                 -part_like_isohybrid -iso_mbr_part_type 0x00 
-append_partition 2 0xef ./esp.img \
+                 -o ./memtest.iso /boot=./iso/boot
--- a/debian/patches/series     1969-12-31 16:00:00.000000000 -0800
--- b/debian/patches/series     2022-02-08 11:50:45.010064249 -0800
@@ -0,0 +1 @@
+reproducible-builds.patch

Reply via email to