fpm-itchio 1.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (52) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELIST +629 -0
  3. data/CONTRIBUTORS +26 -0
  4. data/LICENSE +21 -0
  5. data/bin/fpm +8 -0
  6. data/lib/fpm.rb +18 -0
  7. data/lib/fpm/command.rb +642 -0
  8. data/lib/fpm/errors.rb +4 -0
  9. data/lib/fpm/namespace.rb +4 -0
  10. data/lib/fpm/package.rb +524 -0
  11. data/lib/fpm/package/cpan.rb +378 -0
  12. data/lib/fpm/package/deb.rb +887 -0
  13. data/lib/fpm/package/dir.rb +207 -0
  14. data/lib/fpm/package/empty.rb +13 -0
  15. data/lib/fpm/package/gem.rb +224 -0
  16. data/lib/fpm/package/npm.rb +120 -0
  17. data/lib/fpm/package/osxpkg.rb +164 -0
  18. data/lib/fpm/package/p5p.rb +124 -0
  19. data/lib/fpm/package/pacman.rb +397 -0
  20. data/lib/fpm/package/pear.rb +117 -0
  21. data/lib/fpm/package/pkgin.rb +35 -0
  22. data/lib/fpm/package/puppet.rb +120 -0
  23. data/lib/fpm/package/pyfpm/__init__.py +1 -0
  24. data/lib/fpm/package/pyfpm/get_metadata.py +104 -0
  25. data/lib/fpm/package/python.rb +317 -0
  26. data/lib/fpm/package/rpm.rb +583 -0
  27. data/lib/fpm/package/sh.rb +69 -0
  28. data/lib/fpm/package/solaris.rb +95 -0
  29. data/lib/fpm/package/tar.rb +74 -0
  30. data/lib/fpm/package/virtualenv.rb +145 -0
  31. data/lib/fpm/package/zip.rb +63 -0
  32. data/lib/fpm/rake_task.rb +59 -0
  33. data/lib/fpm/util.rb +253 -0
  34. data/lib/fpm/version.rb +3 -0
  35. data/templates/deb.erb +52 -0
  36. data/templates/deb/changelog.erb +5 -0
  37. data/templates/deb/ldconfig.sh.erb +13 -0
  38. data/templates/deb/postinst_upgrade.sh.erb +62 -0
  39. data/templates/deb/postrm_upgrade.sh.erb +46 -0
  40. data/templates/deb/preinst_upgrade.sh.erb +41 -0
  41. data/templates/deb/prerm_upgrade.sh.erb +39 -0
  42. data/templates/osxpkg.erb +11 -0
  43. data/templates/p5p_metadata.erb +12 -0
  44. data/templates/pacman.erb +47 -0
  45. data/templates/pacman/INSTALL.erb +41 -0
  46. data/templates/puppet/package.pp.erb +34 -0
  47. data/templates/puppet/package/remove.pp.erb +13 -0
  48. data/templates/rpm.erb +261 -0
  49. data/templates/rpm/filesystem_list +14514 -0
  50. data/templates/sh.erb +367 -0
  51. data/templates/solaris.erb +15 -0
  52. metadata +265 -0
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 72027d575dc79b3dba353a9d59a02521cd5fad5f
4
+ data.tar.gz: 5017bea592352a2df11c1db5685887e92fde92d9
5
+ SHA512:
6
+ metadata.gz: 85e47a3ca90f776cbc2bab4313a9c08e662551cbc77703cef6a949dc8fa3cc6f8dd1ba595e87fbdf61d0619b4e30394662f464ead0730ba3695db685b1131f10
7
+ data.tar.gz: ef63947e33578aa7f098864f5a79f8a03ec42fa3f95ce33f479457e3115152c2aa9269ecccfe7fed32ca08246d9b57e7309145f905b531e6b91379abeeb3fad4
@@ -0,0 +1,629 @@
1
+ ?????
2
+ - Arch package support is now available via -s pacman and -t pacman.
3
+ (#916; wonderful community effort making this happen!)
4
+ - You can now set fpm flags and arguments with the FPMOPTS environment
5
+ variable (#977, mildred)
6
+ - Using --exclude-file no longer causes a crash. Yay! (#982, wyaeld)
7
+ - A new rake task is available for folks who want to invoke fpm from rake
8
+ (#756, pstengel)
9
+ - On FreeBSD, when tarring, gtar is now used. (#1008, liv3d)
10
+
11
+ - virtualenv: Add --virtualenv-pypi-extra-url flag to specify additional PyPI
12
+ locations to use when searching for packages (#1012, Paul Krohn)
13
+
14
+ - deb: Init scripts, etc/default, and upstart files are automatically added
15
+ as config files in a debian package. Disable this behavior with ---deb-auto-config-files
16
+ - cpan: Add --[no-]cpan-cpanm-force flag to pass --force to cpanm.
17
+ - rpm: File names with both spaces and symbols should now be packageable.
18
+ (#946, iwonbigbro)
19
+ - cpan: Now queries MetaCPAN for package info if we can't find any in the
20
+ cpan archive we just downloaded. (#849, BaxterStockman)
21
+ - rpm: You can now specify custom rpm tags at the command line. Be careful,
22
+ as no validation is done on this before sending to rpmbuild. (#687, vStone)
23
+ - cpan: Install if the package name given is a local file (#986, mdom)
24
+ - sh: Metadata now available as env vars for post-install scripts (#1006, Ed Healy)
25
+
26
+
27
+ 1.4.0 (July 26, 2015)
28
+ - Solaris 11 IPS packages 'p5p' now supported `-t p5p`. (Jonathan Craig)
29
+ - Python Virtualenv is now supported `-t virtualenv` (#930, Simone
30
+ Margaritelli and Daniel Haskin)
31
+ - deb: Files in /etc are now by default marked as config files. (#877,
32
+ Vincent Bernat)
33
+ - `fpm --help` output now includes a list of supported package types (#896,
34
+ Daniel Haskin)
35
+ - cpan: --[no-]cpan-sandbox-non-core flag to make non-core module sandboxing
36
+ optional during packaging (#752, Matt Sharpe)
37
+ - rpm: Add --rpm-dist flag for specifically setting the target distribution
38
+ of an rpm. (Adam Lamar)
39
+ - rpm: Fix a crash if --before-upgrade or --after-upgrade were used. (#822,
40
+ Dave Anderson)
41
+ - deb: Ensure maintainer scripts have shebang lines (#836, Wesley Spikes)
42
+ - deb: Fix bug in maintainer scripts where sometimes we would write an empty
43
+ shell function. Empty functions aren't valid in shell. (Wesley Spikes)
44
+ - Fix symlink copying bug (#863, Pete Fritchman)
45
+ - python: Default to https for pypi queries (Timothy Sutton)
46
+ - New flag --exclude-file for providing a file containing line-delimited
47
+ exclusions (Jamie Lawrence)
48
+ - python: new flag --python-disable-dependency to disable specific python
49
+ dependencies (Ward Vandewege)
50
+ - python: ensure we avoid wheel packages for now until fpm better supports them.
51
+ (#885, Matt Callaway)
52
+ - deb: Add support for installation states "abort-remove" and "abort-install"
53
+ (#887, Daniel Haskin)
54
+ - If PATH isn't set, and we need it, tell the user (#886, Ranjib Dey)
55
+ - cpan: --[no-]cpan-test now works correctly (#853, Matt Schreiber)
56
+ - deb-to-rpm: some improved support for config file knowledge passing from
57
+ deb to rpm packages (Daniel Haskin)
58
+
59
+ 1.3.3 (December 11, 2014)
60
+ - The fpm project now uses Contributor Covenant. You can read more about this on
61
+ the website: http://contributor-covenant.org/
62
+ - npm: Fix bug causing all `-s npm` attempts to fail due to a missing method.
63
+ This bug was introduced in 1.3.0. (#800, #806; Jordan Sissel)
64
+ - rpm: fix bug in rpm input causing a crash if the input rpm did not have any triggers
65
+ (#801, #802; Ted Elwartowski)
66
+
67
+ 1.3.2 (November 4, 2014)
68
+ - deb: conversion from another deb will automatically use any changelog found in
69
+ the source deb (Jordan Sissel)
70
+
71
+ 1.3.1 (November 4, 2014)
72
+ - deb: fix md5sums generation such that `dpkg -V` now works (#799, Matteo Panella)
73
+ - rpm: Use maximum compression when choosing xz (#797, Ashish Kulkarni)
74
+
75
+ 1.3.0 (October 25, 2014)
76
+ - Fixed a bunch of Ruby 1.8.7-related bugs. (Jordan Sissel)
77
+ - cpan: Fix bug in author handling (#744, Leon Weidauer)
78
+ - cpan: Better removal of perllocal.pod (#763, #443, #510, Mathias Lafeldt)
79
+ - rpm: Use lstat calls instead of stat, so we don't follow symlinks (#765, Shrijeet Paliwal)
80
+ - rpm and deb: Now supports script actions on upgrades. This adds two new flags:
81
+ --before-upgrade and --after-upgrade. (#772, #661; Daniel Haskin)
82
+ - rpm: Package triggers are now supported. New flags: --rpm-trigger-before-install,
83
+ --rpm-trigger-after-install, --rpm-trigger-before-uninstall,
84
+ --rpm-trigger-after-target-uninstall. (#626, Maxime Caumartin)
85
+ - rpm: Add --rpm-init flag; similar to --deb-init. (Josh Dolitsky)
86
+ - sh: Skip installation if already installed for the given version. If forced,
87
+ the old installation is renamed. (#776, Chris Gerber)
88
+ - deb: Allow Vendor field to be omitted now by specifying `--vendor ""` (#778, Nate Brown)
89
+ - general: Add --log=level flag for setting log level. Levels are error, warn, info, debug. (Jordan SIssel)
90
+ - cpan: Check for Build.PL first before Makefile.PL (#787, Daniel Jay Haskin)
91
+ - dir: Don't follow symlinks when copying files (#658, Jordan Sissel)
92
+ - deb: Automatically provide a 'changes' file in debs because lintian
93
+ complains if they are missing. (#784, Jordan Sissel)
94
+ - deb: Fix and warn for package names that have spaces (#779, Grantlyk)
95
+ - npm: Automatically set the prefix to `npm prefix -g` (#758, Brady Wetherington and Jordan Sissel)
96
+
97
+ 1.2.0 (July 25, 2014)
98
+ - rpm: Add --rpm-verifyscript for adding a custom rpm verify script to
99
+ your package. (Remi Hakim)
100
+ - Allow the -p flag to target a directory for writing the output package
101
+ (#656, Jordan Sissel)
102
+ - Add --debug-workspace which skips any workspace cleanup to let users debug things
103
+ if they break. (#720, #734; Jordan Sissel)
104
+ - rpm: Add --rpm-attr for controlling attribute settings per file. This setting
105
+ will likely be removed in the future once rpmbuild is no longer needed.
106
+ (#719)
107
+ - deb: Add --deb-meta-file to add arbitrary files to the control dir (#599, Dan Brown)
108
+ - deb: Add --deb-interest and --deb-activate for adding package triggers (#595, Dan Brown)
109
+ - cpan: Fix small bug in handling empty metadata fields (#712, Mathias Lafeldt)
110
+ - rpm: Fix bug when specifying both --architecture and --rpm-os (#707, #716; Alan Ivey)
111
+ - gem: Fix bug where --gem-version-bins is given but package has no bins (#688, Jan Vansteenkiste)
112
+ - deb: Set permissions correct on the package's internals. Makes lintian happier. (Jan Vansteenkiste)
113
+ - rpm: rpmbuild's _tmppath now respects --workdir (#714, Jordan Sissel)
114
+ - gem/rpm: Add --rpm-verbatim-gem-dependencies to use old-style (fpm 0.4.x)
115
+ rpm gem dependencies (#724, Jordan Sissel)
116
+ - gem/rpm: Fix bug for gem pessimistic constraints when converting to rpm (Tom Duckering)
117
+ - python: Fix small bug with pip invocations (#727, Dane Knecht)
118
+
119
+ 1.1.0 (April 23, 2014)
120
+ - New package type: zip, for converting to and from zip files (Jordan Sissel)
121
+ - New package type: sh, a self-extracting package installation shell archive. (#651, Chris Gerber)
122
+ - 'fpm --version' will now emit the version of fpm.
123
+ - rpm: supports packaging fifo files (Adam Stephens)
124
+ - deb: Add --deb-use-file-permissions (Adam Stephens)
125
+ - cpan: Improve how fpm tries to find cpan artifacts for download (#614, Tim Nicholas)
126
+ - gem: Add --gem-disable-dependency for removing one or more specific rubygem
127
+ dependencies from the automatically-generated list (#598, Derek Olsen)
128
+ - python: Add --python-scripts-executable for setting a custom interpreter to
129
+ use for the hashbang line at the top of may python package scripts.
130
+ (#628, Vladimir Rutsky)
131
+ - Allow absolute paths with --directories even when --prefix is used (Vladimir Rutsky)
132
+ - dir: Now correctly identifies hardlinked files and creates a package correctly
133
+ with that knowledge (#365, #623, #659; Vladimir Rutsky)
134
+ - rpm: Add --rpm-auto-add-exclude-directories for excluding directories
135
+ from the --rpm-auto-add-directories behavior (#640, Vladimir Rutsky)
136
+ - general: --config-files now accepts directories and will recursively mark any
137
+ files within as config files inside the package (#642, Vladimir Rutsky)
138
+ - general: If you specify a --config-files path that doesn't exist, you will
139
+ now get an error. (#654, Alan Franzoni)
140
+ - python: Support --python-pypi when using --python-pip (#652, David Lindquist)
141
+ - deb: Tests now try to make packages ensure we don't upset lintian (#648, Sam Crang)
142
+ - rpm: Fix architecture targeting (#676, Rob Kinyon)
143
+ - rpm: Allow --rpm-user and --rpm-group to override the user/group even if
144
+ --rpm-use-file-permissions is enabled. (#679, Jordan Sissel)
145
+ - gem: Add --gem-version-bins for appending the gem version to the file name
146
+ of executable scripts a rubygem may install. (Jan Vansteenkiste)
147
+ - python: Attempt to provide better error messages for known issues in python
148
+ environments (#664, Jordan Sissel)
149
+
150
+ 1.0.2 (January 10, 2013)
151
+ - rpm: No longer converts - to _ in dependency strings (#603, Bulat
152
+ Shakirzyanov)
153
+ - Handle Darwin/OSX tar invocations (now tries 'gnutar' and 'gtar'). (Jordan
154
+ Sissel)
155
+ - Process $HOME/.fpm, and $PWD/.fpm in the correct order and allow CLI flags
156
+ to override fpm config file settings. (#615, Jordan Sissel)
157
+ - Don't leave empty gem bin paths in packages that don't need them (#612,
158
+ Jordan Sissel)
159
+ - deb: Make --deb-compression=gz work correctly (#616, #617; Evan Krall,
160
+ Jason Yan)
161
+
162
+ 1.0.1 (December 7, 2013)
163
+ - deb: Correctly handle --config-files given with a leading / (Jordan Sissel)
164
+
165
+ 1.0.0 (December 5, 2013)
166
+ - Config file of flags is now supported. Searches for $HOME/.fpm and
167
+ $PWD/.fpm. If both exist, $HOME is loaded first so $PWD can override.
168
+ (Pranay Kanwar)
169
+ - pkgin: Basic support for SmartOS/pkgsrc's pkgin format. (#567, Brian Akins)
170
+ - cpan: catch more cases of perllocal.pod and delete them
171
+ (#510, Jordan Sissel)
172
+ - cpan: Correctly support module version selection (#518, Matt Sharpe)
173
+ - cpan: include builddeps in PERL5LIB when running cpan tests
174
+ (#500, Matt Sharpe)
175
+ - cpan: Avoid old system perl modules when doing module builds
176
+ (#442, #513; Matt Sharpe)
177
+ - python: safer gathering of python module dependencies.
178
+ - python: better handling of unicode strings in python package metadata
179
+ (#575, Bruno Renié)
180
+ - cpan: Support 'http_proxy' env var. (#491, Patrick Cable)
181
+ - deb: --deb-user and --deb-group both default to 'root' now
182
+ (#504, Pranay Kanwar)
183
+ - deb: convert '>' to '>>' in deb version constraints
184
+ (#503, #439, Pranay Kanwar)
185
+ - deb: Warn if epoch is set. Just so you know what's going on, since
186
+ the default filename doesn't include the epoch. (#502, Pranay Kanwar)
187
+ - deb,rpm: --config-files is now recursive if you give it a directory.
188
+ This seems to be the most expected behavior by users.
189
+ (#171, #506; Pranay Kanwar)
190
+ - dir: Respect -C when using path mapping (#498, #507; Pranay Kanwar)
191
+ - rpm: Add --rpm-ignore-iteration-in-dependencies to let you to depend
192
+ on any release (aka iteration) of the same version of a package.
193
+ (#364, #508; Pranay Kanwar)
194
+ - dir: Handle copying of special files when possible
195
+ (#347, #511, #539, #561; Pranay Kanwar)
196
+ - rpm: Don't mistake symlinks as actual directories (#521, Nathan Huff)
197
+ - npm: Choose an alternate npm registry with --npm-registry (#445, #524;
198
+ Matt Sharpe)
199
+ - cpan: Choose an alternate cpan server with --cpan-mirror. Additionally, you
200
+ can use --cpan-mirror-only to only use this mirror for metadata queries.
201
+ (#524, Matt Sharpe)
202
+ - deb: Fix broken --deb-changelog flag (#543, #544; Tray Torrance)
203
+ - deb: When --deb-upstart is given, automatically create an upstart-sysv
204
+ symlink /etc/init.d/<name> to /lib/init/upstart-job (#545, Igor Galić)
205
+ - rpm: Fix bug when generating spec file listings on files with strange
206
+ characters in the names. (#547, Chris Chandler)
207
+ - dir: Fix bug where the new directory mapping feature would cause you not
208
+ to be able to select files with '=' in the name for packaging.
209
+ (#556, #554; Pranay Kanwar)
210
+ - python: Fix some unicode string issues in package metadata
211
+ (#575, Bruno Renié)
212
+ - gem-rpm: Now respects the --gem-package-name-prefix when generating the
213
+ 'rubygem(name)' provides statement (#585, Stepan Stipl)
214
+ - deb: Downcase and replace underscores with dashes in 'provides' list.
215
+ (#591, Eric Connell)
216
+ - deb: Fix a lintian complaint about md5sums permissions (#593, Sam Crang)
217
+ - cpan: Modules with 'MYMETA' files are now supported (#573, Michael Donlon)
218
+
219
+ 0.4.42 (July 23, 2013)
220
+ - dir: make source=destination mappings behave the same way 'rsync -a' does
221
+ with respect to source and destination paths.
222
+
223
+ 0.4.41 (July 17, 2013)
224
+ - cpan: handle cases where modules don't specify a license
225
+ - deb: support multiple init scripts (#487, patch by Kristian Glass)
226
+
227
+ 0.4.40 (July 12, 2013)
228
+ - dir: supports mapping one path to another.
229
+ You set mappings by using 'source=destination' syntax. For example:
230
+ % fpm -s dir -t deb -n example /home/jls/.zshrc=/etc/skel/
231
+ The key above is the '=' symbol. The result of the above will be a package
232
+ containing only /etc/skel/.zshrc
233
+ For more, see https://github.com/jordansissel/fpm/wiki/Source:-dir#mapping
234
+ - python: the default scripts location is now chosen by python itself. The
235
+ previous default was "/usr/bin" and was not a good default. (#480)
236
+ - rpm: config files should have attributes (#484, patch by adamcstephens)
237
+ - python: correctly log the python setup.py exit code (#481, patch by Derek
238
+ Ludwig)
239
+
240
+ 0.4.39 (June 27, 2013)
241
+ - cpan: support more complex dependency specifications (reported by Mabi
242
+ Knittel)
243
+
244
+ 0.4.38 (June 24, 2013)
245
+ - cpan: fpm's cpan code now works under ruby 1.8.7
246
+ - python: fix a bug in dependency handling (#461, Pranay Kanwar)
247
+ - pear: Added --pear-data-dir flag (#465, Zsolt Takács)
248
+ - cpan: fix a bug with some clean up on certain 64bit systems
249
+ - gem: improve detection of the gem bin install path (#476, Tray Torrance)
250
+ - rpm: fix bug when calling using --rpm-use-file-permissions
251
+ (#464, Rich Horwood)
252
+
253
+ 0.4.37 (May 30, 2013)
254
+ - deb: fix creation failures on OS X (#450, patch by Anthony Scalisi and
255
+ Matthew M. Boedicker)
256
+ - deb: you can now set --deb-build-depends. This is generally for extremely
257
+ rare use cases. (#451, patch by torrancew)
258
+ - perl: add --cpan-perl-lib-path for a custom perl library installation path
259
+ (#447, patch by Brett Gailey)
260
+
261
+ 0.4.36 (May 15, 2013)
262
+ - pear: only do channel-discover if necessary (#438, patch by Hatt)
263
+ - cpan: now supports cpan modules that use Module::Build
264
+ - cpan: --no-cpan-test now skips tests for build/configure dependencies
265
+ - rpm: Add --rpm-defattrfile and --rpm-defattrdir flags (#428, patch
266
+ by phrawzty)
267
+
268
+ 0.4.35 -- was not announced
269
+
270
+ 0.4.34 (May 7, 2013)
271
+ - Now supports CPAN - Perl mongers rejoice! For example:
272
+ 'fpm -s cpan -t deb DBI'
273
+ - deb: fixed some additional complaints by lintian (#420, patch by Pranay
274
+ Kanwar)
275
+ - rpm: add flags --rpm-autoreqprov, --rpm-autoreq, and --rpm-autoprov
276
+ to tell rpm to enable that feature in the rpm spec. (#416, patch by Adam
277
+ Stephens)
278
+
279
+ 0.4.33 (April 9, 2013)
280
+ - Now supports npm, the node package manager. For example:
281
+ 'fpm -s npm -t deb express'
282
+
283
+ 0.4.32 (April 9, 2013)
284
+ - COMPATIBILITY WARNING: rpm: The default epoch is now nothing because this
285
+ aligns more closely with typical rpm packages in the real world. This
286
+ decision was reached in #381. If you need the previous behavior, you
287
+ must now specify '--epoch 1' (#388, patch by Pranay Kanwar)
288
+ - python: new flag --python-obey-requirements-txt which makes a
289
+ requirements.txt file from the python package used for the package
290
+ dependencies instead of the usual setup.py dependencies. The default
291
+ behavior without this flag is to respect setup.py. (#384)
292
+ - deb: new flag --deb-shlibs to specify the content of the 'shlibs' file
293
+ in the debian package (#405, patch by Aman Gupta)
294
+ - deb: fixed a few lintian errors (empty conffiles, md5sums on symlinks, etc)
295
+ - Add '-f' / '--force' flag to force overwriting an existing package output
296
+ path (#385, Timothy Sutton)
297
+ - New flag: --no-auto-depends flag to skip any automatic dependencies
298
+ that would normally be added by gem, python, deb, and rpms input packages.
299
+ (#386, #374; patch by Pranay Kanwar)
300
+ - gem: Use 'gem' command to download gems and read gem package information.
301
+ (#389, #394, #378, #233; patches by Pranay Kanwar and Chris Roberts)
302
+ - rpm: dashes are now replaced with underscores in rpm version strings
303
+ (#395, #393, #399; patches by Jeff Terrace and Richard Guest)
304
+ - python: Only use the first line of a license; some python packages (like
305
+ 'requests') embed their full license copy into the license field. For
306
+ the sake of sanity and function with most packaging systems, fpm only
307
+ uses the first line of that license.
308
+ - rpm: Add new 'none' option to --rpm-compression to disable compression
309
+ entirely. (#398, patch by Richard Guest)
310
+ - deb: Make dependencies using the '!=' operator represented as "Breaks"
311
+ in the deb package (previously used "Conflicts"). (#400)
312
+ - deb: Add md5sums to the debian packages which improves correctness
313
+ of the package. (#403, #401; patch by Pranay Kanwar)
314
+ - rpm: Convert all '!=' dependency operators to 'Conflicts'. Previously,
315
+ this only applied to packages converting from python to rpm.
316
+ (#404, #396; patch by Pranay Kanwar)
317
+
318
+ 0.4.31 (March 21, 2013)
319
+ - rpm: new flag --rpm-use-file-permissions which try to create an rpm
320
+ that has file ownership/modes that exactly mirror how they are on
321
+ the filesystem at package time. (#377, patch by Paul Rhodes)
322
+ - general: remove empty directories only when they match the exclude
323
+ pattern (#323, patch by Pranay Kanwar)
324
+
325
+ 0.4.30 (March 21, 2013)
326
+ - Solaris: --solaris-user and --solaris-group flags to specify
327
+ the owner of files in a package. (#342, patch by Derek Olsen)
328
+ - rpm: (bug fix) epoch of 0 is permitted now (#343, patch by Ben Hughes)
329
+ - pear: add flags --pear-bin-dir --pear-php-bin --pear-php-dir (#358, patch
330
+ by Zsolt Takács)
331
+ - New 'source' type: empty. Allows you to create packages without any files
332
+ in them (sometimes called 'meta packages'). Useful when you want to have
333
+ one package be simply dependencies or when you want to spoof a package
334
+ you don't want installed, etc. (#359, 349; patch by Pranay Kanwar)
335
+ - solaris: Add --solaris-user and --solaris-group flags (#342, Patch by Derek
336
+ Olsen)
337
+ - gem: new flag --env-shebang; default true (disable with --no-env-shebang).
338
+ Lets you disable #! (shebang) mangling done by gem installation. (#363,
339
+ patch by Grier Johnson)
340
+ - deb: fix bug on changelog handling (#376, patch by mbakke)
341
+ - rpm: fix --rpm-rpmbuild-define (#383, patch by Eric Merritt)
342
+
343
+ 0.4.29 (January 22, 2013)
344
+ - Copy links literally, not what they point at (#337, patch by Dane Knecht)
345
+
346
+ 0.4.28 (January 21, 2013)
347
+ - Fix a dependency on the 'cabin' gem. (#344, reported by Jay Buffington)
348
+
349
+ 0.4.27 (January 16, 2013)
350
+ - Make all fpm output go through the logger (#329; patch by jaybuff)
351
+ - New package type: osxpkg, for building packages installable on OS X. (#332,
352
+ patch by Timothy Sutton)
353
+ - Fix crash bug when converting rpms to something else (#316, #325; patch by
354
+ rtucker-mozilla)
355
+ - deb: Add --deb-field for setting a custom field in the control file.
356
+ For more information on this setting, see section 5.7 "User-defined fields"
357
+ of the debian policy manual:
358
+ http://www.debian.org/doc/debian-policy/ch-controlfields.html#s5.7
359
+ - deb: Add --deb-recommends and --deb-suggests (#285, #310; patch by Pranay
360
+ Kanwar)
361
+ - python to rpm: convert "!=" dependency operators in python to "Conflicts"
362
+ in rpm. (#263, #312; patch by Pranay Kanwar)
363
+ - python: fix bug - ignore blank lines in requirements.txt (#312, patch by
364
+ Pranay Kanwar)
365
+
366
+ 0.4.26 (December 27, 2012)
367
+ - rpm: add --rpm-sign flag to sign packages using the 'rpmbuild --sign' flag.
368
+ (#311, Patch by Pranay Kanwar)
369
+ - rpm: fix flag ordering when calling rpmbuild (#309, #315, patch by Trotter
370
+ Cashion)
371
+ - deb: re-enable "Predepends" support (#319, #320, patch by Pranay Kanwar)
372
+ - rpm: fix default 'rpm os' value (#321, 314, 309)
373
+
374
+ 0.4.25 (December 7, 2012)
375
+ - Added --deb-changelog and --rpm-changelog support flags. Both take a path to
376
+ a changelog file. Both must be valid changelog formats for their respective
377
+ package types. (#300, patch by Pranay Kanwar)
378
+ - deb: Multiple "provides" are now supported. (#301, patch by Pranay Kanwar)
379
+ - rpm: Added --rpm-os flag to set the OS target for the rpm. This lets you build
380
+ rpms for linux on OS X and other platforms (with --rpm-os linux). (#309)
381
+ - rpm: Avoid platform-dependent commands in the %install phase (#309, fixes
382
+ 'cp -d' on OSX)
383
+ - python: ignore comments in requirements.txt (#304, patch by Pranay Kanwar)
384
+ - Fixed warning 'already initialized constant' (#274)
385
+
386
+ 0.4.24 (November 30, 2012)
387
+ - Don't include an empty url in rpm spec (#296, #276; patch by Pranay Kanwar)
388
+ - Don't require extra parameters if you use --inputs (#278, #297; Patch by
389
+ Pranay Kanwar)
390
+ - python: supports requirements.txt now for dependency information.
391
+ - python: supports pip now. Use '--python-pip path/to/pip' to have fpm use
392
+ it instead of easy_install.
393
+ - solaris: package building works again (#216, #299, patch by Pierre-Yves
394
+ Ritschard)
395
+
396
+ 0.4.23 (November 26, 2012)
397
+ - The --directories flag is now recursive when the output package is rpm.
398
+ This makes all directories under a given path as owned by the package
399
+ so they'll be removed when the package is uninstalled (#245, #293, #294,
400
+ patch by Justin Ellison)
401
+ - Add fpm version info to '--help' output (#281)
402
+ - gem to rpm: Use 'rubygem(gemname)' for dependencies (#284, patch by
403
+ Jan Vansteenkiste)
404
+ - Fix a bug in gem version mangling (#292, #291; patch by Pranay Kanwar)
405
+ - Fix compatibility with Python 2.5 (#279, patch by Denis Bilenko)
406
+
407
+ 0.4.22 (November 15, 2012)
408
+ - Add --no-depends flag for creating packages with no dependencies listed
409
+ (#289, patch by Brett Gailey)
410
+ - Fix a bug where blank lines were present in a debian control file.
411
+ (#288, patch by Andrew Bunday)
412
+
413
+ 0.4.21 (November 8, 2012)
414
+ - gem: remove restriction on expected gem names (#287)
415
+ - add --directory flag; lets you mark a directory as being owned by a
416
+ package. (#260, #245, patch by ajf8)
417
+ - deb: don't include a version in the Provides field (#280)
418
+ - gem: if the version is '1.1' make it imply '1.1.0' (#269, patch by
419
+ Radim Marek)
420
+
421
+ 0.4.20 (October 5, 2012)
422
+ - python: only specify --install-{scripts,lib,data} flags to setup.py if
423
+ they were given on the command line to fpm. Fixes #273.
424
+
425
+ 0.4.19 (September 26, 2012)
426
+ - Escape '%' characters in file names (#266, #222. Patch by John Wittkoski)
427
+
428
+ 0.4.18 (September 25, 2012)
429
+ - Fix regression in rpm building where the epoch in was missing in the rpm,
430
+ but prior fpm versions defaulted it to 1. This caused rpms built with newer
431
+ fpms to appear "older" than older rpms. Tests added to ensure this regression
432
+ is caught prior to future releases! (Reported by eliklein)
433
+
434
+ 0.4.17 (September 12, 2012)
435
+ - Remove accidental JSON warning when using '-s python'
436
+
437
+ 0.4.16 (September 6, 2012)
438
+ - Fix compatibility with Ruby 1.8.7 (broken in 0.4.15)
439
+
440
+ 0.4.15 (September 6, 2012)
441
+ - pear: support custom channels with --pear-channel <channel> (#207)
442
+ Example: fpm -s pear -t deb --pear-channel pear.drush.org drush
443
+ - permit literal '\n' in --description, fpm will replace with a newline
444
+ character. Example: fpm --description "line one\nline two" (#251)
445
+ - improve error messaging when trying to output a package to a directory that
446
+ doesn't exist (#244)
447
+ - deb: convert '>' and '<' dependency operators to the correct '>>' and '<<'
448
+ debian version operators (#250, patch by Thomas Meson).
449
+ - deb: add --deb-priority flag (#232) for setting the debian 'priority'
450
+ value for your package.
451
+ - add --template-value. Used to expose arbitrary values to script templates.
452
+ If you do --template-value hello=world, in your template you can do
453
+ <%= hello %> to get 'world' to show up in your maintainer scripts.
454
+ - python: add --python-install-data flag to set the --install-data option to
455
+ setup.py (#255, patch by Thomas Meson)
456
+ - Reject bad dependency flags (ones containing commas) and offer alternative.
457
+ (#257)
458
+ - Try to copy a file if hardlinking fails with permission problems (#253,
459
+ patch by Jacek Lach)
460
+ - Make --exclude, if a directory, include itself and any children, recursive.
461
+ (#248)
462
+
463
+ 0.4.14 (August 24, 2012)
464
+ - rpm: Replace newlines with space in any license setting. (#252)
465
+
466
+ 0.4.13 (August 14, 2012)
467
+ - Make --exclude accept path prefixes as well. If you have a files in
468
+ 'usr/share/man' in your package, you can now exclude all of a subdir
469
+ by doing '--exclude usr/share/man'
470
+
471
+ 0.4.12 (August 10, 2012)
472
+ - Fix a major bug introduced in 0.4.11 that caused all deb packages to
473
+ contain empty maintainer scripts if not otherwise specified, which made
474
+ apt/dpkg quite unhappy
475
+
476
+ 0.4.11 (August 7, 2012)
477
+ - Fix some symlink handling to prevent links from being followed during
478
+ cleanup (#228, patch by sbuss)
479
+ - rpm: 'vendor' in rpm spec is now omitted if empty or nil. This fixes a bug
480
+ where rpmbuild fails due to empty 'Vendor' tag if you convert rpm to rpm.
481
+ - internal: remove empty directories marked by --exclude (#205, patch by
482
+ jimbrowne)
483
+ - dir: don't try to set utime on symlinks (#234, #240, patch by ctgswallow)
484
+ - rpm: relocatable rpms now supported when using the '--prefix' flag.
485
+ Example: fpm -s dir -t rpm --prefix /usr/local -n example /etc/motd
486
+ (patch by jkoppe)
487
+ - deb: --deb-compression flag: Support different compression methods.
488
+ Default continues to be gzip.
489
+ - new flag: --template-scripts. This lets you write script templates for
490
+ --after-install, etc. Templates are ERB, so you can do things like
491
+ '<%= name %>' to get the package name in the script, etc.
492
+ - warn on command invocations that appear to have stray flags to try and
493
+ help users who have complex command lines that are failling.
494
+
495
+ 0.4.10 (May 25, 2012)
496
+ - Fix python package support for python3 (#212, patch by Slezhuk Evgeniy)
497
+ - Preserve file metadata (time, owner, etc) when copying with the dir
498
+ package. (#217, patch by Marshall T. Vandegrift)
499
+ - Missing executables will now error more readably in fpm.
500
+ - Fix gem and python 'version' selection (#215, #204)
501
+ - Dependencies using '!=' will now map to 'Conflicts' in deb packages. (#221,
502
+ patch by Sven Fischer)
503
+ - Allow setting default user/group for files in rpm packages (#208, patch by
504
+ Jason Rogers). Note: This adds --user and --group flags to effect this.
505
+ These flags may go away in the future, but if they do, they will be
506
+ - In python packages set 'install-data' correctly. (#223, patch by Jamie
507
+ Scheinblum)
508
+
509
+ 0.4.9 (April 25, 2012)
510
+ - Fix --prefix support when building gems (#213, patch by Jan Vansteenkiste)
511
+
512
+ 0.4.8 (April 25, 2012)
513
+ - RPM: use 'noreplace' option for config files (#194, patch by Steve Lum)
514
+ - Python: Fix bug around exact dependency versions (#206, patch by Lars van
515
+ de Kerkhof)
516
+ - Gem->RPM: Make 'provides' "rubygem(thegemname)" instead of "rubygem-thegemname"
517
+ - Fix oddity where Ruby would complain about constant redefinition (#198,
518
+ patch by Marcus Vinicius Ferreira)
519
+
520
+ 0.4.7 skipped.
521
+
522
+ 0.4.6 (April 10, 2012)
523
+ - Work around more problems in RPM with respect to file listing (#202)
524
+
525
+ 0.4.5 (April 3, 2012)
526
+ - Fix gem->rpm conversion where the '~>' rubygem version operator (#193,
527
+ patch by antoncohen)
528
+ - Escape filenames RPM install process (permits files with spaces, dollar signs, etc)
529
+ (#196, reported by pspiertz)
530
+
531
+ 0.4.4 (March 30, 2012)
532
+ - Fix a bug in gem bin_dir handling (Calen Pennington)
533
+ - The --config-files flag should work again (Brian Akins)
534
+ - Fix syntax error when using --deb-pre-depends (Andrew Bennett)
535
+ - Make --exclude work again (#185, #186) (Calen Pennington)
536
+ - Fix file listing so that rpm packages don't declare ownership on / and
537
+ /usr, etc.
538
+ - make --deb-custom-control to work again (Tor Arne Vestbø)
539
+ - Add --rpm-digest flag to allow selection of the rpm 'file name' digest
540
+ algorithm. Default is 'md5' since it works on the most rpm systems.
541
+ - Reimplement old behavior assuming "." as the input when using '-s dir' and
542
+ also setting -C (#187)
543
+ - Set BuildRoot on rpm to work around an rpmbuild bug(?) on CentOS 5 (#191)
544
+ - Add --rpm-compression flag to allow selection of the rpm payload
545
+ compression. Default is 'gzip' since it works on the most rpm systems
546
+ - Specs now pass on ubuntu/32bit systems (found by travis-ci.org's test runner)
547
+ - Improve default values of iteration and epoch (#190)
548
+ - Make FPM::Package#files list only 'leaf' nodes (files, empty directories,
549
+ symlinks, etc).
550
+
551
+ 0.4.3 (March 21, 2012)
552
+ - Fix bug in python packaging when invoked with a relative path to a setup.py
553
+ (Reported by Thomas Meson, https://github.com/jordansissel/fpm/pull/180)
554
+
555
+ 0.4.2 (March 21, 2012)
556
+ - Set default temporary directory to /tmp
557
+ (https://github.com/jordansissel/fpm/issues/174)
558
+ - Improve symlink handling (patch by Aleix Conchillo Flaqué, pull/177))
559
+ - Python package support changes (thanks to input by Luke Macken):
560
+ * New flag: --python-install-bin. Sets the location for python package
561
+ scripts (default: /usr/bin)
562
+ * New flag: --python-install-lib. Sets the location for the python
563
+ package to install libs to, default varies by system. Usually something
564
+ like /usr/lib/python2.7/site-packages.
565
+ * Fix up --prefix support
566
+ * Improve staged package installation
567
+
568
+ 0.4.1 (March 19, 2012)
569
+ - Fix fpm so it works in ruby 1.8 again.
570
+ Tests run, and passing:
571
+ rvm 1.8.7,1.9.2,1.9.3 do bundle exec rspec
572
+
573
+ 0.4.0 (March 18, 2012)
574
+ - Complete rewrite of pretty much everything.
575
+ * Otherwise, the 'fpm' command functionality should be the same
576
+ * Please let me know if something broke!
577
+ - Now has an API (see examples/api directory)
578
+ - Also has a proper test suite
579
+ - Updated the rpm spec generator to disable all the ways I've found rpmbuild
580
+ to molest packages. This means that fpm-generated rpms will no longer
581
+ strip libraries, move files around, randomly mutate jar files, etc.
582
+ - Add --license and --vendor settings (via Pieter Loubser)
583
+ - python support: try to name python packages sanely. Some pypi packages
584
+ are literally called 'python-foo' so make sure we generate packages named
585
+ 'python-foo' and not 'python-python-foo' (via Thomas Meson)
586
+ - rpm support: Add --rpm-rpmbuild-define for passing a --define flag to rpmbuild
587
+ (via Naresh V)
588
+ - PHP pear source support (fpm -s pear ...) (via Andrew Gaffney)
589
+
590
+ 0.3.10 (Oct 10, 2011)
591
+ - Allow taking a list of files/inputs on stdin with '-' or with the --inputs
592
+ flag. (Matt Patterson)
593
+ - (python) pass -U to easy_install (Khalid Goudeaux)
594
+ - (debian) quote paths in md5sum calls (Matt Patterson)
595
+ - (debian) quiet stderr from dpkg --print-architecture
596
+
597
+ 0.3.9 (Sep 8, 2011)
598
+ - Fix bug in 'dir' source that breaks full paths
599
+ - Added a bunch of tests (yaay)
600
+
601
+ 0.3.8 and earlier: I have not kept this file up to date very well... Sorry :(
602
+
603
+ 0.2.29 (May 20, 2011)
604
+ - Add 'tar' source support. Useful for binary releases to repackage as rpms
605
+ and debs. Example:
606
+ fpm -s tar -t rpm -n firefox -v 4.0.1 \
607
+ --prefix /opt/firefox/4.0.1 firefox-4.0.1.tar.bz2
608
+
609
+ 0.2.28 (May 18, 2011)
610
+ - Use --replaces as "Obsoletes" in rpms.
611
+
612
+ 0.2.27 (May 18, 2011)
613
+ - If present, DEBEMAIL and DEBFULLNAME environment variables will be used as
614
+ the default maintainer. Previously the default was simply <$user@$hostname>
615
+ https://github.com/jordansissel/fpm/issues/37
616
+ - Add '--replaces' flag for specifying packages replaced by the one you are
617
+ building. This only functions in .deb packages now until I find a suitable
618
+ synonym in RPM.
619
+ - Add --python-bin and --python-easyinstall flags. This lets you choose specific
620
+ python and easy_install tools to use when building. Default is simply
621
+ 'python' and 'easy_install' respectively.
622
+ - Add support for ~/.fpmrc - The format of this file is the same as the flags.
623
+ One flag per line. https://github.com/jordansissel/fpm/issues/38
624
+ Example:
625
+ --python-bin=/usr/bin/python2.7
626
+ --python-easyinstall=/usr/bin/easy_install2.7
627
+
628
+ 0.2.26 and earlier
629
+ No changelist tracked. My bad, yo.