summaryrefslogtreecommitdiff
path: root/doc/genisoimage/README.sort
diff options
context:
space:
mode:
Diffstat (limited to 'doc/genisoimage/README.sort')
-rw-r--r--doc/genisoimage/README.sort102
1 files changed, 102 insertions, 0 deletions
diff --git a/doc/genisoimage/README.sort b/doc/genisoimage/README.sort
new file mode 100644
index 0000000..1e377bc
--- /dev/null
+++ b/doc/genisoimage/README.sort
@@ -0,0 +1,102 @@
+Sort the order of file data on the CD
+=====================================
+
+Note: this option does not sort the order of the file names that appear
+in the ISO9660 directory. It sorts the order in which the file data is
+written to the CD image.
+
+This option is useful in order to optimize the data layout on a CD.
+
+To use, type something like:
+
+genisoimage -o cdimage.iso -sort sort_file [other_options] cd_dir
+
+The file 'sort_file' contains two columns of:
+
+filename weight
+
+where filename is the whole name of a file/directory as genisoimage will see it
+and weight is a whole number between +/- 2147483647
+
+The files will be sorted with the highest weights first and lowest last.
+The default weight is zero.
+
+If the filename is a directory name, then all the files in that directory (and
+sub-directories) will use its weight as their default weight.
+
+e.g.
+
+If the directory 'cd_dir' contains two directories called 'dir1' and 'dir2'
+with files 'A', 'B' and 'C' in dir1 and 'X', 'Y' and 'Z', the the file
+'sort_file' could look something like:
+
+cd_dir/dir2 1000
+cd_dir/dir2/Y 2000
+cd_dir/dir1/B -2000
+cd_dir/dir1/A -8000
+
+Note: There must be only one space or tab character between the filename and
+the weight and the weight must be the last characters on a line. The filename
+is taken to include all the characters from the first in a line, up to, but
+not including the last space or tab character on a line. This is to allow
+for space characters to be in, or at the end of a filename.
+
+
+The command:
+
+genisoimage -o cdimage.iso -sort sort_file cd_dir
+
+will sort the above file data as:
+
+cd_dir/dir2/Y
+cd_dir/dir2/X
+cd_dir/dir2/Z
+cd_dir/dir1/C
+cd_dir/dir1/B
+cd_dir/dir1/A
+
+Note: files 'X' and 'Z' both have the weight 1000 - their sort order will then
+be the normal ISO9660 sort order (i.e. alphabetical in this case).
+
+File C will have the default weight of 0
+
+Warning: the filenames in the sort list MUST match the whole path as seen by
+genisoimage. i.e. in the above case, if the command line was:
+
+genisoimage -o cdimage.iso -sort sort_file ./cd_dir
+
+then the sort_file filename will have to changed as accordingly.
+
+Notes
+=====
+
+CDs are written from the middle outwards. High weighted files will be nearer
+the inside of the CD.
+
+Wildcards in the filename list should work.
+
+If a file appears more than once in the source directory tree, then the file
+is only added once to the CD image - i.e. a hard linked file, or symbolic
+link if using the -f option. The file will be sorted according to the
+highest weighting given to any of the linked files.
+
+Zero length files are not sorted - the 'start extent' *may* appear to be in
+the middle of another file after sorting. This is because zero length files
+are given the start extent after the last file added to the CD at that time.
+This address is not changed by the sorting, so it may appear that the file
+address is in another file - however as they are zero length, this will
+not matter!
+
+Directories are not sorted by this flag - directories HAVE to be in the
+ISO9660 sort order - however, the files the directory entry points to, can be
+anywhere on the CD.
+
+Existing files from any previous sessions will not be sorted - they already
+exist on the CD and can not be moved!
+
+I have no idea if this is really useful ...
+
+
+James Pearson 22-Nov-2001
+
+Any comments/problems to j.pearson@ge.ucl.ac.uk