mirror of
https://github.com/apache/httpd.git
synced 2025-08-10 02:56:11 +00:00
Add code to buildconf that produces an httpd.spec file from
httpd.spec.in, using build/get-version.sh from APR. PR: Obtained from: Submitted by: Reviewed by: git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@99346 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
4
CHANGES
4
CHANGES
@ -2,6 +2,10 @@ Changes with Apache 2.1.0-dev
|
||||
|
||||
[Remove entries to the current 2.0 section below, when backported]
|
||||
|
||||
*) Add code to buildconf that produces an httpd.spec file from
|
||||
httpd.spec.in, using build/get-version.sh from APR.
|
||||
[Graham Leggett]
|
||||
|
||||
*) ssl_toolkit_compat.h and code fixes to build clean on SSLC.
|
||||
[William Rowe, Madhusudan Mathihalli]
|
||||
|
||||
|
41
build/get-version.sh
Executable file
41
build/get-version.sh
Executable file
@ -0,0 +1,41 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# extract version numbers from a header file
|
||||
#
|
||||
# USAGE: get-version.sh CMD VERSION_HEADER PREFIX
|
||||
# where CMD is one of: all, major, libtool
|
||||
# where PREFIX is the prefix to {MAJOR|MINOR|PATCH}_VERSION defines
|
||||
#
|
||||
# get-version.sh all returns a dotted version number
|
||||
# get-version.sh major returns just the major version number
|
||||
# get-version.sh libtool returns a version "libtool -version-info" format
|
||||
#
|
||||
|
||||
if test $# != 3; then
|
||||
echo "USAGE: $0 CMD INCLUDEDIR PREFIX"
|
||||
echo " where CMD is one of: all, major"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
major_sed="/#define.*$3_MAJORVERSION/s/^.*\([0-9][0-9]*\).*$/\1/p"
|
||||
minor_sed="/#define.*$3_MINORVERSION/s/^.*\([0-9][0-9]*\).*$/\1/p"
|
||||
patch_sed="/#define.*$3_PATCHLEVEL/s/^[^0-9]*\([0-9][0-9a-z-]*\).*$/\1/p"
|
||||
mmn_sed="/#define.*$3_MAJOR/s/^[^0-9]*\([0-9][0-9]*\).*$/\1/p"
|
||||
major="`sed -n $major_sed $2`"
|
||||
minor="`sed -n $minor_sed $2`"
|
||||
patch="`sed -n $patch_sed $2`"
|
||||
mmn="`sed -n $mmn_sed $2`"
|
||||
|
||||
if test "$1" = "all"; then
|
||||
echo ${major}.${minor}.${patch}
|
||||
elif test "$1" = "major"; then
|
||||
echo ${major}
|
||||
elif test "$1" = "mmn"; then
|
||||
echo ${mmn}
|
||||
elif test "$1" = "libtool"; then
|
||||
# Yes, ${minor}:${patch}:${minor} is correct due to libtool idiocy.
|
||||
echo ${minor}:${patch}:${minor}
|
||||
else
|
||||
echo "ERROR: unknown version CMD ($1)"
|
||||
exit 1
|
||||
fi
|
17
buildconf
17
buildconf
@ -181,4 +181,21 @@ echo rebuilding configure
|
||||
rm -f config.cache
|
||||
${AUTOCONF:-autoconf} 2>&1 | grep -v "$cross_compile_warning"
|
||||
|
||||
if [ -f `which cut` ]; then
|
||||
echo rebuilding rpm spec file
|
||||
( VMMN=`build/get-version.sh mmn include/ap_mmn.h MODULE_MAGIC_NUMBER`
|
||||
REVISION=`build/get-version.sh all include/ap_release.h AP_SERVER`
|
||||
VERSION=`echo $REVISION | cut -d- -s -f1`
|
||||
RELEASE=`echo $REVISION | cut -d- -s -f2`
|
||||
if [ "x$VERSION" = "x" ]; then
|
||||
VERSION=$REVISION
|
||||
RELEASE=1
|
||||
fi
|
||||
cat ./build/rpm/httpd.spec.in | \
|
||||
sed -e "s/APACHE_VERSION/$VERSION/" \
|
||||
-e "s/APACHE_RELEASE/$RELEASE/" \
|
||||
-e "s/APACHE_MMN/$VMMN/" \
|
||||
> httpd.spec )
|
||||
fi
|
||||
|
||||
exit 0
|
||||
|
Reference in New Issue
Block a user