ca36845277eede52d23e62a69ab8947b55236a96
[ctsim.git] / debian / make-upstream.sh
1 #!/bin/bash 
2 #
3 # Creates upstream packages
4 # Programmer: Kevin Rosenberg
5
6 set -e # abort on error
7
8 DEBPKG=ctsim
9 PKG=ctsim
10
11 WORK_HOME=/usr/local/src/Work
12 PACKAGE_DIR=/usr/local/src/Packages/${DEBPKG}
13 WORK_DIR=${WORK_HOME}/${PKG}
14 CHANGELOG=${WORK_DIR}/debian/changelog
15 VERSION=`sed -n -e "s/${DEBPKG} (\(.*\)-[0-9.]).*/\1/p" < ${CHANGELOG} |head -1`
16 DEBVERSION=`sed -n -e "s/${DEBPKG} (\(.*\)).*/\1/p" < ${CHANGELOG} |head -1`
17
18 DISTDIR=${PKG}-${VERSION}
19 DEBDIR=${DEBPKG}-${VERSION}
20
21 cvs commit -m "Autocommitting for ${VERSION}"
22
23 if [ -f ${PACKAGE_DIR}/${DEBPKG}_${VERSION}.orig.tar.gz ]; then
24   echo "File ${PACKAGE_DIR}/${DEBPKG}_${VERSION}.orig.tar.gz already exists."
25   echo -n "Are you sure that you want to create a new upstream archive? (y/N): "
26   read answer
27   case $answer in
28       [Yy]*) nop= ;;
29       *) echo "Not building"
30          exit 1
31           ;;
32   esac
33 fi
34
35
36 if [ ! -f docs/${PKG}.htb -o ! -f docs/html/${PKG}_contents.html -o ! -f docs/${PKG}.pdf ]; then
37   echo "Making documentation"
38   ${WORK_DIR}/make-doc.sh
39 fi
40
41 # Prepare for archive
42 rm -f ${PKG}_${VERSION}.tar.gz ${DEBPKG}_${VERSION}.orig.tar.gz
43 rm -rf ${DISTDIR} ${DEBDIR} ${DISTDIR}.zip
44 cp -a ${WORK_DIR} ${DISTDIR}
45
46 echo "Cleaning distribution directory ${DISTDIR}"
47 cd ${DISTDIR}
48 make distclean
49 rm -f make-doc.sh 
50 rm -f `find . -type f -name .cvsignore`
51 rm -rf `find . -type d -name CVS -or -name .deps`
52 rm -f `find . -type f -name '*~' -or -name '.#*'  -or -name '#*#' -or -name ".*~" -or -name "*.o" -or -name "*.a"`
53 rm -f `find doc -type f -name \*.tex -or -name \*.aux -or \
54   -name \*.log -or -name \*.out -or -name \*.dvi`
55 rm -rf images doc stamp-h.in build-stamp stamp-h configure-stamp autom4te.cache do-autoconf config.log config.status config.h
56 cd ..
57
58 echo "Creating upstream archives"
59 rm -rf ${DISTDIR}/debian
60 GZIP=-9 tar czf ${DISTDIR}.tar.gz ${DISTDIR}
61
62 if [ "${DISTDIR}" != "${DEBDIR}" ]; then 
63   cp -a ${DISTDIR} ${DEBDIR}
64 else
65   cp -a ${DISTDIR} ${DEBDIR}-copy
66 fi
67
68 unix2dos `find ${DISTDIR} -type f -and -name '*.c' -or -name '*.h' -or \
69   -name '*.cpp' -or -name '*.sh' -or -name '*.in' -or \
70   -name 'Makefile*' -or -name ChangeLog -or -name COPYRIGHT -or -name TODO -or \
71   -name README -or -name INSTALL -or -name NEWS -or -name '*.tex' -or \
72   -name '*.hhc' -or -name '*.hhk' -or -name '*.hpj' -or -name '*.ini' -or \
73   -name COPYING* -or -name catalog` 
74 zip -rq ${DISTDIR}.zip ${DISTDIR}
75 rm -r ${DISTDIR}
76
77 if [ "${DISTDIR}" == "${DEBDIR}" ]; then 
78   mv ${DEBDIR}-copy ${DEBDIR}
79 fi
80 GZIP=-9 tar czf ${DEBPKG}_${VERSION}.orig.tar.gz ${DEBDIR}
81
82 cp -a ${WORK_DIR}/debian ${DEBDIR}
83 rm -f ${DEBDIR}/debian/.cvsignore 
84 rm -rf ${DEBDIR}/debian/CVS
85
86 rm -rf ${DEBDIR}
87
88 echo "Moving upstream archives to ${PACKAGE_DIR}"
89 mkdir -p /usr/local/src/Packages/${DEBPKG}
90 rm -f ${PACKAGE_DIR}/${DISTDIR}.zip ${PACKAGE_DIR}/${DEBPKG}_${VERSION}.orig.tar.gz
91 mv ${DISTDIR}.zip ${DEBPKG}_${VERSION}.orig.tar.gz ${DISTDIR}.tar.gz ${PACKAGE_DIR}
92
93 exit 0