daps/daps-fetch-source
Frank Sundermeyer c23bccfb66 Version 1.0beta2:
* Bugfix:
  Finally found the correct solution for adding/removing catalog
  entries in the spec file
* Enhancement: webhelp suppport

OBS-URL: https://build.opensuse.org/package/show/Documentation:Tools/daps?expand=0&rev=80
2012-03-15 10:17:42 +00:00

86 lines
2.0 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>
#
#set -x
NAME=daps
VERSION=
SPECFILE=${NAME}.spec
SVNPATH=svn://svn.code.sf.net/p/daps/svn/trunk/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 chf ${NAME}-${VERSION}.tar -C ${TMPDIR} \
--exclude-from=$EXCLUDES ${NAME} || exit_on_error "Failed to create the tarball."
tar rhf ${NAME}-${VERSION}.tar -C ${TMPDIR} ${NAME}/suse/xslt \
|| exit_on_error "Failed to add suse/xslt to the tarball."
bzip2 -9f ${NAME}-${VERSION}.tar
echo "Successfully wrote source tarball ${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