diff --git a/.github/scripts/collect-deb-package.sh b/.github/scripts/collect-deb-package.sh index ad60edfbdb8..dec5db3290d 100755 --- a/.github/scripts/collect-deb-package.sh +++ b/.github/scripts/collect-deb-package.sh @@ -18,6 +18,15 @@ AUTHOR_EMAIL="contact@centreon.com" # fix version to debian format accept VERSION="$(echo $VERSION | sed 's/-/./g')" +MAJOR_LEFT_PART=$( echo $VERSION | cut -d "." -f1 ) +MAJOR_RIGHT_PART=$( echo $VERSION | cut -d "-" -f1 | cut -d "." -f2 ) +BUMP_MAJOR_RIGHT_PART=$(( MAJOR_RIGHT_PART+1 )) +if [ ${#BUMP_MAJOR_RIGHT_PART} -eq 1 ]; then + # Add a zero before the new single numeric char + BUMP_MAJOR_RIGHT_PART="0$BUMP_MAJOR_RIGHT_PART" +fi +MAJOR_THRESHOLD="$MAJOR_LEFT_PART.$BUMP_MAJOR_RIGHT_PART" + if [ -d "$ROOT/build" ] ; then rm -rf "$ROOT/build" fi @@ -26,6 +35,7 @@ cd "$ROOT" cp -r packaging/debian debian sed -i "s/^centreon:version=.*$/centreon:version=$(echo $VERSION-$RELEASE)/" debian/substvars +sed -i "s/^centreon:versionThreshold=.*$/centreon:versionThreshold=$(echo $MAJOR_THRESHOLD | egrep -o '^[0-9][0-9].[0-9][0-9]')/" debian/substvars debmake -f "${AUTHOR}" -e "${AUTHOR_EMAIL}" -u "$VERSION" -r "$RELEASE" diff --git a/packaging/debian/control b/packaging/debian/control index 9e9aaeeddc4..eac6351053e 100644 --- a/packaging/debian/control +++ b/packaging/debian/control @@ -29,6 +29,7 @@ Package: centreon-clib-dev Architecture: any Depends: centreon-clib (>= ${centreon:version}~), + centreon-clib (<< ${centreon:versionThreshold}~), ${misc:Depends}, ${shlibs:Depends} Description: Centreon Clib is a common library for all Centreon products @@ -40,6 +41,9 @@ Depends: centreon-clib (>= ${centreon:version}~), centreon-common (>= ${centreon:version}~), centreon-engine-extcommands (>= ${centreon:version}~), + centreon-clib (<< ${centreon:versionThreshold}~), + centreon-common (<< ${centreon:versionThreshold}~), + centreon-engine-extcommands (<< ${centreon:versionThreshold}~), monitoring-plugins-basic, ${misc:Depends}, ${shlibs:Depends} @@ -51,6 +55,8 @@ Architecture: any Depends: centreon-clib-dev (>= ${centreon:version}~), centreon-common (>= ${centreon:version}~), + centreon-clib-dev (<< ${centreon:versionThreshold}~), + centreon-common (<< ${centreon:versionThreshold}~), ${misc:Depends}, ${shlibs:Depends} Description: Centreon Engine devel provide include files to develop Centreon Engine @@ -60,6 +66,7 @@ Package: centreon-engine-extcommands Architecture: any Depends: centreon-common (>= ${centreon:version}~), + centreon-common (<< ${centreon:versionThreshold}~), ${misc:Depends}, ${shlibs:Depends} Description: Centreon Engine External Commands allow to other applications to send @@ -71,6 +78,7 @@ Package: centreon-connector-perl Architecture: any Depends: centreon-engine (>= ${centreon:version}~), + centreon-engine (<< ${centreon:versionThreshold}~), ${misc:Depends}, ${shlibs:Depends} Description: Centreon Connector Perl provide embedded perl for Centreon Engine @@ -80,15 +88,18 @@ Package: centreon-connector-ssh Architecture: any Depends: centreon-engine (>= ${centreon:version}~), + centreon-engine (<< ${centreon:versionThreshold}~), ${misc:Depends}, ${shlibs:Depends} -Description: Centreon Connector SSH provide persistante connection between checks. +Description: Centreon Connector SSH provide persistent connection between checks. Package: centreon-connector Architecture: any Depends: centreon-connector-perl (>= ${centreon:version}~), centreon-connector-ssh (>= ${centreon:version}~), + centreon-connector-perl (<< ${centreon:versionThreshold}~), + centreon-connector-ssh (<< ${centreon:versionThreshold}~), ${misc:Depends}, ${shlibs:Depends} Description: Centreon Connector provide a monitoring tools, compatible with @@ -102,6 +113,11 @@ Depends: centreon-broker-core (>= ${centreon:version}~), centreon-broker-cbmod (>= ${centreon:version}~), centreon-broker-storage (>= ${centreon:version}~), + centreon-clib (<< ${centreon:versionThreshold}~), + centreon-engine (<< ${centreon:versionThreshold}~), + centreon-broker-core (<< ${centreon:versionThreshold}~), + centreon-broker-cbmod (<< ${centreon:versionThreshold}~), + centreon-broker-storage (<< ${centreon:versionThreshold}~), ${misc:Depends}, ${shlibs:Depends} Description: Centreon Broker is a Centreon Engine/Nagios module that report events in @@ -111,6 +127,7 @@ Package: centreon-broker-core Architecture: any Depends: centreon-broker (>= ${centreon:version}~), + centreon-broker (<< ${centreon:versionThreshold}~), ${misc:Depends}, ${shlibs:Depends} Description: core holds Centreon Broker's default modules. @@ -120,6 +137,8 @@ Architecture: any Depends: centreon-engine (>= ${centreon:version}~), centreon-broker-core (>= ${centreon:version}~), + centreon-engine (<< ${centreon:versionThreshold}~), + centreon-broker-core (<< ${centreon:versionThreshold}~), ${misc:Depends}, ${shlibs:Depends} Description: This module can be loaded by Centreon Engine. @@ -128,6 +147,7 @@ Package: centreon-broker-dev Architecture: any Depends: centreon-broker-core (>= ${centreon:version}~), + centreon-broker-core (<< ${centreon:versionThreshold}~), ${misc:Depends}, ${shlibs:Depends} Description: Centreon Broker development files. @@ -137,15 +157,18 @@ Package: centreon-broker-storage Architecture: any Depends: centreon-broker-core (>= ${centreon:version}~), + centreon-broker-core (<< ${centreon:versionThreshold}~), ${misc:Depends}, ${shlibs:Depends} -Description: Storage holds Centreon Broker's prefdata storage. +Description: Storage holds Centreon Broker's perfdata storage. Package: centreon-broker-influxdb Architecture: any Depends: centreon-broker-core (>= ${centreon:version}~), centreon-broker-storage (>= ${centreon:version}~), + centreon-broker-core (<< ${centreon:versionThreshold}~), + centreon-broker-storage (<< ${centreon:versionThreshold}~), ${misc:Depends}, ${shlibs:Depends} Description: This module of Centreon Broker allows you to write performance data @@ -156,6 +179,8 @@ Architecture: any Depends: centreon-broker-core (>= ${centreon:version}~), centreon-broker-storage (>= ${centreon:version}~), + centreon-broker-core (<< ${centreon:versionThreshold}~), + centreon-broker-storage (<< ${centreon:versionThreshold}~), ${misc:Depends}, ${shlibs:Depends} Description: This module of Centreon Broker allows you to write performance data @@ -166,6 +191,8 @@ Architecture: any Depends: centreon-broker (>= ${centreon:version}~), centreon-engine (>= ${centreon:version}~), + centreon-broker (<< ${centreon:versionThreshold}~), + centreon-engine (<< ${centreon:versionThreshold}~), ${misc:Depends}, ${shlibs:Depends} Description: gRPC client to connect to Centreon Broker or Centreon Engine. diff --git a/packaging/debian/substvars b/packaging/debian/substvars index 259ab2cfb00..0e75aa07254 100644 --- a/packaging/debian/substvars +++ b/packaging/debian/substvars @@ -1 +1,2 @@ -centreon:version=22.10.0 +centreon:version= +centreon:versionThreshold=