blob: 74db47b4ba753f50f3288600075aaa4cd63115ca (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
|
# $Id: PKGBUILD 74799 2012-08-05 16:06:17Z seblu $
# Maintainer: Sébastien Luttringer <seblu@aur.archlinux.org>
# Contributor: Paul Mattal <paul@archlinux.org>
pkgname=mailman
pkgver=2.1.15
pkgrel=2
pkgdesc='The GNU Mailing List Manager'
arch=(i686 x86_64)
license=('GPL')
url='http://www.list.org/'
depends=('glibc' 'python2' 'smtp-server')
# we need to have the mailman user to build mailman
makedepends=('mailman')
# 'Defaults.py' should not be changed by users; 'mm_cfg.py' should instead.
backup=('usr/lib/mailman/Mailman/mm_cfg.py')
install=$pkgname.install
source=("http://ftp.gnu.org/gnu/$pkgname/$pkgname-$pkgver.tgz"
'mailman-2.1-build.patch'
"$pkgname.profile.sh"
"$pkgname.profile.csh"
"$pkgname.rc"
"$pkgname.service")
md5sums=('7d207489e8e9de0727cb334d46029833'
'ed04d062379eb21e39ce1e70e6b1ade2'
'a9c71ec940c56173415fbd49087d10b0'
'85a8c30ffc444e677b286f54df530482'
'3a4014c15e9923451f5f282860896057'
'f3ea6ef02ab135274406ce52ea8bbb7b')
build() {
cd $pkgname-$pkgver
# some files in mailman doesn't use configure parameter
find . -type f -exec \
sed -i '1s,^#! \?/usr/bin/\(env \|\)python$,#!/usr/bin/python2,' {} \;
# fix directory permissions to satisfy check_perms
patch -p1 -i "$srcdir/mailman-2.1-build.patch"
# set some sane defaults before the configure script has a chance to screw them up
./configure \
--without-permcheck \
--prefix=/usr/lib/mailman \
--with-var-prefix=/var/lib/mailman \
--with-mail-gid=mailman \
--with-username=mailman \
--with-groupname=mailman \
--with-cgi-gid=http \
--with-python=/usr/bin/python2 \
--with-mailhost=localhost \
--with-urlhost=localhost
make
}
package() {
cd $pkgname-$pkgver
make DESTDIR="$pkgdir" install
# let's follow Fedora FHS way; Gentoo does it the other way round
# Create a link so that the config file mm_cfg.py appears in config
# directory /etc/mailman. We don't put mm_cfg.py in the config directory
# because its executable code (python file) and the security policy wants
# to keep executable code out of /etc and inside of a lib directory instead,
# and because traditionally mm_cfg.py was in the Mailman subdirectory and
# experienced mailman admins will expect to find it there. But having it
# "appear" in the config directory is good practice and heading in the
# right direction for FHS compliance.
install -d -m755 "$pkgdir/etc/$pkgname"
ln -sv /usr/lib/mailman/Mailman/mm_cfg.py "$pkgdir/etc/$pkgname/mm_cfg.py"
# fix some permissions to satisfy check_perms
chown -R mailman:mailman "$pkgdir"/{usr/lib/mailman,var/lib/mailman,etc/mailman/*}
chown http:mailman "$pkgdir"/var/lib/mailman/archives/private
chmod 2770 "$pkgdir"/var/lib/mailman/archives/private
chmod 2755 "$pkgdir"/usr/lib/mailman/cgi-bin/*
chmod 2755 "$pkgdir"/usr/lib/mailman/mail/mailman
cd "$srcdir"
# install initscripts
install -Dm 755 $pkgname.rc "$pkgdir/etc/rc.d/$pkgname"
# install systemd service
install -Dm 644 $pkgname.service \
"$pkgdir/usr/lib/systemd/system/$pkgname.service"
# install profiles
install -Dm 755 $pkgname.profile.sh "$pkgdir/etc/profile.d/$pkgname.sh"
install -Dm 755 $pkgname.profile.csh "$pkgdir/etc/profile.d/$pkgname.csh"
}
# vim:set ts=2 sw=2 et:
|