puppet 2.7.26 → 3.0.0.rc4
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/CHANGELOG +533 -204
- data/Gemfile +8 -24
- data/Gemfile.lock +44 -0
- data/LICENSE +1 -1
- data/README.md +2 -2
- data/README_DEVELOPER.md +18 -210
- data/Rakefile +30 -47
- data/bin/puppet +5 -3
- data/conf/auth.conf +3 -3
- data/{ext → conf}/osx/PackageInfo.plist +0 -0
- data/{ext → conf}/osx/createpackage.sh +0 -0
- data/conf/osx/preflight +24 -0
- data/conf/redhat/client.init +8 -8
- data/{ext/redhat/puppet.spec.erb → conf/redhat/puppet.spec} +29 -46
- data/conf/redhat/queue.init +105 -0
- data/conf/redhat/rundir-perms.patch +13 -13
- data/conf/redhat/server.init +4 -4
- data/conf/solaris/pkginfo +1 -1
- data/conf/suse/puppet.spec +8 -3
- data/conf/windows/eventlog/puppetres.dll +0 -0
- data/ext/emacs/puppet-mode.el +204 -150
- data/ext/nagios/naggen +1 -1
- data/ext/puppet-test +1 -1
- data/ext/puppetlisten/puppetlisten.rb +1 -2
- data/ext/puppetlisten/puppetrun.rb +1 -2
- data/ext/rack/files/config.ru +21 -3
- data/ext/regexp_nodes/environment/development +2 -0
- data/ext/regexp_nodes/parameters/{environment → service}/prod +0 -0
- data/ext/regexp_nodes/parameters/{environment → service}/qa +0 -0
- data/ext/regexp_nodes/parameters/service/sandbox +1 -0
- data/ext/regexp_nodes/regexp_nodes.rb +115 -59
- data/ext/upload_facts.rb +0 -1
- data/install.rb +10 -10
- data/lib/puppet.rb +49 -24
- data/lib/puppet/agent.rb +40 -16
- data/lib/puppet/agent/disabler.rb +53 -0
- data/lib/puppet/agent/locker.rb +18 -24
- data/lib/puppet/application.rb +93 -72
- data/lib/puppet/application/agent.rb +29 -47
- data/lib/puppet/application/apply.rb +40 -39
- data/lib/puppet/application/cert.rb +9 -11
- data/lib/puppet/application/certificate.rb +7 -2
- data/lib/puppet/application/certificate_request.rb +3 -0
- data/lib/puppet/application/certificate_revocation_list.rb +3 -0
- data/lib/puppet/application/describe.rb +1 -3
- data/lib/puppet/application/device.rb +15 -16
- data/lib/puppet/application/doc.rb +12 -11
- data/lib/puppet/application/face_base.rb +9 -13
- data/lib/puppet/application/filebucket.rb +2 -8
- data/lib/puppet/application/inspect.rb +3 -6
- data/lib/puppet/application/instrumentation_data.rb +3 -0
- data/lib/puppet/application/instrumentation_listener.rb +3 -0
- data/lib/puppet/application/instrumentation_probe.rb +3 -0
- data/lib/puppet/application/kick.rb +2 -8
- data/lib/puppet/application/master.rb +9 -15
- data/lib/puppet/application/module.rb +0 -7
- data/lib/puppet/application/queue.rb +7 -6
- data/lib/puppet/application/resource.rb +1 -5
- data/lib/puppet/application/resource_type.rb +3 -0
- data/lib/puppet/application/secret_agent.rb +3 -0
- data/lib/puppet/configurer.rb +87 -88
- data/lib/puppet/configurer/downloader.rb +8 -23
- data/lib/puppet/configurer/fact_handler.rb +5 -17
- data/lib/puppet/configurer/plugin_handler.rb +4 -23
- data/lib/puppet/daemon.rb +24 -6
- data/lib/puppet/data_binding.rb +11 -0
- data/lib/puppet/defaults.rb +1058 -518
- data/lib/puppet/error.rb +31 -25
- data/lib/puppet/external/dot.rb +1 -1
- data/lib/puppet/external/nagios/base.rb +8 -4
- data/lib/puppet/face/ca.rb +1 -1
- data/lib/puppet/face/catalog.rb +1 -2
- data/lib/puppet/face/certificate.rb +12 -0
- data/lib/puppet/face/config.rb +3 -0
- data/lib/puppet/face/help.rb +92 -28
- data/lib/puppet/face/help/action.erb +36 -3
- data/lib/puppet/face/help/face.erb +35 -3
- data/lib/puppet/face/help/global.erb +8 -12
- data/lib/puppet/face/help/man.erb +20 -2
- data/lib/puppet/face/instrumentation_data.rb +1 -0
- data/lib/puppet/face/instrumentation_listener.rb +1 -0
- data/lib/puppet/face/instrumentation_probe.rb +1 -0
- data/lib/puppet/face/module.rb +2 -0
- data/lib/puppet/face/module/build.rb +32 -6
- data/lib/puppet/face/module/changes.rb +1 -0
- data/lib/puppet/face/module/generate.rb +1 -0
- data/lib/puppet/face/module/install.rb +10 -41
- data/lib/puppet/face/module/list.rb +2 -19
- data/lib/puppet/face/module/search.rb +12 -6
- data/lib/puppet/face/module/uninstall.rb +3 -18
- data/lib/puppet/face/module/upgrade.rb +2 -9
- data/lib/puppet/face/node/clean.rb +25 -27
- data/lib/puppet/face/report.rb +2 -4
- data/lib/puppet/face/resource.rb +1 -1
- data/lib/puppet/feature/base.rb +9 -3
- data/lib/puppet/feature/rails.rb +18 -0
- data/lib/puppet/feature/rdoc1.rb +16 -0
- data/lib/puppet/file_bucket/dipper.rb +3 -2
- data/lib/puppet/file_serving/base.rb +4 -8
- data/lib/puppet/file_serving/configuration.rb +1 -12
- data/lib/puppet/file_serving/configuration/parser.rb +1 -1
- data/lib/puppet/file_serving/metadata.rb +0 -14
- data/lib/puppet/file_serving/mount/plugins.rb +10 -1
- data/lib/puppet/file_serving/terminus_selector.rb +15 -13
- data/lib/puppet/forge.rb +29 -13
- data/lib/puppet/forge/cache.rb +1 -1
- data/lib/puppet/forge/errors.rb +69 -0
- data/lib/puppet/forge/repository.rb +84 -21
- data/lib/puppet/indirector/catalog/active_record.rb +2 -12
- data/lib/puppet/indirector/catalog/compiler.rb +8 -18
- data/lib/puppet/indirector/catalog/json.rb +6 -0
- data/lib/puppet/indirector/catalog/static_compiler.rb +3 -2
- data/lib/puppet/indirector/certificate/rest.rb +1 -0
- data/lib/puppet/indirector/certificate_status/file.rb +0 -5
- data/lib/puppet/indirector/data_binding/hiera.rb +6 -0
- data/lib/puppet/indirector/data_binding/none.rb +5 -0
- data/lib/puppet/indirector/exec.rb +8 -18
- data/lib/puppet/indirector/face.rb +5 -4
- data/lib/puppet/indirector/facts/facter.rb +6 -33
- data/lib/puppet/indirector/facts/network_device.rb +0 -1
- data/lib/puppet/indirector/file_bucket_file/file.rb +0 -4
- data/lib/puppet/indirector/file_bucket_file/selector.rb +0 -4
- data/lib/puppet/indirector/file_content/rest.rb +2 -0
- data/lib/puppet/indirector/hiera.rb +69 -0
- data/lib/puppet/indirector/indirection.rb +20 -26
- data/lib/puppet/indirector/json.rb +76 -0
- data/lib/puppet/indirector/ldap.rb +3 -2
- data/lib/puppet/indirector/node/active_record.rb +1 -0
- data/lib/puppet/indirector/node/exec.rb +9 -0
- data/lib/puppet/indirector/node/ldap.rb +6 -3
- data/lib/puppet/indirector/node/plain.rb +1 -0
- data/lib/puppet/indirector/none.rb +9 -0
- data/lib/puppet/indirector/queue.rb +1 -2
- data/lib/puppet/indirector/report/processor.rb +2 -3
- data/lib/puppet/indirector/report/rest.rb +1 -7
- data/lib/puppet/indirector/request.rb +80 -18
- data/lib/puppet/indirector/resource/active_record.rb +0 -3
- data/lib/puppet/indirector/resource/ral.rb +0 -4
- data/lib/puppet/indirector/resource/rest.rb +0 -9
- data/lib/puppet/indirector/resource/store_configs.rb +0 -3
- data/lib/puppet/indirector/resource_type/parser.rb +30 -1
- data/lib/puppet/indirector/rest.rb +103 -126
- data/lib/puppet/indirector/run/local.rb +0 -4
- data/lib/puppet/indirector/run/rest.rb +0 -6
- data/lib/puppet/indirector/terminus.rb +0 -20
- data/lib/puppet/indirector/yaml.rb +11 -5
- data/lib/puppet/interface.rb +6 -14
- data/lib/puppet/interface/action.rb +21 -3
- data/lib/puppet/interface/action_builder.rb +5 -0
- data/lib/puppet/interface/action_manager.rb +1 -1
- data/lib/puppet/interface/documentation.rb +12 -0
- data/lib/puppet/interface/face_collection.rb +1 -1
- data/lib/puppet/interface/option.rb +19 -3
- data/lib/puppet/interface/option_manager.rb +27 -9
- data/lib/puppet/metatype/manager.rb +1 -0
- data/lib/puppet/module.rb +40 -83
- data/lib/puppet/module_tool.rb +42 -5
- data/lib/puppet/module_tool/applications/builder.rb +1 -1
- data/lib/puppet/module_tool/applications/installer.rb +11 -11
- data/lib/puppet/module_tool/applications/searcher.rb +15 -2
- data/lib/puppet/module_tool/applications/unpacker.rb +4 -8
- data/lib/puppet/module_tool/applications/upgrader.rb +6 -5
- data/lib/puppet/module_tool/errors/base.rb +1 -1
- data/lib/puppet/module_tool/errors/installer.rb +24 -4
- data/lib/puppet/module_tool/install_directory.rb +41 -0
- data/lib/puppet/module_tool/metadata.rb +4 -4
- data/lib/puppet/module_tool/shared_behaviors.rb +6 -6
- data/lib/puppet/network/auth_config_parser.rb +81 -0
- data/lib/puppet/network/authconfig.rb +49 -147
- data/lib/puppet/network/authorization.rb +20 -62
- data/lib/puppet/network/authstore.rb +43 -27
- data/lib/puppet/network/formats.rb +10 -20
- data/lib/puppet/network/http/api/v1.rb +1 -1
- data/lib/puppet/network/http/connection.rb +184 -0
- data/lib/puppet/network/http/handler.rb +4 -14
- data/lib/puppet/network/http/mongrel.rb +5 -25
- data/lib/puppet/network/http/rack.rb +2 -34
- data/lib/puppet/network/http/rack/httphandler.rb +0 -3
- data/lib/puppet/network/http/rack/rest.rb +2 -7
- data/lib/puppet/network/http/webrick.rb +9 -32
- data/lib/puppet/network/http_pool.rb +10 -48
- data/lib/puppet/network/resolver.rb +85 -0
- data/lib/puppet/network/rights.rb +33 -89
- data/lib/puppet/network/server.rb +14 -43
- data/lib/puppet/node.rb +13 -11
- data/lib/puppet/node/environment.rb +29 -12
- data/lib/puppet/node/facts.rb +13 -38
- data/lib/puppet/parameter.rb +0 -21
- data/lib/puppet/parameter/package_options.rb +26 -0
- data/lib/puppet/parser/ast.rb +2 -13
- data/lib/puppet/parser/ast/function.rb +0 -2
- data/lib/puppet/parser/ast/leaf.rb +12 -22
- data/lib/puppet/parser/ast/resource.rb +3 -10
- data/lib/puppet/parser/ast/resource_defaults.rb +1 -1
- data/lib/puppet/parser/ast/resource_override.rb +1 -4
- data/lib/puppet/parser/ast/resourceparam.rb +4 -7
- data/lib/puppet/parser/ast/selector.rb +7 -1
- data/lib/puppet/parser/ast/vardef.rb +0 -2
- data/lib/puppet/parser/collector.rb +2 -1
- data/lib/puppet/parser/compiler.rb +43 -46
- data/lib/puppet/parser/files.rb +15 -20
- data/lib/puppet/parser/functions.rb +8 -39
- data/lib/puppet/parser/functions/extlookup.rb +8 -8
- data/lib/puppet/parser/functions/file.rb +18 -18
- data/lib/puppet/parser/functions/fqdn_rand.rb +2 -2
- data/lib/puppet/parser/functions/generate.rb +3 -3
- data/lib/puppet/parser/functions/include.rb +6 -1
- data/lib/puppet/parser/functions/require.rb +16 -21
- data/lib/puppet/parser/functions/shellquote.rb +29 -21
- data/lib/puppet/parser/functions/versioncmp.rb +2 -5
- data/lib/puppet/parser/grammar.ra +44 -14
- data/lib/puppet/parser/lexer.rb +101 -169
- data/lib/puppet/parser/parser.rb +1103 -1014
- data/lib/puppet/parser/parser_support.rb +10 -61
- data/lib/puppet/parser/relationship.rb +1 -3
- data/lib/puppet/parser/resource.rb +21 -56
- data/lib/puppet/parser/scope.rb +138 -165
- data/lib/puppet/parser/templatewrapper.rb +25 -20
- data/lib/puppet/parser/type_loader.rb +33 -67
- data/lib/puppet/parser/yaml_trimmer.rb +1 -1
- data/lib/puppet/property.rb +5 -4
- data/lib/puppet/provider.rb +133 -28
- data/lib/puppet/provider/augeas/augeas.rb +66 -6
- data/lib/puppet/provider/command.rb +25 -0
- data/lib/puppet/provider/cron/crontab.rb +1 -1
- data/lib/puppet/provider/exec.rb +14 -9
- data/lib/puppet/provider/exec/posix.rb +1 -1
- data/lib/puppet/provider/exec/windows.rb +2 -3
- data/lib/puppet/provider/file/windows.rb +29 -10
- data/lib/puppet/provider/group/groupadd.rb +3 -2
- data/lib/puppet/provider/group/ldap.rb +1 -1
- data/lib/puppet/provider/group/windows_adsi.rb +1 -1
- data/lib/puppet/provider/host/parsed.rb +1 -1
- data/lib/puppet/provider/ldap.rb +1 -5
- data/lib/puppet/provider/mount/parsed.rb +3 -3
- data/lib/puppet/provider/nameservice.rb +22 -22
- data/lib/puppet/provider/nameservice/directoryservice.rb +58 -121
- data/lib/puppet/provider/package/apt.rb +8 -11
- data/lib/puppet/provider/package/blastwave.rb +3 -3
- data/lib/puppet/provider/package/dpkg.rb +1 -1
- data/lib/puppet/provider/package/freebsd.rb +2 -2
- data/lib/puppet/provider/package/gem.rb +1 -1
- data/lib/puppet/provider/package/macports.rb +11 -9
- data/lib/puppet/provider/package/msi.rb +37 -32
- data/lib/puppet/provider/package/openbsd.rb +1 -1
- data/lib/puppet/provider/package/pacman.rb +69 -6
- data/lib/puppet/provider/package/pkg.rb +126 -75
- data/lib/puppet/provider/package/pkgin.rb +60 -0
- data/lib/puppet/provider/package/pkgutil.rb +32 -20
- data/lib/puppet/provider/package/portage.rb +2 -2
- data/lib/puppet/provider/package/sun.rb +83 -116
- data/lib/puppet/provider/package/sunfreeware.rb +1 -1
- data/lib/puppet/provider/package/up2date.rb +2 -3
- data/lib/puppet/provider/package/windows.rb +130 -0
- data/lib/puppet/provider/package/windows/exe_package.rb +70 -0
- data/lib/puppet/provider/package/windows/msi_package.rb +62 -0
- data/lib/puppet/provider/package/windows/package.rb +79 -0
- data/lib/puppet/provider/scheduled_task/win32_taskscheduler.rb +2 -2
- data/lib/puppet/provider/service/base.rb +1 -0
- data/lib/puppet/provider/service/bsd.rb +7 -5
- data/lib/puppet/provider/service/daemontools.rb +1 -1
- data/lib/puppet/provider/service/debian.rb +1 -1
- data/lib/puppet/provider/service/freebsd.rb +9 -9
- data/lib/puppet/provider/service/launchd.rb +7 -11
- data/lib/puppet/provider/service/redhat.rb +2 -2
- data/lib/puppet/provider/service/runit.rb +9 -2
- data/lib/puppet/provider/service/smf.rb +14 -2
- data/lib/puppet/provider/service/systemd.rb +3 -3
- data/lib/puppet/provider/service/upstart.rb +6 -6
- data/lib/puppet/provider/ssh_authorized_key/parsed.rb +1 -0
- data/lib/puppet/provider/user/user_role_add.rb +1 -1
- data/lib/puppet/provider/user/useradd.rb +3 -8
- data/lib/puppet/provider/user/windows_adsi.rb +1 -12
- data/lib/puppet/provider/zfs/{solaris.rb → zfs.rb} +16 -5
- data/lib/puppet/provider/zone/solaris.rb +10 -13
- data/lib/puppet/provider/zpool/{solaris.rb → zpool.rb} +11 -4
- data/lib/puppet/rails.rb +6 -4
- data/lib/puppet/rails/database/schema.rb +9 -4
- data/lib/puppet/rails/inventory_node.rb +13 -26
- data/lib/puppet/reference/configuration.rb +1 -2
- data/lib/puppet/reference/metaparameter.rb +1 -2
- data/lib/puppet/reports/http.rb +9 -10
- data/lib/puppet/reports/rrdgraph.rb +2 -2
- data/lib/puppet/reports/store.rb +1 -2
- data/lib/puppet/reports/tagmail.rb +6 -6
- data/lib/puppet/resource.rb +69 -64
- data/lib/puppet/resource/catalog.rb +11 -60
- data/lib/puppet/resource/status.rb +6 -32
- data/lib/puppet/resource/type.rb +94 -34
- data/lib/puppet/resource/type_collection.rb +17 -8
- data/lib/puppet/run.rb +4 -26
- data/lib/puppet/settings.rb +1315 -0
- data/lib/puppet/settings/base_setting.rb +163 -0
- data/lib/puppet/{util/settings → settings}/boolean_setting.rb +7 -3
- data/lib/puppet/settings/directory_setting.rb +7 -0
- data/lib/puppet/settings/errors.rb +11 -0
- data/lib/puppet/{util/settings → settings}/file_setting.rb +4 -20
- data/lib/puppet/settings/path_setting.rb +10 -0
- data/lib/puppet/settings/string_setting.rb +12 -0
- data/lib/puppet/simple_graph.rb +2 -5
- data/lib/puppet/ssl/base.rb +2 -2
- data/lib/puppet/ssl/certificate_authority.rb +4 -5
- data/lib/puppet/ssl/certificate_authority/interface.rb +5 -7
- data/lib/puppet/ssl/certificate_factory.rb +1 -2
- data/lib/puppet/ssl/certificate_request.rb +2 -2
- data/lib/puppet/ssl/certificate_revocation_list.rb +53 -30
- data/lib/puppet/ssl/configuration.rb +32 -0
- data/lib/puppet/ssl/host.rb +9 -37
- data/lib/puppet/status.rb +2 -6
- data/lib/puppet/test/test_helper.rb +58 -25
- data/lib/puppet/transaction.rb +6 -9
- data/lib/puppet/transaction/event.rb +13 -24
- data/lib/puppet/transaction/event_manager.rb +1 -1
- data/lib/puppet/transaction/report.rb +2 -41
- data/lib/puppet/transaction/resource_harness.rb +2 -3
- data/lib/puppet/type.rb +18 -191
- data/lib/puppet/type/augeas.rb +1 -1
- data/lib/puppet/type/cron.rb +1 -1
- data/lib/puppet/type/exec.rb +6 -4
- data/lib/puppet/type/file.rb +33 -44
- data/lib/puppet/type/file/content.rb +13 -9
- 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 +2 -6
- data/lib/puppet/type/file/source.rb +8 -4
- data/lib/puppet/type/filebucket.rb +3 -2
- data/lib/puppet/type/mount.rb +1 -11
- data/lib/puppet/type/package.rb +40 -23
- data/lib/puppet/type/schedule.rb +127 -21
- data/lib/puppet/type/scheduled_task.rb +1 -1
- data/lib/puppet/type/service.rb +2 -3
- data/lib/puppet/type/tidy.rb +8 -17
- data/lib/puppet/type/yumrepo.rb +35 -7
- data/lib/puppet/type/zfs.rb +4 -0
- data/lib/puppet/type/zone.rb +48 -38
- data/lib/puppet/util.rb +178 -249
- data/lib/puppet/util/adsi.rb +23 -25
- data/lib/puppet/util/autoload.rb +184 -114
- data/lib/puppet/util/backups.rb +3 -2
- data/lib/puppet/util/colors.rb +0 -1
- data/lib/puppet/util/command_line.rb +42 -104
- data/lib/puppet/util/command_line/puppet_option_parser.rb +89 -0
- data/lib/puppet/util/command_line/trollop.rb +824 -0
- data/lib/puppet/util/config_timeout.rb +24 -0
- data/lib/puppet/util/constant_inflector.rb +15 -7
- data/lib/puppet/util/diff.rb +2 -2
- data/lib/puppet/util/docs.rb +1 -2
- data/lib/puppet/util/errors.rb +3 -4
- data/lib/puppet/util/execution.rb +239 -14
- data/lib/puppet/util/execution_stub.rb +2 -2
- data/lib/puppet/util/feature.rb +2 -4
- data/lib/puppet/util/fileparsing.rb +1 -1
- data/lib/puppet/util/filetype.rb +12 -10
- data/lib/puppet/util/json_lockfile.rb +41 -0
- data/lib/puppet/util/ldap/connection.rb +4 -7
- data/lib/puppet/util/lockfile.rb +62 -0
- data/lib/puppet/util/log.rb +16 -20
- data/lib/puppet/util/log/destinations.rb +12 -27
- data/lib/puppet/util/logging.rb +95 -3
- data/lib/puppet/util/metric.rb +0 -6
- data/lib/puppet/util/monkey_patches.rb +101 -82
- data/lib/puppet/util/monkey_patches/lines.rb +13 -0
- data/lib/puppet/util/network_device/cisco/device.rb +2 -2
- data/lib/puppet/util/network_device/config.rb +1 -0
- data/lib/puppet/util/network_device/transport.rb +2 -0
- data/lib/puppet/util/pidlock.rb +13 -77
- data/lib/puppet/util/platform.rb +0 -7
- data/lib/puppet/util/posix.rb +10 -0
- data/lib/puppet/util/rdoc.rb +12 -8
- data/lib/puppet/util/reference.rb +3 -3
- data/lib/puppet/util/rubygems.rb +55 -0
- data/lib/puppet/util/run_mode.rb +7 -16
- data/lib/puppet/util/selinux.rb +36 -31
- data/lib/puppet/util/storage.rb +14 -19
- data/lib/puppet/util/suidmanager.rb +27 -2
- data/lib/puppet/util/windows.rb +9 -6
- data/lib/puppet/util/windows/error.rb +1 -1
- data/lib/puppet/util/windows/process.rb +3 -3
- data/lib/puppet/util/windows/registry.rb +36 -0
- data/lib/puppet/util/windows/security.rb +46 -9
- data/lib/puppet/util/windows/user.rb +2 -65
- data/lib/puppet/util/zaml.rb +47 -91
- data/lib/puppet/version.rb +1 -1
- data/man/man5/puppet.conf.5 +97 -69
- data/man/man8/puppet-agent.8 +5 -6
- data/man/man8/puppet-apply.8 +7 -3
- data/man/man8/puppet-ca.8 +5 -17
- data/man/man8/puppet-catalog.8 +1 -1
- data/man/man8/puppet-cert.8 +1 -1
- data/man/man8/puppet-certificate.8 +3 -9
- data/man/man8/puppet-certificate_request.8 +1 -1
- data/man/man8/puppet-certificate_revocation_list.8 +1 -1
- data/man/man8/puppet-config.8 +1 -1
- data/man/man8/puppet-describe.8 +1 -1
- data/man/man8/puppet-device.8 +1 -1
- data/man/man8/puppet-doc.8 +7 -1
- data/man/man8/puppet-facts.8 +1 -1
- data/man/man8/puppet-file.8 +1 -1
- data/man/man8/puppet-filebucket.8 +1 -1
- data/man/man8/puppet-help.8 +2 -5
- data/man/man8/puppet-inspect.8 +1 -1
- data/man/man8/puppet-instrumentation_data.8 +1 -1
- data/man/man8/puppet-instrumentation_listener.8 +1 -1
- data/man/man8/puppet-instrumentation_probe.8 +1 -1
- data/man/man8/puppet-key.8 +1 -1
- data/man/man8/puppet-kick.8 +1 -1
- data/man/man8/puppet-man.8 +1 -1
- data/man/man8/puppet-master.8 +1 -1
- data/man/man8/puppet-module.8 +19 -50
- data/man/man8/puppet-node.8 +2 -5
- data/man/man8/puppet-parser.8 +7 -1
- data/man/man8/puppet-plugin.8 +1 -1
- data/man/man8/puppet-queue.8 +1 -1
- data/man/man8/puppet-report.8 +2 -3
- data/man/man8/puppet-resource.8 +1 -1
- data/man/man8/puppet-resource_type.8 +1 -1
- data/man/man8/puppet-secret_agent.8 +1 -1
- data/man/man8/puppet-status.8 +1 -1
- data/man/man8/puppet.8 +1 -1
- data/spec/fixtures/unit/indirector/hiera/global.yaml +10 -0
- data/{test/data/providers/cron/crontab_sample_records.yaml → spec/fixtures/unit/provider/cron/crontab/single_line.yaml} +0 -0
- data/spec/fixtures/unit/provider/package/pkg/dummy_solaris10 +1 -1
- data/spec/fixtures/unit/provider/package/pkg/{dummy_solaris11 → dummy_solaris11.ifo.installed} +0 -0
- data/spec/fixtures/unit/provider/package/pkg/dummy_solaris11.ifo.known +1 -0
- data/spec/fixtures/unit/provider/package/pkg/dummy_solaris11.installed +1 -0
- data/spec/fixtures/unit/provider/package/pkg/dummy_solaris11.known +1 -0
- data/spec/fixtures/unit/provider/package/pkg/publisher +2 -2
- data/spec/fixtures/unit/provider/package/pkg/simple +2 -4
- data/spec/fixtures/unit/provider/package/pkg/solaris11 +2 -12
- data/spec/fixtures/unit/provider/package/sun/dummy.server +12 -0
- data/spec/fixtures/unit/provider/package/sun/simple +24 -0
- data/spec/fixtures/unit/provider/service/smf/svcs.out +3 -0
- data/{test/data/types/sshkey/1 → spec/fixtures/unit/provider/sshkey/parsed/sample} +0 -0
- data/spec/fixtures/unit/provider/zfs/zfs/zfs-list.out +2 -0
- data/spec/fixtures/unit/provider/zpool/zpool/zpool-list.out +2 -0
- data/spec/integration/application/apply_spec.rb +1 -1
- data/spec/integration/application/doc_spec.rb +3 -2
- data/spec/integration/configurer_spec.rb +1 -1
- data/spec/integration/defaults_spec.rb +21 -51
- data/spec/{unit/face → integration/faces}/ca_spec.rb +89 -130
- data/spec/integration/faces/documentation_spec.rb +36 -29
- data/spec/integration/file_serving/content_spec.rb +1 -2
- data/spec/integration/file_serving/fileset_spec.rb +1 -1
- data/spec/integration/file_serving/metadata_spec.rb +1 -2
- data/spec/integration/file_serving/terminus_helper_spec.rb +1 -1
- data/spec/integration/indirector/catalog/compiler_spec.rb +1 -2
- data/spec/integration/indirector/catalog/queue_spec.rb +3 -3
- data/spec/integration/indirector/direct_file_server_spec.rb +14 -10
- data/spec/integration/indirector/facts/facter_spec.rb +22 -0
- data/spec/integration/indirector/file_content/file_server_spec.rb +1 -1
- data/spec/integration/indirector/file_metadata/file_server_spec.rb +1 -1
- data/spec/integration/indirector/node/ldap_spec.rb +1 -1
- data/spec/integration/network/authconfig_spec.rb +238 -0
- data/spec/integration/network/formats_spec.rb +2 -4
- data/spec/integration/network/server/mongrel_spec.rb +2 -10
- data/spec/integration/network/server/webrick_spec.rb +1 -1
- data/spec/integration/node/environment_spec.rb +1 -1
- data/spec/integration/node/facts_spec.rb +2 -2
- data/spec/integration/node_spec.rb +2 -15
- data/spec/integration/parser/collector_spec.rb +2 -2
- data/spec/integration/parser/compiler_spec.rb +38 -10
- data/spec/integration/parser/functions/require_spec.rb +1 -1
- data/spec/integration/parser/functions_spec.rb +1 -1
- data/spec/integration/parser/parser_spec.rb +1 -1
- data/spec/integration/parser/ruby_manifest_spec.rb +1 -1
- data/spec/integration/parser/scope_spec.rb +608 -0
- data/spec/integration/provider/mailalias/aliases_spec.rb +1 -1
- data/spec/integration/provider/mount_spec.rb +1 -0
- data/spec/integration/provider/package_spec.rb +3 -3
- data/spec/integration/provider/service/init_spec.rb +2 -2
- data/spec/integration/provider/ssh_authorized_key_spec.rb +1 -1
- data/spec/integration/reference/providers_spec.rb +1 -1
- data/spec/integration/reports_spec.rb +1 -1
- data/spec/integration/resource/catalog_spec.rb +1 -2
- data/spec/integration/resource/type_collection_spec.rb +1 -1
- data/spec/integration/ssl/certificate_authority_spec.rb +1 -1
- data/spec/integration/ssl/certificate_request_spec.rb +1 -1
- data/spec/integration/ssl/certificate_revocation_list_spec.rb +1 -1
- data/spec/integration/ssl/host_spec.rb +1 -1
- data/spec/integration/transaction/report_spec.rb +1 -1
- data/spec/integration/transaction_spec.rb +2 -2
- data/spec/integration/type/exec_spec.rb +1 -1
- data/spec/integration/type/file_spec.rb +140 -158
- data/spec/integration/type/package_spec.rb +6 -2
- data/spec/integration/type/tidy_spec.rb +1 -1
- data/spec/integration/type_spec.rb +1 -1
- data/spec/integration/util/autoload_spec.rb +8 -14
- data/spec/integration/util/feature_spec.rb +1 -1
- data/spec/integration/util/rdoc/parser_spec.rb +11 -9
- data/spec/integration/util/settings_spec.rb +19 -6
- data/spec/integration/util/windows/security_spec.rb +23 -3
- data/spec/integration/util_spec.rb +3 -3
- data/spec/lib/puppet/indirector/indirector_testing/json.rb +6 -0
- data/spec/lib/puppet/indirector_testing.rb +27 -0
- data/spec/lib/puppet_spec/compiler.rb +2 -2
- data/spec/lib/puppet_spec/database.rb +1 -1
- data/spec/lib/puppet_spec/files.rb +4 -4
- data/spec/lib/puppet_spec/matchers.rb +26 -24
- data/spec/lib/puppet_spec/modules.rb +1 -1
- data/spec/lib/puppet_spec/settings.rb +16 -0
- data/spec/shared_behaviours/file_server_terminus.rb +2 -2
- data/spec/shared_behaviours/file_serving.rb +10 -15
- data/spec/shared_behaviours/file_serving_model.rb +2 -6
- data/spec/shared_contexts/platform.rb +0 -8
- data/spec/spec_helper.rb +14 -15
- data/spec/unit/agent/disabler_spec.rb +64 -0
- data/spec/unit/agent/locker_spec.rb +31 -36
- data/spec/unit/agent_spec.rb +79 -26
- data/spec/unit/application/agent_spec.rb +66 -39
- data/spec/unit/application/apply_spec.rb +46 -36
- data/spec/unit/application/cert_spec.rb +1 -5
- data/spec/unit/application/certificate_spec.rb +1 -1
- data/spec/unit/application/config_spec.rb +1 -1
- data/spec/unit/application/describe_spec.rb +1 -5
- data/spec/unit/application/device_spec.rb +22 -12
- data/spec/unit/application/doc_spec.rb +37 -69
- data/spec/unit/application/face_base_spec.rb +10 -6
- data/spec/unit/application/facts_spec.rb +3 -3
- data/spec/unit/application/filebucket_spec.rb +7 -18
- data/spec/unit/application/indirection_base_spec.rb +11 -5
- data/spec/unit/application/inspect_spec.rb +3 -2
- data/spec/unit/application/kick_spec.rb +6 -22
- data/spec/unit/application/master_spec.rb +15 -39
- data/spec/unit/application/queue_spec.rb +2 -6
- data/spec/unit/application/resource_spec.rb +15 -12
- data/spec/unit/application/secret_agent_spec.rb +1 -1
- data/spec/unit/application_spec.rb +110 -123
- data/spec/unit/configurer/downloader_spec.rb +5 -5
- data/spec/unit/configurer/fact_handler_spec.rb +1 -40
- data/spec/unit/configurer/plugin_handler_spec.rb +11 -96
- data/spec/unit/configurer_spec.rb +61 -59
- data/spec/unit/daemon_spec.rb +26 -19
- data/spec/unit/data_binding_spec.rb +11 -0
- data/spec/unit/dsl/resource_api_spec.rb +2 -2
- data/spec/unit/dsl/resource_type_api_spec.rb +1 -1
- data/spec/unit/face/catalog_spec.rb +1 -1
- data/spec/unit/face/certificate_request_spec.rb +1 -1
- data/spec/unit/face/certificate_revocation_list_spec.rb +1 -1
- data/spec/unit/face/certificate_spec.rb +18 -1
- data/spec/unit/face/config_spec.rb +8 -1
- data/spec/unit/face/facts_spec.rb +1 -1
- data/spec/unit/face/file_spec.rb +1 -1
- data/spec/unit/face/help_spec.rb +39 -22
- data/spec/unit/face/instrumentation_data_spec.rb +1 -1
- data/spec/unit/face/instrumentation_listener_spec.rb +1 -1
- data/spec/unit/face/instrumentation_probe_spec.rb +1 -1
- data/spec/unit/face/key_spec.rb +1 -1
- data/spec/unit/face/module/build_spec.rb +68 -0
- data/spec/unit/face/module/install_spec.rb +46 -31
- data/spec/unit/face/module/list_spec.rb +18 -21
- data/spec/unit/face/module/search_spec.rb +87 -49
- data/spec/unit/face/module/uninstall_spec.rb +4 -4
- data/spec/unit/face/node_spec.rb +3 -3
- data/spec/unit/face/plugin_spec.rb +1 -1
- data/spec/unit/face/report_spec.rb +1 -1
- data/spec/unit/face/resource_spec.rb +1 -1
- data/spec/unit/face/resource_type_spec.rb +1 -1
- data/spec/unit/face/secret_agent_spec.rb +1 -1
- data/spec/unit/file_bucket/dipper_spec.rb +1 -1
- data/spec/unit/file_bucket/file_spec.rb +1 -1
- data/spec/unit/file_serving/base_spec.rb +1 -1
- data/spec/unit/file_serving/configuration/parser_spec.rb +1 -1
- data/spec/unit/file_serving/configuration_spec.rb +7 -21
- data/spec/unit/file_serving/content_spec.rb +1 -1
- data/spec/unit/file_serving/fileset_spec.rb +13 -13
- data/spec/unit/file_serving/metadata_spec.rb +29 -47
- data/spec/unit/file_serving/mount/file_spec.rb +1 -1
- data/spec/unit/file_serving/mount/modules_spec.rb +1 -1
- data/spec/unit/file_serving/mount/plugins_spec.rb +17 -4
- data/spec/unit/file_serving/mount_spec.rb +1 -1
- data/spec/unit/file_serving/terminus_helper_spec.rb +1 -1
- data/spec/unit/file_serving/terminus_selector_spec.rb +5 -5
- data/spec/unit/forge/errors_spec.rb +42 -0
- data/spec/unit/forge/repository_spec.rb +108 -31
- data/spec/unit/forge_spec.rb +17 -23
- data/spec/unit/indirector/active_record_spec.rb +1 -1
- data/spec/unit/indirector/catalog/active_record_spec.rb +11 -49
- data/spec/unit/indirector/catalog/compiler_spec.rb +18 -45
- data/spec/unit/indirector/catalog/json_spec.rb +12 -0
- data/spec/unit/indirector/catalog/queue_spec.rb +1 -1
- data/spec/unit/indirector/catalog/rest_spec.rb +1 -1
- data/spec/unit/indirector/catalog/store_configs_spec.rb +1 -1
- data/spec/unit/indirector/catalog/yaml_spec.rb +1 -1
- data/spec/unit/indirector/certificate/ca_spec.rb +5 -6
- data/spec/unit/indirector/certificate/file_spec.rb +5 -6
- data/spec/unit/indirector/certificate/rest_spec.rb +6 -2
- data/spec/unit/indirector/certificate_request/ca_spec.rb +3 -3
- data/spec/unit/indirector/certificate_request/file_spec.rb +3 -3
- data/spec/unit/indirector/certificate_request/rest_spec.rb +1 -1
- data/spec/unit/indirector/certificate_revocation_list/ca_spec.rb +3 -4
- data/spec/unit/indirector/certificate_revocation_list/file_spec.rb +4 -3
- data/spec/unit/indirector/certificate_revocation_list/rest_spec.rb +1 -1
- data/spec/unit/indirector/certificate_status/file_spec.rb +41 -31
- data/spec/unit/indirector/certificate_status/rest_spec.rb +1 -1
- data/spec/unit/indirector/code_spec.rb +1 -1
- data/spec/unit/indirector/data_binding/hiera_spec.rb +21 -0
- data/spec/unit/indirector/data_binding/none_spec.rb +28 -0
- data/spec/unit/indirector/direct_file_server_spec.rb +2 -2
- data/spec/unit/indirector/envelope_spec.rb +1 -1
- data/spec/unit/indirector/exec_spec.rb +1 -1
- data/spec/unit/indirector/face_spec.rb +1 -1
- data/spec/unit/indirector/facts/active_record_spec.rb +1 -1
- data/spec/unit/indirector/facts/couch_spec.rb +3 -3
- data/spec/unit/indirector/facts/facter_spec.rb +13 -20
- data/spec/unit/indirector/facts/inventory_active_record_spec.rb +2 -2
- data/spec/unit/indirector/facts/inventory_service_spec.rb +2 -3
- data/spec/unit/indirector/facts/network_device_spec.rb +2 -9
- data/spec/unit/indirector/facts/rest_spec.rb +1 -1
- data/spec/unit/indirector/facts/store_configs_spec.rb +1 -1
- data/spec/unit/indirector/facts/yaml_spec.rb +2 -2
- data/spec/unit/indirector/file_bucket_file/file_spec.rb +2 -2
- data/spec/unit/indirector/file_bucket_file/rest_spec.rb +1 -1
- data/spec/unit/indirector/file_content/file_server_spec.rb +1 -1
- data/spec/unit/indirector/file_content/file_spec.rb +1 -1
- data/spec/unit/indirector/file_content/rest_spec.rb +7 -3
- data/spec/unit/indirector/file_metadata/file_server_spec.rb +1 -1
- data/spec/unit/indirector/file_metadata/file_spec.rb +3 -3
- data/spec/unit/indirector/file_metadata/rest_spec.rb +1 -1
- data/spec/unit/indirector/file_server_spec.rb +1 -1
- data/spec/unit/indirector/hiera_spec.rb +149 -0
- data/spec/unit/indirector/indirection_spec.rb +10 -29
- data/spec/unit/indirector/instrumentation_data/local_spec.rb +1 -1
- data/spec/unit/indirector/instrumentation_data/rest_spec.rb +1 -1
- data/spec/unit/indirector/instrumentation_listener/local_spec.rb +1 -1
- data/spec/unit/indirector/instrumentation_listener/rest_spec.rb +1 -1
- data/spec/unit/indirector/instrumentation_probe/local_spec.rb +1 -1
- data/spec/unit/indirector/instrumentation_probe/rest_spec.rb +1 -1
- data/spec/unit/indirector/json_spec.rb +193 -0
- data/spec/unit/indirector/key/ca_spec.rb +5 -6
- data/spec/unit/indirector/key/file_spec.rb +10 -12
- data/spec/unit/indirector/ldap_spec.rb +3 -3
- data/spec/unit/indirector/memory_spec.rb +1 -1
- data/spec/unit/indirector/node/active_record_spec.rb +11 -7
- data/spec/unit/indirector/node/exec_spec.rb +12 -5
- data/spec/unit/indirector/node/ldap_spec.rb +173 -194
- data/spec/unit/indirector/node/memory_spec.rb +1 -1
- data/spec/unit/indirector/node/plain_spec.rb +16 -8
- data/spec/unit/indirector/node/rest_spec.rb +1 -1
- data/spec/unit/indirector/node/store_configs_spec.rb +1 -1
- data/spec/unit/indirector/node/yaml_spec.rb +1 -1
- data/spec/unit/indirector/none_spec.rb +33 -0
- data/spec/unit/indirector/plain_spec.rb +1 -1
- data/spec/unit/indirector/queue_spec.rb +1 -1
- data/spec/unit/indirector/report/processor_spec.rb +4 -4
- data/spec/unit/indirector/report/rest_spec.rb +3 -46
- data/spec/unit/indirector/report/yaml_spec.rb +3 -12
- data/spec/unit/indirector/request_spec.rb +238 -61
- data/spec/unit/indirector/resource/active_record_spec.rb +2 -2
- data/spec/unit/indirector/resource/ral_spec.rb +2 -2
- data/spec/unit/indirector/resource/rest_spec.rb +1 -1
- data/spec/unit/indirector/resource/store_configs_spec.rb +1 -1
- data/spec/unit/indirector/resource_type/parser_spec.rb +153 -53
- data/spec/unit/indirector/resource_type/rest_spec.rb +1 -1
- data/spec/unit/indirector/rest_spec.rb +350 -361
- data/spec/unit/indirector/run/local_spec.rb +2 -2
- data/spec/unit/indirector/run/rest_spec.rb +1 -1
- data/spec/unit/indirector/ssl_file_spec.rb +12 -10
- data/spec/unit/indirector/status/rest_spec.rb +1 -1
- data/spec/unit/indirector/store_configs_spec.rb +1 -1
- data/spec/unit/indirector/terminus_spec.rb +1 -46
- data/spec/unit/indirector/yaml_spec.rb +36 -36
- data/spec/unit/indirector_spec.rb +1 -1
- data/spec/unit/interface/action_builder_spec.rb +1 -1
- data/spec/unit/interface/action_manager_spec.rb +1 -1
- data/spec/unit/interface/action_spec.rb +1 -1
- data/spec/unit/interface/documentation_spec.rb +3 -2
- data/spec/unit/interface/face_collection_spec.rb +19 -9
- data/spec/unit/interface/option_builder_spec.rb +9 -1
- data/spec/unit/interface/option_spec.rb +8 -0
- data/spec/unit/interface_spec.rb +49 -11
- data/spec/unit/module_spec.rb +95 -303
- data/spec/unit/module_tool/application_spec.rb +6 -6
- data/spec/unit/module_tool/applications/installer_spec.rb +131 -69
- data/spec/unit/module_tool/applications/searcher_spec.rb +37 -0
- data/spec/unit/module_tool/applications/uninstaller_spec.rb +27 -19
- data/spec/unit/module_tool/applications/unpacker_spec.rb +4 -10
- data/spec/unit/module_tool/applications/upgrader_spec.rb +1 -4
- data/spec/unit/module_tool/install_directory_spec.rb +70 -0
- data/spec/unit/module_tool_spec.rb +132 -1
- data/spec/unit/network/auth_config_parser_spec.rb +101 -0
- data/spec/unit/network/authconfig_spec.rb +54 -272
- data/spec/unit/network/authorization_spec.rb +20 -0
- data/spec/unit/network/authstore_spec.rb +17 -15
- data/spec/unit/network/format_handler_spec.rb +3 -3
- data/spec/unit/network/format_spec.rb +1 -1
- data/spec/unit/network/formats_spec.rb +28 -37
- data/spec/unit/network/http/api/v1_spec.rb +3 -3
- data/spec/unit/network/http/compression_spec.rb +3 -3
- data/spec/unit/network/http/connection_spec.rb +244 -0
- data/spec/unit/network/http/handler_spec.rb +4 -20
- data/spec/unit/network/http/mongrel/rest_spec.rb +12 -31
- data/spec/unit/network/http/mongrel_spec.rb +7 -37
- data/spec/unit/network/http/rack/rest_spec.rb +10 -44
- data/spec/unit/network/http/rack_spec.rb +2 -59
- data/spec/unit/network/http/webrick/rest_spec.rb +14 -4
- data/spec/unit/network/http/webrick_spec.rb +129 -193
- data/spec/unit/network/http_pool_spec.rb +6 -115
- data/spec/unit/network/http_spec.rb +1 -1
- data/spec/unit/network/resolver_spec.rb +207 -0
- data/spec/unit/network/rights_spec.rb +15 -115
- data/spec/unit/network/server_spec.rb +58 -166
- data/spec/unit/node/environment_spec.rb +7 -7
- data/spec/unit/node/facts_spec.rb +15 -30
- data/spec/unit/node_spec.rb +14 -26
- data/spec/unit/other/selinux_spec.rb +1 -1
- data/spec/unit/parameter/package_options_spec.rb +44 -0
- data/spec/unit/parameter/path_spec.rb +1 -1
- data/spec/unit/parameter/value_collection_spec.rb +1 -1
- data/spec/unit/parameter/value_spec.rb +1 -1
- data/spec/unit/parameter_spec.rb +1 -1
- data/spec/unit/parser/ast/arithmetic_operator_spec.rb +4 -2
- data/spec/unit/parser/ast/astarray_spec.rb +4 -2
- data/spec/unit/parser/ast/asthash_spec.rb +4 -2
- data/spec/unit/parser/ast/boolean_operator_spec.rb +4 -2
- data/spec/unit/parser/ast/casestatement_spec.rb +9 -5
- data/spec/unit/parser/ast/collection_spec.rb +2 -2
- data/spec/unit/parser/ast/collexpr_spec.rb +4 -2
- data/spec/unit/parser/ast/comparison_operator_spec.rb +5 -2
- data/spec/unit/parser/ast/definition_spec.rb +1 -1
- data/spec/unit/parser/ast/function_spec.rb +3 -3
- data/spec/unit/parser/ast/hostclass_spec.rb +1 -1
- data/spec/unit/parser/ast/ifstatement_spec.rb +4 -2
- data/spec/unit/parser/ast/in_operator_spec.rb +4 -2
- data/spec/unit/parser/ast/leaf_spec.rb +66 -39
- data/spec/unit/parser/ast/match_operator_spec.rb +4 -2
- data/spec/unit/parser/ast/minus_spec.rb +4 -2
- data/spec/unit/parser/ast/node_spec.rb +1 -1
- data/spec/unit/parser/ast/nop_spec.rb +1 -1
- data/spec/unit/parser/ast/not_spec.rb +4 -2
- data/spec/unit/parser/ast/relationship_spec.rb +2 -2
- data/spec/unit/parser/ast/resource_defaults_spec.rb +2 -2
- data/spec/unit/parser/ast/resource_override_spec.rb +2 -2
- data/spec/unit/parser/ast/resource_reference_spec.rb +5 -3
- data/spec/unit/parser/ast/resource_spec.rb +5 -32
- data/spec/unit/parser/ast/selector_spec.rb +56 -106
- data/spec/unit/parser/ast/vardef_spec.rb +4 -2
- data/spec/unit/parser/ast_spec.rb +22 -51
- data/spec/unit/parser/collector_spec.rb +2 -2
- data/spec/unit/parser/compiler_spec.rb +89 -42
- data/spec/unit/parser/files_spec.rb +81 -10
- data/spec/unit/parser/functions/create_resources_spec.rb +5 -4
- data/spec/unit/parser/functions/defined_spec.rb +2 -2
- data/spec/unit/parser/functions/extlookup_spec.rb +9 -8
- data/spec/unit/parser/functions/fail_spec.rb +28 -0
- data/spec/unit/parser/functions/file_spec.rb +55 -0
- data/spec/unit/parser/functions/fqdn_rand_spec.rb +6 -12
- data/spec/unit/parser/functions/generate_spec.rb +54 -3
- data/spec/unit/parser/functions/include_spec.rb +19 -2
- data/spec/unit/parser/functions/inline_template_spec.rb +9 -20
- data/spec/unit/parser/functions/realize_spec.rb +4 -4
- data/spec/unit/parser/functions/regsubst_spec.rb +4 -2
- data/spec/unit/parser/functions/require_spec.rb +5 -14
- data/spec/unit/parser/functions/search_spec.rb +23 -0
- data/spec/unit/parser/functions/shellquote_spec.rb +31 -38
- data/spec/unit/parser/functions/split_spec.rb +4 -2
- data/spec/unit/parser/functions/sprintf_spec.rb +4 -2
- data/spec/unit/parser/functions/tag_spec.rb +4 -3
- data/spec/unit/parser/functions/template_spec.rb +45 -27
- data/spec/unit/parser/functions/versioncmp_spec.rb +4 -2
- data/spec/unit/parser/functions_spec.rb +14 -22
- data/spec/unit/parser/lexer_spec.rb +10 -134
- data/spec/unit/parser/parser_spec.rb +126 -35
- data/spec/unit/parser/relationship_spec.rb +1 -25
- data/spec/unit/parser/resource_spec.rb +15 -79
- data/spec/unit/parser/scope_spec.rb +175 -602
- data/spec/unit/parser/templatewrapper_spec.rb +8 -25
- data/spec/unit/parser/type_loader_spec.rb +37 -21
- data/spec/unit/property/ensure_spec.rb +1 -1
- data/spec/unit/property/keyvalue_spec.rb +1 -1
- data/spec/unit/property/list_spec.rb +1 -1
- data/spec/unit/property/ordered_list_spec.rb +1 -1
- data/spec/unit/property_spec.rb +1 -1
- data/spec/unit/{puppet/provider → provider}/README.markdown +0 -0
- data/spec/unit/provider/augeas/augeas_spec.rb +88 -1
- data/spec/unit/provider/cisco_spec.rb +1 -1
- data/spec/unit/provider/command_spec.rb +62 -0
- data/spec/unit/provider/confine/exists_spec.rb +8 -1
- data/spec/unit/provider/confine/false_spec.rb +1 -1
- data/spec/unit/provider/confine/feature_spec.rb +1 -1
- data/spec/unit/provider/confine/true_spec.rb +1 -1
- data/spec/unit/provider/confine/variable_spec.rb +1 -1
- data/spec/unit/provider/confine_collection_spec.rb +1 -1
- data/spec/unit/provider/confine_spec.rb +1 -1
- data/spec/unit/provider/confiner_spec.rb +1 -1
- data/spec/unit/provider/cron/crontab_spec.rb +116 -0
- data/spec/unit/provider/exec/posix_spec.rb +99 -12
- data/spec/unit/provider/exec/shell_spec.rb +1 -1
- data/spec/unit/provider/exec/windows_spec.rb +1 -1
- data/spec/unit/provider/exec_spec.rb +1 -1
- data/spec/unit/provider/file/posix_spec.rb +1 -1
- data/spec/unit/provider/file/windows_spec.rb +30 -30
- data/spec/unit/provider/group/groupadd_spec.rb +31 -37
- data/spec/unit/provider/group/ldap_spec.rb +1 -1
- data/spec/unit/provider/group/pw_spec.rb +1 -1
- data/spec/unit/provider/group/windows_adsi_spec.rb +2 -2
- data/spec/unit/provider/host/parsed_spec.rb +1 -1
- data/spec/unit/provider/interface/cisco_spec.rb +1 -1
- data/spec/unit/provider/ldap_spec.rb +1 -1
- data/spec/unit/provider/macauthorization_spec.rb +1 -1
- data/spec/unit/provider/mcx/mcxcontent_spec.rb +1 -1
- data/spec/unit/provider/mount/parsed_spec.rb +18 -12
- data/spec/unit/provider/mount_spec.rb +1 -1
- data/spec/unit/provider/naginator_spec.rb +1 -1
- data/spec/unit/provider/nameservice/directoryservice_spec.rb +9 -29
- data/spec/unit/provider/network_device_spec.rb +1 -1
- data/spec/unit/provider/package/aix_spec.rb +1 -1
- data/spec/unit/provider/package/appdmg_spec.rb +1 -1
- data/spec/unit/provider/package/apt_spec.rb +1 -1
- data/spec/unit/provider/package/aptitude_spec.rb +38 -0
- data/spec/unit/provider/package/aptrpm_spec.rb +39 -0
- data/spec/unit/provider/package/dpkg_spec.rb +4 -4
- data/spec/unit/provider/package/freebsd_spec.rb +3 -3
- data/spec/unit/provider/package/gem_spec.rb +1 -1
- data/spec/unit/provider/package/hpux_spec.rb +1 -1
- data/spec/unit/provider/package/macports_spec.rb +27 -10
- data/spec/unit/provider/package/msi_spec.rb +29 -14
- data/spec/unit/provider/package/nim_spec.rb +1 -1
- data/spec/unit/provider/package/openbsd_spec.rb +3 -3
- data/spec/unit/provider/package/pacman_spec.rb +109 -81
- data/spec/unit/provider/package/pip_spec.rb +1 -1
- data/spec/unit/provider/package/pkg_spec.rb +205 -97
- data/spec/unit/provider/package/pkgdmg_spec.rb +1 -1
- data/spec/unit/provider/package/pkgin_spec.rb +176 -0
- data/spec/unit/provider/package/pkgutil_spec.rb +64 -10
- data/spec/unit/provider/package/rpm_spec.rb +58 -0
- data/spec/unit/provider/package/sun_spec.rb +122 -0
- data/spec/unit/provider/package/up2date_spec.rb +24 -0
- data/spec/unit/provider/package/windows/exe_package_spec.rb +99 -0
- data/spec/unit/provider/package/windows/msi_package_spec.rb +115 -0
- data/spec/unit/provider/package/windows/package_spec.rb +126 -0
- data/spec/unit/provider/package/windows_spec.rb +255 -0
- data/spec/unit/provider/package/yum_spec.rb +1 -1
- data/spec/unit/provider/package/zypper_spec.rb +1 -1
- data/spec/unit/provider/parsedfile_spec.rb +1 -1
- data/spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb +12 -15
- data/spec/unit/provider/selboolean_spec.rb +1 -1
- data/spec/unit/provider/selmodule-example.pp +0 -0
- data/spec/unit/provider/selmodule_spec.rb +1 -1
- data/spec/unit/provider/service/base_spec.rb +77 -0
- data/spec/unit/provider/service/daemontools_spec.rb +1 -1
- data/spec/unit/provider/service/debian_spec.rb +1 -1
- data/spec/unit/provider/service/freebsd_spec.rb +1 -1
- data/spec/unit/provider/service/gentoo_spec.rb +1 -1
- data/spec/unit/provider/service/init_spec.rb +1 -1
- data/spec/unit/provider/service/launchd_spec.rb +0 -17
- data/spec/unit/provider/service/redhat_spec.rb +12 -3
- data/spec/unit/provider/service/runit_spec.rb +2 -1
- data/spec/unit/provider/service/smf_spec.rb +16 -1
- data/spec/unit/provider/service/src_spec.rb +6 -6
- data/spec/unit/provider/service/systemd_spec.rb +18 -1
- data/spec/unit/provider/service/upstart_spec.rb +12 -7
- data/spec/unit/provider/service/windows_spec.rb +1 -1
- data/spec/unit/provider/ssh_authorized_key/parsed_spec.rb +1 -1
- data/spec/unit/provider/sshkey/parsed_spec.rb +42 -12
- data/spec/unit/provider/user/hpux_spec.rb +1 -1
- data/spec/unit/provider/user/ldap_spec.rb +9 -23
- data/spec/unit/provider/user/pw_spec.rb +1 -1
- data/spec/unit/provider/user/user_role_add_spec.rb +5 -2
- data/spec/unit/provider/user/useradd_spec.rb +118 -146
- data/spec/unit/provider/user/windows_adsi_spec.rb +2 -24
- data/spec/unit/provider/vlan/cisco_spec.rb +1 -1
- data/spec/unit/provider/zfs/zfs_spec.rb +106 -0
- data/spec/unit/provider/zone/solaris_spec.rb +56 -34
- data/spec/unit/provider/zpool/zpool_spec.rb +213 -0
- data/spec/unit/provider_spec.rb +621 -16
- data/spec/unit/puppet_spec.rb +21 -9
- data/spec/unit/rails/host_spec.rb +1 -1
- data/spec/unit/rails/param_value_spec.rb +1 -1
- data/spec/unit/rails/resource_spec.rb +1 -1
- data/spec/unit/rails_spec.rb +70 -70
- data/spec/unit/relationship_spec.rb +1 -1
- data/spec/unit/reports/http_spec.rb +48 -15
- data/spec/unit/reports/rrdgraph_spec.rb +1 -1
- data/spec/unit/reports/store_spec.rb +1 -1
- data/spec/unit/reports/tagmail_spec.rb +1 -1
- data/spec/unit/reports_spec.rb +1 -1
- data/spec/unit/resource/catalog_spec.rb +8 -175
- data/spec/unit/resource/status_spec.rb +2 -2
- data/spec/unit/resource/type_collection_helper_spec.rb +1 -1
- data/spec/unit/resource/type_collection_spec.rb +72 -45
- data/spec/unit/resource/type_spec.rb +31 -33
- data/spec/unit/resource_spec.rb +163 -98
- data/spec/unit/run_spec.rb +7 -23
- data/spec/unit/settings/directory_setting_spec.rb +32 -0
- data/spec/unit/{util/settings → settings}/file_setting_spec.rb +14 -23
- data/spec/unit/settings/path_setting_spec.rb +30 -0
- data/spec/unit/settings/string_setting_spec.rb +75 -0
- data/spec/unit/settings_spec.rb +1583 -0
- data/spec/unit/simple_graph_spec.rb +19 -5
- data/spec/unit/ssl/base_spec.rb +2 -2
- data/spec/unit/ssl/certificate_authority/interface_spec.rb +7 -7
- data/spec/unit/ssl/certificate_authority_spec.rb +27 -53
- data/spec/unit/ssl/certificate_factory_spec.rb +1 -1
- data/spec/unit/ssl/certificate_request_spec.rb +2 -4
- data/spec/unit/ssl/certificate_revocation_list_spec.rb +3 -3
- data/spec/unit/ssl/certificate_spec.rb +1 -1
- data/spec/unit/ssl/configuration_spec.rb +60 -0
- data/spec/unit/ssl/host_spec.rb +37 -89
- data/spec/unit/ssl/inventory_spec.rb +13 -20
- data/spec/unit/ssl/key_spec.rb +11 -9
- data/spec/unit/status_spec.rb +1 -7
- data/spec/unit/transaction/event_manager_spec.rb +1 -1
- data/spec/unit/transaction/event_spec.rb +6 -6
- data/spec/unit/transaction/report_spec.rb +1 -1
- data/spec/unit/transaction/resource_harness_spec.rb +2 -2
- data/spec/unit/transaction_spec.rb +8 -8
- data/spec/unit/{puppet/type → type}/README.markdown +0 -0
- data/spec/unit/type/augeas_spec.rb +2 -2
- data/spec/unit/type/component_spec.rb +1 -1
- data/spec/unit/type/computer_spec.rb +1 -1
- data/spec/unit/type/cron_spec.rb +1 -1
- data/spec/unit/type/exec_spec.rb +40 -12
- data/spec/unit/type/file/checksum_spec.rb +1 -1
- data/spec/unit/type/file/content_spec.rb +9 -6
- data/spec/unit/type/file/ctime_spec.rb +1 -1
- data/spec/unit/type/file/ensure_spec.rb +1 -1
- data/spec/unit/type/file/group_spec.rb +1 -1
- data/spec/unit/type/file/mode_spec.rb +1 -1
- data/spec/unit/type/file/mtime_spec.rb +1 -1
- data/spec/unit/type/file/owner_spec.rb +1 -1
- data/spec/unit/type/file/selinux_spec.rb +1 -1
- data/spec/unit/type/file/source_spec.rb +14 -13
- data/spec/unit/type/file/type_spec.rb +1 -1
- data/spec/unit/type/file_spec.rb +39 -87
- data/spec/unit/type/filebucket_spec.rb +1 -1
- data/spec/unit/type/group_spec.rb +5 -5
- data/spec/unit/type/host_spec.rb +1 -1
- data/spec/unit/type/interface_spec.rb +1 -1
- data/spec/unit/type/macauthorization_spec.rb +1 -1
- data/spec/unit/type/mailalias_spec.rb +21 -0
- data/spec/unit/type/maillist_spec.rb +1 -1
- data/spec/unit/type/mcx_spec.rb +1 -1
- data/spec/unit/type/mount_spec.rb +2 -2
- data/spec/unit/type/nagios_spec.rb +1 -1
- data/spec/unit/type/noop_metaparam_spec.rb +3 -3
- data/spec/unit/type/package_spec.rb +1 -1
- data/spec/unit/type/resources_spec.rb +2 -2
- data/spec/unit/type/schedule_spec.rb +297 -39
- data/spec/unit/type/scheduled_task_spec.rb +3 -3
- data/spec/unit/type/selboolean_spec.rb +1 -1
- data/spec/unit/type/selmodule_spec.rb +1 -1
- data/spec/unit/type/service_spec.rb +1 -1
- data/spec/unit/type/ssh_authorized_key_spec.rb +3 -3
- data/spec/unit/type/sshkey_spec.rb +1 -1
- data/spec/unit/type/stage_spec.rb +1 -1
- data/spec/unit/type/tidy_spec.rb +1 -1
- data/spec/unit/type/user_spec.rb +1 -1
- data/spec/unit/type/vlan_spec.rb +1 -1
- data/spec/unit/type/whit_spec.rb +1 -1
- data/spec/unit/type/yumrepo_spec.rb +243 -0
- data/spec/unit/type/zfs_spec.rb +8 -6
- data/spec/unit/type/zone_spec.rb +41 -36
- data/spec/unit/type/zpool_spec.rb +1 -1
- data/spec/unit/type_spec.rb +180 -31
- data/spec/unit/util/adsi_spec.rb +8 -23
- data/spec/unit/util/autoload_spec.rb +181 -45
- data/spec/unit/util/backups_spec.rb +1 -1
- data/spec/unit/util/cache_accumulator_spec.rb +1 -1
- data/spec/unit/util/cacher_spec.rb +1 -1
- data/spec/unit/util/checksums_spec.rb +1 -1
- data/spec/unit/util/command_line_spec.rb +114 -108
- data/spec/unit/util/command_line_utils/puppet_option_parser_spec.rb +129 -0
- data/spec/unit/util/config_timeout_spec.rb +57 -0
- data/spec/unit/util/constant_inflector_spec.rb +13 -23
- data/spec/unit/util/diff_spec.rb +5 -4
- data/spec/unit/util/errors_spec.rb +1 -1
- data/spec/unit/util/execution_spec.rb +532 -28
- data/spec/unit/util/execution_stub_spec.rb +4 -4
- data/spec/unit/util/feature_spec.rb +12 -13
- data/spec/unit/util/filetype_spec.rb +9 -9
- data/spec/unit/util/inline_docs_spec.rb +1 -1
- data/spec/unit/util/instrumentation/data_spec.rb +1 -1
- data/spec/unit/util/instrumentation/indirection_probe_spec.rb +1 -1
- data/spec/unit/util/instrumentation/instrumentable_spec.rb +1 -1
- data/spec/unit/util/instrumentation/listener_spec.rb +1 -1
- data/spec/unit/util/instrumentation_spec.rb +1 -1
- data/spec/unit/util/json_lockfile_spec.rb +29 -0
- data/spec/unit/util/ldap/connection_spec.rb +11 -15
- data/spec/unit/util/ldap/generator_spec.rb +1 -1
- data/spec/unit/util/ldap/manager_spec.rb +14 -23
- data/spec/unit/util/loadedfile_spec.rb +1 -1
- data/spec/unit/util/lockfile_spec.rb +76 -0
- data/spec/unit/util/log/destinations_spec.rb +11 -28
- data/spec/unit/util/log_spec.rb +6 -6
- data/spec/unit/util/logging_spec.rb +43 -11
- data/spec/unit/util/metric_spec.rb +4 -3
- data/spec/unit/util/monkey_patches/lines_spec.rb +83 -0
- data/spec/unit/util/monkey_patches_spec.rb +91 -28
- data/spec/unit/util/nagios_maker_spec.rb +1 -1
- data/spec/unit/util/network_device/cisco/device_spec.rb +3 -3
- data/spec/unit/util/network_device/cisco/facts_spec.rb +1 -1
- data/spec/unit/util/network_device/cisco/interface_spec.rb +1 -1
- data/spec/unit/util/network_device/config_spec.rb +1 -1
- data/spec/unit/util/network_device/ipcalc_spec.rb +1 -1
- data/spec/unit/util/network_device/transport/base_spec.rb +1 -1
- data/spec/unit/util/network_device/transport/ssh_spec.rb +2 -2
- data/spec/unit/util/network_device/transport/telnet_spec.rb +1 -1
- data/spec/unit/util/network_device_spec.rb +1 -1
- data/spec/unit/util/package_spec.rb +1 -1
- data/spec/unit/util/pidlock_spec.rb +179 -0
- data/spec/unit/util/posix_spec.rb +2 -2
- data/spec/unit/util/pson_spec.rb +23 -9
- data/spec/unit/util/queue/stomp_spec.rb +10 -13
- data/spec/unit/util/queue_spec.rb +2 -2
- data/spec/unit/util/rdoc/parser_spec.rb +11 -9
- data/spec/unit/util/rdoc_spec.rb +9 -3
- data/spec/unit/util/reference_serializer_spec.rb +1 -1
- data/spec/unit/util/reference_spec.rb +1 -1
- data/spec/unit/util/resource_template_spec.rb +1 -1
- data/spec/unit/util/retryaction_spec.rb +1 -1
- data/spec/unit/util/rubygems_spec.rb +66 -0
- data/spec/unit/util/run_mode_spec.rb +4 -9
- data/spec/unit/util/selinux_spec.rb +33 -25
- data/spec/unit/util/storage_spec.rb +2 -18
- data/spec/unit/util/suidmanager_spec.rb +11 -4
- data/spec/unit/util/symbolic_file_mode_spec.rb +1 -1
- data/spec/unit/util/tagging_spec.rb +1 -1
- data/spec/unit/util/terminal_spec.rb +1 -1
- data/spec/unit/util/user_attr_spec.rb +1 -1
- data/spec/unit/util/warnings_spec.rb +1 -1
- data/spec/unit/util/windows/registry_spec.rb +86 -0
- data/spec/unit/util/zaml_spec.rb +30 -146
- data/spec/unit/util_spec.rb +148 -440
- data/spec/watchr.rb +6 -2
- data/tasks/rake/apple.rake +176 -0
- data/tasks/rake/gem.rake +6 -5
- data/tasks/rake/manpages.rake +8 -1
- data/tasks/rake/metrics.rake +11 -3
- data/tasks/rake/parser.rake +5 -0
- data/{ext/osx → tasks/rake/templates}/prototype.plist.erb +0 -0
- metadata +293 -580
- data/bin/filebucket +0 -7
- data/bin/pi +0 -5
- data/bin/puppetca +0 -4
- data/bin/puppetd +0 -4
- data/bin/puppetdoc +0 -4
- data/bin/puppetmasterd +0 -4
- data/bin/puppetqd +0 -4
- data/bin/puppetrun +0 -5
- data/bin/ralsh +0 -4
- data/ext/build_defaults.yaml +0 -19
- data/ext/debian/README.Debian +0 -8
- data/ext/debian/README.source +0 -2
- data/ext/debian/TODO.Debian +0 -1
- data/ext/debian/changelog.erb +0 -1104
- data/ext/debian/compat +0 -1
- data/ext/debian/control +0 -142
- data/ext/debian/copyright +0 -361
- data/ext/debian/docs +0 -1
- data/ext/debian/fileserver.conf +0 -17
- data/ext/debian/puppet-common.dirs +0 -8
- data/ext/debian/puppet-common.install +0 -3
- data/ext/debian/puppet-common.lintian-overrides +0 -7
- data/ext/debian/puppet-common.manpages +0 -2
- data/ext/debian/puppet-common.postinst +0 -35
- data/ext/debian/puppet-common.postrm +0 -32
- data/ext/debian/puppet-el.dirs +0 -1
- data/ext/debian/puppet-el.emacsen-install +0 -25
- data/ext/debian/puppet-el.emacsen-remove +0 -11
- data/ext/debian/puppet-el.emacsen-startup +0 -9
- data/ext/debian/puppet-el.install +0 -1
- data/ext/debian/puppet-testsuite.install +0 -3
- data/ext/debian/puppet-testsuite.lintian-overrides +0 -4
- data/ext/debian/puppet.NEWS +0 -86
- data/ext/debian/puppet.conf +0 -14
- data/ext/debian/puppet.default +0 -7
- data/ext/debian/puppet.dirs +0 -1
- data/ext/debian/puppet.init +0 -118
- data/ext/debian/puppet.install +0 -4
- data/ext/debian/puppet.lintian-overrides +0 -3
- data/ext/debian/puppet.logrotate +0 -11
- data/ext/debian/puppet.manpages +0 -36
- data/ext/debian/puppet.postinst +0 -20
- data/ext/debian/puppet.postrm +0 -20
- data/ext/debian/puppet.preinst +0 -20
- data/ext/debian/puppetmaster-common.install +0 -5
- data/ext/debian/puppetmaster-common.manpages +0 -5
- data/ext/debian/puppetmaster-common.puppetqd.default +0 -27
- data/ext/debian/puppetmaster-common.puppetqd.init +0 -84
- data/ext/debian/puppetmaster-passenger.dirs +0 -4
- data/ext/debian/puppetmaster-passenger.postinst +0 -66
- data/ext/debian/puppetmaster-passenger.postrm +0 -33
- data/ext/debian/puppetmaster.NEWS +0 -13
- data/ext/debian/puppetmaster.README.debian +0 -16
- data/ext/debian/puppetmaster.default +0 -38
- data/ext/debian/puppetmaster.dirs +0 -1
- data/ext/debian/puppetmaster.init +0 -158
- data/ext/debian/puppetmaster.install +0 -1
- data/ext/debian/puppetmaster.lintian-overrides +0 -3
- data/ext/debian/puppetmaster.manpages +0 -1
- data/ext/debian/puppetmaster.postinst +0 -20
- data/ext/debian/puppetmaster.postrm +0 -5
- data/ext/debian/puppetmaster.preinst +0 -22
- data/ext/debian/rules +0 -127
- data/ext/debian/source/format +0 -1
- data/ext/debian/source/options +0 -1
- data/ext/debian/vim-puppet.README.Debian +0 -13
- data/ext/debian/vim-puppet.dirs +0 -3
- data/ext/debian/vim-puppet.yaml +0 -5
- data/ext/debian/watch +0 -2
- data/ext/osx/file_mapping.yaml +0 -38
- data/ext/osx/preflight.erb +0 -37
- data/ext/packaging/Gemfile +0 -8
- data/ext/packaging/Gemfile.lock +0 -28
- data/ext/packaging/LICENSE +0 -17
- data/ext/packaging/README-Solaris.md +0 -117
- data/ext/packaging/README.md +0 -1074
- data/ext/packaging/lib/packaging.rb +0 -21
- data/ext/packaging/lib/packaging/config.rb +0 -277
- data/ext/packaging/lib/packaging/config/params.rb +0 -175
- data/ext/packaging/lib/packaging/tar.rb +0 -186
- data/ext/packaging/lib/packaging/util.rb +0 -44
- data/ext/packaging/lib/packaging/util/date.rb +0 -15
- data/ext/packaging/lib/packaging/util/file.rb +0 -60
- data/ext/packaging/lib/packaging/util/jira.rb +0 -83
- data/ext/packaging/lib/packaging/util/net.rb +0 -16
- data/ext/packaging/lib/packaging/util/rake_utils.rb +0 -57
- data/ext/packaging/lib/packaging/util/serialization.rb +0 -19
- data/ext/packaging/lib/packaging/util/tool.rb +0 -30
- data/ext/packaging/lib/packaging/util/version.rb +0 -300
- data/ext/packaging/packaging.rake +0 -50
- data/ext/packaging/spec/fixtures/config/ext/build_defaults.yaml +0 -2
- data/ext/packaging/spec/fixtures/config/ext/project_data.yaml +0 -2
- data/ext/packaging/spec/fixtures/config/params.yaml +0 -2
- data/ext/packaging/spec/fixtures/util/pre_tasks.yaml +0 -4
- data/ext/packaging/spec/lib/packaging/config_spec.rb +0 -330
- data/ext/packaging/spec/lib/packaging/tar_spec.rb +0 -122
- data/ext/packaging/spec/lib/packaging/util/file_spec.rb +0 -48
- data/ext/packaging/spec/lib/packaging/util/jira_spec.rb +0 -50
- data/ext/packaging/spec/lib/packaging/util/net_spec.rb +0 -23
- data/ext/packaging/spec/lib/packaging/util/rake_utils_spec.rb +0 -70
- data/ext/packaging/spec/lib/packaging/util/version_spec.rb +0 -67
- data/ext/packaging/spec/lib/packaging_spec.rb +0 -19
- data/ext/packaging/spec/spec_helper.rb +0 -22
- data/ext/packaging/spec/tasks/00_utils_spec.rb +0 -248
- data/ext/packaging/static_artifacts/PackageInfo.plist +0 -3
- data/ext/packaging/tasks/00_utils.rake +0 -402
- data/ext/packaging/tasks/30_metrics.rake +0 -33
- data/ext/packaging/tasks/apple.rake +0 -267
- data/ext/packaging/tasks/build.rake +0 -12
- data/ext/packaging/tasks/clean.rake +0 -5
- data/ext/packaging/tasks/deb.rake +0 -127
- data/ext/packaging/tasks/deb_repos.rake +0 -128
- data/ext/packaging/tasks/doc.rake +0 -20
- data/ext/packaging/tasks/fetch.rake +0 -58
- data/ext/packaging/tasks/gem.rake +0 -158
- data/ext/packaging/tasks/ips.rake +0 -122
- data/ext/packaging/tasks/jenkins.rake +0 -360
- data/ext/packaging/tasks/jenkins_dynamic.rake +0 -123
- data/ext/packaging/tasks/load_extras.rake +0 -21
- data/ext/packaging/tasks/mock.rake +0 -290
- data/ext/packaging/tasks/pe_deb.rake +0 -12
- data/ext/packaging/tasks/pe_remote.rake +0 -41
- data/ext/packaging/tasks/pe_rpm.rake +0 -13
- data/ext/packaging/tasks/pe_ship.rake +0 -179
- data/ext/packaging/tasks/pe_sign.rake +0 -47
- data/ext/packaging/tasks/pe_tar.rake +0 -5
- data/ext/packaging/tasks/release.rake +0 -91
- data/ext/packaging/tasks/remote_build.rake +0 -158
- data/ext/packaging/tasks/retrieve.rake +0 -45
- data/ext/packaging/tasks/rpm.rake +0 -71
- data/ext/packaging/tasks/rpm_repos.rake +0 -139
- data/ext/packaging/tasks/ship.rake +0 -192
- data/ext/packaging/tasks/sign.rake +0 -164
- data/ext/packaging/tasks/tag.rake +0 -8
- data/ext/packaging/tasks/tar.rake +0 -34
- data/ext/packaging/tasks/tickets.rake +0 -449
- data/ext/packaging/tasks/update.rake +0 -16
- data/ext/packaging/tasks/vendor_gems.rake +0 -110
- data/ext/packaging/tasks/version.rake +0 -33
- data/ext/packaging/tasks/z_data_dump.rake +0 -65
- data/ext/packaging/templates/README +0 -1
- data/ext/packaging/templates/downstream.xml.erb +0 -45
- data/ext/packaging/templates/packaging.xml.erb +0 -330
- data/ext/packaging/templates/repo.xml.erb +0 -106
- data/ext/project_data.yaml +0 -24
- data/lib/puppet/file_system.rb +0 -3
- data/lib/puppet/file_system/path_pattern.rb +0 -97
- data/lib/puppet/indirector/certificate/disabled_ca.rb +0 -22
- data/lib/puppet/indirector/certificate_request/disabled_ca.rb +0 -22
- data/lib/puppet/indirector/certificate_revocation_list/disabled_ca.rb +0 -22
- data/lib/puppet/indirector/errors.rb +0 -5
- data/lib/puppet/indirector/inventory/yaml.rb +0 -81
- data/lib/puppet/indirector/key/disabled_ca.rb +0 -22
- data/lib/puppet/indirector/resource/validator.rb +0 -8
- data/lib/puppet/network/handler.rb +0 -50
- data/lib/puppet/network/handler/ca.rb +0 -61
- data/lib/puppet/network/handler/filebucket.rb +0 -53
- data/lib/puppet/network/handler/fileserver.rb +0 -732
- data/lib/puppet/network/handler/master.rb +0 -87
- data/lib/puppet/network/handler/report.rb +0 -82
- data/lib/puppet/network/handler/runner.rb +0 -33
- data/lib/puppet/network/handler/status.rb +0 -18
- data/lib/puppet/network/http/rack/xmlrpc.rb +0 -65
- data/lib/puppet/network/http_server.rb +0 -3
- data/lib/puppet/network/http_server/mongrel.rb +0 -129
- data/lib/puppet/network/rest_authconfig.rb +0 -102
- data/lib/puppet/network/rest_authorization.rb +0 -23
- data/lib/puppet/network/xmlrpc/processor.rb +0 -86
- data/lib/puppet/network/xmlrpc/server.rb +0 -19
- data/lib/puppet/network/xmlrpc/webrick_servlet.rb +0 -114
- data/lib/puppet/node/inventory.rb +0 -7
- data/lib/puppet/reference/network.rb +0 -39
- data/lib/puppet/transportable.rb +0 -248
- data/lib/puppet/util/autoload/file_cache.rb +0 -92
- data/lib/puppet/util/file_locking.rb +0 -47
- data/lib/puppet/util/settings.rb +0 -926
- data/lib/puppet/util/settings/setting.rb +0 -94
- data/lib/puppet/util/windows/sid.rb +0 -96
- data/lib/puppet/vendor.rb +0 -55
- data/lib/puppet/vendor/load_safe_yaml.rb +0 -1
- data/lib/puppet/vendor/require_vendored.rb +0 -4
- data/lib/puppet/vendor/safe_yaml/CHANGES.md +0 -104
- data/lib/puppet/vendor/safe_yaml/Gemfile +0 -11
- data/lib/puppet/vendor/safe_yaml/LICENSE.txt +0 -22
- data/lib/puppet/vendor/safe_yaml/README.md +0 -179
- data/lib/puppet/vendor/safe_yaml/Rakefile +0 -6
- data/lib/puppet/vendor/safe_yaml/lib/safe_yaml.rb +0 -253
- data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/deep.rb +0 -34
- data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/parse/date.rb +0 -27
- data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/parse/hexadecimal.rb +0 -12
- data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/parse/sexagesimal.rb +0 -26
- data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/psych_handler.rb +0 -92
- data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/psych_resolver.rb +0 -52
- data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/resolver.rb +0 -94
- data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/safe_to_ruby_visitor.rb +0 -17
- data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/syck_hack.rb +0 -36
- data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/syck_node_monkeypatch.rb +0 -43
- data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/syck_resolver.rb +0 -38
- data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/transform.rb +0 -41
- data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/transform/to_boolean.rb +0 -21
- data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/transform/to_date.rb +0 -11
- data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/transform/to_float.rb +0 -33
- data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/transform/to_integer.rb +0 -25
- data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/transform/to_nil.rb +0 -18
- data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/transform/to_symbol.rb +0 -13
- data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/transform/transformation_map.rb +0 -47
- data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/version.rb +0 -3
- data/lib/puppet/vendor/safe_yaml/run_specs_all_ruby_versions.sh +0 -21
- data/lib/puppet/vendor/safe_yaml/safe_yaml.gemspec +0 -18
- data/lib/puppet/vendor/safe_yaml/spec/exploit.1.9.2.yaml +0 -2
- data/lib/puppet/vendor/safe_yaml/spec/exploit.1.9.3.yaml +0 -2
- data/lib/puppet/vendor/safe_yaml/spec/psych_resolver_spec.rb +0 -10
- data/lib/puppet/vendor/safe_yaml/spec/resolver_specs.rb +0 -250
- data/lib/puppet/vendor/safe_yaml/spec/safe_yaml_spec.rb +0 -702
- data/lib/puppet/vendor/safe_yaml/spec/spec_helper.rb +0 -18
- data/lib/puppet/vendor/safe_yaml/spec/support/exploitable_back_door.rb +0 -29
- data/lib/puppet/vendor/safe_yaml/spec/syck_resolver_spec.rb +0 -10
- data/lib/puppet/vendor/safe_yaml/spec/transform/base64_spec.rb +0 -11
- data/lib/puppet/vendor/safe_yaml/spec/transform/to_date_spec.rb +0 -34
- data/lib/puppet/vendor/safe_yaml/spec/transform/to_float_spec.rb +0 -42
- data/lib/puppet/vendor/safe_yaml/spec/transform/to_integer_spec.rb +0 -59
- data/lib/puppet/vendor/safe_yaml/spec/transform/to_symbol_spec.rb +0 -49
- data/man/man8/filebucket.8 +0 -81
- data/man/man8/pi.8 +0 -51
- data/man/man8/puppetca.8 +0 -97
- data/man/man8/puppetd.8 +0 -154
- data/man/man8/puppetdoc.8 +0 -113
- data/man/man8/puppetmasterd.8 +0 -78
- data/man/man8/puppetqd.8 +0 -55
- data/man/man8/puppetrun.8 +0 -127
- data/man/man8/ralsh.8 +0 -84
- data/spec/integration/network/handler_spec.rb +0 -24
- data/spec/integration/network/rest_authconfig_spec.rb +0 -164
- data/spec/integration/util/file_locking_spec.rb +0 -56
- data/spec/unit/agent_backward_compatibility_spec.rb +0 -152
- data/spec/unit/file_system/path_pattern_spec.rb +0 -139
- data/spec/unit/indirector/catalog/static_compiler_spec.rb +0 -194
- data/spec/unit/indirector/certificate/disabled_ca_spec.rb +0 -33
- data/spec/unit/indirector/certificate_request/disabled_ca_spec.rb +0 -33
- data/spec/unit/indirector/certificate_revocation_list/disabled_ca_spec.rb +0 -33
- data/spec/unit/indirector/inventory/yaml_spec.rb +0 -220
- data/spec/unit/indirector/key/disabled_ca_spec.rb +0 -33
- data/spec/unit/network/handler/ca_spec.rb +0 -87
- data/spec/unit/network/handler/fileserver_spec.rb +0 -201
- data/spec/unit/network/http/mongrel/xmlrpc_spec.rb +0 -0
- data/spec/unit/network/http/rack/xmlrpc_spec.rb +0 -155
- data/spec/unit/network/http/webrick/xmlrpc_spec.rb +0 -0
- data/spec/unit/network/rest_authconfig_spec.rb +0 -142
- data/spec/unit/other/transbucket_spec.rb +0 -184
- data/spec/unit/other/transobject_spec.rb +0 -111
- data/spec/unit/provider/zfs/solaris_spec.rb +0 -99
- data/spec/unit/provider/zpool/solaris_spec.rb +0 -208
- data/spec/unit/transportable_spec.rb +0 -0
- data/spec/unit/util/autoload/file_cache_spec.rb +0 -158
- data/spec/unit/util/file_locking_spec.rb +0 -159
- data/spec/unit/util/settings_spec.rb +0 -1088
- data/spec/unit/util/windows/sid_spec.rb +0 -100
- data/test/README +0 -24
- data/test/Rakefile +0 -96
- data/test/data/failers/badclassnoparam +0 -10
- data/test/data/failers/badclassparam +0 -10
- data/test/data/failers/badcompnoparam +0 -9
- data/test/data/failers/badcompparam +0 -9
- data/test/data/failers/badtypeparam +0 -3
- data/test/data/failers/noobjectrvalue +0 -1
- data/test/data/providers/cron/crontab.allthree +0 -17
- data/test/data/providers/cron/crontab.envNcomment +0 -12
- data/test/data/providers/cron/crontab.envNname +0 -11
- data/test/data/providers/cron/crontab.multirecords +0 -12
- data/test/data/providers/cron/crontab_collections.yaml +0 -44
- data/test/data/providers/cron/crontab_multiple_with_env.yaml +0 -54
- data/test/data/providers/cron/examples/freebsd +0 -2
- data/test/data/providers/cron/examples/one +0 -14
- data/test/data/providers/cron/examples/openbsd +0 -20
- data/test/data/providers/host/parsed/valid_hosts +0 -19
- data/test/data/providers/mailalias/aliases/test1 +0 -28
- data/test/data/providers/mount/parsed/aix.mount +0 -7
- data/test/data/providers/mount/parsed/darwin.mount +0 -6
- data/test/data/providers/mount/parsed/hpux.mount +0 -17
- data/test/data/providers/mount/parsed/linux.mount +0 -5
- data/test/data/providers/mount/parsed/solaris.mount +0 -6
- data/test/data/providers/package/testpackages.yaml +0 -65
- data/test/data/providers/ssh_authorized_key/parsed/authorized_keys +0 -7
- data/test/data/providers/ssh_authorized_key/parsed/authorized_keys1 +0 -3
- data/test/data/providers/ssh_authorized_key/parsed/authorized_keys2 +0 -1
- data/test/data/reports/1.yaml +0 -108
- data/test/data/reports/2.yaml +0 -108
- data/test/data/reports/tagmail_failers.conf +0 -3
- data/test/data/reports/tagmail_passers.conf +0 -30
- data/test/data/snippets/aliastest.pp +0 -16
- data/test/data/snippets/append.pp +0 -11
- data/test/data/snippets/argumentdefaults +0 -14
- data/test/data/snippets/arithmetic_expression.pp +0 -8
- data/test/data/snippets/arraytrailingcomma.pp +0 -3
- data/test/data/snippets/casestatement.pp +0 -65
- data/test/data/snippets/classheirarchy.pp +0 -15
- data/test/data/snippets/classincludes.pp +0 -17
- data/test/data/snippets/classpathtest +0 -11
- data/test/data/snippets/collection.pp +0 -10
- data/test/data/snippets/collection_override.pp +0 -8
- data/test/data/snippets/collection_within_virtual_definitions.pp +0 -20
- data/test/data/snippets/componentmetaparams.pp +0 -11
- data/test/data/snippets/componentrequire.pp +0 -8
- data/test/data/snippets/deepclassheirarchy.pp +0 -23
- data/test/data/snippets/defineoverrides.pp +0 -17
- data/test/data/snippets/emptyclass.pp +0 -9
- data/test/data/snippets/emptyexec.pp +0 -3
- data/test/data/snippets/emptyifelse.pp +0 -9
- data/test/data/snippets/falsevalues.pp +0 -3
- data/test/data/snippets/filecreate +0 -11
- data/test/data/snippets/fqdefinition.pp +0 -5
- data/test/data/snippets/fqparents.pp +0 -11
- data/test/data/snippets/funccomma.pp +0 -5
- data/test/data/snippets/hash.pp +0 -33
- data/test/data/snippets/ifexpression.pp +0 -12
- data/test/data/snippets/implicititeration +0 -15
- data/test/data/snippets/multilinecomments.pp +0 -10
- data/test/data/snippets/multipleclass.pp +0 -9
- data/test/data/snippets/multipleinstances +0 -7
- data/test/data/snippets/multisubs.pp +0 -13
- data/test/data/snippets/namevartest +0 -9
- data/test/data/snippets/scopetest +0 -13
- data/test/data/snippets/selectorvalues.pp +0 -49
- data/test/data/snippets/simpledefaults +0 -5
- data/test/data/snippets/simpleselector +0 -38
- data/test/data/snippets/singleary.pp +0 -19
- data/test/data/snippets/singlequote.pp +0 -11
- data/test/data/snippets/singleselector.pp +0 -22
- data/test/data/snippets/subclass_name_duplication.pp +0 -11
- data/test/data/snippets/tag.pp +0 -9
- data/test/data/snippets/tagged.pp +0 -35
- data/test/data/snippets/virtualresources.pp +0 -14
- data/test/data/types/hosts/1 +0 -3
- data/test/data/types/hosts/2 +0 -13
- data/test/data/types/hosts/solaris +0 -5
- data/test/data/types/mailalias/file1 +0 -183
- data/test/data/types/mount/freebsd.fstab +0 -7
- data/test/data/types/mount/linux.fstab +0 -12
- data/test/data/types/mount/solaris.fstab +0 -12
- data/test/data/types/port/1 +0 -533
- data/test/data/types/port/darwin +0 -11866
- data/test/data/types/ssh_authorized_key/1 +0 -2
- data/test/data/types/yumrepos/fedora-devel.repo +0 -26
- data/test/data/types/yumrepos/fedora.repo +0 -9
- data/test/language/ast.rb +0 -90
- data/test/language/ast/variable.rb +0 -25
- data/test/language/functions.rb +0 -540
- data/test/language/parser.rb +0 -739
- data/test/language/scope.rb +0 -261
- data/test/language/snippets.rb +0 -512
- data/test/language/transportable.rb +0 -87
- data/test/lib/puppettest.rb +0 -307
- data/test/lib/puppettest/certificates.rb +0 -74
- data/test/lib/puppettest/exetest.rb +0 -125
- data/test/lib/puppettest/fakes.rb +0 -199
- data/test/lib/puppettest/fileparsing.rb +0 -28
- data/test/lib/puppettest/filetesting.rb +0 -221
- data/test/lib/puppettest/parsertesting.rb +0 -424
- data/test/lib/puppettest/railstesting.rb +0 -18
- data/test/lib/puppettest/reporttesting.rb +0 -16
- data/test/lib/puppettest/resourcetesting.rb +0 -54
- data/test/lib/puppettest/runnable_test.rb +0 -43
- data/test/lib/puppettest/servertest.rb +0 -77
- data/test/lib/puppettest/support.rb +0 -8
- data/test/lib/puppettest/support/assertions.rb +0 -69
- data/test/lib/puppettest/support/helpers.rb +0 -18
- data/test/lib/puppettest/support/resources.rb +0 -31
- data/test/lib/puppettest/support/utils.rb +0 -141
- data/test/lib/puppettest/testcase.rb +0 -24
- data/test/lib/rake/puppet_test_loader.rb +0 -14
- data/test/lib/rake/puppet_testtask.rb +0 -19
- data/test/lib/stubba.rb +0 -2
- data/test/network/authconfig.rb +0 -69
- data/test/network/authorization.rb +0 -138
- data/test/network/authstore.rb +0 -538
- data/test/network/client_request.rb +0 -38
- data/test/network/handler/fileserver.rb +0 -1266
- data/test/network/handler/master.rb +0 -93
- data/test/network/handler/report.rb +0 -47
- data/test/network/handler/runner.rb +0 -20
- data/test/network/rights.rb +0 -40
- data/test/network/xmlrpc/processor.rb +0 -79
- data/test/network/xmlrpc/server.rb +0 -26
- data/test/network/xmlrpc/webrick_servlet.rb +0 -35
- data/test/other/provider.rb +0 -90
- data/test/other/puppet.rb +0 -85
- data/test/other/relationships.rb +0 -91
- data/test/other/report.rb +0 -135
- data/test/other/transactions.rb +0 -395
- data/test/puppet/defaults.rb +0 -65
- data/test/rails/rails.rb +0 -24
- data/test/rails/railsparameter.rb +0 -80
- data/test/ral/manager/attributes.rb +0 -296
- data/test/ral/manager/instances.rb +0 -88
- data/test/ral/manager/manager.rb +0 -50
- data/test/ral/manager/provider.rb +0 -84
- data/test/ral/manager/type.rb +0 -361
- data/test/ral/providers/cron/crontab.rb +0 -652
- data/test/ral/providers/group.rb +0 -242
- data/test/ral/providers/host/parsed.rb +0 -32
- data/test/ral/providers/mailalias/aliases.rb +0 -55
- data/test/ral/providers/nameservice.rb +0 -32
- data/test/ral/providers/package.rb +0 -245
- data/test/ral/providers/package/aptitude.rb +0 -83
- data/test/ral/providers/package/aptrpm.rb +0 -100
- data/test/ral/providers/parsedfile.rb +0 -695
- data/test/ral/providers/port/parsed.rb +0 -232
- data/test/ral/providers/provider.rb +0 -529
- data/test/ral/providers/service/base.rb +0 -76
- data/test/ral/providers/sshkey/parsed.rb +0 -112
- data/test/ral/providers/user.rb +0 -586
- data/test/ral/providers/user/useradd.rb +0 -233
- data/test/ral/type/cron.rb +0 -505
- data/test/ral/type/exec.rb +0 -717
- data/test/ral/type/file.rb +0 -912
- data/test/ral/type/file/target.rb +0 -346
- data/test/ral/type/fileignoresource.rb +0 -265
- data/test/ral/type/filesources.rb +0 -446
- data/test/ral/type/host.rb +0 -180
- data/test/ral/type/mailalias.rb +0 -45
- data/test/ral/type/port.rb +0 -147
- data/test/ral/type/resources.rb +0 -104
- data/test/ral/type/service.rb +0 -38
- data/test/ral/type/sshkey.rb +0 -148
- data/test/ral/type/user.rb +0 -167
- data/test/ral/type/yumrepo.rb +0 -116
- data/test/ral/type/zone.rb +0 -447
- data/test/test +0 -241
- data/test/util/classgen.rb +0 -241
- data/test/util/execution.rb +0 -33
- data/test/util/fileparsing.rb +0 -721
- data/test/util/inifile.rb +0 -138
- data/test/util/instance_loader.rb +0 -52
- data/test/util/log.rb +0 -219
- data/test/util/metrics.rb +0 -72
- data/test/util/package.rb +0 -25
- data/test/util/pidlock.rb +0 -125
- data/test/util/settings.rb +0 -773
- data/test/util/storage.rb +0 -81
- data/test/util/subclass_loader.rb +0 -89
- data/test/util/utiltest.rb +0 -223
data/ext/packaging/README.md
DELETED
@@ -1,1074 +0,0 @@
|
|
1
|
-
#Packaging
|
2
|
-
|
3
|
-
[![Build Status](https://travis-ci.org/puppetlabs/packaging.png?branch=master)](https://travis-ci.org/puppetlabs/packaging)
|
4
|
-
|
5
|
-
This is a repository for packaging automation for Puppet Labs software.
|
6
|
-
The goal is to abstract and automate packaging processes beyond individual
|
7
|
-
software projects to a level where this repo can be cloned inside any project
|
8
|
-
and used to build Debian and Redhat packages, as well as gems, apple packages
|
9
|
-
and tarballs. This repo is currently under heavy development and in a state
|
10
|
-
flux, and it should not be considered to have a formal API. However, every
|
11
|
-
effort is being made to ensure existing tasks/behavior are not broken as we
|
12
|
-
continue to iterate and improve upon it.
|
13
|
-
|
14
|
-
##Using the Packaging Repo
|
15
|
-
|
16
|
-
Several Puppet Labs projects are using the packaging repo. They are:
|
17
|
-
|
18
|
-
* puppet
|
19
|
-
* facter
|
20
|
-
* puppet-dashboard
|
21
|
-
* hiera
|
22
|
-
* puppetdb
|
23
|
-
* razor
|
24
|
-
|
25
|
-
as well as several closed-source projects, including
|
26
|
-
* live-management
|
27
|
-
* console-auth
|
28
|
-
* console
|
29
|
-
|
30
|
-
Generally speaking, the packaging repo should be compatible with ruby 1.8.7,
|
31
|
-
ruby 1.9.3 and rake 0.9.x. To pull the packaging tasks into your source repo,
|
32
|
-
do a `rake package:bootstrap`. This will clone this repo into the ext directory
|
33
|
-
of the project and make many packaging tasks available. The tasks are
|
34
|
-
generally grouped into two categories, `package:` namespaced tasks and `pl:`
|
35
|
-
namespaced tasks.
|
36
|
-
|
37
|
-
## `package:` tasks
|
38
|
-
`package:` namespaced tasks are general purpose tasks that are set up to use
|
39
|
-
the most minimal tool chain possible for creating packages. These tasks will
|
40
|
-
create rpms and debs, but any build dependencies will need to be satisifed by
|
41
|
-
the building host, and any dynamically generated dependencies may result in
|
42
|
-
packages that are only suitable for the OS/version of the build host. However,
|
43
|
-
for rolling one's own debs and rpms or for use in environments without many
|
44
|
-
OSes/versions, this may work just fine. To build an rpm using the packaging
|
45
|
-
repo, do a `rake package:rpm`. To build a deb, use `rake package:deb`.
|
46
|
-
|
47
|
-
## `pl:` tasks
|
48
|
-
`pl:` namespaced tasks rely on a slighly more complex toolchain for packaging
|
49
|
-
inside clean chroot environments for the various operating systems and versions
|
50
|
-
that Puppet Labs supports. On the rpm side, this is done with
|
51
|
-
[mock](http://fedoraproject.org/wiki/Projects/Mock) and for debs, we use
|
52
|
-
pdebuild and [cowbuilder](http://wiki.debian.org/cowbuilder). For the most
|
53
|
-
part, these tasks are keyed to puppetlabs infrastructure, and are used by the
|
54
|
-
Release Engineering team to create release packages. However, they can
|
55
|
-
certainly be modified to suit other environments, and much effort went into
|
56
|
-
making tasks as modular and reusable as possible. Several Puppet Labs-specific
|
57
|
-
tasks are only available if the file '~/.packaging' is present. This file is
|
58
|
-
created by the `pl:fetch` task, which curls two yaml files into 'team' and
|
59
|
-
'project' subdirectories from a [separate build data
|
60
|
-
repository](https://github.com/puppetlabs/build-data), which contains
|
61
|
-
additional settings/data specific to Puppet Labs release infrastructure. By
|
62
|
-
default, the team data file is pulled from the 'dev' branch of the repo, and
|
63
|
-
the project data file is pulled from a branch named after the project (e.g. for
|
64
|
-
puppet, there is a branch named puppet with a build data file). The goal in
|
65
|
-
separating these data and tasks out is to refrain from presenting by
|
66
|
-
default yet more Puppet Labs-specific tasks that aren't generally consumable by
|
67
|
-
everyone. To build a deb from a local repository using a `pl` task, ssh into a
|
68
|
-
builder (e.g., one stood up using the modules detailed below) and clone the
|
69
|
-
source repo, e.g. puppet. Then, run `rake package:bootstrap` and `rake pl:deb`
|
70
|
-
to create a deb, and `rake pl:mock` to make an rpm (on a debian or redhat host,
|
71
|
-
respectively).
|
72
|
-
|
73
|
-
## `pe:` tasks
|
74
|
-
There is also a `pe:` namespace, for the building of Puppet
|
75
|
-
Labs' Puppet Enterprise packages that have been converted to using this repo.
|
76
|
-
The `pe:` tasks rely heavily on PL internal infrastructure, and are not
|
77
|
-
generally useful outside of this environment. To create packages, in the source
|
78
|
-
repository run `rake package:bootstrap`, followed by `rake pl:fetch`. These two
|
79
|
-
commands bootstrap the packaging environment and pull in the additional data
|
80
|
-
needed for PE building (see `pl:fetch` notes above). Then, to make a debian
|
81
|
-
package, run `rake pe:deb`, and to make an rpm, run `rake pe:mock`. There are
|
82
|
-
also `pe:deb_all` and `pe:mock_all` tasks, which build packages against all
|
83
|
-
shipped debian/redhat targets. The `pe:deb_all` task is not generally necessary
|
84
|
-
for developer use for building test packages; the `pe:deb` task creates a
|
85
|
-
package that will work against virtually all supported PE debian versions.
|
86
|
-
The same is generally true for PE internal rpms, but because of variances in
|
87
|
-
build macros for rpm, rpms should generally be built with `pe:mock_all`, and
|
88
|
-
then the desired version installed, or by building only for a specific
|
89
|
-
target. This is accomplished by passing MOCK=<mock> to the rake call, e.g.
|
90
|
-
`rake pe:mock MOCK=<mock>`. The available mocks are listed in
|
91
|
-
`ext/build_defaults.yaml` after `final_mocks:`. For PE, the mocks are
|
92
|
-
formatted as `pupent-<peversion>-<distversion>-<arch>`, e.g.
|
93
|
-
`pupent-2.7-el5-i386`. To build for a specific target, set `MOCK=<mock>` to
|
94
|
-
the mock that matches the target.
|
95
|
-
|
96
|
-
## `:remote:` tasks
|
97
|
-
There are also sub-namespaces of `:pl` and `:pe` that are
|
98
|
-
worth noting. First, the `:remote` namespace. Tasks under `:remote` perform
|
99
|
-
builds remotely on internal builders from your local workstation. How they
|
100
|
-
work:
|
101
|
-
|
102
|
-
1) Run `pl:fetch` to obtain extra data from the build-data repo. The data
|
103
|
-
includes the hostnames of builders to use for packaging.
|
104
|
-
|
105
|
-
2) Create a git bundle of the local workspace and tar it up.
|
106
|
-
|
107
|
-
3) Create a build parameters file. The params file includes all the information
|
108
|
-
about the build, including any values overridden with env vars, and the actual
|
109
|
-
task to run, e.g. `rake pl:deb`.
|
110
|
-
|
111
|
-
4) scp the git bundle and build parameters file to a temporary directory on the
|
112
|
-
builder hostname assigned to that particular package build type.
|
113
|
-
|
114
|
-
5) ssh into the builder, untar the git bundle, clone it, and run `rake
|
115
|
-
package:bootstrap`.
|
116
|
-
|
117
|
-
6) ssh into the builder, cd into the cloned repo, and run `rake
|
118
|
-
pl:build_from_params PARAMS_FILE=/path/to/previously/sent/file`.
|
119
|
-
|
120
|
-
7) Maintain the ssh connection until the build finishes, and rsync the packages
|
121
|
-
from the builder to the local workstation.
|
122
|
-
|
123
|
-
Note that these tasks require ssh access to the builder hosts that are
|
124
|
-
specified in the build-data file, and appropriate membership in the build
|
125
|
-
groups, e.g. to use mock on the builder, membership in the mock group. This is
|
126
|
-
a major hurdle, and is resolved with the `jenkins` tasks below.
|
127
|
-
|
128
|
-
## legacy `:jenkins:` workflow tasks
|
129
|
-
(Deprecated - see "dyamic jenkins task workflow" below)
|
130
|
-
Jenkins tasks are similar to the `:remote:` tasks, but they do not require ssh
|
131
|
-
access to the builders. They do require being on the local network - the
|
132
|
-
jenkins instance that performs package builds is an internal server only,
|
133
|
-
accessible when connected via VPN or on-site. The jenkins tasks enable the
|
134
|
-
packaging repo to kick off packaging builds on a remote jenkins slave.
|
135
|
-
There are two workflows of jenkins tasks in the packaging repo. The first
|
136
|
-
workflow, which is used for creating individual platform packages on jenkins
|
137
|
-
(e.g. creating a deb with pl:jenkins:deb) relies on a job that exists on a
|
138
|
-
remote jenkins server. The tasks transmit information to the jenkins job, which
|
139
|
-
handles the rest. The data passed are the following:
|
140
|
-
|
141
|
-
1) $PROJECT\_BUNDLE - a tar.gz of a git-bundle from HEAD of the current
|
142
|
-
project, which is cloned on the builder to set up a duplicate of this
|
143
|
-
environment
|
144
|
-
|
145
|
-
2) $BUILD\_PROPERTIES - a build parameters file, containing all information
|
146
|
-
about the build
|
147
|
-
|
148
|
-
3) $BUILD\_TYPE - the "type" of build, e.g. rpm, deb, gem, etc The jenkins url
|
149
|
-
and job name are obtained via the team build-data file from [the build data
|
150
|
-
repository](https://github.com/puppetlabs/build-data)
|
151
|
-
|
152
|
-
4) $PROJECT - the project we're building, e.g. facter, puppet. This is used
|
153
|
-
later in determining the target for the build artifacts on the distribution
|
154
|
-
server
|
155
|
-
|
156
|
-
4) $METRICS - a string of data points related to the build which are used for
|
157
|
-
data analysis. Contents of this string are items which cannot be obtained from
|
158
|
-
within the Jenkins job itself.
|
159
|
-
|
160
|
-
5) $DOWNSTREAM\_JOB - The URL of a downstream job that jenkins should post to
|
161
|
-
upon success. This is obtained via the DOWNSTREAM\_JOB environment variable.
|
162
|
-
|
163
|
-
|
164
|
-
On the Jenkins end, the job is a parameterized job that accepts five
|
165
|
-
parameters. Jenkins has the Parameterized Trigger Plugin, Workspace Cleanup
|
166
|
-
Plugin, and Node and Label Parameter Plugin in use for this job. The workspace
|
167
|
-
cleanup plugin cleans the workspace before each build. Two are file parameters,
|
168
|
-
two string parameters, and a Label parameter provided by the Node and Label
|
169
|
-
Parameter Plugin, as described above. When the pl:jenkins:\* task triggers a
|
170
|
-
build, it passes values for all of these parameters. The Label parameter is
|
171
|
-
associated with the build type. This way we can queue the job on a builder with
|
172
|
-
the appropriate capabilities just by assigning a builder the label "deb" or
|
173
|
-
"rpm," etc. The job allows parallel execution of jobs - in this way, we can
|
174
|
-
queue many package jobs on the jenkins instance, which will farm them out to
|
175
|
-
builders that are slaves of that jenkins instance. This also allows us to scale
|
176
|
-
building capacity simply by adding builders as slaves to the jenkins instance.
|
177
|
-
The actual build itself is accomplished via a shell build task. The contents of
|
178
|
-
the task are:
|
179
|
-
|
180
|
-
```bash
|
181
|
-
#################
|
182
|
-
|
183
|
-
SHA=$(echo $BUILD_PROPERTIES | cut -d '.' -f1)
|
184
|
-
|
185
|
-
echo "Build type: $BUILD_TYPE"
|
186
|
-
|
187
|
-
### Create a local clone of the git-bundle that was passed
|
188
|
-
# The bundle is a tarball, and since this is a project-agnostic
|
189
|
-
# job, we don't actually know what's in it, just that it's a
|
190
|
-
# git bundle.
|
191
|
-
|
192
|
-
[ -f "PROJECT_BUNDLE" ] || exit 1
|
193
|
-
mkdir project && tar -xzf PROJECT_BUNDLE -C project/
|
194
|
-
|
195
|
-
cd project
|
196
|
-
git clone --recursive $(ls) git_repo
|
197
|
-
|
198
|
-
cd git_repo
|
199
|
-
|
200
|
-
### Clone the packaging repo
|
201
|
-
rake package:bootstrap && rake pl:fetch
|
202
|
-
|
203
|
-
### Perform the build
|
204
|
-
rake pl:load_extras pl:build_from_params PARAMS_FILE=$WORKSPACE/BUILD_PROPERTIES
|
205
|
-
|
206
|
-
### Send the results
|
207
|
-
rake pl:jenkins:ship["artifacts"]
|
208
|
-
|
209
|
-
### If a downstream job was passed, trigger it now
|
210
|
-
if [ -n "$DOWNSTREAM_JOB" ] ; then
|
211
|
-
rake pl:jenkins:post["$DOWNSTREAM_JOB"]
|
212
|
-
fi
|
213
|
-
|
214
|
-
#################
|
215
|
-
```
|
216
|
-
|
217
|
-
To gather metrics related to a Jenkins build, the Groovy Postbuild plugin is used.
|
218
|
-
For tasks carried out on the static Jenkins job, the script must be manually added to the job's
|
219
|
-
configuration. The script in its entirety can be seen [here.](https://github.com/Whopper92/buildboard#groovyScript)
|
220
|
-
|
221
|
-
## dynamic `:jenkins:` task workflow
|
222
|
-
|
223
|
-
The recommended and far simpler jenkins-based workflow is for initiating the
|
224
|
-
"uber_build", or a package build for all of our target platforms.
|
225
|
-
|
226
|
-
The uber_build is invoked as "pl:jenkins:uber_build" or "pe:jenkins:uber_build"
|
227
|
-
depending on if this is a FOSS or PE package.
|
228
|
-
|
229
|
-
This workflow doesn't actually use a static job on the jenkins-server. Instead
|
230
|
-
it _creates_ the jenkins jobs for you, on-demand. Specifically, it creates two
|
231
|
-
jenkins-jobs, and can create an optional third.
|
232
|
-
|
233
|
-
The first job is a matrix job, the cells of which are individual package tasks
|
234
|
-
for all of the build targets. This job takes four parameters:
|
235
|
-
|
236
|
-
1) $PROJECT\_BUNDLE - a tar.gz of a git-bundle from HEAD of the current
|
237
|
-
project, which is cloned on the builder to set up a duplicate of this
|
238
|
-
environment
|
239
|
-
|
240
|
-
2) $BUILD\_PROPERTIES - a build parameters file, containing all information
|
241
|
-
about the build
|
242
|
-
|
243
|
-
3) $PROJECT - the project we're building, e.g. facter, puppet. This is used
|
244
|
-
later in determining the target for the build artifacts on the distribution
|
245
|
-
server
|
246
|
-
|
247
|
-
4) $METRICS - a string of data points related to the build which are used for data
|
248
|
-
analysis. Contents of this string are items which cannot be obtained from within
|
249
|
-
the Jenkins job itself. Note that the Groovy postbuild script needed for metrics
|
250
|
-
gathering is dynamically passed to each job.
|
251
|
-
|
252
|
-
This first job clones the git bundle passed in as a parameter, then clones the
|
253
|
-
packaging repo (rake package:bootstrap) and for every cell in its matrix
|
254
|
-
performs a package build for a specific target (e.g. rake pl:deb
|
255
|
-
COW=base-lucid-i386.cow). Once all cells in the matrix complete (either succeed
|
256
|
-
or fail), this job automatically triggers the second of the new jobs
|
257
|
-
as a downstream job.
|
258
|
-
|
259
|
-
To receive an email notification from jenkins about the status of the packaging
|
260
|
-
job, pass NOTIFY=<recipient> as an environment variable to the uber_build
|
261
|
-
invocation, e.g.:
|
262
|
-
|
263
|
-
rake pl:jenkins:uber_build NOTIFY="foo@puppetlabs.com bar@puppetlabs.com"
|
264
|
-
|
265
|
-
The second job is an automatic repository creation task for this git repo.
|
266
|
-
Specifically, the job copies the git bundle from the packaging job and clones
|
267
|
-
it, and uses the git information in the git bundle to clone the packaging repo
|
268
|
-
and invoke the repository creation jobs `pl:jenkins:rpm_repos` and
|
269
|
-
`pl:jenkins:deb_repos`. The job will always be invoked, but will only actually
|
270
|
-
create repos if the upstream packaging job actually succeeded.
|
271
|
-
|
272
|
-
The third job is only created _if_ the environment variable
|
273
|
-
`DOWNSTREAM_JOB=<job_url>` was passed to the initial "pl:jenkins:uber_build"
|
274
|
-
invocation. This third job takes the value assigned to `DOWNSTREAM_JOB` and
|
275
|
-
creates a proxy jenkins job with a single build step, a curl call to this
|
276
|
-
value, presumably a url to a jenkins job to trigger programmatically.
|
277
|
-
|
278
|
-
An important note about `DOWNSTREAM_JOB`: `DOWNSTREAM_JOB` in the dynamic jenkins
|
279
|
-
workflow is _always_ invoked if it is passed in as an environment variable.
|
280
|
-
However, it is appended with an additional parameter, `PACKAGE_BUILD_STATUS`,
|
281
|
-
which will be the string "success" if package and repo builds succeeded, or
|
282
|
-
"failure" if package or repo builds failed. By modifying the actual downstream
|
283
|
-
jenkins job to accept a string parameter of `PACKAGE_BUILD_STATUS`, one can
|
284
|
-
switch on the success or failure of the packaging job, responding
|
285
|
-
appropriately. A second parameter, `PACKAGE_BUILD_URL` is also appended to
|
286
|
-
`DOWNSTREAM_JOB`, the value of which is the url of the packaging job itself.
|
287
|
-
This is to assist with tracing failures in a multi-jenkins environment. By
|
288
|
-
modifying the downstream jenkins job to accept a string parameter of
|
289
|
-
`PACKAGE_BUILD_URL`, one can use the value to display the url prominently in
|
290
|
-
case of failure, for example.
|
291
|
-
|
292
|
-
E.g., a job url:
|
293
|
-
http://jenkins.example.net/job/downstream/buildWithParameters?FOO=bar
|
294
|
-
|
295
|
-
in the success case will be transformed into
|
296
|
-
|
297
|
-
http://jenkins.example.net/job/downstream/buildWithParameters?FOO=bar&PACKAGE_BUILD_STATUS=success&PACKAGE_BUILD_URL=http://jenkins.example.net/job/packaging_job
|
298
|
-
|
299
|
-
and in the failure case transformed into
|
300
|
-
|
301
|
-
http://jenkins.example.net/job/downstream/buildWithParameters?FOO=bar&PACKAGE_BUILD_STATUS=failure&PACKAGE_BUILD_URL=http://jenkins.example.net/job/packaging_job
|
302
|
-
|
303
|
-
Since jenkins will just drop parameters that are not configured in the job,
|
304
|
-
accepting PACKAGE_BUILD_STATUS and PACKAGE_BUILD_URL in the downstream job
|
305
|
-
isn't mandatory.
|
306
|
-
|
307
|
-
All 3 jobs are configured by default for removal by jenkins after 3 days, to
|
308
|
-
avoid clutter.
|
309
|
-
|
310
|
-
The goal is to move toward migrating all of the jenkins tasks from the first
|
311
|
-
workflow, using a static job that is called many times per package, to this
|
312
|
-
second workflow of creating the jobs on demand.
|
313
|
-
|
314
|
-
|
315
|
-
## Task Explanations
|
316
|
-
For a listing of all available tasks and their functions, see the [Task
|
317
|
-
Dictionary](https://github.com/puppetlabs/packaging/tree/more_documentation#task-dictionary)
|
318
|
-
at the end of this README.
|
319
|
-
|
320
|
-
## Modules
|
321
|
-
|
322
|
-
A puppet module,
|
323
|
-
[puppetlabs-debbuilder](https://github.com/puppetlabs/puppetlabs-debbuilder),
|
324
|
-
has been created to stand up a debian build host compatible with the debian
|
325
|
-
side of this packaging repo. The rpm-side module,
|
326
|
-
[puppetlabs-rpmbuilder](https://github.com/puppetlabs/puppetlabs-rpmbuilder),
|
327
|
-
will set up an rpm builder.
|
328
|
-
|
329
|
-
## Clean up
|
330
|
-
To remove the packaging repo, remove the ext/packaging directory or run `rake
|
331
|
-
package:implode`.
|
332
|
-
|
333
|
-
##Setting up projects for the Packaging Repo
|
334
|
-
|
335
|
-
The packaging repo requires many project-side artifacts inside the ext
|
336
|
-
directory at the top level. [facter](https://github.com:puppetlabs/facter) and
|
337
|
-
[hiera](https://github.com:puppetlabs/hiera) are good examples.
|
338
|
-
It expects the following directory structure in the project
|
339
|
-
|
340
|
-
* ext/{debian,redhat,osx}
|
341
|
-
|
342
|
-
each of which contains templated erb files using the instance variables
|
343
|
-
specified in the setupvars task. These include a debian changelog, a redhat
|
344
|
-
spec file, and an osx preflight and plist.
|
345
|
-
|
346
|
-
The top level Rakefile or a separate task file in the project should have the following added:
|
347
|
-
|
348
|
-
(this assumes RAKE\_ROOT is defined in the top-level Rakefile using something like the following)
|
349
|
-
```ruby
|
350
|
-
RAKE_ROOT = File.expand_path(File.dirname(__FILE__))
|
351
|
-
```
|
352
|
-
|
353
|
-
```ruby
|
354
|
-
build_defs_file = File.join(RAKE_ROOT, 'ext', 'build_defaults.yaml')
|
355
|
-
if File.exist?(build_defs_file)
|
356
|
-
begin
|
357
|
-
require 'yaml'
|
358
|
-
@build_defaults ||= YAML.load_file(build_defs_file)
|
359
|
-
rescue Exception => e
|
360
|
-
STDERR.puts "Unable to load yaml from #{build_defs_file}:"
|
361
|
-
raise e
|
362
|
-
end
|
363
|
-
@packaging_url = @build_defaults['packaging_url']
|
364
|
-
@packaging_repo = @build_defaults['packaging_repo']
|
365
|
-
raise "Could not find packaging url in #{build_defs_file}" if @packaging_url.nil?
|
366
|
-
raise "Could not find packaging repo in #{build_defs_file}" if @packaging_repo.nil?
|
367
|
-
|
368
|
-
namespace :package do
|
369
|
-
desc "Bootstrap packaging automation, e.g. clone into packaging repo"
|
370
|
-
task :bootstrap do
|
371
|
-
if File.exist?(File.join(RAKE_ROOT, "ext", @packaging_repo))
|
372
|
-
puts "It looks like you already have ext/#{@packaging_repo}. If you don't like it, blow it away with package:implode."
|
373
|
-
else
|
374
|
-
cd File.join(RAKE_ROOT, 'ext') do
|
375
|
-
%x{git clone #{@packaging_url}}
|
376
|
-
end
|
377
|
-
end
|
378
|
-
end
|
379
|
-
desc "Remove all cloned packaging automation"
|
380
|
-
task :implode do
|
381
|
-
rm_rf File.join(RAKE_ROOT, "ext", @packaging_repo)
|
382
|
-
end
|
383
|
-
end
|
384
|
-
end
|
385
|
-
|
386
|
-
begin
|
387
|
-
load File.join(RAKE_ROOT, 'ext', 'packaging', 'packaging.rake')
|
388
|
-
rescue LoadError
|
389
|
-
end
|
390
|
-
```
|
391
|
-
|
392
|
-
Also in ext should be two files, build_defaults.yaml and project_data.yaml.
|
393
|
-
|
394
|
-
This is the sample build_defaults.yaml file from Hiera:
|
395
|
-
```yaml
|
396
|
-
---
|
397
|
-
packaging_url: 'git@github.com:puppetlabs/packaging --branch=master'
|
398
|
-
packaging_repo: 'packaging'
|
399
|
-
default_cow: 'base-squeeze-i386.cow'
|
400
|
-
# Which debian distributions to build for. Noarch packages only need one arch of each cow.
|
401
|
-
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'
|
402
|
-
# The pbuilder configuration file to use
|
403
|
-
pbuild_conf: '/etc/pbuilderrc'
|
404
|
-
# Alternate debian mirrors to build against (must be an array)
|
405
|
-
# The __DIST__ string is automatically replaced with codename of the cow being built, so when the squeeze cow is being built the deb_build_mirrors will be:
|
406
|
-
# deb http://apt.puppetlabs.com squeeze main dependencies
|
407
|
-
# deb http://somethingelse.com/debian squeeze
|
408
|
-
# This will happen for each cow during the build.
|
409
|
-
deb_build_mirrors:
|
410
|
-
- deb http://apt.puppetlabs.com __DIST__ main dependencies
|
411
|
-
- deb http://somethingelse.com/debian __DIST__
|
412
|
-
# Who is packaging. Turns up in various packaging artifacts
|
413
|
-
packager: 'puppetlabs'
|
414
|
-
# Who is signing packages
|
415
|
-
gpg_name: 'info@puppetlabs.com'
|
416
|
-
# GPG key ID of the signer
|
417
|
-
gpg_key: '4BD6EC30'
|
418
|
-
# Whether to require tarball signing as a prerequisite of other package building
|
419
|
-
sign_tar: FALSE
|
420
|
-
# a space separated list of mock configs. These are the rpm distributions to package for. If a noarch package, only one arch of each is needed.
|
421
|
-
final_mocks: 'pl-el-5-i386 pl-el-5-x86_64 pl-el-6-i386 pl-el-6-x86_64 pl-fedora-16-i386 pl-fedora-16-x86_64 pl-fedora-17-i386 pl-fedora-17-x86_64'
|
422
|
-
# The host that contains the yum repository to ship to
|
423
|
-
yum_host: 'yum.puppetlabs.com'
|
424
|
-
# The remote path the repository on the yum\_host
|
425
|
-
yum_repo_path: '/some/repo/'
|
426
|
-
# The host that contains the apt repository to ship to
|
427
|
-
apt_host: 'apt.puppetlabs.com'
|
428
|
-
# The URL to use for the apt dependencies in cow building
|
429
|
-
apt_repo_url: 'http://apt.puppetlabs.com'
|
430
|
-
# The path on the remote apt host that debs should ship to
|
431
|
-
apt_repo_path: '/opt/repository/incoming'
|
432
|
-
# The host that stores the tarballs for downloading
|
433
|
-
tar_host: 'downloads.puppetlabs.com'
|
434
|
-
# Whether to present the gem and apple tasks
|
435
|
-
build_gem: TRUE
|
436
|
-
build_dmg: TRUE
|
437
|
-
# Whether to execute the rdoc rake tasks prior to composing the tarball
|
438
|
-
build_doc: FALSE
|
439
|
-
# Whether to present the Solaris 11 IPS packaging tasks
|
440
|
-
# This requires suitable IPS packaging artifacts in the project in ext/ips
|
441
|
-
build_ips: FALSE
|
442
|
-
# Whether this project is a PE project or not
|
443
|
-
build_pe: FALSE
|
444
|
-
# An optional task to execute pre-tarball composition. See the tasks in
|
445
|
-
# the 'pretasks' directory
|
446
|
-
pre_tar_task: 'package:vendor_gems'
|
447
|
-
```
|
448
|
-
This is the sample project_data.yaml file:
|
449
|
-
```yaml
|
450
|
-
---
|
451
|
-
project: 'hiera'
|
452
|
-
author: 'Puppet Labs'
|
453
|
-
email: 'info@puppetlabs.com'
|
454
|
-
homepage: 'https://github.com/puppetlabs/hiera'
|
455
|
-
summary: 'Light weight hierarchical data store'
|
456
|
-
description: 'A pluggable data store for hierarcical data'
|
457
|
-
# file containing hard coded version information, if present
|
458
|
-
version_file: '/lib/hiera.rb'
|
459
|
-
# A string indicating the version strategy for the project (one of 'odd_even' or 'rc_final'), defaults to rc_final
|
460
|
-
# odd_even is a final release when the minor version is even, and a development release when it is odd
|
461
|
-
# rc_final is a final release when there is no rc at the end of the version string, and a development release when there is
|
462
|
-
version_strategy: 'rc_final'
|
463
|
-
# Boolean value of whether or not to automatically update the version file before packaging (defaults to false)
|
464
|
-
update_version_file: true
|
465
|
-
# files and gem\_files are space separated lists
|
466
|
-
# files to be packaged into a tarball and released with deb/rpm
|
467
|
-
files: '[A-Z]* ext lib bin spec acceptance_tests'
|
468
|
-
# space separated list of files to *exclude* from the tarball
|
469
|
-
# note that each listing in files, above, is recursively copied into the tarball, so
|
470
|
-
# 'tar\_excludes' only needs to include any undesired subdirectories/files of the 'files'
|
471
|
-
# list to exclude
|
472
|
-
tar_excludes: 'ext/packaging lib/some_excluded_file'
|
473
|
-
# Array of templates or globs of templates to evaluate. Note that without this key, the packaging will
|
474
|
-
# default to searching for any files in `ext` with the extension '.erb' and evaluate them. When this
|
475
|
-
# key is supplied, its values override the defaults, and all desired erb files must be specified with a path or glob.
|
476
|
-
templates:
|
477
|
-
- ext/redhat/project.spec.erb
|
478
|
-
- ext/templates/**/*.erb
|
479
|
-
# files to be packaged into a gem
|
480
|
-
gem_files: '{bin,lib}/**/* CHANGELOG COPYING README.md LICENSE'
|
481
|
-
# To exclude specific files from inclusion in a gem:
|
482
|
-
gem_excludes: 'lib/hiera/file_to_exclude.rb lib/hiera/directory_to_exclude'
|
483
|
-
# If gem name differs in some way from project name, e.g. only build gem for a client end
|
484
|
-
gem_name: hiera_the_gem
|
485
|
-
# If gem summary and/or description differs from general summary
|
486
|
-
gem_summary: 'A sub-set of the Hiera pluggable data store'
|
487
|
-
gem_description: 'A gem of the pluggable data store for hierarchical data'
|
488
|
-
gem_require_path: 'lib'
|
489
|
-
gem_test_files: 'spec/**/*'
|
490
|
-
gem_executables: 'hiera'
|
491
|
-
gem_default_executables: 'hiera'
|
492
|
-
# To add gem dependencies, indent.
|
493
|
-
# This is an example only, hiera doesn't really depend on hiera-puppet/json/facter
|
494
|
-
# For no specific version, leave version empty
|
495
|
-
gem_runtime_dependencies:
|
496
|
-
hiera-puppet: '1.0.0rc'
|
497
|
-
hiera-json:
|
498
|
-
gem_development_dependencies:
|
499
|
-
facter: '>= 1.6.11'
|
500
|
-
# To add gem dependencies which only apply to a specific platform, add the key "gem_platform_dependencies".
|
501
|
-
# The first key under the gem_platform_dependencies has to be a value that
|
502
|
-
# corresponds to a value of RUBY_PLATFORM. The subkeys are the same as the
|
503
|
-
# top-level gem dependency keys:
|
504
|
-
gem_platform_dependencies:
|
505
|
-
x86-mingw32:
|
506
|
-
gem_runtime_dependencies:
|
507
|
-
win32process: '~> 0.6.5'
|
508
|
-
gem_development_dependencies:
|
509
|
-
rake: '~> 0.9.0'
|
510
|
-
x86_64-darwin:
|
511
|
-
gem_runtime_dependencies:
|
512
|
-
CFPropertyList: '~> 2.2.4'
|
513
|
-
# rdoc options as an array
|
514
|
-
gem_rdoc_options:
|
515
|
-
- --line-numbers
|
516
|
-
- --main
|
517
|
-
- Hiera.README
|
518
|
-
```
|
519
|
-
For basic mac packaging, add an osx directory in ext containing the following files:
|
520
|
-
1. a preflight.erb template for any pre-flight actions, perhaps removing the old package if present.
|
521
|
-
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:
|
522
|
-
```
|
523
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
524
|
-
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
525
|
-
<plist version="1.0">
|
526
|
-
<dict>
|
527
|
-
<key>CFBundleIdentifier</key>
|
528
|
-
<string><%= @title %></string>
|
529
|
-
<key>CFBundleShortVersionString</key>
|
530
|
-
<string><%= @version %></string>
|
531
|
-
<key>IFMajorVersion</key>
|
532
|
-
<integer><%= @package_major_version %></integer>
|
533
|
-
<key>IFMinorVersion</key>
|
534
|
-
<integer><%= @package_minor_version %></integer>
|
535
|
-
<key>IFPkgBuildDate</key>
|
536
|
-
<date><%= @build_date %></date>
|
537
|
-
<key>IFPkgFlagAllowBackRev</key>
|
538
|
-
<false/>
|
539
|
-
<key>IFPkgFlagAuthorizationAction</key>
|
540
|
-
<string>RootAuthorization</string>
|
541
|
-
<key>IFPkgFlagDefaultLocation</key>
|
542
|
-
<string>/</string>
|
543
|
-
<key>IFPkgFlagFollowLinks</key>
|
544
|
-
<true/>
|
545
|
-
<key>IFPkgFlagInstallFat</key>
|
546
|
-
<false/>
|
547
|
-
<key>IFPkgFlagIsRequired</key>
|
548
|
-
<false/>
|
549
|
-
<key>IFPkgFlagOverwritePermissions</key>
|
550
|
-
<false/>
|
551
|
-
<key>IFPkgFlagRelocatable</key>
|
552
|
-
<false/>
|
553
|
-
<key>IFPkgFlagRestartAction</key>
|
554
|
-
<string><%= @pm_restart %></string>
|
555
|
-
<key>IFPkgFlagRootVolumeOnly</key>
|
556
|
-
<true/>
|
557
|
-
<key>IFPkgFlagUpdateInstalledLanguages</key>
|
558
|
-
<false/>
|
559
|
-
</dict>
|
560
|
-
</plist>
|
561
|
-
```
|
562
|
-
A file_mapping.yaml file that specifies a set of files and a set of directories
|
563
|
-
from the source to install, with destinations, ownership, and permissions. The
|
564
|
-
directories are top level directories in the source to install. The files are
|
565
|
-
files somewhere in the source to install. This is the one from puppet 3.x:
|
566
|
-
```yaml
|
567
|
-
---
|
568
|
-
directories:
|
569
|
-
# this will take the contents of lib, e.g. puppet/lib/\* and place them in
|
570
|
-
# /usr/lib/ruby/site\_ruby/1.8
|
571
|
-
lib:
|
572
|
-
path: 'usr/lib/ruby/site_ruby/1.8'
|
573
|
-
owner: 'root'
|
574
|
-
group: 'wheel'
|
575
|
-
perms: '0644'
|
576
|
-
bin:
|
577
|
-
path: 'usr/bin'
|
578
|
-
owner: 'root'
|
579
|
-
group: 'wheel'
|
580
|
-
perms: '0755'
|
581
|
-
'man/man8':
|
582
|
-
path: 'usr/share/man/man8'
|
583
|
-
owner: 'root'
|
584
|
-
group: 'wheel'
|
585
|
-
perms: '0755'
|
586
|
-
files:
|
587
|
-
# this will take the file puppet/conf/auth.conf and place it in
|
588
|
-
# /private/etc/puppet/, creating the directory if not present
|
589
|
-
'conf/auth.conf':
|
590
|
-
path: 'private/etc/puppet'
|
591
|
-
owner: 'root'
|
592
|
-
group: 'wheel'
|
593
|
-
perms: '0644'
|
594
|
-
'man/man5/puppet.conf.5':
|
595
|
-
path: 'usr/share/man/man5'
|
596
|
-
owner: 'root'
|
597
|
-
group: 'wheel'
|
598
|
-
perms: '0644'
|
599
|
-
'[A-Z]*':
|
600
|
-
path: 'usr/share/doc/puppet'
|
601
|
-
owner: 'root'
|
602
|
-
group: 'wheel'
|
603
|
-
perms: '0644'
|
604
|
-
```
|
605
|
-
|
606
|
-
## Task Dictionary
|
607
|
-
|
608
|
-
* **package:apple**
|
609
|
-
|
610
|
-
Use `PackageMaker` to create a pkg package inside a dmg. Requires 'sudo'
|
611
|
-
privileges. `build_dmg: TRUE` must be set in `ext/build_defaults.yaml`.
|
612
|
-
Packages are staged in ./pkg/apple. See the Mac packaging section of
|
613
|
-
[Setting up projects for the Packaging
|
614
|
-
Repo](https://github.com/MosesMendoza/packaging/tree/more_documentation#setting-up-projects-for-the-packaging-repo).
|
615
|
-
|
616
|
-
* **package:bootstrap**
|
617
|
-
|
618
|
-
Clone the packaging repo into this project. This task isn't actually in the
|
619
|
-
packaging repo itself, but resides in the project. See [Setting up projects
|
620
|
-
for the Packaging
|
621
|
-
Repo](https://github.com/puppetlabs/packaging#setting-up-projects-for-the-packaging-repo).
|
622
|
-
|
623
|
-
* **package:deb**
|
624
|
-
|
625
|
-
Use `debbuild` to create a deb package and associated debian package
|
626
|
-
artifacts from the repository. Requires all build dependencies be satisfied
|
627
|
-
locally. Packages are staged in ./pkg/deb.
|
628
|
-
|
629
|
-
* **package:gem**
|
630
|
-
Use the `rubygems/package_task` library to create a rubygem from the
|
631
|
-
repository. Requires `build_gem: TRUE` and gem-related parameters be set in
|
632
|
-
`ext/build_defaults.yaml` and `ext/project\_data.yaml`. The gem is staged
|
633
|
-
in `./pkg`.
|
634
|
-
|
635
|
-
* **package:implode**
|
636
|
-
|
637
|
-
Remove the packaging repo entirely from the project. This task isn't
|
638
|
-
actually in the packaging repo itself, but resides in the project. See
|
639
|
-
[Setting up projects for the Packaging
|
640
|
-
Repo](https://github.com/puppetlabs/packaging#setting-up-projects-for-the-packaging-repo).
|
641
|
-
|
642
|
-
* **package:ips**
|
643
|
-
|
644
|
-
Use Solaris 11 pkg* tools to create a IPS package from the project.
|
645
|
-
Packages are staged in `./pkg/ips/pkgs`. Requires all `pkg`, `pkgdepend`,
|
646
|
-
`pkgsend`, `pkglint`, and `pkgmogrify`. Currently only puppet, facter, and
|
647
|
-
hiera have this capability.
|
648
|
-
|
649
|
-
* **package:rpm**
|
650
|
-
|
651
|
-
Use `rpmbuild` to create an rpm of the project. This will also make a
|
652
|
-
source rpm. Requires all build dependencies by satisfied locally. Packages
|
653
|
-
are staged in `./pkg/rpm`.
|
654
|
-
|
655
|
-
* **package:srpm**
|
656
|
-
|
657
|
-
Use `rpmbuild` to create a source rpm of the project. Source rpm is staged
|
658
|
-
in `./pkg/srpm`.
|
659
|
-
|
660
|
-
* **package:tar**
|
661
|
-
|
662
|
-
Create a source tarball of the project. The tarball is staged in `./pkg`.
|
663
|
-
|
664
|
-
* **package:update**
|
665
|
-
|
666
|
-
Update the clone of the packaging repo by pulling from origin.
|
667
|
-
|
668
|
-
* **pl:build_from_params**
|
669
|
-
|
670
|
-
Invoke a build from a build parameters yaml file. The parameters file
|
671
|
-
should be created with `rake pl:write_build_params`. The settings in the
|
672
|
-
build parameters file will override all values contained in
|
673
|
-
`./ext/build_defaults.yaml` and `./ext/project_data.yaml`.
|
674
|
-
|
675
|
-
* **pl:deb**
|
676
|
-
|
677
|
-
Use pdebuild with cowbuilder to create a debian package and associated
|
678
|
-
source artifacts from the default "cow", currently Debian Squeeze i386.
|
679
|
-
Requires that pbuilder/cowbuilder be installed and set up with a Debian
|
680
|
-
Squeeze cow. See the
|
681
|
-
[puppetlabs-debbuilder](https://github.com/puppetlabs/puppetlabs-debbuilder)
|
682
|
-
module for an easy way to set up a host for building with cows. The deb and
|
683
|
-
source artifacts are staged in `./pkg/deb/squeeze`.
|
684
|
-
|
685
|
-
* **pl:deb_all***
|
686
|
-
|
687
|
-
The same as `rake pl:deb`, but a package is built for every cow listed in
|
688
|
-
`ext/build_defaults.yaml` on the line `cows:<cows>`. The packages and
|
689
|
-
associated source artifacts are staged in `./pkg/deb/$distribution`, where
|
690
|
-
$distribution is the Debian/Ubuntu codename of the cow that was used to
|
691
|
-
build the package, e.g. "wheezy" or "precise."
|
692
|
-
|
693
|
-
* **pl:ips**
|
694
|
-
|
695
|
-
Invoke package:ips, but do so after pl:fetch and pl:load_extras, which load
|
696
|
-
signing/certificate information. The resulting packages are signed. IPS
|
697
|
-
packages are staged in `./pkg/ips/pkgs`
|
698
|
-
|
699
|
-
* **pl:jenkins:deb**
|
700
|
-
|
701
|
-
Perform `pl:deb` by posting a jenkins build, as described above. Once the
|
702
|
-
build is complete, run `pl:jenkins:retrieve` to retrieve the built
|
703
|
-
packages.
|
704
|
-
|
705
|
-
* **pl:jenkins:deb_all**
|
706
|
-
|
707
|
-
Perform what is a effectively a `pl:deb_all` but in a different fashion.
|
708
|
-
`pl:deb_all` performs debian cow builds in serial with every cow listed in
|
709
|
-
ext/build_defaults.yaml. `pl:jenkins:deb_all` splits the cows listed, and
|
710
|
-
posts a separate `pl:jenkins:deb` job for every cow listed to the jenkins
|
711
|
-
server, allowing jenkins to parallelize the building of packages for every
|
712
|
-
cow. Execute `pl:jenkins:retrieve` to retrieve all packages.
|
713
|
-
|
714
|
-
* **pl:jenkins:deb_repo_configs**
|
715
|
-
|
716
|
-
On the distribution server generate a listing of all debian repositories
|
717
|
-
that exist for the current SHA/ref of HEAD of the project repository. Then
|
718
|
-
generate debian apt client configuration files for every existing
|
719
|
-
repository. The distribution server is a web server, so the client
|
720
|
-
configurations can be placed on a debian client in /etc/apt/sources.list.d/
|
721
|
-
and the client will be able to install the built packages via apt. Requires
|
722
|
-
SSH access to the distribution server.
|
723
|
-
|
724
|
-
* **pl:jenkins:deb_repos**
|
725
|
-
|
726
|
-
On the distribution server, generate debian apt repositories for every
|
727
|
-
distribution containing any packages that are stored that match the current
|
728
|
-
SHA/ref of HEAD of the project repository. Requires SSH access to the
|
729
|
-
distribution server.
|
730
|
-
|
731
|
-
* **pl:jenkins:dmg**
|
732
|
-
|
733
|
-
Perform `package:apple` by posting a jenkins build. Run
|
734
|
-
`pl:jenkins:retrieve` to retrieve the built packages.
|
735
|
-
|
736
|
-
* **pl:jenkins:gem**
|
737
|
-
|
738
|
-
Perform `package:gem` by posting a jenkins build. Run `pl:jenkins:retrieve`
|
739
|
-
to retrieve the built packages.
|
740
|
-
|
741
|
-
* **pl:jenkins:mock**
|
742
|
-
|
743
|
-
Perform `pl:mock` by posting a jenkins build. Run `pl:jenkins:retrieve` to
|
744
|
-
retrieve the built packages.
|
745
|
-
|
746
|
-
* **pl:jenkins:mock_all**
|
747
|
-
|
748
|
-
Perform what is effectively a `pl:mock_all` but in a different fashion.
|
749
|
-
`pl:mock_all` performs mock builds in serial with every mock listed in
|
750
|
-
ext/build_defaults.yaml. `pl:jenkins:mock_all` splits the mocks listed, and
|
751
|
-
posts a separate `pl:jenkins:mock` job for every mock to the jenkins
|
752
|
-
server, allowing jenkins to parallelize the building of packages for every
|
753
|
-
mock configuration. The mock build root is randomized by the packaging
|
754
|
-
repo, avoiding conflicts with existing builds of the same mock
|
755
|
-
configuration. To retrieve built packages, call `pl:jenkins:retrieve`.
|
756
|
-
|
757
|
-
* **pl:jenkins:post[uri]**
|
758
|
-
|
759
|
-
Post to the jenkins server as specified in the team build_extras.yaml file,
|
760
|
-
with the job uri specified.
|
761
|
-
|
762
|
-
* **pl:jenkins:retrieve[target]**
|
763
|
-
|
764
|
-
Retrieve packages stored on the distribution server that have been built
|
765
|
-
from the current SHA/ref of HEAD of the project repository. Optionally pass
|
766
|
-
[target] to override the default, which is to retrieve the contents of the
|
767
|
-
"artifacts" subdirectory. Other targets are "repos" and "shipped".
|
768
|
-
|
769
|
-
* **pl:jenkins:rpm_repo_configs**
|
770
|
-
|
771
|
-
On the distribution server generate a listing of all yum rpm package
|
772
|
-
repositories that exist for the current SHA/ref of HEAD of the project
|
773
|
-
repository. Then generate yum client configuration files for every existing
|
774
|
-
repository. The distribution server is a web server, so the client
|
775
|
-
configurations can be placed on a redhat client in /etc/yum.repos.d/ and
|
776
|
-
the client will be able to install the packages via yum install. Requires
|
777
|
-
SSH access to the distribution server.
|
778
|
-
|
779
|
-
* **pl:jenkins:rpm_repos**
|
780
|
-
|
781
|
-
On the distribution server, generate yum rpm repositories for every
|
782
|
-
distribution containing any packages that are stored that match the current
|
783
|
-
SHA/ref of HEAD of the project repository. Requires SSH access to the
|
784
|
-
distribution server. The yum repos are created in a "repos" subdirectory of
|
785
|
-
the standard builds location, e.g.
|
786
|
-
/opt/jenkins-builds/$project/${SHA|ref}/repos, using everything currently
|
787
|
-
in the "artifacts" subdirectory of the same location.
|
788
|
-
|
789
|
-
* **pl:jenkins:ship[target]**
|
790
|
-
|
791
|
-
Take the packages staged in pkg/ and ship them to locations partially
|
792
|
-
specified by data in the project build_extras.yaml file. The current
|
793
|
-
paradigm is to ship the files to a subdirectory of /opt/jenkins-builds on
|
794
|
-
the distribution server. The subdirectory is constructed with the project
|
795
|
-
and SHA or ref of HEAD of the project repository. That is, if project HEAD
|
796
|
-
is currently at the tag "1.2.3", then the directory that packages will be
|
797
|
-
shipped to is /opt/jenkins-builds/$project/1.2.3/. If HEAD is a git SHA,
|
798
|
-
then "1.2.3" will instead be that SHA. By default, all artifacts in pkg/
|
799
|
-
will be shipped to a "artifacts" subdirectory of the standard target. E.g.
|
800
|
-
/opt/jenkins-builds/$project/1.2.3/artifacts. When a final shipping occurs,
|
801
|
-
e.g. when shipping signed artifacts into production, a second subdirectory
|
802
|
-
is created - "shipped" - and all artifacts that are shipped to production
|
803
|
-
are also shipped here. This allows a historical archive of all shipped
|
804
|
-
artifacts.
|
805
|
-
|
806
|
-
* **pl:jenkins:sign_all**
|
807
|
-
|
808
|
-
Take all packages staged in pkg/ and sign them via the various signing
|
809
|
-
tasks. All signing occurs on the distribution server:
|
810
|
-
* create a git-bundle of the project and rsync it to the distribution
|
811
|
-
* server ssh to the distribution server and clone the git-bundle, and clone
|
812
|
-
* the packaging repository rsync the contents of the local pkg/ directory
|
813
|
-
* into the pkg/ directory of the remote git project ssh to the distribution
|
814
|
-
* server and execute the following rake tasks:
|
815
|
-
- pl:sign_tar
|
816
|
-
- pl:sign_rpms
|
817
|
-
- pl:sign_deb_changes
|
818
|
-
* rsync the remote pkg/ directory contents to the local pkg/ directory
|
819
|
-
|
820
|
-
* **pl:jenkins:tar**
|
821
|
-
|
822
|
-
Perform `package:tar` by posting a jenkins build. Run `pl:jenkins:retrieve` to
|
823
|
-
retrieve the built packages.
|
824
|
-
|
825
|
-
* **pl:jenkins:uber_build**
|
826
|
-
|
827
|
-
Create a jenkins job on the fly that performs an aggregate of build tasks.
|
828
|
-
These include all the debian builds using `pl:deb COW=<cow>`, rpm builds
|
829
|
-
with `pl:mock MOCKS=<mock>`, `package:tar`, `package:apple`, and
|
830
|
-
`package:gem` if applicable. See
|
831
|
-
[jenkins-tasks](https://github.com/puppetlabs/packaging#jenkins-tasks)
|
832
|
-
above for more detail.
|
833
|
-
|
834
|
-
* **pl:jenkins:uber_ship**
|
835
|
-
|
836
|
-
An aggregate of retrieval, signing, and shipping tasks. Execute
|
837
|
-
`pl:jenkins:retrieve` to retrieve any packages on the distribution server
|
838
|
-
that were built from the SHA/ref of HEAD. Then `pl:jenkins:sign_all` to
|
839
|
-
sign all packages. Finally, `pl:uber_ship`, `pl:remote:freight`, and
|
840
|
-
`pl:remote:update_yum_repo`. `pl:jenkins:uber_build` combined with
|
841
|
-
`pl:jenkins:uber_ship` performs the entire build and release process for a
|
842
|
-
project.
|
843
|
-
|
844
|
-
* **pl:mock**
|
845
|
-
|
846
|
-
Use `mock` to build an rpm package using the default mock distribution,
|
847
|
-
Redhat Linux 5, i386. Requires that the `mock` package be installed. See
|
848
|
-
the
|
849
|
-
[puppetlabs-rpmbuilder](https://github.com/puppetlabs/puppetlabs-rpmbuilder)
|
850
|
-
module for an easy way to set up a host for building with mock. Resulting
|
851
|
-
rpm is staged in `./pkg/el/rpm/5/(products | devel)/(i386 | SRPMS)`. The
|
852
|
-
placement into the "products" or "devel" subdirectories is determined by
|
853
|
-
the name of the package. If the package has a Release Candidate version, it
|
854
|
-
is placed in "devel". Otherwise it is placed in "products". A Release
|
855
|
-
Candidate is determined by parsing the `git describe` string, and searching
|
856
|
-
for `rc` after the version numbers.
|
857
|
-
|
858
|
-
* **pl:mock_all**
|
859
|
-
|
860
|
-
The same as `rake pl:mock`, but a package is built for every mock listed in
|
861
|
-
`ext/build_defaults.yaml` on the line `mocks:<mocks>`. Packages are staged
|
862
|
-
in `./pkg/(el | fedora)/$version/(products | devel)/(i386 | x86_64 |
|
863
|
-
SRPMS)`. The subdirectories are dependent on the mock that is used. The
|
864
|
-
task assumes that the mock configurations are the standard Puppet Labs mock
|
865
|
-
configurations that are generated by the
|
866
|
-
[puppetlabs-rpmbuilder](https://github.com/puppetlabs/puppetlabs-rpmbuilder)
|
867
|
-
module.
|
868
|
-
|
869
|
-
* **pl:print_build_params**
|
870
|
-
|
871
|
-
Print all build parameters to STDOUT as they would be used in a package
|
872
|
-
build. This prints data that is loaded from `ext/build_defaults.yaml` and
|
873
|
-
`ext/project_data.yaml`, as well as whatever is overridden with environment
|
874
|
-
variables. Useful for debugging problems with parameter values.
|
875
|
-
|
876
|
-
* **pl:print_build_param[param]**
|
877
|
-
|
878
|
-
Print a specific build parameter to STDOUT as it would be used in a package
|
879
|
-
build. This prints data that is loaded from `ext/build_defaults.yaml` and
|
880
|
-
`ext/project_data.yaml`, as well as whatever is overridden with environment
|
881
|
-
variables. Useful for debugging problems with parameter values. param
|
882
|
-
should be the name of the parameter as a symbol, e.g. :ref or :version
|
883
|
-
|
884
|
-
* **pl:release_deb**
|
885
|
-
|
886
|
-
A composite task of `package:tar`, `pl:deb_all`, `pl:sign_deb_changes`, and
|
887
|
-
`pl:ship_debs`
|
888
|
-
|
889
|
-
* **pl:release_dmg**
|
890
|
-
|
891
|
-
A composite task of `package:apple`, and `pl:ship_dmg`
|
892
|
-
|
893
|
-
* **pl:release_gem**
|
894
|
-
|
895
|
-
A composite task of `package:gem`, and `pl:ship_gem`
|
896
|
-
|
897
|
-
* **pl:release_ips**
|
898
|
-
|
899
|
-
A composite task of `pl:ips`, and `pl:ship_ips`
|
900
|
-
|
901
|
-
* **pl:release_rpm**
|
902
|
-
|
903
|
-
A composite task of `pl:mock_all`, `pl:sign_rpms`, `pl:ship_rpms`, and
|
904
|
-
`pl:remote:update_yum_repo`
|
905
|
-
|
906
|
-
* **pl:release_tar**
|
907
|
-
|
908
|
-
A composes task of `package:tar`, `pl:sign_tar`, and `pl:ship_tar`
|
909
|
-
|
910
|
-
* **pl:remote:deb**
|
911
|
-
|
912
|
-
As described above, this is a remote task, which means that the task is
|
913
|
-
performed remotely on the debian build host as specified in team
|
914
|
-
build_data.yaml retrieved from github.com/puppetlabs/build-data. This task
|
915
|
-
performs a `pl:deb` remotely on the builder
|
916
|
-
|
917
|
-
* **pl:remote:deb_all**
|
918
|
-
|
919
|
-
Perform `pl:deb_all` on the remote debian build host as specified in the
|
920
|
-
team build_data.yaml file
|
921
|
-
|
922
|
-
* **pl:remote:dmg**
|
923
|
-
|
924
|
-
|
925
|
-
Perform `package:apple` on the remote Mac build host as specified in the
|
926
|
-
team build_data.yaml file
|
927
|
-
|
928
|
-
* **pl:remote:freight**
|
929
|
-
|
930
|
-
Performs an ssh call to the package server that calls a server-side rake
|
931
|
-
task. The rake task takes the debian packages that have (presumably) been
|
932
|
-
shipped via `pl:ship_debs` and invokes
|
933
|
-
[freight](https://github.com/rcrowley/freight) with them, which places them
|
934
|
-
in the apt repository.
|
935
|
-
|
936
|
-
* **pl:remote:ips**
|
937
|
-
|
938
|
-
Perform `pl:ips` on the remote IPS build host as specified in the team
|
939
|
-
build_data.yaml file
|
940
|
-
|
941
|
-
* **pl:remote:mock**
|
942
|
-
|
943
|
-
Perform `pl:mock` on the remote RPM build host as specified in the team
|
944
|
-
build_data.yaml file
|
945
|
-
|
946
|
-
* **pl:remote:mock_all**
|
947
|
-
|
948
|
-
Perform `pl:mock_all` on the remote RPM build host as specified in the team
|
949
|
-
build_data.yaml file
|
950
|
-
|
951
|
-
* **pl:remote:release_deb**
|
952
|
-
|
953
|
-
Perform `pl:release_deb` on the remote debian build host. The caveat is
|
954
|
-
that while performing a `pl:release:deb` locally will prompt you to confirm
|
955
|
-
shipping the resulting debian packages, `pl:remote:release_deb` overrides
|
956
|
-
this and just retrieves the packages, to be staged locally under pkg/deb.
|
957
|
-
|
958
|
-
* **pl:remote:release_rpm**
|
959
|
-
|
960
|
-
Perform `pl:release_rpm` on the remote RPM build host. The same caveat
|
961
|
-
applies as for `pl:remote:release_deb` - Packages aren't shipped into
|
962
|
-
production, but rather retrieved from the remote builder and staged locally
|
963
|
-
under pkg/el and pkg/fedora.
|
964
|
-
|
965
|
-
* **pl:remote:update_yum_repo**
|
966
|
-
|
967
|
-
As with `pl:remote:freight`, this task performs an ssh call to the yum RPM
|
968
|
-
package server, and invokes an existing server-side rake task. The task
|
969
|
-
iterates through the `el` and `fedora` directories of the yum repository
|
970
|
-
and re-creates package server metadata for rpms in the subdirectories.
|
971
|
-
|
972
|
-
* **pl:ship_debs**
|
973
|
-
|
974
|
-
Rsync pkg/deb/* to the "incoming" directory on the debian apt package
|
975
|
-
repository server. Note: this task does not place the packages into
|
976
|
-
production - it is more accurate to consider the packages "staged" on the
|
977
|
-
repository server rather than actually shipped. The `pl:remote:freight`
|
978
|
-
task takes the packages in the "incoming" directory and actually places
|
979
|
-
them in the apt server.
|
980
|
-
|
981
|
-
* **pl:ship_gem**
|
982
|
-
|
983
|
-
Takes the built gem in pkg/ and pushes it to rubygems.com. This task assumes
|
984
|
-
you have the appropriate rubygems.com access and config to push the gem.
|
985
|
-
|
986
|
-
* **pl:ship_ips**
|
987
|
-
|
988
|
-
Takes the IPS packages in pkg/ips/pkgs/ and rsyncs them to a holding
|
989
|
-
directory on a package download server. This is not a true IPS server yet,
|
990
|
-
but just a basic file server. Eventually the goal is to have a true IPS
|
991
|
-
package repository running.
|
992
|
-
|
993
|
-
* **pl:ship_rpms**
|
994
|
-
|
995
|
-
Rsyncs the contents of pkg/el and pkg/fedora into the yum repository
|
996
|
-
server. While these packages are available immediately for download by
|
997
|
-
browsing the yum server directories directly, the yum repodata metadata has
|
998
|
-
not been updated, and thus the packages are not available to yum clients.
|
999
|
-
The `pl:remote:update_yum_repo` task updates the metadata, after which the
|
1000
|
-
packages will be available to yum clients.
|
1001
|
-
|
1002
|
-
* **pl:sign_rpms**
|
1003
|
-
|
1004
|
-
Sign the rpms staged locally under pkg/ with the gpg key user ID (e.g.
|
1005
|
-
email) specified in ext/build_defaults.yaml as `gpg_name`. This value can
|
1006
|
-
be overridden by passing GPG_NAME as an environment variable to the rake
|
1007
|
-
task.
|
1008
|
-
|
1009
|
-
* **pl:sign_tar**
|
1010
|
-
|
1011
|
-
Use gpg to create a detached signature of the tarball. By default this uses
|
1012
|
-
the gpg_key value specified in ext/build_defaults.yaml in the project. This
|
1013
|
-
can be overridden by passing GPG_KEY as an environment variable to the rake
|
1014
|
-
task.
|
1015
|
-
|
1016
|
-
* **pl:tag**
|
1017
|
-
|
1018
|
-
Create a signed, annotated git tag of the current repository. Requires TAG
|
1019
|
-
be passed as an environment variable to the rake task, which is the value
|
1020
|
-
that will be used as both the tag message and the name of the tag. The gpg
|
1021
|
-
key that is used for signing is assumed from gpg_key in
|
1022
|
-
ext/build_defaults.yaml. This can be overridden by passing GPG_KEY as an
|
1023
|
-
environment variable to the rake task.
|
1024
|
-
|
1025
|
-
* **pl:uber_release**
|
1026
|
-
|
1027
|
-
A composite task that performs the following tasks:
|
1028
|
-
`package:gem` (if build_gem is "true" in build_defaults.yaml)
|
1029
|
-
`pl:remote:release_deb`
|
1030
|
-
`pl:remote:release_rpm`
|
1031
|
-
`pl:remote:dmg` (if build_dmg is "true" in build_defaults.yaml)
|
1032
|
-
`package:tar`
|
1033
|
-
`pl:sign_tar`
|
1034
|
-
`pl:uber_ship`
|
1035
|
-
`pl:remote:freight`
|
1036
|
-
`pl:remote:update_yum_repo`
|
1037
|
-
This is essentially a complete build from start to finish. Gem and tarball
|
1038
|
-
are generated locally, and other packages (deb, rpm, dmg) are all created
|
1039
|
-
remotely. Assumes ssh access and appropriate build tool access on all
|
1040
|
-
respective build hosts.
|
1041
|
-
|
1042
|
-
* **pl:uber_ship**
|
1043
|
-
|
1044
|
-
A composite task that performs the following tasks:
|
1045
|
-
`pl:ship_gem`
|
1046
|
-
`pl:ship_rpms`
|
1047
|
-
`pl:ship_debs`
|
1048
|
-
`pl:ship_dmgs`
|
1049
|
-
`pl:ship_tar`
|
1050
|
-
`pl:jenkins:ship`
|
1051
|
-
This is essentially a "ship all the things" task, but it is important to
|
1052
|
-
note that it does not update either yum or apt repo metadata on these
|
1053
|
-
respective servers - this has to be done via `pl:remote:update_yum_repo`
|
1054
|
-
and `pl:remote:freight`.
|
1055
|
-
|
1056
|
-
* **pl:update_ips_repo**
|
1057
|
-
|
1058
|
-
Take the packages in pkg/ips/pkg and rsync them to the IPS repository
|
1059
|
-
server specified in the build_extras.yaml file. Via ssh commands, call
|
1060
|
-
pkgrecv, pkgrepo, svcadm on the IPS repository server. Via ssh, restart the
|
1061
|
-
IPS repository service.
|
1062
|
-
|
1063
|
-
* **pl:write_build_params**
|
1064
|
-
|
1065
|
-
Generate a yaml file with all the build properties that have been loaded
|
1066
|
-
from build_defaults.yaml, project_data.yaml, (optionally)
|
1067
|
-
build_extras.yaml(s) via `pl:fetch`, and any environment variables. This
|
1068
|
-
file can be used by the packaging repo as a single source of truth for
|
1069
|
-
build data via `pl:build_from_params`. By default it is written to a
|
1070
|
-
temporary location and its location is printed to STDOUT. To override the
|
1071
|
-
destination, pass OUTPUT_DIR as a environment variable to the task. By
|
1072
|
-
default, the name of the file will be either the git tag, if HEAD of the
|
1073
|
-
project repository is a tag, or the git sha of HEAD.
|
1074
|
-
|