On Mon, 2010-02-22 at 01:16 -0800, Tim Stoop wrote:
> Hi all,
>
> I'm trying to work with augeas to add pinnings to my /etc/apt/
> preferences file. But I'm not getting my head around it. If I do the
> simplest I can think of:
>
> augeas { "Apt/preferences pinnings for augeas-lenses.":
> context => "/files/etc/apt/preferences",
> changes => ["set 00/Explanation 'We need these from
> backports.'",
> "set 00/Package augeas-lenses",
> "set 00/Pin release",
> "set 00/Pin/a lenny-backports",
> "set 00/Pin-Priority 999"],
> }
>
> it adds the definition to the bottom of the file each time. If I
> change the context into
>
> context => "match /files/etc/apt/preferences/*/Package augeas-
> lenses",
You want to restrict when to make those changes with the onlyif
paramater, something like
augeas { "...":
context => ...
changes => ...
onlyif => "match *[ Pin = 'release' and Package = 'augeas-lenses']
size == 0"
}
> it only works if there's already an augeas-lenses definition
> available. In which "working" is a large word, because if the current
> Pin-Priority is 900, it doesn't set it to 999.
You'd need to add another augeas resource to cover that case, something
like
augeas { "...":
context => "/files/etc/apt/preferences[Pin = 'release' and Package =
'augeas-lenses']",
changes => "set Pin-Priority 900",
onlyif => "match * size == 0"
}
> If there's no augeas-
> lenses definition available, it *segfaults*:
>
> /usr/lib/ruby/1.8/augeas.rb:48: [BUG] Segmentation fault
> ruby 1.8.7 (2008-08-11 patchlevel 72) [x86_64-linux]
>
> Aborted
When that happens, is libaugeas0 installed ?
David
--
You received this message because you are subscribed to the Google Groups
"Puppet Users" 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-users?hl=en.