summaryrefslogtreecommitdiffstats
path: root/recipes-networking/openvswitch/openvswitch_2.0.0.bb
diff options
context:
space:
mode:
authorAdrian Dudau <adrian.dudau@enea.com>2015-07-08 11:08:01 +0200
committerAdrian Dudau <adrian.dudau@enea.com>2015-07-08 11:09:24 +0200
commitec64b2418ccef1e14c6e58b8ca81bb9162c1dfeb (patch)
treebff0bd4240f00bbb21624c1df55583f61abaea25 /recipes-networking/openvswitch/openvswitch_2.0.0.bb
downloadmeta-virtualization-ec64b2418ccef1e14c6e58b8ca81bb9162c1dfeb.tar.gz
initial commit for Enea Linux 4.0daisy-enea
Migrated from the internal git server on the daisy-enea branch Signed-off-by: Adrian Dudau <adrian.dudau@enea.com>
Diffstat (limited to 'recipes-networking/openvswitch/openvswitch_2.0.0.bb')
-rw-r--r--recipes-networking/openvswitch/openvswitch_2.0.0.bb130
1 files changed, 130 insertions, 0 deletions
diff --git a/recipes-networking/openvswitch/openvswitch_2.0.0.bb b/recipes-networking/openvswitch/openvswitch_2.0.0.bb
new file mode 100644
index 00000000..01003082
--- /dev/null
+++ b/recipes-networking/openvswitch/openvswitch_2.0.0.bb
@@ -0,0 +1,130 @@
1SUMMARY = "OpenvSwitch"
2DESCRIPTION = "Open vSwitch is a production quality, multilayer virtual switch licensed under the open source Apache 2.0 license. It is designed to enable massive network automation through programmatic extension, while still supporting standard management interfaces and protocols (e.g. NetFlow, sFlow, SPAN, RSPAN, CLI, LACP, 802.1ag)"
3HOMEPAGE = "http://openvswitch.org/"
4SECTION = "networking"
5LICENSE = "Apache-2"
6
7DEPENDS += "bridge-utils openssl python perl"
8
9RDEPENDS_${PN} += "util-linux-uuidgen util-linux-libuuid coreutils \
10 python perl perl-module-strict ${PN}-switch ${PN}-controller"
11RDEPENDS_${PN}-controller = "${PN} lsb ${PN}-pki"
12RDEPENDS_${PN}-switch = "${PN} openssl procps util-linux-uuidgen"
13RDEPENDS_${PN}-pki = "${PN}"
14RDEPENDS_${PN}-brcompat = "${PN} ${PN}-switch"
15RRECOMMENDS_${PN} += "kernel-module-openvswitch"
16
17RDEPENDS_${PN}-ptest += "python-logging python-syslog python-argparse python-io \
18 python-fcntl python-shell python-lang python-xml python-math \
19 python-datetime python-netclient python sed"
20
21# Some installers will fail because of an install order based on
22# rdeps. E.g. ovs-pki calls sed in the postinstall. sed may be
23# queued for install later.
24RDEPENDS_${PN} += "sed gawk grep"
25
26SRC_URI = "http://openvswitch.org/releases/openvswitch-${PV}.tar.gz \
27 file://openvswitch-switch \
28 file://openvswitch-switch-setup \
29 file://openvswitch-controller \
30 file://openvswitch-controller-setup \
31 file://openvswitch-add-target-python-handling.patch \
32 file://openvswitch-add-target-perl-handling.patch \
33 file://openvswitch-add-more-target-python-substitutions.patch \
34 file://openvswitch-add-ptest.patch \
35 file://run-ptest \
36 "
37
38SRC_URI[md5sum] = "7d7a58350e634e515e0fe43c64d64f44"
39SRC_URI[sha256sum] = "5060e2be69cce01c15f67b481482cb1a0eaa6ef5cbdbed592bac3c3ab2a390f8"
40
41LIC_FILES_CHKSUM = "file://COPYING;md5=49eeb5acb1f5e510f12c44f176c42253"
42
43# Don't compile kernel modules by default since it heavily depends on
44# kernel version. Use the in-kernel module for now.
45# distro layers can enable with EXTRA_OECONF_pn_openvswitch += ""
46# EXTRA_OECONF = "--with-linux=${STAGING_KERNEL_DIR} KARCH=${TARGET_ARCH}"
47
48EXTRA_OECONF += "TARGET_PYTHON=${bindir}/python \
49 TARGET_PERL=${bindir}/perl \
50 "
51
52ALLOW_EMPTY_${PN}-pki = "1"
53PACKAGES =+ "${PN}-controller ${PN}-switch ${PN}-brcompat ${PN}-pki"
54
55FILES_${PN}-controller = "${sysconfdir}/init.d/openvswitch-controller \
56 ${sysconfdir}/default/openvswitch-controller \
57 ${sysconfdir}/openvswitch-controller \
58 ${bindir}/ovs-controller"
59
60FILES_${PN}-brcompat = "${sbindir}/ovs-brcompatd"
61
62FILES_${PN}-switch = "${sysconfdir}/init.d/openvswitch-switch \
63 ${sysconfdir}/default/openvswitch-switch \
64 "
65# silence a warning
66FILES_${PN} += "${datadir}/ovsdbmonitor"
67FILES_${PN} += "/run"
68
69inherit autotools update-rc.d ptest
70
71EXTRA_OEMAKE += "TEST_DEST=${D}${PTEST_PATH} TEST_ROOT=${PTEST_PATH}"
72
73do_install_ptest() {
74 oe_runmake test-install
75}
76
77INITSCRIPT_PACKAGES = "${PN}-switch ${PN}-controller"
78INITSCRIPT_NAME_${PN}-switch = "openvswitch-switch"
79INITSCRIPT_PARAMS_${PN}-switch = "defaults 71"
80
81INITSCRIPT_NAME_${PN}-controller = "openvswitch-controller"
82INITSCRIPT_PARAMS_${PN}-controller = "defaults 72"
83
84do_install_append() {
85 install -d ${D}/${sysconfdir}/default/
86 install -m 660 ${WORKDIR}/openvswitch-switch-setup ${D}/${sysconfdir}/default/openvswitch-switch
87 install -d ${D}/${sysconfdir}/openvswitch-controller
88 install -m 660 ${WORKDIR}/openvswitch-controller-setup ${D}/${sysconfdir}/default/openvswitch-controller
89
90 install -d ${D}/${sysconfdir}/init.d/
91 install -m 755 ${WORKDIR}/openvswitch-controller ${D}/${sysconfdir}/init.d/openvswitch-controller
92 install -m 755 ${WORKDIR}/openvswitch-switch ${D}/${sysconfdir}/init.d/openvswitch-switch
93 true || rm -fr ${D}/${datadir}/${PN}/pki
94}
95
96pkg_postinst_${PN}-pki () {
97 # can't do this offline
98 if [ "x$D" != "x" ]; then
99 exit 1
100 fi
101 if test ! -d $D/${datadir}/${PN}/pki; then
102 ovs-pki init --dir=$D/${datadir}/${PN}/pki
103 fi
104}
105
106pkg_postinst_${PN}-controller () {
107 # can't do this offline
108 if [ "x$D" != "x" ]; then
109 exit 1
110 fi
111
112 if test ! -d $D/${datadir}/${PN}/pki; then
113 ovs-pki init --dir=$D/${datadir}/${PN}/pki
114 fi
115
116 cd $D/${sysconfdir}/openvswitch-controller
117 if ! test -e cacert.pem; then
118 ln -s $D/${datadir}/${PN}/pki/switchca/cacert.pem cacert.pem
119 fi
120 if ! test -e privkey.pem || ! test -e cert.pem; then
121 oldumask=$(umask)
122 umask 077
123 ovs-pki req+sign --dir=$D/${datadir}/${PN}/pki tmp controller >/dev/null
124 mv tmp-privkey.pem privkey.pem
125 mv tmp-cert.pem cert.pem
126 mv tmp-req.pem req.pem
127 chmod go+r cert.pem req.pem
128 umask $oldumask
129 fi
130}