Skip to content

Commit

Permalink
Merge pull request #9337 from AriaXLi/backport_PUP-12031
Browse files Browse the repository at this point in the history
[Backport 7.x] (PUP-12031) Consolidate gem depenendencies & metadata into puppet.gemspec
  • Loading branch information
joshcooper committed May 9, 2024
2 parents 358d0e9 + 57ea40c commit 401c7a3
Show file tree
Hide file tree
Showing 6 changed files with 65 additions and 127 deletions.
81 changes: 0 additions & 81 deletions .gemspec

This file was deleted.

7 changes: 6 additions & 1 deletion Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,11 @@ def location_for(place, fake_version = nil)
end
end

# override .gemspec deps - may issue warning depending on Bundler version
# Make sure these gem requirements are in sync with the gempspec. Specifically,
# the runtime_dependencies in puppet.gemspec match the runtime dependencies here
# (like semantic_puppet and puppet-resource_api)

# override .gemspec deps for facter & hiera - may issue warning depending on Bundler version
gem "facter", *location_for(ENV['FACTER_LOCATION']) if ENV.has_key?('FACTER_LOCATION')
gem "hiera", *location_for(ENV['HIERA_LOCATION']) if ENV.has_key?('HIERA_LOCATION')
gem "semantic_puppet", *location_for(ENV['SEMANTIC_PUPPET_LOCATION'] || ["~> 1.0"])
Expand All @@ -32,6 +36,7 @@ group(:features) do
# requires native ldap headers/libs
# gem 'ruby-ldap', '~> 0.9', require: false, platforms: [:ruby]
gem 'puppetserver-ca', '~> 2.0', require: false
gem 'CFPropertyList', '~> 2.2', require: false
end

group(:test) do
Expand Down
13 changes: 13 additions & 0 deletions Rakefile
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,19 @@ task :default do
sh %{rake -T}
end

namespace :pl_ci do
desc 'Build puppet gems'
task :gem_build do
stdout, stderr, status = Open3.capture3('gem build puppet.gemspec --platform x86-mingw32 && gem build puppet.gemspec --platform x64-mingw32 && gem build puppet.gemspec --platform universal-darwin && gem build puppet.gemspec')
if !status.exitstatus.zero?
puts "Error building facter.gemspec \n#{stdout} \n#{stderr}"
exit(1)
else
puts stdout
end
end
end

