|
351 | 351 | shared_opts << "--architecture all" |
352 | 352 |
|
353 | 353 | options.replaces.each do |pkg, version| |
| 354 | + # Strip the surrounding quotes since we add them in a certain way here. |
| 355 | + # We should probably just fix this in the core code by being smarter with |
| 356 | + # as-ruby-literaly, but someone more familiar with Clojure can do that part. |
| 357 | + pkg = pkg.delete_prefix("'").delete_suffix("'") |
| 358 | + version = version.delete_prefix("'").delete_suffix("'") unless version.nil? |
354 | 359 | if options.output_type == 'rpm' |
355 | | - fpm_opts << "--replaces '#{pkg} <= #{version}-1'" |
356 | | - fpm_opts << "--conflicts '#{pkg} <= #{version}-1'" |
| 360 | + val = if version.nil? || version.empty? |
| 361 | + "'#{pkg}'" |
| 362 | + else |
| 363 | + "'#{pkg} <= #{version}-1'" |
| 364 | + end |
| 365 | + fpm_opts << "--replaces #{val}" |
| 366 | + fpm_opts << "--conflicts #{val}" |
357 | 367 | elsif options.output_type == 'deb' |
358 | 368 | # why debian, why. |
359 | | - fpm_opts << "--replaces '#{pkg} (<< #{version}-1openvox1)'" |
360 | | - fpm_opts << "--conflicts '#{pkg} (<< #{version}-1openvox1)'" |
361 | | - fpm_opts << "--replaces '#{pkg} (<< #{version}-1#{options.dist})'" |
362 | | - fpm_opts << "--conflicts '#{pkg} (<< #{version}-1#{options.dist})'" |
| 369 | + if version.nil? || version.empty? |
| 370 | + fpm_opts << "--replaces '#{pkg}'" |
| 371 | + fpm_opts << "--conflicts '#{pkg}'" |
| 372 | + else |
| 373 | + fpm_opts << "--replaces '#{pkg} (<< #{version}-1voxpupuli1)'" |
| 374 | + fpm_opts << "--conflicts '#{pkg} (<< #{version}-1voxpupuli1)'" |
| 375 | + fpm_opts << "--replaces '#{pkg} (<< #{version}-1puppetlabs1)'" |
| 376 | + fpm_opts << "--conflicts '#{pkg} (<< #{version}-1puppetlabs1)'" |
| 377 | + fpm_opts << "--replaces '#{pkg} (<< #{version}-1#{options.dist})'" |
| 378 | + fpm_opts << "--conflicts '#{pkg} (<< #{version}-1#{options.dist})'" |
| 379 | + end |
363 | 380 | end |
364 | 381 | end |
365 | 382 |
|
|
0 commit comments