diff --git a/perestroika/build-deb.sh b/perestroika/build-deb.sh index da9949f..4178600 100755 --- a/perestroika/build-deb.sh +++ b/perestroika/build-deb.sh @@ -38,8 +38,14 @@ main () { # Deal with PyPi versions like 2015.1.0rc1 # It breaks version comparison # Change it to 2015.1.0~rc1 - local convert_version_py="$(dirname $(readlink -e $0))/convert_version.py" - version=$(python ${convert_version_py} --tag ${release_tag}) + local script_dir=$(dirname $(readlink -e $0)) + local convert_version_py="$script_dir/convert_version.py" + if grep -qE "^${SRC_PROJECT}\$" "$script_dir/fuel-projects-list" + then + local version_length=2 + fi + version=$(python ${convert_version_py} --tag ${release_tag} \ + ${version_length:+ -l $version_length}) if [ "${version}" != "${pkg_version}" ] ; then echo -e "ERROR: Version mismatch. Latest version from Gerrit tag: $version, and from changelog: $pkg_version. Build aborted." exit 1 diff --git a/perestroika/build-rpm.sh b/perestroika/build-rpm.sh index 3df8a3a..ae8c59e 100755 --- a/perestroika/build-rpm.sh +++ b/perestroika/build-rpm.sh @@ -44,8 +44,14 @@ This package provides the %{-n*} kernel modules # Deal with PyPi versions like 2015.1.0rc1 # It breaks version comparison # Change it to 2015.1.0~rc1 - local convert_version_py="$(dirname $(readlink -e $0))/convert_version.py" - version=$(python ${convert_version_py} --tag ${release_tag}) + local script_dir=$(dirname $(readlink -e $0)) + local convert_version_py="$script_dir/convert_version.py" + if grep -qE "^${SRC_PROJECT}\$" "$script_dir/fuel-projects-list" + then + local version_length=2 + fi + version=$(python ${convert_version_py} --tag ${release_tag} \ + ${version_length:+ -l $version_length}) if [ "${version}" != "${pkg_version}" ] ; then echo -e "ERROR: Version mismatch. Latest version from Gerrit tag: $version, and from changelog: $pkg_version. Build aborted." exit 1 diff --git a/perestroika/convert_version.py b/perestroika/convert_version.py index 0e0de14..345cefd 100755 --- a/perestroika/convert_version.py +++ b/perestroika/convert_version.py @@ -24,15 +24,17 @@ def main(): '-t', '--tag', dest='tag', action='store', type=str, help='PyPi version tag', required=True, default='0' ) + parser.add_argument( + '-l', '--version-length', type=int, default=3, + help="Number of version components" + ) params, other_params = parser.parse_known_args() - pip_ver = params.tag - - print(convert_version(pip_ver)) + print(convert_version(params.tag, params.version_length)) -def convert_version(pip_ver): +def convert_version(pip_ver, version_length): # drop dashed part from version string because # it represents a patch level of given version pip_ver = pip_ver.split('-')[0] @@ -68,7 +70,7 @@ def convert_version(pip_ver): pkg_alpha = pkg_alpha.replace('@', 'dev') # expand version to three items - while (len(pkg_ver_part) < 3): + while (len(pkg_ver_part) < version_length): pkg_ver_part.append('0') return '.'.join(pkg_ver_part) + pkg_alpha + '.'.join(pkg_rev_part) diff --git a/perestroika/fuel-projects-list b/perestroika/fuel-projects-list new file mode 100644 index 0000000..4212fae --- /dev/null +++ b/perestroika/fuel-projects-list @@ -0,0 +1,12 @@ +fuel-agent +fuel-astute +fuel-library +fuel-main +fuel-menu +fuel-nailgun-agent +fuel-octane +fuel-ostf +fuel-ui +fuel-web +network-checker +shotgun