packaging_rake_tasks 1.5.3 → 1.5.4

Sign up to get free protection for your applications and to get access to all the features.
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