puppet 2.7.19 → 2.7.20.rc1
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of puppet might be problematic. Click here for more details.
- data/CONTRIBUTING.md +61 -238
- data/Gemfile +32 -0
- data/Gemfile.lock +44 -0
- data/LICENSE +1 -1
- data/README_DEVELOPER.md +300 -5
- data/Rakefile +41 -37
- data/ext/build_defaults.yaml +20 -0
- data/ext/debian/README.Debian +8 -0
- data/ext/debian/README.source +2 -0
- data/ext/debian/TODO.Debian +1 -0
- data/ext/debian/changelog.erb +1104 -0
- data/ext/debian/compat +1 -0
- data/ext/debian/control +142 -0
- data/ext/debian/copyright +361 -0
- data/ext/debian/docs +1 -0
- data/ext/debian/fileserver.conf +17 -0
- data/ext/debian/puppet-common.dirs +8 -0
- data/ext/debian/puppet-common.install +3 -0
- data/ext/debian/puppet-common.lintian-overrides +7 -0
- data/ext/debian/puppet-common.manpages +2 -0
- data/ext/debian/puppet-common.postinst +35 -0
- data/ext/debian/puppet-common.postrm +32 -0
- data/ext/debian/puppet-el.dirs +1 -0
- data/ext/debian/puppet-el.emacsen-install +25 -0
- data/ext/debian/puppet-el.emacsen-remove +11 -0
- data/ext/debian/puppet-el.emacsen-startup +9 -0
- data/ext/debian/puppet-el.install +1 -0
- data/ext/debian/puppet-testsuite.install +3 -0
- data/ext/debian/puppet-testsuite.lintian-overrides +4 -0
- data/ext/debian/puppet.NEWS +86 -0
- data/ext/debian/puppet.conf +14 -0
- data/ext/debian/puppet.default +7 -0
- data/ext/debian/puppet.dirs +1 -0
- data/ext/debian/puppet.init +118 -0
- data/ext/debian/puppet.install +4 -0
- data/ext/debian/puppet.lintian-overrides +3 -0
- data/ext/debian/puppet.logrotate +11 -0
- data/ext/debian/puppet.manpages +36 -0
- data/ext/debian/puppet.postinst +20 -0
- data/ext/debian/puppet.postrm +20 -0
- data/ext/debian/puppet.preinst +20 -0
- data/ext/debian/puppetmaster-common.install +5 -0
- data/ext/debian/puppetmaster-common.manpages +5 -0
- data/ext/debian/puppetmaster-common.puppetqd.default +27 -0
- data/ext/debian/puppetmaster-common.puppetqd.init +84 -0
- data/ext/debian/puppetmaster-passenger.dirs +4 -0
- data/ext/debian/puppetmaster-passenger.postinst +66 -0
- data/ext/debian/puppetmaster-passenger.postrm +33 -0
- data/ext/debian/puppetmaster.NEWS +13 -0
- data/ext/debian/puppetmaster.README.debian +16 -0
- data/ext/debian/puppetmaster.default +38 -0
- data/ext/debian/puppetmaster.dirs +1 -0
- data/ext/debian/puppetmaster.init +158 -0
- data/ext/debian/puppetmaster.install +1 -0
- data/ext/debian/puppetmaster.lintian-overrides +3 -0
- data/ext/debian/puppetmaster.manpages +1 -0
- data/ext/debian/puppetmaster.postinst +20 -0
- data/ext/debian/puppetmaster.postrm +5 -0
- data/ext/debian/puppetmaster.preinst +22 -0
- data/ext/debian/rules +127 -0
- data/ext/debian/source/format +1 -0
- data/ext/debian/source/options +1 -0
- data/ext/debian/vim-puppet.README.Debian +13 -0
- data/ext/debian/vim-puppet.dirs +3 -0
- data/ext/debian/vim-puppet.yaml +5 -0
- data/ext/debian/watch +2 -0
- data/ext/emacs/puppet-mode.el +1 -0
- data/{conf → ext}/osx/PackageInfo.plist +0 -0
- data/{conf → ext}/osx/createpackage.sh +0 -0
- data/ext/osx/file_mapping.yaml +38 -0
- data/ext/osx/preflight.erb +37 -0
- data/{tasks/rake/templates → ext/osx}/prototype.plist.erb +0 -0
- data/ext/packaging/README-Solaris.md +117 -0
- data/ext/packaging/README.md +255 -0
- data/ext/packaging/spec/spec_helper.rb +12 -0
- data/ext/packaging/spec/tasks/00_utils_spec.rb +66 -0
- data/ext/packaging/tasks/00_utils.rake +382 -0
- data/ext/packaging/tasks/10_setupvars.rake +71 -0
- data/ext/packaging/tasks/20_setupextravars.rake +25 -0
- data/ext/packaging/tasks/apple.rake +201 -0
- data/ext/packaging/tasks/clean.rake +5 -0
- data/ext/packaging/tasks/deb.rake +108 -0
- data/ext/packaging/tasks/doc.rake +20 -0
- data/ext/packaging/tasks/fetch.rake +18 -0
- data/ext/packaging/tasks/gem.rake +68 -0
- data/ext/packaging/tasks/ips.rake +80 -0
- data/ext/packaging/tasks/mock.rake +126 -0
- data/ext/packaging/tasks/pe_deb.rake +9 -0
- data/ext/packaging/tasks/pe_remote.rake +45 -0
- data/ext/packaging/tasks/pe_rpm.rake +21 -0
- data/ext/packaging/tasks/pe_ship.rake +30 -0
- data/ext/packaging/tasks/pe_sign.rake +27 -0
- data/ext/packaging/tasks/pe_sles.rake +96 -0
- data/ext/packaging/tasks/release.rake +73 -0
- data/ext/packaging/tasks/remote_build.rake +78 -0
- data/ext/packaging/tasks/rpm.rake +52 -0
- data/ext/packaging/tasks/ship.rake +78 -0
- data/ext/packaging/tasks/sign.rake +82 -0
- data/ext/packaging/tasks/tag.rake +8 -0
- data/ext/packaging/tasks/tar.rake +68 -0
- data/ext/packaging/tasks/template.rake +13 -0
- data/ext/packaging/tasks/update.rake +16 -0
- data/ext/packaging/tasks/version.rake +21 -0
- data/ext/project_data.yaml +24 -0
- data/{conf/redhat/puppet.spec → ext/redhat/puppet.spec.erb} +18 -10
- data/install.rb +8 -8
- data/lib/puppet.rb +2 -6
- data/lib/puppet/agent/locker.rb +2 -0
- data/lib/puppet/application.rb +1 -1
- data/lib/puppet/application/agent.rb +1 -1
- data/lib/puppet/application/apply.rb +1 -1
- data/lib/puppet/application/cert.rb +5 -6
- data/lib/puppet/application/describe.rb +1 -1
- data/lib/puppet/application/device.rb +1 -1
- data/lib/puppet/application/doc.rb +1 -1
- data/lib/puppet/application/filebucket.rb +1 -1
- data/lib/puppet/application/inspect.rb +1 -1
- data/lib/puppet/application/kick.rb +1 -1
- data/lib/puppet/application/master.rb +1 -1
- data/lib/puppet/application/resource.rb +1 -1
- data/lib/puppet/defaults.rb +21 -3
- data/lib/puppet/external/dot.rb +1 -1
- data/lib/puppet/face/help/global.erb +1 -1
- data/lib/puppet/face/module/install.rb +1 -1
- data/lib/puppet/face/module/list.rb +1 -1
- data/lib/puppet/face/module/uninstall.rb +1 -1
- data/lib/puppet/face/node/clean.rb +23 -18
- data/lib/puppet/face/parser.rb +11 -2
- data/lib/puppet/file_collection.rb +16 -27
- data/lib/puppet/file_collection/lookup.rb +6 -16
- data/lib/puppet/file_serving/base.rb +4 -4
- data/lib/puppet/indirector/catalog/static_compiler.rb +3 -4
- data/lib/puppet/indirector/certificate/disabled_ca.rb +22 -0
- data/lib/puppet/indirector/certificate_request/disabled_ca.rb +22 -0
- data/lib/puppet/indirector/certificate_revocation_list/disabled_ca.rb +22 -0
- data/lib/puppet/indirector/face.rb +2 -2
- data/lib/puppet/indirector/key/disabled_ca.rb +22 -0
- data/lib/puppet/indirector/node/exec.rb +13 -1
- data/lib/puppet/indirector/request.rb +4 -0
- data/lib/puppet/metatype/manager.rb +17 -10
- data/lib/puppet/network/authstore.rb +1 -1
- data/lib/puppet/network/rights.rb +1 -2
- data/lib/puppet/node/environment.rb +1 -0
- data/lib/puppet/parameter/value.rb +9 -3
- data/lib/puppet/parser/ast.rb +1 -4
- data/lib/puppet/parser/files.rb +1 -1
- data/lib/puppet/parser/functions.rb +68 -22
- data/lib/puppet/parser/functions/create_resources.rb +2 -3
- data/lib/puppet/parser/functions/shellquote.rb +21 -25
- data/lib/puppet/parser/lexer.rb +40 -6
- data/lib/puppet/parser/relationship.rb +3 -1
- data/lib/puppet/parser/resource.rb +2 -3
- data/lib/puppet/parser/resource/param.rb +3 -5
- data/lib/puppet/parser/scope.rb +7 -4
- data/lib/puppet/property.rb +5 -3
- data/lib/puppet/provider.rb +5 -5
- data/lib/puppet/provider/aixobject.rb +1 -1
- data/lib/puppet/provider/augeas/augeas.rb +1 -1
- data/lib/puppet/provider/exec/windows.rb +1 -1
- data/lib/puppet/provider/file/windows.rb +10 -29
- data/lib/puppet/provider/group/groupadd.rb +2 -3
- data/lib/puppet/provider/group/ldap.rb +1 -1
- data/lib/puppet/provider/group/windows_adsi.rb +1 -1
- data/lib/puppet/provider/ldap.rb +5 -1
- data/lib/puppet/provider/nameservice.rb +3 -3
- data/lib/puppet/provider/nameservice/directoryservice.rb +2 -2
- data/lib/puppet/provider/package/gem.rb +6 -2
- data/lib/puppet/provider/package/portage.rb +4 -2
- data/lib/puppet/provider/parsedfile.rb +1 -1
- data/lib/puppet/provider/scheduled_task/win32_taskscheduler.rb +2 -2
- data/lib/puppet/provider/service/base.rb +2 -41
- data/lib/puppet/provider/service/daemontools.rb +1 -1
- data/lib/puppet/provider/service/launchd.rb +1 -1
- data/lib/puppet/provider/service/redhat.rb +6 -5
- data/lib/puppet/provider/service/runit.rb +1 -1
- data/lib/puppet/provider/service/service.rb +43 -0
- data/lib/puppet/provider/service/windows.rb +1 -8
- data/lib/puppet/provider/user/user_role_add.rb +2 -1
- data/lib/puppet/provider/user/useradd.rb +8 -3
- data/lib/puppet/provider/user/windows_adsi.rb +12 -1
- data/lib/puppet/provider/zone/solaris.rb +1 -1
- data/lib/puppet/rails/inventory_node.rb +26 -13
- data/lib/puppet/reports.rb +1 -1
- data/lib/puppet/resource.rb +20 -5
- data/lib/puppet/resource/status.rb +1 -1
- data/lib/puppet/ssl/certificate_authority.rb +2 -0
- data/lib/puppet/ssl/host.rb +31 -6
- data/lib/puppet/test/test_helper.rb +3 -1
- data/lib/puppet/transaction/event.rb +1 -1
- data/lib/puppet/transaction/report.rb +2 -2
- data/lib/puppet/type.rb +30 -25
- data/lib/puppet/type/augeas.rb +1 -1
- data/lib/puppet/type/cron.rb +2 -2
- data/lib/puppet/type/exec.rb +6 -6
- data/lib/puppet/type/file.rb +5 -15
- data/lib/puppet/type/file/content.rb +1 -1
- data/lib/puppet/type/file/ensure.rb +1 -1
- data/lib/puppet/type/file/mode.rb +1 -1
- data/lib/puppet/type/file/selcontext.rb +6 -2
- data/lib/puppet/type/file/source.rb +1 -1
- data/lib/puppet/type/mount.rb +1 -1
- data/lib/puppet/type/package.rb +1 -1
- data/lib/puppet/type/schedule.rb +1 -1
- data/lib/puppet/type/scheduled_task.rb +1 -1
- data/lib/puppet/type/tidy.rb +1 -1
- data/lib/puppet/type/whit.rb +16 -9
- data/lib/puppet/util.rb +27 -11
- data/lib/puppet/util/adsi.rb +25 -23
- data/lib/puppet/util/autoload.rb +1 -1
- data/lib/puppet/util/classgen.rb +1 -1
- data/lib/puppet/util/feature.rb +3 -1
- data/lib/puppet/util/fileparsing.rb +9 -9
- data/lib/puppet/util/filetype.rb +55 -40
- data/lib/puppet/util/instance_loader.rb +5 -5
- data/lib/puppet/util/instrumentation.rb +3 -5
- data/lib/puppet/util/log_paths.rb +1 -3
- data/lib/puppet/util/monkey_patches.rb +34 -8
- data/lib/puppet/util/platform.rb +7 -0
- data/lib/puppet/util/posix.rb +3 -3
- data/lib/puppet/util/provider_features.rb +2 -3
- data/lib/puppet/util/rdoc.rb +4 -3
- data/lib/puppet/util/reference.rb +1 -1
- data/lib/puppet/util/selinux.rb +31 -36
- data/lib/puppet/util/tagging.rb +28 -6
- data/lib/puppet/util/windows.rb +1 -0
- data/lib/puppet/util/windows/error.rb +1 -1
- data/lib/puppet/util/windows/process.rb +3 -3
- data/lib/puppet/util/windows/security.rb +9 -46
- data/lib/puppet/util/windows/sid.rb +96 -0
- data/lib/puppet/util/windows/user.rb +65 -2
- data/lib/puppet/util/zaml.rb +109 -59
- data/lib/puppet/version.rb +18 -0
- data/spec/fixtures/unit/util/filetype/aixtab_output +44 -0
- data/spec/fixtures/unit/util/filetype/suntab_output +9 -0
- data/spec/integration/defaults_spec.rb +26 -7
- data/spec/integration/parser/functions_spec.rb +0 -4
- data/spec/integration/util/file_locking_spec.rb +1 -1
- data/spec/integration/util/windows/security_spec.rb +3 -23
- data/spec/lib/puppet_spec/files.rb +3 -3
- data/spec/shared_contexts/platform.rb +8 -0
- data/spec/spec_helper.rb +6 -1
- data/spec/unit/application/queue_spec.rb +2 -1
- data/spec/unit/configurer_spec.rb +1 -1
- data/spec/unit/face/{instrumentation_data.rb → instrumentation_data_spec.rb} +0 -0
- data/spec/unit/face/{instrumentation_listener.rb → instrumentation_listener_spec.rb} +0 -0
- data/spec/unit/face/{instrumentation_probe.rb → instrumentation_probe_spec.rb} +0 -0
- data/spec/unit/indirector/catalog/static_compiler_spec.rb +194 -0
- data/spec/unit/indirector/certificate/disabled_ca_spec.rb +33 -0
- data/spec/unit/indirector/certificate_request/disabled_ca_spec.rb +33 -0
- data/spec/unit/indirector/certificate_revocation_list/disabled_ca_spec.rb +33 -0
- data/spec/unit/indirector/key/disabled_ca_spec.rb +33 -0
- data/spec/unit/indirector/request_spec.rb +22 -0
- data/spec/unit/network/http/webrick_spec.rb +0 -7
- data/spec/unit/node/environment_spec.rb +8 -8
- data/spec/unit/parser/ast_spec.rb +0 -5
- data/spec/unit/parser/collector_spec.rb +1 -0
- data/spec/unit/parser/files_spec.rb +2 -2
- data/spec/unit/parser/functions/create_resources_spec.rb +3 -4
- data/spec/unit/parser/functions/require_spec.rb +0 -6
- data/spec/unit/parser/functions/shellquote_spec.rb +0 -5
- data/spec/unit/parser/functions/template_spec.rb +6 -1
- data/spec/unit/parser/functions_spec.rb +73 -23
- data/spec/unit/parser/lexer_spec.rb +133 -8
- data/spec/unit/parser/relationship_spec.rb +24 -0
- data/spec/unit/parser/resource_spec.rb +0 -4
- data/spec/unit/parser/scope_spec.rb +2 -2
- data/spec/unit/property_spec.rb +21 -1
- data/spec/unit/provider/exec/posix_spec.rb +7 -6
- data/spec/unit/provider/file/windows_spec.rb +29 -29
- data/spec/unit/provider/group/groupadd_spec.rb +36 -30
- data/spec/unit/provider/group/windows_adsi_spec.rb +2 -2
- data/spec/unit/provider/package/gem_spec.rb +12 -0
- data/spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb +14 -11
- data/spec/unit/provider/service/redhat_spec.rb +11 -1
- data/spec/unit/provider/service/windows_spec.rb +19 -0
- data/spec/unit/provider/user/ldap_spec.rb +22 -8
- data/spec/unit/provider/user/user_role_add_spec.rb +12 -0
- data/spec/unit/provider/user/useradd_spec.rb +146 -118
- data/spec/unit/provider/user/windows_adsi_spec.rb +24 -2
- data/spec/unit/puppet_spec.rb +10 -0
- data/spec/unit/resource/status_spec.rb +1 -1
- data/spec/unit/resource_spec.rb +73 -0
- data/spec/unit/ssl/certificate_authority_spec.rb +25 -1
- data/spec/unit/ssl/host_spec.rb +73 -27
- data/spec/unit/ssl/key_spec.rb +0 -4
- data/spec/unit/transaction/event_spec.rb +1 -1
- data/spec/unit/type/exec_spec.rb +1 -1
- data/spec/unit/type/file/content_spec.rb +6 -4
- data/spec/unit/type/file/{ctime.rb → ctime_spec.rb} +0 -0
- data/spec/unit/type/file/{mtime.rb → mtime_spec.rb} +0 -0
- data/spec/unit/type/file/{type.rb → type_spec.rb} +0 -0
- data/spec/unit/type/file_spec.rb +2 -12
- data/spec/unit/type/host_spec.rb +14 -5
- data/spec/unit/type/mount_spec.rb +8 -0
- data/spec/unit/type/scheduled_task_spec.rb +2 -2
- data/spec/unit/util/adsi_spec.rb +23 -8
- data/spec/unit/util/command_line_spec.rb +11 -2
- data/spec/unit/util/feature_spec.rb +12 -1
- data/spec/unit/util/filetype_spec.rb +161 -55
- data/spec/unit/util/log_spec.rb +1 -1
- data/spec/unit/util/monkey_patches_spec.rb +7 -0
- data/spec/unit/util/rdoc_spec.rb +8 -2
- data/spec/unit/util/selinux_spec.rb +24 -32
- data/spec/unit/util/windows/sid_spec.rb +100 -0
- data/spec/unit/util/zaml_spec.rb +165 -25
- data/spec/unit/util_spec.rb +3 -9
- data/spec/watchr.rb +2 -6
- data/tasks/rake/gem.rake +4 -2
- data/tasks/rake/sign.rake +1 -1
- data/test/language/parser.rb +1 -0
- data/test/language/scope.rb +0 -5
- data/test/language/snippets.rb +1 -2
- data/test/lib/puppettest.rb +16 -27
- data/test/lib/puppettest/parsertesting.rb +0 -1
- data/test/network/authstore.rb +2 -4
- data/test/puppet/defaults.rb +0 -4
- data/test/util/fileparsing.rb +2 -6
- metadata +1706 -1617
- data/conf/osx/preflight +0 -24
- data/spec/spec.opts +0 -4
- data/spec/unit/file_collection/lookup_spec.rb +0 -45
- data/spec/unit/file_collection_spec.rb +0 -52
- data/tasks/rake/apple.rake +0 -176
- data/test/puppet/errortest.rb +0 -19
@@ -0,0 +1 @@
|
|
1
|
+
debian/tmp/usr/sbin/puppetmasterd usr/sbin
|
@@ -0,0 +1 @@
|
|
1
|
+
man/man8/puppetmasterd.8
|
@@ -0,0 +1,20 @@
|
|
1
|
+
#!/bin/sh
|
2
|
+
|
3
|
+
set -e
|
4
|
+
|
5
|
+
# Remove renamed configuration files which are now handled by other
|
6
|
+
# packages
|
7
|
+
if dpkg-maintscript-helper supports rm_conffile 2>/dev/null; then
|
8
|
+
|
9
|
+
dpkg-maintscript-helper rm_conffile \
|
10
|
+
/etc/logrotate.d/puppetmaster 2.7.16-1puppetlabs1 puppetmaster -- "$@"
|
11
|
+
|
12
|
+
# For systems with dpkg < 1.15.7-2
|
13
|
+
else
|
14
|
+
|
15
|
+
if [ -f /etc/logrotate.d/puppetmaster ]; then
|
16
|
+
rm /etc/logrotate.d/puppetmaster || true
|
17
|
+
fi
|
18
|
+
fi
|
19
|
+
|
20
|
+
#DEBHELPER#
|
@@ -0,0 +1,22 @@
|
|
1
|
+
#!/bin/sh
|
2
|
+
|
3
|
+
set -e
|
4
|
+
|
5
|
+
# Remove renamed configuration files which are now handled by other
|
6
|
+
# packages
|
7
|
+
if dpkg-maintscript-helper supports rm_conffile 2>/dev/null; then
|
8
|
+
|
9
|
+
dpkg-maintscript-helper rm_conffile \
|
10
|
+
/etc/logrotate.d/puppetmaster 2.7.16-1puppetlabs1 puppetmaster -- "$@"
|
11
|
+
|
12
|
+
|
13
|
+
# For systems with dpkg < 1.15.7-2
|
14
|
+
else
|
15
|
+
|
16
|
+
if [ -f /etc/logrotate.d/puppetmaster ]; then
|
17
|
+
rm /etc/logrotate.d/puppetmaster || true
|
18
|
+
fi
|
19
|
+
fi
|
20
|
+
|
21
|
+
|
22
|
+
#DEBHELPER#
|
data/ext/debian/rules
ADDED
@@ -0,0 +1,127 @@
|
|
1
|
+
#!/usr/bin/make -f
|
2
|
+
# -*- makefile -*-
|
3
|
+
|
4
|
+
# Uncomment this to turn on verbose mode.
|
5
|
+
#export DH_VERBOSE=1
|
6
|
+
|
7
|
+
INSTALL=install -Dp
|
8
|
+
|
9
|
+
prefix := $(CURDIR)/debian/tmp
|
10
|
+
bindir := $(prefix)/usr/bin
|
11
|
+
sbindir := $(prefix)/usr/sbin
|
12
|
+
libdir := $(prefix)/usr/lib
|
13
|
+
localstatedir := $(prefix)/var
|
14
|
+
rubylibdir := $(libdir)/ruby/1.8
|
15
|
+
sysconfdir := $(prefix)/etc
|
16
|
+
pkgconfdir := $(sysconfdir)/puppet
|
17
|
+
|
18
|
+
ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
|
19
|
+
CFLAGS += -O0
|
20
|
+
else
|
21
|
+
CFLAGS += -O2
|
22
|
+
endif
|
23
|
+
|
24
|
+
configure: configure-stamp
|
25
|
+
configure-stamp:
|
26
|
+
dh_testdir
|
27
|
+
touch configure-stamp
|
28
|
+
|
29
|
+
|
30
|
+
build-arch: build
|
31
|
+
build-indep: build
|
32
|
+
|
33
|
+
build: build-stamp
|
34
|
+
build-stamp: configure-stamp
|
35
|
+
dh_testdir
|
36
|
+
touch build-stamp
|
37
|
+
|
38
|
+
clean:
|
39
|
+
dh_testdir
|
40
|
+
dh_testroot
|
41
|
+
rm -f build-stamp configure-stamp
|
42
|
+
rm -f debian/puppet-common.logcheck.ignore.server
|
43
|
+
dh_clean
|
44
|
+
|
45
|
+
install: build
|
46
|
+
dh_testdir
|
47
|
+
dh_testroot
|
48
|
+
dh_clean -k
|
49
|
+
dh_installdirs
|
50
|
+
|
51
|
+
# Note sbindir does nothing right now. Leaving in for future
|
52
|
+
# puppet versions where it is respected.
|
53
|
+
$(CURDIR)/install.rb --destdir=debian/tmp --bindir=/usr/bin \
|
54
|
+
--sbindir=/usr/sbin --sitelibdir=/usr/lib/ruby/1.8
|
55
|
+
|
56
|
+
# strip executable bit from all the non-executable files.
|
57
|
+
find debian/tmp/usr/lib/ruby/1.8 -type f -perm /u+x,g+x,o+x -exec chmod a-x {} \;
|
58
|
+
# fix the permissions on all of the directories
|
59
|
+
find debian/tmp/usr/lib/ruby/1.8 -type d -exec chmod 755 {} \;
|
60
|
+
|
61
|
+
# Vim auto-syntax-highlighting stuff
|
62
|
+
$(INSTALL) -m0644 ext/vim/syntax/puppet.vim \
|
63
|
+
$(CURDIR)/debian/vim-puppet/usr/share/vim/addons/syntax/
|
64
|
+
$(INSTALL) -m0644 ext/vim/ftdetect/puppet.vim \
|
65
|
+
$(CURDIR)/debian/vim-puppet/usr/share/vim/addons/ftdetect/
|
66
|
+
$(INSTALL) -m0644 debian/vim-puppet.yaml \
|
67
|
+
$(CURDIR)/debian/vim-puppet/usr/share/vim/registry/
|
68
|
+
|
69
|
+
# Emacs mode
|
70
|
+
$(INSTALL) -m0644 ext/emacs/puppet-mode.el \
|
71
|
+
$(CURDIR)/debian/puppet-el/usr/share/emacs/site-lisp/puppet-mode.el
|
72
|
+
|
73
|
+
# Install the rack README as README.rack
|
74
|
+
$(INSTALL) -m0644 ext/rack/README \
|
75
|
+
$(CURDIR)/debian/puppetmaster-passenger/usr/share/doc/puppetmaster-passenger/README.rack
|
76
|
+
# Install the config.ru
|
77
|
+
$(INSTALL) -m0644 ext/rack/files/config.ru \
|
78
|
+
$(CURDIR)/debian/puppetmaster-passenger/usr/share/puppet/rack/puppetmasterd
|
79
|
+
# Install apache2 site configuration template
|
80
|
+
$(INSTALL) -m0644 ext/rack/files/apache2.conf \
|
81
|
+
$(CURDIR)/debian/puppetmaster-passenger/usr/share/puppetmaster-passenger/apache2.site.conf.tmpl
|
82
|
+
|
83
|
+
# Add ext directory
|
84
|
+
cp -pr ext $(CURDIR)/debian/puppet-common/usr/share/puppet
|
85
|
+
# Remove misc packaging artifacts
|
86
|
+
rm -rf $(CURDIR)/debian/puppet-common/usr/share/puppet/ext/redhat
|
87
|
+
rm -rf $(CURDIR)/debian/puppet-common/usr/share/puppet/ext/osx
|
88
|
+
rm -rf $(CURDIR)/debian/puppet-common/usr/share/puppet/ext/project_data.yaml
|
89
|
+
rm -rf $(CURDIR)/debian/puppet-common/usr/share/puppet/ext/build_defaults.yaml
|
90
|
+
|
91
|
+
dh_installexamples -p puppet-common examples/*
|
92
|
+
|
93
|
+
$(INSTALL) -d -m0775 $(pkgconfdir)/templates
|
94
|
+
$(INSTALL) -d -m0775 $(pkgconfdir)/modules
|
95
|
+
|
96
|
+
# Logcheck rules. Gee I wish you could specify a file to source
|
97
|
+
# in dh_installlogcheck.
|
98
|
+
ln ext/logcheck/puppet debian/puppet-common.logcheck.ignore.server
|
99
|
+
|
100
|
+
# Build architecture-dependent files here.
|
101
|
+
binary-arch: build install
|
102
|
+
|
103
|
+
# Build architecture-independent files here.
|
104
|
+
binary-indep: build install
|
105
|
+
dh_testdir
|
106
|
+
dh_testroot
|
107
|
+
dh_install -i
|
108
|
+
dh_installchangelogs -i CHANGELOG
|
109
|
+
dh_installdocs -i
|
110
|
+
dh_installemacsen
|
111
|
+
dh_installlogcheck
|
112
|
+
dh_installman
|
113
|
+
dh_installinit -ppuppetmaster
|
114
|
+
dh_installinit --name=puppetqd
|
115
|
+
dh_installinit -ppuppet --error-handler=true -- defaults 21
|
116
|
+
dh_installlogrotate -i
|
117
|
+
dh_lintian -i
|
118
|
+
dh_compress -i
|
119
|
+
dh_fixperms -i
|
120
|
+
dh_installdeb -i
|
121
|
+
dh_shlibdeps -i
|
122
|
+
dh_gencontrol -i
|
123
|
+
dh_md5sums -i
|
124
|
+
dh_builddeb -i
|
125
|
+
|
126
|
+
binary: binary-indep binary-arch
|
127
|
+
.PHONY: build clean binary-indep binary-arch binary install configure
|
@@ -0,0 +1 @@
|
|
1
|
+
3.0 (quilt)
|
@@ -0,0 +1 @@
|
|
1
|
+
single-debian-patch
|
@@ -0,0 +1,13 @@
|
|
1
|
+
Dear user, this package provides the vim addon puppet, but it is not enabled
|
2
|
+
per default.
|
3
|
+
|
4
|
+
If you want to enable it for your user account just execute
|
5
|
+
|
6
|
+
vim-addons install puppet
|
7
|
+
|
8
|
+
Similarly, to enable it for all users of this system just execute (as root):
|
9
|
+
|
10
|
+
vim-addons -w install puppet
|
11
|
+
|
12
|
+
vim-addons is provided by the vim-addon-manager package, have a look at its
|
13
|
+
manpage for more information.
|
data/ext/debian/watch
ADDED
data/ext/emacs/puppet-mode.el
CHANGED
@@ -333,6 +333,7 @@ The variable puppet-indent-level controls the amount of indentation.
|
|
333
333
|
(setq mode-name "Puppet")
|
334
334
|
(setq major-mode 'puppet-mode)
|
335
335
|
(set-syntax-table puppet-mode-syntax-table)
|
336
|
+
(set (make-local-variable 'parse-sexp-ignore-comments) t)
|
336
337
|
(set (make-local-variable 'local-abbrev-table) puppet-mode-abbrev-table)
|
337
338
|
(set (make-local-variable 'comment-start) "# ")
|
338
339
|
(set (make-local-variable 'comment-start-skip) "#+ *")
|
File without changes
|
File without changes
|
@@ -0,0 +1,38 @@
|
|
1
|
+
directories:
|
2
|
+
lib:
|
3
|
+
path: 'usr/lib/ruby/site_ruby/1.8'
|
4
|
+
owner: 'root'
|
5
|
+
group: 'wheel'
|
6
|
+
perms: '0644'
|
7
|
+
bin:
|
8
|
+
path: 'usr/bin'
|
9
|
+
owner: 'root'
|
10
|
+
group: 'wheel'
|
11
|
+
perms: '0755'
|
12
|
+
sbin:
|
13
|
+
path: 'usr/sbin'
|
14
|
+
owner: 'root'
|
15
|
+
group: 'wheel'
|
16
|
+
perms: '0755'
|
17
|
+
'man/man8':
|
18
|
+
path: 'usr/share/man/man8'
|
19
|
+
owner: 'root'
|
20
|
+
group: 'wheel'
|
21
|
+
perms: '0755'
|
22
|
+
files:
|
23
|
+
'conf/auth.conf':
|
24
|
+
path: 'private/etc/puppet'
|
25
|
+
owner: 'root'
|
26
|
+
group: 'wheel'
|
27
|
+
perms: '0644'
|
28
|
+
'man/man5/puppet.conf.5':
|
29
|
+
path: 'usr/share/man/man5'
|
30
|
+
owner: 'root'
|
31
|
+
group: 'wheel'
|
32
|
+
perms: '0644'
|
33
|
+
'[A-Z]*':
|
34
|
+
path: 'usr/share/doc/puppet'
|
35
|
+
owner: 'root'
|
36
|
+
group: 'wheel'
|
37
|
+
perms: '0644'
|
38
|
+
|
@@ -0,0 +1,37 @@
|
|
1
|
+
#!/bin/bash
|
2
|
+
#
|
3
|
+
# Make sure that old puppet cruft is removed
|
4
|
+
# This also allows us to downgrade puppet as
|
5
|
+
# it's more likely that installing old versions
|
6
|
+
# over new will cause issues.
|
7
|
+
#
|
8
|
+
# ${3} is the destination volume so that this works correctly
|
9
|
+
# when being installed to volumes other than the current OS.
|
10
|
+
|
11
|
+
<% begin %>
|
12
|
+
<% require 'rubygems' %>
|
13
|
+
<% rescue LoadError %>
|
14
|
+
<% end %>
|
15
|
+
<% require 'rake' %>
|
16
|
+
|
17
|
+
<% Dir.chdir("lib") %>
|
18
|
+
<% FileList["**/*"].select {|i| File.file?(i)}.each do |file| %>
|
19
|
+
/bin/rm -Rf "${3}<%= @apple_libdir %>/<%=file%>"
|
20
|
+
<% end %>
|
21
|
+
|
22
|
+
<% Dir.chdir("../bin") %>
|
23
|
+
<% FileList["**/*"].select {|i| File.file?(i)}.each do |file| %>
|
24
|
+
/bin/rm -Rf "${3}<%= @apple_bindir %>/<%=file%>"
|
25
|
+
<% end %>
|
26
|
+
<% Dir.chdir("..") %>
|
27
|
+
|
28
|
+
# remove old doc files
|
29
|
+
/bin/rm -Rf "${3}<%= @apple_docdir %>/<%= @package_name %>"
|
30
|
+
|
31
|
+
# These files used to live in the sbindir but were
|
32
|
+
# removed in Pupppet >= 3.0. Remove them
|
33
|
+
/bin/rm -Rf "${3}<%= @apple_sbindir %>/puppetca"
|
34
|
+
/bin/rm -Rf "${3}<%= @apple_sbindir %>/puppetd"
|
35
|
+
/bin/rm -Rf "${3}<%= @apple_sbindir %>/puppetmasterd"
|
36
|
+
/bin/rm -Rf "${3}<%= @apple_sbindir %>/puppetqd"
|
37
|
+
/bin/rm -Rf "${3}<%= @apple_sbindir %>/puppetrun"
|
File without changes
|
@@ -0,0 +1,117 @@
|
|
1
|
+
## Create self signed certificate
|
2
|
+
|
3
|
+
- Generate the key pair
|
4
|
+
|
5
|
+
| keytool -genkey -keyalg RSA -alias selfsigned -keystore keystore.jks -storepass password -validity 360 -keysize 2048
|
6
|
+
|
7
|
+
|
8
|
+
- Extract Certificate
|
9
|
+
|
10
|
+
| keytool -export -rfc -keystore keystore.jks -storepass password -alias selfsigned -file mycert.pem
|
11
|
+
|
12
|
+
- Extract Cert Key to PEM format
|
13
|
+
|
14
|
+
| keytool -importkeystore -srcstoretype JKS -srckeystore keystore.jks -deststoretype PKCS12 -destkeystore mykey.der
|
15
|
+
| openssl pkcs12 -in mykey.der -nodes -out mykey.pem
|
16
|
+
|
17
|
+
## For installation.
|
18
|
+
|
19
|
+
- Check the publishers
|
20
|
+
|
21
|
+
| pkg publisher
|
22
|
+
solaris origin online http://pkg.oracle.com/solaris/release/
|
23
|
+
|
24
|
+
- Add puppetlabs.com as a publisher
|
25
|
+
|
26
|
+
| pkg set-publisher -p http://solaris-11-ips-repo.acctest.dc1.puppetlabs.net puppetlabs.com
|
27
|
+
|
28
|
+
- Check that we have it correct
|
29
|
+
|
30
|
+
| pkg publisher
|
31
|
+
solaris origin online http://pkg.oracle.com/solaris/release/
|
32
|
+
puppetlabs.com origin online http://solaris-11-ips-repo.acctest.dc1.puppetlabs.net/
|
33
|
+
|
34
|
+
- Verify that puppetlabs.com was set correctly,
|
35
|
+
|
36
|
+
| pkg publisher puppetlabs.com
|
37
|
+
Publisher: puppetlabs.com
|
38
|
+
Alias:
|
39
|
+
Origin URI: http://solaris-11-ips-repo.acctest.dc1.puppetlabs.net/
|
40
|
+
SSL Key: None
|
41
|
+
SSL Cert: None
|
42
|
+
Client UUID: 37084c4a-fdc6-11e1-832b-8800273bd610
|
43
|
+
Catalog Updated: September 13, 2012 08:31:25 PM
|
44
|
+
Enabled: Yes
|
45
|
+
Signature Policy: verify
|
46
|
+
|
47
|
+
- Try installing puppet
|
48
|
+
|
49
|
+
| pkg install puppet
|
50
|
+
Creating Plan |
|
51
|
+
pkg install: Chain was rooted in an untrusted self-signed certificate.
|
52
|
+
The package involved is:pkg://puppetlabs.com/system/management/puppet@3.0.0,5.11-6.192:20120913T212942Z
|
53
|
+
|
54
|
+
- We have two choices here, first, to ignore the signature policy for both publisher and image
|
55
|
+
|
56
|
+
| pkg set-publisher --set-property=signature-policy=ignore puppetlabs.com
|
57
|
+
| pkg publisher puppetlabs.com
|
58
|
+
Publisher: puppetlabs.com
|
59
|
+
Alias:
|
60
|
+
Origin URI: http://solaris-11-ips-repo.acctest.dc1.puppetlabs.net/
|
61
|
+
SSL Key: None
|
62
|
+
SSL Cert: None
|
63
|
+
Client UUID: 140bb5c8-fe62-11e1-af70-8800273bd610
|
64
|
+
Catalog Updated: September 14, 2012 05:11:45 PM
|
65
|
+
Enabled: Yes
|
66
|
+
Signature Policy: ignore
|
67
|
+
| pkg set-property signature-policy ignore
|
68
|
+
| pkg install puppet
|
69
|
+
|
70
|
+
- Or trust the self signed certificate from puppetlabs.com (this certificate needs to be published in our web site)
|
71
|
+
|
72
|
+
| pkg set-publisher --approve-ca-cert /root/mycert.pem puppetlabs.com
|
73
|
+
|
74
|
+
- Verify that approve cert went well.
|
75
|
+
|
76
|
+
| pkg publisher puppetlabs.com
|
77
|
+
|
78
|
+
Publisher: puppetlabs.com
|
79
|
+
Alias:
|
80
|
+
Origin URI: http://solaris-11-ips-repo.acctest.dc1.puppetlabs.net/
|
81
|
+
SSL Key: None
|
82
|
+
SSL Cert: None
|
83
|
+
Client UUID: 37084c4a-fdc6-11e1-832b-8800273bd610
|
84
|
+
Catalog Updated: September 13, 2012 08:31:25 PM
|
85
|
+
Approved CAs: 791b5791a81e9c2eb3fb9f84f4f86f8ea6fcd672
|
86
|
+
Enabled: Yes
|
87
|
+
Signature Policy: verify
|
88
|
+
|
89
|
+
| pkg install puppet
|
90
|
+
|
91
|
+
- Checking about information on the package (See the human readable version string)
|
92
|
+
|
93
|
+
| pkg info -r puppet
|
94
|
+
Name: system/management/puppet
|
95
|
+
Summary: Puppet, an automated configuration management tool
|
96
|
+
Description: Puppet, an automated configuration management tool
|
97
|
+
Category: System/Administration and Configuration
|
98
|
+
State: Not installed
|
99
|
+
Publisher: puppetlabs.com
|
100
|
+
Version: 3.0.0 (3.0.0-rc6)
|
101
|
+
Build Release: 5.11
|
102
|
+
Branch: 6.170
|
103
|
+
Packaging Date: September 14, 2012 06:11:05 PM
|
104
|
+
Size: 2.43 MB
|
105
|
+
FMRI: pkg://puppetlabs.com/system/management/puppet@3.0.0,5.11-6.170:20120914T181105Z
|
106
|
+
|
107
|
+
- Check license
|
108
|
+
|
109
|
+
| pkg info -r --license puppet
|
110
|
+
Puppet - Automating Configuration Management.
|
111
|
+
|
112
|
+
Copyright (C) 2005-2012 Puppet Labs Inc
|
113
|
+
|
114
|
+
|
115
|
+
- Reference
|
116
|
+
|
117
|
+
http://docs.oracle.com/cd/E19963-01/html/820-6572/managepkgs.html
|
@@ -0,0 +1,255 @@
|
|
1
|
+
#Packaging
|
2
|
+
|
3
|
+
This is a repository for packaging automation for Puppet Labs software.
|
4
|
+
The goal is to abstract and automate packaging processes beyond individual
|
5
|
+
software projects to a level where this repo can be cloned inside any project
|
6
|
+
and used to build Debian and Redhat packages, as well as gems, apple packages
|
7
|
+
and tarballs.
|
8
|
+
|
9
|
+
##Using the Packaging Repo
|
10
|
+
|
11
|
+
Several Puppet Labs projects have been migrated to the packaging repo,
|
12
|
+
including puppet, facter, puppet-dashboard, and hiera. Generally speaking,
|
13
|
+
ruby 1.9.3 and rake 0.9.x seem to work best. To pull the packaging tasks into
|
14
|
+
your source repo, do a `rake package:bootstrap`. This will clone this repo
|
15
|
+
into the ext directory of the project and make many packaging tasks
|
16
|
+
available. The tasks are generally grouped into two categories, `package:`
|
17
|
+
namespaced tasks and `pl:` namespaced tasks.
|
18
|
+
|
19
|
+
`package:` namespaced tasks are general purpose tasks that are set up to use
|
20
|
+
the most minimal tool chain possible for creating packages. These tasks will
|
21
|
+
create rpms and debs, but any build dependencies will need to be satisifed by
|
22
|
+
the building host, and any dynamically generated dependencies may result in
|
23
|
+
packages that are only suitable for the OS/version of the build host. However,
|
24
|
+
for rolling one's own debs and rpms or for use in environments without many
|
25
|
+
OSes/versions, this may work just fine.
|
26
|
+
|
27
|
+
`pl:` namespaced tasks rely on a slighly more complex toolchain for packaging
|
28
|
+
inside clean chroot environments for the various operating systems and
|
29
|
+
versions that Puppet Labs supports. On the rpm side, this is done with
|
30
|
+
[mock](http://fedoraproject.org/wiki/Projects/Mock) and for debs, we use
|
31
|
+
pdebuild and [cowbuilder](http://wiki.debian.org/cowbuilder). For the most
|
32
|
+
part, these tasks are keyed to puppetlabs infrastructure, and are used by the
|
33
|
+
Release Engineering team to create release packages. However, they can
|
34
|
+
certainly be modified to suit other environments, and much effort went into
|
35
|
+
making tasks as modular and reusable as possible.
|
36
|
+
|
37
|
+
A puppet module,
|
38
|
+
[puppetlabs-debbuilder](https://github.com/puppetlabs/puppetlabs-debbuilder),
|
39
|
+
has been created to stand up a debian build host compatible with the debian
|
40
|
+
side this packaging repo. The rpm-side module,
|
41
|
+
[puppetlabs-rpmbuilder](https://github.com/puppetlabs/puppetlabs-rpmbuilder),
|
42
|
+
is currently a work in progress and.
|
43
|
+
|
44
|
+
To remove the packaging repo, remove the ext/packaging directory or run `rake
|
45
|
+
package:implode`.
|
46
|
+
|
47
|
+
##Setting up projects for the Packaging Repo
|
48
|
+
|
49
|
+
The packaging repo requires many project-side artifacts inside the ext
|
50
|
+
directory at the top level. It expects the following directory structure in
|
51
|
+
the project
|
52
|
+
|
53
|
+
* ext/{debian,redhat,osx}
|
54
|
+
|
55
|
+
each of which contains templated erb files using the instance variables
|
56
|
+
specified in the setupvars task. These include a debian changelog, a redhat
|
57
|
+
spec file, and an osx preflight and plist.
|
58
|
+
|
59
|
+
The top level Rakefile in the project should have the following added:
|
60
|
+
|
61
|
+
```ruby
|
62
|
+
Dir['ext/packaging/tasks/**/*.rake'].sort.each { |t| load t }
|
63
|
+
|
64
|
+
build_defs_file = 'ext/build_defaults.yaml'
|
65
|
+
if File.exist?(build_defs_file)
|
66
|
+
begin
|
67
|
+
require 'yaml'
|
68
|
+
@build_defaults ||= YAML.load_file(build_defs_file)
|
69
|
+
rescue Exception => e
|
70
|
+
STDERR.puts "Unable to load yaml from #{build_defs_file}:"
|
71
|
+
STDERR.puts e
|
72
|
+
end
|
73
|
+
@packaging_url = @build_defaults['packaging_url']
|
74
|
+
@packaging_repo = @build_defaults['packaging_repo']
|
75
|
+
raise "Could not find packaging url in #{build_defs_file}" if @packaging_url.nil?
|
76
|
+
raise "Could not find packaging repo in #{build_defs_file}" if @packaging_repo.nil?
|
77
|
+
|
78
|
+
namespace :package do
|
79
|
+
desc "Bootstrap packaging automation, e.g. clone into packaging repo"
|
80
|
+
task :bootstrap do
|
81
|
+
if File.exist?("ext/#{@packaging_repo}")
|
82
|
+
puts "It looks like you already have ext/#{@packaging_repo}. If you don't like it, blow it away with package:implode."
|
83
|
+
else
|
84
|
+
cd 'ext' do
|
85
|
+
%x{git clone #{@packaging_url}}
|
86
|
+
end
|
87
|
+
end
|
88
|
+
end
|
89
|
+
desc "Remove all cloned packaging automation"
|
90
|
+
task :implode do
|
91
|
+
rm_rf "ext/#{@packaging_repo}"
|
92
|
+
end
|
93
|
+
end
|
94
|
+
end
|
95
|
+
```
|
96
|
+
|
97
|
+
Also in ext should be two files, build_defaults.yaml and project_data.yaml.
|
98
|
+
|
99
|
+
This is the sample build_defaults.yaml file from Hiera:
|
100
|
+
```yaml
|
101
|
+
---
|
102
|
+
packaging_url: 'git@github.com:puppetlabs/packaging --branch=master'
|
103
|
+
packaging_repo: 'packaging'
|
104
|
+
default_cow: 'base-squeeze-i386.cow'
|
105
|
+
cows: 'base-lucid-amd64.cow base-lucid-i386.cow base-natty-amd64.cow base-natty-i386.cow base-oneiric-amd64.cow base-oneiric-i386.cow base-precise-amd64.cow base-precise-i386.cow base-sid-amd64.cow base-sid-i386.cow base-squeeze-amd64.cow base-squeeze-i386.cow base-testing-amd64.cow base-testing-i386.cow base-wheezy-i386.cow'
|
106
|
+
pbuild_conf: '/etc/pbuilderrc'
|
107
|
+
packager: 'puppetlabs'
|
108
|
+
gpg_name: 'info@puppetlabs.com'
|
109
|
+
gpg_key: '4BD6EC30'
|
110
|
+
# Whether to require tarball signing as a prerequisite of other package building
|
111
|
+
sign_tar: FALSE
|
112
|
+
# a space separated list of mock configs, one set for final releases, another for devel
|
113
|
+
final_mocks: 'pl-5-i386 pl-5-x86_64 pl-6-i386 pl-6-x86_64 fedora-15-i386 fedora-15-x86_64 fedora-16-i386 fedora-16-x86_64 fedora-17-i386 fedora-17-x86_64'
|
114
|
+
rc_mocks: 'pl-5-i386-dev pl-5-x86_64-dev pl-6-i386-dev pl-6-x86_64-dev fedora-15-i386-dev fedora-15-x86_64-dev fedora-16-i386-dev fedora-16-x86_64-dev fedora-17-i386-dev fedora-17-x86_64-dev'
|
115
|
+
# The host that contains the yum repository to ship to
|
116
|
+
yum_host: 'burji.puppetlabs.com'
|
117
|
+
# The remote path the repository on the yum_host
|
118
|
+
yum_repo_path: '~/repo/'
|
119
|
+
# The host that contains the apt repository to ship to
|
120
|
+
apt_host: 'burji.puppetlabs.com'
|
121
|
+
# The URL to use for the apt dependencies in cow building
|
122
|
+
apt_repo_url: 'http://apt.puppetlabs.com'
|
123
|
+
# The path on the remote apt host that debs should ship to
|
124
|
+
apt_repo_path: '/opt/repository/incoming'
|
125
|
+
# Whether to present the gem and apple tasks
|
126
|
+
build_gem: TRUE
|
127
|
+
build_dmg: TRUE
|
128
|
+
```
|
129
|
+
This is the sample project_data.yaml file:
|
130
|
+
```yaml
|
131
|
+
---
|
132
|
+
project: 'hiera'
|
133
|
+
author: 'Puppet Labs'
|
134
|
+
email: 'info@puppetlabs.com'
|
135
|
+
homepage: 'https://github.com/puppetlabs/hiera'
|
136
|
+
summary: 'Light weight hierarchical data store'
|
137
|
+
description: 'A pluggable data store for hierarcical data'
|
138
|
+
# file containing hard coded version information, if present
|
139
|
+
version_file: '/lib/hiera.rb'
|
140
|
+
# files and gem_files are space separated lists
|
141
|
+
# files to be packaged into a tarball and released with deb/rpm
|
142
|
+
files: '[A-Z]* ext lib bin spec acceptance_tests'
|
143
|
+
# space separated list of files to *exclude* from the tarball
|
144
|
+
# note that each listing in files, above, is recursively copied into the tarball, so
|
145
|
+
# 'tar_excludes' only needs to include any undesired subdirectories/files of the 'files'
|
146
|
+
# list to exclude
|
147
|
+
tar_excludes: 'ext/packaging lib/some_excluded_file'
|
148
|
+
# files to be packaged into a gem
|
149
|
+
gem_files: '{bin,lib}/**/* CHANGELOG COPYING README.md LICENSE'
|
150
|
+
# To exclude specific files from inclusion in a gem:
|
151
|
+
gem_excludes: 'lib/hiera/file_to_exclude.rb lib/hiera/directory_to_exclude'
|
152
|
+
# If gem name differs in some way from project name, e.g. only build gem for a client end
|
153
|
+
gem_name: hiera_the_gem
|
154
|
+
# If gem summary and/or description differs from general summary
|
155
|
+
gem_summary: 'A sub-set of the Hiera pluggable data store'
|
156
|
+
gem_description: 'A gem of the pluggable data store for hierarchical data'
|
157
|
+
gem_require_path: 'lib'
|
158
|
+
gem_test_files: 'spec/**/*'
|
159
|
+
gem_executables: 'hiera'
|
160
|
+
gem_default_executables: 'hiera'
|
161
|
+
# To add gem dependencies, indent.
|
162
|
+
# This is an example only, hiera doesn't really depend on hiera-puppet/json/facter
|
163
|
+
# For no specific version, leave version empty
|
164
|
+
gem_runtime_dependencies:
|
165
|
+
hiera-puppet: '1.0.0rc'
|
166
|
+
hiera-json:
|
167
|
+
gem_development_dependencies:
|
168
|
+
facter: '>= 1.6.11'
|
169
|
+
# rdoc options as an array
|
170
|
+
gem_rdoc_options:
|
171
|
+
- --line-numbers
|
172
|
+
- --main
|
173
|
+
- Hiera.README
|
174
|
+
```
|
175
|
+
For basic mac packaging, add an osx directory in ext containing the following files:
|
176
|
+
1. a preflight.erb template for any pre-flight actions, perhaps removing the old package if present.
|
177
|
+
2. a prototype.plist.erb that is templated into the pkginfo.plist file for the package. This is the one from puppet. Note that these variable names aren't mutable here, but there's no need to worry about their value assignment, it's done in the apple task:
|
178
|
+
```
|
179
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
180
|
+
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
181
|
+
<plist version="1.0">
|
182
|
+
<dict>
|
183
|
+
<key>CFBundleIdentifier</key>
|
184
|
+
<string><%= @title %></string>
|
185
|
+
<key>CFBundleShortVersionString</key>
|
186
|
+
<string><%= @version %></string>
|
187
|
+
<key>IFMajorVersion</key>
|
188
|
+
<integer><%= @package_major_version %></integer>
|
189
|
+
<key>IFMinorVersion</key>
|
190
|
+
<integer><%= @package_minor_version %></integer>
|
191
|
+
<key>IFPkgBuildDate</key>
|
192
|
+
<date><%= @build_date %></date>
|
193
|
+
<key>IFPkgFlagAllowBackRev</key>
|
194
|
+
<false/>
|
195
|
+
<key>IFPkgFlagAuthorizationAction</key>
|
196
|
+
<string>RootAuthorization</string>
|
197
|
+
<key>IFPkgFlagDefaultLocation</key>
|
198
|
+
<string>/</string>
|
199
|
+
<key>IFPkgFlagFollowLinks</key>
|
200
|
+
<true/>
|
201
|
+
<key>IFPkgFlagInstallFat</key>
|
202
|
+
<false/>
|
203
|
+
<key>IFPkgFlagIsRequired</key>
|
204
|
+
<false/>
|
205
|
+
<key>IFPkgFlagOverwritePermissions</key>
|
206
|
+
<false/>
|
207
|
+
<key>IFPkgFlagRelocatable</key>
|
208
|
+
<false/>
|
209
|
+
<key>IFPkgFlagRestartAction</key>
|
210
|
+
<string><%= @pm_restart %></string>
|
211
|
+
<key>IFPkgFlagRootVolumeOnly</key>
|
212
|
+
<true/>
|
213
|
+
<key>IFPkgFlagUpdateInstalledLanguages</key>
|
214
|
+
<false/>
|
215
|
+
</dict>
|
216
|
+
</plist>
|
217
|
+
```
|
218
|
+
A file_mapping.yaml file that specifies a set of files and a set of directories from the source to install, with destinations, ownership, and permissions. The directories are top level directories in the source to install. The files are files somewhere in the source to install. This is the one from puppet 3.x:
|
219
|
+
```yaml
|
220
|
+
---
|
221
|
+
directories:
|
222
|
+
# this will take the contents of lib, e.g. puppet/lib/* and place them in /usr/lib/ruby/site_ruby/1.8
|
223
|
+
lib:
|
224
|
+
path: 'usr/lib/ruby/site_ruby/1.8'
|
225
|
+
owner: 'root'
|
226
|
+
group: 'wheel'
|
227
|
+
perms: '0644'
|
228
|
+
bin:
|
229
|
+
path: 'usr/bin'
|
230
|
+
owner: 'root'
|
231
|
+
group: 'wheel'
|
232
|
+
perms: '0755'
|
233
|
+
'man/man8':
|
234
|
+
path: 'usr/share/man/man8'
|
235
|
+
owner: 'root'
|
236
|
+
group: 'wheel'
|
237
|
+
perms: '0755'
|
238
|
+
files:
|
239
|
+
# this will take the file puppet/conf/auth.conf and place it in /private/etc/puppet/, creating the directory if not present
|
240
|
+
'conf/auth.conf':
|
241
|
+
path: 'private/etc/puppet'
|
242
|
+
owner: 'root'
|
243
|
+
group: 'wheel'
|
244
|
+
perms: '0644'
|
245
|
+
'man/man5/puppet.conf.5':
|
246
|
+
path: 'usr/share/man/man5'
|
247
|
+
owner: 'root'
|
248
|
+
group: 'wheel'
|
249
|
+
perms: '0644'
|
250
|
+
'[A-Z]*':
|
251
|
+
path: 'usr/share/doc/puppet'
|
252
|
+
owner: 'root'
|
253
|
+
group: 'wheel'
|
254
|
+
perms: '0644'
|
255
|
+
```
|