1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-25 23:21:54 +03:00
samba-mirror/release-scripts/create-tarball
Gerald W. Carter 742fb9a620 Adding basic script to help in the creation of tarballs for release.
Developers can use this to create tarballs for testing or general
purpose QA.

   Usage: release-scripts/create-tarball

The script will prompt for information as necessary.
(This used to be commit 1df8f98602)
2008-01-15 16:53:26 -06:00

86 lines
1.9 KiB
Bash
Executable File

#!/bin/bash
TOPDIR="`dirname $0`/.."
cd $TOPDIR
echo -n "Please enter branch to cut tarball from: "
read branch
if [ "x$branch" = "x" ]; then
echo "You must enter a name! Exiting...."
exit 1
fi
git-checkout $branch
if [ $? -ne 0 ]; then
echo "Invalid branch name! Exiting...."
exit 2
fi
VER_H=source/include/version.h
(cd source && ./autogen.sh)
if [ ! -f $VER_H ]; then
echo "Failed to find $VER_H! Exiting...."
exit 1
fi
version=`grep SAMBA_VERSION_OFFICIAL_STRING $VER_H | awk '{print $3}'`
version="$version-`grep SAMBA_VERSION_VENDOR_SUFFIX $VER_H | awk '{print $3}'`"
version=`echo $version | sed 's/\"//g'`
echo "Creating release tarball for Samba $version"
/bin/rm -rf ../samba-${version}
git-archive --format=tar --prefix=samba-${version}/ HEAD | (cd .. && tar xf -)
pushd ../samba-${version}
echo "Enter the absolute path to the generated Samba docs directory."
echo -n "Just hit return to exclude the docs from the generate tarball: "
read docsdir
if [ "x$docsdir" != "x" ]; then
if [ ! -d "$docsdir" ]; then
echo "$docsdir does not exist! Exiting...."
exit 1
fi
/bin/rm -rf docs
mkdir docs
rsync -a $docsdir/ docs/
cd docs
/bin/rm -rf test.pdf Samba4*pdf htmldocs/Samba4* htmldocs/test
/bin/mv manpages-3 manpages
/bin/mv htmldocs/manpages-3 htmldocs/manpages
cd ..
fi
cd ..
tar cf samba-${version}.tar --exclude=.git* --exclude=CVS --exclude=.svn samba-${version}
gpg --detach-sign --armor samba-${version}.tar
gzip -9 samba-${version}.tar
popd
echo -n "Enter tag name (or hit <enter> to skip): "
read tagname
if [ "x$tagname" != "x" ]; then
if [ "x`git-tag -l $tagname`" != "x" ]; then
echo -n "Tag exists. Do you wish to overwrite? (y/N): "
read answer
if [ "x$answer" != "xy" ]; then
echo "Tag creation aborted."
exit 1
fi
fi
git-tag -s ${tagname}
fi
echo "Done!"
exit 0