Re: [389-devel] Please review: Release Procedures

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Nathan Kinder wrote:
On 11/11/2009 02:15 PM, Rich Megginson wrote:
http://directory.fedoraproject.org/wiki/Release_Procedure

This basically covers versioning and tagging for source and packaging. Comments welcome.
The procedures look good. I fixed a few minor typo type things on the wiki page.

Where does version.sh get called from?
It's called immediately after AC_INIT - can't call it before due to autoconf restrictions (any m4 hackers out there who could help with this?)
Is there any downside to using this file to set the version as opposed to using the AC_INIT macro?
Possibly - see info automake - 15. Rebuilding Makefiles - search for version.sh - but I think in our case, for packages that change often like the ds-base package, it is more helpful than harmful. If only autoconf/automake didn't go out of their way to make it so hard to change the version . . . it's a pain to have to change configure.ac and run autogen.sh every time.
Does PACKAGE_VERSION just get set by version.sh?
Yes, and more (e.g. the branding stuff too - so that we can change the version and brand by simply providing our own VERSION.sh - no more rebranding scripts).

I will be sending out some diffs too, but here is my proposed VERSION.sh for ds-base:
# brand is lower case - used for names that don't appear to end users
# brand is used for file naming - should contain no spaces
brand=389
# capbrand is the properly capitalized brand name that appears to end users
# may contain spaces
capbrand=389
# vendor is the properly formatted vendor/manufacturer name that appears to end users
vendor="389 Project"

# PACKAGE_VERSION is constructed from these
VERSION_MAJOR=1
VERSION_MINOR=2
VERSION_MAINT=5
# if this is a PRERELEASE, set VERSION_PREREL
# otherwise, comment it out
# be sure to include the dot prefix in the prerel
VERSION_PREREL=.a1
# NOTES on VERSION_PREREL
# use aN for an alpha release e.g. a1, a2, etc.
# use rcN for a release candidate e.g. rc1, rc2, etc.
# and this is a pre-release of that
# for extra clarification, the date can be appended to the prerel e.g.
# RC1.`date +%Y%m%d`
# a git commit may also be used

if test -n "$VERSION_PREREL"; then
# if the source is from a git repo, put the last commit
# in the version
# if this is not a git repo, git log will say
#  fatal: Not a git repository
# to stderr and stdout will be empty
# this tells git to print the short commit hash from the last commit
   COMMIT=`cd $srcdir ; git log -1 --pretty=format:%h`
   if test -n "$COMMIT" ; then
       VERSION_PREREL=$VERSION_PREREL.git$COMMIT
   fi
fi

# the real version used throughout configure and make
PACKAGE_VERSION=$VERSION_MAJOR.$VERSION_MINOR.${VERSION_MAINT}$VERSION_PREREL
# the name of the source tarball
PACKAGE_TARNAME=${brand}-ds-base
# url for bug reports
PACKAGE_BUGREPORT="${PACKAGE_BUGREPORT}enter_bug.cgi?product=$brand"


------------------------------------------------------------------------

--
389-devel mailing list
389-devel@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/fedora-directory-devel

------------------------------------------------------------------------

--
389-devel mailing list
389-devel@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/fedora-directory-devel

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

--
389-devel mailing list
389-devel@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/fedora-directory-devel

[Index of Archives]     [Fedora Directory Announce]     [Fedora Users]     [Older Fedora Users Mail]     [Fedora Advisory Board]     [Fedora Security]     [Fedora Devel Java]     [Fedora Desktop]     [ATA RAID]     [Fedora Marketing]     [Fedora Mentors]     [Fedora Package Review]     [Fedora Art]     [Fedora Music]     [Fedora Packaging]     [CentOS]     [Fedora SELinux]     [Big List of Linux Books]     [KDE Users]     [Fedora Art]     [Fedora Docs]

  Powered by Linux