1.3.3.6 (2015-04-15) - Add an even more general update filter, which utilizes make scripts called `Packfile`. (Can be utilized for mid-packaging tweaks.) - Add mandatory `Source:` control field for DEB packages. - Guard absent documentation comment when reading -s src files. - Introduce brute force charset detection, assume UTF-8, else L1/ASCII. - Fix default file mode for write_changelog, and fix lintian bug with absent md5sum for stub changelog. Prepare parseable DEP-5 license list. - Introduce preprocessor filter utilizing preprocess.py. - Enhance -s src plugin with some relative target path inheritance. Absolute paths aren't modularizable yet. And be more precautious with comment syntax consistency. - Make -u fixperms ignore symlinks and chmod woes. - Composer target: strip VCS #hashversion suffixes. Reinstate RPM support with php-composer(vnd/pkg) serialization. Handle tilde, caret and asterisk specifiers more concretely. Downcase version suffixes for DEB. Add --composer-no-alt flag to avoid phar-|php- combinations. - Phar target: Add --phar-x flag for executable flag. Remove --phar-stub prefix path. Classmap building avoids chdir now, uses Canonic_Autoloader tokenizer implementation. Default attributes are better filtered. - Src plugin: retain invocation script as `main` file in attrs{}. 1.3.3.5 (2015-01-04) - Cleanup of composer plugin for more isolated multi-target creation, configurable --prefix, supports php+phar alternatives in dependencies. - More complete path cleanups for plugin chains. - Update filters -u and target -t options can now be repeated (multivalued alternatively to list specifiers). - Introduce --attr flag to add control fields (aliases to --deb-field). - Added filename lowercasing plugin. - Deprecated fpm options are now hidden in the help list, still available. 1.3.3.4 (2014-12-26) - Restructured staging/conversion step to separate flags and dependency resolution for multi-target building. - Composer module changed to match Debian/Fedora packaging guidelines. Prefixed vendor/ path is omitted, composer managebility averted. Dependency transformation still is somewhat rough. - Phar, Src, Exe, Composer module now use :attrs instead of [:meta]. - Added backtrace output for generic error message. - Simple update filter added to "unprefix" input system packages. 1.3.3.3 (2014-12-22) - Added IPK / Listaller packaging target plugin. - Added Windows (EXE) installer generation. - Added PHP composer as source plugin. - Added source-based file packaging support (-t src plugin). - Added PHP phar archive generation plugin. - Introduction of multi-target building with -t rpm,deb,ipk. - Added -u update filters for simple packaging tasks (existing plugins: man, desktop, appdata, fixperms, strip, composer, deps). - Added --deb-sign option. - Changed zip plugin to omit /tmp/package* path. - Now supports .pax and .cpio through the tar plugin. - First release of the `xpm` branch. Gemspec adapted. 1.3.3 (2014-12-11) - The fpm project now uses Contributor Covenant. You can read more about this on the website: http://contributor-covenant.org/ - npm: Fix bug causing all `-s npm` attempts to fail due to a missing method. This bug was introduced in 1.3.0. (#800, #806; Jordan Sissel) - rpm: fix bug in rpm input causing a crash if the input rpm did not have any triggers (#801, #802; Ted Elwartowski) 1.3.2 (2014-11-04) - deb: conversion from another deb will automatically use any changelog found in the source deb (Jordan Sissel) 1.3.1 (2014-11-04) - deb: fix md5sums generation such that `dpkg -V` now works (#799, Matteo Panella) - rpm: Use maximum compression when choosing xz (#797, Ashish Kulkarni) 1.3.0 (2014-10-25) - Fixed a bunch of Ruby 1.8.7-related bugs. (Jordan Sissel) - cpan: Fix bug in author handling (#744, Leon Weidauer) - cpan: Better removal of perllocal.pod (#763, #443, #510, Mathias Lafeldt) - rpm: Use lstat calls instead of stat, so we don't follow symlinks (#765, Shrijeet Paliwal) - rpm and deb: Now supports script actions on upgrades. This adds two new flags: --before-upgrade and --after-upgrade. (#772, #661; Daniel Haskin) - rpm: Package triggers are now supported. New flags: --rpm-trigger-before-install, --rpm-trigger-after-install, --rpm-trigger-before-uninstall, --rpm-trigger-after-target-uninstall. (#626, Maxime Caumartin) - rpm: Add --rpm-init flag; similar to --deb-init. (Josh Dolitsky) - sh: Skip installation if already installed for the given version. If forced, the old installation is renamed. (#776, Chris Gerber) - deb: Allow Vendor field to be omitted now by specifying `--vendor ""` (#778, Nate Brown) - general: Add --log=level flag for setting log level. Levels are error, warn, info, debug. (Jordan SIssel) - cpan: Check for Build.PL first before Makefile.PL (#787, Daniel Jay Haskin) - dir: Don't follow symlinks when copying files (#658, Jordan Sissel) - deb: Automatically provide a 'changes' file in debs because lintian complains if they are missing. (#784, Jordan Sissel) - deb: Fix and warn for package names that have spaces (#779, Grantlyk) - npm: Automatically set the prefix to `npm prefix -g` (#758, Brady Wetherington and Jordan Sissel) 1.2.0 (2014-07-25) - rpm: Add --rpm-verifyscript for adding a custom rpm verify script to your package. (Remi Hakim) - Allow the -p flag to target a directory for writing the output package (#656, Jordan Sissel) - Add --debug-workspace which skips any workspace cleanup to let users debug things if they break. (#720, #734; Jordan Sissel) - rpm: Add --rpm-attr for controlling attribute settings per file. This setting will likely be removed in the future once rpmbuild is no longer needed. (#719) - deb: Add --deb-meta-file to add arbitrary files to the control dir (#599, Dan Brown) - deb: Add --deb-interest and --deb-activate for adding package triggers (#595, Dan Brown) - cpan: Fix small bug in handling empty metadata fields (#712, Mathias Lafeldt) - rpm: Fix bug when specifying both --architecture and --rpm-os (#707, #716; Alan Ivey) - gem: Fix bug where --gem-version-bins is given but package has no bins (#688, Jan Vansteenkiste) - deb: Set permissions correct on the package's internals. Makes lintian happier. (Jan Vansteenkiste) - rpm: rpmbuild's _tmppath now respects --workdir (#714, Jordan Sissel) - gem/rpm: Add --rpm-verbatim-gem-dependencies to use old-style (fpm 0.4.x) rpm gem dependencies (#724, Jordan Sissel) - gem/rpm: Fix bug for gem pessimistic constraints when converting to rpm (Tom Duckering) - python: Fix small bug with pip invocations (#727, Dane Knecht) 1.1.0 (2014-04-23) - New package type: zip, for converting to and from zip files (Jordan Sissel) - New package type: sh, a self-extracting package installation shell archive. (#651, Chris Gerber) - 'fpm --version' will now emit the version of fpm. - rpm: supports packaging fifo files (Adam Stephens) - deb: Add --deb-use-file-permissions (Adam Stephens) - cpan: Improve how fpm tries to find cpan artifacts for download (#614, Tim Nicholas) - gem: Add --gem-disable-dependency for removing one or more specific rubygem dependencies from the automatically-generated list (#598, Derek Olsen) - python: Add --python-scripts-executable for setting a custom interpreter to use for the hashbang line at the top of may python package scripts. (#628, Vladimir Rutsky) - Allow absolute paths with --directories even when --prefix is used (Vladimir Rutsky) - dir: Now correctly identifies hardlinked files and creates a package correctly with that knowledge (#365, #623, #659; Vladimir Rutsky) - rpm: Add --rpm-auto-add-exclude-directories for excluding directories from the --rpm-auto-add-directories behavior (#640, Vladimir Rutsky) - general: --config-files now accepts directories and will recursively mark any files within as config files inside the package (#642, Vladimir Rutsky) - general: If you specify a --config-files path that doesn't exist, you will now get an error. (#654, Alan Franzoni) - python: Support --python-pypi when using --python-pip (#652, David Lindquist) - deb: Tests now try to make packages ensure we don't upset lintian (#648, Sam Crang) - rpm: Fix architecture targeting (#676, Rob Kinyon) - rpm: Allow --rpm-user and --rpm-group to override the user/group even if --rpm-use-file-permissions is enabled. (#679, Jordan Sissel) - gem: Add --gem-version-bins for appending the gem version to the file name of executable scripts a rubygem may install. (Jan Vansteenkiste) - python: Attempt to provide better error messages for known issues in python environments (#664, Jordan Sissel) 1.0.2 (2013-01-10) - rpm: No longer converts - to _ in dependency strings (#603, Bulat Shakirzyanov) - Handle Darwin/OSX tar invocations (now tries 'gnutar' and 'gtar'). (Jordan Sissel) - Process $HOME/.fpm, and $PWD/.fpm in the correct order and allow CLI flags to override fpm config file settings. (#615, Jordan Sissel) - Don't leave empty gem bin paths in packages that don't need them (#612, Jordan Sissel) - deb: Make --deb-compression=gz work correctly (#616, #617; Evan Krall, Jason Yan) 1.0.1 (2013-12-07) - deb: Correctly handle --config-files given