Re: mkisofs "-graft-points" not working?
Joerg Schilling wrote:
Bill Davidsen <email@example.com> wrote:
After installing the recent cdrtools (a35), I started a backup script
which writes all the backup information in a file and then creates an
ISO image thus:
mkisofs -o $DATE.iso -RU -graft-points -path-list $DATE.filelist
The run aborted saying that files had the same Rockridge name. After
some investigation, it appears that the conflict was caused by ignoring
the graft points and putting every file in the root of the image instead
of using the subdirectory information. The man page for mkisofs
indicates that graft-points still is intended to function as I have been
using it for years.
The symptom is that a graft point like "USRLCL=/usr/local" no longer
creates a subdirectory called USRLCL, but rather puts the tree starting
with /usr/local directly in the root of the ISO image. Needless to say,
this change doesn't qualify as an enhancement with me.
What you do here did never work as you believe...... You are using incorrect
What I have been doing has been working for years, and worked with the
mkisofs from wodim, and with "mkisofs 2.01a12 (i686-pc-linux-gnu)" which
I had lying around.
If you like to create a grafted _directory_ in the ISO image, you need to
add a slash to the path name to the left of the equal sign.....
The script for monthly backup has a graft point HOME=/home which has
been working for five years on one of the machines I tested, which reports:
gaimboi:davidsen> mkisofs -version
mkisofs 2.0 (i686-pc-linux-gnu)
gaimboi:davidsen> l /usr/local/bin/mkisofs
-rwxr-xr-x 1 root 1413386 Jun 14 2003 /usr/local/bin/mkisofs
This was built from *your* source and installed. If it doesn't work that
way, then you changed it. And the man page still seems to say what I
expect, if I say DIR=foo/bar/zot then no matter what the path right of
equal is, that gets renamed as whatever is left of equal.
Try this with your own old code to realize it has always worked this way:
mkdir AA BB
mkisofs -o test1.iso AAA=AA BBB=BB
mkisofs -o test2.iso AAA=AA BBB=AA/test
In the first case BBB is a directory, in the 2nd it is a file. And
current code presents no error message, the graft point is silently
totally ignored. You changed it, you broke existing scripts, it fails
without warning, and it doesn't conform to the documentation.
For once could you fix it and admit there's a problem, instead of trying
to claim it always worked that way?
Bill Davidsen <firstname.lastname@example.org>
"Woe unto the statesman who makes war without a reason that will still
be valid when the war is over..." Otto von Bismark