Recursive symlinks not detected with -f -R (-r)
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
cdrkit (Ubuntu) |
Confirmed
|
Wishlist
|
Unassigned |
Bug Description
Binary package hint: genisoimage
Combining the -f (follow symlinks) and -R or (-r) (use Rock Ridge) makes genisoimage loop on recursive symlinks.
Below are the minimal steps to reproduce this, but it naturally happens with more complex symlink loops too.
pfp@suoruumis:~$ mkdir /tmp/test
pfp@suoruumis:~$ cd /tmp/test
pfp@suoruumis:
pfp@suoruumis:
pfp@suoruumis:
total 4,0K
-rw-r--r-- 1 pfp pfp 7 2008-02-02 15:19 foo.bar
lrwxrwxrwx 1 pfp pfp 1 2008-02-02 15:19 loop -> ./
pfp@suoruumis:
pfp@suoruumis:
Warning: -follow-links does not always work correctly; be careful.
I: -input-charset not specified, using utf-8 (detected in locale settings)
genisoimage: Too many levels of symbolic links. File ./loop/
Using LOOP000 for ./rr_moved/loop (loop)
Using LOOP001 for ./rr_moved/loop (loop)
Using LOOP002 for ./rr_moved/loop (loop)
Using LOOP003 for ./rr_moved/loop (loop)
Using LOOP004 for ./rr_moved/loop (loop)
Total extents scheduled to be written = 217
217
pfp@suoruumis:
Changed in cdrkit: | |
importance: | Undecided → Wishlist |
status: | New → Confirmed |
I see no sense in this kind of usage....
But please note: genisoimage is a fork from a 3 year old mkisofs version it still has bugs that have
been fixed long ago in the official software....
If you _really_ believe that this usage makes sense, just call:
mkisofs -f -R -print-size -find .
Note that you need a recent mkisofs e.g. from ftp://ftp. berlios. de/pub/ cdrecord/ alpha/
The built in libfind correctly handles loops created wirth hard linked directories
which is what you did emulate in your case.