mirror of
https://github.com/etlegacy/etlegacy-libs.git
synced 2025-02-23 20:01:06 +00:00
115 lines
2.2 KiB
Bash
115 lines
2.2 KiB
Bash
#!/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
|