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
020aed0a25
Fix a bug introduced in 0.4.11 that caused all deb packages to contain empty maintainer scripts if not otherwise specified, which made apt/dpkg quite unhappy
2012-08-10 16:00:50 -07:00
Jordan Sissel
3fc1f58d72
- support templating package/maintainer scripts ( #246 )
...
- include test coverage
2012-08-07 10:25:13 -07:00
Jordan Sissel
832d8d7995
move erb require to top
2012-08-07 09:44:20 -07:00
Jordan Sissel
013dd087ce
remove monkeypatches now that we're on a newer backports (2.6.2)
2012-08-07 09:33:48 -07:00
Jordan Sissel
7a2ab4f4aa
- remove monkeypatches and upgrade to backports 2.6.2
2012-08-07 09:32:59 -07:00
Jordan Sissel
77fd8b49b3
fix missing logger
2012-08-06 02:37:45 -04:00
Matt Blair
79b2608f95
if a deb's compression type isn't specified, use gzip.
2012-07-29 19:45:58 -07:00
Matt Blair
ef5f7d3b34
fix uninitialized constant errors
2012-07-29 19:28:56 -07:00
Jordan Sissel
aec08417ae
- fix up rpm relocatability support
2012-07-24 19:33:31 -07:00
Jordan Sissel
4f829b3373
Don't try to exclude things when no :excludes attribute is present
2012-07-24 19:33:19 -07:00
Jordan Sissel
c44becf28f
Merge pull request #234 from llasram/master
...
Better metadata-copying behavior when copying symlinks.
2012-07-21 20:51:47 -07:00
Jordan Sissel
81365423c2
- try to warn about what appears to stray flags (flags that appear after
...
non-flag arguments)
2012-07-21 20:50:29 -07:00
Jordan Sissel
6b7f4c59b9
- fix some failing tests introduced by #230 (regression check on quoted
...
filenames, etc)
- Prefer File.join() when joining paths
2012-07-21 20:49:42 -07:00
Jordan Sissel
81baf8371e
Merge pull request #230 from jkoppe/master
...
Make rpms relocatable by respecting fpm's --prefix appropriately.
2012-07-21 20:44:52 -07:00
Jordan Sissel
106172e934
Merge pull request #236 from jimbrowne/issue-205
...
Remove dirs empty due to --exclude. Issue 205.
2012-07-21 20:43:07 -07:00
Jordan Sissel
b314cd1d41
Save a stat call
2012-07-10 14:51:15 -07:00
Greg Swallow
2075838aac
Do not check utime on copied symlinks.
...
/usr/local
/rvm/gems/ruby-1.9.3-p0/gems/fpm-0.4.10/lib/fpm/package/dir.rb:121:in `utime': No such file or directory - /tmp/package-dir-staging2
0120710-20351-f4vjw7/usr/lib/libQt3Support.so (Errno::ENOENT)
from /usr/local/rvm/gems/ruby-1.9.3-p0/gems/fpm-0.4.10/lib/fpm/package/dir.rb:121:in `copy_metadata'
from /usr/local/rvm/gems/ruby-1.9.3-p0/gems/fpm-0.4.10/lib/fpm/package/dir.rb:111:in `copy'
from /usr/local/rvm/gems/ruby-1.9.3-p0/gems/fpm-0.4.10/lib/fpm/package/dir.rb:79:in `block in clone'
from /usr/local/rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/find.rb:41:in `block in find'
from /usr/local/rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/find.rb:40:in `catch'
from /usr/local/rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/find.rb:40:in `find'
from /usr/local/rvm/gems/ruby-1.9.3-p0/gems/fpm-0.4.10/lib/fpm/package/dir.rb:77:in `clone'
from /usr/local/rvm/gems/ruby-1.9.3-p0/gems/fpm-0.4.10/lib/fpm/package/dir.rb:36:in `block in input'
from /usr/local/rvm/gems/ruby-1.9.3-p0/gems/fpm-0.4.10/lib/fpm/package/dir.rb:32:in `chdir'
from /usr/local/rvm/gems/ruby-1.9.3-p0/gems/fpm-0.4.10/lib/fpm/package/dir.rb:32:in `input'
from /usr/local/rvm/gems/ruby-1.9.3-p0/gems/fpm-0.4.10/lib/fpm/command.rb:248:in `block in execute'
from /usr/local/rvm/gems/ruby-1.9.3-p0/gems/fpm-0.4.10/lib/fpm/command.rb:247:in `each'
from /usr/local/rvm/gems/ruby-1.9.3-p0/gems/fpm-0.4.10/lib/fpm/command.rb:247:in `execute'
from /usr/local/rvm/gems/ruby-1.9.3-p0/gems/clamp-0.3.1/lib/clamp/command.rb:64:in `run'
from /usr/local/rvm/gems/ruby-1.9.3-p0/gems/clamp-0.3.1/lib/clamp/command.rb:126:in `run'
from /usr/local/rvm/gems/ruby-1.9.3-p0/gems/fpm-0.4.10/bin/fpm:8:in `<top (required)>'
from /usr/local/rvm/gems/ruby-1.9.3-p0/bin/fpm:19:in `load'
from /usr/local/rvm/gems/ruby-1.9.3-p0/bin/fpm:19:in `<main>'
2012-07-10 17:09:46 -03:00
Jim Browne
d7185811ce
Don't process ancestors of non-empty dirs.
2012-06-28 17:10:09 -07:00
Jim Browne
8202756e7b
Remove dirs empty due to --exclude. Issue 205.
2012-06-28 16:48:54 -07:00
Jordan Sissel
aa3c8acf32
- support compression types in for data.tar in deb packages. Default
...
continues to be gzip. (#235 )
2012-06-15 10:51:44 -07:00
Jordan Sissel
c129e283ae
- capture and print InvalidPackageConfiguration errors
2012-06-15 10:51:25 -07:00
Marshall T. Vandegrift
e99f73c33e
Include accidentally-removed suid/gid bit behavior.
2012-06-14 12:44:57 -04:00
Marshall T. Vandegrift
2247080a17
Change the owner of link, not linked file.
2012-06-14 12:38:43 -04:00
Marshall T. Vandegrift
5cc7a106e3
Don't chmod a file to the permissions of a symlink.
2012-06-14 12:31:57 -04:00
Jason Koppe
7716399445
make --prefix work with rpm output files
2012-05-29 15:17:37 -05:00
Steven Buss
6fc64443f0
Copy directory symlinks.
...
Linking symlinked directories causes a hardlink to be created, which
result in the source directory being wiped out during cleanup, so copy
the symlink.
2012-05-26 15:03:24 -07:00
Jordan Sissel
4b4a308d82
Merge pull request #221 from svenihoney/debian_fix_unequal
...
Introduced a dependency mapping for != dependency using Conflicts in deb instead of a Depends
2012-05-23 10:56:24 -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
Jamie Scheinblum
2fe62aac3a
Set install data location to match install-lib
...
(distutils default is installation base dir)
2012-05-16 18:37:48 -07:00
Sven Fischer
f163183626
Add != dependencies as Conflicts for debian packages
...
Added correct patch now.
2012-05-15 20:18:19 +02:00
Sven Fischer
8dad155e37
Introduced a dependency mapping for != dependency
...
There exist gems in the wild that have a dependency !=
Example is sprocket gem (at least version 2.1.3). Use a mapping
that prevents dpkg to choke on != and appended it to the conflicts.
2012-05-15 18:33:23 +02:00
Jordan Sissel
02ede4ee99
- only set permissions/ownership/times if the source and destinations
...
aren't pointing at the same inode.
2012-05-15 00:05:56 -07:00
Jordan Sissel
c1c9510a4b
- Fix versioned downloading for gem and python packages.
...
Tested: fpm -s gem -t deb -v 1.7.1 json
Successfully installed json-1.7.1
Tested: fpm -s python -t deb -v 2.1.6 simplejson
Relevant output:
Searching for simplejson==2.1.6
Reading http://pypi.python.org/simple/simplejson/
Reading http://github.com/simplejson/simplejson
Reading http://undefined.org/python/#simplejson
Best match: simplejson 2.1.6
Downloading
http://pypi.python.org/packages/source/s/simplejson/simplejson-2.1.6
.tar.gz#md5=2f8351f6e6fe7ef25744805dfa56c0d5
Processing simplejson-2.1.6.tar.gz
Related tickets: #215 , #204
2012-05-14 23:38:47 -07:00
Jordan Sissel
6418d324cc
Handle ExecutableNotFound in a readable way for humans
2012-05-12 00:36:35 -07:00
Jordan Sissel
2f72ef6731
Merge pull request #212 from Slezhuk/master
...
Fixed python3 incopabilities.
2012-05-06 23:22:55 -07:00
Marshall T. Vandegrift
30988c41ea
Preserve file metadata when packaging directories.
2012-05-06 08:46:44 -04:00
Jan Vansteenkiste
1a11689ccb
Fixed the path_prefix to prefix to allow overriding the gem path
2012-04-26 07:31:19 +02:00
Slezhuk Evgeniy
20b2ca3e0f
modified: lib/fpm/package/pyfpm/get_metadata.py
...
modified: lib/fpm/package/python.rb
Added python3 support. Useful for packaging python3 projects. For example:
fpm -s python -t deb --python-bin /usr/bin/python3 myproject/setup.py
2012-04-25 16:09:48 +04:00
Jordan Sissel
4f0fcc8750
- Make gem 'provides' really provide 'rubygem-foo'
...
- When converting gem->rpm, turn 'rubygem-foo' provides into
'rubygem(foo)'
2012-04-25 00:23:15 -07:00
Jordan Sissel
9963391c4b
Merge pull request #198 from mv/master
...
Warning: already initialized constant
2012-04-25 00:12:27 -07:00
Jason Rogers
fb19626b90
add setting for RPM user and group attributes in the %files section
2012-04-18 11:54:06 -04:00
Lars van de Kerkhof
47f168378a
Better check for 'install_requires'.
2012-04-13 12:25:51 +02:00
Lars van de Kerkhof
8abba0bd7f
don't try to parse empty install_requires
2012-04-13 12:20:57 +02:00
Lars van de Kerkhof
8aad03dbc7
Better formatting and removed duplicate dependency entries.
2012-04-12 22:26:34 +02:00
Lars van de Kerkhof
0c691ab163
Nolonger lose information whith compound specs.
...
When a compound spec is found, like tornado>=1.0,<=1.1 multiple entries will be
added to the dependency list:
tornado >= 1.0 and tornado <= 1.1
Because that seems to work for the debian dependency specification.
2012-04-12 22:18:23 +02:00
Lars van de Kerkhof
91cd5e1b9a
Use existing --deb-ignore-iteration-in-dependencies flag to determine if dependencies should be strictly versioned or allow iteration.
2012-04-12 22:12:48 +02:00
Lars van de Kerkhof
fd7468182e
According to http://www.debian.org/doc/debian-policy/ch-relationships.html#s-depsyntax (= version) is valid and also that is sematically more correct than (>= version) and (<< version+1) because your +1 guess is just that, a guess.
2012-04-12 18:26:45 +02:00
Lars van de Kerkhof
2d09b8ebe6
let pkg_resources do the parsing of the specs. When multiple specs are found prefer order is "<=", "==", ">=" and next the version number.
2012-04-12 18:26:45 +02:00
Marcus Vinicius Ferreira
f98dface31
Removed warnings: CONSTANT already defined.
2012-04-04 13:41:11 -03:00
Anton Cohen
dce5b9f872
Fixed gem ~> version operator translated to rpm require.
...
In gem specs ~> is a Pessimistic Version Consrtaint that is inclusive
on the bottom end. E.g., '~> 2.2' means '>= 2.2.0 and < 3.0'.
I changed the translation to RPM spec to be >= and <. It was > and <.
http://docs.rubygems.org/read/chapter/16
http://docs.fedoraproject.org/en-US/Fedora_Draft_Documentation/0.1/html/RPM_Guide/ch-advanced-packaging.html
2012-03-31 17:58:39 -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
e2d3c3835a
- fix the --exclude flag to add to an array as ivar @excludes
2012-03-30 15:20:30 -07:00
Jordan Sissel
a6eddeeccd
- If no args are given, assume '.' was intended if the source is 'dir'
...
and chdir (-C) is set. Fixes issue #187
- Abort if there's no package name known.
2012-03-30 15:07:31 -07:00
Jordan Sissel
6ced55e58d
some style cleanup
2012-03-30 09:47:10 -07:00
Jordan Sissel
64daffcbe3
Merge branch 'master' of https://github.com/MITx/fpm into MITx-master
...
Conflicts:
lib/fpm/command.rb
2012-03-30 09:42:39 -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
370d82779b
- Add --rpm-digest and --rpm-compression flags to allow selectable
...
digest/compress algorithms during package building. Defaults to the
settings that are most likely to work on the widest range of rpm
consumers (md5 + gzip)
Improves solution already committed for #192
2012-03-29 19:23:25 -07:00
Calen Pennington
caf636f377
Move exclude functionality into the convert process, and make give it a sensible default of excluding nothing
2012-03-27 10:00:57 -04:00
Tor Arne Vestbø
aa455b823f
Fix attribute lookup for --deb-custom-control
2012-03-27 13:05:16 +02:00
Jordan Sissel
57f8b85f68
skip mkdir if it exists already
2012-03-26 12:21:15 -07:00
Jordan Sissel
9ec10faf20
- skip staging path (no sense in including "/" in the files list)
2012-03-26 12:20:54 -07:00
Jordan Sissel
d866841f42
Make FPM::Package#files emit only leaf paths (files, symlinks, empty directories, etc)
2012-03-26 12:13:37 -07:00
Jordan Sissel
bdd0d9dc84
Clone should include the path itself, no reason to skip it
2012-03-26 12:13:37 -07:00
Calen Pennington
5dc03d0495
Make the --exclude argument work by removing the excluded paths from the staging directory
2012-03-26 10:22:24 -04:00
Andrew Bennett
1437bd4147
Rename val => dep to fix local variable error.
2012-03-22 20:58:48 -06:00
Brian Akins
994cb6690d
add config_files to input
2012-03-22 18:10:12 -03:00
Calen Pennington
46e14baf3c
Handle packaging links better
2012-03-22 12:28:47 -04:00
Calen Pennington
cb1f6b6fec
Create the bin_dir so that gem will install into it, even if the version of gem being used doesn't create the directory itself
2012-03-22 11:18:34 -04:00
Jordan Sissel
2e0f6f5785
- Use the correct path ("setup.py") since we are chdiring to that file's
...
directory. Fixes #180
2012-03-21 09:52:11 -07:00
Jordan Sissel
8235922970
- remove 'deprecated operator' stuff, I don't think it's necessary
...
anymore. Python docs only list 6 operators, none include >> or <<
http://docs.python.org/distutils/setupscript.html
Fixes #179
2012-03-21 09:37:24 -07:00
Jordan Sissel
87538abcb8
- Add --python-install-lib and --python-install-bin flags
...
- improve staged installation for python
2012-03-20 23:55:43 -07:00
Jordan Sissel
09a7fcd8ab
Make :flag options automatically support --no-<flag> switches
2012-03-20 23:55:43 -07:00
Jordan Sissel
fbaa32583f
Add more comments/logging
2012-03-20 23:55:43 -07:00
Jordan Sissel
bb08688d57
use the normal tmpdir for the temporary location
2012-03-20 23:55:43 -07:00
Aleix Conchillo Flaque
a696559cbf
fix issues when packaging links in dir package and rpm template
...
* lib/fpm/package/dir.rb: File.directory? returns true if source is a
link to a directory. This is not the desired behavior, a link should
be kept as a link, whether it is a link for a file or a directory.
* templates/rpm.erb: check whether we are copying a link, if so, only
copy the link not a new file.
For the same reason as lib/fpm/package/dir.rb, links to directories
were rejected. So, do not reject links to directories.
2012-03-20 18:49:22 -07:00
Jordan Sissel
f86c23995e
Patch in File::write until the next backports gem is released ( fixes #175 , fixes #176 )
2012-03-19 14:35:58 -07:00
Jordan Sissel
559ae665d5
- Fix Dir.mktmpdir invocations to work in both ruby 1.8 and 1.9
...
(Fixes #175 , fixes #176 )
2012-03-19 14:33:18 -07:00
Jordan Sissel
47bce16cf8
- Add monkeypatches for File.write under Ruby 1.8.7 (will remove
...
monkeypatches once the next version of the 'backports' gem is
released)
Fixes #175 , fixes #176 .
2012-03-19 14:32:36 -07:00
Jordan Sissel
0a6065114b
Fix Find.find() calls for 1.8.7 ( fixes #175 , fixes #176 )
2012-03-19 14:32:13 -07:00
Jordan Sissel
7038c42047
- fix missing doc comments
2012-03-19 00:17:44 -07:00
Jordan Sissel
5159767528
Fix missing doc comments
2012-03-19 00:17:36 -07:00
Jordan Sissel
b2bd9a7c88
Remove unused and mysterious 'settings' method
2012-03-19 00:17:25 -07:00
Jordan Sissel
a57e6adc96
Disable rpm provides hackery that doesn't belong in the gem package
2012-03-19 00:04:43 -07:00
Jordan Sissel
170c79f250
Give a proper error message to the user if FileAlreadyExists is tossed
2012-03-18 23:22:38 -07:00
Jordan Sissel
d99ca9f499
Add script loading on input
2012-03-18 23:20:43 -07:00
Jordan Sissel
9f7a5e5dbf
Fix script support in deb package
2012-03-18 23:20:25 -07:00
Jordan Sissel
654a970a1c
- default version to 1.0 when invoked on the command line
...
- add support for --inputs
2012-03-18 22:56:01 -07:00
Jordan Sissel
ad83721825
add doc comments
2012-03-17 16:12:35 -07:00
Jordan Sissel
56af3360de
add class doc for deb
2012-03-17 15:02:41 -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
fc1aa1d4ff
- Add support for config files, conflicts, and provides.
2012-03-15 00:55:05 -07:00
Jordan Sissel
e9995a93e6
Deprecate old --{pre,post}-{un,}install flags in favor of --{before,after}-{install,remove}.
2012-03-15 00:54:14 -07:00
Jordan Sissel
527a3b3cb5
spacing
2012-03-14 23:28:26 -07:00
Jordan Sissel
db13e48301
- Add specs for the gem package
2012-03-14 23:26:58 -07:00
Jordan Sissel
8f43e639a8
- add package_name_prefix flag to python package
...
- add --python-fix-name and --python-fix-dependencies flags which allow
you to disable 'name fixing' that turns 'foo' into 'python-foo'
(requested by Luke Macken)
- use attributes where possible (easyinstall path, python path, etc)
2012-03-15 00:52:14 +00:00
Jordan Sissel
c5dd9a8c00
- comment cleanup
2012-03-15 00:18:02 +00:00
Jordan Sissel
2d363a670f
Make 'options' with defaults appear set in a package's #attributes hash even if we are running programmatically (not via command line)
2012-03-15 00:17:53 +00:00
Jordan Sissel
742faaefe8
- insist doesn't work in ruby 1.8 yet.
2012-03-11 13:58:39 -07:00
Jordan Sissel
1f448e786a
Put each downloaded python package into a separate subdirectory. This allows multiple to be downloaded at once. Tested with: fpm -s python -t deb -n graphite carbon whisper graphite-web
2012-03-09 17:39:41 -08: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
e0d3b606d4
- Default '--package' to nil. This will let the package implementations
...
choose the best default filename to output
2012-03-09 17:36:54 -08:00
Jordan Sissel
fff76ba048
Add 'ITERATION' to #to_s
2012-03-10 00:58:05 +00:00
Jordan Sissel
deedcfeedb
add FileAlreadyExists error
2012-03-10 00:12:16 +00:00
Jordan Sissel
cb88629302
- fix contents of 'debian-binary' file (was missing trailing newline)
...
- support --edit flag
- abort if the output file target already exists
- public :converted_from for api completeness
2012-03-10 00:11:16 +00:00
Jordan Sissel
778cd62446
- more hacks for debian's arch naming
2012-03-09 15:15:10 -08:00
Jordan Sissel
2540d157b1
fix arch name translation for deb packages when 'dpkg' is not available
2012-03-09 13:26:21 -08:00
Jordan Sissel
2746ad891f
expose #architecture from RPM
2012-03-09 21:22:46 +00:00
Jordan Sissel
d00f617606
default arch should be native
2012-03-09 21:20:22 +00:00
Jordan Sissel
2a667da27e
expose boolean attributes as well
2012-03-08 18:08:06 -08:00
Jordan Sissel
18f4f3e0af
Add --edit support
2012-03-08 18:02:27 -08:00
Jordan Sissel
83468ec209
- try to make pear work as non-root
2012-03-08 17:41:21 -08:00
Jordan Sissel
b6fdfa96df
- move pear package type to new api
2012-03-08 17:21:47 -08:00
Jordan Sissel
ae1e1c4b00
style
2012-03-08 17:05:57 -08:00
Jordan Sissel
20943ee491
- Finish converting python package to the new api.
2012-03-08 17:05:49 -08:00
Jordan Sissel
fd659e456a
fix some defaults
2012-03-08 17:04:48 -08:00
Jordan Sissel
8ef036565b
improve logging
2012-03-08 16:07:23 -08:00
Jordan Sissel
9d54e7335f
- fix typos in tar output method, tar output works now.
2012-03-08 16:07:03 -08:00
Jordan Sissel
33b511684a
- fix minor build path problem
...
- default epoch to nil if not present (not all packages have it)
2012-03-08 16:06:20 -08:00
Jordan Sissel
9ed9e2f8aa
- tar input works
2012-03-08 16:01:46 -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
c3e9cde53c
- make 'input' work for deb packages
...
- improve --installed-size docs
2012-03-08 13:30:26 -08:00
Jordan Sissel
5e5da07ea2
split the cleanup methods since only cleanup_staging is needed during conversion
2012-03-08 13:29:43 -08:00
Jordan Sissel
46db2b7893
add fix for debian's 64bit x86 naming
2012-03-08 13:29:13 -08:00
Jordan Sissel
ae06ab4212
clean up how flags can override input attributes
2012-03-08 13:28:52 -08:00
Jordan Sissel
a0cfda9d7a
- rpm epoch is an array of numbers? uhh.. ok
...
- 'rpm' -> 'arr-pm' lib path
2012-03-08 10:16:53 -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
0b29c9a5d7
- Call package scripts by less-typo-able names (after_remove vs post_uninstall)
2012-03-08 07:49:44 -08:00
Jordan Sissel
a6aa2fe83e
- more work aligning the deb package class with the new API
2012-03-08 07:49:02 -08:00
Jordan Sissel
a4d48cef90
move class methods to bottom
2012-03-08 00:02:59 -08:00
Jordan Sissel
c0566bb424
- fix staging dir dangling around.
2012-03-03 17:38:16 -08:00
Jordan Sissel
c125e0339f
Don't set a default license/vendor anymore
2012-03-03 00:41:04 -08:00
Jordan Sissel
7cab011094
- The 'dir' package has no metadata, so provide some defaults
2012-03-03 00:40:51 -08:00
Jordan Sissel
3a64ee9af1
Add --rpmbuild-define previously available in fpm
2012-03-03 00:40:24 -08:00
Jordan Sissel
23f812e55a
- document attributes
2012-03-03 00:38:08 -08:00
Jordan Sissel
8a51745466
- Use new package flag/attributes
2012-03-03 00:04:10 -08:00
Jordan Sissel
ae4228f273
- make all program flags appear as package attributes.
...
This lets package and command flags accessible in packages.
2012-03-02 23:58:43 -08:00
Jordan Sissel
ef713a6dfd
remove old pry usage
2012-03-02 23:58:06 -08:00
Jordan Sissel
9ab4a7664b
- make package flags turn into attributes
2012-03-02 22:42:58 -08:00
Jordan Sissel
257e73d5a6
- turn package flags into attributes
2012-03-02 22:42:39 -08:00
Jordan Sissel
41f345b1f8
- only build a binary package. source package is silly.
2012-03-02 18:49:28 -08:00
Jordan Sissel
fb3b36ade2
- when inputting an rpm, pull relevant package data out
...
like the package name, architecture, dependencies, etc.
2012-03-02 18:21:53 -08:00
Jordan Sissel
1b808c0bd8
- remove extra debugging
2012-03-02 18:21:42 -08:00
Jordan Sissel
6526f54a8c
- only use flag values if they are given
2012-03-02 18:19:42 -08:00
Jordan Sissel
094a1b7c23
- Vicotry. Tests are passing again.
2012-03-02 15:55:34 -08:00
Jordan Sissel
91799dcf36
- set defaults for license/etc. This will likely change again soon oce
...
I figure a good way to clarify default values.
2012-03-02 12:09:38 -08:00
Jordan Sissel
e0d7601ec6
- better input validation
2012-03-02 02:53:17 -08:00
Jordan Sissel
6a2c524592
- all plugins found in fpm/package/*.rb
...
- apply options to the command
2012-03-02 02:45:10 -08:00
Jordan Sissel
735a7238ce
- allow package subclasses to define command-line flags
2012-03-02 02:44:30 -08:00
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