Commit Graph

239 Commits

Author SHA1 Message Date
Chris Chandler 7de4b2a351 Bugfix: filenames w/ special characters and permissions
Filenames containing special characters like '%' won't stat correctly
because they've already been sanitized and the current working directory could
potentially be off.
2013-09-12 20:02:35 +00:00
Josh Kline a2228c9e07 FPM::Package#convert does not keep defaults attrs
This is a failing spec to show a bug in FPM::Package#convert:
Default attributes of the target package format are applied when calling .new,
but then discarded and entirely replaced with the attributes of the source
package.
2013-09-03 20:51:09 -07:00
Matt Sharpe bc199f92b0 fix annoying rspec warnings 2013-08-14 19:12:22 +10:00
Jordan Sissel f3e46514ca - write tests to cover the rsync-style path mapping 2013-07-23 14:33:54 -07:00
Derek Ludwig 5e7c6a8a32 Set default flag attributes
The flag options defined as "--[no-]foo" were being set in the
attributes hash as :"[no_]foo" => true/false.

This change may break other tests, as it sets up the defaults in the
test cases according to the option definition, rather than defaulting to
false (as previously).
2013-07-18 16:58:17 -07:00
Jordan Sissel a5cb2286b6 - Add path mapping
Behavior
    * some/file=/some/path
      Result: /some/path
    * some/directory=/some/path
      Result: /some/path/directory/...
