build: split version and release in configure

Update configure.ac to separate Version from Release if there is
a '-' in version.h::E2FSPROGS_VERSION (e.g. "1.46.6-rc1").
Otherwise, the '-' in the version can make RPM building unhappy.

Simplify the generation of E2FSPROGS_VERESION, E2FSPROGS_DATE and
E2FSPROGS_DAY to avoid multiple grep/awk/sed/tr stages.

Signed-off-by: Andreas Dilger <adilger@dilger.ca>
Link: https://lore.kernel.org/r/1683694677-9366-1-git-send-email-adilger@dilger.ca
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
This commit is contained in:
Andreas Dilger 2023-05-09 22:57:57 -06:00 committed by Theodore Ts'o
parent 4e16d629e0
commit 1ac0061609
3 changed files with 23 additions and 19 deletions

17
configure vendored
View File

@ -824,6 +824,7 @@ build_cpu
build
E2FSPROGS_DATE
E2FSPROGS_PKGVER
E2FSPROGS_PKGREL
E2FSPROGS_VERSION
E2FSPROGS_DAY
E2FSPROGS_MONTH
@ -4583,11 +4584,9 @@ fi
MCONFIG=./MCONFIG
BINARY_TYPE=bin
E2FSPROGS_VERSION=`grep E2FSPROGS_VERSION ${srcdir}/version.h \
| awk '{print $3}' | tr \" " " | awk '{print $1}'`
E2FSPROGS_DATE=`grep E2FSPROGS_DATE ${srcdir}/version.h | awk '{print $3}' \
| tr \" " " | awk '{print $1}'`
E2FSPROGS_DAY=$(echo $E2FSPROGS_DATE | awk -F- '{print $1}' | sed -e '/^[1-9]$/s/^/0/')
E2FSPROGS_VERSION=`awk -F\" '/E2FSPROGS_VERS/ { print $2 }' ${srcdir}/version.h`
E2FSPROGS_DATE=`awk -F\" '/E2FSPROGS_DATE/ { print $2 }' ${srcdir}/version.h`
E2FSPROGS_DAY=$(echo $E2FSPROGS_DATE | awk -F- '{ printf "%02d", $1 }')
MONTH=`echo $E2FSPROGS_DATE | awk -F- '{print $2}'`
YEAR=`echo $E2FSPROGS_DATE | awk -F- '{print $3}'`
@ -4616,17 +4615,19 @@ Dec) MONTH_NUM=12; E2FSPROGS_MONTH="December" ;;
printf "%s\n" "$as_me: WARNING: Unknown month $MONTH??" >&2;} ;;
esac
base_ver=`echo $E2FSPROGS_VERSION | \
sed -e 's/-WIP//' -e 's/pre-//' -e 's/-PLUS//'`
base_ver=`echo $E2FSPROGS_VERSION | sed -e 's/pre-//' -e 's/-.*//'`
base_rel=`echo $E2FSPROGS_VERSION | awk -F- '{ print $2 }'`
date_spec=${E2FSPROGS_YEAR}.${MONTH_NUM}.${E2FSPROGS_DAY}
case $E2FSPROGS_VERSION in
*-WIP|pre-*)
E2FSPROGS_PKGVER="$base_ver~WIP.$date_spec"
E2FSPROGS_PKGVER="$base_ver"
E2FSPROGS_PKGREL="WIP.$date_spec"
;;
*)
E2FSPROGS_PKGVER="$base_ver"
E2FSPROGS_PKGREL="$base_rel"
;;
esac

View File

