packaging_rake_tasks 1.5.3 → 1.5.4

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b51c3cd7c0620ced6018b4efe708293083eec2426b21aa1eac2475f3a6375ecd
4
- data.tar.gz: fbf59488ffb0527701ab74c2ef0e9774d7eccac73de402c846abf4fc8b4c8057
3
+ metadata.gz: a92258f52b7bcddc572736022561d288af42c9ae444c9fee77e1e079a0be6bd1
4
+ data.tar.gz: 7439a1b53ae472c235875108c511f9f13d005bcf1ab25cf9509356651e5ad64a
5
5
  SHA512:
6
- metadata.gz: ff56da780a5b28abc3e2722f414f7f9141f7c9a29d7c73eb631c3113d8c1301a8463c1be80a52f11d7e07ae8535e1a289a514473ff6ac894d66f2cb8968d8bab
7
- data.tar.gz: 13215646f023675f0157fce2e8cec42c97cd1d3c56c00773f824b17d5ff2a2321926323a4d481ec48ceaca893a50d6dc0e04c7152e637b10ac4e39f9dd43f2bc
6
+ metadata.gz: d99843ac07be5625e4bf5104c8e068fa2a450f0525eae3b9acaddac27b6e29e6f2a750130577642bbf352643c53016e4b0fcc11acb039769a6043f63b3507fdf
7
+ data.tar.gz: bfda90bfce230b73b517a9c8f6313d579c8d797461df971837bffd96559b12e6a10e55e2d8453d9c210c626dcab5850ef2979adb5c38a38a42cdca56e753d17b
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.5.3
1
+ 1.5.4
@@ -18,6 +18,7 @@
18
18
 
19
19
  require "shellwords"
20
20
  require "open3"
21
+ require "tempfile"
21
22
 
22
23
  namespace :build_dependencies do
23
24
  # Read the multi build targets from the "_multibuild" file.
@@ -36,10 +37,17 @@ namespace :build_dependencies do
36
37
  end
37
38
  end
38
39
 
39
- puts "Found multibuild targets: #{flavors.join(", ")}" if verbose
40
+ puts "Found multibuild targets: #{flavors.join(", ")}" if verbose && !flavors.empty?
40
41
  flavors
41
42
  end
42
43
 
44
+ # Read the build dependencies from a file
45
+ def buildrequires_from_file(file)
46
+ stdout = `rpmspec -q --buildrequires #{file.shellescape}`
47
+ raise "Parsing #{file} failed" unless $?.success?
48
+ stdout.split("\n")
49
+ end
50
+
43
51
  # Read the build dependencies from all spec files. For multi build packages
44
52
  # evaluate all package flavors.
45
53
  # @return [Array<String>] list of build dependencies
@@ -51,14 +59,19 @@ namespace :build_dependencies do
51
59
  Dir.glob("#{Packaging::Configuration.instance.package_dir}/*.spec").each do |spec_file|
52
60
  # replace the "@BUILD_FLAVOR@" placeholder by each flavor defined
53
61
  flavors.each do |flavor|
54
- spec_content = File.read(spec_file).gsub("@BUILD_FLAVOR@", flavor)
62
+ spec_content = File.read(spec_file).gsub!("@BUILD_FLAVOR@", flavor)
55
63
 
56
- # get the BuildRequires from the spec files, this also expands the RPM macros like %{rubygem}
57
- # use Open3 as the command produces some bogus error messages on stderr even on success,
58
- # but in case of error it provides a hint what failed
59
- stdout, stderr, status = Open3.capture3("rpmspec", "-q", "--buildrequires", "/dev/stdin", stdin_data: spec_content)
60
- raise "Parsing #{spec_file} (flavor #{flavor.inspect})failed:\n#{stderr}" unless status.success?
61
- buildrequires.concat(stdout.split("\n"))
64
+ if spec_content.nil?
65
+ # no replacement, use the file directly
66
+ buildrequires.concat(buildrequires_from_file(spec_file))
67
+ else
68
+ # rpmspec can only read a file, write the processed data to a temporary file
69
+ Tempfile.create(["rake_build_deps-", ".spec"]) do |tmp|
70
+ tmp.write(spec_content)
71
+ tmp.flush
72
+ buildrequires.concat(buildrequires_from_file(tmp.path))
73
+ end
74
+ end
62
75
  end
63
76
  end
64
77
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: packaging_rake_tasks
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.5.3
4
+ version: 1.5.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Josef Reidinger
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-05-17 00:00:00.000000000 Z
11
+ date: 2023-06-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -66,8 +66,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
66
66
  - !ruby/object:Gem::Version
67
67
  version: '0'
68
68
  requirements: []
69
- rubyforge_project:
70
- rubygems_version: 2.7.6.3
69
+ rubygems_version: 3.3.26
71
70
  signing_key:
72
71
  specification_version: 4
73
72
  summary: Rake tasks providing tasks to package project in git and integration with