Builder-RPM
Welcome to our vagrant based build system for RPMs.
If you need assistence you can (almost) always reach us on IRC, channel #eox
(Currently) Supported Projects
Currently we automagically install the build dependencies for the following projects. For an up-to-date list (in case somebody forgot to add his project to thos list, see puppet/modules).
- eox-release (which doesn't have any, so it's easy)
- mapserver
- rasdaman
- eoxserver
- mapserver
- mapcache
- gdal-shibboleth
- ngeo-b
If your software mentions all build dependencies in its SPEC file, you don't need to create a new puppet module.
Vagrant Installation
Previously you could install vagrant via rubygems (e.g. using bundler), but since 1.1.x this method is deprecated, so please go to http://downloads.vagrantup.com/ and download the latest package for your operating system. On Debian / Ubuntu run the f.ex. following command.
gem uninstall vagrant
wget http://files.vagrantup.com/packages/87613ec9392d4660ffcb1d5755307136c06af08c/vagrant_x86_64.deb
sudo dpkg -i vagrant_x86_64.deb
Install a vagrant plugin to keep the virtualbox guest additions up-to-date, as well as one for keeping a package cache.
vagrant plugin install vagrant-vbguest
vagrant plugin install vagrant-cachier
To start building
Clone this project!
git clone https://gitlab.eox.at/vagrant/builder_rpm.git ./
Edit the Vagrantfile and update the project (see the beginning of Vagrantfile)
Copy your source archive into the build/SOURCES folder, your spec file into the build/SPECS folder, start the VM and open a SSH connection
vagrant up
vagrant ssh
Change to the rpmbuild folder and start building
cd rpmbuild
yum-builddep SPECS/project.spec
rpmdev-bumpspec --comment="<COMMENT>" --userstring="<NAME> <<MAIL>>" SPECS/project.spec
rpmbuild -ba SPECS/project.spec
Wait... On your own machine, you can now find your RPMs in the build/RPMS and build/SRPMS folders. Done!
How to add a new project
- Find out, what the projects build dependencies are
- Create a new puppet module inside the puppet/modules directory. (See the rasdaman module for an example)
- Update the Readme.md and add the new project
- Create a merge request
If you are not sure, you can also email the build dependencies to marko.locher@eox.at and I'll do it for you!