-
Type:
Bug
-
Status: Accepted
-
Priority:
Normal
-
Resolution: Unresolved
-
Affects Version/s: None
-
Fix Version/s: None
-
Component/s: None
-
Environment:
Debian
-
Template:customfield_10700 83516
-
Team:Night's Watch
I originally filed an issue in Redmine at https://projects.puppetlabs.com/issues/5604 about this problem
Basically the problem was that the puppet apt provider disables apt-listchanges using an environment variable:
lib/puppet/provider/package/apt.rb: ENV['APT_LISTCHANGES_FRONTEND'] = "none"
That variable is used by 'apt-listchanges' in ./apt-listchanges/ALCConfig.py and with it set, apt-listchanges is completely unusable.
The reason this was done was because it makes it so puppet will work when apt-listchanges is installed (because otherwise it prompts on a non-interactive terminal). However, there are other legitimate ways to configure apt-listchanges (for example setting the front-end to use "mail" which is a non-interactive way to have it send you email about package upgrades), but because puppet is setting this in the code, it is impossible to set these other options.
When I originally reported this issue, I also reported an issue with apt-listchanges upstream (http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=610012) asking that apt-listchanges fall-back to a non-interactive front-end automatically. Although I reported this bug in 2011, it was just fixed! That means that this issue in puppet can finally be resolved.
I think that the right solution is to remove the environment setting:
lib/puppet/provider/package/apt.rb: ENV['APT_LISTCHANGES_FRONTEND'] = "none"
Also, is there a way we can override the provider's environment setting?
According to git logs, this was changed in b0636354 (Dean Wilson 2010-08-13 13:50:52 +0100 19) with the commit msg: "Skip apt-listbugs and apt-listchanges when installing from puppet", but with no rationale.
lib/puppet/provider/package/apt.rb: ENV['APT_LISTCHANGES_FRONTEND'] = "none"