123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115 |
- #!/bin/sh
- set -u
- set -e
- trap onexit INT
- trap onexit TERM
- trap onexit EXIT
- TMPDIR=
- SUDO=
- onexit()
- {
- if [ ! "$TMPDIR" = "" ]; then
- $SUDO rm -rf $TMPDIR
- fi
- }
- uid()
- {
- id | cut -f2 -d = | cut -f1 -d \(;
- }
- safedirmove ()
- {
- if [ "$1" = "$2" ]; then
- return 0
- fi
- if [ "$1" = "" -o ! -d "$1" ]; then
- echo safedirmove: source dir $1 is not valid
- return 1
- fi
- if [ "$2" = "" -o -e "$2" ]; then
- echo safedirmove: dest dir $2 is not valid
- return 1
- fi
- if [ "$3" = "" -o -e "$3" ]; then
- echo safedirmove: tmp dir $3 is not valid
- return 1
- fi
- mkdir -p $3
- mv $1/* $3/
- rmdir $1
- mkdir -p $2
- mv $3/* $2/
- rmdir $3
- return 0
- }
- makedeb()
- {
- SUPPLEMENT=$1
- DIRNAME=$PKGNAME
- if [ $SUPPLEMENT = 1 ]; then
- PKGNAME=$PKGNAME\32
- DEBARCH=amd64
- fi
- umask 022
- rm -f $PKGNAME\_$VERSION\_$DEBARCH.deb
- TMPDIR=`mktemp -d /tmp/$PKGNAME-build.XXXXXX`
- mkdir $TMPDIR/DEBIAN
- if [ $SUPPLEMENT = 1 ]; then
- make install DESTDIR=$TMPDIR
- rm -rf $TMPDIR$BINDIR
- if [ "$DATAROOTDIR" != "$PREFIX" ]; then
- rm -rf $TMPDIR$DATAROOTDIR
- fi
- if [ "$JAVADIR" != "" ]; then
- rm -rf $TMPDIR$JAVADIR
- fi
- rm -rf $TMPDIR$DOCDIR
- rm -rf $TMPDIR$INCLUDEDIR
- rm -rf $TMPDIR$MANDIR
- else
- make install DESTDIR=$TMPDIR
- if [ "$PREFIX" = "@CMAKE_INSTALL_DEFAULT_PREFIX@" -a "$DOCDIR" = "@CMAKE_INSTALL_DEFAULT_PREFIX@/doc" ]; then
- safedirmove $TMPDIR/$DOCDIR $TMPDIR/usr/share/doc/$PKGNAME-$VERSION $TMPDIR/__tmpdoc
- ln -fs /usr/share/doc/$DIRNAME-$VERSION $TMPDIR$DOCDIR
- fi
- fi
- SIZE=`du -s $TMPDIR | cut -f1`
- (cat pkgscripts/deb-control | sed s/{__PKGNAME}/$PKGNAME/g \
- | sed s/{__ARCH}/$DEBARCH/g | sed s/{__SIZE}/$SIZE/g \
- > $TMPDIR/DEBIAN/control)
- /sbin/ldconfig -n $TMPDIR$LIBDIR
- $SUDO chown -Rh root:root $TMPDIR/*
- dpkg -b $TMPDIR $PKGNAME\_$VERSION\_$DEBARCH.deb
- }
- PKGNAME=@PKGNAME@
- VERSION=@VERSION@
- DEBARCH=@DEBARCH@
- PREFIX=@CMAKE_INSTALL_PREFIX@
- BINDIR=@CMAKE_INSTALL_FULL_BINDIR@
- DATAROOTDIR=@CMAKE_INSTALL_FULL_DATAROOTDIR@
- DOCDIR=@CMAKE_INSTALL_FULL_DOCDIR@
- INCLUDEDIR=@CMAKE_INSTALL_FULL_INCLUDEDIR@
- JAVADIR=@CMAKE_INSTALL_FULL_JAVADIR@
- LIBDIR=@CMAKE_INSTALL_FULL_LIBDIR@
- MANDIR=@CMAKE_INSTALL_FULL_MANDIR@
- if [ ! `uid` -eq 0 ]; then
- SUDO=sudo
- fi
- makedeb 0
- if [ "$DEBARCH" = "i386" ]; then makedeb 1; fi
- exit
|