Public bug reported:

While fixing bug 1813464 it occurred to me that it is not obvious that
the dist-upgrader tarball includes its own copy of invoke-rc.d and that
this has been complicated to debug more than once. The apport
information in that report was gathered by apt's dpkgpm.cc code and I
think we should extend that to gather additional information from the
environment at the time that the package installation failed. For
example the dist-upgrader sets the following:

        os.environ["PATH"] = "%s:%s" % (os.getcwd()+"/imported",
                                        os.environ["PATH"])

Gathering path from the environment would have made diagnosing bug
1813464 a lot easier. I tested modifying dpkgpm.cc with the following:

   if(const char* env_p = std::getenv("PATH"))
      fprintf(report, "EnvPATH: %s\n", env_p);

I then installed the crash-in-postinst package from the daisy-plucker-
seeds PPA and received a crash report with the EnvPATH key and value.
Its worth noting that when apport gathers environment information only a
white listed set of keys is gathered to prevent disclosing potentially
sensitive information. So we should look at what environment variables
the dist-upgrader sets and gather those at a minimum.

** Affects: apt (Ubuntu)
     Importance: High
         Status: New


** Tags: disco rls-ee-incoming

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to apt in Ubuntu.
https://bugs.launchpad.net/bugs/1825021

Title:
  apt's dpkgpm.cc WriteApportReport function should gather more data

Status in apt package in Ubuntu:
  New

Bug description:
  While fixing bug 1813464 it occurred to me that it is not obvious that
  the dist-upgrader tarball includes its own copy of invoke-rc.d and
  that this has been complicated to debug more than once. The apport
  information in that report was gathered by apt's dpkgpm.cc code and I
  think we should extend that to gather additional information from the
  environment at the time that the package installation failed. For
  example the dist-upgrader sets the following:

          os.environ["PATH"] = "%s:%s" % (os.getcwd()+"/imported",
                                          os.environ["PATH"])

  Gathering path from the environment would have made diagnosing bug
  1813464 a lot easier. I tested modifying dpkgpm.cc with the following:

     if(const char* env_p = std::getenv("PATH"))
        fprintf(report, "EnvPATH: %s\n", env_p);

  I then installed the crash-in-postinst package from the daisy-plucker-
  seeds PPA and received a crash report with the EnvPATH key and value.
  Its worth noting that when apport gathers environment information only
  a white listed set of keys is gathered to prevent disclosing
  potentially sensitive information. So we should look at what
  environment variables the dist-upgrader sets and gather those at a
  minimum.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/apt/+bug/1825021/+subscriptions

-- 
Mailing list: https://launchpad.net/~touch-packages
Post to     : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to