- drop dependency on Rush
2013-07-11 22:23:29 -07:00
Jordan Sissel 2ea44c4085 Merge pull request #461 from r4um/pr_452
python: handle == dependency requirement correctly
2013-06-05 00:22:34 -07:00
Pranay Kanwar e59509966a python: handle == dependency requirement correctly 2013-05-30 11:14:03 +05:30
Tray Torrance 59e7fb3f37 Add support for setting build-depends on debian targets 2013-05-23 12:31:07 -07:00
Jordan Sissel e129cb57f4 Merge pull request #419 from r4um/fix_411
Closes #411 Translate 'noarch' architecture to 'all' for debian
2013-05-06 23:56:39 -07:00
Jordan Sissel ae1d45e377 - improve cpan support (now with tests) 2013-05-06 23:51:12 -07:00
Jordan Sissel 54d30b15fc Fix failing spec caused by race conditions in Tempfile... which I should really stop using... 2013-04-30 16:36:15 -07:00
Pranay Kanwar ff79f40452 #411 Translate noarch architecture to all for debian 2013-04-22 11:19:39 +05:30
Jordan Sissel 60ba82de65 - Add test coverage for '%' in filenames
- Verify the rpm has the expected file paths when testing escapes and
  other stuff.
  (done during investigation of #416)
2013-04-18 10:45:19 -07:00
Jordan Sissel 79c2f8ef58 - fix_dependency on Conflicts and Breaks (#410)
- add test coverage for #410
2013-04-11 10:12:53 -07:00
Pranay Kanwar babb7ff72b rpm, epoch should not be set by default 2013-03-22 09:28:38 +00:00
Jordan Sissel 2ac77005c1 Merge pull request #323 from r4um/fix_exclude
Remove empty directories only if they match exclude pattern.
2013-03-21 15:30:11 -07:00
Pranay Kanwar a1ca20902f Fix spec 2013-01-21 04:48:49 +05:30
Pranay Kanwar c0c023beb1 * Use Find module to traverse files.
* Use only File.fnmatch on paths/patterns.
2013-01-21 04:33:00 +05:30
Ben Hughes 63beca1d1f Make RPM cope with an input epoch of zero.
Some RPMs from jpackage.org have their epoch set to 0, causing epoch to
raise an exception.
2013-01-17 15:51:25 -05:00
Jordan Sissel cab58fac1f - Add --deb-field for setting a custom field in the deb control file
Example: --deb-field "Vcs-Git: git@github.com/some/repo.git"
2013-01-16 15:15:13 -08:00
Jordan Sissel 661b59c2f3 - force string for test 2013-01-16 15:13:07 -08:00
Timothy Sutton 45c0cf652f some osxpkg spec tests can still run, not all of them 2013-01-07 22:12:18 -05:00
Timothy Sutton ecc1d88cba Fix osxpkg spec tests that should have been skipped on non-Darwin platforms. 2013-01-07 22:03:58 -05:00
Jordan Sissel 78e5d168e3 Merge pull request #332 from timsutton/4df9617b8a3e71ac82b4dadb8cad28cded66159f
OS X package support
2013-01-07 10:06:43 -08:00
Timothy Sutton 82bb43aa99 Initial OS X package support, #317.
Basic support for OS X flat packages (.pkg)

- input/output
- output supports scripts, postinstall actions (using --info option),
  ownership option and bundle-id-prefix option
- requires pkgbuild (therefore OS X 10.7+ only), pkgutil for input
- no tests yet

ignore .DS_Store

ignore .pkg

identifier gets its own method

first few osxpkg spec tests

osxpkg: extract name and version from PackageInfo on input

osxpkg: rename option bundle-id-prefix to identifier-prefix

- 'bundle-id' is ambiguous, given the various 'bundle'-related logic possible with OS X packages

osxpkg: fix old 'osx_' attribute prefix to 'osxpkg' in osxpkg.erb

New option: --osxpkg-dont-obsolete, to add files to 'dont-obsolete' element in PackageInfo.

osxpkg: Define public/private methods.

osxpkg_spec: Tests for basic attributes through input/output
2013-01-07 12:28:03 -05:00
Jordan Sissel 5c81ce309d Merge pull request #324 from r4um/rpm_spec_fix
Fix rpm spec for os tag check (fixes a problem caused by Ruby 1.8 not allowing you to override Object#!=)
2013-01-02 15:52:21 -08:00
Jay Buffington 9a4744b9d6 control case of package name and its dependencies
Added the following two flags:
  --[no-]python-downcase-name
  (python only) Should the target package name be in lowercase? (default: true)
  --[no-]python-downcase-dependencies
  (python only) Should the package dependencies be in lowercase? (default: true)

fixes #326
2013-01-02 14:50:44 -08:00
cpk b0ee2bfc2a Use reject 2012-12-30 13:49:33 +05:30
cpk 905e6a0868 Fix rpm spec for os tag check 2012-12-30 03:06:23 +05:30
Jordan Sissel b77d152565 - @rpmtag should be @rpmtags
- rpm 'release' is a string, I guess?
2012-12-27 10:52:08 -08:00
Jordan Sissel c93b1e7ea4 - fix comment 2012-12-27 09:32:47 -08:00
Jordan Sissel 4ba42ba38f - add coverage for the default os value 2012-12-27 09:26:30 -08:00
Jordan Sissel 3ab454d9b9 - Add --rpm-os flag for #309
- Add tests to cover
2012-12-07 00:04:50 -08:00
Jordan Sissel 8100ea2632 Return the orig_system() return value 2012-12-07 00:04:45 -08:00
Jordan Sissel 272d05363e - Make the decision for symlink, directory, or file copy in Ruby, not
the rpmbuild spec %install shell.
2012-12-06 23:42:11 -08:00
Jordan Sissel a8b9d59f59 - Quiet the output of all system() calls. This makes test runs much less
noisy
2012-12-06 23:41:47 -08:00
Jordan Sissel 0c9264b499 - Add test coverage for :no_depends? 2012-11-15 11:42:32 -08:00
Jordan Sissel 3b0aeccb7c - fix #280 and hae a test verify it. 2012-10-26 10:37:37 -07:00
Jordan Sissel 99ab773eed fix failling test due to 'epoch' being private 2012-09-25 13:59:29 -07:00
Jordan Sissel b64f83c178 - write specs to ensure the default epoch and release are always '1'
This ensures future regressions are caught before fpm releases.

- rpm: if epoch is nil, default to 1. This fixes a regression where fpm
  0.4.3 generated rpms with an epoch of '1' and the fpm 0.4.17 (or
  somewhere in between) started generating rpms with no epoch value.
  This caused version comparisions of '15' and '10' to show '10' as
  newer if you built the version 10 one in older fpms.
2012-09-25 13:48:33 -07:00
Jordan Sissel f2d3da85b8 - fix bad test 2012-09-06 19:26:58 -07:00
Jordan Sissel 1cf1062d23 Skip rpm regression tests since they require rpmbuild 2012-09-06 19:20:28 -07:00
Jordan Sissel 5091a0f7bc Add spec coverage for deb priority 2012-08-25 01:22:37 -07:00
Jordan Sissel 12cde634a1 Fix up the specs and output checks 2012-08-25 03:59:03 -04:00
Jordan Sissel 675fd7b564 Fix spec for deb arch defaults 2012-08-24 15:47:55 -07:00
Jordan Sissel e449b4335d - Add test coverage for #250 (deb dependency operator fixings) 2012-08-24 15:47:21 -07:00
Jordan Sissel 6a60b47122 Start hacking on tests for #250 2012-08-24 18:24:13 -04:00
Jordan Sissel d17022d5f3 - note fix for #252
- add regression test for #252
2012-08-24 17:05:14 -04:00
Jordan Sissel 0b6deb762e Make --exclude on 'foo' kill any files like foo/bar/baz - #248 2012-08-14 16:03:50 -07:00
Jordan Sissel 3d78912b98 Make sure all things template 2012-08-07 10:48:13 -07:00
Jordan Sissel 3fc1f58d72 - support templating package/maintainer scripts (#246)
- include test coverage
2012-08-07 10:25:13 -07:00
Jordan Sissel c6d3ddb6bc Merge pull request #208 from jacaetevha/master
RPM user and group setting for %files section
2012-05-23 10:47:10 -07:00
Jordan Sissel 0480658b8d Skip python specs if easy_install isn't available 2012-05-12 00:59:05 -07:00
Jason Rogers 890aea23a0 add specs for user and group settings 2012-04-18 13:08:45 -04:00
Jordan Sissel 646cf5ef44 Add regression tests for #202 2012-04-10 16:18:31 -07:00
Jordan Sissel 90b065958c - Make file exclusion work again. Fixes #185
This improves on the patch in #186.
- Add tests to make sure exclude stays working :)
2012-03-30 15:24:04 -07:00
Jordan Sissel 3123bd879d Improve default values for epoch and iteration on deb/rpm packages (Should fix #190) 2012-03-30 09:34:15 -07:00
Jordan Sissel 93f3879175 - Fix broken dpkg architecture test on i686 kernels
(discovered by failing tests run on travis-ci.org)
2012-03-30 09:06:10 -07:00
Jordan Sissel ee8967b06d - Add spec tests for compression and digest settings. (for #192) 2012-03-29 19:33:34 -07:00
Jordan Sissel 33ff80e8d2 Fix specs to work in ruby 1.8 2012-03-19 13:52:16 -07:00
Jordan Sissel b8b899eea0 It helps to add scripts *before* #output is invoked. Silly me 2012-03-18 22:58:10 -07:00
Jordan Sissel 6f02e1e95d Add package scripts spec to rpm 2012-03-18 22:55:51 -07:00
Jordan Sissel 5542637bcf add more default specs 2012-03-17 16:12:29 -07:00
Jordan Sissel 3e3a04c1bf Add specs to verify rpm conflicts and provides 2012-03-16 15:37:05 -07:00
Jordan Sissel 0cc16d68d1 - remove i386 -> i686 arch translation. Turns out in many cases this is
incorrect. Debian is confusing.
2012-03-15 17:42:22 -07:00
Jordan Sissel e41724d585 - fix name 2012-03-14 23:27:12 -07:00
Jordan Sissel db13e48301 - Add specs for the gem package 2012-03-14 23:26:58 -07:00
Jordan Sissel 9110469987 - Add specs for python 2012-03-15 00:17:13 +00:00
Jordan Sissel 114aa3ece9 - cleanup after each 2012-03-11 15:40:44 -07:00
Jordan Sissel dbd551c636 Add default #to_s (for package filename) based on observations of real rpm packages in the wild 2012-03-09 17:38:18 -08:00
Jordan Sissel cb05d02819 Add default #to_s (for package filename) based on observations of real deb packages in the wild 2012-03-09 17:38:07 -08:00
Jordan Sissel bfdde72427 - Add some dpkg-deb invocations to verify package goodness
- Add some specs to verify name translation with debian policy
2012-03-10 00:58:14 +00:00
Jordan Sissel 778cd62446 - more hacks for debian's arch naming 2012-03-09 15:15:10 -08:00
Jordan Sissel c07dd999cd Add more package defaults specs 2012-03-09 15:11:41 -08:00
Jordan Sissel 0b12b64f3d clean up after each 2012-03-09 13:30:08 -08:00
Jordan Sissel d0a7eced54 - add specs for package 'architecture' behaviors 2012-03-09 21:22:53 +00:00
Jordan Sissel fbbf6cbe64 - default architecture should be native 2012-03-09 20:59:22 +00:00
Jordan Sissel c89d757184 - skip rpm tests and warn if 'rpmbuild' is not found.
- add an 'rspec' specific log channel
2012-03-09 20:00:07 +00:00
Jordan Sissel e8f1b862bd - Add a regression spec for #164. Verified it passes now and fails
without the fix.
2012-03-08 18:07:27 -08:00
Jordan Sissel 96369f8ca7 version defaults to nil, now 2012-03-08 17:05:30 -08:00
Jordan Sissel 84352667fa - Add dependency parsing from deb packages on input
- specs passing
2012-03-08 15:21:38 -08:00
Jordan Sissel f89893ebc4 ar(1) bitches if the file exists but is empty, so delete the tempfile, we just want the path 2012-03-08 13:30:06 -08:00
Jordan Sissel a285b2ded8 - add spec stub for debian packages 2012-03-08 10:40:17 -08:00
Jordan Sissel 5ede8ec622 make sure some rpm spec stuff is correct 2012-03-08 10:17:36 -08:00
Jordan Sissel 5e734a541e - fix spec checking for rpm 'name'
- fix rpm 'defines' default
2012-03-08 09:32:12 -08:00
Jordan Sissel 3fa07b51fa fix syntax 2012-03-08 08:03:21 -08:00
Jordan Sissel 8d59d9e4c4 - try using rspec+insist 2012-03-08 00:03:04 -08:00
Jordan Sissel bb422a0259 - Use my new 'insist' library for assertions 2012-03-07 23:34:29 -08:00