fpm 1.14.1 → 1.14.2
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.
- checksums.yaml +4 -4
- data/CHANGELOG.rst +9 -0
- data/lib/fpm/package/deb.rb +9 -10
- data/lib/fpm/package/pacman.rb +1 -1
- data/lib/fpm/package/rpm.rb +19 -10
- data/lib/fpm/version.rb +1 -1
- metadata +16 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8d9090d2dd285f34892443936dfd389afe4f566eadc9cc3eb8cdc2103f93f712
|
4
|
+
data.tar.gz: 44e67a378384be66baddf1c5dfcb1a2ed88f1b512ed84b9bba7c823866e71e31
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 68e628235ec80373159575e51ece876047f12fc9a149c03c4652424ad29605059e83483e0d1dcae2e85fba9bbe53989a6489d9b18f23e699afd787401c215264
|
7
|
+
data.tar.gz: 873f374ccb59dcdd95bf0f586a007a46cc0a4a9d28ebdb616dc829d8b3f8fbf80b9231b0625050d4d1b6e0153ee0df168eaac712c436a6724cd70d7116311b7d
|
data/CHANGELOG.rst
CHANGED
@@ -1,6 +1,15 @@
|
|
1
1
|
Release Notes and Change Log
|
2
2
|
============================
|
3
3
|
|
4
|
+
1.14.2 (March 30, 2022)
|
5
|
+
^^^^^^^^^^^^^^^^^^^^^^^
|
6
|
+
* deb: fix bug causing ``--deb-compression none`` to invoke ``tar`` incorrectly (`#1879`_; John Howard)
|
7
|
+
* rpm: Better support for paths that have spaces and mixed quotation marks in them. (`#1882`_, `#1886`_, `#1385`_; John Bollinger and Jordan Sissel)
|
8
|
+
* pacman: Fix typo preventing the use of ``--pacman-compression xz`` (`#1876`_; mszprejda)
|
9
|
+
* docs: All supported package types now have dedicated documentation pages. Some pages are small stubs and would benefit from future improvement. (`#1884`_; mcandre, Jordan Sissel)
|
10
|
+
* docs: Small but lovely documentation fixes (`#1875`_ by Corey Quinn, `#1864`_ by Geoff Beier)
|
11
|
+
* Fixed mistake causing the test suite to fail when ``rake`` wasn't available. (`#1877`_; Jordan Sissel)
|
12
|
+
|
4
13
|
1.14.1 (November 10, 2021)
|
5
14
|
^^^^^^^^^^^^^^^^^^^^^^^^^^
|
6
15
|
* Fix a bug that impacted fpm api usage (from other ruby programs) that caused an error "NameError: uninitialized constant FPM::Package::CPAN" when trying to output a Deb package. (`#1854`_, `#1856`_; Karol Bucek, Jordan Sissel)
|
data/lib/fpm/package/deb.rb
CHANGED
@@ -613,25 +613,24 @@ class FPM::Package::Deb < FPM::Package
|
|
613
613
|
when "gz", nil
|
614
614
|
datatar = build_path("data.tar.gz")
|
615
615
|
controltar = build_path("control.tar.gz")
|
616
|
-
|
616
|
+
compression_flags = ["-z"]
|
617
617
|
when "bzip2"
|
618
618
|
datatar = build_path("data.tar.bz2")
|
619
619
|
controltar = build_path("control.tar.gz")
|
620
|
-
|
620
|
+
compression_flags = ["-j"]
|
621
621
|
when "xz"
|
622
622
|
datatar = build_path("data.tar.xz")
|
623
623
|
controltar = build_path("control.tar.xz")
|
624
|
-
|
624
|
+
compression_flags = ["-J"]
|
625
625
|
when "none"
|
626
626
|
datatar = build_path("data.tar")
|
627
627
|
controltar = build_path("control.tar")
|
628
|
-
|
628
|
+
compression_flags = []
|
629
629
|
else
|
630
630
|
raise FPM::InvalidPackageConfiguration,
|
631
631
|
"Unknown compression type '#{self.attributes[:deb_compression]}'"
|
632
632
|
end
|
633
|
-
|
634
|
-
args = [ tar_cmd, "-C", staging_path, compression ] + data_tar_flags + [ "-cf", datatar, "." ]
|
633
|
+
args = [ tar_cmd, "-C", staging_path ] + compression_flags + data_tar_flags + [ "-cf", datatar, "." ]
|
635
634
|
if tar_cmd_supports_sort_names_and_set_mtime? and not attributes[:source_date_epoch].nil?
|
636
635
|
# Use gnu tar options to force deterministic file order and timestamp
|
637
636
|
args += ["--sort=name", ("--mtime=@%s" % attributes[:source_date_epoch])]
|
@@ -906,13 +905,13 @@ class FPM::Package::Deb < FPM::Package
|
|
906
905
|
case self.attributes[:deb_compression]
|
907
906
|
when "gz", "bzip2", nil
|
908
907
|
controltar = "control.tar.gz"
|
909
|
-
|
908
|
+
compression_flags = ["-z"]
|
910
909
|
when "xz"
|
911
910
|
controltar = "control.tar.xz"
|
912
|
-
|
911
|
+
compression_flags = ["-J"]
|
913
912
|
when "none"
|
914
913
|
controltar = "control.tar"
|
915
|
-
|
914
|
+
compression_flags = []
|
916
915
|
else
|
917
916
|
raise FPM::InvalidPackageConfiguration,
|
918
917
|
"Unknown compression type '#{self.attributes[:deb_compression]}'"
|
@@ -922,7 +921,7 @@ class FPM::Package::Deb < FPM::Package
|
|
922
921
|
build_path(controltar).tap do |controltar|
|
923
922
|
logger.info("Creating", :path => controltar, :from => control_path)
|
924
923
|
|
925
|
-
args = [ tar_cmd, "-C", control_path
|
924
|
+
args = [ tar_cmd, "-C", control_path ] + compression_flags + [ "-cf", controltar,
|
926
925
|
"--owner=0", "--group=0", "--numeric-owner", "." ]
|
927
926
|
if tar_cmd_supports_sort_names_and_set_mtime? and not attributes[:source_date_epoch].nil?
|
928
927
|
# Force deterministic file order and timestamp
|
data/lib/fpm/package/pacman.rb
CHANGED
data/lib/fpm/package/rpm.rb
CHANGED
@@ -192,17 +192,26 @@ class FPM::Package::RPM < FPM::Package
|
|
192
192
|
# Replace * with [*] to make rpm not use globs
|
193
193
|
# Replace ? with [?] to make rpm not use globs
|
194
194
|
# Replace % with [%] to make rpm not expand macros
|
195
|
+
# Replace whitespace with ? to make rpm not split the filename
|
196
|
+
# If and only if any of the above are done, then also replace ' with \', " with \", and \ with \\\\
|
197
|
+
# to accommodate escape and quote processing that rpm will perform in that case (but not otherwise)
|
195
198
|
def rpm_fix_name(name)
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
|
202
|
-
|
203
|
-
|
204
|
-
|
205
|
-
|
199
|
+
if name.match?(/[ \t*?%$\[\]]/)
|
200
|
+
name = name.gsub(/(\ |\t|\[|\]|\*|\?|\%|\$|'|"|\\)/, {
|
201
|
+
' ' => '?',
|
202
|
+
"\t" => '?',
|
203
|
+
'%' => '[%]',
|
204
|
+
'$' => '[$]',
|
205
|
+
'?' => '[?]',
|
206
|
+
'*' => '[*]',
|
207
|
+
'[' => '[\[]',
|
208
|
+
']' => '[\]]',
|
209
|
+
'"' => '\\"',
|
210
|
+
"'" => "\\'",
|
211
|
+
'\\' => '\\\\\\\\',
|
212
|
+
})
|
213
|
+
end
|
214
|
+
name
|
206
215
|
end
|
207
216
|
|
208
217
|
def rpm_file_entry(file)
|
data/lib/fpm/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fpm
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.14.
|
4
|
+
version: 1.14.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jordan Sissel
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-03-31 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: json
|
@@ -190,6 +190,20 @@ dependencies:
|
|
190
190
|
- - ">="
|
191
191
|
- !ruby/object:Gem::Version
|
192
192
|
version: '0'
|
193
|
+
- !ruby/object:Gem::Dependency
|
194
|
+
name: rake
|
195
|
+
requirement: !ruby/object:Gem::Requirement
|
196
|
+
requirements:
|
197
|
+
- - ">="
|
198
|
+
- !ruby/object:Gem::Version
|
199
|
+
version: '0'
|
200
|
+
type: :development
|
201
|
+
prerelease: false
|
202
|
+
version_requirements: !ruby/object:Gem::Requirement
|
203
|
+
requirements:
|
204
|
+
- - ">="
|
205
|
+
- !ruby/object:Gem::Version
|
206
|
+
version: '0'
|
193
207
|
description: Convert directories, rpms, python eggs, rubygems, and more to rpms, debs,
|
194
208
|
solaris packages and more. Win at package management without wasting pointless hours
|
195
209
|
debugging bad rpm specs!
|