Issue #1766 has been updated by Nigel Kersten.

Status changed from Accepted to Duplicate

Duplicates #915
----------------------------------------
Feature #1766: Control of recommends installation with aptitude provider
https://projects.puppetlabs.com/issues/1766

Author: Nick Phillips
Status: Duplicate
Priority: Normal
Assignee: 
Category: package
Target version: 
Affected Puppet version: 0.24.5
Keywords: 
Branch: 


The aptitude provider by default does not specify whether or not "recommended" 
packages should be installed. This means that this feature will be controlled 
by settings in /etc/apt/apt.conf and ~/.aptitude/config

In general this is passable behaviour, but:

* it is likely that a (lazy?) puppet administrator will normally be happy to 
install recommended packages
* some packages have "recommends" that are clearly only even vaguely a good 
idea if you are using the package in one particular way, and cause large 
amounts of cruft to be installed otherwise (see xenwatch, depends on libvirt0, 
which then recommends(!) qemu, depends on $LARGE_AMOUNT_OF_IRRELEVANT_CRUFT)

So, in this case I'd like to be able to tell the aptitude provider to run 
aptitude with -R (no recommends).

You could argue that I should use the apt provider instead, but if an aptitude 
provider is worth providing at all, it's worth doing properly. It has had and 
no doubt will continue to have different features to apt-get, easy control of 
whether or not to install recommended packages being one!

You could argue that I should configure aptitude to not install recommends 
using /etc/apt/apt.conf as not doing so is just laziness on my part. While you 
might be right about the laziness, that would affect all use of aptitude on the 
system, and so be a bad idea. I could control it specifically for puppet, by 
creating /var/lib/puppet/.aptitude/config and setting it in there, but that 
would not be transparent, and would be "hiding" part of my config apart from 
the rest (and be generally tortuous).

In any case, puppet should be able to explicitly control how aptitude is run 
independent of the global /etc/apt/apt.conf, as otherwise configurations 
effects are not necessarily predictable, defeating the object of puppet in the 
first place. Once there's a global setting, it should be fairly simple to 
enable control of it per-resource.

W.r.t. bug #241 (the reason I have gone to such lengths here), I'm not sure I 
see what the problems with doing this "cleanly" are -- presumably mpalmer was 
thinking of the fact that this would be a setting that would be meaningless 
except to apt and aptitude providers? I guess the simple option is just to 
implement a parameter for the package type that is only used by those 
providers. Otherwise, you get into having a "provider-specific options" 
parameter, which would probably need to be an array, and get messy fast 
(assuming there are, or are going to be, other options which only make sense to 
a few providers).

Happy to work on this (I guess I will do anyway), but want to make sure I do it 
in a manner that is likely to be considered acceptable for inclusion into 
puppet (I'm lazy, remember, and hence don't want to keep having to apply local 
patches to new versions of puppet ;-) ).


-- 
You have received this notification because you have either subscribed to it, 
or are involved in it.
To change your notification preferences, please click here: 
http://projects.puppetlabs.com/my/account

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Bugs" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/puppet-bugs?hl=en.

Reply via email to