[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: proposed patch to select an ISO among multiple ones



On Friday 08 January 2010, Fred wrote:
> I see 2 solutions for my problem :
> - either I parse all ISO files from all disks/partitions, and ask for
> choice if any : I thought it could be quite long to parse all
> partitions, and this way all installer' users have to wait for this.
> - either after each ISO file found, we ask if it's the right one. I
> followed this last track, and put the question with a 'medium'
> debconf level, so in 'normal' installations, the question shouldn't
> either appear and block the user (it would also be annoying to add a
> step to all people for a need of few ones).

Your solution is reasonably acceptable, but not what I would prefer.

My preferred solution would be:
1) display a dialog listing devices that are available for scanning
   (possible enhancement: offer option to add new devices)
2) let user select the device to be scanned
3) if more than one found: display dialog with images found on the device
   and let user select

The <Go Back> option should of course allow the user to select a different 
device.

Special care should be taken that everything also works with a preseeded 
hd-media installation. It's not totally obvious how the device to scan 
could be preseeded, so maybe there should still be a fall back to "scan 
all and take the first".

The first 2 steps should probably be coded generically because they would 
IMO also improve the selecting of a device to be used to load missing 
firmware from (we've had a few bug reports that could be fixed by that).

Again, your solution *is* acceptable. Please make sure that the
"ask_second_pass" option still works. And maybe avoid displaying both your 
dialog *and* the "success" dialog (there should be no need to have both!).

> I've patched the iso-scan source and tried to test the result, without
> success, because I didn't know how to rebuild a whole installer image.

That's one way of doing it (and sometimes the only way), but in this case 
it can be done simpler.

> Here is what I've done, if you see some advices to let me achieve the
> tests, tell me ; if someone could also test the patch, it would be
> nice !
>
> $ debconf-loadtemplate iso-scan /media/usbdisk/iso-scan.templates

This fails because at that time the debconf database has already been 
loaded by the running debconf instance and is in use from memory instead 
of from the (RAM) disk, so updating the version on the disk by starting a 
separate *second* debconf process as you do here has no effect, which 
explains the error.

There are two ways to do this so it works:
- build the iso-scan udeb, copy that to the D-I environment and install it
  using 'dpkg --unpack <udeb>' (best/simplest method)
- use your method but run the 'debconf-loadtemplate' command *from inside*
  a script in the running debconf instance; for example by adding the
  command to an existing postinst script (save-logs is usable for this) and
  then executing that postinst from the main menu

Cheers,
FJP


Reply to: