lib/meta-flow: Enforce mf_fields array order.
[sliver-openvswitch.git] / INSTALL.Debian
1             How to Build Debian Packages for Open vSwitch
2             =============================================
3
4 This document describes how to build Debian packages for Open vSwitch.
5 To install Open vSwitch on Debian without building Debian packages,
6 see INSTALL instead.
7
8 These instructions should also work on Ubuntu and other Debian
9 derivative distributions.
10
11
12 Before You Begin
13 ----------------
14
15 Before you begin, consider whether you really need to build packages
16 yourself.  Debian "wheezy" and "sid", as well as recent versions of
17 Ubuntu, contain pre-built Debian packages for Open vSwitch.  It is
18 easier to install these than to build your own.  To use packages from
19 your distribution, skip ahead to "Installing .deb Packages", below.
20
21
22 Building Open vSwitch Debian packages
23 -------------------------------------
24
25 You may build from an Open vSwitch distribution tarball or from an
26 Open vSwitch Git tree with these instructions.
27
28 You do not need to be the superuser to build the Debian packages.
29
30 1. Install the "build-essential" and "fakeroot" packages, e.g. with
31    "apt-get install build-essential fakeroot".
32
33 2. Obtain and unpack an Open vSwitch source distribution and "cd" into
34    its top level directory.
35
36 3. Install the build dependencies listed under "Build-Depends:" near
37    the top of debian/rules.  You can install these any way you like,
38    e.g. with "apt-get install".
39
40    Check your work by running "dpkg-checkbuilddeps".  If you've
41    installed all the dependencies properly, dpkg-checkbuilddeps will
42    exit without printing anything.  If you forgot to install some
43    dependencies, it will tell you which ones.
44
45 4. Run:
46
47        fakeroot debian/rules binary
48
49    This will do a serial build that runs the unit tests.  If you
50    prefer, you can run a faster parallel build, e.g.:
51
52        DEB_BUILD_OPTIONS='parallel=8' fakeroot debian/rules binary
53
54    If you are in a big hurry, you can even skip the unit tests:
55
56        DEB_BUILD_OPTIONS='parallel=8 nocheck' fakeroot debian/rules binary
57
58 5. The generated .deb files will be in the parent directory of the
59    Open vSwitch source distribution.
60
61
62 Installing .deb Packages
63 ------------------------
64
65 These instructions apply to installing from Debian packages that you
66 built yourself, as described in the previous section, or from packages
67 provided by Debian or a Debian derivative distribution such as Ubuntu.
68 In the former case, use a command such as "dpkg -i" to install the
69 .deb files that you build, and in the latter case use a program such
70 as "apt-get" or "aptitude" to download and install the provided
71 packages.
72
73 You must be superuser to install Debian packages.
74
75 1. Start by installing an Open vSwitch kernel module.  There are multiple ways
76    to do this.  In order of increasing manual effort, these are:
77
78        * Use a Linux kernel 3.3 or later, which has an integrated Open
79          vSwitch kernel module.
80
81          The upstream Linux kernel module lacks a few features that
82          are in the third-party module.  For details, please see the
83          FAQ, "What features are not available in the Open vSwitch
84          kernel datapath that ships as part of the upstream Linux
85          kernel?".
86
87        * Install the "openvswitch-datapath-dkms" Debian package that
88          you built earlier.  This should automatically build and
89          install the Open vSwitch kernel module for your running
90          kernel.
91
92          This option requires that you have a compiler and toolchain
93          installed on the machine where you run Open vSwitch, which
94          may be unacceptable in some production server environments.
95
96        * Install the "openvswitch-datapath-source" Debian package, use
97          "module-assistant" to build a Debian package of the Open
98          vSwitch kernel module for your kernel, and then install that
99          Debian package.
100
101          You can install the kernel module Debian packages that you
102          build this way on the same machine where you built it or on
103          another machine or machines, which means that you don't
104          necessarily have to have any build infrastructure on the
105          machines where you use the kernel module.
106
107          /usr/share/doc/openvswitch-datapath-source/README.Debian has
108          details on the build process.
109
110        * Build and install the kernel module by hand.
111
112 2. Install the "openvswitch-switch" and "openvswitch-common" packages.
113    These packages include the core userspace components of the switch.
114
115
116 Open vSwitch .deb packages not mentioned above are rarely useful.
117 Please refer to their individual package descriptions to find out
118 whether any of them are useful to you.
119
120
121 Bug Reporting
122 -------------
123
124 Please report problems to bugs@openvswitch.org.
125