omnibus 5.5.0 → 5.6.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (102) hide show
  1. checksums.yaml +4 -4
  2. data/.github/PULL_REQUEST_TEMPLATE.md +11 -0
  3. data/.travis.yml +2 -1
  4. data/CHANGELOG.md +37 -0
  5. data/Gemfile +5 -4
  6. data/MAINTAINERS.md +12 -17
  7. data/README.md +98 -107
  8. data/appveyor.yml +1 -1
  9. data/lib/omnibus.rb +4 -4
  10. data/lib/omnibus/builder.rb +42 -9
  11. data/lib/omnibus/cli.rb +5 -0
  12. data/lib/omnibus/cli/base.rb +1 -1
  13. data/lib/omnibus/cli/publish.rb +5 -3
  14. data/lib/omnibus/compressors/dmg.rb +2 -2
  15. data/lib/omnibus/config.rb +42 -5
  16. data/lib/omnibus/core_extensions/open_uri.rb +1 -0
  17. data/lib/omnibus/download_helpers.rb +4 -4
  18. data/lib/omnibus/fetchers/git_fetcher.rb +15 -5
  19. data/lib/omnibus/fetchers/net_fetcher.rb +1 -1
  20. data/lib/omnibus/fetchers/path_fetcher.rb +1 -1
  21. data/lib/omnibus/file_syncer.rb +2 -2
  22. data/lib/omnibus/generator_files/omnibus.rb.erb +1 -0
  23. data/lib/omnibus/git_cache.rb +31 -13
  24. data/lib/omnibus/health_check.rb +1 -173
  25. data/lib/omnibus/licensing.rb +48 -7
  26. data/lib/omnibus/manifest.rb +3 -5
  27. data/lib/omnibus/manifest_entry.rb +1 -1
  28. data/lib/omnibus/metadata.rb +2 -1
  29. data/lib/omnibus/packager.rb +3 -1
  30. data/lib/omnibus/packagers/appx.rb +3 -3
  31. data/lib/omnibus/packagers/base.rb +9 -0
  32. data/lib/omnibus/packagers/bff.rb +4 -6
  33. data/lib/omnibus/packagers/deb.rb +95 -1
  34. data/lib/omnibus/packagers/ips.rb +50 -4
  35. data/lib/omnibus/packagers/pkgsrc.rb +112 -0
  36. data/lib/omnibus/packagers/rpm.rb +72 -3
  37. data/lib/omnibus/packagers/solaris.rb +0 -4
  38. data/lib/omnibus/packagers/windows_base.rb +1 -1
  39. data/lib/omnibus/project.rb +13 -3
  40. data/lib/omnibus/publishers/artifactory_publisher.rb +4 -6
  41. data/lib/omnibus/publishers/s3_publisher.rb +8 -3
  42. data/lib/omnibus/reports.rb +1 -1
  43. data/lib/omnibus/s3_cache.rb +18 -5
  44. data/lib/omnibus/s3_helpers.rb +45 -8
  45. data/lib/omnibus/software.rb +55 -37
  46. data/lib/omnibus/sugarable.rb +4 -0
  47. data/lib/omnibus/templating.rb +29 -13
  48. data/lib/omnibus/util.rb +81 -2
  49. data/lib/omnibus/version.rb +1 -1
  50. data/lib/omnibus/whitelist.rb +228 -0
  51. data/omnibus.gemspec +9 -8
  52. data/resources/dmg/create_dmg.osascript.erb +33 -13
  53. data/resources/ips/doc-transform.erb +2 -0
  54. data/resources/rpm/spec.erb +1 -2
  55. data/spec/functional/builder_spec.rb +21 -21
  56. data/spec/functional/fetchers/git_fetcher_spec.rb +6 -6
  57. data/spec/functional/fetchers/net_fetcher_spec.rb +7 -7
  58. data/spec/functional/fetchers/path_fetcher_spec.rb +5 -5
  59. data/spec/functional/file_syncer_spec.rb +6 -6
  60. data/spec/functional/licensing_spec.rb +29 -16
  61. data/spec/functional/templating_spec.rb +23 -22
  62. data/spec/support/git_helpers.rb +30 -24
  63. data/spec/unit/build_version_spec.rb +1 -1
  64. data/spec/unit/builder_spec.rb +36 -24
  65. data/spec/unit/changelogprinter_spec.rb +10 -8
  66. data/spec/unit/cleanroom_spec.rb +6 -6
  67. data/spec/unit/compressors/dmg_spec.rb +23 -37
  68. data/spec/unit/compressors/null_spec.rb +2 -2
  69. data/spec/unit/compressors/tgz_spec.rb +2 -2
  70. data/spec/unit/config_spec.rb +2 -1
  71. data/spec/unit/digestable_spec.rb +2 -2
  72. data/spec/unit/fetchers/git_fetcher_spec.rb +5 -5
  73. data/spec/unit/fetchers/net_fetcher_spec.rb +46 -6
  74. data/spec/unit/fetchers/path_fetcher_spec.rb +5 -5
  75. data/spec/unit/file_syncer_spec.rb +19 -0
  76. data/spec/unit/git_cache_spec.rb +76 -22
  77. data/spec/unit/health_check_spec.rb +1 -1
  78. data/spec/unit/library_spec.rb +2 -2
  79. data/spec/unit/manifest_spec.rb +6 -6
  80. data/spec/unit/metadata_spec.rb +4 -4
  81. data/spec/unit/omnibus_spec.rb +4 -4
  82. data/spec/unit/package_spec.rb +6 -6
  83. data/spec/unit/packagers/appx_spec.rb +16 -12
  84. data/spec/unit/packagers/base_spec.rb +5 -5
  85. data/spec/unit/packagers/bff_spec.rb +45 -15
  86. data/spec/unit/packagers/deb_spec.rb +95 -17
  87. data/spec/unit/packagers/ips_spec.rb +61 -17
  88. data/spec/unit/packagers/makeself_spec.rb +5 -5
  89. data/spec/unit/packagers/msi_spec.rb +43 -43
  90. data/spec/unit/packagers/pkg_spec.rb +15 -15
  91. data/spec/unit/packagers/pkgsrc_spec.rb +77 -0
  92. data/spec/unit/packagers/rpm_spec.rb +94 -17
  93. data/spec/unit/packagers/solaris_spec.rb +11 -11
  94. data/spec/unit/project_spec.rb +53 -22
  95. data/spec/unit/publisher_spec.rb +2 -2
  96. data/spec/unit/publishers/artifactory_publisher_spec.rb +7 -3
  97. data/spec/unit/publishers/s3_publisher_spec.rb +1 -1
  98. data/spec/unit/s3_helpers_spec.rb +41 -3
  99. data/spec/unit/software_spec.rb +115 -37
  100. data/spec/unit/sugarable_spec.rb +23 -3
  101. data/spec/unit/util_spec.rb +42 -11
  102. metadata +49 -29
