]>
Commit | Line | Data |
---|---|---|
a904708e QY |
1 | Packaging Debian |
2 | ================ | |
9993fd8b | 3 | |
b3c4c164 DL |
4 | (Tested on Ubuntu 14.04, 16.04, 17.10, 18.04, Debian jessie, stretch and |
5 | buster.) | |
9993fd8b QY |
6 | |
7 | 1. Install build dependencies for your platform as outlined in :ref:`building`. | |
8 | ||
b3c4c164 | 9 | 2. 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 | |
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 | ||
b3c4c164 DL |
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.) | |
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 | 50 | 6. Build Debian Package |
9993fd8b QY |
51 | |
52 | Building with standard options: | |
53 | ||
54 | .. code-block:: shell | |
55 | ||
56 | debuild -b -uc -us | |
57 | ||
b3c4c164 | 58 | 7. Done! |
9993fd8b | 59 | |
b3c4c164 DL |
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 | |
9993fd8b | 63 | ``frr_*.dsc``) |