Issue #16743 has been reported by Orion Poplawski.

----------------------------------------
Feature #16743: Handle .rpmnew files, particularly for yum repos
https://projects.puppetlabs.com/issues/16743

Author: Orion Poplawski
Status: Unreviewed
Priority: Normal
Assignee: 
Category: 
Target version: 
Affected Puppet version: 2.7.18
Keywords: rpmnew
yumrepo
Branch: 


I modify the installed yum repos via the yumrepo type.  If the package 
distributing the repo file is updated, it create a .rpmnew file.  In that case 
what I want to happen is to have the .rpmnew file moved into place and then 
have the yumrepo rules applied.  This way upstream changes/fixes are applied 
while keeping my modifications.  I suspect this behavior may be desired for 
other files maintained in a similar way with other puppet types (particularly 
augeas).

I can handle this (clumsily) with exec, but as the documentation notes it would 
be better to handle with a native type.  Since yumrepo doesn't directly specify 
a file to operate this might be tricky.  But perhaps a "rpmnew" parameter that 
takes arguments like "merge" or "remove".  Then if puppet spies a .rpmnew file 
containing a repo name that it manages it could take the appropriate action.

Currently I'm doing:
    # Move repo.rpmnew files into place so they can be modified
    exec { 'yum.repo.rpmnew.move':
      command => 'for x in *.repo.rpmnew; do test -f $x && mv $x ${x/.rpmnew} 
|| :; done',
      cwd => '/etc/yum.repos.d',
      provider => 'shell',
      onlyif => 'test -f `echo /etc/yum.repos.d/*.repo.rpmnew | cut -d" " -f1`',
    }


But this also has the downside that the exec is processed after the yumrepo 
commands in a run and the changes to the repo take place on the second run.  I 
suppose I need a trigger in there somewhere.


-- 
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