Setup of Development Environment for CentOS

From OpenPetra Wiki
Jump to navigation Jump to search

General

Please also have a look at the instructions that already exist for other Operating systems (Setup of Development environment).

mono-openpetra package

There is now a project at build.opensuse.org, that maintains RPM packages with Mono and some tools included, that are very useful for the development of OpenPetra:

The packages are available at here:

installing packages

These instructions have been tested with CentOS 6.4, 64 bit:

General

# install the mono-openpetra repository
wget -O /etc/yum.repos.d/home:tpokorra:openpetra.repo http://download.opensuse.org/repositories/home:/tpokorra:/openpetra/CentOS_CentOS-6/home:tpokorra:openpetra.repo
# install the epel repository
rpm -Uhv http://ftp.uni-kl.de/pub/linux/fedora-epel/6/i386/epel-release-6-8.noarch.rpm
# install mono-openpetra
yum install mono-openpetra mono-openpetra-nant mono-openpetra-uncrustify mono-openpetra-xsp mono-openpetra-mod_mono
yum install openssh-clients bzr

Postgresql

rpm -Uhv http://yum.pgrpms.org/9.2/redhat/rhel-6-x86_64/pgdg-centos92-9.2-6.noarch.rpm
yum install postgresql92 postgresql92-server
service postgresql-9.2 initdb

vi /var/lib/pgsql/9.2/data/pg_hba.conf

 add to top:  
   local all  postgres    ident
   host all petraserver 127.0.0.1/0 md5
service postgresql-9.2 start
chkconfig postgresql-9.2 on

get the code

as a unprivileged user, run this:

mkdir bzr
cd bzr
bzr init
bzr launchpad-login tpokorra
bzr branch lp:openpetraorg lp:~tpokorra/openpetraorg/20130316_mytest
bzr checkout --lightweight lp:~tpokorra/openpetraorg/20130316_mytest
cd 20130316_mytest

first steps

cd ~/bzr/20130316_mytest
export PATH=/opt/mono-openpetra/bin:$PATH
export PKG_CONFIG_PATH=/opt/mono-openpetra/lib/pkgconfig
nant generateSolution
nant createDatabaseUser
nant recreateDatabase resetDatabase
nant test-without-display

compile just one project:

nant compileProject -D:file=delivery/projects/sharpdevelop4/Ict.Petra.Server.lib.MPartner.connect.csproj