1e2eef8ace
- fetch_source now also copies the spec file if needed OBS-URL: https://build.opensuse.org/package/show/Documentation:Tools/daps?expand=0&rev=48
82 lines
1.8 KiB
Bash
82 lines
1.8 KiB
Bash
#!/bin/bash
|
|
#
|
|
#
|
|
# Create DAPS source tarball from SVN
|
|
#
|
|
# Copyright (C) 2004 - 2011 SUSE Linux Products GmbH
|
|
#
|
|
# Author:
|
|
# Frank Sundermeyer <fsundermeyer at opensuse dot org>
|
|
#
|
|
|
|
NAME=daps
|
|
VERSION=
|
|
SPECFILE=${NAME}.spec
|
|
SVNPATH=https://svn.berlios.de/svnroot/repos/opensuse-doc/trunk/tools/daps
|
|
TMPDIR=$(mktemp -q -d --tmpdir daps_XXXXXXXX)
|
|
EXCLUDES=${TMPDIR}/${NAME}/packaging/exclude-files_for_daps_package.txt
|
|
|
|
#----------
|
|
# Functions
|
|
#----------
|
|
|
|
# exit on error
|
|
#
|
|
function exit_on_error {
|
|
echo -e "$1"
|
|
rm -rf $TMPDIR
|
|
exit 1
|
|
}
|
|
#-----
|
|
# MAIN
|
|
#-----
|
|
#
|
|
# This script needs to be called from the daps osc checkout directory, so
|
|
# lets check whethter we are in the correct directory
|
|
#
|
|
if [[ ! -s daps.spec && ! -d .osc ]]; then
|
|
echo "Looks like you are not in the daps checkout directory."
|
|
read -p "Continue anyway (y/n) [n]: " CONT
|
|
if [[ n = $CONT || N = $CONT ]]; then
|
|
exit_on_error "Aborted by user."
|
|
fi
|
|
fi
|
|
|
|
#
|
|
# Export daps from SVN
|
|
#
|
|
svn export -q $SVNPATH ${TMPDIR}/${NAME} || exit_on_error "SVN export failed"
|
|
|
|
#
|
|
# Get the version number
|
|
#
|
|
VERSION=$(egrep "^Version:\s*" ${TMPDIR}/${NAME}/packaging/$SPECFILE | sed 's/^Version:\s*//')
|
|
|
|
if [[ -z $VERSION ]]; then
|
|
exit_on_error "Couldn't get version number from spec-file."
|
|
fi
|
|
|
|
#
|
|
# Create the tarball
|
|
#
|
|
export BZIP2=--best
|
|
tar cjhf ${NAME}-${VERSION}.tar.bz2 -C ${TMPDIR} \
|
|
--exclude-from=$EXCLUDES ${NAME} || exit_on_error "Failed to create the tarball."
|
|
|
|
echo "Successfully created ${NAME}-${VERSION}.tar.bz2"
|
|
|
|
#
|
|
# Copy the spec file if necessary
|
|
#
|
|
diff -q $SPECFILE ${TMPDIR}/${NAME}/packaging/$SPECFILE >/dev/null
|
|
if [[ 0 = $? ]]; then
|
|
echo "spec file is up-to-date"
|
|
else
|
|
cp ${TMPDIR}/${NAME}/packaging/$SPECFILE . || exit_on_error "Failed to copy the specfile."
|
|
echo "Successfully updated the spec file."
|
|
fi
|
|
|
|
rm -rf ${TMPDIR}
|
|
|
|
exit 0
|