Version information
released Aug 28th 2014
This version is compatible with:
- Windows
Start using this module
Add this module to your Puppetfile:
mod 'badgerious-npackd', '1.1.2'
Learn more about managing modules with a PuppetfileDocumentation
badgerious/npackd — version 1.1.2 Aug 28th 2014
Puppet Npackd
This module implements a package provider for Npackd, a package manager for Windows.
See the list of available packages. Each package listed there has an 'ID'
field; this is the package name to use (note that NpackdCL is case sensitive). You can also use
npackdcl.exe search
to find packages. The ()
enclosed name is the package ID.
This module also includes a type (npackd_repo
) for managing Npackd repositories.
Install
Install from puppet forge:
puppet module install badgerious/npackd
Install from github (do this in your modulepath):
git clone https://github.com/badgerious/puppet-npackd npackd
Examples
Managing Packages
# Install 7zip. This will install the latest version initially, and
# apply no updates as long as any version is found on the system.
package { 'org.7-zip.SevenZIP':
provider => npackd,
}
# Install latest WinSCP. This will always install the latest version
# available in the repositories.
package { 'net.winscp.WinSCP':
ensure => latest,
provider => npackd,
}
# Install Firefox version 22.
package { 'org.mozilla.Firefox':
ensure => 22,
provider => npackd,
}
# Install .NET runtime versions 4.5.50709.17929 and 4.0.30319.1.
# To install multiple versions of the same package, title the resource
# "{package} {version}". This format cannot be used together with
# ambiguously versioned resources (e.g. ensure => latest) with the same
# package name.
package { 'com.microsoft.DotNetRedistributable 4.0.30319.1':
ensure => installed,
provider => npackd,
}
package { 'com.microsoft.DotNetRedistributable 4.5.50709.17929':
ensure => installed,
provider => npackd,
}
# Remove ALL versions of PuTTY. If you specify a version, only that version will be removed.
# If there are multiple versions installed, one will be removed each puppet run (not ideal,
# but will eventually get the job done).
package { 'uk.org.greenend.chiark.sgtatham.Putty':
ensure => absent,
provider => npackd,
}
Managing Repos
# Add a repo
npackd_repo { 'https://windows-package-manager.googlecode.com/hg/repository/Rep.xml': }
# Remove a repo
npackd_repo { 'Badrepo':
ensure => absent,
repo => 'https://windows-package-manager.googlecode.com/hg/repository/Rep.xml',
}
Puppet compatibility
Puppet 3.7 or greater requires 1.1.2 or greater of this module.
Npackd compatibility
- Version >= 1.1.0 of this module is compatible with Npackd 1.18.7 (and potentially future versions).
- Version <= 1.0.0 of this module is compatible with Npackd 1.17.9
Changes
Types in this module release
1.1.2
- Updates for Puppet 3.7 / Ruby 64 bit
v1.1.1
- Minor change to metadata.json
v1.1.0
- Compatible with npackd 1.18.7.
npackd_repo
s are now purgable.- Npackd 1.18.7 now loads repos from a cache. Updates are made visible with
npackdcl detect
. Because of this, adding/removing annpackd_repo
triggers adetect
, and a manifest is included which periodically detects changes to the repos. npackd_repo
s are located with the newlist-repo
command instead of searching the registry.
v1.0.0
- Refactored
npackd_pkg
into a normalpackage
type. (I thought at first this wasn't going to work, but was wrong).
Copyright 2013-2014 Eric Badger Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.