build: bootstrap can be used with options

'branch', 'revision' and 'suffix'
This commit is contained in:
Viktor Tarasov 2013-12-29 18:33:34 +01:00
parent 1d45eea907
commit b928e814e5
2 changed files with 72 additions and 3 deletions

View File

@ -1,15 +1,77 @@
#!/bin/sh
usage()
{
cat << EOF
usage: $0 options
OpenSC bootstrap
OPTIONS:
-h Show this message
-s Package suffix
-S Use package suffix as 'git' appended with the date of last commit
-r Package version revision
-R Use package version revision as Git commit number from 'git describe' result
-b Package branch
-B Use package branch as current Git branch
EOF
}
SUFFIX=
REVISION=
VERBOSE=
while getopts “:hs:Sr:R” OPTION
do
case $OPTION in
h)
usage
exit 1
;;
s)
SUFFIX=$OPTARG
;;
S)
SUFFIX=git`git log -1 --pretty=fuller --date=iso | grep CommitDate: | sed -E 's/^CommitDate:\s(.*)/\1/' | sed -E 's/(.*)-(.*)-(.*) (.*):(.*):(.*)\s+.*/\1\2\3\4\5\6/'`
;;
r)
REVISION=$OPTARG
;;
R)
REVISION=`git describe | perl -ne 'print $1 if /^[\.0-9]*-([0-9]*)-g[a-z0-9]*$/;'`
;;
?)
usage
exit
;;
esac
done
set -e
set -x
if test -f Makefile; then
if [ -f Makefile ]; then
make distclean
fi
rm -rf *~ *.cache *.m4 config.guess config.log config.status config.sub depcomp ltmain.sh
if test ! -z "$1"; then
if [ -n "$SUFFIX" ] || [ -n "$REVISION" ]
then
cp configure.ac configure.ac.orig
sed 's/^define(\[PACKAGE_SUFFIX\],\s*\[\([-~]*[0-9a-zA-Z]*\)\])$/define(\[PACKAGE_SUFFIX\], \['$1'\])/g' configure.ac.orig > configure.ac
if [ -n "$SUFFIX" ]
then
echo Set package suffix "$SUFFIX"
cp configure.ac configure.ac.prev
sed 's/^define(\[PACKAGE_SUFFIX\],\s*\[\([-~]*[0-9a-zA-Z]*\)\])$/define(\[PACKAGE_SUFFIX\], \['$SUFFIX'\])/g' configure.ac.prev > configure.ac
fi
if [ -n "$REVISION" ]
then
echo Set package revision "$REVISION"
cp configure.ac configure.ac.prev
sed 's/^define(\[PACKAGE_VERSION_REVISION\],\s*\[\([-~]*[0-9a-zA-Z]*\)\])$/define(\[PACKAGE_VERSION_REVISION\], \['$REVISION'\])/g' configure.ac.prev > configure.ac
fi
fi
autoreconf --verbose --install --force

View File

@ -6,6 +6,7 @@ define([PACKAGE_VERSION_MAJOR], [0])
define([PACKAGE_VERSION_MINOR], [13])
define([PACKAGE_VERSION_FIX], [0])
define([PACKAGE_SUFFIX], [])
define([PACKAGE_VERSION_REVISION], [0])
AC_INIT([opensc],[PACKAGE_VERSION_MAJOR.PACKAGE_VERSION_MINOR.PACKAGE_VERSION_FIX[]PACKAGE_SUFFIX])
AC_CONFIG_AUX_DIR([.])
@ -16,6 +17,7 @@ AM_INIT_AUTOMAKE(foreign 1.10)
OPENSC_VERSION_MAJOR="PACKAGE_VERSION_MAJOR"
OPENSC_VERSION_MINOR="PACKAGE_VERSION_MINOR"
OPENSC_VERSION_FIX="PACKAGE_VERSION_FIX"
OPENSC_VERSION_REVISION="PACKAGE_VERSION_REVISION"
# LT Version numbers, remember to change them just *before* a release.
# (Code changed: REVISION++)
@ -569,6 +571,7 @@ fi
AC_DEFINE_UNQUOTED([OPENSC_VERSION_MAJOR], [${OPENSC_VERSION_MAJOR}], [OpenSC version major component])
AC_DEFINE_UNQUOTED([OPENSC_VERSION_MINOR], [${OPENSC_VERSION_MINOR}], [OpenSC version minor component])
AC_DEFINE_UNQUOTED([OPENSC_VERSION_FIX], [${OPENSC_VERSION_FIX}], [OpenSC version fix component])
AC_DEFINE_UNQUOTED([OPENSC_VERSION_REVISION], [${OPENSC_VERSION_REVISION}], [OpenSC version Git describe revision])
AC_DEFINE_UNQUOTED([OPENSC_FEATURES], ["${OPENSC_FEATURES}"], [Enabled OpenSC features])
pkcs11dir="\$(libdir)/pkcs11"
@ -578,6 +581,7 @@ AC_SUBST([xslstylesheetsdir])
AC_SUBST([OPENSC_VERSION_MAJOR])
AC_SUBST([OPENSC_VERSION_MINOR])
AC_SUBST([OPENSC_VERSION_FIX])
AC_SUBST([OPENSC_VERSION_REVISION])
AC_SUBST([OPENSC_LT_CURRENT])
AC_SUBST([OPENSC_LT_REVISION])
AC_SUBST([OPENSC_LT_AGE])
@ -661,6 +665,9 @@ OpenSC has been configured with the following options:
Version: ${PACKAGE_VERSION}
Version fix: ${OPENSC_VERSION_FIX}
Version revision: ${OPENSC_VERSION_REVISION}
User binaries: $(eval eval eval echo "${bindir}")
Configuration files: $(eval eval eval echo "${sysconfdir}")
XSL stylesheets: ${xslstylesheetsdir}