patch

Patch files using diffs

53,122 downloads

1,097 latest version

5.0 quality score

Version information

  • 1.5.0 (latest)
  • 1.4.0
  • 1.3.0
  • 1.2.2
  • 1.2.1
  • 1.2.0
  • 1.1.0
  • 1.0.2
  • 1.0.1
  • 1.0.0
released Aug 11th 2023
This version is compatible with:
  • Puppet Enterprise 2025.3.x, 2025.2.x, 2025.1.x, 2023.8.x, 2023.7.x, 2023.6.x, 2023.5.x, 2023.4.x, 2023.3.x, 2023.2.x, 2023.1.x, 2023.0.x, 2021.7.x, 2021.6.x, 2021.5.x, 2021.4.x, 2021.3.x, 2021.2.x, 2021.1.x, 2021.0.x, 2019.8.x, 2019.7.x, 2019.5.x, 2019.4.x, 2019.3.x, 2019.2.x, 2019.1.x, 2019.0.x
  • Puppet >=6.0.0 <9.0.0
  • Debian
    ,
    Ubuntu

Start using this module

  • r10k or Code Manager
  • Bolt
  • Manual installation
  • Direct download

Add this module to your Puppetfile:

mod 'tohuwabohu-patch', '1.5.0'
Learn more about managing modules with a Puppetfile

Add this module to your Bolt project:

bolt module add tohuwabohu-patch
Learn more about using this module with an existing project

Manually install this module globally with Puppet module tool:

puppet module install tohuwabohu-patch --version 1.5.0

Direct download is not typically how you would use a Puppet module to manage your infrastructure, but you may want to download the module in order to inspect the code.

Download
Tags: patch, diff

Documentation

tohuwabohu/patch — version 1.5.0 Aug 11th 2023

patch

License Puppet Forge Puppet Forge - downloads

Overview

Manage and apply diff files on original files using the patch command.

Usage

  • Install patch with package settings; this itself doesn't do much. To apply patches, you have to use patch::file.
class { 'patch': }
  • Apply diff referenced by a file on a given original file
patch::file { '/path/to/file':
  diff_source => '/path/to/diff',
}
  • Apply inline diff on a given original file
patch::file { '/path/to/file':
  diff_content => '<inline-diff>',
}
  • Apply two diff files in a particular order on the same original file
$target = '/path/to/file'
patch::file { 'first-patch':
  target      => $target,
  prefix      => '0001',
  diff_source => '/path/to/0001.diff',
}
patch::file { 'second-patch':
  target      => $target,
  prefix      => '0002',
  diff_source => '/path/to/0002.diff',
  require     => Patch::File['first-patch'],
}
  • Apply diff to a directory
patch::directory { '/path/to/target/directory':
  diff_source => '/path/to/diff',
  strip => 2,
}

Limitations

The module has been tested on the following operating systems. Testing and patches for other platforms are welcome.

  • Debian 7.0 (Wheezy)
  • Debian 8.0 (Jessie)
  • Ubuntu 14.04 (Trusty Tahr)
  • Ubuntu 16.04 (Xenial Xerus)

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request

Development

This project uses rspec-puppet and beaker to ensure the module works as expected and to prevent regressions.

gem install bundler
bundle install --path vendor

bundle exec rake spec
bundle exec rake beaker

(note: see Beaker - Supported ENV variables for a list of environment variables to control the default behaviour of Beaker)