Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on Aug 2nd, 2010  |  syntax: Bash  |  size: 3.31 KB  |  hits: 94  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. --8<-- PKGBUILD --8<--
  2. # Contributor: Roberto Alsina <ralsina at kde.org>
  3. # Contributor: Kurt J. Bosch <kjb-temp-2009 at alpenjodel.de>
  4.  
  5. pkgname=nullmailer
  6. pkgver=1.05
  7. pkgrel=4.1
  8. pkgdesc="a sendmail/qmail/etc replacement MTA for hosts which relay to a fixed set of smart relays."
  9. arch=('i686' 'x86_64')
  10. url="http://www.untroubled.org/nullmailer/"
  11. license=("GPL")
  12. depends=('gcc-libs')
  13. backup=()
  14. options=()
  15. install=nullmailer.install
  16. changelog=nullmailer.changelog
  17. source=(http://www.untroubled.org/nullmailer/$pkgname-$pkgver.tar.gz \
  18.         nullmailer.daemon )
  19. md5sums=('35124cc05f893efba1310e2ec7c876ff'
  20.          'a2f1fc46b80aedcc5d7eb3b80957d880')
  21.  
  22. build() {
  23.   cd $srcdir/$pkgname-$pkgver
  24.   ./configure --prefix=/usr --libexecdir=/usr/lib \
  25.               --sysconfdir=/etc --localstatedir=/var
  26.   make || return 1
  27.   make DESTDIR=$pkgdir install || return 1
  28.  
  29.   install -D -m 0755 ../nullmailer.daemon $pkgdir/etc/rc.d/nullmailer || return 1
  30.  
  31.   # remove pipe and create on install to work around makepkg hang on grep -R
  32.   rm $pkgdir/var/nullmailer/trigger
  33. }
  34.  
  35. --8<-- nullmailer.changelog --8<--
  36. 2009-08-02 Kurt J. Bosch <kjb-temp-2009 at alpenjodel.de>
  37.  
  38.         * 1.05-4.1 :
  39.         dropped runit depend
  40.         added daemon script
  41.         fixed arch
  42.         remove pipe and create on install to work around makepkg hang on grep -R
  43.         use relative paths in install
  44.         added ChangeLog.
  45.  
  46. --8<-- nullmailer.daemon --8<--
  47. #!/bin/bash
  48.  
  49. # /etc/rc.d/nullmailer
  50. #
  51.  
  52. . /etc/rc.conf
  53. . /etc/rc.d/functions
  54.  
  55. DAEMON=/usr/sbin/nullmailer-send
  56. PID=$( pidof -o %PPID -x $DAEMON )
  57. case "$1"
  58. in start )
  59.         stat_busy "Starting Nullmailer daemon"
  60.         if [[ -x $DAEMON && -z $PID ]] &&
  61.                 /bin/su -c "$DAEMON >/dev/null 2>&1 &" - nullmail
  62.         then
  63.                 add_daemon "${0##*/}"
  64.                 stat_done
  65.         else
  66.                 stat_fail
  67.         fi
  68. ;; stop )
  69.         stat_busy "Stopping Nullmailer daemon"
  70.         if [[ $PID ]] &&
  71.                 kill $PID
  72.         then
  73.                 rm_daemon "${0##*/}"
  74.                 stat_done
  75.         else
  76.                 stat_fail
  77.         fi
  78. ;; restart )
  79.         $0 stop
  80.         sleep 1
  81.         $0 start
  82. esac
  83.  
  84. --8<-- nullmailer.install --8<--
  85. # arg 1: the new package version
  86. post_install() {
  87.         if ! getent passwd nullmail > /dev/null; then
  88.                 echo "==> Creating nullmail user"
  89.                 usr/sbin/useradd -c "Nullmail mail server" -s /bin/sh -d /var/nullmailer -r -U nullmail
  90.         fi
  91.         echo "==> Creating trigger fifo"
  92.         rm -f var/nullmailer/trigger && mkfifo -m 600 var/nullmailer/trigger
  93.         echo "==> Fixing permissions"
  94.         chown nullmail var/nullmailer/*
  95.         chown nullmail usr/sbin/nullmailer-queue
  96.         chmod u+s      usr/sbin/nullmailer-queue
  97.         chown nullmail usr/bin/mailq
  98.         chmod u+s      usr/bin/mailq
  99.         if ! [ -s etc/nullmailer/me ]; then
  100.                 echo "==> Configuring"
  101.                 bin/hostname > etc/nullmailer/me
  102.         fi
  103.         if ! [ -s etc/nullmailer/remotes ]; then
  104.                 {
  105.                         echo "smarthost.dom smtp --port=25 --auth-login --user=user --pass=pass"
  106.                         echo -e "\n\n#Type your mail relay hosts at the top, one per line"
  107.                 } > etc/nullmailer/remotes
  108.                 chgrp nullmail etc/nullmailer/remotes
  109.                 chmod 640 etc/nullmailer/remotes
  110.         fi
  111. }
  112.  
  113. # arg 1:  the new package version
  114. # arg 2:  the old package version
  115. post_upgrade() {
  116.         post_install $1
  117. }
  118.  
  119. # arg 1:  the old package version
  120. pre_remove() {
  121.         # /etc/rc.d/nullmailer stop
  122.         rm -f var/service/nullmailer
  123.         echo "==> Removing nullmailer user and group"
  124.         usr/sbin/userdel nullmail
  125.         if getent group nullmail > /dev/null; then
  126.                 usr/sbin/groupdel nullmail
  127.         fi
  128. }