task :spec do
ENV["LOG_SPEC_ORDER"] = "true"
sh %{rspec #{ENV['TEST'] || ENV['TESTS'] || 'spec'}}
Expand Down
44 changes: 0 additions & 44 deletions ext/project_data.yaml
Original file line number Diff line number Diff line change
@@ -1,54 +1,10 @@
---
project: 'puppet'
author: 'Puppet Labs'
email: 'info@puppetlabs.com'
homepage: 'https://github.com/puppetlabs/puppet'
summary: 'Puppet, an automated configuration management tool'
description: 'Puppet, an automated configuration management tool'
version_file: 'lib/puppet/version.rb'
# files and gem_files are space separated lists
files: '[A-Z]* install.rb bin lib conf man examples ext tasks locales'
# Make sure these gem requirements are in sync with the gemspec and Gemfile
gem_files: '[A-Z]* install.rb bin lib conf man examples ext tasks locales'
gem_test_files:
gem_executables: 'puppet'
gem_default_executables: 'puppet'
gem_license: 'Apache-2.0'
gem_forge_project: 'puppet'
gem_required_ruby_version: '>= 2.5.0'
gem_required_rubygems_version: '> 1.3.1'
gem_runtime_dependencies:
facter: ['> 2.0.1', '< 5']
hiera: ['>= 3.2.1', '< 4']
semantic_puppet: '~> 1.0'
fast_gettext: ['>= 1.1', '< 3']
locale: '~> 2.1'
multi_json: '~> 1.10'
puppet-resource_api: '~>1.5'
concurrent-ruby: "~> 1.0"
deep_merge: '~> 1.0'
scanf: '~> 1.0'
gem_rdoc_options:
- --title
- "Puppet - Configuration Management"
- --main
- README.md
- --line-numbers
gem_platform_dependencies:
universal-darwin:
gem_runtime_dependencies:
CFPropertyList: '~> 2.2'
x86-mingw32:
gem_runtime_dependencies:
ffi: '1.15.5'
minitar: '~> 0.9'
x64-mingw32:
gem_runtime_dependencies:
ffi: '1.15.5'
minitar: '~> 0.9'
bundle_platforms:
universal-darwin: all
x86-mingw32: mingw
x64-mingw32: x64_mingw
pre_tasks:
'package:apple': 'cfpropertylist'
45 changes: 45 additions & 0 deletions puppet.gemspec
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
Gem::Specification.new do |s|
s.name = "puppet"
version = "7.31.0"
mdata = version.match(/(\d+\.\d+\.\d+)/)
s.version = mdata ? mdata[1] : version
s.license = 'Apache-2.0'

s.required_rubygems_version = Gem::Requirement.new("> 1.3.1")
s.required_ruby_version = Gem::Requirement.new(">= 2.5.0")
s.authors = ["Puppet Labs"]
s.date = "2012-08-17"
s.description = <<~EOF
Puppet, an automated administrative engine for your Linux, Unix, and Windows systems, performs administrative tasks
(such as adding users, installing packages, and updating server configurations) based on a centralized specification.
EOF
s.email = "info@puppetlabs.com"
s.executables = ["puppet"]
s.files = Dir['[A-Z]*'] + Dir['install.rb'] + Dir['bin/*'] + Dir['lib/**/*'] + Dir['conf/*'] + Dir['man/**/*'] + Dir['tasks/*'] + Dir['locales/**/*'] + Dir['ext/**/*'] + Dir['examples/**/*']
s.homepage = "https://github.com/puppetlabs/puppet"
s.rdoc_options = ["--title", "Puppet - Configuration Management", "--main", "README", "--line-numbers"]
s.require_paths = ["lib"]
s.summary = "Puppet, an automated configuration management tool"
s.specification_version = 4
s.add_runtime_dependency(%q<facter>, ["> 2.0.1", "< 5"])
s.add_runtime_dependency(%q<hiera>, [">= 3.2.1", "< 4"])
s.add_runtime_dependency(%q<semantic_puppet>, "~> 1.0")
s.add_runtime_dependency(%q<fast_gettext>, ">= 1.1", "< 3")
s.add_runtime_dependency(%q<locale>, "~> 2.1")
s.add_runtime_dependency(%q<multi_json>, "~> 1.10")
s.add_runtime_dependency(%q<puppet-resource_api>, "~> 1.5")
s.add_runtime_dependency(%q<concurrent-ruby>, "~> 1.0")
s.add_runtime_dependency(%q<deep_merge>, "~> 1.0")
s.add_runtime_dependency(%q<scanf>, "~> 1.0")

# For building platform specific puppet gems...the --platform flag is only supported in newer Ruby versions
platform = s.platform.to_s
if platform == 'universal-darwin'
s.add_runtime_dependency('CFPropertyList', '~> 2.2')
end

if platform == 'x64-mingw32' || platform == 'x86-mingw32'
s.add_runtime_dependency('ffi', '1.15.5')
s.add_runtime_dependency('minitar', '~> 0.9')
end
end
2 changes: 1 addition & 1 deletion spec/unit/provider/user/directoryservice_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
module Puppet::Util::Plist
end

describe Puppet::Type.type(:user).provider(:directoryservice) do
describe Puppet::Type.type(:user).provider(:directoryservice), :if => Puppet.features.cfpropertylist? do
let(:username) { 'nonexistent_user' }
let(:user_path) { "/Users/#{username}" }
let(:resource) do
Expand Down

0 comments on commit 401c7a3

Please sign in to comment.