makedpkg.in 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. #!/bin/sh
  2. set -u
  3. set -e
  4. trap onexit INT
  5. trap onexit TERM
  6. trap onexit EXIT
  7. TMPDIR=
  8. SUDO=
  9. onexit()
  10. {
  11. if [ ! "$TMPDIR" = "" ]; then
  12. $SUDO rm -rf $TMPDIR
  13. fi
  14. }
  15. uid()
  16. {
  17. id | cut -f2 -d = | cut -f1 -d \(;
  18. }
  19. makedeb()
  20. {
  21. SUPPLEMENT=$1
  22. DIRNAME=$PACKAGE_NAME
  23. if [ $SUPPLEMENT = 1 ]; then
  24. PACKAGE_NAME=$PACKAGE_NAME\32
  25. DEBARCH=amd64
  26. fi
  27. umask 022
  28. rm -f $PACKAGE_NAME\_$VERSION\_$DEBARCH.deb
  29. TMPDIR=`mktemp -d /tmp/$PACKAGE_NAME-build.XXXXXX`
  30. mkdir $TMPDIR/DEBIAN
  31. if [ $SUPPLEMENT = 1 ]; then
  32. make install DESTDIR=$TMPDIR bindir=/dummy/bin datadir=/dummy/data \
  33. docdir=/dummy/doc includedir=/dummy/include mandir=/dummy/man
  34. rm -f $TMPDIR$LIBDIR/*.la
  35. rm -rf $TMPDIR/dummy
  36. else
  37. make install DESTDIR=$TMPDIR docdir=/usr/share/doc/$DIRNAME-$VERSION \
  38. exampledir=/usr/share/doc/$DIRNAME-$VERSION
  39. rm -f $TMPDIR$LIBDIR/*.la
  40. if [ "$PREFIX" = "/opt/libjpeg-turbo" -a "$DOCDIR" = "/opt/libjpeg-turbo/doc" ]; then
  41. ln -fs /usr/share/doc/$DIRNAME-$VERSION $TMPDIR$DOCDIR
  42. fi
  43. fi
  44. SIZE=`du -s $TMPDIR | cut -f1`
  45. (cat $SRCDIR/release/deb-control.tmpl | sed s/{__PKGNAME}/$PACKAGE_NAME/g \
  46. | sed s/{__VERSION}/$VERSION/g | sed s/{__BUILD}/$BUILD/g \
  47. | sed s/{__ARCH}/$DEBARCH/g | sed s/{__SIZE}/$SIZE/g \
  48. > $TMPDIR/DEBIAN/control)
  49. /sbin/ldconfig -n $TMPDIR$LIBDIR
  50. $SUDO chown -Rh root:root $TMPDIR/*
  51. dpkg -b $TMPDIR $PACKAGE_NAME\_$VERSION\_$DEBARCH.deb
  52. }
  53. PACKAGE_NAME=@PKGNAME@
  54. VERSION=@VERSION@
  55. BUILD=@BUILD@
  56. DEBARCH=@DEBARCH@
  57. SRCDIR=@abs_top_srcdir@
  58. PREFIX=%{__prefix}
  59. DOCDIR=%{__docdir}
  60. LIBDIR=%{__libdir}
  61. if [ ! `uid` -eq 0 ]; then
  62. SUDO=sudo
  63. fi
  64. makedeb 0
  65. if [ "$DEBARCH" = "i386" ]; then makedeb 1; fi
  66. exit