-#!/bin/bash
-#
-# Creates debian and upstream packages
-# Programmer: Kevin Rosenberg
-
-set -e # abort on error
-
-progname="`basename \"$0\"`"
-
-usage () {
- cat >&2 <<EOF
-Usage: $progname [options]
-Options:
- -t Tag CVS tree with current version numbers
- -d Use dpkg-buildpackage rather than default cvs-buildpackage
- -l Run lintian after building
- -h Print this brief help
-EOF
-}
-
-# Command line
-while [ $# != 0 ]; do
- value="`echo x\"$1\" | sed -e 's/^x-.//'`"
- case "$1" in
- -h) usage; exit 0 ;;
- -t) opt_tag=1 ;;
- -d) opt_dpkg_buildpackage=1 ;;
- -l) opt_lintian=1 ;;
- *) usage; exit 0 ;;
- esac
- shift
-done
-
-DEBPKG=cl-uffi
-PKG=uffi
-TOPDIR=`pwd`
-
-VERSION=`sed -n -e "s/${DEBPKG} (\(.*\)-[0-9]).*/\1/p" < debian/changelog |head -1`
-DEBVERSION=`sed -n -e "s/${DEBPKG} (\(.*\)).*/\1/p" < debian/changelog |head -1`
-PACKAGE_DIR=/usr/local/src/Packages/${DEBPKG}
-DISTDIR=${PKG}-${VERSION}
-DEBDIR=${DEBPKG}-${VERSION}
-
-if [ -z ${opt_dpkg_buildpackage} ]; then
- export CVSROOT=`cat CVS/Root`
-fi
-
-if [ ! -z ${opt_tag} ]; then
- DEB_TAG=debian_version_`echo ${DEBVERSION} | tr . _`
- UPSTREAM_TAG=upstream_version_`echo ${VERSION} | tr . _`
- echo "(Re-)tagging with Debian tag '${DEB_TAG}'"
- cvs -q rtag -d ${DEB_TAG} ${PKG} > /dev/null
- cvs -q tag -F ${DEB_TAG} > /dev/null
-
- # Retag with upstream tag if release not 0 or 1
- if [ "`echo ${DEBVERSION} | egrep '\-0$\-1$]'`" != "" ]; then
- echo "(Re-)tagging with Upstream tag '${UPSTREAM_TAG}'"
- cvs -q rtag -d $UPSTREAM_TAG $PKG > /dev/null
- cvs -q tag -F $UPSTREAM_TAG > /dev/null
- fi
-fi
-# Prepare for archive
-cd ..
-rm -f ${PKG}_${VERSION}.tar.gz ${DEBPKG}_${VERSION}.orig.tar.gz
-rm -rf ${DISTDIR} ${DEBDIR} ${DISTDIR}.zip
-cp -a ${TOPDIR} ${DISTDIR}
-
-echo "Cleaning distribution directory ${DISTDIR}"
-rm -f ${DISTDIR}/upload.sh ${DISTDIR}/make-dist.sh ${DISTDIR}/cvsbp-prepare
-rm -f `find ${DISTDIR} -type f -name .cvsignore`
-rm -rf `find ${DISTDIR} -type d -name CVS`
-rm -f `find ${DISTDIR} -type f -name '*~' -or -name '#*' -or -name '#*#' -or -name '.#*'`
-rm -f `find ${DISTDIR}/doc -type f -name \*.tex -or -name \*.aux -or \
- -name \*.log -or -name \*.out -or -name \*.dvi`
-
-echo "Creating upstream archives"
-rm -rf ${DISTDIR}/debian
-GZIP=-9 tar czf ${DISTDIR}.tar.gz ${DISTDIR}
-
-cp -a ${DISTDIR} ${DEBDIR}
-GZIP=-9 tar czf ${DEBPKG}_${VERSION}.orig.tar.gz ${DEBDIR}
-
-unix2dos `find ${DISTDIR} -type f -name \*.cl -or -name \*.list -or \
- -name \*.system -or -name Makefile -or -name ChangeLog -or \
- -name COPYRIGHT -or -name TODO -or -name README -or -name INSTALL -or \
- -name NEWS -or -name \*.sgml -or -name COPYING\* -or -name catalog`
-zip -rq ${DISTDIR}.zip ${DISTDIR}
-
-cp -a ${TOPDIR}/debian ${DEBDIR}
-rm -f ${DEBDIR}/debian/.cvsignore
-rm -rf ${DEBDIR}/debian/CVS
-
-rm -rf ${DISTDIR}
-
-echo "Moving upstream archives to ${PACKAGE_DIR}"
-mkdir -p /usr/local/src/Packages/${DEBPKG}
-rm -f ${PACKAGE_DIR}/${DISTDIR}.zip ${PACKAGE_DIR}/${DEBPKG}_${VERSION}.orig.tar.gz
-mv ${DISTDIR}.zip ${DEBPKG}_${VERSION}.orig.tar.gz ${DISTDIR}.tar.gz ${PACKAGE_DIR}
-
-echo "Building Debian files"
-if [ -z ${opt_dpkg_buildpackage} ]; then
- cd ${TOPDIR}
- cvs-buildpackage -rfakeroot -kkevin@rosenberg.net -H${TOPDIR}/cvsbp-prepare -tC -i.pdf -sa ${DEBPKG}
- cd ..
-else
- cd ${DEBDIR}
- dpkg-buildpackage -rfakeroot -kkevin@rosenberg.net -a -sa
- mv ${DEBPKG}_${VERSION}* ${PACKAGE_DIR}
- cd ..
-fi
-rm -rf ${DEBDIR}
-
-if [ ! -z ${opt_lintian} ]; then
- pushd ${PACKAGE_DIR} > /dev/null
- lintian ${DEBPKG}_${DEBVERSION}_*.changes
- popd > /dev/null
-fi
-
-cd ${TOPDIR}
-
-exit 0