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 <[email protected]>
# $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/
$3 $4
EOT
+# Generate control file
+cat <<EOT >> ${BUILD_DIR}/debian/control
+Source: honeycomb
+Section: misc
+Priority: optional
+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
--- /dev/null
+#!/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)"
--- /dev/null
+#!/bin/bash
+echo "debhelper (>= 9)"
+++ /dev/null
-Source: honeycomb
-Section: misc
-Priority: optional
-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
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
--- /dev/null
+#!/bin/bash
+echo "debhelper (>= 9), dh-systemd"
+++ /dev/null
-Source: honeycomb
-Section: misc
-Priority: optional
-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
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
%define __jar_repack 0
%define _version %(./version)
%define _release %(./release)
+%define _vpp_dependencies %(./vpp_dependencies)
Name: honeycomb
Version: %{_version}
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
--- /dev/null
+#!/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"