EOX GitLab Instance

Readme.md 2.43 KB
Newer Older
Stephan Meißl's avatar
Stephan Meißl committed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
# Builder-RPM

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.

```bash
vagrant plugin install vagrant-vbguest
```

## 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!