@@ -15,6 +15,7 @@
15
15
  #
16
16
 
17
17
  require "omnibus/sugarable"
18
+ require "omnibus/whitelist"
18
19
  begin
19
20
  require "pedump"
20
21
  rescue LoadError
@@ -28,179 +29,6 @@ module Omnibus
28
29
  include Util
29
30
  include Sugarable
30
31
 
31
- WHITELIST_LIBS = [
32
- /ld-linux/,
33
- /libc\.so/,
34
- /libcrypt\.so/,
35
- /libdl/,
36
- /libfreebl\d\.so/,
37
- /libgcc_s\.so/,
38
- /libm\.so/,
39
- /libnsl\.so/,
40
- /libpthread/,
41
- /libresolv\.so/,
42
- /librt\.so/,
43
- /libstdc\+\+\.so/,
44
- /libutil\.so/,
45
- /linux-vdso.+/,
46
- /linux-gate\.so/,
47
- ].freeze
48
-
49
- ARCH_WHITELIST_LIBS = [
50
- /libc\.so/,
51
- /libcrypt\.so/,
52
- /libdb-5\.3\.so/,
53
- /libdl\.so/,
54
- /libffi\.so/,
55
- /libgdbm\.so/,
56
- /libm\.so/,
57
- /libnsl\.so/,
58
- /libpthread\.so/,
59
- /librt\.so/,
60
- /libutil\.so/,
61
- ].freeze
62
-
63
- AIX_WHITELIST_LIBS = [
64
- /libpthread\.a/,
65
- /libpthreads\.a/,
66
- /libdl.a/,
67
- /librtl\.a/,
68
- /libc\.a/,
69
- /libcrypt\.a/,
70
- /unix$/,
71
- ].freeze
72
-
73
- SOLARIS_WHITELIST_LIBS = [
74
- /libaio\.so/,
75
- /libavl\.so/,
76
- /libcrypt_[di]\.so/,
77
- /libcrypto.so/,
78
- /libcurses\.so/,
79
- /libdoor\.so/,
80
- /libgen\.so/,
81
- /libmd5\.so/,
82
- /libmd\.so/,
83
- /libmp\.so/,
84
- /libresolv\.so/,
85
- /libscf\.so/,
86
- /libsec\.so/,
87
- /libsocket\.so/,
88
- /libssl.so/,
89
- /libthread.so/,
90
- /libuutil\.so/,
91
- /libkstat\.so/,
92
- # solaris 11 libraries:
93
- /libc\.so\.1/,
94
- /libm\.so\.2/,
95
- /libdl\.so\.1/,
96
- /libnsl\.so\.1/,
97
- /libpthread\.so\.1/,
98
- /librt\.so\.1/,
99
- /libcrypt\.so\.1/,
100
- /libgdbm\.so\.3/,
101
- /libgcc_s\.so\.1/,
102
- /libcryptoutil\.so\.1/,
103
- /libucrypto\.so\.1/,
104
- /libz\.so\.1/, # while we package our own libz, this get dragged along from Solaris 11's libelf library for some reason...
105
- /libelf\.so\.1/,
106
- /libssp\.so\.0/,
107
- # solaris 9 libraries:
108
- /libm\.so\.1/,
109
- /libc_psr\.so\.1/,
110
- /s9_preload\.so\.1/,
111
- ].freeze
112
-
113
- SMARTOS_WHITELIST_LIBS = [
114
- /libm.so/,
115
- /libpthread.so/,
116
- /librt.so/,
117
- /libsocket.so/,
118
- /libdl.so/,
119
- /libnsl.so/,
120
- /libgen.so/,
121
- /libmp.so/,
122
- /libmd.so/,
123
- /libc.so/,
124
- /libgcc_s.so/,
125
- /libstdc\+\+\.so/,
126
- /libcrypt.so/,
127
- ].freeze
128
-
129
- MAC_WHITELIST_LIBS = [
130
- /libobjc\.A\.dylib/,
131
- /libSystem\.B\.dylib/,
132
- /CoreFoundation/,
133
- /CoreServices/,
134
- /Tcl$/,
135
- /Cocoa$/,
136
- /Carbon$/,
137
- /IOKit$/,
138
- /Tk$/,
139
- /libutil\.dylib/,
140
- /libffi\.dylib/,
141
- /libncurses\.5\.4\.dylib/,
142
- /libiconv/,
143
- /libstdc\+\+\.6\.dylib/,
144
- /libc\+\+\.1\.dylib/,
145
- ].freeze
146
-
147
- FREEBSD_WHITELIST_LIBS = [
148
- /libc\.so/,
149
- /libgcc_s\.so/,
150
- /libcrypt\.so/,
151
- /libm\.so/,
152
- /librt\.so/,
153
- /libthr\.so/,
154
- /libutil\.so/,
155
- /libelf\.so/,
156
- /libkvm\.so/,
157
- /libprocstat\.so/,
158
- /libmd\.so/,
159
- ].freeze
160
-
161
- IGNORED_ENDINGS = %w{
162
- .[ch]
163
- .e*rb
164
- .gemspec
165
- .gitignore
166
- .h*h
167
- .java
168
- .js
169
- .json
170
- .lock
171
- .log
172
- .lua
173
- .md
174
- .mkd
175
- .out
176
- .pl
177
- .pm
178
- .png
179
- .py[oc]*
180
- .r*html
181
- .rdoc
182
- .ri
183
- .sh
184
- .sql
185
- .toml
186
- .ttf
187
- .txt
188
- .xml
189
- .yml
190
- Gemfile
191
- LICENSE
192
- README
193
- Rakefile
194
- VERSION
195
- }.freeze
196
-
197
- IGNORED_PATTERNS = %w{
198
- /share/doc/
199
- /share/postgresql/
200
- /share/terminfo/
201
- /terminfo/
202
- }.freeze
203
-
204
32
  class << self
