Hi Calvin, Thanks, your solution is exactly what I need! So simple and elegant and obvious in retrospect :)
среда, 1 августа 2012 г., 8:49:42 UTC-7 пользователь Calvin Walton написал: > > On Mon, 2012-07-30 at 14:51 -0700, Eugene Kirpichov wrote: > > Hello puppet-users, > > > > I need to use puppet to install a slightly modified version of a > > package (modify a few lines in the scripts it installs), but I don't > > want to build my own version of the package and distribute it via a > > private package repository because this seems too heavyweight. > > > > What's the common way to do this? I have a few things in mind: > > > * Add an exec task to patch the files. Pro: seems like the right way. > > Con: how do I detect if the patch is already applied? (should I just > > force-reinstall the base package before patching?) > > The easiest way to do this sort of thing is to add some sort of marker > keyword to the file when the patch is applied. Then you can use a > resource like > > exec { 'patch script': > unless => 'grep MARKER_KEYWORD /path/to/script', > command => 'patch /path/to/script some-patch', > require => [ Package['thepackage'], File['some-patch'] ], > } > > If the package will always be installed and upgraded through puppet, you > might consider making the exec 'refreshonly' and notifying it from the > package resource. > > -- > Calvin Walton <calvin.wal...@kepstin.ca> > > -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To view this discussion on the web visit https://groups.google.com/d/msg/puppet-users/-/PdHB3TUqsIgJ. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.