blob: d06333521192756fd4871dfe896e148fb0a3521c [file] [log] [blame]
Brian Waters13d96012017-12-08 16:53:31 -06001See http://www.freediameter.net/trac/wiki/DebRepository for instructions on how to
2install freeDiameter from existing package.
3
4See INSTALL file for general instructions on building freeDiameter from sources.
5
6The remaining of this file contains specific instructions for building the freeDiameter
7package files for Debian and Ubuntu systems.
8
9
10
11
12freeDiameter is shipped with the necessary files to generate the Debian package.
13All related files are in the directory "contrib/debian" of the distribution.
14As a first step, you have to link this directory from your top-level dir:
15 ln -s contrib/debian
16
17============================================
18
19The following packages are required to compile freeDiameter from source:
20 cmake make gcc g++ flex bison libsctp1 libsctp-dev libgnutls-dev libgcrypt-dev libidn11-dev
21
22(note that libidn and libsctp can be avoided by defining DISABLE_SCTP and DIAMID_IDNA_REJECT)
23
24Additionnaly, these ones may be useful:
25 mercurial gdb
26
27Extensions additional dependencies:
28 app_acct:
29 libpq-dev
30
31 app_sip:
32 app_diameap:
33 libmysqlclient-dev
34
35 dict_legacy_xml:
36 libxml2-dev
37
38 dbg_interactive:
39 swig python-dev
40
41============================================
42
43If your debhelper environment is recent (> 7.3.9 for cmake support),
44the following commands should generate the freeDiameter packages for you:
45
46# Install the dependencies for building the source:
47sudo apt-get -y install mercurial cmake make gcc g++ bison flex libsctp-dev libgnutls-dev libgcrypt-dev libidn11-dev ssl-cert debhelper fakeroot \
48 libpq-dev libmysqlclient-dev libxml2-dev swig python-dev
49
50# Retrieve the latest version of the source package
51cd
52hg clone http://www.freediameter.net/hg/freeDiameter
53cd freeDiameter
54
55# Prepare for Debian package
56ln -s contrib/debian
57
58# Build the packages
59fakeroot dh binary
60
61# Install the packages
62cd ..
63sudo dpkg -i *.deb
64
65
66# The following lines may help you getting started.... (execute as root)
67ln -s /etc/ssl/certs/ssl-cert-snakeoil.pem /etc/ssl/certs/freeDiameter.pem
68ln -s /etc/ssl/private/ssl-cert-snakeoil.key /etc/ssl/private/freeDiameter.key
69zcat /usr/share/doc/freediameter-daemon/examples/freediameter.conf.sample.gz > /etc/freeDiameter/freeDiameter.conf
70echo "Identity=\"localhost.localdomain\";" >> /etc/freeDiameter/freeDiameter.conf
71freeDiameterd
72
73===========================================
74
75freeDiameter is tested regularly on all current Ubuntu distributions since Intrepid (compiled from source as described below)
76Ubuntu Hardy support is known to be broken.
77
78The Debian package has been generated with success on Debian (>=Squeeze) and Ubuntu (>=Karmic).
79
80
81===========================================-
82Step by step instructions without using the debhelper tools:
83
841) Install all packages dependencies
85# sudo apt-get install mercurial cmake make gcc g++ bison flex libsctp-dev libgnutls-dev libgcrypt-dev libidn11-dev
86
872) (OPTION) If you will compile modules that require postgresql, also install:
88# sudo apt-get install libpq-dev
89 and for mysql:
90# sudo apt-get install libmysqlclient-dev
91
923) (OPTION) If you want a more user-friendly interface, install this:
93# sudo apt-get install cmake-curses-gui
94
954) Retrieve the source files
96# hg clone http://www.freediameter.net/hg/freeDiameter
97
985) Create a build directory, and enter it
99# mkdir fDbuild
100# cd fDbuild
101
1026) Configure and generate the Makefiles
103# cmake ../freeDiameter
104# make edit_cache
105
1067) Compile all files:
107# make
108
1098) (OPTION) See available targets:
110# make help
111
1129) (OPTION) Check the software has a correct basic behavior on your environment. -- only if you did not disable the tests in step 6
113# make test
114
11510) (OPTION) Install the software in configured locations:
116# sudo make install
117
118
119===========================================
120
121Note: On Ubuntu Quantal Quetzal, you may have to force use of python 2.7
122library for the dbg_interactive extension, as on some systems CMake selects the 3.2 library
123by default.