205
33
  # @see (HealthCheck#new)
206
34
  def run!(project)
@@ -18,6 +18,7 @@ require "uri"
18
18
  require "fileutils"
19
19
  require "omnibus/download_helpers"
20
20
  require "license_scout/collector"
21
+ require "license_scout/reporter"
21
22
  require "license_scout/options"
22
23
 
23
24
  module Omnibus
@@ -144,9 +145,9 @@ module Omnibus
144
145
  #
145
146
  def execute_post_build(software)
146
147
  collect_licenses_for(software)
147
-
148
148
  unless software.skip_transitive_dependency_licensing
149
149
  collect_transitive_dependency_licenses_for(software)
150
+ check_transitive_dependency_licensing_errors_for(software)
150
151
  end
151
152
  end
152
153
 
@@ -393,7 +394,7 @@ module Omnibus
393
394
  #
394
395
  def local?(license)
395
396
  u = URI(license)
396
- return u.scheme.nil?
397
+ u.scheme.nil?
397
398
  end
398
399
 
399
400
  #
@@ -439,12 +440,14 @@ module Omnibus
439
440
 
440
441
  if Config.fatal_transitive_dependency_licensing_warnings && !transitive_dependency_licensing_warnings.empty?
441
442
  warnings_to_raise << transitive_dependency_licensing_warnings
