
	mkhybrid v1.12.1a10 - make ISO9660/HFS shared hybrid CD volume

HFS hybrid code Copyright (C) James Pearson 1997, 1998, 1999, 2000
libhfs code Copyright (C) 1996, 1997 Robert Leslie
libfile code Copyright (c) Ian F. Darwin 1986, 1987, 1989,
	1990, 1991, 1992, 1994, 1995
mkisofs code Copyright 1993 Yggdrasil Computing, Incorporated

*** NEWS ***

mkhybrid v1.12.1 is now merged with the cdrecord v1.8.1 package.

***

*** IMPORTANT ***

The meaning of some of the HFS command line options has changed since
version 1.12b5.2. This change is to make the way mkhybrid decodes the 
various Apple/Unix file formats (CAP, AppleDouble, MacBinary etc.) less
confusing and more logical. To decode one or more of the Apple/Unix files,
then the corresponding "double dash" option must be given (i.e. --cap, 
--double, --macbin etc.) mkhybrid can search for all known Apple/Unix files
by using the -probe option.

The options that have changed are:

Option		old meaning			new meaning
======		===========			===========

-hfs		Create an HFS hybrid CD		Create an HFS hybrid CD.
		and attempt to decode all	Any Apple/Unix file is only
		Apple/Unix files (except	decoded if one or more of
		MacBinary and AppleSingle)	the "double dash" options are
						given

-apple		Create an ISO9660 with		Create an ISO9660 with
		Apple extensions CD and		Apple extensions CD. Any
		attempt to decode all		Apple/Unix file is only decoded
		Apple/Unix files (except	if one or more of the
		MacBinary and AppleSingle)	"double dash" options are given

-no-mac-files	Do not attempt to decode	No longer used
		any Apple/Unix file

-probe		Attempt to decode		Attempt to decode all
		MacBinary and AppleSingle	Apple/Unix files
		as well as the other
		Apple/Unix files

***

Most of the HFS features work fine, however, some are not fully tested.
These are marked as "Alpha" in the man page.

This code is based on mkisofs v1.12.1 that is part of the cdrecord v1.8.1
package, available from ftp://ftp.fokus.gmd.de/pub/unix/cdrecord/

Please read the man page (mkhybrid.8, or mkhybrid_man.html) for information
on how to use mkhybrid.

Also see "ChangeLog.mkhybrid" for any minor changes/bug fixes

DESCRIPTION

mkhybrid is a pre-mastering utility that creates ISO9660/ROCKRIDGE/JOLIET/HFS
hybrid CDROM images. You will have to use some other CD-R package to write
the image to a CD.

INSTALLATION

Obtain and install the cdrecord v1.8 package from:
ftp://ftp.fokus.gmd.de/pub/unix/cdrecord/

To build cdrecord, see the file README.compile that is part of the package.

Once cdrecord has been built, unpack mkhybrid in the cdrecord directory
and make e.g.:

cd cdrecord-1.8
gzcat mkhybrid-1.12bX.Y.tar.gz | tar xvf -
cd mkhybrid-1.12bX.Y
make (or gmake)

See README.compile for further info.

This has been tested with gcc on Solaris 2.6, gcc on Linux (Redhat v6.X),
cc on IRIX 6.5 and gcc on Win95/WinNT4 using Cygnus' cygwin (see README.win32)

If you are using SunOS 4.1.[34], then you need the following patches
to read CDs with associated files:

SunOS 4.1.3:		Patch 101832-05
SunOS 4.1.3_U1:		Patch 101833-02
SunOS 4.1.4:		Patch 102583-02


EXAMPLES

To create a HFS hybrid CD with the Joliet and Rock Ridge extensions of
the source directory cd_dir:

% mkhybrid -o cd.iso -r -J -hfs cd_dir

To create a HFS hybrid CD from the source directory cd_dir that contains
Netatalk Apple/Unix files:

% mkhybrid -o cd.iso --netatalk cd_dir

To create a HFS hybrid CD from the source directory cd_dir, giving all files
CREATOR and TYPES based on just their filename extensions listed in the file 
"mapping".:

% mkhybrid -o cd.iso -map mapping cd_dir

To create a CD with the 'Apple Extensions to ISO9660', from the source
direcories cd_dir and another_dir. Files in all the known Apple/Unix format
are decoded and any other files are given CREATOR and TYPE based on their
magic number given in the file "magic":

% mkhybird -o cd.iso -apple -magic magic -probe cd_dir another_dir

The following example puts different files on the CD that all have
the name README, but have different contents when seen as a
ISO9660/RockRidge, Joliet or HFS CD.

Current directory contains:

% ls -F
README.hfs     README.joliet  README.unix    cd_dir/

The following command puts the contents of the directory "cd_dir" on the
CD along with the three README files - but only one will be seen from
each of the three filesystems:

% mkhybrid -o cd.iso -hfs -J -r \
        -hide README.hfs -hide README.joliet \
        -hide-joliet README.hfs -hide-joliet README.unix \
        -hide-hfs README.joliet -hide-hfs README.unix \
        README=README.hfs README=README.joliet README=README.unix \
        cd_dir

i.e. the file README.hfs will be seen as README on the HFS CD and the
other two README files will be hidden. Similarly for the Joliet and
ISO9660/RockRidge CD.

There are probably all sorts of stange results possible with
combinations of the hide options ...


Any comments, bug reports/fixes to the address below.

Please state the version, platform and command line used when submitting
a bug report - the output from "-log-file -v" would help.

James Pearson (j.pearson@ge.ucl.ac.uk)
