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

Reply via email to