443
+ warnings_to_raise << "If you are encountering missing license or missing license file errors for **transitive** dependencies, you can provide overrides for the missing information at https://github.com/chef/license_scout/blob/master/lib/license_scout/overrides.rb#L93"
442
444
  end
443
445
 
444
446
  warnings_to_raise.flatten!
445
447
  raise LicensingError.new(warnings_to_raise) unless warnings_to_raise.empty?
446
448
  end
447
449
 
450
+ # 0. Translate all transitive dependency licensing issues into omnibus warnings
448
451
  # 1. Parse all the licensing information for all software from 'cache_dir'
449
452
  # 2. Merge and drop the duplicates
450
453
  # 3. Add these licenses to the main manifest, to be merged with the main
@@ -498,21 +501,22 @@ module Omnibus
498
501
  # the build completes we will process these license files but we need to
499
502
  # perform this step after build, before git_cache to be able to operate
500
503
  # correctly with the git_cache.
501
- license_output_dir = File.join(cache_dir, software.name)
502
504
 
503
505
  collector = LicenseScout::Collector.new(
504
- software.project.name,
506
+ software.name,
505
507
  software.project_dir,
506
- license_output_dir,
508
+ license_output_dir(software),
507
509
  LicenseScout::Options.new(
508
510
  environment: software.with_embedded_path,
509
- ruby_bin: software.embedded_bin("ruby")
511
+ ruby_bin: software.embedded_bin("ruby"),
512
+ manual_licenses: software.dependency_licenses
510
513
  )
511
514
  )
512
515
 
513
516
  begin
517
+ # We do not automatically collect dependency licensing information when
518
+ # skip_transitive_dependency_licensing is set on the software.
514
519
  collector.run
515
- collector.issue_report.each { |i| transitive_dependency_licensing_warning(i) }
516
520
  rescue LicenseScout::Exceptions::UnsupportedProjectType => e
517
521
  # Looks like this project is not supported by LicenseScout. Either the
518
522
  # language and the dependency manager used by the project is not
@@ -527,18 +531,53 @@ the list of supported languages and dependency managers. If this project does \
527
531
  not have any transitive dependencies, consider setting \
528
532
  'skip_transitive_dependency_licensing' to 'true' in order to correct this error.
529
533
  EOH
534
+ # If we got here, we need to fail now so we don't take a git
535
+ # cache snapshot, or else the software build could be restored
536
+ # from cache without fixing the license issue.
537
+ raise_if_warnings_fatal!
530
538
  rescue LicenseScout::Exceptions::Error => e
531
539
  transitive_dependency_licensing_warning(<<-EOH)
532
540
  Can not automatically detect licensing information for '#{software.name}' using \
533
541
  license_scout. Error is: '#{e}'
534
542
  EOH
543
+ # If we got here, we need to fail now so we don't take a git
544
+ # cache snapshot, or else the software build could be restored
545
+ # from cache without fixing the license issue.
546
+ raise_if_warnings_fatal!
535
547
  rescue Exception => e
548
+ # This catch all exception handling is here in order not to fail builds
549
+ # until license_scout gets more stable. As we are adding support for more
550
+ # and more dependency managers we discover unhandled edge cases which
551
+ # requires us to have this. Remove this once license_scout is stable.
536
552
  transitive_dependency_licensing_warning(<<-EOH)
537
553
  Unexpected error while running license_scout for '#{software.name}': '#{e}'
538
554
  EOH
