https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=285027

            Bug ID: 285027
           Summary: makefs: cd9660 images w/ RockRidge extensions are not
                    reproducible
           Product: Base System
           Version: CURRENT
          Hardware: Any
                OS: Any
            Status: New
          Keywords: reproducible-builds
          Severity: Affects Only Me
          Priority: ---
         Component: bin
          Assignee: b...@freebsd.org
          Reporter: ema...@freebsd.org

makefs' cd9660 Rock Ridge extension PX record stores the inode from the
underlying filesystem, which makes the created ISO image nonreproducible.

Demonstration:

dir=$(mktemp -d)

# Create two files
touch $dir/a
touch $dir/b
makefs -t cd9660 -o R -o l=2 t1.iso $dir

# Copy the files so we have different inodes, and move copies to original names
cp -p $dir/a $dir/c
cp -p $dir/b $dir/d
mv $dir/c $dir/a
mv $dir/d $dir/b
makefs -t cd9660 -o R -o l=2 t2.iso $dir

rm -rf $dir

Diffoscope output:

--- t1.iso
+++ t2.iso
├── isoinfo -l -i {} -R
│┄ error from `isoinfo -l -i {} -R`:
│┄ Setting input-charset to 'UTF-8' from locale.
│ @@ -1,6 +1,6 @@
│  
│  Directory listing of /
│        9332 drwx------   2 1001    0       2048 Feb 25 2025 [     20 02] . 
│        9332 drwx------   2 1001    0       2048 Feb 25 2025 [     20 02] .. 
│ -      9991 -rw-r--r--   1 1001    0          0 Feb 25 2025 [     21 00] a 
│ -      9992 -rw-r--r--   1 1001    0          0 Feb 25 2025 [     21 00] b 
│ +      9951 -rw-r--r--   1 1001    0          0 Feb 25 2025 [     21 00] a 
│ +      9458 -rw-r--r--   1 1001    0          0 Feb 25 2025 [     21 00] b

-- 
You are receiving this mail because:
You are the assignee for the bug.

Reply via email to