aboutsummaryrefslogtreecommitdiffstats
path: root/community/exim/APKBUILD
blob: 27106cf409aa656ba0fb7a2467104b22fa3abdb1 (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
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
# Contributor: Stuart Cardall <developer@it-offshore.co.uk>
# Contributor: Ash Berlin-Taylor <ash.berlin@gmail.com>
# Contributor: Valery Kartel <valery.kartel@gmail.com>
# Contributor: Łukasz Jendrysik <scadu@yandex.com>
# Contributor: Jesse Young <jlyo@jlyo.org>
# Maintainer: Jesse Young <jlyo@jlyo.org>
pkgname=exim
pkgver=4.91
pkgrel=2
pkgdesc="Message Transfer Agent"
url="https://www.exim.org/"
arch="all"
license="GPL-2.0-or-later"
options="!check suid"
depends="ca-certificates"
pkgusers="$pkgname"
pkggroups="$pkgname mail"
makedepends="bash db-dev gawk libidn-dev libressl-dev libspf2-dev linux-headers mariadb-connector-c-dev
	pcre-dev perl postgresql-dev sqlite-dev"
install="exim.pre-install"
subpackages="$pkgname-cdb $pkgname-dbmdb $pkgname-dnsdb $pkgname-sqlite $pkgname-mysql $pkgname-postgresql
	$pkgname-utils $pkgname-scripts::noarch $pkgname-doc"
source="https://ftp.exim.org/pub/exim/exim4/old/$pkgname-$pkgver.tar.xz
	CVE-2019-10149.patch
	CVE-2019-15846.patch
	bounce-charset.patch
	exim.Makefile
	exim.confd
	exim.initd
	exim.logrotate
	exim.gencert"
builddir="$srcdir/$pkgname-$pkgver"

# secfixes:
#   4.91-r2:
#     - CVE-2019-10149
#     - CVE-2019-15846
#   4.91-r0:
#     - CVE-2018-6789
#   4.89-r5:
#     - CVE-2017-1000369
#   4.89-r7:
#     - CVE-2017-16943
#   4.89.1-r0:
#     - CVE-2017-16944
#   4.90.1-r0:
#     - CVE-2018-6789

prepare() {
	default_prepare

	cp "$srcdir"/$pkgname.Makefile Local/Makefile
	sed -i \
		-e 's/-lnsl//g' \
		-e 's/^HAVE_ICONV.*$//' \
		OS/Makefile-Linux
}

build() {
	cd "$builddir"
	make makefile
	make -j1
}

package() {
	cd "$builddir"
	install -m750 -D -g mail -d "$pkgdir"/etc/mail
	make DESTDIR="$pkgdir" INSTALL_ARG="-no_symlink -no_chown exim" install
	install -D -m644 doc/exim.8 "$pkgdir"/usr/share/man/man8/exim.8
	cd "$pkgdir"/usr/sbin
	mv exim-${pkgver%.*}* exim
	chmod u+s exim
	local i; for i in mailq rmail rsmtp runq sendmail newaliases; do
		ln -s exim $i
	done
	install -Dm644 "$srcdir"/$pkgname.logrotate "$pkgdir"/etc/logrotate.d/$pkgname
	install -Dm644 "$srcdir"/$pkgname.confd "$pkgdir"/etc/conf.d/$pkgname
	install -Dm755 "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname
	# Fix clamav local socket path, Add variant to spamd address
	sed -i \
		-e 's~# av_scanner = clamd:/tmp/clamd~# av_scanner = clamd:/run/clamav/clamd.sock~' \
		-e '/# spamd_address = 127.0.0.1 783/a# spamd_address = 127.0.0.1 11333 variant=rspamd' \
		"$pkgdir"/etc/$pkgname/$pkgname.conf
	# Create subdirs for logs and extensions
	install -dm750 -o $pkgname -g mail "$pkgdir"/var/log/$pkgname
	mkdir -p "$pkgdir"/usr/lib/$pkgname
}

scripts() {
	pkgdesc="EXIM scripts"
	depends="$pkgname perl"
	cd "$builddir"
	make	DESTDIR="$subpkgdir" \
		INSTALL_ARG="exicyclog exim_checkaccess eximstats exiqgrep exigrep exinext exiqsumm exipick exiwhat convert4r3 convert4r4" \
		install
	rm -fr "$subpkgdir"/etc
}

utils() {
	pkgdesc="EXIM utils"
	depends="$pkgname"
	cd "$builddir"
	make	DESTDIR="$subpkgdir" \
		INSTALL_ARG="exim_dbmbuild exim_dumpdb exim_tidydb exim_fixdb exim_lock" \
		install
	install -m755 "$srcdir"/exim.gencert "$subpkgdir"/usr/sbin/exim_gencert
	rm -fr "$subpkgdir"/etc
}

_mv_ext() {
	pkgdesc="EXIM extension: $1"
	depends="$pkgname"
	install -D -m755 "$builddir"/build-Linux-*/lookups/$1.so "$subpkgdir"/usr/lib/$pkgname/$1.so
}

sqlite() { _mv_ext sqlite; }
mysql() { _mv_ext mysql; }
postgresql() { _mv_ext pgsql; }
cdb() { _mv_ext cdb; }
dbmdb() { _mv_ext dbmdb; }
dnsdb() { _mv_ext dnsdb; }

sha512sums="35b34dda8dd0f27c0429e6eb8409756ecd3cf9e535bac421d696b1560db0ff3bf4cd0e4a00bc0b7e32137d31bb5de20776c7c1830ec125aa36b5c4376b0c71a2  exim-4.91.tar.xz
27823ef666dc68d22b649780385932fd24224a765aa38702fcafa350ef3090fba6dfdb7f96771174e33af58c0f1f12c63608416f49efbf769f1c912bc44144f0  CVE-2019-10149.patch
eae367a23cd99488ca6b1c5208f9e7fa5e4894d3fef08b0c18e333f972b1923f4d97d2054b21d44db4ab344275494662ee344bffa5a228d458c83a828c7c677e  CVE-2019-15846.patch
517447ac989a8de27cca74d544bdbeed6667442d1a229efaaef0a2b2878afb754602ece7c5e9983778224cc052f6d38209a65ef95712a16309d7b72c0e277fa8  bounce-charset.patch
e9524d3a2cc230b4ecb3b098f53247121b9582fc7807b1549c5a3fd54bb416b837c4e09476f2e01dca03d590a968c40bf90d4b6a9f8a4abad082fdec91916a0f  exim.Makefile
bb6f5ead067af19ace661cc92bcd428da97570aedd1f9dc5b61a34e7e3fb3e028be6c96d51df73353bdfcaf69a3ee053fb03d245f868d63ebf518aa96ec82d66  exim.confd
3769e74a54566362bcdf57c45fbf7d130d7a7529fbc40befce431eef0387df117c71a5b57779c507e30d5b125913b5f26c9d16b17995521a1d94997be6dc3e02  exim.initd
28e748693a6a72d9943fa9c342ff041fe650fa6977f468dee127e845e6c2a91872ce33fb6f5698838906bde3ed92de7a91cdb0349cedc40b806261867e8c06cb  exim.logrotate
abdaf749ed3947a75b997caa300bf9f27ef82760f1854aa4521a9ac0f322f1655b65a375bc7a709259daea88bf93cfab5289997fa8e376fac9a3477f09bab642  exim.gencert"