Skip to content

Commit

Permalink
Added nginx ppa
Browse files Browse the repository at this point in the history
  • Loading branch information
BDQ committed Sep 27, 2012
1 parent 5736d6d commit e2217d6
Show file tree
Hide file tree
Showing 54 changed files with 1,655 additions and 3 deletions.
2 changes: 2 additions & 0 deletions .gitignore
@@ -1 +1,3 @@
files/*
*.swp
.DS_Store
1 change: 1 addition & 0 deletions manifests/modules.pp
@@ -1,3 +1,4 @@
import "apt"
import "puppetclient"
import "common"
import "augeas"
Expand Down
5 changes: 5 additions & 0 deletions modules/apt/.fixtures.yml
@@ -0,0 +1,5 @@
fixtures:
repositories:
"stdlib": "git://github.com/puppetlabs/puppetlabs-stdlib.git"
symlinks:
"apt": "#{source_dir}"
5 changes: 5 additions & 0 deletions modules/apt/.gemfile
@@ -0,0 +1,5 @@
source :rubygems

puppetversion = ENV.key?('PUPPET_VERSION') ? "= #{ENV['PUPPET_VERSION']}" : ['>= 2.7']
gem 'puppet', puppetversion
gem 'puppetlabs_spec_helper', '>= 0.1.0'
2 changes: 2 additions & 0 deletions modules/apt/.gitignore
@@ -0,0 +1,2 @@
*.swp
pkg/
16 changes: 16 additions & 0 deletions modules/apt/.travis.yml
@@ -0,0 +1,16 @@
language: ruby
rvm:
- 1.8.7
before_script:
after_script:
script: "rake spec"
branches:
only:
- master
env:
- PUPPET_VERSION=2.7.13
- PUPPET_VERSION=2.7.6
- PUPPET_VERSION=2.6.9
notifications:
email: false
gemfile: .gemfile
83 changes: 83 additions & 0 deletions modules/apt/CHANGELOG
@@ -0,0 +1,83 @@
2012-05-25 Puppet Labs <info@puppetlabs.com> - 0.0.4
* Fix ppa list filename when there is a period in the PPA name
* Add .pref extension to apt preferences files
* Allow preferences to be purged
* Extend pin support

2012-05-04 Puppet Labs <info@puppetlabs.com> - 0.0.3
* only invoke apt-get update once
* only install python-software-properties if a ppa is added
* support 'ensure => absent' for all defined types
* add apt::conf
* add apt::backports
* fixed Modulefile for module tool dependency resolution
* configure proxy before doing apt-get update
* use apt-get update instead of aptitude for apt::ppa
* add support to pin release


2012-03-26 Puppet Labs <info@puppetlabs.com> - 0.0.2
41cedbb (#13261) Add real examples to smoke tests.
d159a78 (#13261) Add key.pp smoke test
7116c7a (#13261) Replace foo source with puppetlabs source
1ead0bf Ignore pkg directory.
9c13872 (#13289) Fix some more style violations
0ea4ffa (#13289) Change test scaffolding to use a module & manifest dir fixture path
a758247 (#13289) Clean up style violations and fix corresponding tests
99c3fd3 (#13289) Add puppet lint tests to Rakefile
5148cbf (#13125) Apt keys should be case insensitive
b9607a4 Convert apt::key to use anchors

2012-03-07 Puppet Labs <info@puppetlabs.com> - 0.0.1
d4fec56 Modify apt::source release parameter test
1132a07 (#12917) Add contributors to README
8cdaf85 (#12823) Add apt::key defined type and modify apt::source to use it
7c0d10b (#12809) $release should use $lsbdistcodename and fall back to manual input
be2cc3e (#12522) Adjust spec test for splitting purge
7dc60ae (#12522) Split purge option to spare sources.list
9059c4e Fix source specs to test all key permutations
8acb202 Add test for python-software-properties package
a4af11f Check if python-software-properties is defined before attempting to define it.
1dcbf3d Add tests for required_packages change
f3735d2 Allow duplicate $required_packages
74c8371 (#12430) Add tests for changes to apt module
97ebb2d Test two sources with the same key
1160bcd (#12526) Add ability to reverse apt { disable_keys => true }
2842d73 Add Modulefile to puppet-apt
c657742 Allow the use of the same key in multiple sources
8c27963 (#12522) Adding purge option to apt class
997c9fd (#12529) Add unit test for apt proxy settings
50f3cca (#12529) Add parameter to support setting a proxy for apt
d522877 (#12094) Replace chained .with_* with a hash
8cf1bd0 (#12094) Remove deprecated spec.opts file
2d688f4 (#12094) Add rspec-puppet tests for apt
0fb5f78 (#12094) Replace name with path in file resources
f759bc0 (#11953) Apt::force passes $version to aptitude
f71db53 (#11413) Add spec test for apt::force to verify changes to unless
2f5d317 (#11413) Update dpkg query used by apt::force
cf6caa1 (#10451) Add test coverage to apt::ppa
0dd697d include_src parameter in example; Whitespace cleanup
b662eb8 fix typos in "repositories"
1be7457 Fix (#10451) - apt::ppa fails to "apt-get update" when new PPA source is added
864302a Set the pin priority before adding the source (Fix #10449)
1de4e0a Refactored as per mlitteken
1af9a13 Added some crazy bash madness to check if the ppa is installed already. Otherwise the manifest tries to add it on every run!
52ca73e (#8720) Replace Apt::Ppa with Apt::Builddep
5c05fa0 added builddep command.
a11af50 added the ability to specify the content of a key
c42db0f Fixes ppa test.
77d2b0d reformatted whitespace to match recommended style of 2 space indentation.
27ebdfc ignore swap files.
377d58a added smoke tests for module.
18f614b reformatted apt::ppa according to recommended style.
d8a1e4e Created a params class to hold global data.
636ae85 Added two params for apt class
148fc73 Update LICENSE.
ed2d19e Support ability to add more than one PPA
420d537 Add call to apt-update after add-apt-repository in apt::ppa
945be77 Add package definition for python-software-properties
71fc425 Abs paths for all commands
9d51cd1 Adding LICENSE
71796e3 Heading fix in README
87777d8 Typo in README
f848bac First commit
19 changes: 19 additions & 0 deletions modules/apt/LICENSE
@@ -0,0 +1,19 @@
Copyright (c) 2011 Evolving Web Inc.

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
11 changes: 11 additions & 0 deletions modules/apt/Modulefile
@@ -0,0 +1,11 @@
name 'puppetlabs-apt'
version '0.0.4'
source 'https://github.com/puppetlabs/puppetlabs-apt'
author 'Evolving Web / Puppet Labs'
license 'Apache License 2.0'
summary 'Puppet Labs Apt Module'
description 'APT Module for Puppet'
project_page 'https://github.com/puppetlabs/puppetlabs-apt'

## Add dependencies, if any:
dependency 'puppetlabs/stdlib', '>= 2.2.1'
95 changes: 95 additions & 0 deletions modules/apt/README.md
@@ -0,0 +1,95 @@
# Apt module for Puppet

## Description
Provides helpful definitions for dealing with Apt.

## Usage

### apt:builddep
Install the build depends of a specified package.
<pre>
apt::builddep { "glusterfs-server": }
</pre>

### apt::force
Force a package to be installed from a specific release. Useful when using repositories like Debian unstable in Ubuntu.
<pre>
apt::force { "glusterfs-server":
release => "unstable",
version => '3.0.3',
require => Apt::Source["debian_unstable"],
}
</pre>

### apt::pin
Add an apt pin for a certain release.
<pre>
apt::pin { "karmic": priority => 700 }
apt::pin { "karmic-updates": priority => 700 }
apt::pin { "karmic-security": priority => 700 }
</pre>

### apt::ppa
Add a ppa repository using `add-apt-repository`. Somewhat experimental.
<pre>
apt::ppa { "ppa:drizzle-developers/ppa": }
</pre>

### apt::release
Set the default apt release. Useful when using repositories like Debian unstable in Ubuntu.
<pre>
apt::release { "karmic": }
</pre>

### apt::source
Add an apt source to `/etc/apt/sources.list.d/`.
<pre>
apt::source { "debian_unstable":
location => "http://debian.mirror.iweb.ca/debian/",
release => "unstable",
repos => "main contrib non-free",
required_packages => "debian-keyring debian-archive-keyring",
key => "55BE302B",
key_server => "subkeys.pgp.net",
pin => "-10",
include_src => true
}
</pre>
### apt::key
Add a key to the list of keys used by apt to authenticate packages.
<pre>
apt::key { "puppetlabs":
key => "4BD6EC30",
key_server => "pgp.mit.edu",
}
</pre>

<pre>
apt::key { "jenkins":
key => "D50582E6",
key_source => "http://pkg.jenkins-ci.org/debian/jenkins-ci.org.key",
}
</pre>

Note that use of the "key_source" parameter requires wget to be installed and working.


## Contributors
A lot of great people have contributed to this module. A somewhat current list follows.
Ben Godfrey <ben.godfrey@wonga.com>
Christian G. Warden <cwarden@xerus.org>
Dan Bode <bodepd@gmail.com> <dan@puppetlabs.com>
Garrett Honeycutt <github@garretthoneycutt.com>
Jeff Wallace <jeff@evolvingweb.ca> <jeff@tjwallace.ca>
Ken Barber <ken@bob.sh>
Matthaus Litteken <matthaus@puppetlabs.com> <mlitteken@gmail.com>
Matthias Pigulla <mp@webfactory.de>
Monty Taylor <mordred@inaugust.com>
Peter Drake <pdrake@allplayers.com>
Reid Vandewiele <marut@cat.pdx.edu>
Robert Navarro <rnavarro@phiivo.com>
Ryan Coleman <ryan@puppetlabs.com>
Scott McLeod <scott.mcleod@theice.com>
Spencer Krum <spencer@puppetlabs.com>
William Van Hevelingen <blkperl@cat.pdx.edu> <wvan13@gmail.com>
Zach Leslie <zach@puppetlabs.com>
1 change: 1 addition & 0 deletions modules/apt/Rakefile
@@ -0,0 +1 @@
require 'puppetlabs_spec_helper/rake_tasks'
48 changes: 48 additions & 0 deletions modules/apt/manifests/backports.pp
@@ -0,0 +1,48 @@
# This adds the necessary components to get backports for ubuntu and debian
#
# == Parameters
#
# [*release*]
# The ubuntu/debian release name. Defaults to $lsbdistcodename. Setting this
# manually can cause undefined behavior. (Read: universe exploding)
#
# == Examples
#
# include apt::backports
#
# class { 'apt::backports':
# release => 'natty',
# }
#
# == Authors
#
# Ben Hughes, I think. At least blame him if this goes wrong.
# I just added puppet doc.
#
# == Copyright
#
# Copyright 2011 Puppet Labs Inc, unless otherwise noted.
class apt::backports(
$release = $::lsbdistcodename,
$location = $apt::params::backports_location
) inherits apt::params {

$release_real = downcase($release)
$key = $::lsbdistid ? {
'debian' => '55BE302B',
'ubuntu' => '437D05B5',
}
$repos = $::lsbdistid ? {
'debian' => 'main contrib non-free',
'ubuntu' => 'main universe multiverse restricted',
}

apt::source { 'backports':
location => $location,
release => "${release_real}-backports",
repos => $repos,
key => $key,
key_server => 'pgp.mit.edu',
pin => '200',
}
}
16 changes: 16 additions & 0 deletions modules/apt/manifests/builddep.pp
@@ -0,0 +1,16 @@
# builddep.pp

define apt::builddep() {
include apt::update

exec { "apt-builddep-${name}":
command => "/usr/bin/apt-get -y --force-yes build-dep ${name}",
logoutput => 'on_failure',
notify => Exec['apt_update'],
}

# Need anchor to provide containment for dependencies.
anchor { "apt::builddep::${name}":
require => Class['apt::update'],
}
}
18 changes: 18 additions & 0 deletions modules/apt/manifests/conf.pp
@@ -0,0 +1,18 @@
define apt::conf (
$content,
$ensure = present,
$priority = '50'
) {

include apt::params

$apt_conf_d = $apt::params::apt_conf_d

file { "${apt_conf_d}/${priority}${name}":
ensure => $ensure,
content => $content,
owner => root,
group => root,
mode => '0644',
}
}
21 changes: 21 additions & 0 deletions modules/apt/manifests/debian/testing.pp
@@ -0,0 +1,21 @@
# testing.pp

class apt::debian::testing {
include apt

# deb http://debian.mirror.iweb.ca/debian/ testing main contrib non-free
# deb-src http://debian.mirror.iweb.ca/debian/ testing main contrib non-free
# Key: 55BE302B Server: subkeys.pgp.net
# debian-keyring
# debian-archive-keyring

apt::source { 'debian_testing':
location => 'http://debian.mirror.iweb.ca/debian/',
release => 'testing',
repos => 'main contrib non-free',
required_packages => 'debian-keyring debian-archive-keyring',
key => '55BE302B',
key_server => 'subkeys.pgp.net',
pin => '-10',
}
}
21 changes: 21 additions & 0 deletions modules/apt/manifests/debian/unstable.pp
@@ -0,0 +1,21 @@
# unstable.pp

class apt::debian::unstable {
include apt

# deb http://debian.mirror.iweb.ca/debian/ unstable main contrib non-free
# deb-src http://debian.mirror.iweb.ca/debian/ unstable main contrib non-free
# Key: 55BE302B Server: subkeys.pgp.net
# debian-keyring
# debian-archive-keyring

apt::source { 'debian_unstable':
location => 'http://debian.mirror.iweb.ca/debian/',
release => 'unstable',
repos => 'main contrib non-free',
required_packages => 'debian-keyring debian-archive-keyring',
key => '55BE302B',
key_server => 'subkeys.pgp.net',
pin => '-10',
}
}

0 comments on commit e2217d6

Please sign in to comment.