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

⌈⌋ ⎇ branch:  cross package maker


Timeline

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

102 check-ins using file README.md version 5df1bbf4bb

2015-05-05
12:07
Add crude Python bdist_wheel generation method. Only tested with singular packages. Hack to relocate single module scripts into pkgname subdir + stub __init__.py. Otherwise relies on -s src or -s dir file relocation. Would require more complete `setup.py` creation to package anything more useful. Leaf check-in: d275f1986b user: mario tags: trunk
12:05
Update notes, no longer using custom etcfiles() scanning; default to --config-files list. check-in: 2a6b544a7a user: mario tags: trunk
2015-05-01
22:40
Retain more attributes: provides=, conflicts=, config_files as backup=, deb_recomends as optdepends=, update_filter as makepkgopt= for arch .PKGINFO check-in: 275407c9b1 user: mario tags: trunk
02:17
Add architecture mapping, limit mode per & 07777. check-in: 32632f2a8d user: mario tags: trunk
2015-04-30
23:54
New `-t arch` output package module. (Arch Linux binary tarballs with .PKGINFO and .MTREE meta files.) check-in: 006fa58cfa user: mario tags: trunk
2015-04-17
22:14
Add --zip-shebang option, useful for making Python zip apps (pyz). check-in: 11e5c12d1d user: mario tags: trunk
2015-04-15
18:32
Add convenience PKG_FLAG variation (uppercase pkg type) for preprocessor usage. check-in: 863ccf8053 user: mario tags: trunk
15:54
Workaround for ENV variables never showing up in make Packfile. And only take first entry from :output_type (if it's an -t deb,rpm,zip list). check-in: 732b03f50f user: mario tags: trunk
2015-04-14
17:58
Sufficient amount of commits for a minor bugfix release. check-in: 0acf568fb8 user: mario tags: trunk, v1.3.3.6
15:49
Even more generalized update filter method using `Packfile` makescripts. check-in: 3dadae671a user: mario tags: trunk
01:05
Add `Source:` control field (because: "mandatory"). check-in: 174e99a253 user: mario tags: trunk
01:02
Guard absent meta["comment"]. check-in: e6f0cd3d11 user: mario tags: trunk
2015-03-29
16:38
Catch str=nil in brute_force_charset. check-in: 9f7670f6f8 user: mario tags: trunk
16:38
Default to mode 755 for /usr/share/doc/*/ creation in write_changelog. check-in: 6c7f065292 user: mario tags: trunk
2015-02-26
19:28
Typo `str` in brute_force_charset check-in: 4dced2eeda user: mario tags: trunk
2015-02-25
19:33
Assume src meta fields as UTF-8, fallback to L1 or ASCII. check-in: 0365fe62c5 user: mario tags: trunk
2015-02-14
11:02
Switch to preprocess.py instead of GNU CPP. check-in: 294ea7da2a user: mario tags: trunk
2015-02-13
13:39
Preprocessor filter for source-based packages. check-in: 662bafecd7 user: mario tags: trunk
2015-02-08
06:12
Make fixperms ignore symlinks / or any other chmod errors. check-in: fec5fcaca3 user: mario tags: trunk
01:48
Make lintian happy: move DEB changelog generation before write_md5sums. (Workaround for [#833](https://github.com/jordansissel/fpm/issues/833).) Add stub copyright (actually prepared for DEP-5 / parseable debian/copyright). Augment deb/control.erb regex check for empty lines. check-in: 06727e35c2 user: mario tags: trunk
2015-02-06
20:52
Make some inherited relative target paths working. check-in: bc0c714540 user: mario tags: trunk
18:07
Basic inheritance for =target specifiers. Make meta extractor not consume mixed *|#|// comment prefixes. Clean up pack list from empty elements. Move copying logic out of main function. check-in: d1be6d8c51 user: mario tags: trunk
2015-01-28
12:51
Fix pkg.provides += [] addition. Strip any VCS #hashversionsuffixes from version strings. check-in: e08478f4fe user: mario tags: trunk
12:50
Introduce `--phar-x` flag to make output .phar file executable right away. Remove extra .unlink() after renaming target package. check-in: 0e56b40574 user: mario tags: trunk
2015-01-22
20:18
Do not prepend staging_dir for --phar-stub, as it might not be staged as literal file. check-in: a386da2c8f user: mario tags: trunk
2015-01-21
21:58
Reinstate RPM support. Fix lesser than dependency versions. Consolidate package_typ() for prior use (::filter abbrv). Keep @in_bundle again. Use RPM "php-composer(vnd/pkg)" dependencies now for :rpm, together with a self-provides "php-composer(@in_bundle) = @version". Alternatives for literal package names not supported by RPMbuild (4.11). check-in: f28593b104 user: mario tags: trunk
21:55
Fix default attributes filtering. Rework map_phar() classmap building to avoid chdir(). check-in: 40a7170c71 user: mario tags: trunk
13:10
Implement classmap builder directly in -t phar plugin. (Original implementation and tokenizer alternative in Canonic_Autoloader.) check-in: 5c62338e56 user: mario tags: trunk
12:28
Separate phar plugin from php generation template, prepare for classmap building. check-in: 01f616a04b user: mario tags: trunk
2015-01-20
00:01
Handle tilde, caret and asterisk specifiers more concretely. Downcase version suffixes in version_rewrite(). And abstract mapping for @dependencies, @provides, @conflicts, @replaces. Debian @suggests not yet populated. (And RPM target doesn't have it.) Composer dependency version alternatives "|" get ignored. Introduce --composer-no-alt flag to disable phar-|php- alternative lists for :debs too. check-in: 593dc02107 user: mario tags: trunk
2015-01-19
13:28
Keep `main` file in attrs{} - used for -t phar target. check-in: 771a75a191 user: mario tags: trunk
2015-01-04
20:31
Bump version v1.3.3.5, fixed Changelog dates. `preg_replace '/\((\w+ \d+, \d+)\)/e' '"(".strftime("%Y-%m-%d",strtotime("$1")).")"' -` check-in: 38fece65c6 user: mario tags: trunk, v1.3.3.5
2015-01-01
18:39
Merge generic --attr with --deb-field lists. (Note: overly redundant in practice, but Debian Field: names should be case-insensitive for reading at least. Needs a more thorough look.) check-in: cee15912b1 user: mario tags: trunk
2014-12-31
20:34
Prepare --attr option, implicitly works in phar target; later to obsolete --deb-field flag. check-in: 566bd1d0fc user: mario tags: trunk
20:33
Minor cleanup, update comment, use :prefix for syspackages. check-in: a3f6f714dd user: mario tags: trunk
2014-12-30
17:55
Make -t target and -u filter list :multivalued - but still support comma-delimited param format. check-in: 22c5d67f15 user: mario tags: trunk
12:39
Use configurable :prefix, but predefine /usr/share/php still. Create individual staging_path subdir for convert()ed sub/packages to avoid inheriting e.g. deb- or phar-specific remnants for multi-target builds. check-in: e3d0ea78ff user: mario tags: trunk
12:37
Introduce @plugins for ensure/cleanup, instead of iterating just [input,output] to also catch filter plugins created inbetween. check-in: 2a683b3ca4 user: mario tags: trunk
12:35
Permit staging_path rebuilding (set to nil on .cleanup), and provide :mkdir and :mkdirname creation in staging_path(subdir). check-in: 11502e1206 user: mario tags: trunk
12:34
Consolidate filename+dirname lowercasing, switch to regex (FNM_EXTGLOB absent in Ruby 1.9.x). check-in: 8f076a2392 user: mario tags: trunk
2014-12-29
17:15
Add trivial approach to filename lowercasing. (Useful for .phar packages.) check-in: 6c3683bcaa user: mario tags: trunk
17:14
Workaround to permit filters to work on staging_path. (This still needs another rewrite, to let :prefix be handled by actual targets, and be more consistent about build_path→staging_path passing [should just be aliased].) check-in: 464e75e608 user: mario tags: trunk
17:12
Allow fewer delimiter for -u filter=opts:opts:opts check-in: 73a6f648f2 user: mario tags: trunk
2014-12-28
14:42
Make all DEPRECATED cmdline args :hidden. (Still available, but not advertised in --help further.) check-in: 72927f5fbf user: mario tags: trunk
14:42
Allow DEB targets to specify phar-|php- alternatives in dependency lists. check-in: 5f3c2e9524 user: mario tags: trunk
2014-12-27
12:00
Monkey-patch Clamp to allow for :hidden command line options aliases, and allow :asis option names for FPM per-package options. Used by composer plugin to provide --phar in conjunction to --composer-phar. check-in: 73817f0c69 user: mario tags: trunk
11:54
Fix clamp option declaration from :bool to :flag. check-in: 3c39fc7d17 user: mario tags: trunk
2014-12-26
20:25
Fix staging_path target name, and path localization for downloaded phars. Retain just target package information from composer.lock. check-in: 049fb106f3 user: mario tags: trunk
13:39
Minor bugfix release 1.3.3.4, updated composer plugin, more consistent staging/build_path handling, :attrs usage, exceptions instead of warnings. check-in: 193345284b user: mario tags: trunk, v1.3.3.4
13:38
Unset @name_prefix, to allow clean multi-target building without affecting -t phar. Changed warnings to exception abort. check-in: fd019de6e0 user: mario tags: trunk
07:13
Quickly restructured to do actual staging in convert() - this separates option application for deb/rpm, and phar, and composer-phar/matroska modes. Version translation and basic deb / rpm / phar-plugin dependency lists added. This is still pretty incomplete, but comes closer to Debians 1.0.0~~ vers. check-in: 8edc5ee73a user: mario tags: trunk
07:11
Add backtrace output for generic error message. check-in: 5212dd5edb user: mario tags: trunk
2014-12-25
17:55
Remove vendor/vnd/pkg/ target dir prefixes, retain just Vnd/Pkg/.. tree, package names "php-composer-" are now just "php-", and sysphars become "phar-vnd-pkg". check-in: 68191c9343 user: mario tags: trunk
2014-12-24
14:43
Coarse filter to strip leading directory structures (reimporting systme packages to local paths, etc.) check-in: 0b26058d1e user: mario tags: trunk
04:46
Add attributes and support comma-separated version/dependency lists. check-in: c688acd9f5 user: mario tags: trunk
04:46
Switch from custom @attributes[:meta] to just sharing @attrs, and command.rb fixed to not empty it. (Code probably was intended and will return as --attr option). check-in: c2a301ce07 user: mario tags: trunk
2014-12-23
12:00
Safeguards against empty composer.json [packages], merge [packages-dev] in; and completely absent entry for input directory. Fix dependency conversion, prepare for complex CSV specifiers. check-in: 1d587e58c4 user: mario tags: trunk
2014-12-22
20:10
Release xpm branch as v1.3.3.3; rename binary and gem. check-in: 7523b79e0b user: mario tags: trunk, v1.3.3.3
12:52
Fix cross-device moving of final package. check-in: 10750bb341 user: mario tags: trunk
12:40
Add sysexit codes, and generic exception catch. check-in: 788bf5a045 user: mario tags: trunk
12:38
Add @tainted parameter to prevent multiple input names to be processed. Map composer ~ version qualifier to gem ~> syntax. check-in: 4ea2785fd3 user: mario tags: trunk
12:37
Fix debug? parameter resolution. check-in: e54c3f9a07 user: mario tags: trunk
12:36
Add missing update(opts) parameter. check-in: 176a5242b0 user: mario tags: trunk
12:35
Add missing update(opts) parameter. check-in: 06c1480758 user: mario tags: trunk
05:52
Fix attribute scopes, and concretize version mapping. check-in: 643aa067b3 user: mario tags: trunk
2014-12-21
19:15
Added a bit more support for version constraint translation. check-in: 849fb1fccf user: mario tags: trunk
19:14
Ensure warnings/errors/notes are enabled, just in case. check-in: f687312ca4 user: mario tags: trunk
01:46
Builds deb/rpm, matroska and plain local phars. Still has some oddities (multi-target inhibits -t phar variant detection). No implementation yet for composer.lock and autoload reconstruction. check-in: 4e5976e38b user: mario tags: trunk
2014-12-20
10:38
Composer source packages. Conversion into system, phar packages, or phar in system packages. (Needs to be changed to `composer require` to retain .lock and rebuild info). check-in: 0b11464f86 user: mario tags: trunk
00:10
Remove --debs flag (was serialized as --filter_deps-map anyway; which is why the -u module=opts.. workaround came to be) check-in: 2d51295daf user: mario tags: trunk
00:09
Fix setDefaultStub() call for plain ZIP/TARs. check-in: 3a443c43e2 user: mario tags: trunk
2014-12-19
23:04
Fix pax bzip2 flag to lowercase `-j` check-in: 085c692135 user: mario tags: trunk
08:53
Experimental and vastly incomplete cross-distro dependency resolving. Only whohas supported by now. Distromatch shall be added later.. check-in: eba017187d user: mario tags: trunk
08:52
Prepare general --sign flag. Allow -u filtername to take arguments. Used for deps filter, with -u deps=fedora target specifier for example. check-in: 9daa32686a user: mario tags: trunk
08:50
Remove debugging output from -u desktop filter. check-in: 0b0ff83cc0 user: mario tags: trunk
08:50
Tag files.list with architecture. check-in: 4b5cf9d34a user: mario tags: trunk
2014-12-18
20:54
More resilient with non-ELF files marked as executable. check-in: 109ac298dc user: mario tags: trunk
16:38
version bump 1.3.3.2 check-in: c5b73e2e48 user: mario tags: trunk
16:38
Add staging_path cleanup (remove ipkconfig/ dir), remove debugging statements. check-in: 52f23c1fe4 user: mario tags: trunk
16:38
Remove debugging output. check-in: cd9401299e user: mario tags: trunk
16:37
Strip binaries. (only grossly checks for executable bit) check-in: 5d41e6cc01 user: mario tags: trunk
16:36
Umask 644/755 (mostly redundant for rpm/deb targets though; already contain permission concrete logic) check-in: ebb4cb9a0a user: mario tags: trunk
2014-12-17
22:06
IPK generator using Listallers lipkgen, very basic; doesn't take care with relocatability or proper file separation yet. check-in: d4a2f64d49 user: mario tags: trunk
22:05
Add -u update filter to create inject .desktop files. check-in: 128bbd605a user: mario tags: trunk
2014-12-16
23:25
New -u filter to create composer.json summary (for phar modules). check-in: ce5cab9d30 user: mario tags: trunk
15:00
Prefix update hook plugins with `filter_` in package/ dir. check-in: 65236fbdf3 user: mario tags: trunk
2014-12-15
19:55
Added html_escape (despite the name actually just escapes XML) to AppData template. check-in: b52e581a05 user: mario tags: trunk
19:26
AppData filter (`-u appdata`) which creates a basic PKG.appdata.xml for distro application centers. check-in: 7827ad9b42 user: mario tags: trunk
15:10
Trivial man page compression post-processor. check-in: ca8be4398b user: mario tags: trunk
14:54
Introduce -u update filters; just reusing package/ infrastructure for now. check-in: b7f092aa04 user: mario tags: trunk
14:52
Introduce multitarget building with -t deb,rpm,exe comma-delimited list. (Only the last `output` class is kept in the execute() scope though, thus --debugging/keeping the staging path only works for the last target.) check-in: 958b461a23 user: mario tags: trunk
2014-12-14
20:44
<b>src</b> package reader. Scans source code files (.py/php/tcl/rb/pl) for meta comment / description block. Utilizes a `pack:` specification line, with semantics/reaming support similar to the `dir` module. References other files on a relative file-to-file basis however; which eases modularized bundling. <a href="https://github.com/jordansissel/fpm/issues/811">#811</a> check-in: d3d45b6c12 user: mario tags: trunk
20:41
<b>phar</b> packaging target. Chains to PHP to bundle .php source scripts with meta data in PHP/Phars serialize() format. <a href="https://github.com/jordansissel/fpm/issues/812">#812</a> check-in: be653e5c64 user: mario tags: trunk
20:38
<b>exe</b> target module, which builds Windows SFX installers; by utilizing FreeExtractors unzip module. Self-contained, manually patches up the generated ZIP, retains further fpm meta data fields in the embedded INI section. <a href="https://github.com/jordansissel/fpm/issues/810">#810</a> check-in: 469f115559 user: mario tags: trunk
20:34
Remve tar flags from zip module, switch to build directory to eschew /tmp/fpmXXX prefixes in final archive. check-in: 6a17ca8ec1 user: mario tags: trunk
20:33
Shuffle tar module command building and compression_flag() to support varied formats, such as pax (POSIX tar / cpio) - autodiscovered from filename. Also recognize .txz extension alias. check-in: c21ac565bc user: mario tags: trunk
20:31
Introduce `--deb-sign` for dpkg-sign´ed packages; requires a GPG key name. check-in: 4e43f73a18 user: mario tags: trunk
2014-12-11
22:25
Version bump check-in: ed6ddc7c8c user: jls@semicomplete.com tags: trunk
21:53
Extend the NPM class with FPM::Util to give it safesystemout. Fixes #806 and #800 check-in: 1dea2f942a user: jls@semicomplete.com tags: trunk
2014-12-10
22:37
Merge pull request #824 from dlanderson/patch-2 Remove errant space in debian postinst_upgrade.sh check-in: f464393ebb user: jls@semicomplete.com tags: trunk
21:37
Remove errant space in debian postinst_upgrade.sh This space was preventing postinst scripts to run on initial install of the .deb package check-in: d94f8d5b37 user: dave@dubkat.com tags: trunk
2014-11-21
17:43
Add note about Code of Conduct Huge thanks to everyone involved in contributor-covenant.org for providing this framework. <3 check-in: d9ca0cb590 user: jls@semicomplete.com tags: trunk