Cross Package Maker

XPM is an experimental branch of fpm (effing package management). Both simplify generating DEB, RPM, OSX, Solaris packages and some language-specific bundles. Cross package maker (XPM) adds simpler milti-target building per "-t deb,rpm,ipk" and convenient update filters. It also introduces a Windows EXE target, IPK/Listaller packages, support for PHP Phar archives, Composer bundle conversion, and a SRC input filter (for self-contained scripting code). "xpm" can be installed in parallel to the mainline "fpm" tool.

Tags ruby packaging installation deb rpm npm ipk exe phar php composer
License MITL
State development

Recent Releases Apr 2015 03:15 minor feature: 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 . Jan 2015 21:05 cleanup: 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 . Introduce --attr flag to add control fields . Added filename lowercasing plugin. Deprecated fpm options are now hidden in the help list, still available. Dec 2014 03:15 minor feature: 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 . Added backtrace output for generic error message. Simple update filter added to "unprefix" input system packages. Dec 2014 20:45 major feature: Branch derived from fpm 1.3.3. This release introduces the Windows SFX installer builder (.exe target), support for Listaller cross-distro packages (.ipk), simple PHP Phar archive building, and Composer bundle to rpm/deb conversion. It also adds the "src" source plugin for simpler packing of scripting-language based apps (with self-contained meta information and packaging data in source file comments). Multi-target building with -t deb,rpm,exe,ipk is another major feature, as are update filers -u man,desktop,appdata to avoid a few manual build tasks. Debian package signing was added. Minor additions to zip and tar plugins.