[389-devel] Please review: Release Procedures

Rich Megginson rmeggins at redhat.com
Wed Nov 11 23:05:28 UTC 2009


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 at redhat.com
>> https://www.redhat.com/mailman/listinfo/fedora-directory-devel
>>   
>
> ------------------------------------------------------------------------
>
> --
> 389-devel mailing list
> 389-devel at redhat.com
> https://www.redhat.com/mailman/listinfo/fedora-directory-devel
>   

-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/x-pkcs7-signature
Size: 3258 bytes
Desc: S/MIME Cryptographic Signature
Url : http://lists.fedoraproject.org/pipermail/389-devel/attachments/20091111/bd671a43/attachment.bin 


More information about the 389-devel mailing list