On Thu, Jul 31, 2008 at 12:30:27PM +0200, Frans Pop wrote:
> On Tuesday 29 July 2008, Jérémy Bobbio wrote:
> > One solution to solve this would be to change the API of pre-pkgsel.d
> > scripts. They could have the current progress step as their
> > command-line argument and echo the standard output the new progress
> > step.
>
> Wouldn't it be better to use a fixed range for pre-pkgsel scripts and
> divide that up over the number of scripts being run? It could even be
> coded so that the more hook scripts there are, the bigger the part of the
> progress bar that's allocated to them (still leaving the majority for
> tasksel of course).
As far as my imagination goes, the problem in this approach lies in the
debconf-apt-progress interface. It takes:
--from <start position> --to <end position>
debconf-apt-progress is used (at least) by the popcon pre-pkgsel.d
script. So we would at least need to change the way pre-pkgsel.d
scripts are called to give them their allocated start and end position
on the progress bar.
I have moved away from this approach for the proposed one to support
the idea, already present in the current pkgsel postinst, that a step
that would do nothing should not take space in the progress bar
(pkgsel/include).
Another point is that the proposed approach makes it easy to support
scripts that want control on their progress bar and those who do not.
Having a script echoing back a new position is an easy way to determine
that it did move the progress bar forward. In your approach, we could
always add a "db_progress SET" once they have been called to cope with
scripts which did not, but well, it not as elegant, IMHO.
> I don't really like the idea of hook scripts determining how the main
> script works.
I can understand that. I pondered it for a while and the only thing
that could be broken with a broken script would be the progress bar.
And as the loop verifies that the returned position is always greater
than the previous one, this issue is a little bit mitigated.
If we don't agree to something, we can always remove the
usage of debconf-apt-progress in the popcon script. It's only one
package and on top of that quite small. We could always continue to
discuss changes to pkgsel once Lenny is out.
Cheers,
--
Jérémy Bobbio .''`.
lunar@debian.org : :Ⓐ : # apt-get install anarchism
`. `'`
`-
Attachment:
signature.asc
Description: Digital signature