r1930: *** empty log message ***
[uffi.git] / make-dist.sh
index 72875c46642e5f342a495df07e99c5ddec724d7f..9e002cd30f60101cc7ee4cbaa3cab5a9c9949d39 100755 (executable)
@@ -1,12 +1,39 @@
 #!/bin/bash 
+#
 # Creates debian and upstream packages
 # Programmer: Kevin Rosenberg
 
-set -e
+set -e # abort on error
+
+progname="`basename \"$0\"`"
+
+usage () {
+  cat >&2 <<EOF
+Usage: $progname [options]
+Options:
+  -t   Tag CVS tree with versions
+  -c   Use cvs-buildpackage
+  -l   Run lintian on package
+  -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               ;;
+        -c)  opt_cvs_buildpackage=1  ;;
+        -l)  opt_lintian=1           ;;
+         *)  usage; exit 0           ;;
+    esac
+    shift
+done
 
 DEBPKG=cl-uffi
 PKG=uffi
-TOPDIR=`basename $PWD`
+TOPDIR=`pwd`
 
 VERSION=`cat VERSION`
 DEBVERSION=`sed -n -e "s/${DEBPKG} (\(.*\)).*/\1/p" < debian/changelog  |head -1`
@@ -14,19 +41,24 @@ 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
+if [ ! -z ${opt_cvs_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
@@ -34,7 +66,7 @@ rm -rf ${DISTDIR} ${DEBDIR} ${DISTDIR}.zip
 cp -a ${TOPDIR} ${DISTDIR}
 
 echo "Cleaning distribution directory ${DISTDIR}"
-rm -f ${DISTDIR}/upload.sh
+rm -f ${DISTDIR}/upload.sh ${DISTDIR}/make-dist.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 '#*#'`
@@ -60,23 +92,31 @@ rm -rf ${DEBDIR}/debian/CVS
 
 rm -rf ${DISTDIR}
 
-export CVS_BUILDPACKAGE=1
-if [ "${CVS_BUILDPACKAGE}" == "" ]; then
+if [ -z ${opt_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 ..
+else
+  cd ${TOPDIR}
+  cvs-buildpackage -rfakeroot -kkevin@rosenberg.net -H${TOPDIR}/cvsbp-prepare -tC -i\*.pdf ${DEBPKG}
   cd ..
 fi
 
+rm -rf ${DEBDIR}
+
 echo "Moving Upstream and Debian Files to ${PACKAGE_DIR}"
-kdir -p /usr/local/src/Packages/${DEBPKG}
+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}
 
+if [ ! -z ${opt_lintian} ]; then
+  pushd ${PACKAGE_DIR} > /dev/null
+  lintian ${DEBPKG}_${DEBVERSION}_*.changes
+  popd > /dev/null
+fi
+
 cd ${TOPDIR}
 
 exit 0