Package openvswitch git

This revision corresponds to git rev 1667bb34988358aaf1c92d0d21fad4b1c8698780
(based on 2.3.90)

Signed-off-by: Amy Fong <amy.fong@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
This commit is contained in:
Amy Fong 2015-01-29 09:56:03 -05:00 committed by Bruce Ashfield
parent b327673b51
commit 2905d87e7e
5 changed files with 268 additions and 0 deletions

View File

@ -0,0 +1,18 @@
Disable m4 file test where sources are built from git.
Signed-off-by: Amy Fong <amy.fong@windriver.com>
---
Makefile.am | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/Makefile.am
+++ b/Makefile.am
@@ -185,7 +185,7 @@
# Makefile in datapath/linux, needed to get the list of files to
# distribute, requires GNU make extensions.
if GNU_MAKE
-ALL_LOCAL += dist-hook-git
+# ALL_LOCAL += dist-hook-git
dist-hook-git: distfiles
@if test -e $(srcdir)/.git && (git --version) >/dev/null 2>&1; then \
(cd datapath && $(MAKE) distfiles); \

View File

@ -0,0 +1,20 @@
Specify install path for kernel module
Signed-off-by: Amy Fong <amy.fong@windriver.com>
---
datapath/linux/Makefile.main.in | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
--- a/datapath/linux/Makefile.main.in
+++ b/datapath/linux/Makefile.main.in
@@ -71,8 +71,8 @@
$(MAKE) -C $(KSRC) M=$(builddir) modules
modules_install:
- $(MAKE) -C $(KSRC) M=$(builddir) modules_install
- depmod `sed -n 's/#define UTS_RELEASE "\([^"]*\)"/\1/p' $(KSRC)/include/generated/utsrelease.h`
+ $(MAKE) -C $(KSRC) M=$(builddir) modules_install INSTALL_MOD_PATH=${INSTALL_MOD_PATH}
+ # depmod `sed -n 's/#define UTS_RELEASE "\([^"]*\)"/\1/p' $(KSRC)/include/generated/utsrelease.h`
endif
# Much of the kernel build system in this file is derived from Intel's

View File

