Skip to content
Browse files
master merge
  • Loading branch information
blazek committed Jul 20, 2012
2 parents 47b8d60 + c517a90 commit 73f991f3be8ab2c8df74a1ae872bde391299c889
Show file tree
Hide file tree
Showing 237 changed files with 42,666 additions and 29,367 deletions.
# following variable is used in qgsconfig.h
MESSAGE (STATUS "Touch support enabled")
MESSAGE (STATUS "Touch support disabled")
@@ -35,5 +35,7 @@

#cmakedefine HAVE_PYTHON

#cmakedefine HAVE_TOUCH


@@ -44,3 +44,4 @@ Alessandro Furieri <a.furieri at>
Alexander Bruy <>
Marco Bernasocchi <marco at bernawebdesign dot ch>
Nathan Woodrow <woodrow.nathan at>
Etienne Tourigny < at>
@@ -29,9 +29,10 @@ Giuseppe Sucameli
Horst Duester
Hyao (IRC nickname)
Ivan Lucena
Jean-Denis Giguere
Jean-Denis Giguere
Jeremy Palmer
Jerrit Collord
Larry Shaffer
Luiz Motta
Magnus Homann
Marco Pasetti
@@ -53,5 +54,5 @@ Tamas Szekeres
Tom Russo
Tyler Mitchell
Vita Cizek
Yann Chemin
Yann Chemin
Includes Map icons CC-0 from SJJB Management
@@ -112,4 +112,8 @@ source directory.

%!include: osx.t2t

%!include: wcs-test-server.t2t
%!include: jenkins.t2t

%!include: iauthors.t2t

Large diffs are not rendered by default.

@@ -27,5 +27,11 @@ The following people have contributed to this document:
- Tim Sutton 2006
- Debian package section: Juergen Fischer 2008

- WCS Test Server Section
- Tim Sutton, Radim Blazek 2012

- Jenkins CI Configuration
- Tim Sutton 2012

- Latex Generator
- Tim Sutton 2011
@@ -0,0 +1,89 @@

= Setting up a Jenkins Build Server =

**Assumption:** You know how to make a working build environment and want to
deploy it under Jenkins for continuous integration testing now.

These notes are terse, I will expand on them later as the need arises. The
procedure is:

- Install Jenkins and get it configured according to your own preferences
- Make sure you have the git, github, junit etc plugins installed. A complete
list of the plugins I have installed follows (note that you almost certainly
don't need evey plugin listed here):
- External Monitor Job Type Plugin
- LDAP Plugin
- pam-auth
- javadoc
- ant
- Jenkins Subversion Plug-in
- Git Plugin
- Maven 2 Project Plugin
- Jenkins SLOCCount Plug-in
- Jenkins Sounds plugin
- Jenkins Translation Assistance plugin
- ruby-runtime
- Jenkins CVS Plug-in
- Coverage/Complexity Scatter Plot PlugIn
- Status Monitor Plugin
- Git Parameter Plug-In
- github-api
- GitHub plugin
- Jenkins Violations plugin
- git-notes Plugin
- Twitter plugin
- Jenkins Cobertura Plugin
- Jenkins Gravatar plugin
- Jenkins SSH Slaves plugin
- Create a Job called 'QGIS'
- Use the following options for your job:
- Job Name: QGIS
- Job Type: Build a free-style software project
- Tick enable project based security (you need to elsewhere configure your
Jenkins security to per project settings)
- Allow Anonymous user Read and Discover access
- Set the github project to
- Set source code management to Git
- Set repository url to git://
- In advanced repository url settings set refspec to :


- Set branch to build to master
- Repository Browser: Auto
- Build triggers: set to Poll SCM and set schedule to ``* * * * *`` (polls every minute)
- Build - Execute shell and set shell script to:

cd build
cmake ..
xvfb-run --auto-servernum --server-num=1 \
--server-args="-screen 0 1024x768x24" \
make Experimental || true
if [ -f Testing/TAG ] ; then
xsltproc ../tests/ctest2junix.xsl \
Testing/`head -n 1 < Testing/TAG`/Test.xml > \

- Add Junit post build action and set 'Publish Junit test result report' to:
- Email notification: Send separate e-mails to individuals who broke the build
- Jenkins sounds - set up sounds for Failure, Success and Unstable.
- Save

Now open the Job dash board and push something to QGIS and wait a minute to
validate automated builds work.

**Note:** You will need to log in to the Jenkins user account and go to
/var/lib/jenkins/jobs/QGIS/workspace, then make a ``build`` directory and run
the initial cmake setup and then do test build. This process is the same as
described elsewhere in this doc.

I based some of the set up from this nice blog article here:

BIN +225 Bytes (100%) doc/qgis-download-stats.ods
Binary file not shown.
@@ -0,0 +1,114 @@

= Setting up the WCS test server on GNU/Linux =

**Requires:** Ubuntu / Debian derived distro

These notes are for Ubuntu - other versions and Debian derived distros may
require slight variations in package names.

== Preparation ==

Note the git repo below will change to the default QGIS repo once this work
is integrated into master.

git remote add blazek git://
git fetch blazek
git branch --track wcs2 blazek/wcs2
git checkout wcs2
cd /var/www/
sudo mkdir wcs
sudo chown timlinux wcs
cd wcs/
mkdir cgi-bin
cd cgi-bin/

== Setup mapserver ==

```sudo apt-get install cgi-mapserver```

Set the contents of cgi-bin/wcstest-1.9.0 to:

#! /bin/sh

Then do:

chmod +x cgi-bin/wcstest-1.9.0
mkdir -p /var/www/wcs/testdata/qgis-1.9.0/raster/
cd /var/www/wcs/testdata/qgis-1.9.0/raster/
cp -r /home/timlinux/Quantum-GIS/tests/testdata/raster/* .

Edit and set the shapepath to this:

SHAPEPATH "/var/www/wcs/testdata/qgis-1.9.0/raster"

Then create /var/www/wcs/ setting the contents to this:

<VirtualHost *:80>

LogLevel warn
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" \"%{forensic-id}n\"" combined
CustomLog /var/log/apache2/ combined
ErrorLog /var/log/apache2/

DocumentRoot /var/www/wcs/html

ScriptAlias /cgi-bin/ /var/www/wcs/cgi-bin/
<Directory "/var/www/wcs/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all

RewriteEngine on
RewriteRule /1.9.0/wcs /cgi-bin/wcstest-1.9.0 [PT]


== Create a home page ==

mkdir html
vim html/index.html

Set the contents to: