Package: genisoimage Version: 9:1.1.11-3.4 Severity: normal X-Debbugs-Cc: debian.bug.repor...@fastdruid.co.uk
Dear Maintainer, tl;dr: Please add option to force the Path Table to be all upper case with -allow-lowercase option. I'm trying to generate an ISO suitable for a 1990's Commodore CDTV. This was an early adopter of CD-ROM when the standards were in their infancy. The Amiga has always supported mixed-case filenames. While it is generally case-insensitive there is a bug under Workbench 1.3 where icon handling *requires* the ".icon" suffix to be lowercase so lowercase is required for full GUI functionality. Generating an ISO without using -allow-lowercase and it will generate an ISO that is readable in Amiga DOS however none of the icons will show in the GUI. Generating an ISO with using -allow-lowercase and it breaks horribly. Icons work but the Amiga cannot see vast swathes of files. Even changing directory is broken. Arguably this is a bug in the AmigaOS but this isn't something that can easily be fixed as its in the ROM. mkisofs, genisofs, xorriso and genisoimage all have the same problem that they cannot generate an ISO that will be more than partly readable on the Amiga when the allow-lowercase option is enabled. After some investigation I believe the issue to be that the Amiga CDFS *requires* the Path Table to conform to ISO 9660, ie all the characters of the directory identifier are required to be in upper case only. The lower case for the Amiga is *only* used within the Directory Records section. I have validated this by creating an ISO using genisoimage and then going back in and modifying the Path Table to be all upper case. Using the otherwise identical ISO and modifying the Path Table in this way turns an unreadable ISO into a readable one. There are programs to create an Amiga suitable ISO (eg isocd-win) however none for linux or other POSIX systems. I wrote a quick dirty program to read and then modify the Path Table and Directory Records so I could work out what was going on. I created 4 test ISOs using an identical source folder. PiDrive.iso is PiDrive2.iso with the Path Table converted to all upper case. - Path Table in the ISO is all uppercase. PiDrive1.iso is generated using genisoimage without the -allow-lowercase option. - Path Table in the ISO is all uppercase. PiDrive2.iso is generated using genisoimage with the -allow-lowercase option. - Path Table in the ISO reflects source case (All lowercase in this example). PiDrive3.iso is generated with isocd-win. - Path Table in the ISO is all uppercase. Here are the results in AmigaOS DOS for each. - Note the missing files and error with PiDrive2.iso PiDrive1.iso 1.Workbench1.3:> cd CD0: 1.CDTV1:> dir C (dir) DEVS (dir) L (dir) LIBS (dir) S (dir) SRC (dir) T (dir) TRASHCAN (dir) README TRASHCAN.INFO VERSION 1.CDTV1:> cd c 1.CDTV1:C> dir CDTV_IMAGES CDTV_REFRESH CDTV_VERSION RMTM 1.CDTV1:C> cd / 1.CDTV1:> PiDrive2.iso 1.Workbench1.3:> cd CD0: 1.CDTV2:> dir c (dir) devs (dir) l (dir) libs (dir) s (dir) src (dir) t (dir) trashcan (dir) README trashcan.info VERSION 1.CDTV2:> cd c 1.CDTV2:c> dir RmTM 1.CDTV2:c> cd / Can't find / 1.CDTV2:c> PiDrive3.iso 1.Workbench1.3:> cd CD0: 1.CDTV3:> dir c (dir) devs (dir) l (dir) libs (dir) s (dir) src (dir) t (dir) trashcan (dir) README trashcan.info VERSION 1.CDTV3:> cd c 1.CDTV3:C> dir cdtv_images cdtv_refresh cdtv_version RmTM 1.CDTV3:C> cd / 1.CDTV3:> PiDrive.iso 1.Workbench1.3:> cd CD0: 1.CDTV2:> dir c (dir) devs (dir) l (dir) libs (dir) s (dir) src (dir) t (dir) trashcan (dir) README trashcan.info VERSION 1.CDTV2:> cd c 1.CDTV2:C> dir cdtv_images cdtv_refresh cdtv_version RmTM 1.CDTV2:C> cd / 1.CDTV2:> Please could there be an option here to force the Path Table to be all upper case even if -allow-lowercase is used? Thanks David -- System Information: Debian Release: 12.10 APT prefers stable-updates APT policy: (500, 'stable-updates'), (500, 'stable-security'), (500, 'stable') Architecture: arm64 (aarch64) Foreign Architectures: armhf Kernel: Linux 6.12.25+rpt-rpi-v8 (SMP w/4 CPU threads; PREEMPT) Kernel taint flags: TAINT_CRAP Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), LANGUAGE not set Shell: /bin/sh linked to /usr/bin/dash Init: systemd (via /run/systemd/system) Versions of packages genisoimage depends on: ii libbz2-1.0 1.0.8-5+b1 ii libc6 2.36-9+rpt2+deb12u10 ii libmagic1 1:5.44-3 ii zlib1g 1:1.2.13.dfsg-1+rpt1 genisoimage recommends no packages. Versions of packages genisoimage suggests: pn cdrkit-doc <none> pn wodim <none> -- no debconf information