@ -0,0 +1,18 @@
Remove __DATE__, __TIME__ - error messages on non-reproducible builds
Signed-off-by: Amy Fong <amy.fong@windriver.com>
---
datapath/datapath.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
--- a/datapath/datapath.c
+++ b/datapath/datapath.c
@@ -2142,7 +2142,7 @@
BUILD_BUG_ON(sizeof(struct ovs_skb_cb) > FIELD_SIZEOF(struct sk_buff, cb));
- pr_info("Open vSwitch switching datapath %s, built "__DATE__" "__TIME__"\n",
+ pr_info("Open vSwitch switching datapath %s\n",
VERSION);
err = action_fifos_init();

View File

@ -0,0 +1,69 @@
Add test-install rule to support ptest execution
Signed-off-by: Radu Patriu <radu.patriu@enea.com>
---
Makefile.am | 2 ++
test.mk | 49 +++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 51 insertions(+)
--- a/Makefile.am
+++ b/Makefile.am
@@ -369,3 +369,5 @@
include vtep/automake.mk
include datapath-windows/automake.mk
include datapath-windows/include/automake.mk
+include test.mk
+
--- /dev/null
+++ b/test.mk
@@ -0,0 +1,49 @@
+TEST_DEST ?= ${prefix}/lib/openvswitch
+TEST_ROOT ?= ${prefix}/lib/openvswitch
+TEST_DEPEND =
+
+if HAVE_OPENSSL
+TEST_DEPEND += $(TESTPKI_FILES)
+endif
+
+test-install: $(TEST_DEPEND)
+ @list='$(noinst_PROGRAMS) $(EXTRA_DIST) $(dist_check_SCRIPTS) $(TEST_DEPEND) tests/atlocal tests/atconfig' ;\
+ install -d $(TEST_DEST)/tests ;\
+ install -d $(TEST_DEST)/python ;\
+ install -d $(TEST_DEST)/python/ovs ;\
+ install -d $(TEST_DEST)/python/ovs/db ;\
+ install -d $(TEST_DEST)/python/ovs/unixctl ;\
+ install -d $(TEST_DEST)/vswitchd ;\
+ install vswitchd/vswitch.ovsschema $(TEST_DEST)/vswitchd ;\
+ install -d $(TEST_DEST)/debian ;\
+ install debian/ovs-monitor-ipsec $(TEST_DEST)/debian ;\
+ install -d $(TEST_DEST)/build-aux ;\
+ install build-aux/check-structs $(TEST_DEST)/build-aux ;\
+ install -d $(TEST_DEST)/xenserver ;\
+ install xenserver/usr_share_openvswitch_scripts_ovs-xapi-sync $(TEST_DEST)/xenserver ;\
+ install xenserver/opt_xensource_libexec_interface-reconfigure $(TEST_DEST)/xenserver ;\
+ install xenserver/opt_xensource_libexec_InterfaceReconfigure.py $(TEST_DEST)/xenserver ;\
+ install xenserver/opt_xensource_libexec_InterfaceReconfigureBridge.py $(TEST_DEST)/xenserver ;\
+ install xenserver/opt_xensource_libexec_InterfaceReconfigureVswitch.py $(TEST_DEST)/xenserver ;\
+ install -d $(TEST_DEST)/vtep ;\
+ install vtep/vtep.ovsschema $(TEST_DEST)/vtep ;\
+ for p in $$list ; do \
+ echo $$p ;\
+ p=$${p#./} ;\
+ pre=$${p#tests\/} ;\
+ if test $$pre != $$p ; then \
+ echo installing $$p to $(TEST_DEST)/tests/$$pre ;\
+ install $$p $(TEST_DEST)/tests/$$pre ;\
+ continue ;\
+ fi ;\
+ pre=$${p#python\/ovs\/} ;\
+ if test $$pre != $$p ; then \
+ echo installing $$p to $(TEST_DEST)/python/ovs/$$pre ;\
+ install $$p $(TEST_DEST)/python/ovs/$$pre ;\
+ continue ;\
+ fi; \
+ done ;\
+ sed -i 's|abs_builddir=.*|abs_builddir='"'"'$(TEST_ROOT)/tests'"'"'|g' $(TEST_DEST)/tests/atconfig
+ sed -i 's|abs_srcdir=.*|abs_srcdir='"'"'$(TEST_ROOT)/tests'"'"'|g' $(TEST_DEST)/tests/atconfig
+ sed -i 's|abs_top_srcdir=.*|abs_top_srcdir='"'"'$(TEST_ROOT)'"'"'|g' $(TEST_DEST)/tests/atconfig
+ sed -i 's|abs_top_builddir=.*|abs_top_builddir='"'"'$(TEST_ROOT)'"'"'|g' $(TEST_DEST)/tests/atconfig

View File

@ -0,0 +1,143 @@
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 & GPLv2 & PSF"
DEPENDS += "bridge-utils openssl python perl virtual/kernel"
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"
RDEPENDS_${PN}-ptest += "python-logging python-syslog python-argparse python-io \
python-fcntl python-shell python-lang python-xml python-math \
python-datetime python-netclient python sed"
# 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"
S = "${WORKDIR}/git"
PV = "2.3.90+${SRCREV}"
FILESEXTRAPATHS_append := "${THISDIR}/${PN}-git:"
SRCREV = "1667bb34988358aaf1c92d0d21fad4b1c8698780"
SRC_URI = "git://github.com/openvswitch/ovs.git;protocol=git \
file://openvswitch-switch \
file://openvswitch-switch-setup \
file://openvswitch-controller \
file://openvswitch-controller-setup \
file://openvswitch-add-target-python-handling.patch \
file://openvswitch-add-more-target-python-substitutions.patch \
file://openvswitch-add-ptest-${SRCREV}.patch \
file://run-ptest \
file://disable_m4_check.patch \
file://kernel_module.patch \
file://non_reproducible_builds_cleanup.patch \
"
LIC_FILES_CHKSUM = "file://COPYING;md5=5973c953e3c8a767cf0808ff8a0bac1b"
PACKAGECONFIG ?= "dpdk"
PACKAGECONFIG[dpdk] = "--with-dpdk=${STAGING_DIR_TARGET}/opt/dpdk/${TARGET_ARCH}-native-linuxapp-gcc,,dpdk,"
# 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"
FILES_${PN} += "/lib/modules"
inherit autotools update-rc.d ptest
EXTRA_OEMAKE += "TEST_DEST=${D}${PTEST_PATH} TEST_ROOT=${PTEST_PATH}"
do_install_ptest() {
oe_runmake test-install
}
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
install -d ${D}/${sysconfdir}/init.d/
oe_runmake modules_install INSTALL_MOD_PATH=${D}
}
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
}