[packagekit] Status of the APT backend

Richard Hughes hughsient at gmail.com
Fri Feb 22 02:31:25 PST 2008


On Fri, 2008-02-22 at 08:54 +0100, Michael Vogt wrote:
> That is probably a good opportunity to think about a way to integrate
> the dpkg conffile-has-changed message into some debconf like mechanism
> (or we just set --force-confnew).

Well, I think a Message() in this case is the best case scenario. For
instance:

-------------------------------------------
Config file has changed

The file httpd.conf has been changed as a result of a package upgrade.
------------------------------------------

> I know that I make myself unpopluar, but for debian/ubuntu there is
> still the open issue of terminal support (in addition to debconf).
> 
> The problem here is that the debian policy says [1]
> ----------------------------8<---------------------------------
> 6.3 Controlling terminal for maintainer scripts
> 
> The maintainer scripts are guaranteed to run with a controlling
> terminal and can interact with the user. 

Sure, but could we fake one? The whole idea of presenting the terminal
to the user half-way through the transaction is totally against the idea
PackageKit.

> Fortunately it also says:
> ----------------------------8<---------------------------------
> 3.9.1 Prompting in maintainer scripts
> 
> Package maintainer scripts may prompt the user if necessary. Prompting
> should be done by communicating through a program, such as debconf,
> which conforms to the Debian Configuration management specification,
> version 2 or higher. Prompting the user by other means, such as by
> hand[8], is now deprecated. 

Sure. I'm quite happy saying that PackageKit can't install broken
packages - in fact there's already an error enum for that IIRC.

> But at least currently we have a bunch of packages that do not use
> debconf and still prompt.

Do you know how many packages want a terminal in ubuntu right now? If
it's a case of fixing a couple of dozen broken packages I think that's
the better solution.

> Even central packages like libc6 do that
> under certain circumstances.

Why!!? What could it possibly ask? Is it something that my mother will
understand? If not, then it's safe to assume that the default answer is
the best one to choose.

> I think for a updater application that
> works with all debian packages in the archive we should have something
> that allows to pass a pty around and attach it to a vte terminal (if
> needed). Don't get me wrong, I don't like this at all, its just that
> reality for debian/ubuntu is that the terminal is still used.

I'm not prepared to add this to PackageKit, sorry. It's just so totally
not what PackageKit is about, and means that people won't ever actually
fix the broken packages. The fact that a terminal blocks the transaction
breaks the concept of fire-and-forget and user-not-present updates.

> The alternative of course is to just not have it and let package
> installation fail that use it. I would lean toward better
> interoperability even if it means pain. Its a choice that we should
> make explicitely and if we don't support terminals, then we should
> mention that in the apt backend FAQ.

Yup. Could you please add this to the apt FAQ, and point the user to the
http://www.packagekit.org/pk-faq.html page - there's quite a bit more
discussion there.

Sorry to appear difficult, but I think it's important we stick to the
core-principles of PackageKit.

Richard,





More information about the PackageKit mailing list