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

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: