forked from jordansissel/fpm
-
Notifications
You must be signed in to change notification settings - Fork 0
/
CHANGELIST
414 lines (364 loc) · 19.8 KB
/
CHANGELIST
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
?.?.? (???)
- cpan: catch more cases of perllocal.pod and delete them (#510)
0.4.42 (July 23, 2013)
- dir: make source=destination mappings behave the same way 'rsync -a' does
with respect to source and destination paths.
0.4.41 (July 17, 2013)
- cpan: handle cases where modules don't specify a license
- deb: support multiple init scripts (#487, patch by Kristian Glass)
0.4.40 (July 12, 2013)
- dir: supports mapping one path to another.
You set mappings by using 'source=destination' syntax. For example:
% fpm -s dir -t deb -n example /home/jls/.zshrc=/etc/skel/
The key above is the '=' symbol. The result of the above will be a package
containing only /etc/skel/.zshrc
For more, see https://github.com/jordansissel/fpm/wiki/Source:-dir#mapping
- python: the default scripts location is now chosen by python itself. The
previous default was "/usr/bin" and was not a good default. (#480)
- rpm: config files should have attributes (#484, patch by adamcstephens)
- python: correctly log the python setup.py exit code (#481, patch by Derek
Ludwig)
0.4.39 (June 27, 2013)
- cpan: support more complex dependency specifications (reported by Mabi
Knittel)
0.4.38 (June 24, 2013)
- cpan: fpm's cpan code now works under ruby 1.8.7
- python: fix a bug in dependency handling (#461, Pranay Kanwar)
- pear: Added --pear-data-dir flag (#465, Zsolt Takács)
- cpan: fix a bug with some clean up on certain 64bit systems
- gem: improve detection of the gem bin install path (#476, Tray Torrance)
- rpm: fix bug when calling using --rpm-use-file-permissions
(#464, Rich Horwood)
0.4.37 (May 30, 2013)
- deb: fix creation failures on OS X (#450, patch by Anthony Scalisi and
Matthew M. Boedicker)
- deb: you can now set --deb-build-depends. This is generally for extremely
rare use cases. (#451, patch by torrancew)
- perl: add --cpan-perl-lib-path for a custom perl library installation path
(#447, patch by Brett Gailey)
0.4.36 (May 15, 2013)
- pear: only do channel-discover if necessary (#438, patch by Hatt)
- cpan: now supports cpan modules that use Module::Build
- cpan: --no-cpan-test now skips tests for build/configure dependencies
- rpm: Add --rpm-defattrfile and --rpm-defattrdir flags (#428, patch
by phrawzty)
0.4.35 -- was not announced
0.4.34 (May 7, 2013)
- Now supports CPAN - Perl mongers rejoice! For example:
'fpm -s cpan -t deb DBI'
- deb: fixed some additional complaints by lintian (#420, patch by Pranay
Kanwar)
- rpm: add flags --rpm-autoreqprov, --rpm-autoreq, and --rpm-autoprov
to tell rpm to enable that feature in the rpm spec. (#416, patch by Adam
Stephens)
0.4.33 (April 9, 2013)
- Now supports npm, the node package manager. For example:
'fpm -s npm -t deb express'
0.4.32 (April 9, 2013)
- COMPATIBILITY WARNING: rpm: The default epoch is now nothing because this
aligns more closely with typical rpm packages in the real world. This
decision was reached in #381. If you need the previous behavior, you
must now specify '--epoch 1' (#388, patch by Pranay Kanwar)
- python: new flag --python-obey-requirements-txt which makes a
requirements.txt file from the python package used for the package
dependencies instead of the usual setup.py dependencies. The default
behavior without this flag is to respect setup.py. (#384)
- deb: new flag --deb-shlibs to specify the content of the 'shlibs' file
in the debian package (#405, patch by Aman Gupta)
- deb: fixed a few lintian errors (empty conffiles, md5sums on symlinks, etc)
- Add '-f' / '--force' flag to force overwriting an existing package output
path (#385, Timothy Sutton)
- New flag: --no-auto-depends flag to skip any automatic dependencies
that would normally be added by gem, python, deb, and rpms input packages.
(#386, #374; patch by Pranay Kanwar)
- gem: Use 'gem' command to download gems and read gem package information.
(#389, #394, #378, #233; patches by Pranay Kanwar and Chris Roberts)
- rpm: dashes are now replaced with underscores in rpm version strings
(#395, #393, #399; patches by Jeff Terrace and Richard Guest)
- python: Only use the first line of a license; some python packages (like
'requests') embed their full license copy into the license field. For
the sake of sanity and function with most packaging systems, fpm only
uses the first line of that license.
- rpm: Add new 'none' option to --rpm-compression to disable compression
entirely. (#398, patch by Richard Guest)
- deb: Make dependencies using the '!=' operator represented as "Breaks"
in the deb package (previously used "Conflicts"). (#400)
- deb: Add md5sums to the debian packages which improves correctness
of the package. (#403, #401; patch by Pranay Kanwar)
- rpm: Convert all '!=' dependency operators to 'Conflicts'. Previously,
this only applied to packages converting from python to rpm.
(#404, #396; patch by Pranay Kanwar)
0.4.31 (March 21, 2013)
- rpm: new flag --rpm-use-file-permissions which try to create an rpm
that has file ownership/modes that exactly mirror how they are on
the filesystem at package time. (#377, patch by Paul Rhodes)
- general: remove empty directories only when they match the exclude
pattern (#323, patch by Pranay Kanwar)
0.4.30 (March 21, 2013)
- Solaris: --solaris-user and --solaris-group flags to specify
the owner of files in a package. (#342, patch by Derek Olsen)
- rpm: (bug fix) epoch of 0 is permitted now (#343, patch by Ben Hughes)
- pear: add flags --pear-bin-dir --pear-php-bin --pear-php-dir (#358, patch
by Zsolt Takács)
- New 'source' type: empty. Allows you to create packages without any files
in them (sometimes called 'meta packages'). Useful when you want to have
one package be simply dependencies or when you want to spoof a package
you don't want installed, etc. (#359, 349; patch by Pranay Kanwar)
- solaris: Add --solaris-user and --solaris-group flags (#342, Patch by Derek
Olsen)
- gem: new flag --env-shebang; default true (disable with --no-env-shebang).
Lets you disable #! (shebang) mangling done by gem installation. (#363,
patch by Grier Johnson)
- deb: fix bug on changelog handling (#376, patch by mbakke)
- rpm: fix --rpm-rpmbuild-define (#383, patch by Eric Merritt)
0.4.29 (January 22, 2013)
- Copy links literally, not what they point at (#337, patch by Dane Knecht)
0.4.28 (January 21, 2013)
- Fix a dependency on the 'cabin' gem. (#344, reported by Jay Buffington)
0.4.27 (January 16, 2013)
- Make all fpm output go through the logger (#329; patch by jaybuff)
- New package type: osxpkg, for building packages installable on OS X. (#332,
patch by Timothy Sutton)
- Fix crash bug when converting rpms to something else (#316, #325; patch by
rtucker-mozilla)
- deb: Add --deb-field for setting a custom field in the control file.
For more information on this setting, see section 5.7 "User-defined fields"
of the debian policy manual:
http://www.debian.org/doc/debian-policy/ch-controlfields.html#s5.7
- deb: Add --deb-recommends and --deb-suggests (#285, #310; patch by Pranay
Kanwar)
- python to rpm: convert "!=" dependency operators in python to "Conflicts"
in rpm. (#263, #312; patch by Pranay Kanwar)
- python: fix bug - ignore blank lines in requirements.txt (#312, patch by
Pranay Kanwar)
0.4.26 (December 27, 2012)
- rpm: add --rpm-sign flag to sign packages using the 'rpmbuild --sign' flag.
(#311, Patch by Pranay Kanwar)
- rpm: fix flag ordering when calling rpmbuild (#309, #315, patch by Trotter
Cashion)
- deb: re-enable "Predepends" support (#319, #320, patch by Pranay Kanwar)
- rpm: fix default 'rpm os' value (#321, 314, 309)
0.4.25 (December 7, 2012)
- Added --deb-changelog and --rpm-changelog support flags. Both take a path to
a changelog file. Both must be valid changelog formats for their respective
package types. (#300, patch by Pranay Kanwar)
- deb: Multiple "provides" are now supported. (#301, patch by Pranay Kanwar)
- rpm: Added --rpm-os flag to set the OS target for the rpm. This lets you build
rpms for linux on OS X and other platforms (with --rpm-os linux). (#309)
- rpm: Avoid platform-dependent commands in the %install phase (#309, fixes
'cp -d' on OSX)
- python: ignore comments in requirements.txt (#304, patch by Pranay Kanwar)
- Fixed warning 'already initialized constant' (#274)
0.4.24 (November 30, 2012)
- Don't include an empty url in rpm spec (#296, #276; patch by Pranay Kanwar)
- Don't require extra parameters if you use --inputs (#278, #297; Patch by
Pranay Kanwar)
- python: supports requirements.txt now for dependency information.
- python: supports pip now. Use '--python-pip path/to/pip' to have fpm use
it instead of easy_install.
- solaris: package building works again (#216, #299, patch by Pierre-Yves
Ritschard)
0.4.23 (November 26, 2012)
- The --directories flag is now recursive when the output package is rpm.
This makes all directories under a given path as owned by the package
so they'll be removed when the package is uninstalled (#245, #293, #294,
patch by Justin Ellison)
- Add fpm version info to '--help' output (#281)
- gem to rpm: Use 'rubygem(gemname)' for dependencies (#284, patch by
Jan Vansteenkiste)
- Fix a bug in gem version mangling (#292, #291; patch by Pranay Kanwar)
- Fix compatibility with Python 2.5 (#279, patch by Denis Bilenko)
0.4.22 (November 15, 2012)
- Add --no-depends flag for creating packages with no dependencies listed
(#289, patch by Brett Gailey)
- Fix a bug where blank lines were present in a debian control file.
(#288, patch by Andrew Bunday)
0.4.21 (November 8, 2012)
- gem: remove restriction on expected gem names (#287)
- add --directory flag; lets you mark a directory as being owned by a
package. (#260, #245, patch by ajf8)
- deb: don't include a version in the Provides field (#280)
- gem: if the version is '1.1' make it imply '1.1.0' (#269, patch by
Radim Marek)
0.4.20 (October 5, 2012)
- python: only specify --install-{scripts,lib,data} flags to setup.py if
they were given on the command line to fpm. Fixes #273.
0.4.19 (September 26, 2012)
- Escape '%' characters in file names (#266, #222. Patch by John Wittkoski)
0.4.18 (September 25, 2012)
- Fix regression in rpm building where the epoch in was missing in the rpm,
but prior fpm versions defaulted it to 1. This caused rpms built with newer
fpms to appear "older" than older rpms. Tests added to ensure this regression
is caught prior to future releases! (Reported by eliklein)
0.4.17 (September 12, 2012)
- Remove accidental JSON warning when using '-s python'
0.4.16 (September 6, 2012)
- Fix compatibility with Ruby 1.8.7 (broken in 0.4.15)
0.4.15 (September 6, 2012)
- pear: support custom channels with --pear-channel <channel> (#207)
Example: fpm -s pear -t deb --pear-channel pear.drush.org drush
- permit literal '\n' in --description, fpm will replace with a newline
character. Example: fpm --description "line one\nline two" (#251)
- improve error messaging when trying to output a package to a directory that
doesn't exist (#244)
- deb: convert '>' and '<' dependency operators to the correct '>>' and '<<'
debian version operators (#250, patch by Thomas Meson).
- deb: add --deb-priority flag (#232) for setting the debian 'priority'
value for your package.
- add --template-value. Used to expose arbitrary values to script templates.
If you do --template-value hello=world, in your template you can do
<%= hello %> to get 'world' to show up in your maintainer scripts.
- python: add --python-install-data flag to set the --install-data option to
setup.py (#255, patch by Thomas Meson)
- Reject bad dependency flags (ones containing commas) and offer alternative.
(#257)
- Try to copy a file if hardlinking fails with permission problems (#253,
patch by Jacek Lach)
- Make --exclude, if a directory, include itself and any children, recursive.
(#248)
0.4.14 (August 24, 2012)
- rpm: Replace newlines with space in any license setting. (#252)
0.4.13 (August 14, 2012)
- Make --exclude accept path prefixes as well. If you have a files in
'usr/share/man' in your package, you can now exclude all of a subdir
by doing '--exclude usr/share/man'
0.4.12 (August 10, 2012)
- Fix a major bug introduced in 0.4.11 that caused all deb packages to
contain empty maintainer scripts if not otherwise specified, which made
apt/dpkg quite unhappy
0.4.11 (August 7, 2012)
- Fix some symlink handling to prevent links from being followed during
cleanup (#228, patch by sbuss)
- rpm: 'vendor' in rpm spec is now omitted if empty or nil. This fixes a bug
where rpmbuild fails due to empty 'Vendor' tag if you convert rpm to rpm.
- internal: remove empty directories marked by --exclude (#205, patch by
jimbrowne)
- dir: don't try to set utime on symlinks (#234, #240, patch by ctgswallow)
- rpm: relocatable rpms now supported when using the '--prefix' flag.
Example: fpm -s dir -t rpm --prefix /usr/local -n example /etc/motd
(patch by jkoppe)
- deb: --deb-compression flag: Support different compression methods.
Default continues to be gzip.
- new flag: --template-scripts. This lets you write script templates for
--after-install, etc. Templates are ERB, so you can do things like
'<%= name %>' to get the package name in the script, etc.
- warn on command invocations that appear to have stray flags to try and
help users who have complex command lines that are failling.
0.4.10 (May 25, 2012)
- Fix python package support for python3 (#212, patch by Slezhuk Evgeniy)
- Preserve file metadata (time, owner, etc) when copying with the dir
package. (#217, patch by Marshall T. Vandegrift)
- Missing executables will now error more readably in fpm.
- Fix gem and python 'version' selection (#215, #204)
- Dependencies using '!=' will now map to 'Conflicts' in deb packages. (#221,
patch by Sven Fischer)
- Allow setting default user/group for files in rpm packages (#208, patch by
Jason Rogers). Note: This adds --user and --group flags to effect this.
These flags may go away in the future, but if they do, they will be
- In python packages set 'install-data' correctly. (#223, patch by Jamie
Scheinblum)
0.4.9 (April 25, 2012)
- Fix --prefix support when building gems (#213, patch by Jan Vansteenkiste)
0.4.8 (April 25, 2012)
- RPM: use 'noreplace' option for config files (#194, patch by Steve Lum)
- Python: Fix bug around exact dependency versions (#206, patch by Lars van
de Kerkhof)
- Gem->RPM: Make 'provides' "rubygem(thegemname)" instead of "rubygem-thegemname"
- Fix oddity where Ruby would complain about constant redefinition (#198,
patch by Marcus Vinicius Ferreira)
0.4.7 skipped.
0.4.6 (April 10, 2012)
- Work around more problems in RPM with respect to file listing (#202)
0.4.5 (April 3, 2012)
- Fix gem->rpm conversion where the '~>' rubygem version operator (#193,
patch by antoncohen)
- Escape filenames RPM install process (permits files with spaces, dollar signs, etc)
(#196, reported by pspiertz)
0.4.4 (March 30, 2012)
- Fix a bug in gem bin_dir handling (Calen Pennington)
- The --config-files flag should work again (Brian Akins)
- Fix syntax error when using --deb-pre-depends (Andrew Bennett)
- Make --exclude work again (#185, #186) (Calen Pennington)
- Fix file listing so that rpm packages don't declare ownership on / and
/usr, etc.
- make --deb-custom-control to work again (Tor Arne Vestbø)
- Add --rpm-digest flag to allow selection of the rpm 'file name' digest
algorithm. Default is 'md5' since it works on the most rpm systems.
- Reimplement old behavior assuming "." as the input when using '-s dir' and
also setting -C (#187)
- Set BuildRoot on rpm to work around an rpmbuild bug(?) on CentOS 5 (#191)
- Add --rpm-compression flag to allow selection of the rpm payload
compression. Default is 'gzip' since it works on the most rpm systems
- Specs now pass on ubuntu/32bit systems (found by travis-ci.org's test runner)
- Improve default values of iteration and epoch (#190)
- Make FPM::Package#files list only 'leaf' nodes (files, empty directories,
symlinks, etc).
0.4.3 (March 21, 2012)
- Fix bug in python packaging when invoked with a relative path to a setup.py
(Reported by Thomas Meson, https://github.com/jordansissel/fpm/pull/180)
0.4.2 (March 21, 2012)
- Set default temporary directory to /tmp
(https://github.com/jordansissel/fpm/issues/174)
- Improve symlink handling (patch by Aleix Conchillo Flaqué, pull/177))
- Python package support changes (thanks to input by Luke Macken):
* New flag: --python-install-bin. Sets the location for python package
scripts (default: /usr/bin)
* New flag: --python-install-lib. Sets the location for the python
package to install libs to, default varies by system. Usually something
like /usr/lib/python2.7/site-packages.
* Fix up --prefix support
* Improve staged package installation
0.4.1 (March 19, 2012)
- Fix fpm so it works in ruby 1.8 again.
Tests run, and passing:
rvm 1.8.7,1.9.2,1.9.3 do bundle exec rspec
0.4.0 (March 18, 2012)
- Complete rewrite of pretty much everything.
* Otherwise, the 'fpm' command functionality should be the same
* Please let me know if something broke!
- Now has an API (see examples/api directory)
- Also has a proper test suite
- Updated the rpm spec generator to disable all the ways I've found rpmbuild
to molest packages. This means that fpm-generated rpms will no longer
strip libraries, move files around, randomly mutate jar files, etc.
- Add --license and --vendor settings (via Pieter Loubser)
- python support: try to name python packages sanely. Some pypi packages
are literally called 'python-foo' so make sure we generate packages named
'python-foo' and not 'python-python-foo' (via Thomas Meson)
- rpm support: Add --rpm-rpmbuild-define for passing a --define flag to rpmbuild
(via Naresh V)
- PHP pear source support (fpm -s pear ...) (via Andrew Gaffney)
0.3.10 (Oct 10, 2011)
- Allow taking a list of files/inputs on stdin with '-' or with the --inputs
flag. (Matt Patterson)
- (python) pass -U to easy_install (Khalid Goudeaux)
- (debian) quote paths in md5sum calls (Matt Patterson)
- (debian) quiet stderr from dpkg --print-architecture
0.3.9 (Sep 8, 2011)
- Fix bug in 'dir' source that breaks full paths
- Added a bunch of tests (yaay)
0.3.8 and earlier: I have not kept this file up to date very well... Sorry :(
0.2.29 (May 20, 2011)
- Add 'tar' source support. Useful for binary releases to repackage as rpms
and debs. Example:
fpm -s tar -t rpm -n firefox -v 4.0.1 \
--prefix /opt/firefox/4.0.1 firefox-4.0.1.tar.bz2
0.2.28 (May 18, 2011)
- Use --replaces as "Obsoletes" in rpms.
0.2.27 (May 18, 2011)
- If present, DEBEMAIL and DEBFULLNAME environment variables will be used as
the default maintainer. Previously the default was simply <$user@$hostname>
https://github.com/jordansissel/fpm/issues/37
- Add '--replaces' flag for specifying packages replaced by the one you are
building. This only functions in .deb packages now until I find a suitable
synonym in RPM.
- Add --python-bin and --python-easyinstall flags. This lets you choose specific
python and easy_install tools to use when building. Default is simply
'python' and 'easy_install' respectively.
- Add support for ~/.fpmrc - The format of this file is the same as the flags.
One flag per line. https://github.com/jordansissel/fpm/issues/38
Example:
--python-bin=/usr/bin/python2.7
--python-easyinstall=/usr/bin/easy_install2.7
0.2.26 and earlier
No changelist tracked. My bad, yo.