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
[d275f1986b] Leaf: 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. (user: mario, tags: trunk)
12:05
[2a6b544a7a] Update notes, no longer using custom etcfiles() scanning; default to --config-files list. (user: mario, tags: trunk)
2015-05-01
22:40
[275407c9b1] Retain more attributes: provides=, conflicts=, config_files as backup=, deb_recomends as optdepends=, update_filter as makepkgopt= for arch .PKGINFO (user: mario, tags: trunk)
02:17
[32632f2a8d] Add architecture mapping, limit mode per & 07777. (user: mario, tags: trunk)
2015-04-30
23:54
[006fa58cfa] New `-t arch` output package module. (Arch Linux binary tarballs with .PKGINFO and .MTREE meta files.) (user: mario, tags: trunk)
2015-04-17
22:14
[11e5c12d1d] Add --zip-shebang option, useful for making Python zip apps (pyz). (user: mario, tags: trunk)
2015-04-15
18:32
[863ccf8053] Add convenience PKG_FLAG variation (uppercase pkg type) for preprocessor usage. (user: mario, tags: trunk)
15:54
[732b03f50f] 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). (user: mario, tags: trunk)
2015-04-14
17:58
[0acf568fb8] Sufficient amount of commits for a minor bugfix release. (user: mario, tags: trunk, v1.3.3.6)
15:49
[3dadae671a] Even more generalized update filter method using `Packfile` makescripts. (user: mario, tags: trunk)
01:05
[174e99a253] Add `Source:` control field (because: "mandatory"). (user: mario, tags: trunk)
01:02
[e6f0cd3d11] Guard absent meta["comment"]. (user: mario, tags: trunk)
2015-03-29
16:38
[9f7670f6f8] Catch str=nil in brute_force_charset. (user: mario, tags: trunk)
16:38
[6c7f065292] Default to mode 755 for /usr/share/doc/*/ creation in write_changelog. (user: mario, tags: trunk)
2015-02-26
19:28
[4dced2eeda] Typo `str` in brute_force_charset (user: mario, tags: trunk)
2015-02-25
19:33
[0365fe62c5] Assume src meta fields as UTF-8, fallback to L1 or ASCII. (user: mario, tags: trunk)
2015-02-14
11:02
[294ea7da2a] Switch to preprocess.py instead of GNU CPP. (user: mario, tags: trunk)
2015-02-13
13:39
[662bafecd7] Preprocessor filter for source-based packages. (user: mario, tags: trunk)
2015-02-08
06:12
[fec5fcaca3] Make fixperms ignore symlinks / or any other chmod errors. (user: mario, tags: trunk)
01:48
[06727e35c2] 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. (user: mario, tags: trunk)
2015-02-06
20:52
[bc0c714540] Make some inherited relative target paths working. (user: mario, tags: trunk)
18:07
[d1be6d8c51] 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. (user: mario, tags: trunk)
2015-01-28
12:51
[e08478f4fe] Fix pkg.provides += [] addition. Strip any VCS #hashversionsuffixes from version strings. (user: mario, tags: trunk)
12:50
[0e56b40574] Introduce `--phar-x` flag to make output .phar file executable right away. Remove extra .unlink() after renaming target package. (user: mario, tags: trunk)
2015-01-22
20:18
[a386da2c8f] Do not prepend staging_dir for --phar-stub, as it might not be staged as literal file. (user: mario, tags: trunk)
2015-01-21
21:58
[f28593b104] 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). (user: mario, tags: trunk)
21:55
[40a7170c71] Fix default attributes filtering. Rework map_phar() classmap building to avoid chdir(). (user: mario, tags: trunk)
13:10
[5c62338e56] Implement classmap builder directly in -t phar plugin. (Original implementation and tokenizer alternative in Canonic_Autoloader.) (user: mario, tags: trunk)
12:28
[01f616a04b] Separate phar plugin from php generation template, prepare for classmap building. (user: mario, tags: trunk)
2015-01-20
00:01
[593dc02107] 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. (user: mario, tags: trunk)
2015-01-19
13:28
[771a75a191] Keep `main` file in attrs{} - used for -t phar target. (user: mario, tags: trunk)
2015-01-04
20:31
[38fece65c6] Bump version v1.3.3.5, fixed Changelog dates. `preg_replace '/\((\w+ \d+, \d+)\)/e' '"(".strftime("%Y-%m-%d",strtotime("$1")).")"' -` (user: mario, tags: trunk, v1.3.3.5)
2015-01-01
18:39
[cee15912b1] 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.) (user: mario, tags: trunk)
2014-12-31
20:34
[566bd1d0fc] Prepare --attr option, implicitly works in phar target; later to obsolete --deb-field flag. (user: mario, tags: trunk)
20:33
[a3f6f714dd] Minor cleanup, update comment, use :prefix for syspackages. (user: mario, tags: trunk)
2014-12-30
17:55
[22c5d67f15] Make -t target and -u filter list :multivalued - but still support comma-delimited param format. (user: mario, tags: trunk)
12:39
[e3d0ea78ff] 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. (user: mario, tags: trunk)
12:37
[2a683b3ca4] Introduce @plugins for ensure/cleanup, instead of iterating just [input,output] to also catch filter plugins created inbetween. (user: mario, tags: trunk)
12:35
[11502e1206] Permit staging_path rebuilding (set to nil on .cleanup), and provide :mkdir and :mkdirname creation in staging_path(subdir). (user: mario, tags: trunk)
12:34
[8f076a2392] Consolidate filename+dirname lowercasing, switch to regex (FNM_EXTGLOB absent in Ruby 1.9.x). (user: mario, tags: trunk)
2014-12-29
17:15
[6c3683bcaa] Add trivial approach to filename lowercasing. (Useful for .phar packages.) (user: mario, tags: trunk)
17:14
[464e75e608] 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].) (user: mario, tags: trunk)
17:12
[73a6f648f2] Allow fewer delimiter for -u filter=opts:opts:opts (user: mario, tags: trunk)
2014-12-28
14:42
[72927f5fbf] Make all DEPRECATED cmdline args :hidden. (Still available, but not advertised in --help further.) (user: mario, tags: trunk)
14:42
[5f3c2e9524] Allow DEB targets to specify phar-|php- alternatives in dependency lists. (user: mario, tags: trunk)
2014-12-27
12:00
[73817f0c69] 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. (user: mario, tags: trunk)
11:54
[3c39fc7d17] Fix clamp option declaration from :bool to :flag. (user: mario, tags: trunk)
2014-12-26
20:25
[049fb106f3] Fix staging_path target name, and path localization for downloaded phars. Retain just target package information from composer.lock. (user: mario, tags: trunk)
13:39
[193345284b] Minor bugfix release 1.3.3.4, updated composer plugin, more consistent staging/build_path handling, :attrs usage, exceptions instead of warnings. (user: mario, tags: trunk, v1.3.3.4)
13:38
[fd019de6e0] Unset @name_prefix, to allow clean multi-target building without affecting -t phar. Changed warnings to exception abort. (user: mario, tags: trunk)
07:13
[8edc5ee73a] 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. (user: mario, tags: trunk)
07:11
[5212dd5edb] Add backtrace output for generic error message. (user: mario, tags: trunk)
2014-12-25
17:55
[68191c9343] 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". (user: mario, tags: trunk)
2014-12-24
14:43
[0b26058d1e] Coarse filter to strip leading directory structures (reimporting systme packages to local paths, etc.) (user: mario, tags: trunk)
04:46
[c688acd9f5] Add attributes and support comma-separated version/dependency lists. (user: mario, tags: trunk)
04:46
[c2a301ce07] 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). (user: mario, tags: trunk)
2014-12-23
12:00
[1d587e58c4] 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. (user: mario, tags: trunk)
2014-12-22
20:10
[7523b79e0b] Release xpm branch as v1.3.3.3; rename binary and gem. (user: mario, tags: trunk, v1.3.3.3)
12:52
[10750bb341] Fix cross-device moving of final package. (user: mario, tags: trunk)
12:40
[788bf5a045] Add sysexit codes, and generic exception catch. (user: mario, tags: trunk)
12:38
[4ea2785fd3] Add @tainted parameter to prevent multiple input names to be processed. Map composer ~ version qualifier to gem ~> syntax. (user: mario, tags: trunk)
12:37
[e54c3f9a07] Fix debug? parameter resolution. (user: mario, tags: trunk)
12:36
[176a5242b0] Add missing update(opts) parameter. (user: mario, tags: trunk)
12:35
[06c1480758] Add missing update(opts) parameter. (user: mario, tags: trunk)
05:52
[643aa067b3] Fix attribute scopes, and concretize version mapping. (user: mario, tags: trunk)
2014-12-21
19:15
[849fb1fccf] Added a bit more support for version constraint translation. (user: mario, tags: trunk)
19:14
[f687312ca4] Ensure warnings/errors/notes are enabled, just in case. (user: mario, tags: trunk)
01:46
[4e5976e38b] 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. (user: mario, tags: trunk)
2014-12-20
10:38
[0b11464f86] 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). (user: mario, tags: trunk)
00:10
[2d51295daf] Remove --debs flag (was serialized as --filter_deps-map anyway; which is why the -u module=opts.. workaround came to be) (user: mario, tags: trunk)
00:09
[3a443c43e2] Fix setDefaultStub() call for plain ZIP/TARs. (user: mario, tags: trunk)
2014-12-19
23:04
[085c692135] Fix pax bzip2 flag to lowercase `-j` (user: mario, tags: trunk)
08:53
[eba017187d] Experimental and vastly incomplete cross-distro dependency resolving. Only whohas supported by now. Distromatch shall be added later.. (user: mario, tags: trunk)
08:52
[9daa32686a] Prepare general --sign flag. Allow -u filtername to take arguments. Used for deps filter, with -u deps=fedora target specifier for example. (user: mario, tags: trunk)
08:50
[0b0ff83cc0] Remove debugging output from -u desktop filter. (user: mario, tags: trunk)
08:50
[4b5cf9d34a] Tag files.list with architecture. (user: mario, tags: trunk)
2014-12-18
20:54
[109ac298dc] More resilient with non-ELF files marked as executable. (user: mario, tags: trunk)
16:38
[c5b73e2e48] version bump 1.3.3.2 (user: mario, tags: trunk)
16:38
[52f23c1fe4] Add staging_path cleanup (remove ipkconfig/ dir), remove debugging statements. (user: mario, tags: trunk)
16:38
[cd9401299e] Remove debugging output. (user: mario, tags: trunk)
16:37
[5d41e6cc01] Strip binaries. (only grossly checks for executable bit) (user: mario, tags: trunk)
16:36
[ebb4cb9a0a] Umask 644/755 (mostly redundant for rpm/deb targets though; already contain permission concrete logic) (user: mario, tags: trunk)
2014-12-17
22:06
[d4a2f64d49] IPK generator using Listallers lipkgen, very basic; doesn't take care with relocatability or proper file separation yet. (user: mario, tags: trunk)
22:05
[128bbd605a] Add -u update filter to create inject .desktop files. (user: mario, tags: trunk)
2014-12-16
23:25
[ce5cab9d30] New -u filter to create composer.json summary (for phar modules). (user: mario, tags: trunk)
15:00
[65236fbdf3] Prefix update hook plugins with `filter_` in package/ dir. (user: mario, tags: trunk)
2014-12-15
19:55
[b52e581a05] Added html_escape (despite the name actually just escapes XML) to AppData template. (user: mario, tags: trunk)
19:26
[7827ad9b42] AppData filter (`-u appdata`) which creates a basic PKG.appdata.xml for distro application centers. (user: mario, tags: trunk)
15:10
[ca8be4398b] Trivial man page compression post-processor. (user: mario, tags: trunk)
14:54
[b7f092aa04] Introduce -u update filters; just reusing package/ infrastructure for now. (user: mario, tags: trunk)
14:52
[958b461a23] 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.) (user: mario, tags: trunk)
2014-12-14
20:44
[d3d45b6c12] <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> (user: mario, tags: trunk)
20:41
[be653e5c64] <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> (user: mario, tags: trunk)
20:38
[469f115559] <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> (user: mario, tags: trunk)
20:34
[6a17ca8ec1] Remve tar flags from zip module, switch to build directory to eschew /tmp/fpmXXX prefixes in final archive. (user: mario, tags: trunk)
20:33
[c21ac565bc] 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. (user: mario, tags: trunk)
20:31
[4e43f73a18] Introduce `--deb-sign` for dpkg-sign´ed packages; requires a GPG key name. (user: mario, tags: trunk)
2014-12-11
22:25
[ed6ddc7c8c] Version bump (user: jls, tags: trunk)
21:53
[1dea2f942a] Extend the NPM class with FPM::Util to give it safesystemout. Fixes #806 and #800 (user: jls, tags: trunk)
2014-12-10
22:37
[f464393ebb] Merge pull request #824 from dlanderson/patch-2 Remove errant space in debian postinst_upgrade.sh (user: jls, tags: trunk)
21:37
[d94f8d5b37] Remove errant space in debian postinst_upgrade.sh This space was preventing postinst scripts to run on initial install of the .deb package (user: dave, tags: trunk)
2014-11-21
17:43
[d9ca0cb590] Add note about Code of Conduct Huge thanks to everyone involved in contributor-covenant.org for providing this framework. <3 (user: jls, tags: trunk)