]> git.proxmox.com Git - mirror_frr.git/blame - doc/developer/packaging-debian.rst
debian: make package "official"
[mirror_frr.git] / doc / developer / packaging-debian.rst
CommitLineData
a904708e
QY
1Packaging Debian
2================
9993fd8b 3
b3c4c164
DL
4(Tested on Ubuntu 14.04, 16.04, 17.10, 18.04, Debian jessie, stretch and
5buster.)
9993fd8b
QY
6
71. Install build dependencies for your platform as outlined in :ref:`building`.
8
b3c4c164 92. Install the general Debian package building tools:
9993fd8b
QY
10
11 .. code-block:: shell
12
b3c4c164 13 apt-get install equivs fakeroot debhelper devscripts
9993fd8b
QY
14
153. 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
b3c4c164
DL
284. Build Debian package dependencies and install them as needed.
29
30 .. code-block:: shell
31
32 sudo mk-build-deps --install debian/control
33
345. 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.)
9993fd8b
QY
38
39 .. code-block:: shell
40
41 ./bootstrap.sh
42 ./configure --with-pkg-extra-version=-MyDebPkgVersion
9993fd8b
QY
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
b3c4c164 506. Build Debian Package
9993fd8b
QY
51
52 Building with standard options:
53
54 .. code-block:: shell
55
56 debuild -b -uc -us
57
b3c4c164 587. Done!
9993fd8b 59
b3c4c164
DL
60If all worked correctly, then you should end up with the Debian packages in
61the parent directory. If distributed, please make sure you distribute it
62together with the sources (``frr_*.orig.tar.gz``, ``frr_*.debian.tar.xz`` and
9993fd8b 63``frr_*.dsc``)