openldap/build/mkrelease
2014-09-29 15:10:36 -07:00

95 lines
1.9 KiB
Bash
Executable File

#! /bin/sh
# $OpenLDAP$
## This work is part of OpenLDAP Software <http://www.openldap.org/>.
##
## Copyright 1998-2014 The OpenLDAP Foundation.
## All rights reserved.
##
## Redistribution and use in source and binary forms, with or without
## modification, are permitted only as authorized by the OpenLDAP
## Public License.
##
## A copy of this license is available in the file LICENSE in the
## top-level directory of the distribution or, alternatively, at
## <http://www.OpenLDAP.org/license.html>.
#
# Make a release
#
#
# This script MUST NOT add files to the export nor modify
# any file in the export, exceptions:
# make guide.html
#
set -e # exit immediately if any errors occur
if test $# != 3 ; then
echo 'usage: mkrelease REPO RELNAME TAG'
exit 1
fi
REPO=$1
shift
RELNAME=openldap-$1
shift
TAG=$1
shift
#Linux
#SHA="sha1sum"
#MD="md5sum"
#BSD
#SHA="sha1"
#MD="md5"
#OpenSSL
SHA="openssl sha1"
MD="openssl md5"
if test -e $RELNAME ; then
echo "error: $RELNAME exists"
exit 1
fi
echo Release: $RELNAME
echo Tag: $TAG
git archive --format=tar --prefix="${RELNAME}/" --remote="${REPO}" "$TAG" | tar xvf -
if test ! -d $RELNAME ; then
echo "error: $RELNAME doesn't exists"
exit 1
fi
if test -e $RELNAME/doc/guide/admin/guide.sdf ; then
echo "build guide..."
( cd $RELNAME/doc/guide/admin ; make guide.html )
else
echo "No guide"
fi
if test -e $RELNAME/libraries/liblunicode/ucdata/uctable.h ; then
echo "touching uctable.h..."
touch $RELNAME/libraries/liblunicode/ucdata/uctable.h
fi
if test ! -e $RELNAME/build/version.sh ; then
echo "No build version"
OL_STRING="something"
else
eval `$RELNAME/build/version.sh`
fi
echo "Rolling up $OL_STRING ..."
tar cf $RELNAME.tar $RELNAME
gzip -9 -c $RELNAME.tar > $RELNAME.tgz
${MD} $RELNAME.tgz > $RELNAME.md5
${SHA} $RELNAME.tgz > $RELNAME.sha1
rm -f $RELNAME.tar
ls -l $RELNAME.*
echo "Made $OL_STRING as $RELNAME.tgz"