Commit Graph

44 Commits

Author SHA1 Message Date
Anthony Mastrean dce029dddb [Fixes #1397] Update fpm
Ruby 1.9 requires Rubygems internally and this is no longer strictly required. It's been this way since 2009, so it's a little hard to come by official documentation. I hope this works...

> Note: For Ruby 1.8 you must require 'rubygems' before requiring any gems.

http://guides.rubygems.org/rubygems-basics/#requiring-code
2018-01-10 21:00:06 -08:00
Jordan Sissel 30fd3f500a - Folks gettin' angry about an abandoned prototype they mistook for
functioning and supported code, so let's delete this 'fpm-npm'
  hackery. Someone will write proper npm package support for fpm
  eventually.
2013-02-09 14:58:07 -08:00
Jordan Sissel 273015a9a2 - nil exit is OK 2012-03-02 02:45:50 -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
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 c2e7c832fa Make bin/fpm executable 2011-07-07 23:28:16 -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
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 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 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
Michael Blume 5176409429 fix typo in options output 2011-05-16 13:59:46 -07:00
Curt Micol c7078b2967 Adds --url as a command line option. 2011-05-11 11:47:05 -04: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 71632cd800 Expand the postinst / prerm paths so relative paths can be used. 2011-05-01 11:27:07 +01:00
Thomas Haggett 380caa0635 Build .deb files with postinst and prerm scripts burned in. 2011-05-01 11:20:36 +01:00
Jordan Sissel 59ee089f91 - add --provides flag and support into rpm target 2011-04-25 13:40:47 -07:00
Jordan Sissel 0cac7f906d - Add epoch support 2011-04-25 11:24:56 -07:00
Jordan Sissel dd1c2b1eda - Fail if no source and target packages are chosen
- On usage failure, output options help.

  Fixes #issue/8
2011-03-09 12:10:41 -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
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
Jeanine Adkisson 0fd0c0db38 option to edit the specfile before build 2011-02-02 10:05:43 -08:00
Jordan Sissel 1f1c5ac639 - Output the resulting package filename 2011-01-20 15:25:26 -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 ab87d1fb6a - add ../lib to RUBYLIB for local testing 2011-01-05 22:31:59 -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 66a04d11a0 -s SOURCE_TYPE -t PACKAGE_TYPE
This introduces the concept of sources and packages.

A source is "something to build a package from" - i.e. something
that can be turned into a versioned tarball.  Easy ones to support
are 'dir' (a plain directory), 'tar' (a tarball), 'npm', 'gem', etc.

A package is a specified output type; deb, rpm, etc. that knows how
to turn a tarball with metadata into a system package.
2011-01-05 17:52:50 -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 00a5201ffe - Add 'bin' scripts to the package, too. 2011-01-04 00:16:12 -08:00
Jordan Sissel bf6c3dc506 - Generate version dependency that allows for any 'release' number. 2011-01-03 19:08:40 -08:00
Jordan Sissel ada6073373 - more error handling 2011-01-03 18:56:04 -08:00
Jordan Sissel 16c143af10 - make fpm-npm a toplevel tool 2011-01-03 18:52:43 -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
Jordan Sissel 63494e9096 - Add gem packaging 2011-01-03 17:25:06 -08:00
Jordan Sissel 0d1b422d8c - rename to fpm. 2011-01-03 15:42:17 -08:00
Jordan Sissel f09c3b1d4f set group, too 2011-01-03 15:40:54 -08:00
Jordan Sissel 151cbba284 - More work converting npm to debs 2011-01-03 15:05:45 -08:00
Jordan Sissel 2d5b7a2a15 fix path 2011-01-03 13:23:48 -08:00
Jordan Sissel ff0a1f466f - Move to bin/ 2011-01-03 13:19:08 -08:00