3 # Creates upstream packages
4 # Programmer: Kevin Rosenberg
6 set -e # abort on error
9 progname="`basename \"$0\"`"
12 Usage: $progname [options]
13 Creates upstream archives
15 -t Tag CVS tree with current version numbers
16 -h Print this brief help
22 value="`echo x\"$1\" | sed -e 's/^x-.//'`"
35 VERSION=`sed -n -e "s/${DEBPKG} (\(.*\)-[0-9.]).*/\1/p" < debian/changelog |head -1`
37 PACKAGE_DIR=/usr/local/src/Packages/${DEBPKG}
38 DISTDIR=${PKG}-${VERSION}
39 DEBDIR=${DEBPKG}-${VERSION}
41 if [ -f ${PACKAGE_DIR}/${DEBPKG}_${VERSION}.orig.tar.gz ]; then
42 echo "File ${PACKAGE_DIR}/${DEBPKG}_${VERSION}.orig.tar.gz already exists."
43 echo -n "Are you sure that you want to create a new upstream archive? (y/N): "
47 *) echo "Not building"
53 if [ ! -z ${opt_tag} ]; then
54 UPSTREAM_TAG=upstream_version_`echo ${VERSION} | tr . _`
55 echo "(Re-)tagging with Upstream tag '${UPSTREAM_TAG}'"
56 cvs -q rtag -d $UPSTREAM_TAG $PKG > /dev/null
57 cvs -q tag -F $UPSTREAM_TAG > /dev/null
60 if [ ! -f docs/${PKG}.htb -o ! -f docs/html/${PKG}_contents.html -o ! -f docs/${PKG}.pdf ]; then
61 echo "Making documentation"
67 rm -f ${PKG}_${VERSION}.tar.gz ${DEBPKG}_${VERSION}.orig.tar.gz
68 rm -rf ${DISTDIR} ${DEBDIR} ${DISTDIR}.zip
69 cp -a ${TOPDIR} ${DISTDIR}
71 echo "Cleaning distribution directory ${DISTDIR}"
73 rm -f upload.sh make-debian.sh make-upstream.sh cvsbp-prepare.sh make-doc.sh
74 rm -f `find . -type f -name .cvsignore`
75 rm -rf `find . -type d -name CVS -or -name .deps`
76 rm -f `find . -type f -name '*~' -or -name '.#*' -or -name '#*#' -or -name ".*~" -or -name "*.o" -or -name "*.a"`
77 rm -f `find doc -type f -name \*.tex -or -name \*.aux -or \
78 -name \*.log -or -name \*.out -or -name \*.dvi`
79 rm -rf images doc stamp-h.in build-stamp stamp-h configure-stamp autom4te.cache do-autoconf config.log config.status config.h
82 echo "Creating upstream archives"
83 rm -rf ${DISTDIR}/debian
84 GZIP=-9 tar czf ${DISTDIR}.tar.gz ${DISTDIR}
86 if [ "${DISTDIR}" != "${DEBDIR}" ]; then
87 cp -a ${DISTDIR} ${DEBDIR}
89 cp -a ${DISTDIR} ${DEBDIR}-copy
92 unix2dos `find ${DISTDIR} -type f -and -name '*.c' -or -name '*.h' -or \
93 -name '*.cpp' -or -name '*.sh' -or -name '*.in' -or \
94 -name 'Makefile*' -or -name ChangeLog -or -name COPYRIGHT -or -name TODO -or \
95 -name README -or -name INSTALL -or -name NEWS -or -name '*.tex' -or \
96 -name '*.hhc' -or -name '*.hhk' -or -name '*.hpj' -or -name '*.ini' -or \
97 -name COPYING* -or -name catalog`
98 zip -rq ${DISTDIR}.zip ${DISTDIR}
101 if [ "${DISTDIR}" == "${DEBDIR}" ]; then
102 mv ${DEBDIR}-copy ${DEBDIR}
104 GZIP=-9 tar czf ${DEBPKG}_${VERSION}.orig.tar.gz ${DEBDIR}
106 cp -a ${TOPDIR}/debian ${DEBDIR}
107 rm -f ${DEBDIR}/debian/.cvsignore
108 rm -rf ${DEBDIR}/debian/CVS
112 echo "Moving upstream archives to ${PACKAGE_DIR}"
113 mkdir -p /usr/local/src/Packages/${DEBPKG}
114 rm -f ${PACKAGE_DIR}/${DISTDIR}.zip ${PACKAGE_DIR}/${DEBPKG}_${VERSION}.orig.tar.gz
115 mv ${DISTDIR}.zip ${DEBPKG}_${VERSION}.orig.tar.gz ${DISTDIR}.tar.gz ${PACKAGE_DIR}