Jordan Sissel
040da7ff0b
- clean up docs and requires
2012-03-02 02:44:12 -08:00
Jordan Sissel
a488ac515f
use new options goodness
2012-03-02 02:44:00 -08:00
Jordan Sissel
ade423ddae
- purge old deb source (that was actually just a copy of the deb
...
target?)
2012-03-02 02:17:11 -08:00
Jordan Sissel
fd80216543
- add deb work in progress
2012-03-02 02:16:44 -08:00
Jordan Sissel
b78bd520f2
- get a bare minimum deb output working
2012-03-02 02:13:01 -08:00
Jordan Sissel
f40e27e2ba
- move to FPM::Package namespace.
...
- capitalize acronyms like NPM and PEAR
2012-03-02 01:24:25 -08:00
Jordan Sissel
30fca1871b
purge old stuff
2012-03-02 01:24:23 -08:00
Jordan Sissel
1c12468c50
- consolidate the remaining old fpm things into package/
2012-03-02 01:21:05 -08:00
Jordan Sissel
26c06d3c8a
- style and docs
2012-03-02 01:20:49 -08:00
Jordan Sissel
18e3573c4b
- remove old flags helper, won't need it soon.
2012-03-02 01:11:15 -08:00
Jordan Sissel
1a35c60a88
remove old requires
2012-03-01 23:35:33 -08:00
Jordan Sissel
a156ff2a59
remove old fpm program code
2012-03-01 23:35:26 -08:00
Jordan Sissel
84f01aa423
- fix some broken tests
2012-03-01 23:35:03 -08:00
Jordan Sissel
0826b44468
- Get things together enough that this works again:
...
fpm -s dir -t rpm -d "zsh" -n testing ~/.zshrc
- Move to using clamp instead of optparse
2012-03-01 23:17:38 -08:00
Jordan Sissel
43b84c2f80
- purge pre-refactor stuff
...
- move python package to new api
2012-02-29 22:26:03 -08:00
Jordan Sissel
6eccfbce31
- Improve package API stuff (add 'converted_from' etc)
...
- Gem to RPM conversions work. Even multiple-composition of gem+gem+gem
-> rpm works
2012-02-29 17:14:45 -08:00
Jordan Sissel
493f2ad6b3
remove fpm/rubyfixes
2012-02-29 09:00:08 -08:00
Jordan Sissel
e3215d79c5
- use ruby backports!
2012-02-29 08:59:07 -08:00
Jordan Sissel
d05c332455
- Start work on rpm support using my pure-ruby rpm library.
2012-02-24 01:21:12 -08:00
Jordan Sissel
86a88dbaf5
- disable unused pre-refactor requires
2012-02-24 01:20:45 -08:00
Jordan Sissel
7d333b11a7
- start major refactoring. Design first, this time. With tests.
2012-02-22 23:59:31 -08:00
Jordan Sissel
8bb3fcfb7d
Merge pull request #157 from ploubser/master
...
Added vendor and license meta data to rpm and deb packages
2012-02-20 12:40:07 -08:00
Pieter Loubser
9c10b60e1b
- Updated builder to include license and vendor
...
- Moved vendor data in debian erb
2012-02-18 17:18:07 +00:00
Pieter Loubser
72579f3389
- Added license meta data to packages
...
- Added vendor meta data to packages
2012-02-18 16:43:15 +00:00
Jordan Sissel
df5ae16470
Moved to 'ruby-arr-pm' project
2012-02-17 22:22:06 -08:00
Andrew Gaffney
c0a33870ab
Add PEAR support
2012-02-03 12:38:37 -08:00
Jordan Sissel
59e31965b7
Merge pull request #146 from zllak/bug/deb
...
Try to make packages built from python sources sanely named.
2012-02-02 08:08:25 -08:00
Jordan Sissel
b851c3a220
Merge pull request #149 from nareshov/rpmbuild-define
...
forgot to include the defines method for upstream merge
2012-02-02 08:05:34 -08:00
Naresh V
c20cf60f87
forgot to include the defines method for upstream merge
2012-02-02 19:15:51 +05:30
Thomas Meson
1d5e675c65
clarify with a comment the package name sanitization
2012-01-27 11:24:41 +01:00
Thomas Meson
11cdab4a28
avoid removing the "python" in a package name if not followed by a dash
...
Example is "pythonweb", which would have been put as a dependency as
"python-web", instead of "python-pythonweb"
2012-01-26 16:49:12 +01:00
Thomas Meson
75f93cc7c9
sanitize output python package name
...
When building python deb packages from PyPI, some packages starting with
python- will end up being named python-python-xxx.
So, this commit avoid adding the prefix+suffix before the package name
2012-01-26 16:48:41 +01:00
Thomas Meson
d338ad21c5
do not add the prefix "python" if already in the dependency name
...
Packages found on PyPI can be named "python-xx" (like python-dateutil).
This was building packages with "python-python-dateutil" as dependency
2012-01-24 18:30:41 +01:00
Thomas Meson
2537eddc9c
handles correctly dependencies versions from setup.py
...
Something, dependencies can be: python-dateutil>=1.5.0,<2.0.0
This case was not supported, and was building wrong packages.
2012-01-24 18:30:41 +01:00
Jordan Sissel
07e023c0ff
Merge pull request #137 from rajatvig/master
...
Fixed the issues for Gems when making RPM's
2011-12-20 11:23:22 -08:00
Rajat Vig
39c07adf11
fixed the failures on sprockets, faraday, polyglot and sinatra
2011-12-21 00:15:40 +05:30
Naresh V
886c878eaf
Add new option to pass --define arguments to rpmbuild.
2011-12-20 16:14:07 +05:30
Matt Blair
b03bf429dc
Make a comment accurate.
2011-12-14 16:17:15 -08:00
Jordan Sissel
fb284ce242
Merge pull request #134 from pjjw/osx-fixes
...
add'l osx fixes
2011-12-11 11:02:40 -08:00
Peter Woodman
8d9d5a9b6b
pull FPM::Source#tar_cmd into util.rb, use tar_cmd to generate dpkg control file, use numbers for owner/group
2011-12-10 23:38:28 -08:00
Peter Woodman
27f22833e4
Merge branch 'master' into osx-fixes
2011-12-10 23:33:15 -08:00
Peter Woodman
076a143a3b
fix tests on osx
2011-12-10 22:49:29 -08:00
Devon Peters
efbc9e2db6
enable setting BASEDIR for Solaris packages, via --prefix
2011-12-09 11:57:41 -08:00
Emmanuel Bastien
3a0bee03fa
Fix wrong arguments split on safesystem call.
2011-12-04 14:14:13 +01:00
Emmanuel Bastien
cf7d3acb87
Merge from master; rewriting calls to safesystem().
2011-12-04 13:40:33 +01:00
Jordan Sissel
ea172e60e0
Merge pull request #126 from ohookins/config_files
...
Allow RPM generation to specify configuration files.
2011-12-03 22:19:47 -08:00
Jordan Sissel
2334c3a878
Merge pull request #128 from dpeters/option_parsing
...
Catch basic option parser exceptions
2011-12-03 22:19:15 -08:00
Jordan Sissel
277c9fab9e
Merge pull request #123 from ohookins/inputs_file
...
Allow --inputs to actually work.
2011-12-03 22:17:48 -08:00
Christian G. Warden
518cfc61d9
Pass arguments to system more safely
...
Pass each argument to (safe)system separately in case paths contain
spaces or other characters that might cause the shell to interpret a
single argument as multiple arguments.
2011-12-01 18:10:18 -08:00
Devon Peters
0ce2496edb
Catch basic option parser exceptions, and show the usage message instead of a stack trace.
2011-11-29 13:39:28 -08:00
Emmanuel Bastien
ceeddf73ef
Add support for debconf.
2011-11-29 13:59:29 +01:00
Oliver Hookins
8afaa2fc67
Pull path mangling logic out of template and correct it.
2011-11-24 23:44:05 +01:00
Oliver Hookins
b04ba73dfc
Allow RPM generation to specify configuration files.
2011-11-24 00:15:33 +01:00
Oliver Hookins
df8c2e8703
Allow --inputs to actually work.
2011-11-17 09:06:26 +01:00
Oliver Hookins
30a3374aa8
This should be an instance variable.
2011-11-17 00:32:50 +01:00
Jordan Sissel
2ccb41570d
Merge pull request #112 from pjjw/osx-fixes
...
Fix tar command on OSX, skip .deb md5sums creation
2011-10-27 00:26:53 -07:00
Jordan Sissel
46090cf771
- style cleanup
2011-10-24 17:34:45 -07:00
Eric Sorenson
af77c4f1d6
Add (maybe?) support for --iteration to rpm output.
...
The rpm equivalent of iteration is 'release', and it defaults to 1
unless overriden by the user.
2011-10-24 16:46:09 -07:00
Peter Woodman
5eed9bba2e
skip md5sums creation on osx
2011-10-18 21:40:54 -07:00
Peter Woodman
237c70deb1
point to gnutar for the tar binary on osx
2011-10-18 21:30:54 -07:00
Jordan Sissel
60c4da17a9
- quiet stderr from dpkg --print-architecture
2011-10-11 12:46:59 -07:00
Jordan Sissel
35edea0b0d
Merge pull request #111 from fidothe/spaces-in-filenames
...
md5sum errors when files in the package have spaces in their name
2011-10-11 12:05:00 -07:00
Matt Patterson
1a5ba04543
Quote path handed to md5sum by Builder so we don't choke on filenames with spaces in
2011-10-11 15:14:49 +02:00
Matt Patterson
9d4e7f7191
Accept a list of paths to package in --inputs, or from STDIN by passing - as the only argument
2011-10-11 15:01:35 +02:00
Khalid Goudeaux
e3f57454c4
pass -U to easy_install to always fetch package
...
When calling easy_install with a build directory
on a machine/environment where the target package is
already available, include -U to force the package
to be redownloaded.
Otherwise, easy_install does nothing and fpm errors
out with:
Unexpected directory layout after easy_install
2011-09-26 12:11:29 -05:00
Jordan Sissel
e6c5953720
- don't prefix with './' not needed. Tests verify.
2011-09-08 10:29:53 -07:00
Chris Andrews
78015580b8
Restore support for multiple specified paths in the Dir source.
...
Only the first specified path was being used once prefixed with ./
where all should have been used.
This broke an invocation of the form:
fpm -s dir \
-t rpm \
-n mypkg \
-v 1.0 \
-C pkg \
dir1 dir2 dir3
where only pkg/dir1 would be tarred up, leading to complaints from rpm.
2011-09-08 11:53:12 +01:00
Krzysztof Wilczynski
0fa3a26baa
Fix name of the variable.
...
Should be "path" not "paths".
Signed-off-by: Krzysztof Wilczynski <krzysztof.wilczynski@linux.com>
2011-09-04 20:42:44 +01:00
Krzysztof Wilczynski
86347c2893
Consolidate all changes under one commit.
...
Signed-off-by: Krzysztof Wilczynski <krzysztof.wilczynski@linux.com>
2011-09-03 02:29:54 +01:00
Corry Haines
dac445319b
Remove dashes from the version in rpm targets
...
RPMs do not allow dashes in the main part of the version string.
We need to test @version because some sources (I am looking at you gem)
set version to a Fixnum, and others to a String.
2011-08-23 14:56:44 -07:00
Jordan Sissel
d8312ebf27
- stylefix
2011-08-19 18:32:54 -07:00
Jordan Sissel
602772d2b0
Merge branch 'master' of github.com:jordansissel/fpm
2011-08-19 18:32:30 -07:00
Jordan Sissel
fd63a3eeb2
- Add flag --gem-gem to specify the path to the 'gem' tool
...
Default is 'gem' and uses $PATH
https://github.com/jordansissel/fpm/issues/85
2011-08-19 18:31:50 -07:00
Jordan Sissel
117ee5011a
Merge pull request #81 from bernd/master
...
Add deb Pre-Depends support
2011-08-19 18:19:56 -07:00
Jordan Sissel
e3930f030f
- Merge https://github.com/jordansissel/fpm/pull/79 by hand.
2011-08-19 18:16:24 -07:00
Jordan Sissel
a236eb091e
Merge pull request #88 from tabletcorry/master
...
Adds gem prefix and safesystem
2011-08-19 18:14:14 -07:00
Jordan Sissel
807bf1eb78
Merge pull request #93 from ration/master
...
Use -E in gem install command
2011-08-19 18:11:29 -07:00
Jordan Sissel
c7e12b35bc
- clean up and catch null case
2011-08-19 18:09:26 -07:00
David Dollar
e792c1c042
make sure we have a description
2011-08-19 21:05:18 -04:00
Tatu Lahtela
bc52019d6b
add use shebang option
2011-08-19 11:25:30 +03:00
Corry Haines
43c1a94a52
Add --python-package-prefix option
...
Allows the prefix of packages to change to a user specified value.
Useful if you do not want to conflict with other python packages,
or want to install to a special ruby instance
2011-08-17 19:17:15 -07:00
Jordan Sissel
d57dea5fd0
- remove 'replaces not supported' warning (issues/91)
2011-08-13 17:19:23 -07:00
Corry Haines
b8e6202eab
Add "safesystem" function
...
Basically, its a replacement for system. If the command fails, then
it raises an exception and prints out the entire command that was
attempted.
This will prevent issues where fpm finished (with return code 0) and
produces an artifact with real size (>0 bytes) but the artifact
is worthless as it contains nothing.
Fixes #86
2011-08-01 20:35:56 -07:00
Corry Haines
5874596c89
Add --gem-package-prefix option
...
Allows the prefix of packages to change to a user specified value.
Useful if you do not want to conflict with other rubygem packages,
or want to install to a special ruby instance
Fixes #84
2011-07-28 10:56:24 -07:00
Jeanine Adkisson
9d1bffd691
proposed fix for issue #82
2011-07-27 15:21:53 -07:00
Bernd Ahlers
90d6f1a1f4
Add support for deb Pre-Depends.
2011-07-26 19:18:25 +02:00
Pierre Carrier
09ebd8b744
pyfpm: compatible with Python 2.5 + Lenny's python-json
2011-07-26 00:27:21 +02:00
Pierre Carrier
2fdbaeaf01
builder.rb: handle standard files as sources
2011-07-26 00:27:21 +02:00
Aman Gupta
9d31c4b023
debian control.tar.gz contents use ./ prefix
2011-07-26 00:27:21 +02:00
Brian Pitts
94689018a3
Add support for tarballs compressed by XZ
2011-07-12 11:15:19 -07:00
Jordan Sissel
f81d47c2f6
Merge pull request #71 from rcrowley/deb-md5sums
...
Return complete list of MD5 sums from checksum
2011-07-11 18:17:10 -07:00
Pierre Carrier
456eb3fb29
python.rb: better error if easy_install isn't installed
2011-07-08 19:20:24 +02:00
Richard Crowley
af4c012109
Return complete list of MD5 sums from checksum.
...
Before this patch, the method almost correctly computed the list of MD5 sums but returned the result of calling paths.each, not the md5sums list. Now paths.collect.flatten is the return value.
The find(1) call was changed slightly to use the %P formatter so the output lines look like this:
0123456789abcdef0123456789abcdef path/to/file
Instead of this:
0123456789abcdef0123456789abcdef ./path/to/file
The difference is cosmetic but looks like everyone else's packages.
2011-07-08 14:11:24 +00:00
Aman Gupta
a6c7c314bb
Merge remote-tracking branch 'origin/master' into brew2deb-backports
...
Conflicts:
lib/fpm/target/deb.rb
2011-07-08 00:36:04 -07:00
Jordan Sissel
e5891573e8
Merge branch 'master' of github.com:jordansissel/fpm
2011-07-08 00:14:40 -07:00
Jordan Sissel
71dd690acb
- deb packages let you specify 'or' in deps (pipe, '|'). Let it work.
2011-07-08 00:13:09 -07:00
Aman Gupta
8ddf448742
Merge remote-tracking branch 'origin/master' into brew2deb-backports
...
Conflicts:
lib/fpm/target/deb.rb
2011-07-07 23:57:48 -07:00
Aman Gupta
8cf6e4fd93
Handle complex deb dependencies ( fixes #70 )
2011-07-07 23:37:23 -07:00
Aman Gupta
4518db757d
Rename to --config-files and add some help
2011-07-07 23:33:58 -07:00
Aman Gupta
7c1be2d3fd
do not include epoch version in generate .deb filenames
2011-07-07 23:08:02 -07:00
Aman Gupta
92e8cb9dcc
removed all trailing whitespace: for i in $(git ls-files); do sed -i tmp -e "s/ *$//" $i; done
2011-07-07 22:52:55 -07:00
Aman Gupta
35a2ed46d3
convert tabs and remove trailing whitespace
2011-07-07 22:47:45 -07:00
Aman Gupta
ea31691dee
add support for specifying configuration files in debian packages
2011-07-07 22:37:47 -07:00
Aman Gupta
7786bc583d
Pass through --category to set debian Section
2011-07-07 22:32:58 -07:00
Aman Gupta
b077dd646b
Add support for debian conflicts
2011-07-07 22:29:16 -07:00
Jordan Sissel
5d7cad764c
- replace underscores with dashes in dependencies
...
This should fix: https://github.com/jordansissel/fpm/issues/65
2011-07-07 20:55:05 -07:00
Jordan Sissel
904669b4b5
- If install_requires is just a string, make it an array.
...
Fixes: https://github.com/jordansissel/fpm/issues/66
2011-07-07 20:47:22 -07:00
Ted Cooper
84d4572c4f
missing parens
2011-07-07 14:35:57 -04:00
Ted Cooper
ba2d9eaf06
* added command-line option to make generated debs' dependencies
...
ignore iterations
* in order to accomplish this, added framework similar to that in
FPM::Source to FPM::Package to support plugin-specific command-line
options and pass corresponding params to FPM::Package constructor
to be made available as an instance variable
* also fixed bug (probably due to recent refactoring) that broke help
* also fixed spelling error
2011-07-07 14:03:18 -04:00
Jordan Sissel
8512dcd66a
- patch from alcy for https://github.com/jordansissel/fpm/issues/61
2011-06-27 18:48:58 -07:00
Jordan Sissel
181220c06c
Merge pull request #58 from bulletproofnetworks/master
...
Fix inconsistent RubyGems behaviour when using --binpath option
2011-06-24 17:11:32 -07:00
Jordan Sissel
7b34efe276
- make it work in ruby 1.8.6
2011-06-24 10:13:46 -07:00
Bruno Grasselli
9387c54ace
Porting fpm to ruby 1.9
2011-06-24 12:58:18 -03:00
Lindsay Holmwood
e3fb7939d6
Explicitly mkdir -p the temporary bin path. Fixes #27 .
...
- It's a guess, but I think that various releases of RubyGems don't
create the path specified by --bindir.
- This patch covers the inconsistent behaviour in RubyGems.
2011-06-24 12:05:15 +10:00
Lindsay Holmwood
692e79bcba
Removed trailing whitespace
2011-06-24 12:04:05 +10:00
Jordan Sissel
7342cfa119
- Fix spurious 'find' warning message
...
https://github.com/jordansissel/fpm/issues/50
2011-06-20 23:38:45 -07:00
Jordan Sissel
8b7fd7635e
- improve the error message when you give an invalid target or source
...
- clenaed up unused code in target/puppet
2011-06-20 23:27:41 -07:00
Jordan Sissel
4db6f46088
- some code cleanup
...
- source rpm => target puppet works now
2011-06-20 23:00:18 -07:00
Jordan Sissel
553e01aa2f
- previous commit missed some files; adding features to allow generating
...
multiple files from 'specfile' phase.
2011-06-20 19:33:27 -07:00
Jordan Sissel
9e9f8a6c29
Merge branch 'feature/puppet' of github.com:jordansissel/fpm into feature/puppet
2011-06-19 22:17:34 -07:00
Jordan Sissel
ca6d3c4927
- downcase dependency names, too
2011-06-19 22:13:48 -07:00
Jordan Sissel
cf920bb50f
- work-in-progress making it so you can conver rpms to puppet modules.
2011-06-19 01:15:00 -07:00
Jordan Sissel
64c28c41eb
- seems to work. Missing a few features, but it works :)
2011-06-19 00:17:49 -07:00
Jordan Sissel
6799962f5d
- convert to using the (still undocumented) ERB "explicit line ending"
...
mode '-' so we can use '-%>' to say no newline.
2011-06-18 23:22:39 -07:00
Jordan Sissel
2a063a831e
- add stubs
2011-06-18 22:57:26 -07:00
Jordan Sissel
7bed50ebb8
- start working on https://github.com/jordansissel/fpm/issues/51
2011-06-18 22:11:03 -07:00
Jordan Sissel
02ba8287fb
- deb: downcase the package name if it's uppercase, but still warn about it.
...
- deb: Replace underscores '_' with dashes '-'
https://github.com/jordansissel/fpm/issues/48
2011-06-15 09:20:25 -07:00
Jordan Sissel
7fbe3d4cc7
- add {pre,post}install support
2011-06-15 07:40:52 +00:00
Jordan Sissel
e2b750e6df
- only wrap system() if we're in debug mode
...
- fix a bug in dir target regarding handling "." and "./"
- clean up some verbosity
- solaris: parse pkgproto output ourselves
2011-06-15 07:20:05 +00:00
Jordan Sissel
d3b8bd5e76
- solaris package building works.
...
Big thanks to Ben Rockwood for giving me access to a Joyent Solaris
system so I could make this happen.
2011-06-15 07:05:24 +00:00
Jordan Sissel
4a2dc3931e
- Start working on a solaris package type.
...
- md5sums aren't needed by most packages, disable it by default.
In the future, should move the md5sums generator to the .deb package
target and keep it away from other stuff.
2011-06-15 06:20:36 +00:00
Jordan Sissel
a3c0d188fe
- abort if someone tries to build a .deb package with a capital letter
...
in the name.
Fixes: https://github.com/jordansissel/fpm/issues/43
2011-06-08 18:52:55 -07:00
Adam Jacob
c78dedb799
Adding iteration as a settable field
2011-05-30 10:39:32 -07:00
Jordan Sissel
378699fe35
fizzlesticks
2011-05-19 20:45:33 -07:00
Jordan Sissel
15d69551e8
- add 'tar' source support.
2011-05-19 20:23:01 -07:00
Jordan Sissel
b22c299d95
- oops.
2011-05-18 01:24:37 -07:00
Jordan Sissel
ea78fd34b9
- add changelist!
2011-05-18 01:22:45 -07:00
Jordan Sissel
c5d218fcd4
- use DEBEMAIL and DEBFULLNAME from environment as the default
...
maintainer. https://github.com/jordansissel/fpm/issues/37
- remove some print statements that we don't need
2011-05-18 01:17:01 -07:00
Jordan Sissel
317c69f2bd
- Add new flags for the python source:
...
--python-bin - path to the python binary you want to run
--python-easyinstall - path to the easy_install script you want to use
https://github.com/jordansissel/fpm/issues/38
2011-05-18 01:08:35 -07:00
Jordan Sissel
92fdaebdb6
- forgot to commit this.
2011-05-18 00:49:59 -07:00
Jordan Sissel
b1ebf910c4
- move main program to FPM::Program
...
- support an ~/.fpmrc - the syntax of this file is one flag per line.
This file is optional.
https://github.com/jordansissel/fpm/issues/39
- Support --replaces (only .deb supports this right now, rpm seems to
not).
2011-05-18 00:38:55 -07:00
Jordan Sissel
952ff93aff
- Add general way for source plugins to add flags specific to that
...
plugin. For now, only 'gem' uses this.
- Add flag --gem-bin-path to install a gem's executables to a specific
place. Some folks like /usr/bin, so, package puppet with bins there:
* fpm -s gem -t deb --gem-bin-path /usr/bin puppet
The original implementation for this bin-path flag was by lassizci.
https://github.com/jordansissel/fpm/pull/27
2011-05-17 00:17:22 -07:00
Jordan Sissel
33f77bbab2
- sometimes 'install_requirements' can be None.
2011-05-16 19:49:21 -07:00
Jordan Sissel
219fe803e5
- fix path if relative
2011-05-16 18:55:16 -07:00
Jordan Sissel
bac9ee1131
- support version-specific downloads for python
2011-05-16 18:52:46 -07:00
Jordan Sissel
d06d8e3140
- fix dep regexp to permit package names without version conditions
2011-05-16 18:33:27 -07:00
Jordan Sissel
aeb3d4c7e8
- Add python packaging support.
...
* Uses 'easy_install' to download packages from pypi.
* You can also give the path to a setup.py to use if you already have
the project locally.
* Automatically chooses 'native' or 'all' arch depending on whether
the python project has C extensions
2011-05-16 18:18:04 -07:00
Jordan Sissel
b3ebc06ff5
- factor out the rpm bits into separate class files
...
- include all known rpm 'tag' types
2011-05-14 00:49:46 -07:00
Jordan Sissel
1a2d3369d0
- Refactor architecture selection.
...
Unless specified, the arch is selected automatically.
The default arch is "native"
Also support "native" and "all" strings which are converted to the
appropriate values for the target packages.
"all" will become "noarch" for rpms (stays as 'all' for deb)
"native" will become amd64 or i386 for deb (or other)
"native" will become the output of 'uname -m' for rpm.
If the source is a gem, and the gem has no extensions (ruby C code),
default to "all". If it has C extensions (like eventmachine and
sqlite3 gems), then the arch defaults to "native"
This resolves:
https://github.com/jordansissel/fpm/pull/29
https://github.com/jordansissel/fpm/issues/25
https://github.com/jordansissel/fpm/issues/14
2011-05-12 21:20:25 -07:00
Jordan Sissel
a8be482afa
- move rpm multiline-description fix to just the rpm template
2011-05-11 15:52:59 -07:00
Jordan Sissel
3c803c9eda
Merge branch 'master' of github.com:jordansissel/fpm
2011-05-11 15:49:32 -07:00
Jordan Sissel
42c0bfbcb2
- add TODO
2011-05-11 15:49:08 -07:00
Curt Micol
d9bb28db22
Remove superfluous url accessor.
2011-05-11 11:56:21 -04:00
Curt Micol
c7078b2967
Adds --url as a command line option.
2011-05-11 11:47:05 -04:00
sabowski
fbc585d3bf
Check for empty lines in the description field
...
The description field cannot contain empty lines in a debian control
file. Adds " ." to empty lines. Also removes double printing of the
description in the control file.
2011-05-06 23:49:11 -07:00
Jordan Sissel
00aed80a74
- Refactor maintainer script support.
...
Supports {pre,post}{install,uninstall} tasks in deb and rpm now.
maintainers scripts are now supported. However, the interface is
likely to change in the future. I want to make a universal maintainer
script format that allows you to use the same exact script in an rpm
and in a deb package.
See https://github.com/jordansissel/fpm/issues/18
2011-05-05 00:02:27 -07:00
Thomas Haggett
380caa0635
Build .deb files with postinst and prerm scripts burned in.
2011-05-01 11:20:36 +01:00
Jordan Sissel
e72fc738d7
- @paths is an array
2011-04-26 01:00:17 -07:00
Jordan Sissel
b16f38853c
- Make 'gem' source obey --prefix (issues/21)
2011-04-26 00:25:54 -07:00
Jordan Sissel
59ee089f91
- add --provides flag and support into rpm target
2011-04-25 13:40:47 -07:00
Jordan Sissel
749cafa047
- include epoch value in filename output by default
2011-04-25 11:43:14 -07:00
Jordan Sissel
f46a9bf52e
Merge branch 'master' of github.com:jordansissel/fpm
2011-04-25 11:25:12 -07:00
Jordan Sissel
0cac7f906d
- Add epoch support
2011-04-25 11:24:56 -07:00
Jordan Sissel
b083c29482
- add todo
2011-04-14 22:17:46 -07:00
Jordan Sissel
cd9000b41f
- Actually obey maintainer settings (previously we ignored it entirely)
...
Fixes: https://github.com/jordansissel/fpm/issues/13
2011-04-11 11:18:09 -07:00
Jordan Sissel
b01dbbfb73
Merge branch 'master' of github.com:jordansissel/fpm
...
Conflicts:
fpm.gemspec
2011-04-07 09:03:19 -07:00
Jordan Sissel
b237a6b2d4
- make sure we call rsync properly if we're copying a directory
2011-04-07 07:32:48 -07:00
Jordan Sissel
8d2445f55f
- version bump
...
- sort paths by length before taring up, this ensure "/usr" before
"/usr/bin" in the tarball.
2011-04-05 22:40:49 -07:00
Jordan Sissel
8c43ac4c56
Merge branch 'master' of github.com:jordansissel/fpm
2011-03-30 15:53:56 -07:00
Jordan Sissel
e07d1d789a
- monkeypatch String#start_with? becuase ruby <=1.8.6 doesn't have it.
2011-03-30 15:53:17 -07:00
Jordan Sissel
1453109c51
- Some gem deps look like this ">= A, <= B" so split them and add
...
separate deps for each.
2011-03-29 11:17:30 -07:00
Jordan Sissel
32e58a9b5c
- Compensate for some gems or rubygems versions not having 'license'
...
or possibly other fields. Assume "unknown"
2011-03-29 11:06:29 -07:00
Jordan Sissel
7c21f43f75
- remove extra mkdir that put crap in the source dir unintentionally
...
when using --prefix
2011-03-21 10:53:30 -07:00
Jordan Sissel
aacb5d0d15
- Set default version to 1.0
2011-03-17 00:32:42 -07:00
Marc Fournier
8b5466c03e
Make deb output filename compliant with debian policy.
2011-03-17 07:49:28 +01:00
root
1a91db513f
- Kernel.system() doesn't return exit code, use $?
2011-03-07 13:10:14 -05:00
root
817cba2b45
- make sure all the necessary rpmbuild directories exist
...
- on failure, emit exit code.
2011-03-07 13:07:02 -05:00
root
586b9c89fb
- Don't use .start_with? (not available in ruby 1.8.6 or older)
...
Reported by Chris Macleod
2011-03-07 12:35:24 -05:00
Jordan Sissel
0ed6ee0f89
- Create the rpm correctly targeted at the output path (usually $PWD as
...
of fpm invocation)
The prior behavior would make an rpm similar to this:
$PWD/name-version.x86_64.rpm/x86_64/the-actual-rpm.rpm
- Version bump
2011-03-01 22:53:33 -08:00
Jordan Sissel
6f047154bc
- Properly prefix file paths if --prefix is given.
2011-02-14 17:06:34 -08:00
Jordan Sissel
ccbdea4bb2
- Make the 'dir' source accept files sanely. Previously a plain file
...
input would make a directory but now it does not.
2011-02-07 23:25:28 -08:00
Jordan Sissel
9fafb17c92
fix syntax post-merge
2011-02-07 23:25:12 -08:00
Jordan Sissel
1558279025
Merge branch 'feature/exclude-files'
...
Conflicts:
lib/fpm/builder.rb
2011-02-07 23:16:17 -08:00
Jordan Sissel
27fd1350f6
Merge branch 'feature/exclude-files'
...
Conflicts:
lib/fpm/builder.rb
2011-02-07 23:13:28 -08:00
Jordan Sissel
76d3be7a97
- fpm --exclude now works decently. Relies on tar(1)'s --exclude flag.
2011-02-07 18:33:15 -08:00
Jordan Sissel
bb91dd9949
- Start working on file exclusion
2011-02-07 17:38:18 -08:00
Jordan Sissel
aa933f65b3
- If iteration is nil, default to '1' for RPM
...
- Style cleanup
2011-02-07 10:52:06 -08:00
Jordan Sissel
d666e07fa7
Merge branch 'master' of https://github.com/anthezium/fpm into pull/6
2011-02-07 10:43:18 -08:00
Pierre-Yves Ritschard
776941e964
Support for suffixes in gems. This allows building the same gems
...
for differents rubies (1.8, 1.9.2, ...).
2011-02-07 18:38:21 +01:00
anthezium
ab1d71cc4a
remove default iteration of 1, allowing it to be nil
...
updated default_output to properly handle nil iteration
2011-02-04 07:17:27 -08:00
anthezium
743c32c297
don't include hyphen after version if iteration is nil
2011-02-04 07:10:15 -08:00
Jeanine Adkisson
0fd0c0db38
option to edit the specfile before build
2011-02-02 10:05:43 -08:00
Jordan Sissel
6cce352951
- Add proper 'arch' support for rpm.
2011-01-22 10:56:15 -08:00
Jordan Sissel
7e11b8380b
- Fix gem tar building to include only the gem install dir
...
- Abort if rpmbuild fails so we can debug it.
- Fix dependency conversion for rpm
- Fix path prefixing so rpm accepts our list of files (rpm requires
paths in %files section start with '/'
2011-01-22 00:55:53 -08:00
Jordan Sissel
343d8e08cf
Merge branch 'master' of https://github.com/pyro/fpm into pull/3
2011-01-21 22:35:43 -08:00
Jordan Sissel
4948fc05c3
- Start working on npm source
2011-01-21 09:24:03 -08:00
Pierre-Yves Ritschard
922751497f
fix fpm for ruby 1.9
2011-01-21 11:45:40 +01:00
Jordan Sissel
49a2d7cdc0
- make it so we can download non-latest packages
2011-01-20 17:40:43 -08:00
Jordan Sissel
d9c9d0b510
- Add support for rubygems 1.3.5
2011-01-20 16:35:59 -08:00
Jordan Sissel
18dad90a6d
- only add dependencies if given
2011-01-20 15:34:34 -08:00
Jordan Sissel
b19c02d1c7
- fix method signatures
2011-01-20 12:45:22 -08:00
Jordan Sissel
570098480c
- Fix issue/2 - we were accidentally ignoring deps specified via
...
commandline.
2011-01-13 15:34:40 -08:00
Jordan Sissel
d56ced7f30
- Add --prefix flag for prefixing paths before packaging. This is not
...
necessary for 'gem'.
Example, package up /etc but install to /server/$(hostname) or
something fun:
fpm -s dir -t deb --prefix /server/$(hostname) /etc
This is useful for packages/directories that you would prefer
installed in a specific heirarchy.
2011-01-07 20:25:12 -08:00
Jordan Sissel
dce2dd1d7c
- Fix version 'iteration' in package output
...
- some style fixups
- Allow gems to be versioned (fpm -s gem -t deb -v 1.0 somegem) will
fetch somegem version 1.0
2011-01-07 16:10:56 -08:00
Jordan Sissel
5698ab33cf
- ignore deps when fetching gem sources
2011-01-07 13:20:23 -08:00
Jordan Sissel
1b44b1dbb2
- Allow downloading of gems if the given path is not a local file.
2011-01-07 01:34:54 -08:00
Jordan Sissel
3629870de8
- Make rpm target work
...
- Get fpm -s rpm -t rpm working (should provide a useful test case)
- Allow 'output' (-p <path>) to be a directory
2011-01-07 00:50:06 -08:00
Jordan Sissel
57a336ab71
- Read metadata for Source::RPM
2011-01-06 19:07:45 -08:00
Jordan Sissel
f8443472d2
- Make source 'rpm' work. Can now convert RPM to DEB :)
2011-01-06 18:46:01 -08:00
Jordan Sissel
17e4d266c2
- Namespace targets and sources.
...
- Allow case-insensitive target/source names.
2011-01-06 18:39:58 -08:00
Jordan Sissel
ed72b8e3ba
- Allow tar to take a chdir option.
2011-01-06 18:39:30 -08:00
Jordan Sissel
876f81367d
- move rpm to target/
2011-01-06 11:15:27 -08:00
Jordan Sissel
8ea1c5553a
- Allow a package name.
2011-01-05 22:54:21 -08:00
Jordan Sissel
da0b1d03ac
style
2011-01-05 22:54:12 -08:00
Jordan Sissel
90190bfa07
- Fix require since path change
2011-01-05 22:53:31 -08:00
Jordan Sissel
20424816e6
- Move files
2011-01-05 22:31:16 -08:00
Jeanine Adkisson
6619e4c6cb
render templates in the context of the package, not the source
...
This allows things like debs referring to x86_64 as amd64
to be in the Deb class.
2011-01-05 20:26:37 -08:00
Jeanine Adkisson
e8511f3787
make sure to grab and expose everything from the source
2011-01-05 20:26:10 -08:00
Jeanine Adkisson
a1644be271
rm debugging code
2011-01-05 20:18:50 -08:00
Jeanine Adkisson
e2e404c956
don't expose rpm, gem, and tar functionality until they're done
2011-01-05 20:18:50 -08:00
Jeanine Adkisson
9de4678d90
add in stubby FPM::Rpm and FPM::Gem
...
TODO: put sources and packages in separate namespaces
2011-01-05 20:02:22 -08:00
Jeanine Adkisson
a1a6f98d56
stupid syntax error *facepalm
2011-01-05 18:38:04 -08:00
Jeanine Adkisson
eb985c0d79
actually require the new code
2011-01-05 18:34:42 -08:00
Jeanine Adkisson
a76ef974f9
constants for local directory names
...
Things get weird when you're Dir.chdir-ing
2011-01-05 18:32:45 -08:00
Jeanine Adkisson
8e16c50dc1
the assemble method has moved to builder
2011-01-05 18:31:28 -08:00
Jeanine Adkisson
39843be0e4
be more energetic with method naming, and use symbols
2011-01-05 18:29:43 -08:00
Jeanine Adkisson
da0c9963b6
Builder#assemble! doesn't actually take any params
2011-01-05 18:28:32 -08:00
Jeanine Adkisson
8ef454a330
the checksum method is now owned by builder
2011-01-05 18:27:00 -08:00
Jeanine Adkisson
780bbbde0e
Package#default_output.
...
Package managers usually have lots of guidelines
and specs for naming conventions. This lets the
package class provide a default.
2011-01-05 18:23:15 -08:00
Jeanine Adkisson
8a864b9f8a
meet FPM::Dir, the simplest source of all.
2011-01-05 18:21:23 -08:00
Jeanine Adkisson
a6082a9a39
FPM::Builder
...
The builder is the thing that takes a package and a source
and makes them do things. It is responsible for fpm-wide
defaults, keeping track of paths of things, etc.
Note in particular the change to bin/fpm.
2011-01-05 18:16:59 -08:00
Jeanine Adkisson
db2afcd61e
a package is initialized with a source
...
and interprets its metadata accordingly
2011-01-05 18:13:59 -08:00
Jeanine Adkisson
1cfaf3eb9b
tar is owned by the source now
2011-01-05 18:12:29 -08:00
Jeanine Adkisson
ae91abfa39
FPM::Source
...
This is the base class for sources. Subclasses need to define
two methods:
def get_metadata
# starting out with @paths and @root, infer as much
# metadata as possible
end
def make_tarball!(tar_path)
# turn this source into a tarball at the given path
end
2011-01-05 18:00:10 -08:00
Jeanine Adkisson
701e77c346
no need to delete the file twice (moved to package.rb:84)
2011-01-04 18:46:49 -08:00
Jeanine Adkisson
d9bd870af4
factor out the re-usable parts of assemble
...
This is so I can reuse as much code as possible for rpms.
I've verified to the extent I know that behavior is unchanged
(i.e. made a directory somewhere and packaged it up as a deb),
but it'd be nice to have some specs so I can be sure. Count that
as a TODO.
2011-01-04 18:37:21 -08:00
Jeanine Adkisson
415cb79dac
factor out the architecture munging into a method in FPM::Deb
2011-01-04 18:24:30 -08:00
Jeanine Adkisson
fcc428c938
rm debug puts
2011-01-04 18:24:30 -08:00
Jordan Sissel
ce8efab77c
- delete the .deb if it exists, before we create it
2011-01-04 16:29:40 -08:00
Jordan Sissel
62744a8dbe
- include some more paths in npm packages
...
- set more default values since apt-get barfs on packages with missing
data, it seems. Hard to debug since the error messages are totally
meaningless.
2011-01-04 01:29:15 -08:00
Jordan Sissel
6fd63af88d
- version bump
...
- remove debug output
2011-01-03 18:49:25 -08:00
Jordan Sissel
3ef75dbcd5
- support dependencies again
2011-01-03 18:47:19 -08:00
Jordan Sissel
5b942f2710
- Fix gem-ification bits (now installs+runs)
...
- Factor out 'deb' package assembly into a library
2011-01-03 18:22:09 -08:00