From 1551fd2fcd0c41409a26f5c8c32c25d99e059eb4 Mon Sep 17 00:00:00 2001
From: Violette Roche-Montane <violette.roche-montane@forgerock.com>
Date: Wed, 29 May 2013 06:39:44 +0000
Subject: [PATCH] OPENDJ-946 Package build fails when special chars are contained in the VERSION_QUALIFIER. - The packages name for Deb/RPM follows the rules given by their respective documentation. - Adding a VERSION_QUALIFIER containing special chars no longer make fail the package build.
---
opends/src/build-tools/org/opends/build/tools/CreateVersionString.java | 8 ++++++++
opends/build.xml | 6 +++---
opends/src/build-tools/org/opends/build/tools/GenerateRpm.java | 5 +++++
3 files changed, 16 insertions(+), 3 deletions(-)
diff --git a/opends/build.xml b/opends/build.xml
index 4eb180c..45b9691 100644
--- a/opends/build.xml
+++ b/opends/build.xml
@@ -1336,8 +1336,8 @@
referenceURL="${DOC_REFERENCE_HOME}"
sourceDirName="${package.dir}/${SHORT_NAME}-${VERSION_NUMBER_STRING}"
specFileName="${build.dir}/rpm/SPECS/specFile"
- version="${VERSION_NUMBER_STRING}"
- release="${release}"
+ version="${pkg_version_string}"
+ release="${release}.${pkg_version_qualifier}"
overwrite="true">
</genrpm>
@@ -1395,7 +1395,7 @@
<replace dir="${build.dir}/deb/control/" token="@prefix@" value="${prefix}" />
- <deb destfile="${package.dir}/${PKG_NAME}_${VERSION_NUMBER_STRING}-${release}_all.deb"
+ <deb destfile="${package.dir}/${PKG_NAME}_${pkg_version_string}-${release}${pkg_version_qualifier}_all.deb"
control="${build.dir}/deb/control">
<tarfileset dir="${package.dir}/${SHORT_NAME}-${VERSION_NUMBER_STRING}"
includes="**/*"
diff --git a/opends/src/build-tools/org/opends/build/tools/CreateVersionString.java b/opends/src/build-tools/org/opends/build/tools/CreateVersionString.java
index 4aaf9380..d07cbfc 100644
--- a/opends/src/build-tools/org/opends/build/tools/CreateVersionString.java
+++ b/opends/src/build-tools/org/opends/build/tools/CreateVersionString.java
@@ -71,9 +71,17 @@
versionString.append(".");
versionString.append(getProject().getProperty("POINT_VERSION"));
+ // Sets the version string to the property used by packages.
+ getProject().setNewProperty("pkg_version_string", versionString.toString());
+
String versionQualifier = getProject().getProperty("VERSION_QUALIFIER");
versionString.append(versionQualifier);
+ // Removes all special chars contained in the version qualifier
+ // Sets the version qualifier to the property used by packages.
+ getProject().setNewProperty("pkg_version_qualifier",
+ versionQualifier.replaceAll("[^A-Za-z0-9]", ""));
+
try
{
int buildNumber =
diff --git a/opends/src/build-tools/org/opends/build/tools/GenerateRpm.java b/opends/src/build-tools/org/opends/build/tools/GenerateRpm.java
index 335df83..80d84ac 100644
--- a/opends/src/build-tools/org/opends/build/tools/GenerateRpm.java
+++ b/opends/src/build-tools/org/opends/build/tools/GenerateRpm.java
@@ -225,6 +225,11 @@
sb.append("# Application Version" + EOL);
sb.append("Version: " + version + EOL);
sb.append("# Packaging Revision" + EOL);
+ // If VERSION_QUALIFIER is empty, need to remove '.' char.
+ if (release.endsWith("."))
+ {
+ release = release.substring(0, release.length() - 1);
+ }
sb.append("Release: " + release + EOL);
sb.append("# Software Licenced Under" + EOL);
sb.append("License: CDDL" + EOL);
--
Gitblit v1.10.0