Cross package maker. DEB/RPM generation or conversion. Derived from jordansissel/fpm.

⌈⌋ ⎇ branch:  cross package maker


Timeline

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

45 check-ins using file README.md version 0ca68c1826

2011-01-07
09:44
- version bump check-in: 6af2d1e3ab user: jls@semicomplete.com tags: trunk
09:34
- Allow downloading of gems if the given path is not a local file. check-in: 786d917ef9 user: jls@semicomplete.com tags: trunk
08:50
- 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 check-in: 4680aae53e user: jls@semicomplete.com tags: trunk
03:07
- Read metadata for Source::RPM check-in: 4a3e6c21d5 user: jls@semicomplete.com tags: trunk
02:46
- Make source 'rpm' work. Can now convert RPM to DEB :) check-in: 3b5226389f user: jls@semicomplete.com tags: trunk
02:39
- Namespace targets and sources. - Allow case-insensitive target/source names. check-in: 066fe330ad user: jls@semicomplete.com tags: trunk
02:39
- Allow tar to take a chdir option. check-in: 3651b0db11 user: jls@semicomplete.com tags: trunk
2011-01-06
19:15
- move rpm to target/ check-in: 7083395b68 user: jls@semicomplete.com tags: trunk
06:54
- Allow a package name. check-in: 8aa4dad592 user: jls@semicomplete.com tags: trunk
06:54
style check-in: 6ecbfc00c2 user: jls@semicomplete.com tags: trunk
06:53
- Fix require since path change check-in: c84da27eaf user: jls@semicomplete.com tags: trunk
06:31
- add ../lib to RUBYLIB for local testing check-in: 4fc2dc9418 user: jls@semicomplete.com tags: trunk
06:31
- Move files check-in: ea982c537e user: jls@semicomplete.com tags: trunk
04:26
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. check-in: ff57d0a973 user: jjmadkisson@gmail.com tags: trunk
04:26
make sure to grab and expose everything from the source check-in: 6af57b8300 user: jjmadkisson@gmail.com tags: trunk
04:18
rm debugging code check-in: a40b42d30f user: jjmadkisson@gmail.com tags: trunk
04:18
don't expose rpm, gem, and tar functionality until they're done check-in: 76e218a632 user: jjmadkisson@gmail.com tags: trunk
04:02
add in stubby FPM::Rpm and FPM::Gem TODO: put sources and packages in separate namespaces check-in: 95a601856c user: jjmadkisson@gmail.com tags: trunk
02:38
stupid syntax error *facepalm check-in: c61ed12c91 user: jjmadkisson@gmail.com tags: trunk
02:36
Merge branch 'jayferd_sources_and_builder' check-in: 7d84ce2616 user: jjmadkisson@gmail.com tags: trunk
02:34
actually require the new code check-in: a4fd8e4df7 user: jjmadkisson@gmail.com tags: trunk
02:33
use accessors in the templates so the source can override them check-in: e7daa2b743 user: jjmadkisson@gmail.com tags: trunk
02:32
constants for local directory names Things get weird when you're Dir.chdir-ing check-in: 903a330c9e user: jjmadkisson@gmail.com tags: trunk
02:31
the assemble method has moved to builder check-in: 61ca7556f3 user: jjmadkisson@gmail.com tags: trunk
02:29
be more energetic with method naming, and use symbols check-in: 1aeeb83f0c user: jjmadkisson@gmail.com tags: trunk
02:28
Builder#assemble! doesn't actually take any params check-in: 27c9d5d259 user: jjmadkisson@gmail.com tags: trunk
02:27
the checksum method is now owned by builder check-in: 09107637a1 user: jjmadkisson@gmail.com tags: trunk
02:23
Package#default_output. Package managers usually have lots of guidelines and specs for naming conventions. This lets the package class provide a default. check-in: 79f79dd21b user: jjmadkisson@gmail.com tags: trunk
02:21
meet FPM::Dir, the simplest source of all. check-in: 809801cadf user: jjmadkisson@gmail.com tags: trunk
02:16
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. check-in: 5d5fc27a6a user: jjmadkisson@gmail.com tags: trunk
02:13
a package is initialized with a source and interprets its metadata accordingly check-in: ae9087e31f user: jjmadkisson@gmail.com tags: trunk
02:12
tar is owned by the source now check-in: 4651bc348e user: jjmadkisson@gmail.com tags: trunk
02:00
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 check-in: 4ee95829d4 user: jjmadkisson@gmail.com tags: trunk
01:52
-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. check-in: c65be076cd user: jjmadkisson@gmail.com tags: trunk
2011-01-05
02:46
no need to delete the file twice (moved to package.rb:84) check-in: 923f1bf060 user: jjmadkisson@gmail.com tags: trunk
02:37
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. check-in: a05ccb05fc user: jjmadkisson@gmail.com tags: trunk
02:24
ignore build directories check-in: 9b1b4088a6 user: jjmadkisson@gmail.com tags: trunk
02:24
factor out the architecture munging into a method in FPM::Deb check-in: d998f61620 user: jjmadkisson@gmail.com tags: trunk
02:24
rm debug puts check-in: e97cdf0983 user: jjmadkisson@gmail.com tags: trunk
02:24
ignore vim swaps check-in: 883a6ee469 user: jjmadkisson@gmail.com tags: trunk
00:29
- delete the .deb if it exists, before we create it check-in: b8f491a576 user: jls@semicomplete.com tags: trunk
2011-01-04
09:30
- bump check-in: 606fe63c7c user: jls@semicomplete.com tags: trunk, v0.1.4
09:29
- 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. check-in: f76d91a812 user: jls@semicomplete.com tags: trunk
08:16
- Add 'bin' scripts to the package, too. check-in: 6ef50e4296 user: jls@semicomplete.com tags: trunk
03:38
- add install notes check-in: e749a7dcc2 user: jls@semicomplete.com tags: trunk