summaryrefslogtreecommitdiff
path: root/community/inn/PKGBUILD
blob: b2e23f518d17a5c1994354cfc07d6162824c4423 (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
132
133
134
135
136
137
138
139
# $Id: PKGBUILD 82923 2013-01-25 21:39:24Z spupykin $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Maintainer: Edward Tjörnhammar <xhemi@cube2.se>
# Contributor: Edward Tjörnhammar <xhemi@cube2.se>

pkgname=inn
pkgver=2.5.3
pkgrel=2
pkgdesc="Complete open source Usenet system. De facto standard for handling news routing, news spool and serving the spool to customers."
url="http://www.isc.org/software/inn/"
arch=('i686' 'x86_64')
license=("custom:INN")
depends=('openssl' 'dovecot')
makedepends=('make' 'bison' 'python2' 'gcc' 'smtp-forwarder' 'libsasl')
optdepends=('perl' 'python2' 'libsasl')
options=(emptydirs docs zipman)
install=inn.install
backup=(etc/inn/newsfeeds
	etc/inn/incoming.conf
	etc/inn/nnrpd.track
	etc/inn/passwd.nntp
	etc/inn/inn.conf
	etc/inn/moderators
	etc/inn/control.ctl
	etc/inn/expire.ctl
	etc/inn/nntpsend.ctl
	etc/inn/innreport.conf
	etc/inn/innwatch.ctl
	etc/inn/distrib.pats
	etc/inn/actsync.cfg
	etc/inn/actsync.ign
	etc/inn/motd.news
	etc/inn/storage.conf
	etc/inn/cycbuff.conf
	etc/inn/buffindexed.conf
	etc/inn/innfeed.conf
	etc/inn/news2mail.cf
	etc/inn/readers.conf
	etc/inn/radius.conf
	etc/inn/ovdb.conf
	etc/inn/subscriptions
	var/db/inn/active
	var/db/inn/active.times
	var/db/inn/history
	var/db/inn/history.dir
	var/db/inn/history.hash
	var/db/inn/history.index
	var/db/inn/newsgroups)
source=(http://ftp.isc.org/isc/inn/inn-$pkgver.tar.gz
	innd.rc
	nnrpd.rc
	innd.conf
	nnrpd.conf
	innd.service
	inn.tmpfiles
	site.make.patch)
md5sums=('353fe95232828ddbc80debff86c240bc'
         'a243d9498568f1beee20da5684b5fbfc'
         'a0b1ff8501ac8a31ce81a2f9c9b4bac9'
         'fbf1d2c5b3c5a08ae3e515c71c2e2e4a'
         'bb4bbe86ae52fbbf08b0f6f370dea052'
         '9da925a486fcf0cd67fdf462cbb9c0b4'
         '050b7bffff3361c673a118739e42349e'
         '960c800026ed6e03901cf0bafdfd53d8')

build() {
  cd $srcdir/inn-$pkgver

  [ $NOEXTRACT -eq 1 ] || PYTHON=/usr/bin/python2 ./configure --prefix=/usr \
	--includedir=/usr/include/inn \
	--sbindir=/usr/sbin \
	--with-libtool \
	--with-gnu-id \
	--with-db-dir=/var/db/inn \
	--sysconfdir=/etc/inn \
	--with-spool-dir=/var/spool/news \
	--with-log-dir=/var/log/inn \
	--with-run-dir=/var/run/inn \
	--with-tmp-dir=/var/spool/inn/tmp \
	--enable-largefiles \
	--with-openssl=/usr \
	--with-perl \
	--with-python \
	--with-sendmail=/usr/bin/msmtp \
	--with-sasl=/usr \
	--with-news-user=9 \
	--with-news-group=13
  # See https://wiki.archlinux.org/index.php/DeveloperWiki:UID_/_GID_Database

  test -f include/config.h
  cat >>include/config.h <<EOF
#undef RUNASUSER
#define RUNASUSER "news"
#undef RUNASGROUP
#define RUNASGROUP "news"
EOF
  sed -i 's|-export-dynamic gnu|-export-dynamic|' Makefile.global
  [ $NOEXTRACT -eq 1 ] || patch -p3 < $srcdir/site.make.patch
  export LD_LIBRARY_PATH=.:$pkgdir/usr/lib:$LD_LIBRARY_PATH

  make
}

package() {
  cd $srcdir/inn-$pkgver
  export LD_LIBRARY_PATH=.:$pkgdir/usr/lib:$LD_LIBRARY_PATH

  make DESTDIR=$pkgdir install

  mkdir -p $pkgdir/etc/{conf,rc}.d
  install -m0755 $srcdir/innd.rc $pkgdir/etc/rc.d/innd
  install -m0644 $srcdir/innd.conf $pkgdir/etc/conf.d/innd

  install -m0755 $srcdir/nnrpd.rc $pkgdir/etc/rc.d/nnrpd
  install -m0644 $srcdir/nnrpd.conf $pkgdir/etc/conf.d/nnrpd

  cd $pkgdir/usr/lib
  for i in lib*.a; do
	gcc -shared -o ${i%%.a}.so.2.0.0 $i
	for j in 2.0 2; do
	    ln -s ${i%%a}so.2.0.0 ${i%%a}so.$j
	done
  done

  touch $pkgdir/var/db/inn/history{.dir,.hash,.index,}

  mkdir -p $pkgdir/usr/share/doc/inn $pkgdir/usr/share/inn/
  mv $pkgdir/usr/share/man/man3/list.3 $pkgdir/usr/share/man/man3/list-inn.3
  mv $pkgdir/usr/doc/* $pkgdir/usr/share/doc/inn/
  mv $pkgdir/usr/http/* $pkgdir/usr/share/inn/
  mv $pkgdir/usr/bin/archive $pkgdir/usr/bin/archive.inn
  rm -rf $pkgdir/usr/doc $pkgdir/usr/http $pkgdir/var/run
  install -D -m0644 $srcdir/inn-$pkgver/LICENSE $pkgdir/usr/share/licenses/inn/LICENSE
  chown root:root $pkgdir/usr/bin/innbind
  chmod 05555 $pkgdir/usr/bin/innbind

  install -Dm0644 $srcdir/innd.service $pkgdir/usr/lib/systemd/system/innd.service
  install -Dm0644 $srcdir/inn.tmpfiles $pkgdir/usr/lib/tmpfiles.d/inn.conf
}