From 675c078e7091d8a695917ca914d29c27aaf6a99d Mon Sep 17 00:00:00 2001 From: Diego Giovane Pasqualin <dpasqualin@c3sl.ufpr.br> Date: Fri, 14 Feb 2014 14:45:50 -0200 Subject: [PATCH] build_package.sh: pass new package version to {pre,post}build scripts Signed-off-by: Diego Giovane Pasqualin <dpasqualin@c3sl.ufpr.br> --- bin/build_package.sh | 39 +++++++++++++++++++++++++++++++-------- 1 file changed, 31 insertions(+), 8 deletions(-) diff --git a/bin/build_package.sh b/bin/build_package.sh index 85c3ebb0..e13152b6 100755 --- a/bin/build_package.sh +++ b/bin/build_package.sh @@ -35,20 +35,27 @@ function copyDoc() { cp "$COPYING" "$copyDir" } -# Update the package ($1) version based on $kind ($2), where $kind can be -# revision, minor, or major. -function updatePackageVersion () { +# Return package ($1) current version +function getPackageCurrentVersion() { + local pkg=$1 + local controlFile="$REPOROOT/$pkg/package/DEBIAN/control" + version=$(grep "^Version:" $controlFile | awk '{print $2}') + echo $version +} + +# Generate a new version of the package ($1) based on $kind ($2), where $kind +# can be revision, minor, or major. +function generateNewPackageVersion () { local pkg=$1 local kind=$2 - local controlFile="$REPOROOT/$pkg/package/DEBIAN/control" local version="" local newVersion="" local major="" local minor="" local revision="" - version=$(grep "^Version:" $controlFile | awk '{print $2}') + version=$(getPackageCurrentVersion $pkg) major=$(echo $version | cut -d. -f1) minor=$(echo $version | cut -d. -f2) @@ -71,6 +78,16 @@ function updatePackageVersion () { newVersion="${major}.${minor}.${revision}" + echo $newVersion +} + +# Update the package ($1) control file with it's new version ($2). +function updatePackageVersion() { + local pkg=$1 + local newVersion=$2 + + local controlFile="$REPOROOT/$pkg/package/DEBIAN/control" + sed -i -e "s/Version:.*/Version: $newVersion/" $controlFile } @@ -144,11 +161,17 @@ if test -z "$KIND"; then KIND="revision" fi +if "$UPDATEVERSION" = true; then + newVersion=$(generateNewPackageVersion "$PKG" "$KIND") +else + newVersion=$(getPackageCurrentVersion "$PKG") +fi + # Run prebuild script prebuild="$REPOROOT/$PKG/prebuild" if test -x "$prebuild"; then echo "Running prebuild script..." - if ! $prebuild; then + if ! $prebuild $newVersion; then echo "ERROR while running prebuild script." exit 5 fi @@ -159,7 +182,7 @@ copyDoc "$PKG" # Update Version if test "$UPDATEVERSION" = "true"; then - updatePackageVersion "$PKG" "$KIND" + updatePackageVersion "$PKG" "$newVersion" fi # Build Package @@ -172,7 +195,7 @@ fi postbuild="$REPOROOT/$PKG/postbuild" if test -x "$postbuild"; then echo "Running postbuild script..." - if ! $postbuild; then + if ! $postbuild $newVersion; then echo "ERROR while running postbuild script." exit 7 fi -- GitLab