1 # Maintainer: Konstantin Gizdov <arch at kge dot pw>
2 # Contributor: Baptiste Jonglez <baptiste--aur at jonglez dot org>
6 pkgname=("${pkgbase}" "${pkgbase}-docs")
8 _upstreamver="${pkgver}"
10 pkgdesc='High-performance, extensible DHCP server engine from ISC, supporting both DHCPv4 and DHCPv6'
12 url='https://kea.isc.org'
14 depends=('log4cplus' 'mariadb-libs' 'openssl' 'postgresql-libs')
21 'python-sphinx_rtd_theme'
28 'texlive-formatsextra'
38 optdepends=('mariadb: lease information database'
39 'postgresql: lease information database'
40 'python: to use kea-shell'
41 'krb5: Kerberos support'
42 'kea-docs: user and developer documentation')
43 # Checks are disabled for now
44 # We can ignore mysql/pgsql, but admin tests use custom scripts that break everything
45 checkdepends=('gtest' 'procps-ng') # procps-ng needed for 'pgrep'
47 "https://ftp.isc.org/isc/${pkgbase}/${_upstreamver}/${pkgbase}-${_upstreamver}.tar.gz"{,.asc}
51 'kea-dhcp-ddns.service'
52 'kea-ctrl-agent.service'
54 b2sums=('10b4bca1a135c6d146490f8c4c7bd4d56c1c03e2b4cc88a6888fcad5d1a5c2ee2d2c0215cb345b53a2a4262dbd02516d75d5778835d45384a7d69a062b8696b9'
56 '7ac151ae19093350e75112ab1fba38561f6f986a8ac333ada91b86819abd65559e31cec86ef19fce68e0e56cbae7ed28858654507c4d975985db4d34ee0184fb'
57 'b25f29b3cd8657508d766eb4c92c8c2b9ebebd60c3639930cb0439f69d205352b6ef066409d704228721ae252b0d954e5f6a3a26bb46c33bbc9ede4170c22e94'
58 '60167919868547b03bfd37ffdd88a636019f1b6340aadd5c44fa99e77f66f47595fe89830bb53de11b91702d1dff986988d4c7df29a16e9456b1976760496259'
59 '01035d110b87bed6664e49f11d3d483a4e6a7b9290b05c85a43e485b309c8f15dc00b09959804f5dc3d7590abea36334300010e557988de587a2bf9043966d67'
60 'f7be743d8b90ffc82551c3afc28477c8bef10596c77368ccb63e61de7355518e5e668429ab277e3f1a994cdc8b3ef542867ddb91bc7f23860dfe2d72f67b99ba')
61 validpgpkeys=('BE0E9748B718253A28BB89FFF1B11BF05CF02E57' # Internet Systems Consortium, Inc. (Signing key, 2017-2018) <codesign@isc.org>
62 'AE3FAC796711EC59FC007AA474BB6B9A4CBB3D38' # Internet Systems Consortium, Inc. (Signing key, 2019-2020) <codesign@isc.org>
63 '7E1C91AC8030A5A59D1EFAB9750F3C87723E4012') # Internet Systems Consortium, Inc. (Signing key, 2021-2022) <codesign@isc.org>
66 cd "${srcdir}/${pkgbase}-${_upstreamver}"
69 --sbindir='/usr/bin' \
70 --libexecdir='/usr/bin' \
72 --localstatedir='/var' \
73 --runstatedir='/run' \
75 --enable-generate-messages \
76 --enable-generate-parser \
77 --enable-generate-docs \
86 # do not treat sphinx warnings as errors
87 sed -e 's/sphinxopts = -v -E -a -W/sphinxopts = -v -E -a/g' \
88 -i doc/sphinx/Makefile
89 # prevent libtool overlinking
90 sed -i -e 's/ -shared / '"${LDFLAGS}"' -shared /g' libtool
92 make -C doc/devel devel
96 cd "${srcdir}/${pkgname}-${_upstreamver}"
97 # Disable mysql and postgresql for now, tests require live DBs
98 export GTEST_FILTER='-mysql.*:*mysql*:*MySql*:*MySQL*:pgsql.*:*pgsql*:*PgSql*:*PgSQL*'
99 # the above works, but admin tests use custom scripts that ignore it and break everything
105 # New config files as of Kea 1.3
106 'etc/kea/kea-dhcp4.conf'
107 'etc/kea/kea-dhcp6.conf'
108 'etc/kea/kea-dhcp-ddns.conf'
109 'etc/kea/keactrl.conf'
110 'etc/kea/kea-ctrl-agent.conf'
112 cd "${srcdir}/kea-${_upstreamver}"
113 make DESTDIR="${pkgdir}" install
114 # Do not package /run
115 rm -rf "${pkgdir}"/run
116 install -Dm644 "${srcdir}"/tmpfiles-kea.conf "${pkgdir}"/usr/lib/tmpfiles.d/${pkgname}.conf
117 # Systemd service files
118 install -Dm644 "${srcdir}"/kea-dhcp4.service "${pkgdir}"/usr/lib/systemd/system/kea-dhcp4.service
119 install -Dm644 "${srcdir}"/kea-dhcp6.service "${pkgdir}"/usr/lib/systemd/system/kea-dhcp6.service
120 install -Dm644 "${srcdir}"/kea-dhcp-ddns.service "${pkgdir}"/usr/lib/systemd/system/kea-dhcp-ddns.service
121 install -Dm644 "${srcdir}"/kea-ctrl-agent.service "${pkgdir}"/usr/lib/systemd/system/kea-ctrl-agent.service
122 # split docs in a separate package
123 rm -rf "${pkgdir}"/usr/share/{doc,man}
129 provides=('kea-devel-docs')
130 replaces=('kea-devel-docs')
132 cd "${srcdir}/${pkgbase}-${_upstreamver}"
133 install -d "${pkgdir}/usr/share/doc/${pkgbase}/"
134 make DESTDIR="${pkgdir}" -C doc install
135 cp -r doc/devel/html "${pkgdir}/usr/share/doc/${pkgbase}/devel"
136 rm "${pkgdir}"/usr/share/doc/kea/devel/doxygen{,-error}.log