https://github.com/voxpupuli/puppet-poudriere

A Puppet module for managing Poudriere, the PkgNG build system.

https://github.com/voxpupuli/puppet-poudriere

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (11.5%) to scientific vocabulary

Keywords

bsd-puppet-module freebsd-puppet-module hacktoberfest puppet
Last synced: 6 months ago · JSON representation

Repository

A Puppet module for managing Poudriere, the PkgNG build system.

Basic Info
Statistics
  • Stars: 12
  • Watchers: 42
  • Forks: 15
  • Open Issues: 2
  • Releases: 0
Topics
bsd-puppet-module freebsd-puppet-module hacktoberfest puppet
Created over 13 years ago · Last pushed 6 months ago
Metadata Files
Readme Changelog Contributing

README.md

Puppet-poudriere

Build Status Code Coverage Puppet Forge Puppet Forge - downloads Puppet Forge - endorsement Puppet Forge - scores License

Manage the FreeBSD PkgNG build system with Puppet.

Simple Implementation

```Puppet poudriere::env { "90amd64": makeopts => [ "WITHPKGNG=yes", "OPTIONSSET+= SASL", "OPTIONSSET+= TLS", "WITHIPV6=TRUE", "WITH_SSL=YES", ] }

nginx::vhost { "build.${domain}": port => 80, vhostroot => '/usr/local/poudriere/data/packages', autoindex => true, }

@@pkgng::repo { "${::fqdn}-90amd64": release => '9.0-RELEASE', mirror_type => 'http', repopath => '/90amd64-default/Latest/', } ```

Changing default settings

The poudriere class has some default parameters for global settings, such as the ZFS pool, root filesystem, and the FreeBSD mirror site to use (see init.pp for details). To change these defaults, declare the poudriere class with your own parameters.

If you do not want to use ZFS, you can use:

Puppet class { 'poudriere': zpool => false, }

Using port-specific make options

You can pass port-specific make options as a hash in pkg_makeopts. For instance, if you want to build Apache 2.4 with the PHP 5.5 module, you can do the following:

Puppet poudriere::env { "90amd64": makeopts => [ 'WITH_PKGNG=yes', 'APACHE_VERSION=24', 'APACHE_PORT=www/apache24', ], pkgs => [ 'www/apache24', 'lang/php55', ], pkg_makeopts => { 'lang/php55' => ['OPTIONS_SET+=APACHE'], }, }

Alternatively, a file containing make options for both global and port-specific use could be defined by setting makefile.

Using port-specific build options

Ports often allow for enabling or disabling support for certain features. Such options can be manually set by issueing poudriere options cat/port but can also be defined in puppet by setting pkg_optsdir. This should point to a directory with files such as could be found in /usr/local/etc/poudriere.d/${jail}-options/:

Puppet poudriere::env { "90amd64": pkg_optsdir => 'puppet:///path/to/dir/', }

Managing seperate portstrees

The default portstreee is no longer configuered by this module. You should create this yourself like so:

Puppet poudriere::portstree { 'default': }

yaml poudriere::portstrees: default:

By default environments use a portstree named default, which you should create as per the instructions above; however each build environment can be told which portstree to use:

```Puppet poudriere::portstree { "custom-ports": cronenable => false, fetchmethod => 'portsnap', }

poudriere::env { "custom-build": portstree => 'custom-ports', } ```

yaml poudriere::portstrees: default: custom-ports: cron_enabled: false fetch_method: portsnap poudriere::environments: custom-build: portstree: custom-ports

Owner

  • Name: Vox Pupuli
  • Login: voxpupuli
  • Kind: organization
  • Email: voxpupuli@groups.io
  • Location: #voxpupuli (Libera.chat)

Modules and tooling maintained by and for the Puppet community

GitHub Events

Total
  • Delete event: 4
  • Push event: 6
  • Pull request event: 10
  • Create event: 6
Last Year
  • Delete event: 4
  • Push event: 6
  • Pull request event: 10
  • Create event: 6

Committers

Last synced: 8 months ago

All Time
  • Total Commits: 193
  • Total Committers: 19
  • Avg Commits per committer: 10.158
  • Development Distribution Score (DDS): 0.731
Past Year
  • Commits: 10
  • Committers: 4
  • Avg Commits per committer: 2.5
  • Development Distribution Score (DDS): 0.5
Top Committers
Name Email Commits
Zach Leslie z****h@p****m 52
Romain Tartière r****n@b****g 41
Zach Leslie x****8@g****m 25
Tim Meusel t****m@b****e 23
Reinier Schoof r****r@s****l 10
Seth Lyons s****s@f****m 9
Walter Hop w****r@l****l 6
Dennis Weewer d****r@a****m 5
Dennis Hoppe g****b@d****e 4
Joseph Mulloy g****b@j****e 4
pccibot 1****t 3
David O'Rourke d****e@g****m 2
b4ldr g****b@j****g 2
markuszilch z****s@w****e 2
Christoph Maser c****b@g****m 1
Philippe Beaumont p****t@n****m 1
Jason Straw j****w@g****m 1
Massimiliano Adamo m****o@g****m 1
Thomas Bartelmess t****s@b****o 1

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 6
  • Total pull requests: 97
  • Average time to close issues: 7 months
  • Average time to close pull requests: 8 days
  • Total issue authors: 6
  • Total pull request authors: 18
  • Average comments per issue: 3.0
  • Average comments per pull request: 0.55
  • Merged pull requests: 92
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 14
  • Average time to close issues: N/A
  • Average time to close pull requests: about 3 hours
  • Issue authors: 0
  • Pull request authors: 4
  • Average comments per issue: 0
  • Average comments per pull request: 0.0
  • Merged pull requests: 12
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • smortex (1)
  • mengesb (1)
  • kubicek (1)
  • b4ldr (1)
  • sethlyons (1)
  • mdsummers (1)
Pull Request Authors
  • smortex (28)
  • bastelfreak (22)
  • zachfi (19)
  • pccibot (6)
  • zilchms (4)
  • dhoppe (3)
  • jdmulloy (3)
  • skoef (3)
  • lifeforms (3)
  • b4ldr (2)
  • TheMeier (2)
  • jstraw (2)
  • DJClean (2)
  • kapouik (1)
  • maxadamo (1)
Top Labels
Issue Labels
Pull Request Labels
modulesync (34) enhancement (12) backwards-incompatible (8) skip-changelog (7) bug (2)

Packages

  • Total packages: 1
  • Total downloads:
    • puppet 2,965 total
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 4
forge.puppet.com: puppet-poudriere

A module to manage the PkgNG build system

  • Versions: 4
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 2,965 Total
Rankings
Dependent repos count: 0.0%
Stargazers count: 4.2%
Forks count: 7.1%
Dependent packages count: 15.5%
Average: 23.0%
Downloads: 88.4%
Last synced: 6 months ago

Dependencies

Gemfile rubygems
  • coveralls >= 0 development
  • guard-rake >= 0 development
  • overcommit >= 0.39.1 development
  • puppet-strings >= 2.2 development
  • puppet_metadata ~> 1.0 development
  • simplecov-console >= 0 development
  • voxpupuli-acceptance ~> 1.0 development
  • voxpupuli-release >= 1.0.2 development
  • voxpupuli-test ~> 2.5 development
  • rake >= 0
Dockerfile docker
  • ruby 2.7 build
.github/workflows/ci.yml actions
.github/workflows/release.yml actions