|
|
# Builder-RPM
|
|
|
|
|
|
> The latest version of this page is always available as Readme.md
|
|
|
|
|
|
Welcome to our [vagrant](http://www.vagrantup.com) based build system for RPMs.
|
|
|
|
|
|
If you need assistence you can (almost) always reach us on [IRC](https://irc.eox.at), 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](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.
|
|
|
|
|
|
```bash
|
|
|
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.
|
|
|
|
|
|
```bash
|
|
|
vagrant plugin install vagrant-vbguest
|
|
|
vagrant plugin install vagrant-cachier
|
|
|
```
|
|
|
|
|
|
## To start building
|
|
|
|
|
|
Clone this project!
|
|
|
|
|
|
```bash
|
|
|
git clone https://gitlab.eox.at/vagrant/builder_rpm.git ./
|
|
|
|
|
|
```
|
|
|
|
|
|
Edit the _Vagrantfile_ and update the project (see the beginning of [Vagrantfile](/vagrant/builder_rpm/tree/master/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
|
|
|
|
|
|
```bash
|
|
|
vagrant up
|
|
|
vagrant ssh
|
|
|
```
|
|
|
|
|
|
Change to the _rpmbuild_ folder and start building
|
|
|
|
|
|
```bash
|
|
|
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](/vagrant/builder_rpm/tree/master/puppet/modules/rasdaman) 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! |
|
|
\ No newline at end of file |