Commit Graph

1343 Commits

Author SHA1 Message Date
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