1# Kamailio Packaging #
2
3The `pkg/kamailio/` directory contains packaging specs for several operation systems.
4
5Currently the DEB and RPM specs are actively maintained, the rest are still kept
6in case someone wants to pick up and update.
7
8## DEBS ##
9
10DEB packages can be generated for several flavours of Debian and Ubuntu
11operating systems.
12
13To generate deb packages, run:
14
15```
16make deb
17```
18
19This is using a generic Debian spec. To select a specific Debian or Ubuntu, go
20to root folder of Kamailio source tree, create a `debian` symlink to the
21desired distro from `pkg/kamailio/deb/` and run `make deb`. For example,
22on a Debian Stretch (9.x), do:
23
24```
25ln -s pkg/kamailio/deb/stretch debian
26make deb
27```
28
29The DEB files are generated in the parent folder.
30
31## RPMS ##
32
33There are couple of variants of RPM specs. The most actual one is stored in `obs/`
34subfolder and has conditional options to build for many operating systems that
35use RPM for packages (e.g., CenOS, RedHat, Fedora, OpenSuse). The folders with
36the name reflecting an operating system might be older, some not really
37maintained.
38
39To build RPM packages for CentOS, RHEL, Fedora, OpenSUSE and Oracle linux execute
40
41```
42make rpm
43```
44
45When utility is finished, you can see the directory where compiled RPM files
46are located.
47
48Example:
49
50```
51Finish: rpmbuild kamailio-5.2.0-dev1.0.fc25.src.rpm
52Finish: build phase for kamailio-5.2.0-dev1.0.fc25.src.rpm
53INFO: Done(../../kamailio-5.2.0-dev1.0.fc25.src.rpm) Config(default) 8 minutes 30 seconds
54INFO: Results and/or logs in: /var/lib/mock/fedora-25-x86_64/result
55Finish: run
56```
57
58The `obs` folder aims at using it also in OpenSuse Build Service.
59
60  * https://build.opensuse.org
61
62Kamailio build project on OBS is at:
63
64  * https://build.opensuse.org/project/show/home:kamailio
65
66## Gentoo ##
67
68Not actively mentained, still fairly recent updated.
69
70## BSD ##
71
72There are specs for FreeBSD, NetBST and OpenBSD. They are not actively
73maintained, being quite old.
74
75## Solaris ##
76
77Not actively maintained, being quite old.
78
79## Alpine Linux ##
80
81To build apk packages please execute
82
83```
84make cfg
85make apk
86cd alpine && abuild -r
87```
88
89NOTICE: Now `abuild -r` command is failed when called from `Makefile`. This reason why need to execute command from shell.