Skip to content

Commit

Permalink
Merge pull request #9325 from AriaXLi/PUP-12031
Browse files Browse the repository at this point in the history
(PUP-12031) Consolidate gem depenendencies & metadata into puppet.gem…
  • Loading branch information
AriaXLi committed Apr 23, 2024
2 parents fb44fd9 + e58bc11 commit fa213f5
Show file tree
Hide file tree
Showing 6 changed files with 62 additions and 129 deletions.
84 changes: 0 additions & 84 deletions .gemspec

This file was deleted.

5 changes: 4 additions & 1 deletion Gemfile
Expand Up @@ -12,7 +12,9 @@ def location_for(place, fake_version = nil)
end
end

# Make sure these gem requirements are in sync with the gempspec and ext/project_data.yaml
# Make sure these gem requirements are in sync with the gempspec. Specifically,
# the runtime_dependencies in puppet.gemspec match the runtime dependencies here
# (like facter, semantic_puppet, and puppet-resource_api)

gem "facter", *location_for(ENV['FACTER_LOCATION'] || ["~> 4.3"])
gem "semantic_puppet", *location_for(ENV['SEMANTIC_PUPPET_LOCATION'] || ["~> 1.0"])
Expand All @@ -33,6 +35,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', ['>= 3.0.6', '< 4'], require: false
end

group(:test) do
Expand Down
13 changes: 13 additions & 0 deletions Rakefile
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
43 changes: 0 additions & 43 deletions ext/project_data.yaml
@@ -1,53 +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: '>= 3.1.0'
gem_required_rubygems_version: '> 1.3.1'
gem_runtime_dependencies:
facter: ['>= 4.3.0', '< 5']
semantic_puppet: '~> 1.0'
fast_gettext: ['>= 2.1', '< 3']
locale: '~> 2.1'
multi_json: '~> 1.13'
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: ['>= 3.0.6', '< 4']
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'
44 changes: 44 additions & 0 deletions puppet.gemspec
@@ -0,0 +1,44 @@
Gem::Specification.new do |s|
s.name = "puppet"
version = "8.7.0"
mdata = version.match(/(\d+\.\d+\.\d+)/)
s.version = mdata ? mdata[1] : version
s.licenses = ['Apache-2.0']

s.required_rubygems_version = Gem::Requirement.new("> 1.3.1")
s.required_ruby_version = Gem::Requirement.new(">= 3.1.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.license = "Apache-2.0"
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>, [">= 4.3.0", "< 5"])
s.add_runtime_dependency(%q<semantic_puppet>, "~> 1.0")
s.add_runtime_dependency(%q<fast_gettext>, ">= 2.1", "< 3")
s.add_runtime_dependency(%q<locale>, "~> 2.1")
s.add_runtime_dependency(%q<multi_json>, "~> 1.13")
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")

platform = s.platform.to_s
if platform == 'universal-darwin'
s.add_runtime_dependency('CFPropertyList', ['>= 3.0.6', '< 4'])
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
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 fa213f5

Please sign in to comment.