packaging 0.109.0 → 0.109.2

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: 11bd7673d3f37ddab90b44202787f13882b390ffb4acbb858b3161166f0d2d0e
4
- data.tar.gz: 4623cd4dd183c885ac2984fcb31d403629b2a8e1b294fade1ee918862a978f04
3
+ metadata.gz: 21fbe7adf35d302cad689b2f4ca536f499c6d805e33da1ec091c7b7dcd672ffc
4
+ data.tar.gz: dccc381590b0cec0ad69b413b2c9680c1d95fe6bbcd041073e179faae9693134
5
5
  SHA512:
6
- metadata.gz: b495a1512b62e06c39405daaa6a89c09dcea8350006ef6321af2084f01e04b6c97dd41f80bb8ec8592d7b4fe875b1491ae5deee1b45b4bdb99b6888a586dfbee
7
- data.tar.gz: f448461101f22184101346cddba0650932796d4dff63fc7ce716f13592c29ff1c417f5908226c3184095067c6aecb32dff6cf069d9274d701c5e559aa0e73079
6
+ metadata.gz: 81e93d2e4375be0ead7790a7cef9bb17e395b0e4ada9ee67926e5f422e24cfdc079cb5a51f3fc5bac87bccc1b6520cf09355eb99796be2df118ae352c8204daa
7
+ data.tar.gz: 5083b56f76a63f2c2e825a45ee87fdeac1ed2d19cd4adfa7046f8133339cd1212d0377878ca3dede7d984a3506c64b421b7aafb0c4ea71e16a890d79e2bab2a7
@@ -58,7 +58,14 @@ module Pkg::Util::File
58
58
 
59
59
  def erb_string(erbfile, b = binding)
60
60
  template = File.read(erbfile)
61
- message = ERB.new(template, trim_mode: "-")
61
+
62
+ # We should be using this but some images are pegged at Ruby <= 2.5; this interface
63
+ # changed at Ruby 2.6
64
+ # message = ERB.new(template, safe_level: nil, trim_mode: '-')
65
+
66
+ # rubocop:disable Lint/ErbNewArguments
67
+ message = ERB.new(template, nil, '-')
68
+ # rubocop:enable Lint/ErbNewArguments
62
69
  message.result(b)
63
70
  end
64
71
 
data/tasks/ship.rake CHANGED
@@ -124,32 +124,41 @@ namespace :pl do
124
124
 
125
125
  desc "Update remote ips repository on #{Pkg::Config.ips_host}"
126
126
  task :update_ips_repo => 'pl:fetch' do
127
- if Dir['pkg/ips/pkgs/**/*'].empty? && Dir['pkg/solaris/11/**/*'].empty?
128
- $stdout.puts "Error: there aren't any p5p packages in pkg/ips/pkgs or pkg/solaris/11."
127
+ # This could be pkg/ips/pkgs/{i386,sparc} or pkg/solaris/11/{i386,sparc}
128
+ p5p_files = Dir.glob('pkg/**/*.p5p')
129
+ if p5p_files.empty?
130
+ puts "Error: there aren't any p5p packages in pkg/ips/pkgs or pkg/solaris/11."
129
131
  next
130
132
  end
131
133
 
132
- source_dir = 'pkg/solaris/11/'
133
- source_dir = 'pkg/ips/pkgs/' unless Dir['pkg/ips/pkgs/**/*'].empty?
134
-
135
- tmpdir, = Pkg::Util::Net.remote_execute(
134
+ # This makes the historical assumption that all p5p files we want to ship exist in
135
+ # just one directory.
136
+ source_directory = File.dirname(p5p_files.first)
137
+ remote_working_directory = Pkg::Util::Net.remote_execute(
136
138
  Pkg::Config.ips_host,
137
- 'mktemp -d -p /var/tmp',
138
- { capture_output: true }
139
- )
140
- tmpdir.chomp!
139
+ 'mktemp -d -p /var/tmp',
140
+ { capture_output: true }
141
+ )[0].chomp
141
142
 
142
- Pkg::Util::Net.rsync_to(source_dir, Pkg::Config.ips_host, tmpdir)
143
+ Pkg::Util::Net.rsync_to(
144
+ "#{source_directory}/",
145
+ Pkg::Config.ips_host, remote_working_directory
146
+ )
143
147
 
144
- remote_cmd = %(for pkg in #{tmpdir}/*.p5p; do
145
- sudo pkgrecv -s $pkg -d #{Pkg::Config.ips_path} '*';
148
+ pkgrecv_scriptlet = %(for p5p_file in #{remote_working_directory}/*.p5p; do
149
+ sudo pkgrecv -s $p5p_file -d #{Pkg::Config.ips_path} '*';
146
150
  done)
147
151
 
148
- Pkg::Util::Net.remote_execute(Pkg::Config.ips_host, remote_cmd)
149
- Pkg::Util::Net.remote_execute(Pkg::Config.ips_host,
150
- "sudo pkgrepo refresh -s #{Pkg::Config.ips_path}")
151
- Pkg::Util::Net.remote_execute(Pkg::Config.ips_host,
152
- "sudo /usr/sbin/svcadm restart svc:/application/pkg/server:#{Pkg::Config.ips_repo || 'default'}")
152
+ Pkg::Util::Net.remote_execute(Pkg::Config.ips_host, pkgrecv_scriptlet)
153
+ Pkg::Util::Net.remote_execute(
154
+ Pkg::Config.ips_host,
155
+ "sudo pkgrepo refresh -s #{Pkg::Config.ips_path}"
156
+ )
157
+ ips_repository = Pkg::Config.ips_repo || 'default'
158
+ Pkg::Util::Net.remote_execute(
159
+ Pkg::Config.ips_host,
160
+ "sudo /usr/sbin/svcadm restart svc:/application/pkg/server:#{ips_repository}"
161
+ )
153
162
  end
154
163
 
155
164
  desc "Move dmg repos from #{Pkg::Config.dmg_staging_server} to #{Pkg::Config.dmg_host}"
@@ -683,7 +692,7 @@ namespace :pl do
683
692
  existing_artifacts = artifactory.artifact_paths(artifact)
684
693
  unless existing_artifacts.empty?
685
694
  warn "Uploading '#{artifact}' to Artifactory refused. Artifact already exists here: ",
686
- existing_artifacts.join(', ')
695
+ existing_artifacts.map(&:uri).join(', ')
687
696
  next
688
697
  end
689
698
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: packaging
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.109.0
4
+ version: 0.109.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Puppet By Perforce
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-02-28 00:00:00.000000000 Z
11
+ date: 2023-03-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: debug