O.K. some explanation.
Mandrake install CDs all have the same structure:
CD1: Mandrake/base/hdlisr*.cz, Mandrake/RPMS
CD2: Mandrake/RPMS2
CD3: Mandrake/RPMS3
...
with hdlists being only on the first CD. When I first cut cooker
"distro" (on two Jaz drives) I made the first media with cooker
including hdlists for both cooker and contrib and the second media with
contrib stuff in RPMS2 (just like put by installer).
Unfortunately I found it is impoissible to *update* media in this case.
urpmi looks for new hdlist using *relative* path, i.e. in my case it
would be
/mnt/hd/cooker/i586/Mandrake/RPMS2/../base/hdlist2.cz
and of course this path does not exist on the first media. So I was
forced to create empty directory Mandraek/RPMS2 on the first media and
this worked until new urpmi came out.
Today trying usual urpmi --auto-select I found urpmi using 99% CPU time
doing
stat64("/mnt/hd/cooker/i586/Mandrake/RPMS2/fwbuilder-0.9.6-1mdk.i586.rpm",
0xbffff730) = -1 ENOENT (No such file or directory)
stat64("/mnt/hd/cooker/i586/Mandrake/RPMS2", {st_mode=S_IFDIR|0755,
st_size=4096, ...}) = 0
stat64("/mnt/hd/cooker/i586/Mandrake/RPMS2", {st_mode=S_IFDIR|0755,
st_size=4096, ...}) = 0
stat64("/mnt/hd/cooker/i586/Mandrake/RPMS2", {st_mode=S_IFDIR|0755,
st_size=4096, ...}) = 0
stat64("/mnt/hd/cooker/i586/Mandrake/RPMS2/libfwbuilder0-0.10.0-1mdk.i586.rpm",
0xbffff730) = -1 ENOENT (No such file or directory)
stat64("/mnt/hd/cooker/i586/Mandrake/RPMS2/fwbuilder-0.9.6-1mdk.i586.rpm",
0xbffff730) = -1 ENOENT (No such file or directory)
stat64("/mnt/hd/cooker/i586/Mandrake/RPMS2", {st_mode=S_IFDIR|0755,
st_size=4096, ...}) = 0
stat64("/mnt/hd/cooker/i586/Mandrake/RPMS2", {st_mode=S_IFDIR|0755,
st_size=4096, ...}) = 0
stat64("/mnt/hd/cooker/i586/Mandrake/RPMS2", {st_mode=S_IFDIR|0755,
st_size=4096, ...}) = 0
stat64("/mnt/hd/cooker/i586/Mandrake/RPMS2/libfwbuilder0-0.10.0-1mdk.i586.rpm",
0xbffff730) = -1 ENOENT (No such file or directory)
stat64("/mnt/hd/cooker/i586/Mandrake/RPMS2/fwbuilder-0.9.6-1mdk.i586.rpm",
0xbffff730) = -1 ENOENT (No such file or directory)
well, obviously it assumes that if it can find directory with RPMS it is
correct media and so never even asks for media change.
So there are two possibilities as it seem:
- haveing dummy directories on first media and being unable to install
- haveing no dummy directories on first media and being unable to update
package list which is the same as being unable to install :-)
Here again I suggest the same - let's make path to hdlist regular URL.
In this case there would be no problem updating it - just define
cooker removable_cdrom://Mandrake/RPMS2 with
removable:cdrom://Mandrake/base/hdlist2.cz
and everything is O.K. I know that it needs rewrite (I have looked
several times into it) so my question is - is it worthwhile? Note that
currently there is *no* way to add installation media (even regular
installation media) back if you removed it for some reason. At least,
second and third.
In any case, the above bug is better fixed :-)
-andrej