Fpm Versions Save

Effing package management! Build packages for multiple platforms (deb, rpm, etc) with great ease and sanity.

v1.15.1

1 year ago
  • Ruby 3.2.0 now supported. This fixes error 'undefined method exists? for File' '(#1981, #1988; Nicholas Hubbard, romulasry)

v1.15.0

1 year ago
  • New flag --fpm-options-file path/to/file which allows you to specify additional fpm flags in an external file of your choosing. (#1905, #1902, #1827; Jordan Sissel, Will Furnell, hjpotter92)
  • deb: Periods are now accepted in package names (#1899; C. Cooke)
  • Fix bug where fpm would crash if --workdir pointed at a path that didn't exist. (#1959; Jordan Sissel)
  • osxpkg: this package format now supports the fpm --prefix flag(#1909, #1908; Jordan Sissel, mcataga)
  • cpan: Fix bug where fpm would fail on certain Perl modules due to their source tarball structure (#1940; Nicholas Hubbard, William N. Braswell, Jr.)
  • cpan: Fix crash on certain CPAN modules where the author field was blank (#1942, #1937, #1523, #1528; Nicholas Hubbard, William N. Braswell, Jr.)
  • deb: The distribution field of the debian changelog and changes files will now use the value set by --deb-dist (default is "unstable") (#1934; Chabert Loïc)
  • python: Fix errors in how fpm invoked pip. Previously, fpm would use pip's --build flag, but this was removed a while ago, and fpm is now aware! (#1896, #1831, #1893, #1916; Jordan Sissel, Svyatogor Chuykov)
  • pleaserun: Add --pleaserun-user flag. (#1912; Evgeny Stambulchik)
  • deb: The default --deb-priority is now "optional" instead of "extra" (#1913; Chris Novakovic)
  • Enable installation of fpm on older versions of ruby. This change removed git rubygem dependency. (#1946, #1923; Jordan Sissel, Andreas Wirooks, Ruslan Kuprieiev, jamshid, Lorenzo Castellino, Sam Hughes)
  • Enable operation of fpm on very old versions of ruby (as old as Ruby 1.9.3). This changed removed json rubygem dependency. (#1950, #1949, #1741, #1264, #1798, #1800, #1784; Jordan Sissel and many others)
  • Fix bug where subprocesses could hang waiting for input (#1955, #1519, #1522; Nicholas Hubbard, William N. Braswell, Jr.)
  • Update Dockerfile to use ubuntu:20.04 (#1935; Gnought)
  • internal: Fix a code typo (#1948; Nicholas Hubbard)
  • internal tests: Support newer versions of lintian (#1939, #1907; Jordan Sissel)
  • Improve support for Ruby 3.1.0 and newer that would previously crash with an error mentioning Psych::DisallowedClass (#1898, #1895; Jordan Sissel, Alexandre ZANNI)
  • Improve support for Ruby 3.1.0 and newer that changed the API for ERB (#1897; Jordan Sissel)

v1.14.0

2 years ago

Major documentation rewrite for this version. I hope it makes things easier to learn and find! https://fpm.readthedocs.io/en/v1.14.0/

FreeBSD bug fix, python now uses pip by default, and a few other nice improvements listed below:

Changes

  • python: Use pip by default for fetching Python packages. This matches the Python 3 "installation" docs which recommend calling pip as python -m pip where python depends on --python-bin (default "python"). Previous default was to use easy_install which is no longer available on many newer systems. To use easy_install, you can set --no-python-internal-pip to revert this pip default. Further, you can specify your own pip path instead of using python -m pip with the --python-pip /path/to/pip flag. (#1820, #1821; Jordan Sissel)
  • python: Support extras_require build markers in python packages (#1307, #1816; Joris Vandermeersch)
  • freebsd: Fix bug which caused fpm to generate incorrect FreeBSD packages "missing leading /" (#1811, #1812, #1844, #1832, #1845_; Vlastimil Holer, Clayton Wong, Markus Ueberall, Jordan Sissel)
  • deb: In order to only allow fpm to create valid packages, fpm now rejects packages with invalid "provides" (--provides) values. (#1829, #1825; Jordan Sissel, Peter Teichman)
  • deb: Only show a warning about /etc and config files if there are files in /etc (#1852, #1851; Jordan Sissel)
  • rpm: replace dash with underscore in rpm's "Release" field aka what fpm calls --iteration. (#1834, #1833; Jordan Sissel)
  • empty: fpm -s empty ... now defaults to "all" architecture instead of "native". (#1850, #1846; Jordan Sissel)
  • Significant documentation improvements rewriting most of the documentation. New overview pages, full CLI flag listing, and new sections dedicated package types (rpm, cpan, deb, etc). (#1815, #1817, #1838_; Vedant K, Jordan Sissel)
  • Typo fixes in documentation are always appreciated! (#1842_; Clayton Wong)
  • fpm can now (we hope!) now be tested more easily from docker (#1818, #1682, #1453_; @directionless, Jordan Sissel, Douglas Muth)