1
0
mirror of git://git.gnupg.org/gnupg.git synced 2024-12-22 10:19:57 +01:00

Switch to the new automagic beta numbering scheme.

* configure.ac: Add all the require m4 magic.
--

This also removes the hack to allow custom version numbers which are
not considered a development version.  A custom version number can be
done anyway by simply setting the version to it and tag the release
with it.
This commit is contained in:
Werner Koch 2012-05-11 10:20:29 +02:00
parent b4d9f8dbc8
commit 68777b40dc
2 changed files with 28 additions and 36 deletions

View File

@ -34,12 +34,14 @@ Release process:
* Write NEWS entries and set the release date in NEWS. * Write NEWS entries and set the release date in NEWS.
* In configure.ac set "my_isgit" to "no". * [1.4 and 2.0] In configure.ac set "my_isgit" to "no".
* Commit all changes to GIT with a message of "Release n.m.o." * Commit all changes to GIT with a message of "Release n.m.o."
* Tag the revision with the string "gnupg-x.y.z".
* Run "./autogen.sh --force" * Run "./autogen.sh --force"
(--force is required for the svn magic in configure.ac and a good (--force is required for the git magic in configure.ac and a good
idea in any case) idea in any case)
* Run "configure --enable-maintainer-mode". * Run "configure --enable-maintainer-mode".
@ -58,8 +60,7 @@ Release process:
You might need to set a different signature key than mine. mkdiff You might need to set a different signature key than mine. mkdiff
has an option for this. has an option for this.
* If you are satisfied with the result commit a tag for the release * Push the git changes and the tag.
and push the changes.
* Copy the files to the FTP server * Copy the files to the FTP server

View File

@ -21,24 +21,27 @@
AC_PREREQ(2.61) AC_PREREQ(2.61)
min_automake_version="1.10" min_automake_version="1.10"
# Remember to change the version number immediately *after* a release. # To build a release you need to create a tag with the version number
# Set my_issvn to "yes" for non-released code. Remember to run an # (git tag -s gnupg-2.n.m) and run "./autogen.sh --force". Please
# "svn up" and "autogen.sh" right before creating a distribution. # bump the version number immediately *after* the release and do
m4_define([my_version], [2.1.0]) # another commit and push so that the git magic is able to work.
m4_define([my_issvn], [yes]) m4_define([mym4_version], [2.1.0])
m4_define([svn_revision], m4_esyscmd([printf "%d" $(svn info 2>/dev/null \ # Below is m4 magic to extract and compute the git revision number,
| sed -n '/^Revision:/ s/[^0-9]//gp'|head -1)])) # the decimalized short revision number, a beta version string and a
m4_define([git_revision], m4_esyscmd([git branch -v 2>/dev/null \ # flag indicating a development version (mym4_isgit). Note that the
# m4 processing is done by autoconf and not during the configure run.
m4_define([mym4_revision], m4_esyscmd([git branch -v 2>/dev/null \
| awk '/^\* / {printf "%s",$3}'])) | awk '/^\* / {printf "%s",$3}']))
m4_define([my_full_version], [my_version[]m4_if(my_issvn,[yes], m4_define([mym4_revision_dec],
[m4_if(git_revision,[],[-svn[]svn_revision],[-git[]git_revision])])]) m4_esyscmd_s([echo $((0x$(echo ]mym4_revision[|head -c 4)))]))
m4_define([mym4_betastring],
m4_esyscmd_s([git describe --match 'gnupg-2.[0-9].*[0-9]' --long|\
awk -F- '$3!=0{print"-beta"$3}']))
m4_define([mym4_isgit],m4_if(mym4_betastring,[],[no],[yes]))
m4_define([mym4_full_version],[mym4_version[]mym4_betastring])
AC_INIT([gnupg],[my_full_version], [http://bugs.gnupg.org]) AC_INIT([gnupg],[mym4_full_version], [http://bugs.gnupg.org])
# Set development_version to yes if the minor number is odd or you
# feel that the default check for a development version is not
# sufficient.
development_version=no
NEED_GPG_ERROR_VERSION=1.10 NEED_GPG_ERROR_VERSION=1.10
@ -52,9 +55,10 @@ NEED_KSBA_API=1
NEED_KSBA_VERSION=1.2.0 NEED_KSBA_VERSION=1.2.0
NEED_NPTH_API=1 NEED_NPTH_API=1
NEED_NPTH_VERSION=0.0 NEED_NPTH_VERSION=0.91
development_version=mym4_isgit
PACKAGE=$PACKAGE_NAME PACKAGE=$PACKAGE_NAME
PACKAGE_GT=${PACKAGE_NAME}2 PACKAGE_GT=${PACKAGE_NAME}2
VERSION=$PACKAGE_VERSION VERSION=$PACKAGE_VERSION
@ -1387,19 +1391,7 @@ AC_SUBST(ZLIBS)
# Check for readline support # Check for readline support
GNUPG_CHECK_READLINE GNUPG_CHECK_READLINE
#
# Allow users to append something to the version string without
# flagging it as development version. The user version parts is
# considered everything after a dash.
#
if test "$development_version" != yes; then
changequote(,)dnl
tmp_pat='[a-zA-Z]'
changequote([,])dnl
if echo "$VERSION" | sed 's/-.*//' | grep "$tmp_pat" >/dev/null ; then
development_version=yes
fi
fi
if test "$development_version" = yes; then if test "$development_version" = yes; then
AC_DEFINE(IS_DEVELOPMENT_VERSION,1, AC_DEFINE(IS_DEVELOPMENT_VERSION,1,
[Defined if this is not a regular release]) [Defined if this is not a regular release])
@ -1637,9 +1629,7 @@ if test "$have_npth" = "no"; then
*** New Portable Threads Library (nPth). Please install this *** New Portable Threads Library (nPth). Please install this
*** library first. The library is for example available at *** library first. The library is for example available at
*** ftp://ftp.gnupg.org/gcrypt/npth/ *** ftp://ftp.gnupg.org/gcrypt/npth/
*** (at least version $NEED_NPTH_VERSION (API $NEED_NPTH_API) is requi *** (at least version $NEED_NPTH_VERSION (API $NEED_NPTH_API) is required).
*** On a Debian GNU/Linux system you can install it using
*** apt-get install libnpth-dev
***]]) ***]])
fi fi
@ -1684,6 +1674,7 @@ AC_OUTPUT
echo " echo "
GnuPG v${VERSION} has been configured as follows: GnuPG v${VERSION} has been configured as follows:
Revision: mym4_revision (mym4_revision_dec)
Platform: $PRINTABLE_OS_NAME ($host) Platform: $PRINTABLE_OS_NAME ($host)
OpenPGP: $build_gpg OpenPGP: $build_gpg