fpm 0.4.22 → 0.4.23
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.
- data/CHANGELIST +17 -0
- data/lib/fpm/command.rb +19 -0
- data/lib/fpm/package/gem.rb +2 -2
- data/lib/fpm/package/pyfpm/get_metadata.py +9 -6
- data/lib/fpm/package/rpm.rb +9 -0
- data/lib/fpm/version.rb +3 -0
- data/templates/rpm.erb +8 -0
- metadata +17 -18
- data/lib/fpm/package/pyfpm/__init__.pyc +0 -0
- data/lib/fpm/package/pyfpm/get_metadata.pyc +0 -0
data/CHANGELIST
CHANGED
@@ -1,3 +1,20 @@
|
|
1
|
+
0.4.23 (November 26, 2012)
|
2
|
+
- The --directories flag is now recursive when the output package is rpm.
|
3
|
+
This makes all directories under a given path as owned by the package
|
4
|
+
so they'll be removed when the package is uninstalled (#245, #293, #294,
|
5
|
+
patch by Justin Ellison)
|
6
|
+
- Add fpm version info to '--help' output (#281)
|
7
|
+
- gem to rpm: Use 'rubygem(gemname)' for dependencies (#284, patch by
|
8
|
+
Jan Vansteenkiste)
|
9
|
+
- Fix a bug in gem version mangling (#292, #291; patch by Pranay Kanwar)
|
10
|
+
- Fix compatibility with Python 2.5 (#279, patch by Denis Bilenko)
|
11
|
+
|
12
|
+
0.4.22 (November 15, 2012)
|
13
|
+
- Add --no-depends flag for creating packages with no dependencies listed
|
14
|
+
(#289, patch by Brett Gailey)
|
15
|
+
- Fix a bug where blank lines were present in a debian control file.
|
16
|
+
(#288, patch by Andrew Bunday)
|
17
|
+
|
1
18
|
0.4.21 (November 8, 2012)
|
2
19
|
- gem: remove restriction on expected gem names (#287)
|
3
20
|
- add --directory flag; lets you mark a directory as being owned by a
|
data/lib/fpm/command.rb
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
require "rubygems"
|
2
2
|
require "fpm/namespace"
|
3
|
+
require "fpm/version"
|
3
4
|
require "fpm/util"
|
4
5
|
require "clamp"
|
5
6
|
require "ostruct"
|
@@ -21,6 +22,24 @@ end
|
|
21
22
|
class FPM::Command < Clamp::Command
|
22
23
|
include FPM::Util
|
23
24
|
|
25
|
+
def help(*args)
|
26
|
+
return [
|
27
|
+
"Intro:",
|
28
|
+
"",
|
29
|
+
" This is fpm version #{FPM::VERSION}",
|
30
|
+
"",
|
31
|
+
" If you think something is wrong, it's probably a bug! :)",
|
32
|
+
" Please file these here: https://github.com/jordansissel/fpm/issues",
|
33
|
+
"",
|
34
|
+
" You can find support on irc (#fpm on freenode irc) or via email with",
|
35
|
+
" fpm-users@googlegroups.com",
|
36
|
+
"",
|
37
|
+
|
38
|
+
# Lastly, include the default help output via Clamp.
|
39
|
+
super
|
40
|
+
].join("\n")
|
41
|
+
end # def help
|
42
|
+
|
24
43
|
option "-t", "OUTPUT_TYPE",
|
25
44
|
"the type of package you want to create (deb, rpm, solaris, etc)",
|
26
45
|
:attribute_name => :output_type
|
data/lib/fpm/package/gem.rb
CHANGED
@@ -111,8 +111,8 @@ class FPM::Package::Gem < FPM::Package
|
|
111
111
|
# expand spec's version to match RationalVersioningPolicy to prevent cases
|
112
112
|
# where missing 'build' number prevents correct dependency resolution by target
|
113
113
|
# package manager. Ie. for dpkg 1.1 != 1.1.0
|
114
|
-
m = spec.version.to_s.
|
115
|
-
self.version = m.
|
114
|
+
m = spec.version.to_s.scan(/(\d+)\.?/)
|
115
|
+
self.version = m.flatten.fill('0', m.length..2).join('.')
|
116
116
|
|
117
117
|
self.vendor = spec.author
|
118
118
|
self.url = spec.homepage
|
@@ -1,8 +1,11 @@
|
|
1
1
|
from distutils.core import Command
|
2
|
-
import json
|
3
2
|
import re
|
4
3
|
import time
|
5
4
|
import pkg_resources
|
5
|
+
try:
|
6
|
+
import json
|
7
|
+
except ImportError:
|
8
|
+
import simplejson as json
|
6
9
|
|
7
10
|
# Note, the last time I coded python daily was at Google, so it's entirely
|
8
11
|
# possible some of my techniques below are outdated or bad.
|
@@ -64,10 +67,10 @@ class get_metadata(Command):
|
|
64
67
|
data["dependencies"] = final_deps
|
65
68
|
|
66
69
|
#print json.dumps(data, indent=2)
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
70
|
+
if hasattr(json, 'dumps'):
|
71
|
+
print(json.dumps(data, indent=2))
|
72
|
+
else:
|
73
|
+
# For Python 2.5 and Debian's python-json
|
74
|
+
print(json.write(data))
|
72
75
|
# def run
|
73
76
|
# class list_dependencies
|
data/lib/fpm/package/rpm.rb
CHANGED
@@ -121,6 +121,15 @@ class FPM::Package::RPM < FPM::Package
|
|
121
121
|
provides
|
122
122
|
end
|
123
123
|
end
|
124
|
+
self.dependencies = self.dependencies.collect do |dependency|
|
125
|
+
first, remainder = dependency.split("-", 2)
|
126
|
+
if first == "rubygem"
|
127
|
+
name, remainder = remainder.split(" ", 2)
|
128
|
+
"rubygem(#{name})#{remainder ? " #{remainder}" : ""}"
|
129
|
+
else
|
130
|
+
dependency
|
131
|
+
end
|
132
|
+
end
|
124
133
|
#self.provides << "rubygem(#{self.name})"
|
125
134
|
end
|
126
135
|
end # def converted
|
data/lib/fpm/version.rb
ADDED
data/templates/rpm.erb
CHANGED
@@ -109,8 +109,15 @@ fi
|
|
109
109
|
<% config_files.each do |path| -%>
|
110
110
|
%config(noreplace) <%= File.join(prefix, path) %>
|
111
111
|
<% end -%>
|
112
|
+
<% subdirs = [] -%>
|
112
113
|
<% directories.each do |path| -%>
|
113
114
|
%dir <%= File.join(prefix, path) %>
|
115
|
+
<%# We need to include hidden directories, but exclude . and .. -%>
|
116
|
+
<% ::Dir.glob("#{path}/**/*/", File::FNM_DOTMATCH) do |subdir| -%>
|
117
|
+
<% next if File.basename(subdir) =~ /^\.+$/ -%>
|
118
|
+
%dir <%= File.join(prefix, subdir) %>
|
119
|
+
<% subdirs << subdir -%>
|
120
|
+
<% end -%>
|
114
121
|
<% end -%>
|
115
122
|
<%# list only files, not directories? -%>
|
116
123
|
<%=
|
@@ -125,6 +132,7 @@ fi
|
|
125
132
|
# Replace % with [%] to make rpm not expand macros
|
126
133
|
files.collect { |f| "/#{f}" } \
|
127
134
|
.reject { |f| config_files.include?(f) } \
|
135
|
+
.reject { |f| subdirs.include?("#{f}/") } \
|
128
136
|
.collect { |f| f[/\s/] and "\"#{f}\"" or f } \
|
129
137
|
.collect { |f| f.gsub("[", "[\\[]") } \
|
130
138
|
.collect { |f| f.gsub("*", "[*]") } \
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fpm
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.23
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-11-
|
12
|
+
date: 2012-11-27 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: json
|
@@ -149,33 +149,32 @@ executables:
|
|
149
149
|
extensions: []
|
150
150
|
extra_rdoc_files: []
|
151
151
|
files:
|
152
|
-
- lib/fpm
|
152
|
+
- lib/fpm.rb
|
153
|
+
- lib/fpm/errors.rb
|
153
154
|
- lib/fpm/namespace.rb
|
154
155
|
- lib/fpm/package.rb
|
155
|
-
- lib/fpm/package/pyfpm/get_metadata.pyc
|
156
|
-
- lib/fpm/package/pyfpm/get_metadata.py
|
157
|
-
- lib/fpm/package/pyfpm/__init__.pyc
|
158
|
-
- lib/fpm/package/pyfpm/__init__.py
|
159
|
-
- lib/fpm/package/tar.rb
|
160
156
|
- lib/fpm/package/deb.rb
|
161
157
|
- lib/fpm/package/dir.rb
|
158
|
+
- lib/fpm/package/npm.rb
|
159
|
+
- lib/fpm/package/pear.rb
|
162
160
|
- lib/fpm/package/puppet.rb
|
163
|
-
- lib/fpm/package/
|
161
|
+
- lib/fpm/package/pyfpm/__init__.py
|
162
|
+
- lib/fpm/package/pyfpm/get_metadata.py
|
164
163
|
- lib/fpm/package/python.rb
|
165
|
-
- lib/fpm/package/solaris.rb
|
166
164
|
- lib/fpm/package/rpm.rb
|
167
|
-
- lib/fpm/package/
|
168
|
-
- lib/fpm/package/
|
169
|
-
- lib/fpm/
|
165
|
+
- lib/fpm/package/solaris.rb
|
166
|
+
- lib/fpm/package/tar.rb
|
167
|
+
- lib/fpm/package/gem.rb
|
170
168
|
- lib/fpm/util.rb
|
171
|
-
- lib/fpm.rb
|
172
|
-
-
|
169
|
+
- lib/fpm/command.rb
|
170
|
+
- lib/fpm/version.rb
|
173
171
|
- bin/fpm
|
174
|
-
-
|
175
|
-
- templates/rpm.erb
|
172
|
+
- bin/fpm-npm
|
176
173
|
- templates/deb.erb
|
177
|
-
- templates/puppet/package/remove.pp.erb
|
178
174
|
- templates/puppet/package.pp.erb
|
175
|
+
- templates/puppet/package/remove.pp.erb
|
176
|
+
- templates/solaris.erb
|
177
|
+
- templates/rpm.erb
|
179
178
|
- LICENSE
|
180
179
|
- CONTRIBUTORS
|
181
180
|
- CHANGELIST
|
Binary file
|
Binary file
|