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