simp-rake-helpers 5.11.6 → 5.12.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +49 -0
- data/CONTRIBUTING.md +1 -1
- data/Gemfile +0 -3
- data/README.md +3 -38
- data/Rakefile +2 -3
- data/lib/simp/command_utils.rb +21 -0
- data/lib/simp/local_gpg_signing_key.rb +128 -79
- data/lib/simp/rake/build/auto.rb +4 -2
- data/lib/simp/rake/build/build.rb +5 -4
- data/lib/simp/rake/build/iso.rb +57 -31
- data/lib/simp/rake/build/pkg.rb +118 -56
- data/lib/simp/rake/build/spec.rb +1 -1
- data/lib/simp/rake/build/tar.rb +1 -1
- data/lib/simp/rake/build/unpack.rb +1 -1
- data/lib/simp/rake/build/upload.rb +1 -1
- data/lib/simp/rake/build/vermap.yaml +1 -1
- data/lib/simp/rake/helpers/assets/rpm_spec/simp6.spec +3 -3
- data/lib/simp/rake/helpers/assets/rpm_spec/simpdefault.spec +3 -3
- data/lib/simp/rake/helpers/version.rb +1 -1
- data/lib/simp/rake/helpers.rb +2 -2
- data/lib/simp/rake/pkg.rb +5 -1
- data/lib/simp/rake/pupmod/helpers.rb +2 -0
- data/lib/simp/rake/rubygem.rb +5 -1
- data/lib/simp/rake.rb +3 -17
- data/lib/simp/rpm.rb +10 -127
- data/lib/simp/rpm_signer.rb +321 -0
- data/spec/acceptance/nodesets/default.yml +0 -3
- data/spec/acceptance/{00_pkg_rpm_custom_scriptlets_spec.rb → suites/default/00_pkg_rpm_custom_scriptlets_spec.rb} +21 -22
- data/spec/acceptance/{10_pkg_rpm_spec.rb → suites/default/10_pkg_rpm_spec.rb} +50 -52
- data/spec/acceptance/{30_pkg_misc_spec.rb → suites/default/30_pkg_misc_spec.rb} +1 -1
- data/spec/acceptance/{50_local_gpg_signing_key_spec.rb → suites/default/50_local_gpg_signing_key_spec.rb} +7 -3
- data/spec/acceptance/suites/default/55_build_pkg_signing_spec.rb +391 -0
- data/spec/acceptance/{development → suites/default/development}/docker_env.sh +0 -0
- data/spec/acceptance/{development → suites/default/development}/rerun_acceptance_tests.sh +0 -0
- data/spec/acceptance/{development → suites/default/development}/vagrant_rsync.sh +0 -0
- data/spec/acceptance/{files → suites/default/files}/asset/Rakefile +0 -0
- data/spec/acceptance/{files → suites/default/files}/asset/build/asset.spec +0 -0
- data/spec/acceptance/{files → suites/default/files}/asset_with_misordered_entries/Rakefile +0 -0
- data/spec/acceptance/{files → suites/default/files}/asset_with_misordered_entries/build/asset_with_misordered_entries.spec +0 -0
- data/spec/acceptance/{files → suites/default/files}/build/pkg/gpg-keydir.expired.2018-04-06/RPM-GPG-KEY-SIMP-Dev +0 -0
- data/spec/acceptance/{files → suites/default/files}/build/pkg/gpg-keydir.expired.2018-04-06/gengpgkey +0 -0
- data/spec/acceptance/{files → suites/default/files}/build/pkg/gpg-keydir.expired.2018-04-06/pubring.gpg +0 -0
- data/spec/acceptance/{files → suites/default/files}/build/pkg/gpg-keydir.expired.2018-04-06/random_seed +0 -0
- data/spec/acceptance/{files → suites/default/files}/build/pkg/gpg-keydir.expired.2018-04-06/run_gpg_agent +0 -0
- data/spec/acceptance/{files → suites/default/files}/build/pkg/gpg-keydir.expired.2018-04-06/secring.gpg +0 -0
- data/spec/acceptance/{files → suites/default/files}/build/pkg/gpg-keydir.expired.2018-04-06/trustdb.gpg +0 -0
- data/spec/acceptance/{files → suites/default/files}/build/project_skeleton/Puppetfile.tracking +0 -0
- data/spec/acceptance/{files → suites/default/files}/build/project_skeleton/README.md +0 -0
- data/spec/acceptance/{files → suites/default/files}/build/project_skeleton/Rakefile +0 -0
- data/spec/acceptance/{files → suites/default/files}/build/project_skeleton/src/assets/simp/build/simp.spec +0 -0
- data/spec/acceptance/{files → suites/default/files}/module/CHANGELOG +0 -0
- data/spec/acceptance/{files/custom_scriptlet_triggers/pupmod-new-package-2.1 → suites/default/files/module}/Rakefile +0 -0
- data/spec/acceptance/{files → suites/default/files}/module/metadata.json +0 -0
- data/spec/acceptance/{files → suites/default/files}/module_with_misordered_entries/CHANGELOG +0 -0
- data/spec/acceptance/{files/custom_scriptlet_triggers/pupmod-new-package-3.0 → suites/default/files/module_with_misordered_entries}/Rakefile +0 -0
- data/spec/acceptance/{files → suites/default/files}/module_with_misordered_entries/metadata.json +0 -0
- data/spec/acceptance/{files/custom_scriptlet_triggers/pupmod-new-package-2.1 → suites/default/files/simplib}/CHANGELOG +0 -0
- data/spec/acceptance/{files/custom_scriptlet_triggers/pupmod-old-package-1.0 → suites/default/files/simplib}/Rakefile +0 -0
- data/spec/acceptance/{files/custom_scriptlet_triggers/pupmod-old-package-1.0 → suites/default/files/simplib}/build/rpm_metadata/requires +0 -0
- data/spec/acceptance/{files → suites/default/files}/simplib/metadata.json +0 -0
- data/spec/acceptance/{files/custom_scriptlet_triggers/pupmod-new-package-3.0 → suites/default/files/testpackage}/CHANGELOG +0 -0
- data/spec/acceptance/suites/default/files/testpackage/README +8 -0
- data/spec/acceptance/{files/custom_scriptlet_triggers/pupmod-old-package-2.0 → suites/default/files/testpackage}/Rakefile +0 -0
- data/spec/acceptance/{files/package_upgrades/pupmod-simp-testpackage-1.0 → suites/default/files/testpackage}/build/rpm_metadata/requires +0 -0
- data/spec/acceptance/{files → suites/default/files}/testpackage/metadata.json +0 -0
- data/spec/acceptance/suites/default/files/testpackage/spec/classes/init_spec.rb +1 -0
- data/spec/acceptance/suites/default/files/testpackage/spec/files/mock_something.rb +3 -0
- data/spec/acceptance/suites/default/files/testpackage/utils/convert_v1_to_v2.rb +3 -0
- data/spec/acceptance/{files/custom_scriptlet_triggers/pupmod-old-package-1.0 → suites/default/files/testpackage_custom_scriptlet}/CHANGELOG +0 -0
- data/spec/acceptance/{files/custom_scriptlet_triggers/pupmod-old-package-2.2 → suites/default/files/testpackage_custom_scriptlet}/Rakefile +0 -0
- data/spec/acceptance/{files → suites/default/files}/testpackage_custom_scriptlet/build/rpm_metadata/custom/overrides +0 -0
- data/spec/acceptance/{files/custom_scriptlet_triggers/pupmod-old-package-2.0 → suites/default/files/testpackage_custom_scriptlet}/build/rpm_metadata/requires +0 -0
- data/spec/acceptance/{files → suites/default/files}/testpackage_custom_scriptlet/metadata.json +0 -0
- data/spec/acceptance/{files/custom_scriptlet_triggers/pupmod-old-package-2.0 → suites/default/files/testpackage_missing_license}/CHANGELOG +0 -0
- data/spec/acceptance/{files/module → suites/default/files/testpackage_missing_license}/Rakefile +0 -0
- data/spec/acceptance/{files/simplib → suites/default/files/testpackage_missing_license}/build/rpm_metadata/requires +0 -0
- data/spec/acceptance/{files → suites/default/files}/testpackage_missing_license/metadata.json +0 -0
- data/spec/acceptance/{files/custom_scriptlet_triggers/pupmod-old-package-2.2 → suites/default/files/testpackage_missing_metadata_file}/CHANGELOG +0 -0
- data/spec/acceptance/{files/module_with_misordered_entries → suites/default/files/testpackage_missing_metadata_file}/Rakefile +0 -0
- data/spec/acceptance/{files/testpackage_custom_scriptlet → suites/default/files/testpackage_missing_metadata_file}/build/rpm_metadata/requires +0 -0
- data/spec/acceptance/{files/simplib → suites/default/files/testpackage_missing_name}/CHANGELOG +0 -0
- data/spec/acceptance/{files/package_upgrades/pupmod-simp-testpackage-1.0 → suites/default/files/testpackage_missing_name}/Rakefile +0 -0
- data/spec/acceptance/{files/testpackage_missing_license → suites/default/files/testpackage_missing_name}/build/rpm_metadata/requires +0 -0
- data/spec/acceptance/{files → suites/default/files}/testpackage_missing_name/metadata.json +0 -0
- data/spec/acceptance/{files/testpackage → suites/default/files/testpackage_missing_source}/CHANGELOG +0 -0
- data/spec/acceptance/{files/package_upgrades/pupmod-simp-testpackage-2.0 → suites/default/files/testpackage_missing_source}/Rakefile +0 -0
- data/spec/acceptance/{files/testpackage_missing_metadata_file → suites/default/files/testpackage_missing_source}/build/rpm_metadata/requires +0 -0
- data/spec/acceptance/{files → suites/default/files}/testpackage_missing_source/metadata.json +0 -0
- data/spec/acceptance/{files/testpackage_custom_scriptlet → suites/default/files/testpackage_missing_summary}/CHANGELOG +0 -0
- data/spec/acceptance/{files/simplib → suites/default/files/testpackage_missing_summary}/Rakefile +0 -0
- data/spec/acceptance/{files/testpackage_missing_name → suites/default/files/testpackage_missing_summary}/build/rpm_metadata/requires +0 -0
- data/spec/acceptance/{files → suites/default/files}/testpackage_missing_summary/metadata.json +0 -0
- data/spec/acceptance/{files/testpackage_missing_license → suites/default/files/testpackage_missing_version}/CHANGELOG +0 -0
- data/spec/acceptance/{files/testpackage → suites/default/files/testpackage_missing_version}/Rakefile +0 -0
- data/spec/acceptance/{files/testpackage_missing_source → suites/default/files/testpackage_missing_version}/build/rpm_metadata/requires +0 -0
- data/spec/acceptance/{files → suites/default/files}/testpackage_missing_version/metadata.json +0 -0
- data/spec/acceptance/{files → suites/default/files}/testpackage_with_bad_changelog_date/CHANGELOG +0 -0
- data/spec/acceptance/{files/testpackage_custom_scriptlet → suites/default/files/testpackage_with_bad_changelog_date}/Rakefile +0 -0
- data/spec/acceptance/{files/testpackage_missing_summary → suites/default/files/testpackage_with_bad_changelog_date}/build/rpm_metadata/requires +0 -0
- data/spec/acceptance/{files → suites/default/files}/testpackage_with_bad_changelog_date/metadata.json +0 -0
- data/spec/acceptance/{files/testpackage_missing_metadata_file → suites/default/files/testpackage_with_release}/CHANGELOG +0 -0
- data/spec/acceptance/{files/testpackage_missing_license → suites/default/files/testpackage_with_release}/Rakefile +0 -0
- data/spec/acceptance/{files → suites/default/files}/testpackage_with_release/build/rpm_metadata/release +0 -0
- data/spec/acceptance/{files/testpackage_missing_version → suites/default/files/testpackage_with_release}/build/rpm_metadata/requires +0 -0
- data/spec/acceptance/{files → suites/default/files}/testpackage_with_release/metadata.json +0 -0
- data/spec/acceptance/{files/testpackage_missing_metadata_file → suites/default/files/testpackage_without_changelog}/Rakefile +0 -0
- data/spec/acceptance/{files/testpackage_with_bad_changelog_date → suites/default/files/testpackage_without_changelog}/build/rpm_metadata/requires +0 -0
- data/spec/acceptance/{files → suites/default/files}/testpackage_without_changelog/metadata.json +0 -0
- data/spec/acceptance/{support → suites/default/support}/build_project_helpers.rb +33 -9
- data/spec/acceptance/{support → suites/default/support}/build_user_helpers.rb +0 -0
- data/spec/acceptance/{support → suites/default/support}/pkg_rpm_helpers.rb +0 -0
- data/spec/lib/simp/command_utils_spec.rb +29 -0
- data/spec/lib/simp/local_gpg_signing_key_spec.rb.beaker-only +115 -18
- data/spec/lib/simp/rake/pupmod/fixtures/simpmod/README.md +2 -2
- data/spec/lib/simp/rpm_signer_spec.rb +98 -0
- data/spec/lib/simp/rpm_spec.rb +0 -6
- data/spec/spec_helper_acceptance.rb +4 -0
- metadata +92 -149
- data/.travis.yml +0 -41
- data/lib/simp/rake/helpers/assets/rpm_spec/simp4.spec +0 -388
- data/lib/simp/rake/helpers/assets/rpm_spec/simp5.spec +0 -388
- data/spec/acceptance/20_pkg_rpm_upgrade_spec.rb +0 -236
- data/spec/acceptance/55_build_pkg_signing_spec.rb +0 -140
- data/spec/acceptance/files/custom_scriptlet_triggers/pupmod-new-package-2.1/build/rpm_metadata/custom/overrides +0 -14
- data/spec/acceptance/files/custom_scriptlet_triggers/pupmod-new-package-2.1/build/rpm_metadata/requires +0 -1
- data/spec/acceptance/files/custom_scriptlet_triggers/pupmod-new-package-2.1/metadata.json +0 -33
- data/spec/acceptance/files/custom_scriptlet_triggers/pupmod-new-package-3.0/build/rpm_metadata/custom/overrides +0 -14
- data/spec/acceptance/files/custom_scriptlet_triggers/pupmod-new-package-3.0/build/rpm_metadata/requires +0 -1
- data/spec/acceptance/files/custom_scriptlet_triggers/pupmod-new-package-3.0/metadata.json +0 -33
- data/spec/acceptance/files/custom_scriptlet_triggers/pupmod-old-package-1.0/metadata.json +0 -33
- data/spec/acceptance/files/custom_scriptlet_triggers/pupmod-old-package-2.0/metadata.json +0 -33
- data/spec/acceptance/files/custom_scriptlet_triggers/pupmod-old-package-2.2/build/rpm_metadata/custom/overrides +0 -14
- data/spec/acceptance/files/custom_scriptlet_triggers/pupmod-old-package-2.2/build/rpm_metadata/requires +0 -1
- data/spec/acceptance/files/custom_scriptlet_triggers/pupmod-old-package-2.2/metadata.json +0 -33
- data/spec/acceptance/files/mock_packages/pupmod-puppetlabs-stdlib.spec +0 -32
- data/spec/acceptance/files/mock_packages/pupmod-simp-foo.spec +0 -32
- data/spec/acceptance/files/mock_packages/pupmod-simp-simplib.spec +0 -32
- data/spec/acceptance/files/mock_packages/rpmbuild.sh +0 -25
- data/spec/acceptance/files/mock_packages/simp-adapter/etc/simp/adapter_config.yaml +0 -3
- data/spec/acceptance/files/mock_packages/simp-adapter/usr/local/sbin/simp_rpm_helper +0 -495
- data/spec/acceptance/files/mock_packages/simp-adapter.spec +0 -43
- data/spec/acceptance/files/package_upgrades/pupmod-simp-testpackage-1.0/CHANGELOG +0 -2
- data/spec/acceptance/files/package_upgrades/pupmod-simp-testpackage-1.0/data/os/CentOS.yaml +0 -2
- data/spec/acceptance/files/package_upgrades/pupmod-simp-testpackage-1.0/data/os/RedHat.yaml +0 -2
- data/spec/acceptance/files/package_upgrades/pupmod-simp-testpackage-1.0/hiera.yaml +0 -14
- data/spec/acceptance/files/package_upgrades/pupmod-simp-testpackage-1.0/manifests/init.pp +0 -2
- data/spec/acceptance/files/package_upgrades/pupmod-simp-testpackage-1.0/metadata.json +0 -37
- data/spec/acceptance/files/package_upgrades/pupmod-simp-testpackage-2.0/CHANGELOG +0 -5
- data/spec/acceptance/files/package_upgrades/pupmod-simp-testpackage-2.0/build/rpm_metadata/requires +0 -2
- data/spec/acceptance/files/package_upgrades/pupmod-simp-testpackage-2.0/data/os/CentOS.yaml +0 -2
- data/spec/acceptance/files/package_upgrades/pupmod-simp-testpackage-2.0/data/os/RedHat.yaml +0 -2
- data/spec/acceptance/files/package_upgrades/pupmod-simp-testpackage-2.0/hiera.yaml +0 -14
- data/spec/acceptance/files/package_upgrades/pupmod-simp-testpackage-2.0/manifests/init.pp +0 -3
- data/spec/acceptance/files/package_upgrades/pupmod-simp-testpackage-2.0/metadata.json +0 -37
- data/spec/acceptance/files/testpackage/build/rpm_metadata/requires +0 -2
- data/spec/acceptance/files/testpackage_missing_name/CHANGELOG +0 -2
- data/spec/acceptance/files/testpackage_missing_name/Rakefile +0 -3
- data/spec/acceptance/files/testpackage_missing_source/CHANGELOG +0 -2
- data/spec/acceptance/files/testpackage_missing_source/Rakefile +0 -3
- data/spec/acceptance/files/testpackage_missing_summary/CHANGELOG +0 -2
- data/spec/acceptance/files/testpackage_missing_summary/Rakefile +0 -3
- data/spec/acceptance/files/testpackage_missing_version/CHANGELOG +0 -2
- data/spec/acceptance/files/testpackage_missing_version/Rakefile +0 -3
- data/spec/acceptance/files/testpackage_with_bad_changelog_date/Rakefile +0 -3
- data/spec/acceptance/files/testpackage_with_release/CHANGELOG +0 -2
- data/spec/acceptance/files/testpackage_with_release/Rakefile +0 -3
- data/spec/acceptance/files/testpackage_with_release/build/rpm_metadata/requires +0 -1
- data/spec/acceptance/files/testpackage_without_changelog/Rakefile +0 -3
- data/spec/acceptance/files/testpackage_without_changelog/build/rpm_metadata/requires +0 -1
- data/spec/lib/simp/ci/files/job_broken_link_nodeset/spec/acceptance/suites/default/nodesets +0 -1
- data/spec/lib/simp/ci/files/job_invalid_nodeset/spec/acceptance/suites/default/nodesets +0 -1
- data/spec/lib/simp/ci/files/job_invalid_suite/spec/acceptance/suites/default/nodesets +0 -1
- data/spec/lib/simp/ci/files/job_missing_nodeset/spec/acceptance/suites/default/nodesets +0 -1
- data/spec/lib/simp/ci/files/job_missing_suite_and_nodeset/spec/acceptance/suites/default/nodesets +0 -1
- data/spec/lib/simp/ci/files/multiple_invalid_jobs/spec/acceptance/suites/default/nodesets +0 -1
- data/spec/lib/simp/ci/files/multiple_valid_jobs/spec/acceptance/suites/default/nodesets +0 -1
- data/spec/lib/simp/ci/files/no_gitlab_config_with_tests/spec/acceptance/suites/default/nodesets +0 -1
- data/spec/lib/simp/ci/files/no_gitlab_config_without_tests/spec/acceptance/suites/default/nodesets +0 -1
- data/spec/lib/simp/ci/files/suite_skeleton_only/spec/acceptance/nodesets/default.yml +0 -1
- data/spec/lib/simp/ci/files/suite_skeleton_only/spec/acceptance/suites/default/nodesets +0 -1
- data/spec/lib/simp/ci/files/valid_job_nodeset_dir_link/spec/acceptance/suites/default/nodesets +0 -1
- data/spec/lib/simp/ci/files/valid_job_nodeset_link/spec/acceptance/suites/default/nodesets/default.yml +0 -1
- data/spec/lib/simp/files/build/testpackage.spec +0 -1
- data/spec/lib/simp/rake/pupmod/fixtures/simpmod/spec/acceptance/nodesets/default.yml +0 -1
- data/spec/lib/simp/rake/pupmod/fixtures/simpmod/spec/acceptance/suites/default/nodesets +0 -1
data/lib/simp/rake/build/iso.rb
CHANGED
|
@@ -26,7 +26,7 @@ module Simp::Rake::Build
|
|
|
26
26
|
namespace :iso do
|
|
27
27
|
task :prep do
|
|
28
28
|
if $simp6
|
|
29
|
-
@build_dir = $simp6_build_dir
|
|
29
|
+
@build_dir = $simp6_build_dir || @distro_build_dir
|
|
30
30
|
end
|
|
31
31
|
end
|
|
32
32
|
|
|
@@ -120,6 +120,9 @@ module Simp::Rake::Build
|
|
|
120
120
|
end
|
|
121
121
|
end
|
|
122
122
|
|
|
123
|
+
reposync_location = File.join(@build_dir,'yum_data','reposync')
|
|
124
|
+
reposync_active = !Dir.glob(File.join(reposync_location, '**', 'repomd.xml')).empty?
|
|
125
|
+
|
|
123
126
|
tarfiles = File.directory?(tarball) ?
|
|
124
127
|
Dir.glob("#{tarball}/*.tar.gz") : [tarball]
|
|
125
128
|
vermap = YAML::load_file( File.join( File.dirname(__FILE__), 'vermap.yaml'))
|
|
@@ -171,6 +174,7 @@ module Simp::Rake::Build
|
|
|
171
174
|
unless Array(vermap[simpver.split('.').first]).include?(baseosver.split('.').first)
|
|
172
175
|
if verbose
|
|
173
176
|
warn("Could not find SIMP version mapping for #{simpver} for Base OS #{baseosver}")
|
|
177
|
+
warn("Do you need to update vermap.yaml in the Gem?")
|
|
174
178
|
end
|
|
175
179
|
|
|
176
180
|
next
|
|
@@ -186,34 +190,53 @@ module Simp::Rake::Build
|
|
|
186
190
|
end
|
|
187
191
|
end
|
|
188
192
|
|
|
189
|
-
#
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
193
|
+
# If we've pulled in reposync directories, we expect them to
|
|
194
|
+
# completely overwrite the directory of the same name in the
|
|
195
|
+
# target ISO so no pruning is required
|
|
196
|
+
#
|
|
197
|
+
# Note: CASE MATTERS on the directory names
|
|
198
|
+
if reposync_active
|
|
199
|
+
repos_to_overwrite = Dir.glob(File.join(reposync_location, '*'))
|
|
200
|
+
.delete_if{|x| !File.directory?(x)}
|
|
201
|
+
.map{|x| File.basename(x)}
|
|
202
|
+
|
|
203
|
+
repos_to_overwrite.each do |repo|
|
|
204
|
+
src = File.join(reposync_location, repo)
|
|
205
|
+
target = File.join(dir, repo)
|
|
206
|
+
|
|
207
|
+
rm_rf(target, :verbose => verbose) if File.directory?(target)
|
|
208
|
+
cp_r(src, dir, :verbose => verbose)
|
|
209
|
+
end
|
|
210
|
+
else
|
|
211
|
+
# Prune unwanted packages
|
|
212
|
+
begin
|
|
213
|
+
system("tar --no-same-permissions -C #{dir} -xzf #{tball} *simp_pkglist.txt")
|
|
214
|
+
rescue
|
|
215
|
+
# Does not matter if the command fails
|
|
216
|
+
end
|
|
195
217
|
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
218
|
+
pkglist_file = ENV.fetch(
|
|
219
|
+
'SIMP_PKGLIST_FILE',
|
|
220
|
+
File.join(dir,"#{baseosver.split('.').first}-simp_pkglist.txt")
|
|
221
|
+
)
|
|
222
|
+
|
|
223
|
+
puts
|
|
224
|
+
puts '-'*80
|
|
225
|
+
puts "### Pruning packages not in file '#{pkglist_file}'"
|
|
226
|
+
puts
|
|
227
|
+
puts ' (override this with `SIMP_PKGLIST_FILE=<file>`)'
|
|
228
|
+
puts
|
|
229
|
+
puts '-'*80
|
|
230
|
+
puts
|
|
231
|
+
|
|
232
|
+
if (args.prune.casecmp("false") != 0) && File.exist?(pkglist_file)
|
|
233
|
+
exclude_pkgs = Array.new
|
|
234
|
+
File.read(pkglist_file).each_line do |line|
|
|
235
|
+
next if line =~ /^(\s+|#.*)$/
|
|
236
|
+
exclude_pkgs.push(line.chomp)
|
|
237
|
+
end
|
|
238
|
+
prune_packages(dir,['SIMP'],exclude_pkgs,mkrepo)
|
|
215
239
|
end
|
|
216
|
-
prune_packages(dir,['SIMP'],exclude_pkgs,mkrepo)
|
|
217
240
|
end
|
|
218
241
|
|
|
219
242
|
# Add the SIMP code
|
|
@@ -230,13 +253,14 @@ module Simp::Rake::Build
|
|
|
230
253
|
yum_dep_location = File.join(@build_dir,'yum_data',simp_dep_src,'packages')
|
|
231
254
|
end
|
|
232
255
|
|
|
256
|
+
yum_dep_rpms = Dir.glob(File.join(yum_dep_location,'*.rpm'))
|
|
257
|
+
|
|
233
258
|
unless File.directory?(yum_dep_location)
|
|
234
|
-
fail("Could not find dependency directory at #{yum_dep_location}")
|
|
259
|
+
fail("Could not find dependency directory at #{yum_dep_location}") unless reposync_active
|
|
235
260
|
end
|
|
236
261
|
|
|
237
|
-
yum_dep_rpms = Dir.glob(File.join(yum_dep_location,'*.rpm'))
|
|
238
262
|
if yum_dep_rpms.empty?
|
|
239
|
-
fail("Could not find any dependency RPMs at #{yum_dep_location}")
|
|
263
|
+
fail("Could not find any dependency RPMs at #{yum_dep_location}") unless reposync_active
|
|
240
264
|
end
|
|
241
265
|
|
|
242
266
|
# Add any one-off RPMs that you might want to add to your own build
|
|
@@ -261,7 +285,9 @@ module Simp::Rake::Build
|
|
|
261
285
|
cp(rpm,rpm_arch, :verbose => verbose)
|
|
262
286
|
end
|
|
263
287
|
|
|
264
|
-
|
|
288
|
+
ln_s('noarch', arch, :verbose => verbose) if (!File.directory?(arch) && File.directory?('noarch'))
|
|
289
|
+
fail("Could not find architecture '#{arch}' in the SIMP distribution") unless (File.directory?(arch) || File.symlink?(arch))
|
|
290
|
+
|
|
265
291
|
# Get everything set up properly...
|
|
266
292
|
Dir.chdir(arch) do
|
|
267
293
|
Dir.glob('../*') do |rpm_dir|
|
data/lib/simp/rake/build/pkg.rb
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/rake -T
|
|
2
2
|
|
|
3
3
|
require 'simp/yum'
|
|
4
|
-
require 'simp/local_gpg_signing_key.rb'
|
|
5
4
|
require 'simp/rake/pkg'
|
|
6
5
|
require 'simp/rake/build/constants'
|
|
7
6
|
require 'simp/rake/build/rpmdeps'
|
|
@@ -17,9 +16,18 @@ module Simp::Rake::Build
|
|
|
17
16
|
def initialize( base_dir )
|
|
18
17
|
init_member_vars( base_dir )
|
|
19
18
|
|
|
19
|
+
@cpu_limit = get_cpu_limit
|
|
20
20
|
@verbose = ENV.fetch('SIMP_PKG_verbose','no') == 'yes'
|
|
21
21
|
@rpm_build_metadata = 'last_rpm_build_metadata.yaml'
|
|
22
22
|
@rpm_dependency_file = File.join(@base_dir, 'build', 'rpm', 'dependencies.yaml')
|
|
23
|
+
@build_keys_dir = ENV.fetch('SIMP_PKG_build_keys_dir', File.join(@base_dir, '.dev_gpgkeys'))
|
|
24
|
+
@long_gpg_socket_err_msg = <<~EOM
|
|
25
|
+
If the problem is 'socket name <xxx> is too long', use SIMP_PKG_build_keys_dir
|
|
26
|
+
to override
|
|
27
|
+
#{@build_keys_dir}
|
|
28
|
+
with a shorter path. The socket name must be < 108 characters.
|
|
29
|
+
|
|
30
|
+
EOM
|
|
23
31
|
|
|
24
32
|
define_tasks
|
|
25
33
|
end
|
|
@@ -35,7 +43,7 @@ module Simp::Rake::Build
|
|
|
35
43
|
|
|
36
44
|
# This doesn't get caught for things like 'rake clean'
|
|
37
45
|
if $simp6 && $simp6_build_dir
|
|
38
|
-
@build_dir = $simp6_build_dir
|
|
46
|
+
@build_dir = $simp6_build_dir || @distro_build_dir
|
|
39
47
|
@dvd_src = File.join(@build_dir, File.basename(@dvd_src))
|
|
40
48
|
end
|
|
41
49
|
|
|
@@ -66,7 +74,7 @@ module Simp::Rake::Build
|
|
|
66
74
|
@build_dirs.each_pair do |k,dirs|
|
|
67
75
|
Parallel.map(
|
|
68
76
|
Array(dirs),
|
|
69
|
-
:in_processes =>
|
|
77
|
+
:in_processes => @cpu_limit,
|
|
70
78
|
:progress => t.name
|
|
71
79
|
) do |dir|
|
|
72
80
|
Dir.chdir(dir) do
|
|
@@ -95,7 +103,7 @@ module Simp::Rake::Build
|
|
|
95
103
|
@build_dirs.each_pair do |k,dirs|
|
|
96
104
|
Parallel.map(
|
|
97
105
|
Array(dirs),
|
|
98
|
-
:in_processes =>
|
|
106
|
+
:in_processes => @cpu_limit,
|
|
99
107
|
:progress => t.name
|
|
100
108
|
) do |dir|
|
|
101
109
|
Dir.chdir(dir) do
|
|
@@ -109,36 +117,49 @@ module Simp::Rake::Build
|
|
|
109
117
|
desc <<-EOM
|
|
110
118
|
Prepare a GPG signing key to sign build packages
|
|
111
119
|
|
|
112
|
-
* :key - the name of the
|
|
113
|
-
|
|
120
|
+
* :key - the name of the build keys subdirectory to prepare
|
|
121
|
+
(defaults to 'dev')
|
|
122
|
+
|
|
123
|
+
- The default build keys directory is
|
|
124
|
+
`#{@build_keys_dir}`
|
|
125
|
+
|
|
114
126
|
|
|
115
127
|
When :key is `dev`, a temporary signing key is created, if needed:
|
|
116
128
|
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
-
|
|
129
|
+
* A 14-day `dev` key will be created if none exists or the existing
|
|
130
|
+
key has expired. This includes creating
|
|
131
|
+
- A `dev` directory in the build keys directory
|
|
132
|
+
- gpg-agent assets to create/update the key within that `dev`
|
|
133
|
+
directory
|
|
120
134
|
|
|
121
135
|
When :key is *not* `dev`, the logic is much stricter:
|
|
122
136
|
|
|
123
|
-
- You must already have
|
|
124
|
-
|
|
137
|
+
- You must already have created the `<:key>` subdirectory within
|
|
138
|
+
the build keys directory and placed a valid GPG signing key and
|
|
139
|
+
requisite gpg-agent assets to access the key within the directory.
|
|
125
140
|
- If the directory or key are missing, the task will fail.
|
|
126
141
|
|
|
127
142
|
ENV vars:
|
|
128
143
|
- Set `SIMP_PKG_verbose=yes` to report file operations as they happen.
|
|
144
|
+
- Set `SIMP_PKG_build_keys_dir` to override the default build keys path.
|
|
129
145
|
EOM
|
|
130
146
|
task :key_prep,[:key] => [:prep] do |t,args|
|
|
131
147
|
args.with_defaults(:key => 'dev')
|
|
132
148
|
key = args.key
|
|
133
|
-
|
|
134
|
-
key_dir = File.join(build_keys_dir,key)
|
|
149
|
+
key_dir = File.join(@build_keys_dir,key)
|
|
135
150
|
dvd_dir = @dvd_src
|
|
136
151
|
|
|
137
|
-
FileUtils.mkdir_p build_keys_dir
|
|
152
|
+
FileUtils.mkdir_p @build_keys_dir
|
|
138
153
|
|
|
139
|
-
Dir.chdir(build_keys_dir) do
|
|
154
|
+
Dir.chdir(@build_keys_dir) do
|
|
140
155
|
if key == 'dev'
|
|
141
|
-
|
|
156
|
+
require 'simp/local_gpg_signing_key'
|
|
157
|
+
|
|
158
|
+
begin
|
|
159
|
+
Simp::LocalGpgSigningKey.new(key_dir,{verbose: @verbose}).ensure_key
|
|
160
|
+
rescue Exception => e
|
|
161
|
+
raise("#{e.message}\n\n#{@long_gpg_socket_err_msg}")
|
|
162
|
+
end
|
|
142
163
|
else
|
|
143
164
|
unless File.directory?(key_dir)
|
|
144
165
|
fail("Could not find GPG keydir '#{key_dir}' in '#{Dir.pwd}'")
|
|
@@ -356,41 +377,79 @@ module Simp::Rake::Build
|
|
|
356
377
|
Sign a set of RPMs.
|
|
357
378
|
|
|
358
379
|
Signs any unsigned RPMs in the specified directory
|
|
359
|
-
* :key - The key directory to use under
|
|
360
|
-
*
|
|
380
|
+
* :key - The key directory to use under the build keys directory
|
|
381
|
+
* key defaults to 'dev'
|
|
382
|
+
* build keys directory defaults to
|
|
383
|
+
`#{@build_keys_dir}`
|
|
361
384
|
* :rpm_dir - A directory containing RPM files to sign. Will recurse!
|
|
362
|
-
* Defaults to '
|
|
385
|
+
* Defaults to #{File.join(File.dirname(@rpm_dir), '*RPMS')}
|
|
363
386
|
* :force - Force rpms that are already signed to be resigned
|
|
364
387
|
* Defaults to 'false', can be enabled with 'true'
|
|
388
|
+
* :digest_algo - Digest algorithm to be used when signing the RPMs
|
|
389
|
+
* Defaults to 'sha256'
|
|
390
|
+
|
|
391
|
+
ENV vars:
|
|
392
|
+
* Set `SIMP_RPM_verbose=yes` to report RPM operations as they happen.
|
|
393
|
+
* Set `SIMP_PKG_build_keys_dir` to override the default build keys path.
|
|
394
|
+
* Set `SIMP_PKG_rpmsign_timeout` to override the maximum time in seconds
|
|
395
|
+
to wait for an individual RPM signing operation to complete.
|
|
396
|
+
- Defaults to 60 seconds.
|
|
365
397
|
EOM
|
|
366
|
-
task :signrpms,[:key,:rpm_dir,:force] => [:prep,:key_prep] do |t,args|
|
|
367
|
-
|
|
398
|
+
task :signrpms,[:key,:rpm_dir,:force,:digest_algo] => [:prep,:key_prep] do |t,args|
|
|
399
|
+
require 'simp/rpm_signer'
|
|
368
400
|
|
|
369
401
|
args.with_defaults(:key => 'dev')
|
|
370
402
|
args.with_defaults(:rpm_dir => File.join(File.dirname(@rpm_dir), '*RPMS'))
|
|
371
403
|
args.with_defaults(:force => 'false')
|
|
404
|
+
args.with_defaults(:digest_algo => 'sha256')
|
|
372
405
|
|
|
373
406
|
force = (args[:force].to_s == 'false' ? false : true)
|
|
407
|
+
timeout = ENV['SIMP_PKG_rpmsign_timeout'] ? ENV['SIMP_PKG_rpmsign_timeout'].to_i : 60
|
|
408
|
+
|
|
409
|
+
opts = {
|
|
410
|
+
:digest_algo => args[:digest_algo],
|
|
411
|
+
:force => force,
|
|
412
|
+
:max_concurrent => @cpu_limit,
|
|
413
|
+
:progress_bar_title => t.name,
|
|
414
|
+
:timeout_seconds => timeout,
|
|
415
|
+
:verbose => @verbose
|
|
416
|
+
}
|
|
374
417
|
|
|
375
|
-
|
|
376
|
-
|
|
418
|
+
results = nil
|
|
419
|
+
begin
|
|
420
|
+
results = Simp::RpmSigner.sign_rpms(
|
|
421
|
+
args[:rpm_dir],
|
|
422
|
+
File.join(@build_keys_dir, args[:key]),
|
|
423
|
+
opts
|
|
424
|
+
)
|
|
425
|
+
rescue Exception => e
|
|
426
|
+
raise("#{e.message}\n\n#{@long_gpg_socket_err_msg}")
|
|
427
|
+
end
|
|
377
428
|
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
429
|
+
if results
|
|
430
|
+
successes = results.select { |rpm,status| status == :signed }
|
|
431
|
+
failures = results.select { |rpm,status| status == :unsigned }
|
|
432
|
+
already_signed = results.select { |rpm,status| status == :skipped_already_signed }
|
|
433
|
+
|
|
434
|
+
if opts[:verbose]
|
|
435
|
+
puts
|
|
436
|
+
puts 'Summary'
|
|
437
|
+
puts '======='
|
|
438
|
+
puts "# RPMs already signed: #{already_signed.size}"
|
|
439
|
+
puts "# RPMs successfully signed: #{successes.size}"
|
|
440
|
+
puts "# RPM signing failures: #{failures.size}"
|
|
441
|
+
puts
|
|
382
442
|
end
|
|
383
|
-
end
|
|
384
443
|
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
444
|
+
if !failures.empty?
|
|
445
|
+
if ((results.size - already_signed.size) == (failures.size))
|
|
446
|
+
detail = already_signed.empty? ? '' : 'unsigned '
|
|
447
|
+
raise("ERROR: Failed to sign all #{detail}RPMs in #{args[:rpm_dir]}")
|
|
448
|
+
else
|
|
449
|
+
err_msg = "ERROR: Failed to sign some RPMs in #{args[:rpm_dir]}:\n"
|
|
450
|
+
err_msg += " #{failures.keys.join("\n ")}"
|
|
451
|
+
raise(err_msg)
|
|
452
|
+
end
|
|
394
453
|
end
|
|
395
454
|
end
|
|
396
455
|
end
|
|
@@ -446,7 +505,9 @@ module Simp::Rake::Build
|
|
|
446
505
|
$stderr.puts "pkg:checksig: Warning no GPG keys found in #{key_dirs_tried}"
|
|
447
506
|
end
|
|
448
507
|
end
|
|
449
|
-
|
|
508
|
+
|
|
509
|
+
# be sure to include any development keys packaged with the DVD
|
|
510
|
+
public_keys += Dir.glob(File.join(@dvd_src, 'RPM-GPG-KEY*'))
|
|
450
511
|
|
|
451
512
|
# Only import thngs that look like GPG keys...
|
|
452
513
|
public_keys.each do |key|
|
|
@@ -464,8 +525,9 @@ module Simp::Rake::Build
|
|
|
464
525
|
rpm_dirs.each do |rpm_dir|
|
|
465
526
|
Find.find(rpm_dir) do |path|
|
|
466
527
|
if (path =~ /.*\.rpm$/)
|
|
467
|
-
|
|
468
|
-
|
|
528
|
+
%x{#{rpm_cmd} --checksig #{path}}.strip
|
|
529
|
+
result = $?
|
|
530
|
+
unless result && (result.exitstatus == 0)
|
|
469
531
|
bad_rpms << path.split(/\s/).first
|
|
470
532
|
end
|
|
471
533
|
end
|
|
@@ -544,23 +606,19 @@ protect=1
|
|
|
544
606
|
mkdir_p('repos/lookaside')
|
|
545
607
|
mkdir_p('repodata')
|
|
546
608
|
|
|
547
|
-
Dir.glob(args[:target_dir]
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
end
|
|
553
|
-
end
|
|
609
|
+
Dir.glob(File.join(args[:target_dir], '**', '*.rpm'))
|
|
610
|
+
.delete_if{|x| x =~ /\.src\.rpm$/}
|
|
611
|
+
.each do |path|
|
|
612
|
+
sym_path = "repos/base/#{File.basename(path)}"
|
|
613
|
+
ln_s(path,sym_path, :verbose => @verbose) unless File.exists?(sym_path)
|
|
554
614
|
end
|
|
555
615
|
|
|
556
616
|
if args[:aux_dir]
|
|
557
|
-
Dir.glob(args[:aux_dir]
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
end
|
|
563
|
-
end
|
|
617
|
+
Dir.glob(File.join(args[:aux_dir], '**', '*.rpm'))
|
|
618
|
+
.delete_if{|x| x =~ /\.src\.rpm$/}
|
|
619
|
+
.each do |path|
|
|
620
|
+
sym_path = "repos/lookaside/#{File.basename(path)}"
|
|
621
|
+
ln_s(path,sym_path, :verbose => @verbose) unless File.exists?(sym_path)
|
|
564
622
|
end
|
|
565
623
|
end
|
|
566
624
|
|
|
@@ -585,7 +643,11 @@ protect=1
|
|
|
585
643
|
file.write(ERB.new(yum_conf_template,nil,'-').result(binding))
|
|
586
644
|
end
|
|
587
645
|
|
|
588
|
-
|
|
646
|
+
if which('dnf')
|
|
647
|
+
cmd = 'repoclosure -c base.conf --disablerepo=* --enablerepo=base'
|
|
648
|
+
else
|
|
649
|
+
cmd = 'repoclosure -c repodata -n -t -r base -l lookaside -c yum.conf'
|
|
650
|
+
end
|
|
589
651
|
|
|
590
652
|
if ENV['SIMP_BUILD_verbose'] == 'yes'
|
|
591
653
|
puts
|
|
@@ -862,7 +924,7 @@ protect=1
|
|
|
862
924
|
Parallel.map(
|
|
863
925
|
# Allow for shell globs
|
|
864
926
|
Array(dirs),
|
|
865
|
-
:in_processes =>
|
|
927
|
+
:in_processes => @cpu_limit,
|
|
866
928
|
:progress => task.name
|
|
867
929
|
) do |dir|
|
|
868
930
|
fail("Could not find directory #{dir}") unless Dir.exist?(dir)
|
data/lib/simp/rake/build/spec.rb
CHANGED
data/lib/simp/rake/build/tar.rb
CHANGED
|
@@ -50,7 +50,7 @@ module Simp::Rake::Build
|
|
|
50
50
|
File.exist?(args.iso_path) or
|
|
51
51
|
fail "Error: You must provide the full path and filename of the ISO image."
|
|
52
52
|
|
|
53
|
-
%x{file #{iso_path}}.split(":")[1..-1].to_s =~ /ISO/ or
|
|
53
|
+
%x{file --keep-going '#{iso_path}'}.split(":")[1..-1].to_s =~ /ISO/ or
|
|
54
54
|
fail "Error: The file provided is not a valid ISO."
|
|
55
55
|
|
|
56
56
|
pieces = File.basename(iso_path,'.iso').split('-')
|
|
@@ -106,8 +106,8 @@ package_name = "UNKNOWN"
|
|
|
106
106
|
package_version = "UNKNOWN"
|
|
107
107
|
module_license = "UNKNOWN"
|
|
108
108
|
|
|
109
|
-
-- Default to
|
|
110
|
-
package_release =
|
|
109
|
+
-- Default to 1
|
|
110
|
+
package_release = 1
|
|
111
111
|
|
|
112
112
|
lua_stderr("\n")
|
|
113
113
|
lua_stderr("--------------------------------------------------------------------------------\n")
|
|
@@ -202,7 +202,7 @@ end
|
|
|
202
202
|
-- only accepts release in SemVer \d+\.\d+\.\d+ release format)
|
|
203
203
|
--
|
|
204
204
|
-- This code will remove a '-rc0' style prerelease string from the RPM
|
|
205
|
-
-- Version, and use it as the default RPM Release (instead of '-
|
|
205
|
+
-- Version, and use it as the default RPM Release (instead of '-1')
|
|
206
206
|
|
|
207
207
|
local version_match = metadata:match('"version":%s+"(.-)"%s*,'):gsub('-.*','')
|
|
208
208
|
if version_match then
|
|
@@ -106,8 +106,8 @@ package_name = "UNKNOWN"
|
|
|
106
106
|
package_version = "UNKNOWN"
|
|
107
107
|
module_license = "UNKNOWN"
|
|
108
108
|
|
|
109
|
-
-- Default to
|
|
110
|
-
package_release =
|
|
109
|
+
-- Default to 1
|
|
110
|
+
package_release = 1
|
|
111
111
|
|
|
112
112
|
lua_stderr("\n")
|
|
113
113
|
lua_stderr("--------------------------------------------------------------------------------\n")
|
|
@@ -202,7 +202,7 @@ end
|
|
|
202
202
|
-- only accepts release in SemVer \d+\.\d+\.\d+ release format)
|
|
203
203
|
--
|
|
204
204
|
-- This code will remove a '-rc0' style prerelease string from the RPM
|
|
205
|
-
-- Version, and use it as the default RPM Release (instead of '-
|
|
205
|
+
-- Version, and use it as the default RPM Release (instead of '-1')
|
|
206
206
|
|
|
207
207
|
local version_match = metadata:match('"version":%s+"(.-)"%s*,'):gsub('-.*','')
|
|
208
208
|
if version_match then
|
data/lib/simp/rake/helpers.rb
CHANGED
|
@@ -20,8 +20,8 @@ class Simp::Rake::Helpers
|
|
|
20
20
|
invalid_commands = Array.new
|
|
21
21
|
|
|
22
22
|
Array(required_commands).each do |command|
|
|
23
|
-
unless Facter::Core::Execution.which(
|
|
24
|
-
invalid_commands << command
|
|
23
|
+
unless Array(command).find { |x| Facter::Core::Execution.which(x) }
|
|
24
|
+
invalid_commands << Array(command).join(' or ')
|
|
25
25
|
end
|
|
26
26
|
end
|
|
27
27
|
|
data/lib/simp/rake/pkg.rb
CHANGED
|
@@ -235,7 +235,11 @@ module Simp::Rake
|
|
|
235
235
|
%(-D '_sourcedir #{@rpm_srcdir}'),
|
|
236
236
|
%(-D '_rpmdir #{@pkg_dir}'),
|
|
237
237
|
%(-D '_srcrpmdir #{@pkg_dir}'),
|
|
238
|
-
%(-D '_build_name_fmt %%{NAME}-%%{VERSION}-%%{RELEASE}.%%{ARCH}.rpm')
|
|
238
|
+
%(-D '_build_name_fmt %%{NAME}-%%{VERSION}-%%{RELEASE}.%%{ARCH}.rpm'),
|
|
239
|
+
|
|
240
|
+
# needed on EL8 to disable the aggressive brp_mangle_shebangs script
|
|
241
|
+
# that results in invalid script shebangs; does nothing in EL7
|
|
242
|
+
%(-D '__brp_mangle_shebangs /usr/bin/true')
|
|
239
243
|
]
|
|
240
244
|
rpm_opts << '-v' if @verbose
|
|
241
245
|
rpm_opts << "-D 'lua_debug 1'" if (ENV.fetch('SIMP_RAKE_PKG_LUA_verbose','no') =='yes')
|
|
@@ -290,6 +290,7 @@ class Simp::Rake::Pupmod::Helpers < ::Rake::TaskLib
|
|
|
290
290
|
# That will give Travis a way of warning us if the changelog
|
|
291
291
|
# will prevent the rpm from building.
|
|
292
292
|
task :changelog_annotation, [:quiet] do |t,args|
|
|
293
|
+
warning('DEPRECATED: use pkg:create_tag_changelog')
|
|
293
294
|
quiet = true if args[:quiet].to_s == 'true'
|
|
294
295
|
puts changelog_annotation( quiet )
|
|
295
296
|
end
|
|
@@ -332,6 +333,7 @@ class Simp::Rake::Pupmod::Helpers < ::Rake::TaskLib
|
|
|
332
333
|
- doc directory
|
|
333
334
|
EOM
|
|
334
335
|
task :compare_latest_tag, [:tags_source, :ignore_owner, :verbose] do |t,args|
|
|
336
|
+
warning('DEPRECATED: use pkg:compare_latest_tag')
|
|
335
337
|
require 'json'
|
|
336
338
|
|
|
337
339
|
tags_source = args[:tags_source].nil? ? 'origin' : args[:tags_source]
|
data/lib/simp/rake/rubygem.rb
CHANGED
|
@@ -49,7 +49,11 @@ module Simp::Rake
|
|
|
49
49
|
task :install_gem => [:clean, :gem] do
|
|
50
50
|
Dir.chdir @rakefile_dir
|
|
51
51
|
Dir.glob("dist/#{@package}*.gem") do |pkg|
|
|
52
|
-
|
|
52
|
+
if Gem::Version.new(RUBY_VERSION) >= Gem::Version.new('2.6')
|
|
53
|
+
sh %Q{bundle exec gem install --no-document #{pkg}}
|
|
54
|
+
else
|
|
55
|
+
sh %Q{bundle exec gem install --no-ri --no-rdoc #{pkg}}
|
|
56
|
+
end
|
|
53
57
|
end
|
|
54
58
|
end
|
|
55
59
|
end
|
data/lib/simp/rake.rb
CHANGED
|
@@ -9,9 +9,12 @@ module Simp::Rake
|
|
|
9
9
|
require 'parallel'
|
|
10
10
|
require 'tempfile'
|
|
11
11
|
require 'facter'
|
|
12
|
+
require 'simp/command_utils'
|
|
12
13
|
require 'simp/rpm'
|
|
13
14
|
require 'simp/rake/pkg'
|
|
14
15
|
|
|
16
|
+
include Simp::CommandUtils
|
|
17
|
+
|
|
15
18
|
attr_reader(:puppetfile)
|
|
16
19
|
attr_reader(:module_paths)
|
|
17
20
|
|
|
@@ -96,23 +99,6 @@ module Simp::Rake
|
|
|
96
99
|
exec pager rescue exec "/bin/sh", "-c", pager
|
|
97
100
|
end
|
|
98
101
|
|
|
99
|
-
def which(cmd, fail=false)
|
|
100
|
-
@which_cache ||= {}
|
|
101
|
-
|
|
102
|
-
if @which_cache.has_key?(cmd)
|
|
103
|
-
command = @which_cache[cmd]
|
|
104
|
-
else
|
|
105
|
-
command = Facter::Core::Execution.which(cmd)
|
|
106
|
-
@which_cache[cmd] = command
|
|
107
|
-
end
|
|
108
|
-
|
|
109
|
-
msg = "Warning: Command #{cmd} not found on the system."
|
|
110
|
-
|
|
111
|
-
fail ? raise(msg) : warn(msg) unless command
|
|
112
|
-
|
|
113
|
-
command
|
|
114
|
-
end
|
|
115
|
-
|
|
116
102
|
def help
|
|
117
103
|
run_pager
|
|
118
104
|
|