Bug#1009803: xorriso : NOTE : -as mkisofs: Ignored option '-cache-inodes'

2022-04-18 Thread Thomas Schmitt
Hi,

theoretically it should indeed be ok to remove this option.

Background:

The man page of genisoimage talks of "hard-linked [file] on the CD"
(which obviously should rather be "in the ISO 9660 filesystem").
ISO 9660 (aka ECMA-119) does not specify hard links but rather permits
to share data content (extents) among files. Technically this resembles
hard links. This relation can be emphasized to the mounting operating
by storing the same File Serial Number in the Rock Ridge PX entries
of the hardlinked files.

But Linux computes the inode numbers of mounted ISO 9660 from the byte
addresses of the files' directory records divided by 32. So two different
file names will always get attributed different inode numbers even if
they share their file data blocks and the File Serial Number.

libisofs does this unifying of file content unconditionally, if the dev_t
and inode_t numbers are identical. (If it ever encounters an input
filesystem with non-unique numbers for differing file content, then it
will probably fail.)


This should not be confused with an opportunity which libisofs offers
to record real hardlink relations of the input files. These relations
can be re-created when xorriso extracts files from ISO 9660 to the local
filesystem. Linux ignores this extra info, which is stored in SUSP entries
of my self-invented AAIP protocol beneath the Rock Ridge data.
(xorriso command -hardlinks, xorrisofs option --hardlinks.)


Have a nice day :)

Thomas



Bug#1009803: xorriso : NOTE : -as mkisofs: Ignored option '-cache-inodes'

2022-04-18 Thread Daniel Lewart
Package: live-build
Version: 1:20210902
Severity: minor
Tags: patch

Debian Live,

lb build works perfectly, but says:
...
xorriso : NOTE : -as mkisofs: Ignored option '-cache-inodes'
...

Attached is an *untested* patch which removes the '-cache-indoes'
option from:
  * scripts/build/binary_iso
  * scripts/build/source_iso

Thank you!
Daniel Lewart
Urbana, Illinois
diff -ru a/scripts/build/binary_iso b/scripts/build/binary_iso
--- a/scripts/build/binary_iso  2021-04-02 10:43:54.0 -0500
+++ b/scripts/build/binary_iso  2022-04-18 00:00:00.0 -0500
@@ -63,7 +63,7 @@
 fi
 
 # Handle xorriso generic options
-XORRISO_OPTIONS="-R -r -J -joliet-long -l -cache-inodes -iso-level 3"
+XORRISO_OPTIONS="-R -r -J -joliet-long -l -iso-level 3"
 
 # Handle xorriso live-build specific options
 if [ "${LB_IMAGE_TYPE}" = "iso-hybrid" ] && [ "${LB_BOOTLOADER_BIOS}" = 
"syslinux" ]
diff -ru a/scripts/build/source_iso b/scripts/build/source_iso
--- a/scripts/build/source_iso  2021-02-14 06:12:04.0 -0600
+++ b/scripts/build/source_iso  2022-04-18 00:00:00.0 -0500
@@ -59,7 +59,7 @@
 fi
 
 # Handle xorriso generic options
-XORRISO_OPTIONS="-as mkisofs -r -J -joliet-long -l -cache-inodes"
+XORRISO_OPTIONS="-as mkisofs -r -J -joliet-long -l"
 
 # Handle xorriso live-build specific options
 if [ "${_QUIET}" = "true" ]