head 1.1; access; symbols perseant-exfatfs-base-20261102:1.1 netbsd-11-1-RELEASE:1.1 netbsd-10-2-RELEASE:1.1.4.2 netbsd-11-0-RELEASE:1.1 netbsd-11-0-RC7:1.1 netbsd-11-0-RC6:1.1 netbsd-11-0-RC5:1.1 netbsd-11-0-RC4:1.1 netbsd-11-0-RC3:1.1 netbsd-11-0-RC2:1.1 netbsd-11-0-RC1:1.1 perseant-exfatfs-base-20250801:1.1 netbsd-11:1.1.0.6 netbsd-11-base:1.1 netbsd-10-1-RELEASE:1.1.4.2 netbsd-10:1.1.0.4 perseant-exfatfs-base-20240630:1.1 perseant-exfatfs:1.1.0.2 perseant-exfatfs-base:1.1; locks; strict; comment @# @; 1.1 date 2024.05.31.19.49.02; author tsutsui; state Exp; branches 1.1.4.1; next ; commitid woSxzLLKKep5KbcF; 1.1.4.1 date 2024.05.31.19.49.02; author martin; state dead; branches; next 1.1.4.2; commitid ukIKIblTxA6ajqgF; 1.1.4.2 date 2024.07.03.18.38.53; author martin; state Exp; branches; next ; commitid ukIKIblTxA6ajqgF; desc @@ 1.1 log @Import mkhybrid from OpenBSD 7.3 to create ISO9660/HFS hybrid ISO images. - files in libfile except proto.h prepared by OpenBSD are not imported due to non-standard license (newer BSD Licensed versions will be imported later) - unnecessary files for tools build are not imported - RCSId strings are trimmed to avoid unintended substitutions Proposed on tech-toolchain@@: https://mail-index.netbsd.org/tech-toolchain/2024/05/25/msg004355.html @ text @# Id: README.mkisofs,v 1.1 2000/10/10 20:40:11 beck Exp Note: This program requires a lot of virtual memory to run since it builds all of the directories in memory. The exact requirements depend upon a lot of things, but for Rock Ridge discs 12Mb would not be unreasonable. Without RockRidge and without the translation tables, the requirements would be considerably less. The cdwrite utility is maintained separately from mkisofs by yggdrasil.com. It is enclosed here as a convenience, since the two programs are often useful together. ***************************** Notes for version 1.12 Joliet support is now complete. See the -J option. The file scanning code is much improved - mkisofs can use multiple sources of input files and merge them together to form the output image. In addition, each source can be grafted at any point in the iso9660 image. The image writing code has been cleaned up to make it much easier to add custom extensions. The ADD_FILES feature has been removed as it didn't work well, and it was hard to figure out. The recent rearrangements in the file scanning code would tend to solve these issues. ***************************** Notes for version 1.11 There is a feature which can be optionally compiled into mkisofs that allows you to merge arbitrary directory trees into the image you are creating. You need to compile with -DADD_FILES for my changes to take effect. Thanks to Ross Biro biro@@yggdrasil.com. ***************************** Notes for version 1.10b1 Big news is that multi-session capability is very close to being done. There is still a missing interface to cdwrite that is used to determine the next writable address and the sector number of the last existing session. Until we get the interface to cdwrite done, this is a beta version. Bug involving DST fixed (dates are always calculated, since some files may be DST and other ones would not be). Unfortunately the notes on some of the small patches got lost. ***************************** Notes for version 1.06 Jan-Piet Mens added support for the '-m' switch. This allows exclusion of shell-style globs from the CDROM. See manual mkisofs.8 for more information. ***************************** Notes for version 1.05 Added support for '-r' switch. This is very similar to -R for Rock Ridge, but echos of the development environment are removed (i.e. uid/gid set to 0, and permissions of the files are canonicalized). Useful in applications where a distribution medium is being produced. ***************************** Notes for version 1.04 No notes for 1.04. ***************************** Notes for version 1.03 No notes for 1.03. ***************************** Notes for version 1.02. Minor bugfixes here and there. Support for compiled in defaults for many of the text fields in the volume header are now present, and there is also support for a file ".mkisofsrc" that can also read settings for these parameters. A short script "Configure" was added to allow us to set up special compile options that depend upon the system that we are running on. This should help stamp out the sphaghetti-isms that were starting to grow up in various places in the code. You should get more meaningful error messages if you run out of memory. ***************************** Notes for version 1.1. The big news is that SUSP CE entries are now generated for extremely long filenames and symlink names. This virtually guarantees that there is no limit (OK, well, about 600Mb) for file name lengths. I have tested this as well as I can, and it seems to work with linux. This would only be used very rarely I suspect. Also, I believe that support for VMS is done. You must be careful, because only Stream-LF and FIxed length record files can be recorded. The rest are rejected with error messages. Perhaps I am being too severe here. There is a bugfix in the sorting of entries on the disc - we need to stop comparing once we reach the ';' character. There are four new options -z -d -D -l -V. Some of these tell mkisofs to relax some of the iso9660 restrictions, and many systems apparently do not really seem to mind. Use these with caution. Some diagnostic programs to scan disc images are in the diag directory. These are not as portable as mkisofs, and may have some bugs. Still they are useful because they can check for bugs that I might have introduced as I add new features. ***************************** Notes for version 1.0. In version 1.0, the date fields in the TF fields were fixed - previously I was storing st_ctime as the file creation time instead of the file attribute change time. Thanks to Peter van der Veen for pointing this out. I have one slight concern with this change, however. The Young Minds software is definitely supplying 3 dates (creation, modification and access), and I would strongly suspect that they are incorrectly putting the file attribute change time in the file creation slot. I would be curious to see how the different RRIP filesystems treat this. Anyway, this is something to keep in the back of your mind. The symlink handling was not quite correct in 0.99 - this is now fixed. Only some systems seemed to have been affected by this bug. A command line option is now present to allow you to specifically exclude certain files from the distribution. The case where you do not have permissions to read a directory is now handled better by mkisofs. The directory that cannot be opened is converted into a zero-length file, and processing continues normally. A few portability things have been fixed (hopefully). @ 1.1.4.1 log @file README.mkisofs was added on branch netbsd-10 on 2024-07-03 18:38:53 +0000 @ text @d1 145 @ 1.1.4.2 log @Pull up following revision(s) (requested by tsutsui in ticket #733): external/gpl2/mkhybrid/dist/mkisofs.h: revision 1.6 distrib/cdrom/Makefile: revision 1.55 distrib/cdrom/macppc_installboot/Makefile: revision 1.12 external/gpl2/mkhybrid/dist/getopt.c: revision 1.2 external/gpl2/mkhybrid/dist/libfile/LEGAL.NOTICE: revision 1.1 external/gpl2/mkhybrid/dist/write.c: revision 1.1 distrib/cdrom/Makefile: revision 1.56 distrib/cdrom/macppc_installboot/Makefile: revision 1.13 distrib/cdrom/macppc_installboot/installboot.c: revision 1.6 external/gpl2/mkhybrid/dist/getopt.c: revision 1.3 external/gpl2/mkhybrid/dist/write.c: revision 1.2 external/gpl2/mkhybrid/dist/libhfs_iso/data.h: revision 1.1 distrib/cdrom/Makefile: revision 1.57 distrib/cdrom/macppc_installboot/Makefile: revision 1.14 distrib/cdrom/macppc_installboot/installboot.c: revision 1.7 tools/Makefile: revision 1.221 tools/Makefile: revision 1.222 external/gpl2/mkhybrid/dist/libhfs_iso/file.h: revision 1.1 external/gpl2/mkhybrid/dist/libhfs_iso/README: revision 1.1 distrib/macppc/Makefile: revision 1.18 external/gpl2/mkhybrid/dist/TODO: revision 1.1 external/gpl2/mkhybrid/dist/libhfs_iso/block.h: revision 1.1 external/gpl2/mkhybrid/dist/libhfs_iso/record.c: revision 1.1 external/gpl2/mkhybrid/dist/libhfs_iso/hfs.c: revision 1.1 external/gpl2/mkhybrid/dist/match.c: revision 1.1 external/gpl2/mkhybrid/dist/libfile/softmagic.c: revision 1.1 external/gpl2/mkhybrid/dist/match.c: revision 1.2 external/gpl2/mkhybrid/dist/libfile/softmagic.c: revision 1.2 external/gpl2/mkhybrid/dist/volume.c: revision 1.1 external/gpl2/mkhybrid/dist/volume.c: revision 1.2 external/gpl2/mkhybrid/dist/libhfs_iso/internal.h: revision 1.1 external/gpl2/mkhybrid/dist/getopt1.c: revision 1.1 external/gpl2/mkhybrid/dist/getopt1.c: revision 1.2 external/gpl2/mkhybrid/dist/getopt1.c: revision 1.3 external/gpl2/mkhybrid/dist/README.mkisofs: revision 1.1 external/gpl2/mkhybrid/dist/libhfs_iso/hybrid.h: revision 1.1 tools/mkhybrid/Makefile: revision 1.1 external/gpl2/mkhybrid/dist/README.hfs_magic: revision 1.1 external/gpl2/mkhybrid/dist/apple.h: revision 1.1 external/gpl2/mkhybrid/dist/include/prototyp.h: revision 1.1 external/gpl2/mkhybrid/dist/libhfs_iso/volume.h: revision 1.1 external/gpl2/mkhybrid/dist/apple.h: revision 1.2 external/gpl2/mkhybrid/dist/mkisofs.c: revision 1.1 external/gpl2/mkhybrid/dist/desktop.c: revision 1.1 external/gpl2/mkhybrid/dist/mkisofs.c: revision 1.2 external/gpl2/mkhybrid/dist/desktop.c: revision 1.2 external/gpl2/mkhybrid/dist/mkisofs.c: revision 1.3 external/gpl2/mkhybrid/dist/mkisofs.c: revision 1.4 external/gpl2/mkhybrid/dist/libfile/file.h: revision 1.1 external/gpl2/mkhybrid/dist/mkisofs.c: revision 1.5 external/gpl2/mkhybrid/dist/libfile/file.h: revision 1.2 external/gpl2/mkhybrid/dist/mkisofs.c: revision 1.6 external/gpl2/mkhybrid/dist/libfile/file.h: revision 1.3 external/gpl2/mkhybrid/dist/mkisofs.c: revision 1.7 external/gpl2/mkhybrid/dist/getopt.h: revision 1.1 distrib/cdrom/macppc_installboot/installboot.h: revision 1.5 etc/etc.mac68k/Makefile.inc: revision 1.25 external/gpl2/mkhybrid/dist/getopt.h: revision 1.2 external/gpl2/mkhybrid/dist/write.h: revision 1.1 etc/etc.mac68k/Makefile.inc: revision 1.26 external/gpl2/mkhybrid/dist/rock.c: revision 1.1 external/gpl2/mkhybrid/dist/hash.c: revision 1.1 external/gpl2/mkhybrid/dist/hash.c: revision 1.2 external/gpl2/mkhybrid/dist/libhfs_iso/record.h: revision 1.1 external/gpl2/mkhybrid/dist/README.hfs_boot: revision 1.1 external/gpl2/mkhybrid/dist/README: revision 1.1 external/gpl2/mkhybrid/dist/README.win32: revision 1.1 external/gpl2/mkhybrid/dist/libhfs_iso/hfs.h: revision 1.1 external/gpl2/mkhybrid/dist/libhfs_iso/hfs.h: revision 1.2 external/gpl2/mkhybrid/dist/config.h.in: revision 1.1 external/gpl2/mkhybrid/dist/config.h.in: revision 1.2 distrib/cdrom/boothfs.uue: revision 1.2 external/gpl2/mkhybrid/dist/config.h.in: revision 1.3 external/gpl2/mkhybrid/dist/volume.h: revision 1.1 external/gpl2/mkhybrid/dist/volume.h: revision 1.2 external/gpl2/mkhybrid/dist/ChangeLog: revision 1.1 external/gpl2/mkhybrid/dist/libfile/apprentice.c: revision 1.1 external/gpl2/mkhybrid/dist/libfile/apprentice.c: revision 1.2 external/gpl2/mkhybrid/dist/mapping: revision 1.1 external/gpl2/mkhybrid/dist/libhfs_iso/btree.h: revision 1.1 external/gpl2/mkhybrid/bin/Makefile: revision 1.1 external/gpl2/mkhybrid/dist/include/statdefs.h: revision 1.1 external/gpl2/mkhybrid/dist/libhfs_iso/Makefile: revision 1.1 external/gpl2/mkhybrid/bin/Makefile: revision 1.2 external/gpl2/mkhybrid/dist/magic: revision 1.1 external/gpl2/mkhybrid/dist/libhfs_iso/node.h: revision 1.1 external/gpl2/mkhybrid/bin/Makefile: revision 1.3 external/gpl2/mkhybrid/dist/acconfig.h: revision 1.1 external/gpl2/mkhybrid/dist/eltorito.c: revision 1.1 external/gpl2/mkhybrid/dist/libfile/patchlevel.h: revision 1.1 share/mk/bsd.own.mk: revision 1.1375 share/mk/bsd.own.mk: revision 1.1376 external/gpl2/mkhybrid/dist/README.session: revision 1.1 external/gpl2/mkhybrid/dist/libfile/lfile.c: revision 1.1 external/gpl2/mkhybrid/dist/libfile/lfile.c: revision 1.2 tools/macppc_installboot/Makefile: revision 1.1 external/gpl2/mkhybrid/README.md: revision 1.1 etc/etc.macppc/Makefile.inc: revision 1.13 external/gpl2/mkhybrid/dist/defaults.h: revision 1.1 external/gpl2/mkhybrid/dist/mkisofs.spec: revision 1.1 external/gpl2/mkhybrid/dist/defaults.h: revision 1.2 external/gpl2/mkhybrid/dist/mac_label.h: revision 1.1 external/gpl2/mkhybrid/dist/defaults.h: revision 1.3 external/gpl2/mkhybrid/dist/include/mconfig.h: revision 1.1 external/gpl2/mkhybrid/dist/include/mconfig.h: revision 1.2 external/gpl2/mkhybrid/dist/libfile/proto.h: revision 1.1 external/gpl2/mkhybrid/dist/COPYING: revision 1.1 external/gpl2/mkhybrid/dist/name.c: revision 1.1 external/gpl2/mkhybrid/dist/configure.in: revision 1.1 external/gpl2/mkhybrid/dist/configure.in: revision 1.2 external/gpl2/mkhybrid/dist/mac_label_proto.h: revision 1.1 external/gpl2/mkhybrid/dist/configure.in: revision 1.3 external/gpl2/mkhybrid/dist/libhfs_iso/low.c: revision 1.1 distrib/cdrom/macppc_mkboothfs/mkboothfs.c: revision 1.4 external/gpl2/mkhybrid/dist/mkhybrid.8: revision 1.1 external/gpl2/mkhybrid/dist/libhfs_iso/btree.c: revision 1.1 distrib/cdrom/macppc_installboot/cd9660.c: revision 1.5 external/gpl2/mkhybrid/dist/config.h: revision 1.1 external/gpl2/mkhybrid/dist/mkhybrid.8: revision 1.2 distrib/cdrom/macppc_installboot/cd9660.c: revision 1.6 external/gpl2/mkhybrid/dist/config.h: revision 1.2 external/gpl2/mkhybrid/dist/libhfs_iso/node.c: revision 1.1 external/gpl2/mkhybrid/dist/libhfs_iso/data.c: revision 1.1 external/gpl2/mkhybrid/dist/libhfs_iso/file.c: revision 1.1 external/gpl2/mkhybrid/dist/README.eltorito: revision 1.1 external/gpl2/mkhybrid/dist/include/fctldefs.h: revision 1.1 external/gpl2/mkhybrid/dist/libfile/README: revision 1.1 external/gpl2/mkhybrid/dist/libhfs_iso/block.c: revision 1.1 external/gpl2/mkhybrid/dist/mactypes.h: revision 1.1 external/gpl2/mkhybrid/dist/apple_proto.h: revision 1.1 external/gpl2/mkhybrid/dist/apple_proto.h: revision 1.2 external/gpl2/mkhybrid/dist/multi.c: revision 1.1 external/gpl2/mkhybrid/dist/match.h: revision 1.1 external/gpl2/mkhybrid/dist/match.h: revision 1.2 external/gpl2/mkhybrid/dist/mac_label.c: revision 1.1 external/gpl2/mkhybrid/dist/Makefile.in: revision 1.1 external/gpl2/mkhybrid/dist/mac_label.c: revision 1.2 external/gpl2/mkhybrid/dist/libhfs_iso/lvolume.c: revision 1.1 external/gpl2/mkhybrid/dist/Makefile.in: revision 1.2 external/gpl2/mkhybrid/dist/configure: revision 1.1 external/gpl2/mkhybrid/dist/configure: revision 1.2 external/gpl2/mkhybrid/dist/install-sh: revision 1.1 external/gpl2/mkhybrid/dist/configure: revision 1.3 distrib/cdrom/macppc_installboot/cd9660.c: file removal external/gpl2/mkhybrid/dist/README.mkhybrid: revision 1.1 external/gpl2/mkhybrid/dist/ChangeLog.mkhybrid: revision 1.1 external/gpl2/mkhybrid/dist/iso9660.h: revision 1.1 external/gpl2/mkhybrid/dist/joliet.c: revision 1.1 external/gpl2/mkhybrid/dist/apple.c: revision 1.1 external/gpl2/mkhybrid/dist/apple.c: revision 1.2 external/gpl2/mkhybrid/dist/apple.c: revision 1.3 etc/Makefile: revision 1.471 external/gpl2/mkhybrid/dist/apple.c: revision 1.4 external/gpl2/mkhybrid/dist/tree.c: revision 1.1 etc/Makefile: revision 1.472 external/gpl2/mkhybrid/dist/tree.c: revision 1.2 external/gpl2/mkhybrid/dist/tree.c: revision 1.3 external/gpl2/mkhybrid/dist/libhfs_iso/low.h: revision 1.1 external/gpl2/mkhybrid/dist/mkisofs.h: revision 1.1 external/gpl2/mkhybrid/dist/mkisofs.8: revision 1.1 external/gpl2/mkhybrid/dist/mkisofs.h: revision 1.2 external/gpl2/mkhybrid/dist/mkisofs.h: revision 1.3 external/gpl2/mkhybrid/dist/mkisofs.h: revision 1.4 external/gpl2/mkhybrid/dist/mkisofs.h: revision 1.5 distrib/cdrom/Makefile: revision 1.54 external/gpl2/mkhybrid/dist/getopt.c: revision 1.1 Add -data-change-warn to MKISOFS_ARGS for macppc as done for mac68k: https://mail-index.netbsd.org/source-changes/2023/05/19/msg144826.html Creating Type&Creator mappings for .bin (macbinary encoded) files, mkisofs changes files, then turns around and complains they have been changed. This is a self-inflicted wound, so demote the error to a warning. This looks to make macppccd builds with cdrtools-3.02a10. Sync with src/usr.sbin/installboot/cd9660.c: - include now properly updated cd9660_extern.h for function prototypes and remove them from local installboot.h - use ISO_MAXNAMLEN rather than (BSD specific and incorrect) MAXNAMLEN - use proper names for the secondary boot file - appease several pointer signedness warnings (not fatal on HOST tools) Use native cd9660 blocksize to specify block numbers in cd9660.c. This reduces diffs from src/usr.sbin/installboot/cd9660.c. Also explicitly call cd9660_match() to get fstype->blocksize properly. Pull sharable src/usr.sbin/installboot/cd9660.c. Import mkhybrid from OpenBSD 7.3 to create ISO9660/HFS hybrid ISO images. - files in libfile except proto.h prepared by OpenBSD are not imported due to non-standard license (newer BSD Licensed versions will be imported later) - unnecessary files for tools build are not imported - RCSId strings are trimmed to avoid unintended substitutions Proposed on tech-toolchain@@: https://mail-index.netbsd.org/tech-toolchain/2024/05/25/msg004355.html Import BSD licensed libfile for mkhybrid builds from cdrtools-3.01. - unnecessary files for tools build are not imported - file.c is renamed to lfile.c to avoid conflict with libhfs_iso - RCSId strings are trimmed Remove dependencies on non-existent exclude.h. Pull changes from mkisofs-1.12.1 to avoid statvfs(2). Make newer BSD Licensed libfile sources build as tools. Update mkhybrid Makefile for NetBSD's tools builds. Suppress implicit declaration warnings. Appease discard-const warnings. Remove duplicated SYSTEM_ID_DEFAULT definitions. Don't redefine SYSTEM_ID_DEFAULT if it's specified in CPPFLAGS. Remove ancient rlimit hacks for NetBSD disabled in cdrtools-2.01. Always use local getopt.h as cdrtools-2.01 did. Tweak and regen configure using autoconf-2.13 to use pkgsrc tools. Check and in configure and regen config.h. Use HAVE_CONFIG_H to include and in getopt sources. Appease more warnings and remove unused getopt functions. Pull options -hide-joliet-trans-tbl and -hide-rr-moved from mkisofs-1.13. Pull -graft-points option from mkisofs-1.13 and cdrtools-2.01. Also remove #ifdef APPLE_HYB for NON-HFS changes to reduce diffs. Tweak OPTION_* definitions to reduce diffs from mkisofs-1.13. Pull malloc related fixes from cdrtools-2.01. This seems to fix SIGSEGV during free(3) in write.c:write_one_file(). Build mkhybrid as a build tool. Build mac68k and macppc iso images using tools/mkhybrid. Drop -data-change-warn from MKISOFS_FLAGS. It's available only on cdrtools-3.x and later. Use tools/mkhybrid as MKISOFS for mac68k and future macppc. Note about current status. Also pull man page description of options pulled from mkisofs-1.13. Don't print progress if -quiet is specfied as cdrtools-2.01 and later. Exclude debug.tgz and xdebug.tgz from mac68k ISO to save ~320MB. Drop -T (for non-Rock Ridge capable systems) from ${MKISOFS_FLAGS}. Even old mac68k and macppc don't require it, and somehow TRANS.TBL files are shown on NetBSD when the ISO images created with both -T and and -hide-joliet-trans-tbl are mounted by mount_cd9660(8). Note this also happens with mkisofs(8) from cdrtools-3.02, but I have not investigated if it's expected behavior. Build src/distrib/cdrom/macppc_installboot in src/tools as a tool. Also use the tools version ${TOOLS_MACPPC_INSTALLBOOT} to create bootable ISO9660/HFS hybrid installcd image for macppc. Make sure NetBSD_BootBlock partition has 32KB to avoid extra padding. It looks at least OpenFirmware 2.x fails to load the primary bootloader in the NetBSD_BootBlock partition if the partition size is too small, probably because OpenFirmware read() function implicitly uses 32KB blocks. Build macppc iso with TOOL_MKHYBRID via "iso-image" target in src/etc. No need to check and redefine C89 strerror(3) and strtoul(3). Fixes build error on MacOS 10.4 with Xcode 2.5. @ text @a0 145 # Id: README.mkisofs,v 1.1 2000/10/10 20:40:11 beck Exp Note: This program requires a lot of virtual memory to run since it builds all of the directories in memory. The exact requirements depend upon a lot of things, but for Rock Ridge discs 12Mb would not be unreasonable. Without RockRidge and without the translation tables, the requirements would be considerably less. The cdwrite utility is maintained separately from mkisofs by yggdrasil.com. It is enclosed here as a convenience, since the two programs are often useful together. ***************************** Notes for version 1.12 Joliet support is now complete. See the -J option. The file scanning code is much improved - mkisofs can use multiple sources of input files and merge them together to form the output image. In addition, each source can be grafted at any point in the iso9660 image. The image writing code has been cleaned up to make it much easier to add custom extensions. The ADD_FILES feature has been removed as it didn't work well, and it was hard to figure out. The recent rearrangements in the file scanning code would tend to solve these issues. ***************************** Notes for version 1.11 There is a feature which can be optionally compiled into mkisofs that allows you to merge arbitrary directory trees into the image you are creating. You need to compile with -DADD_FILES for my changes to take effect. Thanks to Ross Biro biro@@yggdrasil.com. ***************************** Notes for version 1.10b1 Big news is that multi-session capability is very close to being done. There is still a missing interface to cdwrite that is used to determine the next writable address and the sector number of the last existing session. Until we get the interface to cdwrite done, this is a beta version. Bug involving DST fixed (dates are always calculated, since some files may be DST and other ones would not be). Unfortunately the notes on some of the small patches got lost. ***************************** Notes for version 1.06 Jan-Piet Mens added support for the '-m' switch. This allows exclusion of shell-style globs from the CDROM. See manual mkisofs.8 for more information. ***************************** Notes for version 1.05 Added support for '-r' switch. This is very similar to -R for Rock Ridge, but echos of the development environment are removed (i.e. uid/gid set to 0, and permissions of the files are canonicalized). Useful in applications where a distribution medium is being produced. ***************************** Notes for version 1.04 No notes for 1.04. ***************************** Notes for version 1.03 No notes for 1.03. ***************************** Notes for version 1.02. Minor bugfixes here and there. Support for compiled in defaults for many of the text fields in the volume header are now present, and there is also support for a file ".mkisofsrc" that can also read settings for these parameters. A short script "Configure" was added to allow us to set up special compile options that depend upon the system that we are running on. This should help stamp out the sphaghetti-isms that were starting to grow up in various places in the code. You should get more meaningful error messages if you run out of memory. ***************************** Notes for version 1.1. The big news is that SUSP CE entries are now generated for extremely long filenames and symlink names. This virtually guarantees that there is no limit (OK, well, about 600Mb) for file name lengths. I have tested this as well as I can, and it seems to work with linux. This would only be used very rarely I suspect. Also, I believe that support for VMS is done. You must be careful, because only Stream-LF and FIxed length record files can be recorded. The rest are rejected with error messages. Perhaps I am being too severe here. There is a bugfix in the sorting of entries on the disc - we need to stop comparing once we reach the ';' character. There are four new options -z -d -D -l -V. Some of these tell mkisofs to relax some of the iso9660 restrictions, and many systems apparently do not really seem to mind. Use these with caution. Some diagnostic programs to scan disc images are in the diag directory. These are not as portable as mkisofs, and may have some bugs. Still they are useful because they can check for bugs that I might have introduced as I add new features. ***************************** Notes for version 1.0. In version 1.0, the date fields in the TF fields were fixed - previously I was storing st_ctime as the file creation time instead of the file attribute change time. Thanks to Peter van der Veen for pointing this out. I have one slight concern with this change, however. The Young Minds software is definitely supplying 3 dates (creation, modification and access), and I would strongly suspect that they are incorrectly putting the file attribute change time in the file creation slot. I would be curious to see how the different RRIP filesystems treat this. Anyway, this is something to keep in the back of your mind. The symlink handling was not quite correct in 0.99 - this is now fixed. Only some systems seemed to have been affected by this bug. A command line option is now present to allow you to specifically exclude certain files from the distribution. The case where you do not have permissions to read a directory is now handled better by mkisofs. The directory that cannot be opened is converted into a zero-length file, and processing continues normally. A few portability things have been fixed (hopefully). @