555
+ # If we got here, we need to fail now so we don't take a git
556
+ # cache snapshot, or else the software build could be restored
557
+ # from cache without fixing the license issue.
558
+ raise_if_warnings_fatal!
539
559
  end
540
560
  end
541
561
 
562
+ # Checks transitive dependency licensing errors for the given software
563
+ def check_transitive_dependency_licensing_errors_for(software)
564
+ reporter = LicenseScout::Reporter.new(license_output_dir(software))
565
+ begin
566
+ reporter.report.each { |i| transitive_dependency_licensing_warning(i) }
567
+ rescue LicenseScout::Exceptions::InvalidOutputReport => e
568
+ transitive_dependency_licensing_warning(<<-EOH)
569
+ Licensing output report at '#{license_output_dir(software)}' has errors:
570
+ #{e}
571
+ EOH
572
+ end
573
+ raise_if_warnings_fatal!
574
+ end
575
+
576
+ # The directory to store the licensing information for the given software
577
+ def license_output_dir(software)
578
+ File.join(cache_dir, software.name)
579
+ end
580
+
542
581
  # Collect the license files for the software.
543
582
  def collect_licenses_for(software)
544
583
  return nil if software.license == :project_license
@@ -594,6 +633,7 @@ EOH
594
633
  "APL-1.0", # Adaptive Public License
595
634
  "Apache-2.0", # Apache License 2.0
596
635
  "APSL-2.0", # Apple Public Source License
636
+ "Artistic-1.0", # Artistic license 1.0
597
637
  "Artistic-2.0", # Artistic license 2.0
598
638
  "AAL", # Attribution Assurance Licenses
599
639
  "BSD-3-Clause", # BSD 3-Clause "New" or "Revised" License
@@ -677,6 +717,7 @@ EOH
677
717
  "Oracle-Binary", # http://www.oracle.com/technetwork/java/javase/terms/license/index.html
678
718
  "OpenSSL", # https://www.openssl.org/source/license.html
679
719
  "Chef-MLSA", # https://www.chef.io/online-master-agreement/
720
+ "Perl-5", # http://dev.perl.org/licenses/
680
721
  ].freeze
681
722
  end
682
723
 
@@ -18,9 +18,9 @@ require "ffi_yajl"
18
18
 
19
19
  module Omnibus
20
20
  class Manifest
21
- class InvalidManifestFormat < Exception; end
22
- class NotAManifestEntry < Exception; end
23
- class MissingManifestEntry < Exception; end
21
+ class InvalidManifestFormat < RuntimeError; end
22
+ class NotAManifestEntry < RuntimeError; end
23
+ class MissingManifestEntry < RuntimeError; end
24
24
 
25
25
  include Logging
26
26
 
@@ -128,8 +128,6 @@ module Omnibus
128
128
  from_hash(hash)
129
129
  end
130
130
 
131
- private
132
-
133
131
  #
134
132
  # Utility function to convert a Hash with String keys to a Hash
135
133
  # with Symbol keys, recursively.
@@ -38,7 +38,7 @@ module Omnibus
38
38
 
39
39
  def ==(other)
40
40
  if other.is_a?(ManifestEntry)
41
- (self.to_hash == other.to_hash) && (self.name == other.name)
41
+ (to_hash == other.to_hash) && (name == other.name)
42
42
  end
43
43
  end
44
44
  end
@@ -167,12 +167,13 @@ module Omnibus
167
167
  # the platform shortname. this might be an Ohai-returned platform or
168
168
  # platform family but it also might be a shortname like `el`
169
169
  #
170
+ # rubocop:disable Lint/DuplicateCaseCondition
170
171
  def truncate_platform_version(platform_version, platform)
171
172
  case platform
172
173
  when "centos", "debian", "el", "fedora", "freebsd", "omnios", "pidora", "raspbian", "rhel", "sles", "suse", "smartos", "nexus", "ios_xr"
173
174
  # Only want MAJOR (e.g. Debian 7, OmniOS r151006, SmartOS 20120809T221258Z)
174
175
  platform_version.split(".").first
175
- when "aix", "gentoo", "mac_os_x", "openbsd", "slackware", "solaris2", "opensuse", "ubuntu"
176
+ when "aix", "alpine", "gentoo", "mac_os_x", "openbsd", "slackware", "solaris2", "opensuse", "ubuntu"
176
177
  # Only want MAJOR.MINOR (e.g. Mac OS X 10.9, Ubuntu 12.04)
