Re: Install-info transition, review time
On Thu, 26 Mar 2009, Steve Langasek wrote:
> I don't like the sound of this. Why is it necessary to provide
> /usr/sbin/install-info? I assume this is out of concern that some packages
> will be calling install-info with an explicit path, but that's been contrary
> to Policy for years ("Programs called from maintainer scripts should not
> normally have a path prepended to them", Policy 6.1) and I don't see any
> evidence looking at my local systems that install-info is being used
> incorrectly.
http://lintian.debian.org/tags/command-with-path-in-maintainer-script.html
Look for "/usr/sbin/install-info". There aren't many but there are some.
> I don't think there should be an extra install-info in the path without a
> clearer rationale.
We could drop the script entirely but IMO it's better to keep it until the
transition is complete.
install-info could be assumed to be on the PATH due to its inclusion in
the essential set. We want to remove it from there, so I prefer to keep an
informative wrapper that doesn't fail in the transition period.
How long should we keep it ? I'm not sure. At the very least as long as the
transition is on-going in sid, maybe until the squeeze release.
> Also, is the new dpkg going to Pre-Depend: on this new install-info package?
No. The purpose of install-info is to update the dir file. The dir file is
used by the info-browsers to show an index of all info files. dpkg is
going to Breaks: on old versions of all info-browsers that do not depend
on install-info. Thus the dpkg upgrade will force the upgrade of the
info-browsers at the same time (and hence assure that the install-info
package is installed when needed).
We avoid a Pre-Depends immediately and we make it immediately easier for
people that creates systems that can live without install-info. (Yes in
case you haven't noticed, Emdebian is interested in that)
> If not, what does this /usr/sbin/install-info wrapper script do when called
> and /usr/bin/install-info is absent? Packages currently call install-info
> from their maintainer scripts unconditionally, because it's provided by an
> Essential package.
It displays a warning that packages have to be updated to not call
install-info from their maintainer scripts. If it's not called from a
maintainer scripts, it displays a warning saying that it does nothing
and that the install-info package provides the functionality.
> > Please review and raise any suggestions if you have any. There
> > has been some extensive discussion on -dpkg already that you can read
> > to understand the choices made:
> > http://lists.debian.org/debian-dpkg/2009/03/msg00019.html
>
> Given that install-info is codified in Policy, I think this plan needs to be
> vetted via the policy process and include specific changes to the language
> in Policy, prior to moving forward on implementation.
What do policy editors think ? Is that a case where we should update
policy first or is that a case where the policy should simply document
current practice/implementation ?
I don't mind, we can take some time to draft this but I would rather
appreciate if someone stepped in to take care of this part of the work.
On Thu, 26 Mar 2009, Steve Langasek wrote:
> On Thu, Mar 26, 2009 at 07:21:15AM +0000, Neil Williams wrote:
> > > Also, is the new dpkg going to Pre-Depend: on this new install-info package?
> > > If not, what does this /usr/sbin/install-info wrapper script do when called
> > > and /usr/bin/install-info is absent? Packages currently call install-info
> > > from their maintainer scripts unconditionally, because it's provided by an
> > > Essential package.
>
> > Triggers will replace such maintainer script calls,
>
> Not instantaneously! This needs to include a sane transition plan. "Don't
> worry, we'll use triggers" is not.
Almost instantaneously thanks to the Breaks, the worst part of the
transition is the beginning where we have the old dpkg / install-info
together with the new install-info package. The old install-info might
update the dir file (due to postinst calls to install-info) and the change
will be lost when the trigger regenerates the dir file from scratch.
Not a big deal IMO.
> > IIRC the remaining install-info script is to provide support until all
> > the packages using maintainer scripts calls migrate to using triggers
> > for their info documents.
>
> Which means install-info must be reliably present on the system until that
> transition is finished. Which means dpkg needs to Pre-Depend on
> install-info.
Or keep /usr/sbin/install-info as a wrapper (that doesn't fail if the
system doesn't have any info-browser). Which is the choice we made. I
don't think it's unreasonable.
Cheers,
--
Raphaël Hertzog
Contribuez à Debian et gagnez un cahier de l'admin Debian Lenny :
http://www.ouaza.com/wp/2009/03/02/contribuer-a-debian-gagner-un-livre/
Reply to: