pin_package

pdk
Package Pinning for RHEL and Debian based Distributions

Massimiliano Adamo

maxadamo

628 downloads

457 latest version

5.0 quality score

Version information

  • 0.2.1 (latest)
  • 0.2.0
  • 0.1.0
released Dec 10th 2020
This version is compatible with:
  • Puppet Enterprise 2019.8.x, 2019.7.x, 2019.5.x, 2019.4.x, 2019.3.x, 2019.2.x, 2019.1.x, 2019.0.x, 2018.1.x, 2017.3.x, 2017.2.x, 2016.4.x
  • Puppet >= 4.10.0 < 7.0.0
  • CentOS
    ,
    OracleLinux
    ,
    RedHat
    ,
    Scientific
    ,
    Debian
    ,
    Ubuntu

Start using this module

Documentation

maxadamo/pin_package — version 0.2.1 Dec 10th 2020

pin_package

Table of Contents

  1. Description
  2. Usage
  3. Limitations
  4. Development

Description

This module installs packages and forces version pinning on Debian and RedHat based distribution (Debian, Ubuntu, RedHat, CentOS...).

Pinned packages cannot be upgraded, unless they're unpinned or their version number is changed.

Usage

Pinning

pin_package::pin { 'apache':
  ensure => '0.5-40';
}

Unpinning

pin_package::pin { 'apache':
  ensure => '0.5-40',
  unpin  => true;
}

Mutual dependencies handling

If you have mutual dependencies issues, you can set pin_only to true, and you use the package resource with require against pin_package define. Example:

pin_package::pin { ['salt-minion', 'salt-common']:
  ensure   => $my_version,
  pin_only => true;
}

package { ['salt-minion', 'salt-common']:
  ensure  => $my_version,  # you can also use latest here, because you have already pinned
  require => Pin_package::Pin['salt-minion', 'salt-common'];
}

Limitations

  • only Debian/RedHat families are supported: Debian, Ubuntu, RedHat, CentOS...
  • no test available

Development

Feel free to make pull requests and/or open issues on my GitHub Repository

Please make a pull request to add $facts['os']['name'] (or tell me the string to add) for any missing OS, like as Scientific Linux or Oracle Linux

Release Notes/Contributors

Massimiliano Adamo