177
178
  platform_version.split(".")[0..1].join(".")
178
179
  when "arch"
@@ -26,6 +26,7 @@ module Omnibus
26
26
  autoload :MSI, "omnibus/packagers/msi"
27
27
  autoload :APPX, "omnibus/packagers/appx"
28
28
  autoload :PKG, "omnibus/packagers/pkg"
29
+ autoload :PKGSRC, "omnibus/packagers/pkgsrc"
29
30
  autoload :Solaris, "omnibus/packagers/solaris"
30
31
  autoload :IPS, "omnibus/packagers/ips"
31
32
  autoload :RPM, "omnibus/packagers/rpm"
@@ -47,6 +48,7 @@ module Omnibus
47
48
  "ips" => IPS,
48
49
  "windows" => [MSI, APPX],
49
50
  "mac_os_x" => PKG,
51
+ "smartos" => PKGSRC,
50
52
  }.freeze
51
53
 
52
54
  #
@@ -73,7 +75,7 @@ module Omnibus
73
75
  if package_types.include?(APPX) &&
74
76
  !Chef::Sugar::Constraints::Version.new(version).satisfies?(">= 6.2")
75
77
  log.warn(log_key) { "APPX generation is only supported on Windows versions 2012 and above" }
76
- package_types = package_types - [APPX]
78
+ package_types -= [APPX]
77
79
  end
78
80
 
79
81
  package_types
@@ -52,7 +52,7 @@ module Omnibus
52
52
 
53
53
  # @see Base#package_name
54
54
  def package_name
55
- "#{project.package_name}-#{project.build_version}-#{project.build_iteration}.appx"
55
+ "#{project.package_name}-#{project.build_version}-#{project.build_iteration}-#{Config.windows_arch}.appx"
56
56
  end
57
57
 
58
58
  #
@@ -68,7 +68,7 @@ module Omnibus
68
68
  friendly_name: project.friendly_name,
69
69
  version: windows_package_version,
70
70
  maintainer: project.maintainer,
71
- certificate_subject: certificate_subject,
71
+ certificate_subject: certificate_subject.gsub('"', "&quot;"),
72
72
  }
73
73
  )
74
74
  end
@@ -80,7 +80,7 @@ module Omnibus
80
80
  # @return [String]
81
81
  #
82
82
  def pack_command(appx_file)
83
- "makeappx.exe pack /d \"#{windows_safe_path(project.install_dir)}\" /p #{appx_file}"
83
+ "makeappx.exe pack /d \"#{windows_safe_path(project.install_dir)}\" /o /p #{appx_file}"
84
84
  end
85
85
  end
86
86
  end
@@ -180,6 +180,15 @@ module Omnibus
180
180
  @staging_dir ||= Dir.mktmpdir(project.package_name)
181
181
  end
182
182
 
183
+ #
184
+ # Helper method to produce staging paths
185
+ #
186
+ # @return [String]
187
+ #
188
+ def staging_dir_path(file_name)
189
+ File.join(staging_dir, file_name)
190
+ end
191
+
183
192
  #
184
193
  # @!group Resource methods
185
194
  # --------------------------------------------------
@@ -131,9 +131,9 @@ module Omnibus
131
131
  def write_gen_template
132
132
  # Get a list of all files
133
133
  files = FileSyncer.glob("#{staging_dir}/**/*").reject do |path|
134
- # remove any files with spaces.
135
- if path =~ /[[:space:]]/
136
- log.warn(log_key) { "Skipping packaging '#{path}' file due to whitespace in filename" }
134
+ # remove any files with spaces or braces.
135
+ if path =~ /[[:space:]{}]/
136
+ log.warn(log_key) { "Skipping packaging '#{path}' file due to whitespace or braces in filename" }
137
137
  true
138
138
  end
139
139
  end
@@ -226,9 +226,7 @@ module Omnibus
226
226
  # from within the staging_dir's .info folder (where control files for the
227
227
  # packaging process are kept.)
228
228
  log.debug(log_key) do
229
- "With .inventory file of:\n" + File.read("#{
230
- File.join( staging_dir, '.info', "#{safe_base_package_name}.inventory" )
231
- }")
229
+ "With .inventory file of:\n" + File.read("#{File.join( staging_dir, '.info', "#{safe_base_package_name}.inventory" )}")
232
230
  end
233
231
 
234
232
  # Copy the resulting package up to the package_dir