We had a lot of issues with debian packaging lately.  This job will
check build and installation of debian packages to avoid most of such
issues in the future.

Installing only minimal set of tools, most of dependencies will be
installed according to package description, this way we will check if
we have all required dependencies listed.

Not trying to install openvswitch-ipsec package as there is an issue
that python from the pyenv for some reason doesn't see ovs packages
installed from python3-openvswitch, i.e. ipsec service is not able to
start.

Tests are skipped because they are tested in many other scenarios.
No need to waste time.

Signed-off-by: Ilya Maximets <i.maxim...@ovn.org>
---

Since this is Travis-only change, I'd like to apply it to 2.14 and 2.13
too.  Of course, we need to fix 2.13 before backporting there.

 .travis.yml              | 11 +++++++++++
 .travis/linux-build.sh   | 11 +++++++++++
 .travis/linux-prepare.sh |  6 ++++++
 3 files changed, 28 insertions(+)

diff --git a/.travis.yml b/.travis.yml
index 527240a67..819e7669b 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -67,6 +67,17 @@ matrix:
       compiler: clang
       env: OPTS="--disable-ssl"
 
+matrix:
+  include:
+    - env: DEB_PACKAGE=1
+      addons:
+        apt:
+          packages:
+            - build-essential
+            - fakeroot
+            - devscripts
+            - equivs
+
 script: ./.travis/${TRAVIS_OS_NAME}-build.sh $OPTS
 
 notifications:
diff --git a/.travis/linux-build.sh b/.travis/linux-build.sh
index e0a065291..6981d1d47 100755
--- a/.travis/linux-build.sh
+++ b/.travis/linux-build.sh
@@ -164,6 +164,17 @@ function build_ovs()
     fi
 }
 
+if [ "$DEB_PACKAGE" ]; then
+    mk-build-deps --install --root-cmd sudo --remove debian/control
+    dpkg-checkbuilddeps
+    DEB_BUILD_OPTIONS='parallel=4 nocheck' fakeroot debian/rules binary
+    # Not trying to install ipsec package as there are issues with system-wide
+    # installed python3-openvswitch package and the pyenv used by Travis.
+    packages=$(ls $(pwd)/../*.deb | grep -v ipsec)
+    sudo apt install ${packages}
+    exit 0
+fi
+
 if [ "$KERNEL" ]; then
     install_kernel $KERNEL
 fi
diff --git a/.travis/linux-prepare.sh b/.travis/linux-prepare.sh
index 8cbbd5623..71eb347e8 100755
--- a/.travis/linux-prepare.sh
+++ b/.travis/linux-prepare.sh
@@ -2,6 +2,12 @@
 
 set -ev
 
+if [ "$DEB_PACKAGE" ]; then
+    # We're not using sparse for debian packages, tests are skipped and
+    # all extra dependencies tracked by mk-build-deps.
+    exit 0
+fi
+
 # Build and install sparse.
 #
 # Explicitly disable sparse support for llvm because some travis
-- 
2.25.4

_______________________________________________
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to