Jay Adkisson
a9cb6c3efe
the assemble method has moved to builder
2011-01-05 18:31:28 -08:00
Jay Adkisson
baa31dcf79
be more energetic with method naming, and use symbols
2011-01-05 18:29:43 -08:00
Jay Adkisson
2e9199ae02
Builder#assemble! doesn't actually take any params
2011-01-05 18:28:32 -08:00
Jay Adkisson
2427320200
the checksum method is now owned by builder
2011-01-05 18:27:00 -08:00
Jay Adkisson
ad9e975014
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
Jay Adkisson
ff35261651
meet FPM::Dir, the simplest source of all.
2011-01-05 18:21:23 -08:00
Jay Adkisson
fea67487c3
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
Jay Adkisson
734905a979
a package is initialized with a source
...
and interprets its metadata accordingly
2011-01-05 18:13:59 -08:00
Jay Adkisson
f1d0c51eab
tar is owned by the source now
2011-01-05 18:12:29 -08:00
Jay Adkisson
cc36789b9d
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
Jay Adkisson
4d311ca0a0
-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
Jay Adkisson
c947d42358
no need to delete the file twice (moved to package.rb:84)
2011-01-04 18:46:49 -08:00
Jay Adkisson
9f946f7349
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
Jay Adkisson
2000db4904
ignore build directories
2011-01-04 18:24:30 -08:00
Jay Adkisson
fd9f4579da
factor out the architecture munging into a method in FPM::Deb
2011-01-04 18:24:30 -08:00
Jay Adkisson
79020d047f
rm debug puts
2011-01-04 18:24:30 -08:00
Jay Adkisson
f92f9da0fc
ignore vim swaps
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
162d4661ac
- bump
2011-01-04 01:30:15 -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
fafb9eb0be
- add install notes
2011-01-03 19:38:05 -08:00
Jordan Sissel
d9fc368c23
fix formatting
2011-01-03 19:36:53 -08:00
Jordan Sissel
537e0aff26
- Update readme
2011-01-03 19:36:07 -08:00
Jordan Sissel
bdcea29023
- show -dev package
2011-01-03 19:33:07 -08:00
Jordan Sissel
c9c2cde350
- show creating the -doc packages
2011-01-03 19:31:59 -08:00
Jordan Sissel
b8962d5490
- Add 'state' of things
2011-01-03 19:29:08 -08:00
Jordan Sissel
8aaf858edb
- Add way more docs
2011-01-03 19:27:16 -08:00
Jordan Sissel
cd98a580dd
version bump
2011-01-03 19:08:58 -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
a85845b2f8
-version bump
2011-01-03 18:53:25 -08:00
Jordan Sissel
c91cd74c32
- Add fpm-npm to bin
2011-01-03 18:53:02 -08:00
Jordan Sissel
16c143af10
- make fpm-npm a toplevel tool
2011-01-03 18:52:43 -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
f189c31c0b
move to markdown
2011-01-03 18:47:15 -08:00
Jordan Sissel
3cee10d29a
- Move to markdown
2011-01-03 18:47:00 -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
59a38309b7
- purge swap file
2011-01-03 15:05:29 -08:00
Jordan Sissel
e48da78deb
more readmes
2011-01-03 13:59:00 -08:00
Jordan Sissel
2d5b7a2a15
fix path
2011-01-03 13:23:48 -08:00
Jordan Sissel
797cf35da0
- finish move
2011-01-03 13:23:32 -08:00
Jordan Sissel
ff0a1f466f
- Move to bin/
2011-01-03 13:19:08 -08:00
Jordan Sissel
8035419385
- Start prototyping generic package creator.
2011-01-03 13:10:15 -08:00
Jordan Sissel
8b2c17e4c4
first commit
2011-01-03 12:08:51 -08:00