Commit Graph

221 Commits

Author SHA1 Message Date
Jordan Sissel 78853a81c9 Use 'false' not 'FALSE' constant 2017-07-20 14:12:18 -07:00
Thiago Figueiró d2a71442c1 Add tar spec for #1123 2017-07-20 14:12:18 -07:00
Nemanja Boric fcd4dfd631 In case of a=b syntax where a is symlink, don't create directory (#1253)
Previously, if the symlink is included into the package and specified
with

my-sym-link.so=/usr/lib/my-sym-link.so

fpm would create directory, and put the
symlink inside `/usr/lib/my-sym-link.so/my-sym-link.so
which is very surprising and it doesn't follow the same
pattern as file copying is doing.

Fixes #1135
2017-07-20 14:00:21 -07:00
ServiusHack a3ddf38b84 Fix copy_entry for symlinks (#1348)
* Add test for copying symlinks

The test explicitly sets `preserve=true` and `remove_destination=true`
to show the currently broken behavior.

* Fix copy_entry for symlinks

The fourth argument to FileUtils.copy_entry is dereference_root to
which the value of remove_destination was passed.

The fix now passes the parameters in the required position.
2017-07-20 13:11:28 -07:00
Philippe Poilbarbe c2db5985f6 Added --deb-interest-noawait and --deb-activate-noawait (#1225) (#1359) 2017-07-20 13:05:03 -07:00
Dan Kegel 14c4819e41 Implement reproducible gem -> deb conversion (#1360)
* Add option --source-date-epoch-default and implement for deb output.

This is the first step towards supporting bit-for-bit identical
output files given identical inputs.

Alas, Apple's ar is not too good at reading gnu ar archives,
so always use ar_cmd to find ar.

* deb: remove lines duplicated in a tragic merge conflict

Probably introduced by 62d0060178 and not removed by 500f0c052f

* Add options --source-date-epoch-from-changelog and --gem-stagingdir to support bit-for-bit reproducible gem -> deb conversion

In those cases where we can get the release date out of the changelog,
use it; otherwise fall back to the value given by SOURCE_DATE_EPOCH aka --source-date-epoch-default.

--gem-stagingdir is a bit of a kludge, only needed because no
compiler supports https://reproducible-builds.org/specs/build-path-prefix-map/ yet.
Could have been global option, but not sure any other package handler
invokes compilers?  Could hoist it up later.

Also:
- Defer initializing staging_path so subclasses can sneak in new value
- gem: remove build files

* gem: handle a few more gem changelog variants

* gem: also remove mkmf.log; lets ffi, kgio, raindrops, and ruby-ldap build reproducibly.

* deb: don't expect diffoscope to be installed in /usr/bin.  Lets it be found on mac.

* gem: document new options
2017-07-20 12:33:14 -07:00
Nick Griffiths 719fec630c Fix weird clipboard fart 2016-12-30 20:01:47 +13:00
Nick Griffiths d72ea6c625 Fix for #1248 - fix prefix behaviour 2016-12-30 19:57:15 +13:00
Jordan Sissel 40aa7cf5ca Move fpm version query behavior to `run` method.
A bug pointed out by #1162 showed that `fpm --version` would fail when
a .fpm file was loaded.

Moving the short `fpm --version` handling to the `run` method lets us do
this check before we load FPMOPTS env or .fpm files.

Updated the tests to only try calling with a lone `-v` or `--version`
flag to verify this works with and without a .fpm file.

Fixes #1162 and #1125. Original work by @drwl!
2016-09-11 23:48:39 -07:00
Andrew Lee a6f25b9fda Fix --version when .fpm file exists 2016-09-11 23:48:17 -07:00
Matt Sharpe 0e9e8f0a43 Add long flag options for chdir, input, and output
The flags for chdir, input, and output aren't immediately intuitive
as to what they're short for. This commit adds long versions and a
spec stub for chdir. Resolves #1187.
2016-09-02 17:19:12 +10:00
Jordan Sissel 40ec0c3576 Merge pull request #1139 from luto/bugfix/1124
fix --workdir not having an effect on the build and staging dirs, fixes #1124
2016-07-25 16:14:44 -07:00
Andreas Zuber 8add9bcdd6 gem: make it posssible to set the shebang
This makes it possible to create packages from gems for ruby versions
which are not currently installed on the machine you build the package on.
2016-07-22 09:02:39 +02:00
luto 3338aa8f4b remove trailing slash from --prefix option in rpm-packages, fixes #819 2016-06-23 02:18:01 +02:00
luto 454754064f fix --workdir not having an effect on the build and staging dirs, fixes #1124 2016-06-22 01:50:44 +02:00
Nick Griffiths 66e59e79e8 Support building a virtualenv from local requirements.txt 2016-06-18 13:37:24 -07:00
Nick Griffiths d0eaf77921 Add some basic specs for the virtualenv package 2016-06-18 13:37:24 -07:00
Jordan Sissel 7bc5fba4bd Start work for acceptance tests. 2016-05-23 11:28:51 -07:00
Jordan Sissel 2ee569a1e4 Fix an RPM spec failure on Fedora 23 2016-05-16 04:18:20 -07:00
Jordan Sissel 37e8b88a6b Fix specs failing when the host is freebsd 2016-05-11 12:12:37 -07:00
Paweł Tomulik dc7e73237d add FPM::Util.execmd and fix python_spec.rb 2016-04-19 05:59:13 +02:00
Jordan Sissel f4f49e68ea Fix failing test on Fedora 23
Fedora 23's bindir for python defaults to /usr/bin, so the hardcoding of
/usr/local/bin was causing one spec to fail.
2016-04-12 21:12:03 -07:00
Paweł Tomulik af64fdfced remove the line with $CHILD_STDERR 2016-04-11 19:12:39 +02:00
Paweł Tomulik 5e24991fed fix python_spec.rb to run smoothly on Unix 2016-04-08 01:23:59 +02:00
Paweł Tomulik 78303be699 further fixes to deb lintian test 2016-04-07 22:36:09 +02:00
Paweł Tomulik 9dcd9f1379 fix to make deb lintian test passing 2016-04-07 17:33:36 +02:00
Jordan Sissel 28d9bf5e45 Merge branch 'feature/arch-support' of https://github.com/djhaskin987/fpm into djhaskin987-feature/arch-support 2015-11-07 12:40:23 -08:00
Jordan Sissel 49622ecc3c Merge pull request #917 from djhaskin987/feature/sh-before-install-spec
Add specs for PR #913
2015-11-07 12:31:07 -08:00
Jordan Sissel 5f30e89b99 Merge pull request #849 from BaxterStockman/cpan-metadata
Use MetaCPAN API query data as fallback for package metadata
2015-11-07 12:22:12 -08:00
Jordan Sissel 0829c4e72e Merge pull request #756 from pstengel/feature/rake
Add RakeTask
2015-11-07 12:07:07 -08:00
Daniel Haskin 5d17bbda86 Make specs pass for archlinux 2015-10-08 22:12:05 -06:00
Daniel Haskin 2303eef05c Merge branch 'jsl/master' into feature/arch-support 2015-09-16 19:58:19 -06:00
Matt Sharpe 0247b382a4 #903 add --rpm-summary flag and tests 2015-08-10 22:56:24 +10:00
Matt Schreiber 3c86f18983 Set :cpan_test? attribute to false for IPC::Session rspec test 2015-08-09 21:02:20 -04:00
Matt Schreiber 1b353244e1 initial commit of new rspec test
of CPAN module without META.* file
2015-08-09 20:47:49 -04:00
Jordan Sissel fa0c173f94 Merge pull request #943 from iordanisg/dev-debmetafile
Fixed  deb_meta_file symbol name
2015-08-06 23:09:22 -07:00
Jordan Sissel 6f7616b20f Add tests to cover empty and one-line descriptions for rpms
For #973
2015-08-06 22:58:48 -07:00
Jordan Sissel ae9de095dc Merge pull request #692 from adamonduty/rpm_dist
Support RPM dist tag
2015-06-30 10:39:14 -07:00
iordanisg f187b2426b Update deb_spec.rb
Fixing symbol name
2015-06-17 14:34:32 +02:00
Paul Stengel ae112bf56e Refactor for Ruby 1.8.7 and add spec 2015-05-16 15:32:38 -04:00
Daniel Haskin 4046f6643e Add specs for PR #913 2015-05-09 16:37:12 -06:00
Daniel Haskin bc37e60568 Merge branch 'master' into feature/arch-support 2015-05-09 11:50:56 -06:00
Daniel Haskin 94eb39cc1f Fix ALL the pacman specs 2015-05-09 11:17:57 -06:00
Daniel Haskin f8e5cf7316 Add a todo in the pacman spec 2015-05-08 20:01:08 -06:00
Daniel Haskin ff5b5b8fb2 Fix more pacman tests 2015-05-08 19:59:38 -06:00
Daniel Haskin dabdee0a5b Fix more pacman tests 2015-05-08 18:26:31 -06:00
Daniel Haskin 9d2c7478d9 Fix the main pacman permissions bug 2015-05-08 17:56:24 -06:00
Jordan Sissel 612fa731cb Remove python_install_bin setting; this was causing the tests to fail on OSX 2015-05-07 13:32:39 -07:00
Jordan Sissel 6f59bf3d8e Merge pull request #844 from cure/master
Add --python-disable-dependency option to disable specific python dependencies
2015-05-07 13:20:20 -07:00
Jordan Sissel 3bfb7dd64e Merge pull request #828 from gerbercj/feature/sh_metadata
Add package metadata to slug file format
2015-05-07 13:17:31 -07:00