r1923: *** empty log message ***
[uffi.git] / make-dist.sh
1 #!/bin/bash 
2 # Creates debian and upstream packages
3 # Programmer: Kevin Rosenberg
4
5 set -e # abort on error
6
7 progname="`basename \"$0\"`"
8
9 usage () {
10   cat >&2 <<EOF
11 Usage: $progname [options]
12 Options:
13   -t   Tag CVS tree with versions
14   -h   Print this brief help
15 EOF
16 }
17
18 # Command line
19 while [ $# != 0 ]; do
20     value="`echo x\"$1\" | sed -e 's/^x-.//'`"
21     case "$1" in
22         -h)  usage; exit 0        ;;
23         -t)  opt_tag=1            ;;
24          *)  usage; exit 0        ;;
25     esac
26     shift
27 done
28
29
30 DEBPKG=cl-uffi
31 PKG=uffi
32 TOPDIR=`basename $PWD`
33
34 VERSION=`cat VERSION`
35 DEBVERSION=`sed -n -e "s/${DEBPKG} (\(.*\)).*/\1/p" < debian/changelog  |head -1`
36 PACKAGE_DIR=/usr/local/src/Packages/${DEBPKG}
37 DISTDIR=${PKG}-${VERSION}
38 DEBDIR=${DEBPKG}-${VERSION}
39
40 if [ ! -z ${opt_tag} ]; then
41   DEB_TAG=debian_version_`echo ${DEBVERSION} | tr . _`
42   UPSTREAM_TAG=upstream_version_`echo ${VERSION} | tr . _`
43   echo "(Re-)tagging with Debian tag '${DEB_TAG}'"
44   cvs -q rtag -d ${DEB_TAG} ${PKG} > /dev/null
45   cvs -q tag -F ${DEB_TAG} > /dev/null
46
47   # Retag with upstream tag if release not 0 or 1
48   if [ "`echo ${DEBVERSION} | egrep '\-0$\-1$]'`" != "" ]; then
49     echo "(Re-)tagging with Upstream tag '${UPSTREAM_TAG}'"
50     cvs -q rtag -d $UPSTREAM_TAG $PKG > /dev/null
51     cvs -q tag -F $UPSTREAM_TAG > /dev/null
52   fi
53 fi
54 # Prepare for archive
55 cd ..
56 rm -f ${PKG}_${VERSION}.tar.gz ${DEBPKG}_${VERSION}.orig.tar.gz
57 rm -rf ${DISTDIR} ${DEBDIR} ${DISTDIR}.zip
58 cp -a ${TOPDIR} ${DISTDIR}
59
60 echo "Cleaning distribution directory ${DISTDIR}"
61 rm -f ${DISTDIR}/upload.sh ${DISTDIR}/make-dist.sh
62 rm -f `find ${DISTDIR} -type f -name .cvsignore`
63 rm -rf `find ${DISTDIR} -type d -name CVS`
64 rm -f `find ${DISTDIR} -type f -name '*~' -or -name '#*'  -or -name '#*#'`
65 rm -f `find ${DISTDIR}/doc -type f -name \*.tex -or -name \*.aux -or \
66   -name \*.log -or -name \*.out -or -name \*.dvi`
67
68 echo "Creating upstream archives"
69 rm -rf ${DISTDIR}/debian
70 GZIP=-9 tar czf ${DISTDIR}.tar.gz ${DISTDIR}
71
72 cp -a ${DISTDIR} ${DEBDIR}
73 GZIP=-9 tar czf ${DEBPKG}_${VERSION}.orig.tar.gz ${DEBDIR}
74
75 unix2dos `find ${DISTDIR} -type f -name \*.cl -or -name \*.list -or \
76     -name \*.system -or -name Makefile -or -name ChangeLog -or \
77     -name COPYRIGHT -or -name TODO -or -name README -or -name INSTALL -or \
78     -name NEWS -or -name \*.sgml -or -name COPYING\* -or -name catalog`
79 zip -rq ${DISTDIR}.zip ${DISTDIR}
80
81 cp -a ${TOPDIR}/debian ${DEBDIR}
82 rm -f ${DEBDIR}/debian/.cvsignore 
83 rm -rf ${DEBDIR}/debian/CVS
84
85 rm -rf ${DISTDIR}
86
87 export CVS_BUILDPACKAGE=
88 if [ -z ${CVS_BUILDPACKAGE} ]; then
89   cd ${DEBDIR}
90   echo "Building Debian files"
91   dpkg-buildpackage -rfakeroot -kkevin@rosenberg.net -a
92 fi
93
94 cd ${TOPDIR}
95 rm -rf ${DEBDIR}
96
97 echo "Moving Upstream and Debian Files to ${PACKAGE_DIR}"
98 mkdir -p /usr/local/src/Packages/${DEBPKG}
99 mv ${DEBPKG}_${VERSION}* ${PACKAGE_DIR}
100 mv ${DISTDIR}.zip ${PACKAGE_DIR}
101 mv ${DISTDIR}.tar.gz ${PACKAGE_DIR}
102
103
104 exit 0