From ec64b2418ccef1e14c6e58b8ca81bb9162c1dfeb Mon Sep 17 00:00:00 2001 From: Adrian Dudau Date: Wed, 8 Jul 2015 11:08:01 +0200 Subject: initial commit for Enea Linux 4.0 Migrated from the internal git server on the daisy-enea branch Signed-off-by: Adrian Dudau --- .../openvswitch/openvswitch_1.10.0.bb | 118 +++++++++++++++++++++ 1 file changed, 118 insertions(+) create mode 100644 recipes-networking/openvswitch/openvswitch_1.10.0.bb (limited to 'recipes-networking/openvswitch/openvswitch_1.10.0.bb') diff --git a/recipes-networking/openvswitch/openvswitch_1.10.0.bb b/recipes-networking/openvswitch/openvswitch_1.10.0.bb new file mode 100644 index 00000000..42d4bc44 --- /dev/null +++ b/recipes-networking/openvswitch/openvswitch_1.10.0.bb @@ -0,0 +1,118 @@ +SUMMARY = "OpenvSwitch" +DESCRIPTION = "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)" +HOMEPAGE = "http://openvswitch.org/" +SECTION = "networking" +LICENSE = "Apache-2" + +DEPENDS += "bridge-utils openssl python perl" + +RDEPENDS_${PN} += "util-linux-uuidgen util-linux-libuuid coreutils \ + python perl perl-module-strict ${PN}-switch ${PN}-controller" +RDEPENDS_${PN}-controller = "${PN} lsb ${PN}-pki" +RDEPENDS_${PN}-switch = "${PN} openssl procps util-linux-uuidgen" +RDEPENDS_${PN}-pki = "${PN}" +RDEPENDS_${PN}-brcompat = "${PN} ${PN}-switch" +RRECOMMENDS_${PN} += "kernel-module-openvswitch" + +# Some installers will fail because of an install order based on +# rdeps. E.g. ovs-pki calls sed in the postinstall. sed may be +# queued for install later. +RDEPENDS_${PN} += "sed gawk grep" +PR = "r4" + +SRC_URI = "http://openvswitch.org/releases/openvswitch-${PV}.tar.gz \ + file://openvswitch-switch \ + file://openvswitch-switch-setup \ + file://openvswitch-controller \ + file://openvswitch-controller-setup \ + file://openvswitch-add-target-python-handling.patch \ + file://openvswitch-add-target-perl-handling.patch \ + file://configure-Only-link-against-libpcap-on-FreeBSD.patch \ + " + +SRC_URI[md5sum] = "fe8b49efe9f86b57abab00166b971106" +SRC_URI[sha256sum] = "803966c89d6a5de6d710a2cb4ed73ac8d8111a2c44b12b846dcef8e91ffab167" +LIC_FILES_CHKSUM = "file://COPYING;md5=49eeb5acb1f5e510f12c44f176c42253" + +# Don't compile kernel modules by default since it heavily depends on +# kernel version. Use the in-kernel module for now. +# distro layers can enable with EXTRA_OECONF_pn_openvswitch += "" +# EXTRA_OECONF = "--with-linux=${STAGING_KERNEL_DIR} KARCH=${TARGET_ARCH}" + +EXTRA_OECONF += "TARGET_PYTHON=${bindir}/python \ + TARGET_PERL=${bindir}/perl \ + " + +ALLOW_EMPTY_${PN}-pki = "1" +PACKAGES =+ "${PN}-controller ${PN}-switch ${PN}-brcompat ${PN}-pki" + +FILES_${PN}-controller = "${sysconfdir}/init.d/openvswitch-controller \ + ${sysconfdir}/default/openvswitch-controller \ + ${sysconfdir}/openvswitch-controller \ + ${bindir}/ovs-controller" + +FILES_${PN}-brcompat = "${sbindir}/ovs-brcompatd" + +FILES_${PN}-switch = "${sysconfdir}/init.d/openvswitch-switch \ + ${sysconfdir}/default/openvswitch-switch \ + " +# silence a warning +FILES_${PN} += "${datadir}/ovsdbmonitor" +FILES_${PN} += "/run" + +inherit autotools update-rc.d pkgconfig + +INITSCRIPT_PACKAGES = "${PN}-switch ${PN}-controller" +INITSCRIPT_NAME_${PN}-switch = "openvswitch-switch" +INITSCRIPT_PARAMS_${PN}-switch = "defaults 71" + +INITSCRIPT_NAME_${PN}-controller = "openvswitch-controller" +INITSCRIPT_PARAMS_${PN}-controller = "defaults 72" + +do_install_append() { + install -d ${D}/${sysconfdir}/default/ + install -m 660 ${WORKDIR}/openvswitch-switch-setup ${D}/${sysconfdir}/default/openvswitch-switch + install -d ${D}/${sysconfdir}/openvswitch-controller + install -m 660 ${WORKDIR}/openvswitch-controller-setup ${D}/${sysconfdir}/default/openvswitch-controller + + install -d ${D}/${sysconfdir}/init.d/ + install -m 755 ${WORKDIR}/openvswitch-controller ${D}/${sysconfdir}/init.d/openvswitch-controller + install -m 755 ${WORKDIR}/openvswitch-switch ${D}/${sysconfdir}/init.d/openvswitch-switch + true || rm -fr ${D}/${datadir}/${PN}/pki +} + +pkg_postinst_${PN}-pki () { + # can't do this offline + if [ "x$D" != "x" ]; then + exit 1 + fi + if test ! -d $D/${datadir}/${PN}/pki; then + ovs-pki init --dir=$D/${datadir}/${PN}/pki + fi +} + +pkg_postinst_${PN}-controller () { + # can't do this offline + if [ "x$D" != "x" ]; then + exit 1 + fi + + if test ! -d $D/${datadir}/${PN}/pki; then + ovs-pki init --dir=$D/${datadir}/${PN}/pki + fi + + cd $D/${sysconfdir}/openvswitch-controller + if ! test -e cacert.pem; then + ln -s $D/${datadir}/${PN}/pki/switchca/cacert.pem cacert.pem + fi + if ! test -e privkey.pem || ! test -e cert.pem; then + oldumask=$(umask) + umask 077 + ovs-pki req+sign --dir=$D/${datadir}/${PN}/pki tmp controller >/dev/null + mv tmp-privkey.pem privkey.pem + mv tmp-cert.pem cert.pem + mv tmp-req.pem req.pem + chmod go+r cert.pem req.pem + umask $oldumask + fi +} -- cgit v1.2.3-54-g00ecf