fpm Omnibus project
This project creates full-stack platform-specific packages for
I had to patch libiconv.rb to build on my system for ruby. I did it dirty, then found this, so used it instead. https://github.com/opscode/omnibus-software/pull/14/files. @mattray please take his pull request.
We'll assume you have Ruby 1.9+ and Bundler installed. First ensure all required gems are installed and ready to use:
$ bundle install --binstubs
You create a platform-specific package using the
build project command:
$ bin/omnibus build project fpm
The platform/architecture type of the package created will match the platform
build project command is invoked. So running this command on say a
MacBook Pro will generate a Mac OS X specific package. After the build
completes packages will be available in
You can clean up all temporary files generated during the build process with
$ bin/omnibus clean
--purge purge option removes ALL files generated during the
build including the project install directory (
the package cache directory (
$ bin/omnibus clean --purge
Full help for the Omnibus command line interface can be accessed with the
$ bin/omnibus help
Vagrant-based Virtualized Build Lab
- CentOS 5 64-bit
- CentOS 6 64-bit
- Ubuntu 10.04 64-bit
- Ubuntu 11.04 64-bit
- Ubuntu 12.04 64-bit
Please note this build-lab is only meant to get you up and running quickly; there's nothing inherent in Omnibus that restricts you to just building CentOS or Ubuntu packages. See the Vagrantfile to add new platforms to your build lab.
The only requirements for standing up this virtualized build lab are:
- VirtualBox - native packages exist for most platforms and can be downloaded from the VirtualBox downloads page.
- Vagrant 1.2.1+ - native packages exist for most platforms and can be downloaded from the Vagrant downloads page.
$ vagrant plugin install vagrant-berkshelf $ vagrant plugin install vagrant-omnibus
Once the pre-requisites are installed you can build your package across all platforms with the following command:
$ vagrant up
If you would like to build a package for a single platform the command looks like this:
$ vagrant up PLATFORM
The complete list of valid platform names can be viewed with the
vagrant status command.
- threw this together real quick late at night ... not fully tested.
command "yum -y install make gcc rpm-build"if ohai.platform is rhel ... is this sensible?