]> git.proxmox.com Git - mirror_frr.git/blob - doc/developer/packaging-debian.rst
debian: make package "official"
[mirror_frr.git] / doc / developer / packaging-debian.rst
1 Debian
2 ======
3
4 (Tested on Ubuntu 14.04, 16.04, 17.10, 18.04, Debian jessie, stretch and
5 buster.)
6
7 1. Install build dependencies for your platform as outlined in :ref:`building`.
8
9 2. Install the general Debian package building tools:
10
11 .. code-block:: shell
12
13 apt-get install equivs fakeroot debhelper devscripts
14
15 3. Checkout FRR under a **unprivileged** user account:
16
17 .. code-block:: shell
18
19 git clone https://github.com/frrouting/frr.git frr
20 cd frr
21
22 If you wish to build a package for a branch other than master:
23
24 .. code-block:: shell
25
26 git checkout <branch>
27
28 4. Build Debian package dependencies and install them as needed.
29
30 .. code-block:: shell
31
32 sudo mk-build-deps --install debian/control
33
34 5. Run ``bootstrap.sh``:
35
36 (This step should be omitted if you are using a "debian" branch, as opposed
37 to the "master", a "stable/X.X" or any other non-"debian" branch.)
38
39 .. code-block:: shell
40
41 ./bootstrap.sh
42 ./configure --with-pkg-extra-version=-MyDebPkgVersion
43
44 .. note::
45
46 Configure parameters are not important for the Debian Package building -
47 except the `with-pkg-extra-version` if you want to give the Debian
48 package a specific name to mark your own unoffical build.
49
50 6. Build Debian Package
51
52 Building with standard options:
53
54 .. code-block:: shell
55
56 debuild -b -uc -us
57
58 7. Done!
59
60 If all worked correctly, then you should end up with the Debian packages in
61 the parent directory. If distributed, please make sure you distribute it
62 together with the sources (``frr_*.orig.tar.gz``, ``frr_*.debian.tar.xz`` and
63 ``frr_*.dsc``)