@ -11,11 +11,9 @@ BINARY_TYPE=bin
dnl
dnl This is to figure out the version number and the date....
dnl
E2FSPROGS_VERSION=`grep E2FSPROGS_VERSION ${srcdir}/version.h \
| awk '{print $3}' | tr \" " " | awk '{print $1}'`
E2FSPROGS_DATE=`grep E2FSPROGS_DATE ${srcdir}/version.h | awk '{print $3}' \
| tr \" " " | awk '{print $1}'`
E2FSPROGS_DAY=$(echo $E2FSPROGS_DATE | awk -F- '{print $1}' | sed -e '/^[[1-9]]$/s/^/0/')
E2FSPROGS_VERSION=`awk -F\" '/E2FSPROGS_VERS/ { print $2 }' ${srcdir}/version.h`
E2FSPROGS_DATE=`awk -F\" '/E2FSPROGS_DATE/ { print $2 }' ${srcdir}/version.h`
E2FSPROGS_DAY=$(echo $E2FSPROGS_DATE | awk -F- '{ printf "%02d", $1 }')
MONTH=`echo $E2FSPROGS_DATE | awk -F- '{print $2}'`
YEAR=`echo $E2FSPROGS_DATE | awk -F- '{print $3}'`
@ -43,27 +41,31 @@ Dec) MONTH_NUM=12; E2FSPROGS_MONTH="December" ;;
*) AC_MSG_WARN([Unknown month $MONTH??]) ;;
esac
base_ver=`echo $E2FSPROGS_VERSION | \
sed -e 's/-WIP//' -e 's/pre-//' -e 's/-PLUS//'`
base_ver=`echo $E2FSPROGS_VERSION | sed -e 's/pre-//' -e 's/-.*//'`
base_rel=`echo $E2FSPROGS_VERSION | awk -F- '{ print $2 }'`
date_spec=${E2FSPROGS_YEAR}.${MONTH_NUM}.${E2FSPROGS_DAY}
case $E2FSPROGS_VERSION in
*-WIP|pre-*)
E2FSPROGS_PKGVER="$base_ver~WIP.$date_spec"
E2FSPROGS_PKGVER="$base_ver"
E2FSPROGS_PKGREL="WIP.$date_spec"
;;
*)
E2FSPROGS_PKGVER="$base_ver"
E2FSPROGS_PKGREL="$base_rel"
;;
esac
unset DATE MONTH YEAR base_ver pre_vers date_spec
AC_MSG_RESULT([Generating configuration file for e2fsprogs version $E2FSPROGS_VERSION])
AC_MSG_RESULT([Package version ${E2FSPROGS_PKGVER} release ${E2FSPROGS_PKGREL}])
AC_MSG_RESULT([Release date is ${E2FSPROGS_MONTH}, ${E2FSPROGS_YEAR}])
AC_SUBST(E2FSPROGS_YEAR)
AC_SUBST(E2FSPROGS_MONTH)
AC_SUBST(E2FSPROGS_DAY)
AC_SUBST(E2FSPROGS_VERSION)
AC_SUBST(E2FSPROGS_PKGREL)
AC_SUBST(E2FSPROGS_PKGVER)
AC_SUBST(E2FSPROGS_DATE)
dnl

View File

@ -5,7 +5,8 @@
srcdir=@srcdir@
top_srcdir=@top_srcdir@
top_dir=`cd $top_srcdir; pwd`
base_ver=`echo @E2FSPROGS_VERSION@ | sed -e 's/-WIP//' -e 's/pre-//' -e 's/-PLUS//'`
base_ver=`echo @E2FSPROGS_PKGVER@`
base_rel=`echo @E2FSPROGS_PKGREL@`
base_e2fsprogs=`basename $top_dir`
exclude=/tmp/exclude$$
GZIP=gzip
@ -16,12 +17,12 @@ GZIP=gzip
# using a non-standard directory name for WIP releases. dpkg-source
# complains, but life goes on.
#
deb_pkgver=`echo @E2FSPROGS_PKGVER@ | sed -e 's/~/-/g'`
deb_pkgver="$base_ver${base_rel:+-$base_rel}"
case $1 in
debian|ubuntu)
SRCROOT="e2fsprogs-$deb_pkgver"
tarout="e2fsprogs_@E2FSPROGS_PKGVER@.orig.tar.gz"
tarout="e2fsprogs_$deb_pkgver.orig.tar.gz"
;;
all|*)
SRCROOT="e2fsprogs-$base_ver"