diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..806cb05 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/semantic_puppet-1.0.3.gem diff --git a/dead.package b/dead.package deleted file mode 100644 index d8db2b8..0000000 --- a/dead.package +++ /dev/null @@ -1,2 +0,0 @@ -For now, this package currently is only mainted for EPEL 8. -If you are interested on helping to maintain it for Fedora, please let me know. diff --git a/remove-sorted_set-usage.patch b/remove-sorted_set-usage.patch new file mode 100644 index 0000000..146ade1 --- /dev/null +++ b/remove-sorted_set-usage.patch @@ -0,0 +1,58 @@ +From 540c3e482e90c7c428b7c6684c1527fc412a2085 Mon Sep 17 00:00:00 2001 +From: Joel Capitao +Date: Mon, 31 May 2021 17:04:06 +0200 +Subject: [PATCH] remove sorted_set usage + +--- + lib/semantic_puppet/dependency/graph_node.rb | 4 ++-- + spec/unit/semantic_puppet/dependency_spec.rb | 10 +++++----- + 2 files changed, 7 insertions(+), 7 deletions(-) + +diff --git a/lib/semantic_puppet/dependency/graph_node.rb b/lib/semantic_puppet/dependency/graph_node.rb +index 51416c8..9ca312d 100644 +--- a/lib/semantic_puppet/dependency/graph_node.rb ++++ b/lib/semantic_puppet/dependency/graph_node.rb +@@ -33,10 +33,10 @@ module SemanticPuppet + end + + # @api internal +- # @return [{ String => SortedSet }] the satisfactory ++ # @return [{ String => Array }] the satisfactory + # dependency nodes + def dependencies +- @_dependencies ||= Hash.new { |h, k| h[k] = SortedSet.new } ++ @_dependencies ||= Hash.new { |h, k| h[k] = Array.new } + end + + # Adds the given dependency name to the list of dependencies. +diff --git a/spec/unit/semantic_puppet/dependency_spec.rb b/spec/unit/semantic_puppet/dependency_spec.rb +index f86dc73..f314aba 100644 +--- a/spec/unit/semantic_puppet/dependency_spec.rb ++++ b/spec/unit/semantic_puppet/dependency_spec.rb +@@ -93,8 +93,8 @@ describe SemanticPuppet::Dependency do + ) + + result = SemanticPuppet::Dependency.query('foo' => '1.0.0', 'bar' => '1.0.0') +- expect(result.dependencies['foo']).to eql SortedSet.new([ foo ]) +- expect(result.dependencies['bar']).to eql SortedSet.new([ bar ]) ++ expect(result.dependencies['foo']).to eql [foo] ++ expect(result.dependencies['bar']).to eql [bar] + end + + it 'populates all returned ModuleReleases with related dependencies' do +@@ -105,9 +105,9 @@ describe SemanticPuppet::Dependency do + ) + + result = SemanticPuppet::Dependency.query('foo' => '1.0.0') +- expect(result.dependencies['foo']).to eql SortedSet.new([ foo ]) +- expect(foo.dependencies['bar']).to eql SortedSet.new([ bar ]) +- expect(bar.dependencies['baz']).to eql SortedSet.new([ baz ]) ++ expect(result.dependencies['foo']).to eql [foo] ++ expect(foo.dependencies['bar']).to eql [bar] ++ expect(bar.dependencies['baz']).to eql [ baz] + end + end + +-- +2.31.1 + diff --git a/rubygem-semantic_puppet.spec b/rubygem-semantic_puppet.spec new file mode 100644 index 0000000..c81bda3 --- /dev/null +++ b/rubygem-semantic_puppet.spec @@ -0,0 +1,78 @@ +%global gem_name semantic_puppet + +%global with_test 1 + +Name: rubygem-%{gem_name} +Version: 1.0.3 +Release: 1%{?dist} +Summary: Useful tools for working with Semantic Versions +License: ASL 2.0 +URL: https://github.com/puppetlabs/semantic_puppet +Source0: https://rubygems.org/gems/%{gem_name}-%{version}.gem +# https://tickets.puppetlabs.com/browse/PUP-11069 +# https://github.com/puppetlabs/semantic_puppet/pull/38 +Patch0001: remove-sorted_set-usage.patch + +BuildRequires: rubygems-devel +%if 0%{?with_test} +BuildRequires: rubygem(rspec) +%endif +Requires: ruby(rubygems) + +BuildArch: noarch + +%description +Tools used by Puppet to parse, validate, and compare Semantic Versions and +Version Ranges and to query and resolve module dependencies. + +%package doc +Summary: Documentation for %{name} +Requires: %{name} = %{version}-%{release} +BuildArch: noarch + +%description doc +Documentation for %{name}. + +%prep +gem unpack %{SOURCE0} +%setup -q -D -T -n %{gem_name}-%{version} +gem spec %{SOURCE0} -l --ruby > %{gem_name}.gemspec +%patch1 -p1 + +%build +gem build %{gem_name}.gemspec +%gem_install + +%install +mkdir -p %{buildroot}%{gem_dir} +cp -a .%{gem_dir}/* \ + %{buildroot}%{gem_dir}/ +rm -rf %{buildroot}%{gem_instdir}/{appveyor.yml,.gitignore,.rubocop.yml,.travis.yml,.yardopts} + +%check +%if 0%{?with_test} +pushd .%{gem_instdir} +rspec spec +popd +%endif + +%files +%dir %{gem_instdir} +%license %{gem_instdir}/LICENSE +%{gem_libdir} +%exclude %{gem_cache} + +%files doc +%doc %{gem_docdir} +%doc %{gem_instdir}/CHANGELOG.md +%{gem_instdir}/Gemfile +%doc %{gem_instdir}/README.md +%{gem_instdir}/CODEOWNERS +%{gem_instdir}/Rakefile +%{gem_spec} +%{gem_instdir}/semantic_puppet.gemspec +%{gem_instdir}/spec + +%changelog +* Tue Jun 01 2021 Joel Capitao - 1.0.3-1 +- First build for rawhide diff --git a/sources b/sources new file mode 100644 index 0000000..9245df6 --- /dev/null +++ b/sources @@ -0,0 +1 @@ +SHA512 (semantic_puppet-1.0.3.gem) = bdca6793a064d37d15010551c579f61837b1095025d84469ed8893d4bbed4372cde005ed452460a8d771c8e4bf842283628f2c613295bab0af3834cdc163f7ba