EOX GitLab Instance

Commit cf84747b authored by Marko Locher's avatar Marko Locher
Browse files

Add information on how to install vagrant-cachier

parent 11761264
# Builder-RPM # Builder-RPM
Welcome to our [vagrant](http://www.vagrantup.com) based build system for RPMs. 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* If you need assistence you can (almost) always reach us on [IRC](https://irc.eox.at), channel *#eox*
## (Currently) Supported Projects ## (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/)). 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) * eox-release (which doesn't have any, so it's easy)
* mapserver * mapserver
* rasdaman * rasdaman
* eoxserver * eoxserver
* mapserver * mapserver
* mapcache * mapcache
* gdal-shibboleth * gdal-shibboleth
* ngeo-b * ngeo-b
If your software mentions all build dependencies in its SPEC file, you don't need to create a new puppet module. If your software mentions all build dependencies in its SPEC file, you don't need to create a new puppet module.
## Vagrant Installation ## 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. 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 ```bash
gem uninstall vagrant gem uninstall vagrant
wget http://files.vagrantup.com/packages/87613ec9392d4660ffcb1d5755307136c06af08c/vagrant_x86_64.deb wget http://files.vagrantup.com/packages/87613ec9392d4660ffcb1d5755307136c06af08c/vagrant_x86_64.deb
sudo dpkg -i vagrant_x86_64.deb sudo dpkg -i vagrant_x86_64.deb
``` ```
Install a vagrant plugin to keep the virtualbox guest additions up-to-date. Install a vagrant plugin to keep the virtualbox guest additions up-to-date, as well as one for keeping a package cache.
```bash ```bash
vagrant plugin install vagrant-vbguest vagrant plugin install vagrant-vbguest
``` vagrant plugin install vagrant-cachier
```
## To start building
## To start building
Clone this project!
Clone this project!
```bash
git clone https://gitlab.eox.at/vagrant/builder_rpm.git ./ ```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))
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
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 ```bash
vagrant ssh vagrant up
``` vagrant ssh
```
Change to the _rpmbuild_ folder and start building
Change to the _rpmbuild_ folder and start building
```bash
cd rpmbuild ```bash
yum-builddep SPECS/project.spec cd rpmbuild
rpmdev-bumpspec --comment="<COMMENT>" --userstring="<NAME> <<MAIL>>" SPECS/project.spec yum-builddep SPECS/project.spec
rpmbuild -ba 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!
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
## 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) * Find out, what the projects build dependencies are
* Update the Readme.md and add the new project * 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)
* Create a merge request * 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!
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
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment