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