-#!/bin/sh
+#!/bin/bash
+# Creates debian and upstream packages
+# Programmer: Kevin Rosenberg
set -e
-VERSION=`cat VERSION`
DEBPKG=cl-uffi
PKG=uffi
TOPDIR=`basename $PWD`
+
+VERSION=`cat VERSION`
+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}
+
+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
+
+# 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
+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 '#*#'`
+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}
+
+export CVS_BUILDPACKAGE=1
+if [ "${CVS_BUILDPACKAGE}" == "" ]; then
+ cd ${DEBDIR}
+ echo "Building Debian files"
+ dpkg-buildpackage -rfakeroot -kkevin@rosenberg.net -a
+ echo "Checking Debian Files"
+ lintian ${DEBPKG}_${VERSION}-*.changes
+ cd ..
+fi
+
+echo "Moving Upstream and Debian Files to ${PACKAGE_DIR}"
+mkdir -p /usr/local/src/Packages/${DEBPKG}
+mv ${DEBPKG}_${VERSION}* ${PACKAGE_DIR}
+rm -rf ${DEBDIR}
+mv ${DISTDIR}.zip ${PACKAGE_DIR}
+mv ${DISTDIR}.tar.gz ${PACKAGE_DIR}
-# first we clean everything up
-echo "cleaning $PKG up for packaging"
-make distclean
-
-TAG=upstream_version_`echo $VERSION | tr . _`
-echo "(re)tagging with release tag '$TAG'"
-cvs -q rtag -d $TAG $PKG
-cvs -q tag -F $TAG
-
-
-# build the tarball
-echo "building tarballs"
-( cd ..
- rm -f ${PKG}_${VERSION}.tar.gz ${DEBPKG}_${VERSION}.orig.tar.gz
- rm -rf ${DISTDIR} ${DEBPKG}-${VERSION} ${DISTDIR}.zip
- cp -a ${TOPDIR} ${DISTDIR}
- find $(PKG}-${VERSION} -type f -name .cvsignore -exec rm {} \;
- find $(PKG)-${VERSION}/doc -type f -name \*.tex -or -name \*.aux -or \
- -name \*.log -or -name \*.out -or -name \*.dvi -or \
- -name \*~ -exec rm {} \;
- cp -a ${DISTDIR} ${DEBPKG}-${VERSION}
- rm -rf ${DISTDIR}/debian
- GZIP=-9 tar czf ${DISTDIR}.tar.gz ${DISTDIR}
-
- find ${DISTDIR} -type f -and -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 \
- | xargs unix2dos
- @zip -rq ${DISTDIR}.zip ${DISTDIR}
- rm -rf ${DISTDIR}
-)
+cd ${TOPDIR}
exit 0