-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathREADME
More file actions
43 lines (22 loc) · 2.35 KB
/
README
File metadata and controls
43 lines (22 loc) · 2.35 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
= dpkg-tools: less-painful OS package building
dpkg-tools is a set of tools which aim to dramatically simplify the process of creating and building OS packages. We're targetting .debs, and creating one can be as simple as creating and maintaining a YAML configuration file. For Rubygems, the process is even easier - a single command makes a gem ready to be built into a .deb
== Warning: Alpha software
Hey, this is alpha stuff. There's plenty cruft and rough edges, the RDoc's pretty bad and there's a general lack of good documentation and examples. I'm working on it. You're more than welcome to join in.
== How to get it
gem install dpkg-tools
Or, the gem can be downloaded from http://rubyforge.org/projects/dpkg-tools/.
The source is available from Github: http://github.com/fidothe/dpkg-tools/, and bugs, requests and other queries can be filed at http://dpkg-tools.lighthouseapp.com/. You can clone the public Git repo with:
git clone git://github.com/fidothe/dpkg-tools.git
= How to use it
dpkg-tools comes with three utilities, to create packages from three different kinds of things. <tt>dpkg-gem</tt> makes it easy to generate .debs from local and remote rubygems. <tt>dpkg-etc</tt> makes it easy to create packages of configuration files. Finally, <tt>dpkg-rails</tt> makes it easy to package up Rails apps.
== <tt>dpkg-gem</tt>
dpkg-gem {gem_name}
This will grab the gem _gem_name_ from Rubyforge, along with all its dependencies, and create package directories for all of them. All you need to do then is run <tt>dpkg-buildpackage</tt> from inside the directory and you're away.
dpkg-gem --from-gem /path/to/rubygem.gem
Will do the same for a local .gem file.
== <tt>dpkg-etc</tt>
dpkg-etc /path/to/package/dir
Will take a directory and drop in the scaffolding needed to make it a configuration package. Configuration files go in /path/to/package/dir/etc, and dpkg-tools makes <tt>dpkg-buildpackage</tt> know what to do...
== <tt>dpkg-rails</tt>
dpkg-rails /path/to/rails/app
Will add the necessary configuration files and rake tasks to a Rails app so that a base deployment package can be generated with <tt>dpkg-buildpackage</tt>. Installing that package prepares a machine with a Mongrel cluster setup plus Apache 2's mod_proxy_balancer, allowing adding developer SSH keys for simple Capistrano deployment (tasks for that are generated too).