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.

141 check-ins using file CONTRIBUTORS version 00f8f1e40f

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)
17:43
[374c5fa262] Add a Code of Conduct from http://contributor-covenant.org/ (user: jls, tags: trunk)
17:43
[130133858e] Formatting (user: jls, tags: trunk)
2014-11-18
15:41
[e77c4ca06d] Merge pull request #813 from mriehl/patch-1 fix missing option name (user: jls, tags: trunk)
12:07
[04338e58ad] fix missing option name The message doesn't make sense without the option name. (user: max, tags: trunk)
2014-11-07
17:32
[5980cef12a] Merge pull request #802 from xelwarto/master Verify if RPM triggerindex is valid (user: jls, tags: trunk)
2014-11-06
21:05
[e7e891577c] Verify if RPM triggerindex is valid (user: xelwarto.pub, tags: trunk)
2014-11-05
00:33
[51d6151cd7] Update changelog and bump version (user: jls, tags: trunk, v1.3.2)
00:31
[36b33ce828] When converting deb to deb, respect any changelog file found (user: jls, tags: trunk)
00:31
[4a1f427dd3] Fix copy/paste problem (user: jls, tags: trunk)
2014-11-04
23:44
[9d21589966] Version bump and update changelog (user: jls, tags: trunk)
23:40
[b18cea10e3] Merge pull request #799 from rfc1459/md5sums Fix md5sums generation for deb packages (user: jls, tags: trunk)
09:48
[be0e595dc5] Fix md5sums generation for deb packages The md5sums control file must be formatted exactly as it would be produced by a run of md5sum (MD5, two spaces, file path). Failing to do so breaks dpkg --verify. (user: morpheus, tags: trunk)
2014-10-30
17:58
[0dce12637c] Merge pull request #797 from ashkulz/rpm-xz-compression use maximum compression level for RPMs compressed with XZ (user: jls, tags: trunk)
09:05
[ccd119bfd2] use maximum compression level for RPMs compressed with XZ This can reduce the package size considerably. (user: kulkarni.ashish, tags: trunk)
2014-10-28
14:01
[29d23cf372] Merge pull request #793 from mriehl/fix/usage-typo fix typo in python packaging usage (user: jls, tags: trunk)
10:39
[02fa4a8b62] fix typo in python packaging usage (user: max, tags: trunk)
2014-10-25
21:54
[a02993c32e] Version bump (user: jls, tags: trunk, v1.3.0)
21:54
[ccb17c8ab3] Update changelog (user: jls, tags: trunk)
21:23
[4f64f4ad70] Fix a whole bunch of Ruby 1.8.7 bugs There are still 4 test failures: * rspec ./spec/fpm/package/rpm_spec.rb:297 # FPM::Package::RPM#output package attributes should have the correct 'after_target_uninstall' trigger script * rspec ./spec/fpm/package/rpm_spec.rb:288 # FPM::Package::RPM#output package attributes should have the correct 'before_uninstall' trigger script * rspec ./spec/fpm/package/rpm_spec.rb:279 # FPM::Package::RPM#output package attributes should have the correct 'after_install' trigger script * rspec ./spec/fpm/package/rpm_spec.rb:270 # FPM::Package::RPM#output package attributes should have the correct 'before_install' trigger script (user: jls, tags: trunk)
05:41
[35d4af81fd] adding --rpm-init option (fix) (user: jls, tags: trunk)
05:41
[3f8b8b4c11] adding --rpm-init option (user: jls, tags: trunk)
05:41
[795fc2ae89] Add npm specs (user: jls, tags: trunk)
05:36
[4e74257a17] Add input and output rpm trigger support This adds several rpm-specific flags: --before-install --after-install --before-uninstall --after-target-uninstall Fixes #626 (merged by hand) (user: jls, tags: trunk)
05:28
[d84b9cf55e] Move from @logger ivar to logger method. Tests pass. Hope is all we have. And hugs. (user: jls, tags: trunk)
05:27
[2f31b121c8] Merge pull request #776 from Tapjoy/feature/sh_template_enhancements Enhancements to sh template (user: jls, tags: trunk)
05:19
[a8cfee59be] Merge pull request #760 from malinoff/patch-1 Missing space in help (user: jls, tags: trunk)
05:18
[7ede60df8b] Merge pull request #765 from shrijeet/master Stat the link itself instead of file it refers to (user: jls, tags: trunk)
05:12
[b112a6a5b7] npm: Set :prefix default to `npm prefix -g` Fixes #758 (I hope) (user: jls, tags: trunk)
05:12
[60104ef2bf] Start moving towards `logger` method instead so it's easier to handle initialization. (user: jls, tags: trunk)
04:51
[e3e3401b76] Somehow the templates were syntactically invalid? I dunno. Fixed. (user: jls, tags: trunk)
04:51
[79c4328f13] Fix typo from previous commit (user: jls, tags: trunk)
04:51
[5fa2e461d0] Adding validation to stop debian users entering names with spaces Fixes #779 (user: jls, tags: trunk)
04:07
[0621e54420] deb: Always provide a "changes" file lintian in Ubuntu 14.04 now errors when a file /usr/share/NAME/changelog.Debian.gz doesn't exist. In the spirit of respecting lintian's meaningful errors, this commit fixes that error. The new behavior is that a changelog file is *always* provided. If the --deb-changelog flag is not given, then fpm will produce a default one based on the package being built in hope that it satisfies lintian. With this commit, the lintian rspec test passes on Ubuntu 14.04. Fixes #784 (user: jls, tags: trunk)
01:39
[763b7387c6] Don't follow symlinks when copying files. Added test coverage to ensure a broken symlink doesn't throw a ENOENT error. The test was written first, and failed, but now passes with the fix to the dir package. Fixes #658 (user: jls, tags: trunk)
2014-10-16
18:48
[9aaf818223] Merge pull request #787 from djhaskin987/feature/786 Check first for Build.PL, then for Makefile.PL (user: jls, tags: trunk)
18:47
[adc3cb9bcc] Merge pull request #772 from djhaskin987/feature/661 Feature/661 (user: jls, tags: trunk)
2014-09-19
13:23
[7c35c9bf18] Merge into scriptmap in the name of elegance (user: djhaskin987, tags: trunk)
13:10
[aa9ee22bad] Pass other scripts through (user: djhaskin987, tags: trunk)
12:53
[7934760d27] Grammar, contributions (user: djhaskin987, tags: trunk)