Cross package maker. DEB/RPM generation or conversion. Derived from jordansissel/fpm.

⌈⌋ branch:  cross package maker

Artifact Content

Artifact b59a8562e03418b37ba855d25c056597a676d284:

  • File CHANGELIST — part of check-in [0acf568fb8] at 2015-04-14 17:58:58 on branch trunk — Sufficient amount of commits for a minor bugfix release. (user: mario size: 9505) (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
  - 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{}. (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. (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. (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:
  - 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.
  - 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
  - Handle Darwin/OSX tar invocations (now tries 'gnutar' and 'gtar'). (Jordan
  - 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