packaging 0.99.61 → 0.99.66

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.
@@ -47,26 +47,7 @@ module Pkg
47
47
  },
48
48
  },
49
49
 
50
- 'cumulus' => {
51
- '2.2' => {
52
- codename: 'cumulus',
53
- architectures: ['amd64'],
54
- source_architecture: 'source',
55
- package_format: 'deb',
56
- source_package_formats: DEBIAN_SOURCE_FORMATS,
57
- repo: true,
58
- },
59
- },
60
-
61
50
  'debian' => {
62
- '7' => {
63
- codename: 'wheezy',
64
- architectures: ['amd64', 'i386'],
65
- source_architecture: 'source',
66
- package_format: 'deb',
67
- source_package_formats: DEBIAN_SOURCE_FORMATS,
68
- repo: true,
69
- },
70
51
  '8' => {
71
52
  codename: 'jessie',
72
53
  architectures: ['amd64', 'i386', 'powerpc'],
@@ -103,7 +84,7 @@ module Pkg
103
84
  repo: true,
104
85
  },
105
86
  '6' => {
106
- architectures: ['x86_64', 'i386', 's390x'],
87
+ architectures: ['x86_64', 'i386'],
107
88
  source_architecture: 'SRPMS',
108
89
  package_format: 'rpm',
109
90
  source_package_formats: ['src.rpm'],
@@ -111,7 +92,7 @@ module Pkg
111
92
  repo: true,
112
93
  },
113
94
  '7' => {
114
- architectures: ['x86_64', 's390x', 'ppc64le', 'aarch64'],
95
+ architectures: ['x86_64', 'ppc64le', 'aarch64'],
115
96
  source_architecture: 'SRPMS',
116
97
  package_format: 'rpm',
117
98
  source_package_formats: ['src.rpm'],
@@ -137,78 +118,6 @@ module Pkg
137
118
  },
138
119
 
139
120
  'fedora' => {
140
- 'f25' => {
141
- architectures: ['x86_64', 'i386'],
142
- source_architecture: 'SRPMS',
143
- package_format: 'rpm',
144
- source_package_formats: ['src.rpm'],
145
- signature_format: 'v4',
146
- repo: true,
147
- },
148
- 'f26' => {
149
- architectures: ['x86_64'],
150
- source_architecture: 'SRPMS',
151
- package_format: 'rpm',
152
- source_package_formats: ['src.rpm'],
153
- signature_format: 'v4',
154
- repo: true,
155
- },
156
- 'f27' => {
157
- architectures: ['x86_64'],
158
- source_architecture: 'SRPMS',
159
- package_format: 'rpm',
160
- source_package_formats: ['src.rpm'],
161
- signature_format: 'v4',
162
- repo: true,
163
- },
164
- 'f28' => {
165
- architectures: ['x86_64'],
166
- source_architecture: 'SRPMS',
167
- package_format: 'rpm',
168
- source_package_formats: ['src.rpm'],
169
- signature_format: 'v4',
170
- repo: true,
171
- },
172
- '25' => {
173
- architectures: ['x86_64', 'i386'],
174
- source_architecture: 'SRPMS',
175
- package_format: 'rpm',
176
- source_package_formats: ['src.rpm'],
177
- signature_format: 'v4',
178
- repo: true,
179
- },
180
- '26' => {
181
- architectures: ['x86_64'],
182
- source_architecture: 'SRPMS',
183
- package_format: 'rpm',
184
- source_package_formats: ['src.rpm'],
185
- signature_format: 'v4',
186
- repo: true,
187
- },
188
- '27' => {
189
- architectures: ['x86_64'],
190
- source_architecture: 'SRPMS',
191
- package_format: 'rpm',
192
- source_package_formats: ['src.rpm'],
193
- signature_format: 'v4',
194
- repo: true,
195
- },
196
- '28' => {
197
- architectures: ['x86_64'],
198
- source_architecture: 'SRPMS',
199
- package_format: 'rpm',
200
- source_package_formats: ['src.rpm'],
201
- signature_format: 'v4',
202
- repo: true,
203
- },
204
- '29' => {
205
- architectures: ['x86_64'],
206
- source_architecture: 'SRPMS',
207
- package_format: 'rpm',
208
- source_package_formats: ['src.rpm'],
209
- signature_format: 'v4',
210
- repo: true,
211
- },
212
121
  '30' => {
213
122
  architectures: ['x86_64'],
214
123
  source_architecture: 'SRPMS',
@@ -228,21 +137,6 @@ module Pkg
228
137
  },
229
138
 
230
139
  'osx' => {
231
- '10.10' => {
232
- architectures: ['x86_64'],
233
- package_format: 'dmg',
234
- repo: false,
235
- },
236
- '10.11' => {
237
- architectures: ['x86_64'],
238
- package_format: 'dmg',
239
- repo: false,
240
- },
241
- '10.12' => {
242
- architectures: ['x86_64'],
243
- package_format: 'dmg',
244
- repo: false,
245
- },
246
140
  '10.13' => {
247
141
  architectures: ['x86_64'],
248
142
  package_format: 'dmg',
@@ -273,7 +167,7 @@ module Pkg
273
167
 
274
168
  'sles' => {
275
169
  '11' => {
276
- architectures: ['x86_64', 'i386', 's390x'],
170
+ architectures: ['x86_64', 'i386'],
277
171
  source_architecture: 'SRPMS',
278
172
  package_format: 'rpm',
279
173
  source_package_formats: ['src.rpm'],
@@ -281,7 +175,7 @@ module Pkg
281
175
  repo: true,
282
176
  },
283
177
  '12' => {
284
- architectures: ['x86_64', 's390x', 'ppc64le'],
178
+ architectures: ['x86_64', 'ppc64le'],
285
179
  source_architecture: 'SRPMS',
286
180
  package_format: 'rpm',
287
181
  source_package_formats: ['src.rpm'],
@@ -106,22 +106,11 @@ module Pkg::Util::Ship
106
106
 
107
107
  def ship_rpms(local_staging_directory, remote_path, opts = {})
108
108
  ship_pkgs(["#{local_staging_directory}/**/*.rpm", "#{local_staging_directory}/**/*.srpm"], Pkg::Config.yum_staging_server, remote_path, opts)
109
-
110
- create_rolling_repo_link(Pkg::Platforms.generic_platform_tag('el'), Pkg::Config.yum_staging_server, remote_path, opts[:nonfinal])
111
109
  end
112
110
 
113
111
  def ship_debs(local_staging_directory, remote_path, opts = {})
114
112
  ship_pkgs(["#{local_staging_directory}/**/*.debian.tar.gz", "#{local_staging_directory}/**/*.orig.tar.gz" "#{local_staging_directory}/**/*.dsc", "#{local_staging_directory}/**/*.deb", "#{local_staging_directory}/**/*.changes"], Pkg::Config.apt_signing_server, remote_path, opts)
115
113
 
116
- # We need to iterate through all the supported platforms here because of
117
- # how deb repos are set up. Each codename will have its own link from the
118
- # current versioned repo (e.g. puppet5) to the rolling repo. The one thing
119
- # we don't care about is architecture, so we just grab the first supported
120
- # architecture for the code name we're working with at the moment. [written
121
- # by Melissa, copied by Molly]
122
- Pkg::Platforms.codenames.each do |codename|
123
- create_rolling_repo_link(Pkg::Platforms.codename_to_tags(codename)[0], Pkg::Config.apt_signing_server, remote_path, opts[:nonfinal])
124
- end
125
114
  end
126
115
 
127
116
  def ship_svr4(local_staging_directory, remote_path, opts = {})
@@ -135,8 +124,6 @@ module Pkg::Util::Ship
135
124
  def ship_dmg(local_staging_directory, remote_path, opts = {})
136
125
  packages_have_shipped = ship_pkgs(["#{local_staging_directory}/**/*.dmg"], Pkg::Config.dmg_staging_server, remote_path, opts)
137
126
 
138
- create_rolling_repo_link(Pkg::Platforms.generic_platform_tag('osx'), Pkg::Config.dmg_staging_server, remote_path, opts[:nonfinal])
139
-
140
127
  if packages_have_shipped
141
128
  Pkg::Platforms.platform_tags_for_package_format('dmg').each do |platform_tag|
142
129
  # Create the latest symlink for the current supported repo
@@ -147,14 +134,11 @@ module Pkg::Util::Ship
147
134
 
148
135
  def ship_swix(local_staging_directory, remote_path, opts = {})
149
136
  ship_pkgs(["#{local_staging_directory}/**/*.swix"], Pkg::Config.swix_staging_server, remote_path, opts)
150
-
151
- create_rolling_repo_link(Pkg::Platforms.generic_platform_tag('eos'), Pkg::Config.swix_staging_server, remote_path, opts[:nonfinal])
152
137
  end
153
138
 
154
139
  def ship_msi(local_staging_directory, remote_path, opts = {})
155
140
  packages_have_shipped = ship_pkgs(["#{local_staging_directory}/**/*.msi"], Pkg::Config.msi_staging_server, remote_path, opts)
156
141
 
157
- create_rolling_repo_link(Pkg::Platforms.generic_platform_tag('windows'), Pkg::Config.msi_staging_server, remote_path, opts[:nonfinal])
158
142
  if packages_have_shipped
159
143
  # Create the symlinks for the latest supported repo
160
144
  Pkg::Util::Net.remote_create_latest_symlink(Pkg::Config.project, Pkg::Paths.artifacts_path(Pkg::Platforms.generic_platform_tag('windows'), remote_path, opts[:nonfinal]), 'msi', arch: 'x64')
@@ -205,7 +189,35 @@ module Pkg::Util::Ship
205
189
 
206
190
  Pkg::Util::Net.remote_ssh_cmd(staging_server, command) unless command.nil?
207
191
  rescue => e
208
- fail "Failed to create rolling repo link for '#{platform_tag}'.\n#{e}"
192
+ fail "Failed to create rolling repo link for '#{platform_tag}'.\n#{e}\n#{e.backtrace}"
193
+ end
194
+
195
+ # create all of the rolling repo links in one step
196
+ def create_rolling_repo_links(nonfinal = false)
197
+ yum_path = Pkg::Paths.remote_repo_base(nonfinal: nonfinal, package_format: 'rpm')
198
+ dmg_path = Pkg::Paths.remote_repo_base(nonfinal: nonfinal, package_format: 'dmg')
199
+ swix_path = Pkg::Paths.remote_repo_base(nonfinal: nonfinal, package_format: 'swix')
200
+ msi_path = Pkg::Paths.remote_repo_base(nonfinal: nonfinal, package_format: 'msi')
201
+
202
+ create_rolling_repo_link(Pkg::Platforms.generic_platform_tag('el'), Pkg::Config.yum_staging_server, yum_path, nonfinal)
203
+ create_rolling_repo_link(Pkg::Platforms.generic_platform_tag('osx'), Pkg::Config.dmg_staging_server, dmg_path, nonfinal)
204
+ create_rolling_repo_link(Pkg::Platforms.generic_platform_tag('eos'), Pkg::Config.swix_staging_server, swix_path, nonfinal)
205
+ create_rolling_repo_link(Pkg::Platforms.generic_platform_tag('windows'), Pkg::Config.msi_staging_server, msi_path, nonfinal)
206
+
207
+ # We need to iterate through all the supported platforms here because of
208
+ # how deb repos are set up. Each codename will have its own link from the
209
+ # current versioned repo (e.g. puppet5) to the rolling repo. The one thing
210
+ # we don't care about is architecture, so we just grab the first supported
211
+ # architecture for the code name we're working with at the moment. [written
212
+ # by Melissa, copied by Molly]
213
+
214
+ apt_path = Pkg::Config.apt_repo_staging_path
215
+ if nonfinal
216
+ apt_path = Pkg::Config.nonfinal_apt_repo_staging_path
217
+ end
218
+ Pkg::Platforms.codenames.each do |codename|
219
+ create_rolling_repo_link(Pkg::Platforms.codename_to_tags(codename)[0], Pkg::Config.apt_signing_server, apt_path, nonfinal)
220
+ end
209
221
  end
210
222
 
211
223
  def update_release_package_symlinks(local_staging_directory, nonfinal = false)
@@ -215,7 +227,7 @@ module Pkg::Util::Ship
215
227
  package_format = Pkg::Platforms.package_format_for_tag(platform_tag)
216
228
  case package_format
217
229
  when 'rpm'
218
- remote_base = Pkg::Paths.artifacts_path(platform_tag, Pkg::Paths.remote_repo_base(platform_tag, nonfinal), nonfinal)
230
+ remote_base = Pkg::Paths.artifacts_path(platform_tag, Pkg::Paths.remote_repo_base(platform_tag, nonfinal: nonfinal), nonfinal)
219
231
  when 'deb'
220
232
  remote_base = Pkg::Paths.apt_package_base_path(platform_tag, Pkg::Paths.repo_name(nonfinal), Pkg::Config.project, nonfinal)
221
233
  else
@@ -41,10 +41,10 @@ describe 'artifactory.rb' do
41
41
  :repo_config => '',
42
42
  :additional_artifacts => ["./eos/4/PC1/i386/puppet-agent-extras-5.3.1.34.gf65f9ef-1.eos4.i386.swix"],
43
43
  },
44
- 'osx-10.12-x86_64' => {
45
- :artifact => "./apple/10.12/PC1/x86_64/puppet-agent-5.3.1.34.gf65f9ef-1.osx10.12.dmg",
44
+ 'osx-10.15-x86_64' => {
45
+ :artifact => "./apple/10.15/PC1/x86_64/puppet-agent-5.3.1.34.gf65f9ef-1.osx10.15.dmg",
46
46
  :repo_config => '',
47
- :additional_artifacts => ["./apple/10.12/PC1/x86_64/puppet-agent-extras-5.3.1.34.gf65f9ef-1.osx10.12.dmg"],
47
+ :additional_artifacts => ["./apple/10.15/PC1/x86_64/puppet-agent-extras-5.3.1.34.gf65f9ef-1.osx10.15.dmg"],
48
48
  },
49
49
  'solaris-10-sparc' => {
50
50
  :artifact => "./solaris/10/PC1/puppet-agent-5.3.1.34.gf65f9ef-1.sparc.pkg.gz",
@@ -77,7 +77,7 @@ describe 'artifactory.rb' do
77
77
  :package_name => 'path/to/a/buster/package/puppetdb_5.3.1.34.gf65f9ef-1buster_all.deb',
78
78
  :all_package_names => ['puppetdb_5.3.1.34.gf65f9ef-1buster_all.deb', 'puppetdb-termini_5.3.1.34.gf65f9ef-1buster_all.deb']
79
79
  },
80
- 'windows-2012-x86' => {
80
+ 'windows-2012-x86' => {
81
81
  :toplevel_repo => 'generic',
82
82
  :repo_subdirectories => "#{default_repo_name}/#{project}/#{project_version}/windows-x86",
83
83
  :package_name => 'path/to/a/windows/package/puppet-agent-5.3.1.34-x86.msi',
@@ -95,11 +95,11 @@ describe 'artifactory.rb' do
95
95
  :package_name => 'path/to/an/eos/4/package/puppet-agent-5.3.1.34.gf65f9ef-1.eos4.i386.swix',
96
96
  :all_package_names => ['puppet-agent-5.3.1.34.gf65f9ef-1.eos4.i386.swix', 'puppet-agent-extras-5.3.1.34.gf65f9ef-1.eos4.i386.swix']
97
97
  },
98
- 'osx-10.12-x86_64' => {
98
+ 'osx-10.15-x86_64' => {
99
99
  :toplevel_repo => 'generic',
100
- :repo_subdirectories => "#{default_repo_name}/#{project}/#{project_version}/osx-10.12-x86_64",
101
- :package_name => 'path/to/an/osx/10.12/package/puppet-agent-5.3.1.34.gf65f9ef-1.osx10.12.dmg',
102
- :all_package_names => ['puppet-agent-5.3.1.34.gf65f9ef-1.osx10.12.dmg', 'puppet-agent-extras-5.3.1.34.gf65f9ef-1.osx10.12.dmg']
100
+ :repo_subdirectories => "#{default_repo_name}/#{project}/#{project_version}/osx-10.15-x86_64",
101
+ :package_name => 'path/to/an/osx/10.15/package/puppet-agent-5.3.1.34.gf65f9ef-1.osx10.15.dmg',
102
+ :all_package_names => ['puppet-agent-5.3.1.34.gf65f9ef-1.osx10.15.dmg', 'puppet-agent-extras-5.3.1.34.gf65f9ef-1.osx10.15.dmg']
103
103
  },
104
104
  'solaris-10-sparc' => {
105
105
  :toplevel_repo => 'generic',
@@ -125,7 +125,6 @@ describe 'artifactory.rb' do
125
125
  expect(artifact.location_for(platform_tag)).to match_array([
126
126
  platform_tag_data[:toplevel_repo],
127
127
  platform_tag_data[:repo_subdirectories],
128
- File.join('pool', platform_tag_data[:repo_subdirectories])
129
128
  ])
130
129
  end
131
130
  else
@@ -133,7 +132,6 @@ describe 'artifactory.rb' do
133
132
  expect(artifact.location_for(platform_tag)).to match_array([
134
133
  platform_tag_data[:toplevel_repo],
135
134
  platform_tag_data[:repo_subdirectories],
136
- platform_tag_data[:repo_subdirectories]
137
135
  ])
138
136
  end
139
137
  end
@@ -142,7 +140,6 @@ describe 'artifactory.rb' do
142
140
  expect(artifact.location_for('generic')).to match_array([
143
141
  'generic',
144
142
  File.join(default_repo_name, project, project_version),
145
- File.join(default_repo_name, project, project_version)
146
143
  ])
147
144
  end
148
145
  end
@@ -203,22 +203,20 @@ describe "Pkg::Config" do
203
203
  describe "#platform_data" do
204
204
  platform_tags = [
205
205
  'eos-4-i386',
206
- 'osx-10.12-x86_64',
206
+ 'osx-10.15-x86_64',
207
207
  'cisco-wrlinux-7-x86_64',
208
208
  'ubuntu-16.04-i386',
209
- 'cumulus-2.2-amd64',
210
- 'el-6-s390x',
209
+ 'el-6-x86_64',
211
210
  'el-7-ppc64le',
212
211
  'sles-12-x86_64',
213
212
  ]
214
213
 
215
214
  artifacts = \
216
215
  "./artifacts/eos/4/PC1/i386/puppet-agent-5.3.2-1.eos4.i386.swix\n" \
217
- "./artifacts/apple/10.12/PC1/x86_64/puppet-agent-5.3.2.658.gc79ef9a-1.osx10.12.dmg\n" \
216
+ "./artifacts/apple/10.15/PC1/x86_64/puppet-agent-5.3.2.658.gc79ef9a-1.osx10.15.dmg\n" \
218
217
  "./artifacts/cisco-wrlinux/7/PC1/x86_64/puppet-agent-5.3.2-1.cisco_wrlinux7.x86_64.rpm\n" \
219
218
  "./artifacts/deb/xenial/PC1/puppet-agent_5.3.2-1xenial_i386.deb\n" \
220
- "./artifacts/deb/cumulus/PC1/puppet-agent_5.3.2-1cumulus_amd64.deb\n" \
221
- "./artifacts/el/6/PC1/s390x/puppet-agent-5.3.2.658.gc79ef9a-1.el6.s390x.rpm\n" \
219
+ "./artifacts/el/6/PC1/x86_64/puppet-agent-5.3.2.658.gc79ef9a-1.el6.x86_64.rpm\n" \
222
220
  "./artifacts/el/7/PC1/ppc64le/puppet-agent-5.3.2-1.el7.ppc64le.rpm\n" \
223
221
  "./artifacts/sles/12/PC1/x86_64/puppet-agent-5.3.2-1.sles12.x86_64.rpm"
224
222
 
@@ -226,7 +224,7 @@ describe "Pkg::Config" do
226
224
  "./artifacts/aix/6.1/PC1/ppc/puppet-agent-5.3.2-1.aix6.1.ppc.rpm"
227
225
 
228
226
  fedora_artifacts = \
229
- "./artifacts/fedora/f25/PC1/x86_64/puppet-agent-5.3.2-1.fedoraf25.x86_64.rpm"
227
+ "./artifacts/fedora/31/PC1/x86_64/puppet-agent-5.3.2-1.fc31.x86_64.rpm"
230
228
 
231
229
  windows_artifacts = \
232
230
  "./artifacts/windows/puppet-agent-x64.msi\n" \
@@ -283,8 +281,8 @@ describe "Pkg::Config" do
283
281
  it "should not use 'f' in fedora platform tags" do
284
282
  allow(Pkg::Util::Net).to receive(:remote_ssh_cmd).and_return(fedora_artifacts, nil)
285
283
  data = Pkg::Config.platform_data
286
- expect(data).to include('fedora-25-x86_64')
287
- expect(data).not_to include('fedora-f25-x86_64')
284
+ expect(data).to include('fedora-31-x86_64')
285
+ expect(data).not_to include('fedora-f31-x86_64')
288
286
  end
289
287
 
290
288
  it "should collect packages whose extname differ from package_format" do
@@ -25,17 +25,15 @@ describe 'Pkg::Paths' do
25
25
  'pkg/ubuntu-16.04-amd64/puppet-agent_4.99.0-1xenial_amd64.deb' => 'ubuntu-16.04-amd64',
26
26
  'pkg/windows-x64/puppet-agent-4.99.0-x64.msi' => 'windows-2012-x64',
27
27
  'artifacts/el/6/products/x86_64/pe-r10k-2.5.4.3-1.el6.x86_64.rpm' => 'el-6-x86_64',
28
- 'pkg/deb/trusty/pe-r10k_2.5.4.3-1trusty_amd64.deb' => 'ubuntu-14.04-amd64',
29
28
  'pkg/pe/rpm/el-6-i386/pe-puppetserver-2017.3.0.3-1.el6.noarch.rpm' => 'el-6-i386',
30
29
  'pkg/deb/trusty/pe-r10k_2.5.4.3-1trusty_amd64.deb' => 'ubuntu-14.04-amd64',
31
30
  'pkg/pe/deb/xenial/pe-puppetserver_2017.3.0.3-1puppet1_all.deb' => 'ubuntu-16.04-amd64',
32
31
  'pkg/pe/deb/xenial/super-trusty-package_1.0.0-1puppet1_all.deb' => 'ubuntu-16.04-amd64',
33
- 'artifacts/deb/wheezy/PC1/puppetdb_4.3.1-1puppetlabs1_all.deb' => 'debian-7-amd64',
32
+ 'artifacts/deb/stretch/PC1/puppetdb_4.3.1-1puppetlabs1_all.deb' => 'debian-9-amd64',
34
33
  'pkg/el/7/PC1/x86_64/puppetdb-4.3.1-1.el7.noarch.rpm' => 'el-7-x86_64',
35
- 'pkg/apple/10.11/PC1/x86_64/puppet-agent-1.9.0-1.osx10.11.dmg' => 'osx-10.11-x86_64',
36
- 'artifacts/mac/10.11/PC1/x86_64/puppet-agent-1.9.0-1.osx10.11.dmg' => 'osx-10.11-x86_64',
34
+ 'pkg/apple/10.14/PC1/x86_64/puppet-agent-1.9.0-1.osx10.14.dmg' => 'osx-10.14-x86_64',
35
+ 'artifacts/mac/10.15/PC1/x86_64/puppet-agent-1.9.0-1.osx10.15.dmg' => 'osx-10.15-x86_64',
37
36
  'artifacts/eos/4/PC1/i386/puppet-agent-1.9.0-1.eos4.i386.swix' => 'eos-4-i386',
38
- 'pkg/deb/cumulus/puppet5/puppet-agent_1.4.1.2904.g8023dd1-1cumulus_amd64.deb' => 'cumulus-2.2-amd64',
39
37
  'pkg/windows/puppet-agent-1.9.0-x86.msi' => 'windows-2012-x86',
40
38
  'artifacts/ubuntu-16.04-i386/puppetserver_5.0.1-0.1SNAPSHOT.2017.07.27T2346puppetlabs1.debian.tar.gz' => 'ubuntu-16.04-source',
41
39
  'http://saturn.puppetlabs.net/deb_repos/1234abcd/repos/apt/xenial' => 'ubuntu-16.04-amd64',
@@ -97,8 +95,8 @@ describe 'Pkg::Paths' do
97
95
  expect(Pkg::Paths.artifacts_path('el-7-x86_64')).to eq('artifacts/puppet5/el/7/x86_64')
98
96
  end
99
97
 
100
- it 'should be correct for trusty' do
101
- expect(Pkg::Paths.artifacts_path('ubuntu-14.04-amd64')).to eq('artifacts/trusty/puppet5')
98
+ it 'should be correct for bionic' do
99
+ expect(Pkg::Paths.artifacts_path('ubuntu-18.04-amd64')).to eq('artifacts/bionic/puppet5')
102
100
  end
103
101
 
104
102
  it 'should be correct for solaris 11' do
@@ -106,7 +104,7 @@ describe 'Pkg::Paths' do
106
104
  end
107
105
 
108
106
  it 'should be correct for osx' do
109
- expect(Pkg::Paths.artifacts_path('osx-10.10-x86_64')).to eq('artifacts/mac/puppet5/10.10/x86_64')
107
+ expect(Pkg::Paths.artifacts_path('osx-10.15-x86_64')).to eq('artifacts/mac/puppet5/10.15/x86_64')
110
108
  end
111
109
 
112
110
  it 'should be correct for windows' do
@@ -211,36 +209,11 @@ describe 'Pkg::Paths' do
211
209
  end
212
210
  end
213
211
 
214
- describe '#is_legacy_repo?' do
215
- it 'returns true for empty strings' do
216
- expect(Pkg::Paths.is_legacy_repo?('')).to be_true
217
- end
218
-
219
- it 'returns true for PC1' do
220
- expect(Pkg::Paths.is_legacy_repo?('PC1')).to be_true
221
- end
222
-
223
- it 'returns true for foopuppetbar' do
224
- expect(Pkg::Paths.is_legacy_repo?('foopuppetbar')).to be_true
225
- end
226
-
227
- it 'returns false for puppet5' do
228
- expect(Pkg::Paths.is_legacy_repo?('puppet5')).to be_false
229
- end
230
-
231
- it 'returns false for puppet8-nightly' do
232
- expect(Pkg::Paths.is_legacy_repo?('puppet8-nightly')).to be_false
233
- end
234
-
235
- it 'returns false for puppet' do
236
- expect(Pkg::Paths.is_legacy_repo?('puppet')).to be_false
237
- end
238
- end
239
-
240
212
  describe '#remote_repo_base' do
241
213
  before :each do
242
214
  allow(Pkg::Config).to receive(:yum_repo_path).and_return('foo')
243
215
  allow(Pkg::Config).to receive(:apt_repo_path).and_return('bar')
216
+ allow(Pkg::Config).to receive(:dmg_path).and_return('/opt/downloads/mac')
244
217
  allow(Pkg::Config).to receive(:nonfinal_yum_repo_path).and_return('foo-nightly')
245
218
  allow(Pkg::Config).to receive(:nonfinal_apt_repo_path).and_return('bar-nightly')
246
219
  end
@@ -251,13 +224,21 @@ describe 'Pkg::Paths' do
251
224
  expect(Pkg::Paths.remote_repo_base('ubuntu-18.04-amd64')).to eq('bar')
252
225
  end
253
226
  it 'returns nonfinal_yum_repo_path for nonfinal rpms' do
254
- expect(Pkg::Paths.remote_repo_base('fedora-29-x86_64', true)).to eq('foo-nightly')
227
+ expect(Pkg::Paths.remote_repo_base('fedora-31-x86_64', nonfinal: true)).to eq('foo-nightly')
255
228
  end
256
229
  it 'returns nonfinal_apt_repo_path for nonfinal debs' do
257
- expect(Pkg::Paths.remote_repo_base('debian-9-amd64', true)).to eq('bar-nightly')
230
+ expect(Pkg::Paths.remote_repo_base('debian-9-amd64', nonfinal: true)).to eq('bar-nightly')
258
231
  end
232
+ it 'fails if neither tag nor package_format is provided' do
233
+ expect { Pkg::Paths.remote_repo_base }.to raise_error(/Pkg::Paths.remote_repo_base must have/)
234
+ end
235
+
236
+ it 'returns /opt/downloads if the path is /opt/downloads/<something>' do
237
+ expect(Pkg::Paths.remote_repo_base(package_format: 'dmg')).to eq('/opt/downloads')
238
+ end
239
+
259
240
  it 'fails for all other package formats' do
260
- expect { Pkg::Paths.remote_repo_base('osx-10.14-x86_64') }.to raise_error(/Can't determine remote repo base path/)
241
+ expect { Pkg::Paths.remote_repo_base('solaris-11-i386') }.to raise_error(/Can't determine remote repo base path/)
261
242
  end
262
243
  end
263
244
 
@@ -305,7 +286,7 @@ describe 'Pkg::Paths' do
305
286
  expect(Pkg::Paths.release_package_link_path('debian-9-i386', true)).to eq("#{nonfinal_apt_repo_path}/#{nonfinal_repo_name}-release-stretch.deb")
306
287
  end
307
288
  it 'returns nil for package formats that do not have release packages' do
308
- expect(Pkg::Paths.release_package_link_path('osx-10.13-x86_64')).to eq(nil)
289
+ expect(Pkg::Paths.release_package_link_path('osx-10.15-x86_64')).to eq(nil)
309
290
  expect(Pkg::Paths.release_package_link_path('windows-2012-x86')).to eq(nil)
310
291
  end
311
292
  end