summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarek Gradzki <mgradzki@cisco.com>2017-03-28 09:15:42 +0200
committerJan Srnicek <jsrnicek@cisco.com>2017-03-29 06:11:23 +0000
commit212774e6dc3e3f74b100ac4f66420146e8f2472c (patch)
treeafc76d6ced7d91199066760e1d356bde6ceed3df
parent539dafd91d6c58400ff2623d85df28f40a11ffe5 (diff)
HC2VPP-102: allow to configure vpp dependencies in deb/rpm build scripts
Debian: VPP dependencies can be specified in deb/common/vpp_dependencies file, used to generated debian/control file. Can be verified with: dpkg -I honeycomb_package.deb Centos: VPP dependencies can be specified in rpmvpp_dependencies file, referenced in honeycomb.spec. Can be verified with: rpm -i honeycomb_package.rpm Change-Id: Ide4ff3888085f714467fa1c1543b24b3c1b9f14b Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
-rwxr-xr-xpackaging/deb/common/prepare.sh21
-rwxr-xr-xpackaging/deb/common/vpp_dependencies6
-rwxr-xr-xpackaging/deb/trusty/build_dependencies2
-rw-r--r--packaging/deb/trusty/debian/control14
-rwxr-xr-xpackaging/deb/trusty/debuild.sh2
-rwxr-xr-xpackaging/deb/xenial/build_dependencies2
-rw-r--r--packaging/deb/xenial/debian/control14
-rwxr-xr-xpackaging/deb/xenial/debuild.sh2
-rw-r--r--packaging/rpm/honeycomb.spec3
-rwxr-xr-xpackaging/rpm/vpp_dependencies6
10 files changed, 41 insertions, 31 deletions
diff --git a/packaging/deb/common/prepare.sh b/packaging/deb/common/prepare.sh
index 571f30ada..69d535389 100755
--- a/packaging/deb/common/prepare.sh
+++ b/packaging/deb/common/prepare.sh
@@ -4,10 +4,13 @@ set -xe
# $2 - $1/debian - just configurable for reuse
# $3 - service definition file
# $4 - service definition target during install
+# $5 - build dependencies file
SOURCE_DIR=$1
VERSION=$(${SOURCE_DIR}/../../rpm/version)
RELEASE=$(${SOURCE_DIR}/../../rpm/release)
BUILD_DIR=${SOURCE_DIR}/honeycomb-${VERSION}
+VPP_DEPENDENCIES=$(${SOURCE_DIR}/../../deb/common/vpp_dependencies)
+BUILD_DEPENDENCIES=$($5)
# Copy and unpack the archive with vpp-integration distribution
ARCHIVE_DIR=${SOURCE_DIR}/../../../vpp-integration/minimal-distribution/target/
@@ -42,4 +45,22 @@ vpp-integration-distribution-${VERSION}-SNAPSHOT/* /opt/honeycomb/
$3 $4
EOT
+# Generate control file
+cat <<EOT >> ${BUILD_DIR}/debian/control
+Source: honeycomb
+Section: misc
+Priority: optional
+Maintainer: fd.io/hc2vpp <hc2vpp@lists.fd.io>
+Build-Depends: ${BUILD_DEPENDENCIES}
+Standards-Version: 3.9.6
+Homepage: https://wiki.fd.io/view/Hc2vpp
+Vcs-Browser: https://git.fd.io/cgit/hc2vpp/tree/
+
+Package: honeycomb
+Architecture: all
+Depends: ${VPP_DEPENDENCIES}, openjdk-8-jre-headless
+Suggests: vpp-nsh-plugin
+Description: Honeycomb agent for VPP
+EOT
+
echo ${BUILD_DIR} \ No newline at end of file
diff --git a/packaging/deb/common/vpp_dependencies b/packaging/deb/common/vpp_dependencies
new file mode 100755
index 000000000..8c1c21617
--- /dev/null
+++ b/packaging/deb/common/vpp_dependencies
@@ -0,0 +1,6 @@
+#!/bin/bash
+# defines vpp and vpp-plugins dependencies for debian packages
+# using range
+echo "vpp (>= 17.04), vpp (<< 17.07), vpp-plugins (>= 17.04), vpp-plugins (<< 17.07)"
+# or specific vpp version
+#echo "vpp (= 17.04-rc1), vpp-plugins (= 17.04-rc1)"
diff --git a/packaging/deb/trusty/build_dependencies b/packaging/deb/trusty/build_dependencies
new file mode 100755
index 000000000..170bed922
--- /dev/null
+++ b/packaging/deb/trusty/build_dependencies
@@ -0,0 +1,2 @@
+#!/bin/bash
+echo "debhelper (>= 9)"
diff --git a/packaging/deb/trusty/debian/control b/packaging/deb/trusty/debian/control
deleted file mode 100644
index 860683138..000000000
--- a/packaging/deb/trusty/debian/control
+++ /dev/null
@@ -1,14 +0,0 @@
-Source: honeycomb
-Section: misc
-Priority: optional
-Maintainer: fd.io/hc2vpp <hc2vpp@lists.fd.io>
-Build-Depends: debhelper (>= 9)
-Standards-Version: 3.9.6
-Homepage: https://wiki.fd.io/view/Hc2vpp
-Vcs-Browser: https://git.fd.io/cgit/hc2vpp/tree/
-
-Package: honeycomb
-Architecture: all
-Depends: vpp (>= 17.04), vpp (<< 17.08), vpp-plugins (>= 17.04), vpp-plugins (<< 17.08), openjdk-8-jre-headless
-Suggests: vpp-nsh-plugin
-Description: Honeycomb agent for VPP
diff --git a/packaging/deb/trusty/debuild.sh b/packaging/deb/trusty/debuild.sh
index 84c38ae30..af991ce9e 100755
--- a/packaging/deb/trusty/debuild.sh
+++ b/packaging/deb/trusty/debuild.sh
@@ -3,5 +3,5 @@ set -xe
DIR=$(dirname $0)
DIR=$(readlink -f ${DIR})
-BUILD_FOLDER=$(${DIR}/../common/prepare.sh ${DIR} ${DIR}/debian honeycomb.conf /etc/init/)
+BUILD_FOLDER=$(${DIR}/../common/prepare.sh ${DIR} ${DIR}/debian honeycomb.conf /etc/init/ ${DIR}/build_dependencies)
${DIR}/../common/debuild.sh ${BUILD_FOLDER} \ No newline at end of file
diff --git a/packaging/deb/xenial/build_dependencies b/packaging/deb/xenial/build_dependencies
new file mode 100755
index 000000000..fdd065180
--- /dev/null
+++ b/packaging/deb/xenial/build_dependencies
@@ -0,0 +1,2 @@
+#!/bin/bash
+echo "debhelper (>= 9), dh-systemd"
diff --git a/packaging/deb/xenial/debian/control b/packaging/deb/xenial/debian/control
deleted file mode 100644
index 5a66f9cfe..000000000
--- a/packaging/deb/xenial/debian/control
+++ /dev/null
@@ -1,14 +0,0 @@
-Source: honeycomb
-Section: misc
-Priority: optional
-Maintainer: fd.io/hc2vpp <hc2vpp@lists.fd.io>
-Build-Depends: debhelper (>= 9), dh-systemd
-Standards-Version: 3.9.6
-Homepage: https://wiki.fd.io/view/Hc2vpp
-Vcs-Browser: https://git.fd.io/cgit/hc2vpp/tree/
-
-Package: honeycomb
-Architecture: all
-Depends: vpp (>= 17.04), vpp (<< 17.08), vpp-plugins (>= 17.04), vpp-plugins (<< 17.08), openjdk-8-jre-headless
-Suggests: vpp-nsh-plugin
-Description: Honeycomb agent for VPP
diff --git a/packaging/deb/xenial/debuild.sh b/packaging/deb/xenial/debuild.sh
index 21e3b7a84..08d9b1974 100755
--- a/packaging/deb/xenial/debuild.sh
+++ b/packaging/deb/xenial/debuild.sh
@@ -3,6 +3,6 @@ set -xe
DIR=$(dirname $0)
DIR=$(readlink -f ${DIR})
-BUILD_FOLDER=$(${DIR}/../common/prepare.sh ${DIR} ${DIR}/../trusty/debian honeycomb.service /lib/systemd/system)
+BUILD_FOLDER=$(${DIR}/../common/prepare.sh ${DIR} ${DIR}/../trusty/debian honeycomb.service /lib/systemd/system ${DIR}/build_dependencies)
cp -r ${DIR}/debian/* ${BUILD_FOLDER}/debian/
${DIR}/../common/debuild.sh ${BUILD_FOLDER} \ No newline at end of file
diff --git a/packaging/rpm/honeycomb.spec b/packaging/rpm/honeycomb.spec
index 7047a340c..3c4e7efde 100644
--- a/packaging/rpm/honeycomb.spec
+++ b/packaging/rpm/honeycomb.spec
@@ -2,6 +2,7 @@
%define __jar_repack 0
%define _version %(./version)
%define _release %(./release)
+%define _vpp_dependencies %(./vpp_dependencies)
Name: honeycomb
Version: %{_version}
@@ -18,7 +19,7 @@ License: Apache-1.0
URL: http://www.fd.io
Source0: vpp-integration-distribution-%{_version}-SNAPSHOT-hc.zip
Source1: honeycomb.service
-Requires: vpp >= 17.04, vpp < 17.08, vpp-plugins >= 17.04, vpp-plugins < 17.08, java >= 1:1.8.0
+Requires: %{_vpp_dependencies}, java >= 1:1.8.0
# Required for creating honeycomb group
Requires(pre): shadow-utils
# Required for configuring systemd
diff --git a/packaging/rpm/vpp_dependencies b/packaging/rpm/vpp_dependencies
new file mode 100755
index 000000000..5090544b6
--- /dev/null
+++ b/packaging/rpm/vpp_dependencies
@@ -0,0 +1,6 @@
+#!/bin/bash
+# defines vpp and vpp-plugins dependencies for rpm packages
+# using range
+echo "vpp >= 17.04, vpp < 17.07, vpp-plugins >= 17.04, vpp-plugins < 17.07"
+# or specific vpp version
+#echo "vpp = 17.04-rc1, vpp-plugins = 17.04-rc1"