Comment 3 for bug 979661

Revision history for this message
Colin Watson (cjwatson) wrote :

debconf will automatically fall back from the Gnome frontend to Dialog, then Readline, then Teletype, then Noninteractive, depending on which one appears to be usable first. The problem is that update-manager creates a VTE terminal to run things in for logging purposes, which does a good enough job of being a terminal that debconf has no realistic way to tell that it isn't supposed to use it due to it not actually being visible. In fact, the solution isn't obvious because the terminal *might* be visible (expanded terminal widget or whatever).

What's a little curious is that update-manager isn't already overriding DEBIAN_FRONTEND at least to dialog, seeing as it contains this code:

        # if no libgtk2-perl is installed show the terminal
        frontend= os.environ.get("DEBIAN_FRONTEND") or "gnome"
        if frontend == "gnome" and self._cache:
          if (not "libgtk2-perl" in self._cache or
              not self._cache["libgtk2-perl"].is_installed):
            frontend = "dialog"
            self.expander.set_expanded(True)
        self.env = ["VTE_PTY_KEEP_FD=%s"% self.writefd,
                    "APT_LISTCHANGES_FRONTEND=none"]
        if not os.environ.has_key("DEBIAN_FRONTEND"):
          self.env.append("DEBIAN_FRONTEND=%s" % frontend)

So this should already cause upgrades without libgtk2-perl installed to run with the Dialog frontend and with the terminal expanded so that you can see it. (Perhaps not ideal UI, but it would at least work.)

My first thought was that perhaps libgtk2-perl had been removed during the upgrade, but no, that isn't so, and perl-base hasn't even been upgraded yet so this isn't a perl upgrade problem. So I'm a little puzzled at this point.