Easy OS package generation
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
bin
lib
log
resources
script
spec
tasks
website
CHANGES
MIT-LICENSE
README
Rakefile

README

= 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).